September 2014 Integration Patterns with WSO2 ESB and WSO2 BPS Software Architect Kasun Indrasiri
September 2014
Integration Patterns with WSO2 ESB and WSO2 BPS
Software Architect Kasun Indrasiri
About the Presenters ๏ Kasun Indrasiri
๏ So$ware Architect/Product Lead : WSO2 ESB
2
Agenda ๏ Introduction to WSO2 ESB and WSO2 BPS
๏ When to select ESB/BPS?
๏ Stateful/Stateless Service orchestration
๏ Integration patterns with WSO2 ESB and WSO2 BPS
3
Introducing WSO2 ESB ๏ A light weight, high performance ESB
๏ Comprehensive REST, SOAP, WS-* support
๏ 100% compliant with all EIPs (Enterprise Integration Patterns)
๏ Connectors (Salesforce, Twilio and many more)
๏ SAP, FIX, HL7 - Domain specific solutions
๏ Zero Code/Configuration driven
๏ Extensible and Scalable 4
ESB as the Integration Bus ๏ Conquering integration nightmares with WSO2
ESB
5
Business Processes in SOA • Business process is a collection of related, structured
activities or tasks that produces a specific service or product for particular customer or customers.
WS-‐BPEL
• Web service orchestration standard from OASIS. • Leverage common skill set (XML, WSDLs, XPath,
XQuery, etc)
Why BPEL ?
Service Orchestra>on
Data service
Orchestration engine
WSO2 BPS
Client
External service
Local service
request
response
Introducing WSO2 BPS ๏ Executes business workflows compliant with WS-
BPEL and WS-HumanTask specifications
๏ Facilitates workflows with heterogeneous enterprise services and human interactions
๏ Model , Deploy, Manage , Monitor workflows
๏ Powered By Apache ODE
9
๏ Service Orchestration – ESB or BPS ?
§ How to select the perfect fit?
• Stateful vs stateless
• Complexity of the orchestration (e.g: 10+ services)
• Long running processes
• Learning curve of BPEL
10
Service Orchestration
๏ Stateless Service Orchestration – ESB
§ Service Channing – call mediator or receive sequence
§ Clone/Aggregate – clone, aggregate mediators
§ Split/Aggregate - iterate, aggregate mediators
11
Service Orchestration in WSO2 ESB
๏ A stateless service chaining scenario – Using Receive Sequence (prior to ESB 4.8)
12
Service Orchestration
๏ A stateless service chaining scenario – Using Receive Sequence (prior to ESB 4.8)
13
Service Orchestration
๏ A stateless service chaining scenario – Using ‘Call’ Mediator (after 4.8)
14
Service Orchestration
๏ A stateless service chaining scenario – Using ‘Call’ Mediator
15
Service Orchestration
๏ Clone-Aggregate
16
Parallel Processing
๏ Split-Aggregate
17
Parallel Processing
Service Orchestra>on in WSO2 BPS
Data service
Orchestration engine
WSO2 BPS
Client
Long running service
request
result
request + txn-id
result + txn-id
๏ A stateful service chaining scenario
Correla>on
txn-id-2000
txn-id-2010
txn-id-2020
Receive
Process Instance 101
txn-id-2000
Receive
Process Instance 102
txn-id-2010
Receive
Process Instance 103
txn-id-2020
WSO2 BPS
? Long
running service
Parallel Processing
Receive
Data service
Update service
...
Invoke Invoke
...
Reply
Excep>on and Recovery Handling
Reserve Air tickets
Holiday Booking
Reserve Hotel
Cancel Hotel Reservation
Cancel Holiday Booking
Cancel Holiday Booking
Handle Fault
๏ Service Orchestration – BPS + ESB
§ ESB handles the connectivity between disparate systems and services
§ BPS handles the orchestration
22
ESB-BPS in action
๏ Service Orchestration – BPS + ESB
§ Use case
23
ESB-BPS in action
๏ Service Orchestration – BPS + ESB
24
ESB-BPS in action
๏ Introduction to WSO2 ESB and WSO2 BPS
๏ When to select what?
๏ WSO2 ESB and WSO2 BPS in action.
25
Conclusion
26
QnA
27
Business Model
6
Links
๏ Service Orchestration with WSO2 ESB – Call Mediator http://wso2.com/library/articles/2014/02/service-orchestration-with-wso2-esb/
๏ Service Orchestration with WSO2 ESB – Receive Sequence http://wso2.com/library/articles/2012/11/enterprise-service-integration-wso2-esb/
๏ Writing a BPEL process with WSO2 BPS http://wso2.com/library/articles/writing-simple-ws-bpel-process-wso2-bps-apache-ode/
Contact us !