1
Page 1
Sponsored by: Sponsored by: Sponsored by: Sponsored by:
Oracle Developer Day
Track #1 - Session #4
BPEL Introduction
Presenter Name Presenter Title
Oracle Developer Day Sponsored by: Sponsored by: Sponsored by: - - PDF document
Oracle Developer Day Sponsored by: Sponsored by: Sponsored by: Sponsored by: Track #1 - Session #4 BPEL Introduction Presenter Name Presenter Title Page 1 1 Agenda Orchestration What is BPEL ? BPEL Programming Language
1
Page 1
Sponsored by: Sponsored by: Sponsored by: Sponsored by:
Track #1 - Session #4
Presenter Name Presenter Title
2
Page 2
Messaging Destinations (JMS) User Tasks Web Services (Sync and Async) Legacy Applications (JCA, adapters)
Orchestration
Connectivity
Heterogenous Back Ends Silos of API and mechanisms Opaque/heterogeneous data definitions Synchronizing multiple data stores
Flow Control
Asynchrony, Flow Coordination, Data Transformation, Compensation, Version Control, Auditing
Scalability
Unpredictable loads Asymmetric performance capabilities
Management and Security
Access control, Encryption, Logging, Metering Independent of the service
Interaction/Access
Catalog, Customization, Access
3
Page 3
BPEL BPEL Credit Rating Credit Rating
WSDL WSDL
Service Bus Service Bus Star Loan Star Loan Order Entry Order Entry United Loan United Loan
A A D D A A P P T T E E R R A A D D A A P P T T E E R R W W S S D D L L
Fulfillment Fulfillment
A A D D A A P P T T E E R R
Application Server Application Server
Bad Credit !
start end
Markup language for composing a set of discrete services into an end-to-end process flow
MSFT and IBM
Star Loan Star Loan
United Loan United Loan Credit Check Credit Check
4
Page 4
2000/05 XLang (Microsoft) 2001/03 BPML (Intallio et al) 2001/05 WSFL (IBM) 2001/06 BPSS (ebXML) 2002/03 BPEL4WS 1.0 (IBM, Microsoft) BPEL4WS 1.1 (OASIS) 2002/06 2003/04 WSCI (Sun et al) WSCL (HP) 2002/08
Proprietary Standard
2005/2006 WS-BPEL 2.0 (OASIS)
5
Page 5
messages
Example:
<variables> <variable name="loanApplication" messageType="ns2:LoanServiceRequestMess age"/> </variables>
– <invoke> – <receive> – <assign> – <reply> – <throw> – <terminate> – <wait>
– <sequence> – <switch> – <pick> – <flow> – <link> – <while> – <scope>
6
Page 6
– Invoke a service synchronously Ex: Invoke Credit Service
– Waits for the incoming message, either to start the process or for a callback Ex: Wait for a message from United Loan
– Return response for synchronous process, relate to initial <receive>
– Copy data between variables, expressions and endpoint references – Used with XPath expressions and XSLT engine Ex: Copy Loan Application from input payload to United Loan input
process into organized parts
contained activities, and a process is, itself, a <scope>
catch and handle either specific faults or all faults that occur with it Ex: GetCreditRating Scope – Invoke Credit Service and catch exceptions
7
Page 7
constructs
expressions specified on child <case> elements with an
Ex: Choose between United and Star loan offers based on lower APR
is true
<flow> activity Ex: Invoke United and Star Loan services in parallel
Ex: CreditService, UnitedLoanService, StarLoanService
well
– Declares how parties interact and what each party offers
8
Page 8
process using <faultHandlers>
faults Ex: Catch bad credit exception and terminate the process
tune Operations Tasks
9
Page 9
Deliverables:
LoanFlow.wsdl WSDL
LoanFlow
initiate
Client Callback
LoanRow BPEL Process
Deliverables:
bpel.xml
Deployment Descriptor End point reference binding
LoanFlow.wsdl WSDL
LoanFlow
initiate
Client Callback
LoanRow BPEL Process Credit Rating Credit Rating
W W S S D D L L
Web Service Web Service Start Loan Start Loan
W W S S D D L L
Web Service Web Service United Loan United Loan
W W S S D D L L
Web Service Web Service
10
Page 10
Deliverables:
part of the BPEL process. bpel.xml
Deployment Descriptor End point reference binding
LoanFlow.wsdl WSDL
LoanFlow
initiate
Client Callback
Credit Rating Credit Rating
W W S S D D L L
Web Service Web Service Start Loan Start Loan
W W S S D D L L
Web Service Web Service United Loan United Loan
W W S S D D L L
Web Service Web Service LoanRow BPEL Process
Schedule Response
variables variables
Schedule Request Exchange Request more…
Deliverables:
across the various types used in the BPEL process bpel.xml
Deployment Descriptor End point reference binding
LoanFlow.wsdl WSDL
LoanFlow
initiate
Client Callback
Credit Rating Credit Rating
W W S S D D L L
Web Service Web Service Start Loan Start Loan
W W S S D D L L
Web Service Web Service United Loan United Loan
W W S S D D L L
Web Service Web Service LoanRow BPEL Process Schedule Map Schedule Map XSLT XSLT
W W S S D D L L
transformation transformation
variables variables
loanApplication crInput crOutput more…
11
Page 11
Deliverables:
Select Lowest Offer
Negative Credit faultHandler Synchronous <invoke> <receive> <invoke> <process>
<invoke> <invoke> Get Rating
Send Loan Application Receive Loan Offer
<receive>.
Receive Loan Offer Send Loan Application
Star Loan Star Loan
Credit Rating Credit Rating United Loan United Loan
Deliverables:
LoanFlow.wsdl WSDL
LoanFlow
initiate
Client Callback
bpel.xml
Deployment Descriptor End point reference binding
Credit Rating Credit Rating
W W S S D D L L
Web Service Web Service Start Loan Start Loan
W W S S D D L L
Web Service Web Service United Loan United Loan
W W S S D D L L
Web Service Web Service LoanRow BPEL Process
variables variables
loanApplication crInput crOutput more… Schedule Map Schedule Map XSLT XSLT
W W S S D D L L
transformation transformation
12
Page 12
Deliverables:
(could be BPEL or your favorite Web services publishing technology)
Dummy Test Services
LoanFlow.wsdl WSDL
LoanFlow
initiate
Client Callback
bpel.xml
Deployment Descriptor End point reference binding
Credit Rating Credit Rating
W W S S D D L L
Web Service Web Service Start Loan Start Loan
W W S S D D L L
Web Service Web Service United Loan United Loan
W W S S D D L L
Web Service Web Service LoanRow BPEL Process
variables variables
loanApplication crInput crOutput more… Schedule Map Schedule Map XSLT XSLT
W W S S D D L L
transformation transformation
Deliverables:
Integration over internet/intranet
LoanFlow.wsdl WSDL
LoanFlow
initiate
Client Callback
bpel.xml
Deployment Descriptor End point reference binding
Credit Rating Credit Rating
W W S S D D L L
Web Service Web Service Start Loan Start Loan
W W S S D D L L
Web Service Web Service United Loan United Loan
W W S S D D L L
Web Service Web Service LoanRow BPEL Process
variables variables
loanApplication crInput crOutput more… Schedule Map Schedule Map XSLT XSLT
W W S S D D L L
transformation transformation
13
Page 13
Deliverables:
Enterprise-strength infrastructure for designing, deploying and managing BPEL business processes
BPEL implementation
monitoring
than 15 minutes! BAM BAM Application Server Application Server ( Oracle, BEA, JBoss, IBM) ( Oracle, BEA, JBoss, IBM)
Transformation Transformation Correlation Correlation WSIF Binding WSIF Binding Queuing Queuing SAP SAP EBS EBS DB DB File File … … XSLT XSLT Mapper Mapper Adapter Adapter Factory Factory BPEL BPEL Console Console BPEL BPEL Designer Designer Workflow Workflow Rule Rule BPEL Engine BPEL Engine
Dehydration Store (Oracle Database)
Oracle BPEL Process Manager Oracle BPEL Process Manager
14
Page 14
Application Server
Database
IDE
Operating Systems
KEY FEATURES
Administration
15
Page 15
D E M O N S T R A T I O N Join Over 4,500,000 Developers! Join Over 4,500,000 Developers! Join Over 4,500,000 Developers! Join Over 4,500,000 Developers! Free Software Downloads Free Software Downloads Free Software Downloads Free Software Downloads Free Technical Advice Free Technical Advice Free Technical Advice Free Technical Advice
www.oracle.com/technology/products/ www.oracle.com/technology/products/ www.oracle.com/technology/products/ www.oracle.com/technology/products/jdev jdev jdev jdev
.oracle.com/tech/ .oracle.com/tech/ .oracle.com/tech/webservices webservices webservices webservices
.oracle.com/tech/java .oracle.com/tech/java .oracle.com/tech/java
.oracle.com/ .oracle.com/ .oracle.com/bpel bpel bpel bpel
16
Page 16
17
Page 17
Sponsored by: Sponsored by: Sponsored by: Sponsored by: