Integration Patterns with WSO2 ESB and WSO2 BPS

29
September 2014 Integration Patterns with WSO2 ESB and WSO2 BPS Software Architect Kasun Indrasiri

description

 

Transcript of Integration Patterns with WSO2 ESB and WSO2 BPS

Page 1: Integration Patterns with WSO2 ESB and WSO2 BPS

September 2014

Integration Patterns with WSO2 ESB and WSO2 BPS

Software Architect Kasun Indrasiri

Page 2: Integration Patterns with WSO2 ESB and WSO2 BPS

About the Presenters  ๏  Kasun Indrasiri

๏  So$ware  Architect/Product  Lead  :  WSO2  ESB  

2

Page 3: Integration Patterns with WSO2 ESB and WSO2 BPS

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

Page 4: Integration Patterns with WSO2 ESB and WSO2 BPS

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

Page 5: Integration Patterns with WSO2 ESB and WSO2 BPS

ESB as the Integration Bus  ๏  Conquering integration nightmares with WSO2

ESB

5

Page 6: Integration Patterns with WSO2 ESB and WSO2 BPS

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.

Page 7: Integration Patterns with WSO2 ESB and WSO2 BPS

WS-­‐BPEL  

•  Web service orchestration standard from OASIS. •  Leverage common skill set (XML, WSDLs, XPath,

XQuery, etc)

Why BPEL ?

Page 8: Integration Patterns with WSO2 ESB and WSO2 BPS

Service  Orchestra>on  

Data service

Orchestration engine

WSO2 BPS

Client

External service

Local service

request

response

Page 9: Integration Patterns with WSO2 ESB and WSO2 BPS

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

Page 10: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  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

Page 11: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  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

Page 12: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  A stateless service chaining scenario – Using Receive Sequence (prior to ESB 4.8)

12

Service Orchestration

Page 13: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  A stateless service chaining scenario – Using Receive Sequence (prior to ESB 4.8)

13

Service Orchestration

Page 14: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  A stateless service chaining scenario – Using ‘Call’ Mediator (after 4.8)

14

Service Orchestration

Page 15: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  A stateless service chaining scenario – Using ‘Call’ Mediator

15

Service Orchestration

Page 16: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  Clone-Aggregate

16

Parallel Processing

Page 17: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  Split-Aggregate

17

Parallel Processing

Page 18: Integration Patterns with WSO2 ESB and WSO2 BPS

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

Page 19: Integration Patterns with WSO2 ESB and WSO2 BPS

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

Page 20: Integration Patterns with WSO2 ESB and WSO2 BPS

Parallel  Processing  

Receive

Data service

Update service

...

Invoke Invoke

...

Reply

Page 21: Integration Patterns with WSO2 ESB and WSO2 BPS

Excep>on  and  Recovery  Handling  

Reserve Air tickets

Holiday Booking

Reserve Hotel

Cancel Hotel Reservation

Cancel Holiday Booking

Cancel Holiday Booking

Handle Fault

Page 22: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  Service Orchestration – BPS + ESB

§  ESB handles the connectivity between disparate systems and services

§  BPS handles the orchestration

22

ESB-BPS in action

Page 23: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  Service Orchestration – BPS + ESB

§  Use case

23

ESB-BPS in action

Page 24: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  Service Orchestration – BPS + ESB

24

ESB-BPS in action

Page 25: Integration Patterns with WSO2 ESB and WSO2 BPS

๏  Introduction to WSO2 ESB and WSO2 BPS

๏  When to select what?

๏  WSO2 ESB and WSO2 BPS in action.

25

Conclusion

Page 26: Integration Patterns with WSO2 ESB and WSO2 BPS

26

QnA

Page 27: Integration Patterns with WSO2 ESB and WSO2 BPS

27  

Business  Model  

Page 28: Integration Patterns with WSO2 ESB and WSO2 BPS

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/

Page 29: Integration Patterns with WSO2 ESB and WSO2 BPS

Contact  us  !