Title: Corporate PPT Template
1 BPEL 2.0 Oracle BPEL PM 10.1.3
Bernd.Trops_at_oracle.com Presales Architect
Fusion Middleware
2Agenda
- Einführung
- BPEL 2.0
- Overview of Oracle BPEL PM 10.1.3 Major Features
- New workflow architecture
- Decision service, Rules engine integration
- BPEL Test capability
- QA, Feedback and Comments
3Process Orchestration Requirements
Connectivity Heterogenous Back Ends Silos of API
and mechanismsOpaque/heterogeneous data
definitions Synchronizing multiple data stores
Java Services (EJB)
Messaging Destinations (JMS)
Legacy Applications (JCA, adapters)
Portal
Java Platform
Flow ControlAsynchrony, Flow Coordination, Data
Transformation, Compensation, Version Control,
Auditing
?
User Tasks
ScalabilityUnpredictable loads Asymmetric
performance capabilities
Orchestration
Web Services (Sync and Async)
ADF
Management and SecurityAccess control,
Encryption, Logging, MeteringIndependent of the
service
Interaction/AccessCatalog, Customization, Access
4Process Orchestration Today
Java Services (EJB)
Messaging Destinations (JMS)
Legacy Applications (JCA, adapters)
Portal
Java Platform
?
User Tasks
Web Services (Sync and Async)
ADF
Process Flow
5Introduction to BPEL
6What is BPEL?
Markup language for composing a set of discrete
services into an end-to-end process flow
SalesDB
start
- 10 years of RD from MSFT and IBM
- SOAP but also Java, JCA
- Rich Flow Semantics
- Optimized Bindings
- XPATHXSLTXQuery
- WS-Security
- A Process is a Service
Duplicate Number!
Billing
Router
end
7BPEL by Example
BPEL Flow
1000am
start
Credit Rating
ltfaultHandlersgt
Get Rating
ltinvokegt
Handle Negative Credit Exception
Send Loan Application
Send Loan Application
United Loan
Star Loan
Receive Loan Offer
Receive Loan Offer
ltswitchgt
?
Select Lowest Offer
end
0300pm
8Exploring Orchestration with BPEL Activities
Assign
Reply
Compensate
Scope
Empty
Sequence
Flow
Switch
Invoke
Terminate
PartnerLink
Throw
Pick
Wait
Receive
While
9New in BPEL 2.0Improved data access
- Variable XPath Binding ( notation)
- makes BPEL variable data available in XPath
expressions as XPath variables leading to
simplified expressions (without requiring usage
of bpwsgetVariableData). - Message parts
- are available as a variable for each part and may
be referenced as varX.partN. BPEL 2.0 also adds
support for variables based on XSD complex types.
10New in BPEL 2.0Improved data manipulation
- BPEL 2.0 enables complex XML transformations
within BPEL processes by introducing
bpeldoXslTransform(). - keepSrcElement to control whether the destination
element name is overwritten - inline variable initialization,
- extension assign to enable implementations to
extend assign capabilities
11New in BPEL 2.0New activities
- forEach, which executes the enclosed scope, in
serial or parallel, a variable number of times. - repeatUntil, which repeats enclosed scope until
specified condition is true, - extensionActivity, which improves the ability of
BPEL implementations to provided extended
activities
12New in BPEL 2.0Enriched fault handling
- BPEL 2.0 improves fault handling by introducing
finer grain knobs in the catch construct, and a
rethrow activity, - advanced fault handling features are also
introduced including termination handler and
exitOnStandardFault attribute on scopes.
13New in BPEL 2.0Advanced message operations
- BPEL 2.0 introduces Join-style Correlation set to
enable multi-start process scenarios. - Local PartnerLinks
- initializePartnerRole to facilitate process
binding during deployment
14New in BPEL 2.0Syntax makeovers
- Many changes in BPEL 2.0 are syntactic in nature
- changes from switch to if-elseif-else,
- changes from terminate to exit
- different cases of compensate
- compensate
- compensateScope
15Not in BPEL 2.0BPEL4People
- People Activities People can perform tasks
assigned to them by business processes - People Initiating Processes People can initiate
processes such as Expense Report - People Managing Business Processes Business
processes may require intervention to move the
process forward - Transition between Human and Automated Business
processes may change human activities to
automated activities and vice versa - Escalations Escalation mechanisms are needed to
escalate tasks that are not performed within
expected time - Nomination Some situations may require
performers to be assigned (nominated) on an
instance basis (run time)
16Major BPEL PM 10.1.3 Features
- Many workflow improvements
- Decision service - Rules engine integration
- BPEL Test capability
17BPEL PM 10.1.3 Workflow Services
18Oracle BPM Workflow Features
- Task Assignment
- Users
- Roles
- Groups
- Task routing
- Declarative patterns
- Ad-hoc routing
- Document based routing
- Dispatching
- Management Rules
- Escalation
- Delegation
- Vacation
- Work load balancing
- Notifications
- Declarative specification of
- When assigned, expired,
- Who assignee, manager,
- Email, Voice, Pager, SMS
- Reports, Audit Trails,
- Productivity and distribution reports
- Complete history and audit trail
- Work-list Application
- Profile based assignee, supervisor, group
owner, process owner - Auto-generated JSP forms
- Integration with ADF
- Comments Attachments
- Available as portlets
- Completely customizable
- Web Services and Java API
- Identity Management
- Roles and Org. Hierarchy
- Integrates with OID, LDAP, JAZN custom plug-ins
for other directories
19New Workflow Demo Scenario Help Desk Request
Flow
Help Desk BPEL Process
HelpDesk App
Receive Request
James Cooper
Get Ticket Details
Human Workflow
User Task
Assign tasks
Irving Stone
John Steinbeck
Receive Response
Set Outcome
Email
Notify Customer
end
20Work-list Application - Home
Supervisors can access Staff tasks.
Filter by Category (assigned to who), Priority,
or Status (Assigned, Completed)
Organize work into views (like search folders)
Claim (lock) work assigned to Group
21Default Task Form
Advanced Actions
Action
Save
Payload Data
Attachments
Comments
History
22BPEL PM 10.1.3 Decision Service
23BPM Rules - Usage Scenarios
Rules engines can be invoked as a Decision
Service from a BPEL process.
- Dynamic processing
- Intelligent routing
- Validation of policies within process
- Constraint checks
- Ad-hoc Workflow
- Policy based task assignment
- Various escalation policies
- Load balancing of tasks
- Business Activity Monitoring
- Alerts based on certain policies
- Dynamic processing based KPI reasoning
Decision Service (Rules)
Business Process (BPEL)
24Decision Service - Concepts
- Enables users to easily wire any Rules engine
with a BPEL process - Key ideas
- Abstracts proprietary rule engine apis via a
standard web service interface. - Will work with any rules engine. Support for
Oracle Business Rules and iLog JRules (BLAZE
expected, others possible) - Provides access to rules repository at design
time (JDev) to enable user to browse rule sets - Supports both stateless and stateful interaction
patterns - Example ExecuteFunction, AssertFacts, WatchFacts
etc. - Implementation Details
- Generates specific WSDL based on rule set being
invoked - Metadata about rule engine and repository
captured in .decs XML file in BPEL project - Supports both SOAP and WSIF bindings
25Modified Loan Flow Demo BPEL Rules
Loan AdvisorRules
PORTAL
LOAN FLOW BPEL PROCESS
receive
getPhone
DecisionService
getRating
DecisionService
Union Loan
invoke
Credit RatingRules
5-15 min
invoke
receive
select
Approval Task
Web Services Interface XML, SOAP, WSDL, WSIF
PORTAL
review
end
26BPEL PM 10.1.3 BPEL Test Feature
27BPEL Test Framework
- Provides a mechanism that allows users to
automate testing of their BPEL processes - Emulate partners/services
- Verify process actions (assert)
- Calculate code coverage
- Supports both service and system faults
- Results integrated into BPEL Console as well as
Ant-JUnit reports - User experience
- Create test case driver file (export from audit
trail) - Deploy and run test cases via console or
command-line - View results, fix process logic and repeat
28BPEL Test Framework
- 1. Create XML unit test driver from instance
audit trail
29BPEL Test Framework
30BPEL Test Framework
- 3. View results, code coverage, fix as needed and
repeat
31Getting Your Hands on 10.1.3
- http//otn.oracle.com/soa
- http//otn.oracle.com/bpel
32QA and Feedback!