oracle bpel training -...
TRANSCRIPT
![Page 1: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/1.jpg)
Oracle BPEL TrainingOracle BPEL Training
Basheer Khan
Innowave Technology
![Page 2: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/2.jpg)
Agenda
• Concepts
• Architecture
• Installation
• Hello World BPEL Process• Hello World BPEL Process
• Synchronous Web Service
• Asynchronous Web Service
• Parallel Processing
• Conditional Branching
![Page 3: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/3.jpg)
Agenda (cont’d)
• Database Connections
• File Load BPEL Process
• Polling Tables
• Changing Payload• Changing Payload
• Notifications
• Sequences
• Stress Testing
• Application Integration
![Page 4: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/4.jpg)
ConceptsConcepts
![Page 5: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/5.jpg)
Concepts – Web Services
• C2C – Consumer to Consumer– Person (consumer) to person
– Email (SMTP, RFC-822)
• B2C – Business to Consumer– Person to Application
– Web (HTTP, HTML)
• A2A – Application to Application– Application to Application
– Web services (XML, SOAP, UDDI, WSDL)
![Page 6: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/6.jpg)
Concepts – Web Services
• A Web service …
– Exposes and describes itself
– Allows other services to locate it on the Web
– Can be invoked
– Must return a response
![Page 7: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/7.jpg)
Concepts – Web Services
RegisterFind
Service
Broker
Service
ProviderService
ConsumerClient
RegisterFind
Service
Contract
Service
![Page 8: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/8.jpg)
Concepts – Web Services
Diagram, courtesy of IBM - 2005
![Page 9: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/9.jpg)
When we move to a new home …
Phone
Gas
Concepts – SOA
… we establish and use (everyday) a Service-Oriented Architecture!
Home Sweet Home
Phone
Cable TV
Power
Water
![Page 10: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/10.jpg)
Concepts – SOA
Yet, why is it that most organizations today …
Banks Warehouses
… build their own bridges to interact between applications or with partners?
XYZ, Inc
Customers Vendors
![Page 11: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/11.jpg)
Concepts – SOA
Web Client
(Self Service)
.NET Client
(Support)Portal
(Self Service)
APPLICATION
PortalsJ2EE Applications
Servlets
PROCESS FLOWS
BPELXSLT
Database Mainframe Packaged Apps EJBs.NET/Axis
BUSINESS SERVICES
XML, XML SchemaWSDL/WSIFSOAP, JCA, JMS
JDBC JMS JCA RMISOAP
WSDL WSDL WSDL WSDL WSDL
Management and Security WS-SecurityWS-Policy, SAML
XSLTXQuery
Orchestration
![Page 12: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/12.jpg)
Concepts – BPEL
Duplicate
Number!
SalesDB startBusiness Process Execution
Language: Markup language for
composing a set of discrete services
into an end-to-end process flow
• 10+ years of R&D from
end
Router
BillingMSFT and IBM
• SOAP but also Java, JCA
• Rich Flow Semantics
• Optimized Bindings
• XPATH+XSLT+XQuery
• WS-Security
• A Process is a Service
![Page 13: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/13.jpg)
Concepts – BPEL
?
PORTALWeb Service
Java Service
?
BPELThe Orchestrator
IU
J2EE
TOMCAT
ERP
Oracle, SAP, etc.
User Tasks
Database
Stored Procedures
![Page 14: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/14.jpg)
Concepts – BPEL
![Page 15: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/15.jpg)
Concepts – BPEL
![Page 16: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/16.jpg)
ArchitectureArchitecture
![Page 17: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/17.jpg)
• Comprehensive and native
BPEL implementation
• Easy-to-use modeling tool
• Scalable and reliable engine
BPEL Process Manager
• Flexible binding framework
• Rich management and
monitoring
• Support for Oracle AS,
WebLogic and WebSphere
• Get up and running in less
than 15 minutes!
![Page 18: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/18.jpg)
BPEL Designer
• Native BPEL Support
• Drag-and-drop process modeler
KEY FEATURES
• Drag-and-drop process modeler
• UDDI and WSIL service browser
• Visual XPATH editor
• Visual Assign editor
• One-click build and deploy
![Page 19: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/19.jpg)
BPEL Adapters
• WSIF + JCA + XML
• Rich Metadata
KEY FEATURES
• Requests and Events
• Optimized Bindings
• 200+ Systems
• Fail Over Management
![Page 20: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/20.jpg)
• Drag-and-drop Interface
• Built-in Library of Functions
KEY FEATURES
BPEL Transformations
• Built-in Library of Functions
• Support for Lists and Iterations
• Auto-mapping
• Version Resiliency
![Page 21: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/21.jpg)
• Visual Monitoring
• Auditing
KEY FEATURES
BPEL Console
• BPEL Debugging
• In-flight Instance Administration
• Performance Tuning
• Partitioning/Domains
![Page 22: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/22.jpg)
App. Server
LOAD BALANCER
BPEL Server
BPEL High Availability
Dehydration Store
(Oracle Database)
App. Server
LOAD BALANCER
BPEL Server
BPEL-OptimizedSOAP Stack
Support for large BPEL Processes (20,000+ activities)
Stateless Architecture• Clustering• Fail Over
![Page 23: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/23.jpg)
Installation
![Page 24: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/24.jpg)
BPEL Download
![Page 25: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/25.jpg)
Hello World!
![Page 26: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/26.jpg)
Problem/Use Case
• How do I implement, compile, deploy and run my first BPEL Process? I would like that BPEL Process to generate and return a greeting
![Page 27: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/27.jpg)
Lab 1
• Create a new synchronous BPEL process named MyHelloWorld.
• Add “Hello World” logic to it to return the string “Hello ” plus the input string submitted to the process.
![Page 28: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/28.jpg)
What Did We Learn?
• How to create a BPEL project (for a synchronous BPEL flow)
• How to assign a value to an XML message/variable
• How to build and deploy a BPEL process
• How to initiate and test a BPEL process
![Page 29: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/29.jpg)
Synchronous Web Service
![Page 30: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/30.jpg)
Problem/Use Case
• How do I invoke a synchronous credit rating web service from within a BPEL process?
Self-Described Interface
(WSDL)
CreditRatingInput
Transport
(SOAP Over HTTP)
Web Service
Functional Building Block
process operation returns credit rating
CreditRatingResponse
![Page 31: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/31.jpg)
Lab 2
• Create a new asynchronous BPEL project named MyLoanFlow.
• Change the interface to your BPEL process to accept a LoanApplication document as input and return a LoanOffer.
• Add the logic to MyLoanFlow to invoke the CreditRatingService in C:\orabpel\samples\utils\CreditRatingService.in C:\orabpel\samples\utils\CreditRatingService.
• Make sure that the input to the credit rating service comes from your LoanApplication input variable and the credit rating response is placed back in the loan application as well.
![Page 32: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/32.jpg)
What Did We Learn?
• How to create an asynchronous BPEL process
• Changing the input and output types associated with a BPEL process
• How to add a new partnerLink to a BPEL process
• How to invoke that partnerLink from within the process flow• How to invoke that partnerLink from within the process flow
• How to create the variables referencing the messages that will be sent to and received from the BPEL process
• How to initialize a variable (input and output mapping)
![Page 33: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/33.jpg)
Asynchronous Web Service
![Page 34: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/34.jpg)
Problem/Use Case
• American Loan exposes a web service that can take anywhere from a couple of
minutes to a couple days to process a loan application into a loan offer. How can
I leverage that asynchronous loan processor service as part of my BPEL
Process?
[2:05] receive
[2:06] process…
[2:22] callback
Initiate Port
American Loan
Asynchronous Web Service
[2:22] callback
Callback Port
initiate
onResult callback
![Page 35: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/35.jpg)
Lab 3
• Add the logic to your flow to invoke the asynchronous UnitedLoan service.
![Page 36: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/36.jpg)
What Did We Learn?
• Asynchrony increases reliability and scalability
• How to combine two WSDL port types into an asynchronous conversation
• How to initiate an asynchronous web service (<invoke>)
• How to wait for an asynchronous web service to callback • How to wait for an asynchronous web service to callback (<receive>)
• How WS-Addressing is used to exchange correlation Id and callback location information
![Page 37: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/37.jpg)
Parallel Processing
![Page 38: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/38.jpg)
Problem/Use Case
• Given that AmericanLoan and UnitedLoan can take up to 5 days to process a loan request, is it possible to invoke those services in parallel?
In Parallel
American LoanUnited Loan
![Page 39: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/39.jpg)
Lab 4
• Enclose your invocation of the credit rating service in a <scope> activity (just for readability, as your flow grows).
• Add a <flow> with two branches/<sequences>’s. Move your UnitedLoan invocation to one branch and add the logic to invoke the StarLoan service to the other branch.invoke the StarLoan service to the other branch.
![Page 40: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/40.jpg)
What Did We Learn?
• How to split the flow of execution into two parallel branches
![Page 41: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/41.jpg)
Conditional Branching
![Page 42: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/42.jpg)
Problem/Use Case
• I have received two loan offers (one from UnitedLoan and one from StarLoan). How do I select the one with the lowest rate?
![Page 43: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/43.jpg)
Lab 5
• Add a <switch> activity so that your process returns the better loan offer (the one with the lower APR).
![Page 44: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/44.jpg)
What Did We Learn?
• How to add a <switch> activity to the process flow
• How to define a case using an XPATH Boolean expression
![Page 45: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/45.jpg)
Database Connections
![Page 46: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/46.jpg)
Problem/Use Case
• How to connected to a database?
![Page 47: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/47.jpg)
Lab 6
• Create a new database connection
![Page 48: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/48.jpg)
What Did We Learn?
• How to create and test a new database connection
![Page 49: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/49.jpg)
File Load
![Page 50: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/50.jpg)
Problem/Use Case
• How do I load data from a text file to a database table?
![Page 51: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/51.jpg)
Lab 7
• Create a new process to read a text file and insert rows into a database table
![Page 52: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/52.jpg)
What Did We Learn?
• How to read a text file and load it to a database table
![Page 53: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/53.jpg)
Polling Tables
![Page 54: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/54.jpg)
Problem/Use Case
• How do I poll a database table a read new or changed rows?
![Page 55: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/55.jpg)
Lab 8
• Create a new process to poll a database table
![Page 56: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/56.jpg)
What Did We Learn?
• How to poll a database table to read new or changed rows
![Page 57: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/57.jpg)
Changing Payload
![Page 58: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/58.jpg)
Problem/Use Case
• How do I change the default input payload
![Page 59: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/59.jpg)
Lab 9
• Import a schema
• Replace the default payload with the new schema structure
![Page 60: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/60.jpg)
What Did We Learn?
• How to import schemas & replace default payload
![Page 61: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/61.jpg)
Notifications
![Page 62: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/62.jpg)
Notifications
• Exception & Fault Handling
• Events & Timeouts
![Page 63: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/63.jpg)
Problem/Use Case
• The Credit Rating service throws a NegativeCredit fault under certain conditions. How do I catch and manage a fault from within a BPEL process?
• StarLoan is supposed to call us back with a LoanOffer within an hour. What happens if it doesn’t? How can I handle this time-out hour. What happens if it doesn’t? How can I handle this time-out within my BPEL process?
![Page 64: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/64.jpg)
Lab 10
• Add a <faultHandler> to your scope enclosing the credit rating service to handle the NegativeCredit faults which may be thrown by the service.
• Handle the faults in an automated fashion (here, just set the creditRating value to -1000).creditRating value to -1000).
• Use <pick> / <onMessage> / <onAlarm> so that your process waits a maximum of 1 minute for the StarLoan response.
![Page 65: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/65.jpg)
What Did We Learn?
• How to wrap an <invoke> activity into a scope to be able to catch and manage a fault
• How to set the duration of a timeout
![Page 66: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/66.jpg)
Sequences
![Page 67: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/67.jpg)
Problem/Use Case
• How do I generate a unique sequence ID?
![Page 68: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/68.jpg)
Lab 11
• Create a database sequence, say, ITEM_SEQ
• Add a datasource entry in data-sources.xml file
<BPEL_HOME>\integration\orabpel\system\appserver\oc4j\j2ee\home\config
<data-source class="com.evermind.sql.DriverManagerDataSource"<data-source class="com.evermind.sql.DriverManagerDataSource"name="BPELDemo"location="jdbc/BPELDemo"xa-location="BPELDemo"ejb-location="jdbc/BPELDemo"connection-driver="oracle.jdbc.OracleDriver"max-connections="50"min-connections="10"connection-retry-interval="30"max-connect-attempts="10"url="jdbc:oracle:thin:demo/demo@bkhan:1521:DEMO"/>
![Page 69: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/69.jpg)
Lab 11 (cont’d)
• Stop and restart the BPEL Process Manager
• In BPEL Designer, use Database Function:
sequence-next-val('ITEM_SEQ','jdbc/BPELDemo')
to map the sequence to the appropriate ID columnto map the sequence to the appropriate ID column
![Page 70: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/70.jpg)
What Did We Learn?
• How to generate unique sequence IDs
![Page 71: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/71.jpg)
Stress Testing
![Page 72: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/72.jpg)
Problem/Use Case
• How do I stress test my processes?
![Page 73: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/73.jpg)
Lab 12
• Incorporate stress test logic in a process
![Page 74: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/74.jpg)
What Did We Learn?
• How to stress test processes
![Page 75: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/75.jpg)
Application Integration
![Page 76: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/76.jpg)
Application Integration
![Page 77: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/77.jpg)
Application Integration
http://irep.oracle.com
![Page 78: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/78.jpg)
Application Integration
http://irep.oracle.com
![Page 79: Oracle BPEL Training - Tripod.comidealpenngroup.tripod.com/sitebuildercontent/OAUG2008/Collaborate...into an end-to-end process flow ... to process a loan request, ... • Integration](https://reader030.vdocuments.us/reader030/viewer/2022020214/5ab8d02b7f8b9ac60e8d4b25/html5/thumbnails/79.jpg)
About Innowave
• Technology Consulting Firm founded in 2005
• Provide unique, innovative solutions using Oracle Applications and Technology
• Integration Experts: Fusion Middleware, SOA Suite, BPEL & Web services
• Implement, upgrade, and enhance Oracle E-Business Suite, • Implement, upgrade, and enhance Oracle E-Business Suite,
JD Edwards, PeopleSoft, and Siebel Applications and related technologies
• Extensive experience and expertise managing global and local implementations across various industry verticals
• Provide clients with proven methodologies, tools, and templates specifically tailored to their requirements