Download presentation
Published byShauna Hamilton Modified over 9 years ago
1
BPEL 2.0 Oracle BPEL PM 10.1.3 Bernd.Trops@oracle.com
Presales Architect Fusion Middleware
2
Agenda Einführung BPEL 2.0
Overview of Oracle BPEL PM Major Features New workflow architecture Decision service, Rules engine integration BPEL Test capability Q&A, Feedback and Comments
3
Process Orchestration Requirements
Java Services (EJB) Connectivity Heterogenous Back Ends Silos of API and mechanisms Opaque/heterogeneous data definitions Synchronizing multiple data stores Messaging Destinations (JMS) Legacy Applications (JCA, adapters) Portal Java Platform Flow Control Asynchrony, Flow Coordination, Data Transformation, Compensation, Version Control, Auditing ? User Tasks Scalability Unpredictable loads Asymmetric performance capabilities Orchestration ADF Web Services (Sync and Async) Management and Security Access control, Encryption, Logging, Metering Independent of the service Interaction/Access Catalog, Customization, Access
4
Process Orchestration Today
Java Services (EJB) Messaging Destinations (JMS) Legacy Applications (JCA, adapters) Portal Today Not enough metadata Not tool friendly Proprietary languages Rare skill sets, consulting Hard Wired/Code Rigid, difficult to change Incompatible Infrastructures Difficult to manage and scale Java Platform ? User Tasks ADF Process Flow Web Services (Sync and Async)
5
Introduction to BPEL
6
What is BPEL? Markup language for composing a set of discrete services into an end-to-end process flow SalesDB start 10+ years of R&D from MSFT and IBM SOAP but also Java, JCA Rich Flow Semantics Optimized Bindings XPATH+XSLT+XQuery WS-Security A Process is a Service Duplicate Number! Billing Router end
7
<faultHandlers>
BPEL by Example <variable> <process> </process> BPEL Flow 10:00am start Credit Rating <faultHandlers> Get Rating <invoke> Handle Negative Credit Exception <flow> </flow> <partnerLink> Send Loan Application Send Loan Application United Loan <receive> <invoke> Star Loan Receive Loan Offer Receive Loan Offer <switch> ? Select Lowest Offer end 03:00pm
8
Exploring Orchestration with BPEL Activities
Assign Reply Compensate Scope Empty Sequence Flow Switch Invoke Terminate PartnerLink Throw Pick Wait Exploring Orchestration with BPEL Activities The slide shows the icons presented in the list of BPEL activities in the Oracle BPEL Process Designer Component Palette. With the exception of the Empty activity, these activities are documented in the BPEL V1.1 specification: Assign: Provides a way to copy data between variables in a BPEL process Compensate: Is used to invoke a compensating sequence of activities as a result of a fault or compensation handler being executed Empty: Provides a no-operation activity. This could be useful for inserting specific sensor points for the purpose of monitoring business activity. Flow: Provides a mechanism to execute more than one different activity sequence in parallel Invoke: Is used to execute an operation of a service identified by a PartnerLink PartnerLink: Defines a service endpoint with which the BPEL process can interact Pick: Provides a way to wait for the occurrence of a set of events, such as a message arriving or a timeout condition specified by an alarm. Only one of these events will be acted on by a sequence of activities to handle the event. Receive: Provides a way to wait for a message to arrive from a service or a client who is invoking the BPEL process Reply: Provides a way to send a message as a response to the message received Note: The Receive and Reply activities are used to form the standard request-response pattern. Receive While
9
New in BPEL 2.0 Improved 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 bpws:getVariableData). 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.
10
New in BPEL 2.0 Improved data manipulation
BPEL 2.0 enables complex XML transformations within BPEL processes by introducing bpel:doXslTransform(). keepSrcElement to control whether the destination element name is overwritten inline variable initialization, extension assign to enable implementations to extend assign capabilities
11
New in BPEL 2.0 New 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
12
New in BPEL 2.0 Enriched 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.
13
New in BPEL 2.0 Advanced 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
14
New in BPEL 2.0 Syntax 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
15
Not in BPEL 2.0 BPEL4People 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)
16
Major BPEL PM 10.1.3 Features Many workflow improvements
Decision service - Rules engine integration BPEL Test capability
17
BPEL PM Workflow Services
18
Oracle 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, … , Voice, Pager, SMS 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 Reports, Audit Trails, … Productivity and distribution reports Complete history and audit trail Identity Management Roles and Org. Hierarchy Integrates with OID, LDAP, JAZN; custom plug-ins for other directories
19
New Workflow Demo Scenario – Help Desk Request Flow
Help Desk BPEL Process HelpDesk App Receive Request James Cooper Get Ticket Details User Task Human Workflow Assign tasks John Steinbeck Irving Stone Receive Response Set Outcome Notify Customer end
20
Work-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
21
Default Task Form Advanced Actions Action Save Payload Data
Attachments Comments History
22
BPEL PM Decision Service
23
BPM & 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)
24
Decision 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
25
Modified Loan Flow Demo – BPEL + Rules
Loan Advisor Rules PORTAL LOAN FLOW BPEL PROCESS receive Rules Engine getPhone Rule Author Rules Engine Decision Service getRating Decision Service Union Loan Credit Rating Rules invoke 5-15 min invoke receive select Web Services Interface: XML, SOAP, WSDL, WSIF Approval Task PORTAL Worklist Application review end
26
BPEL PM BPEL Test Feature
27
BPEL 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
28
BPEL Test Framework 1. Create XML unit test driver from instance audit trail
29
BPEL Test Framework 2. Execute tests
30
BPEL Test Framework 3. View results, code coverage, fix as needed and repeat
31
Getting Your Hands on 10.1.3 http://otn.oracle.com/soa
32
Q&A and Feedback!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.