43
Isuru Udana So#ware Engineer WSO2 Inc. Enterprise Integra0on with the WSO2 ESB An Introduc0on to the Fundamentals Pamod Sylvester So#ware Engineer WSO2 Inc.

Enterprise Integration with the WSO2 ESB

  • Upload
    wso2

  • View
    3.222

  • Download
    6

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Enterprise Integration with the WSO2 ESB

Isuru  Udana  So#ware  Engineer  WSO2  Inc.    

Enterprise  Integra0on  with  the  WSO2  ESB      

 An  Introduc0on  to  the  Fundamentals  

   

Pamod  Sylvester  So#ware  Engineer  WSO2  Inc.    

Page 2: Enterprise Integration with the WSO2 ESB

About WSO2

•  Providing the only complete open source componentized cloud platform

–  Dedicated to removing all the stumbling blocks to enterprise agility –  Enabling you to focus on business logic and business value

•  Recognized by leading analyst firms as visionaries and leaders –  Gartner cites WSO2 as visionaries in all 3 categories of application

infrastructure –  Forrester places WSO2 in top 2 for API Management

•  Global corporation with offices in USA, UK & Sri Lanka

–  200+ employees and growing

•  Business model of selling comprehensive support & maintenance for our products

Page 3: Enterprise Integration with the WSO2 ESB

150+ globally positioned support customers

Page 4: Enterprise Integration with the WSO2 ESB

•  SOA and the role of ESBs. •  WSO2 ESB features and applicability. •  Benefits of using an ESB. •  High level architecture of the WSO2 ESB. •  Enterprise Integration Patterns (EIP) . •  Implimentation of EIPs using the WSO2 ESB.

Agenda

Page 5: Enterprise Integration with the WSO2 ESB

•  Service  Oriented  Architecture  (SOA)  –  A  design  paradigm  and  discipline  -­‐  used  by  IT  to  improve  its  ability  to  quickly  and  efficiently  meet  business  demands.  

–  A  style  of  so#ware  architecture  that  is  modular,  distributed  and  loosely  coupled.  

–  ComponenIzaIon  –  The  main  driver  of  SOA  –  Business  FuncIonaliIes  are  implemented  in  different  Business  Components  

–  Business  Components  provide  their  funcIonality  to  its  consumers  as  a  ‘Service’  with  the  well-­‐defined  service  interfaces.  

 

Service  Oriented  Architecture  (SOA)  

Page 6: Enterprise Integration with the WSO2 ESB

Role  of  ESB  

•  Why  ESB?    – Modern  Enterprises  •  Comprised  of  so  many  Systems  and  Services    •  built  based  on  open  standards,  custom-­‐built,  acquired  from  a  third  party,  part  of  a  legacy  system  or  any  such  combinaIon  

–  Integra0on    •  OrganizaIons  move  away  from  monolithic  systems    •  MulIple  Systems  connected  via  SOA  as  the  blue  print  

 

Source : http://bonfirehealth.com/week-13-insights-spark-integration/

Page 7: Enterprise Integration with the WSO2 ESB

Role  of  ESB  

•  Why  ESB?    –  SpagheF  Integra0on  Dilemma  

•  How  about  ?  –  maintainability,  scalability,  troubleshooIng  and  governance  etc.  

             

 

Page 8: Enterprise Integration with the WSO2 ESB

Role  of  ESB  

•  Why  ESB?    –  ESB  –  The  standard  infrastructure  to  implement  the  SOA                

 

Page 9: Enterprise Integration with the WSO2 ESB

Role  of  ESB  

•  Enterprise  Service  Bus  (ESB)  –  An  ESB  is  a  middleware  soluIon  that  enables  interoperability  among  heterogeneous  environments  using  a  service-­‐oriented  model.  

–  Stateless  and  Seamless  IntegraIon  –  Standard  Protocols  –  SOAP,  REST,  JSON  etc.  –  Transports  –  HTTP/S,  JMS,  TCP,  VFS  etc.  

 

Source : http://graegert.com/programming/no-soa-criticism-somewhere

Page 10: Enterprise Integration with the WSO2 ESB

WSO2  ESB  is…  

•  A  lightweight,  high  performance  ESB  •  Feature  rich  and  standards  compliant  –  SOAP  and  WS-­‐*  standards  –  REST  support  –  Domain  specific  protocol  support  (eg:  FIX,  HL7)  

•  User  friendly  and  highly  extensible  •  100%  free  and  open  source  with  commercial  support  

Page 11: Enterprise Integration with the WSO2 ESB

Under  the  Hood:  Apache  Synapse  

•  A  lightweight,  open  source  ESB  implementaIon  from  the  

ASF  :  hfp://synapse.apache.org  

•  Makes  up  the  mediaIon  engine  of  WSO2  ESB  

•  MulIthreaded  and  asynchronous  message  processing  core  

•  Based  on  a  number  of  well  known  open  source  projects  (eg:  

Axis2,  Hfp  Core)  

Page 12: Enterprise Integration with the WSO2 ESB

Under  the  Hood:  WSO2  Carbon  

•  An  OSGi  based  components  framework  for  SOA  

•  Extensive  modularity  and  reusability  

•  Easily  add,  remove  and  customize  features  

– Similar  to  Eclipse  plug-­‐ins  

•  Easily  deploy  third  party  libraries  and  custom  code  

into  the  server  runIme  

•  Web  based  management  console  

Page 13: Enterprise Integration with the WSO2 ESB

ESB  Func0onal  Components  ● Mediators

● Sequences

● Endpoints

● Proxy Services

● Tasks

● REST API

● Message Stores

and Processors

● Local Entries

● Registry

● Templates

Page 14: Enterprise Integration with the WSO2 ESB

More  on  Func0onal  Components  

•  Each  funcIonal  component  serves  a  specific  purpose  •  FuncIonal  components  can  be  mixed  and  matched  to  implement  various  integraIon  scenarios  and  paferns  

•  Configuring  WSO2  ESB  for  a  given  scenario  requires:  –  IdenIfying  the  right  set  of  components  – Puing  them  together  in  the  opImal  manner  

Page 15: Enterprise Integration with the WSO2 ESB

Mediators  

Page 16: Enterprise Integration with the WSO2 ESB

Sequences  

•  A  chain  of  mediators  •  Messages are sent through all the

mediators in the sequence, in the order they appear

Page 17: Enterprise Integration with the WSO2 ESB

Endpoints  

•  A  logical  enIty  to  which  messages  can  be  sent  from  the  ESB  –  A  service  endpoint  reference  (EPR)  –  A  JMS  queue  –  A  FIX  session  

•  Various  operaIonal  and  QoS  constraints  can  be  engaged  on  an  endpoint  –  SOAP  version  – WS-­‐Security  

Page 18: Enterprise Integration with the WSO2 ESB

Proxy  Services  

Page 19: Enterprise Integration with the WSO2 ESB

REST API

•  Exposing  RESTful  APIs    •  An  easy  way  to  expose  exisIng  SOAP  services  over  REST  

•  REST  à  SOAP  conversion    

Page 20: Enterprise Integration with the WSO2 ESB

Message Store and Processors

•  Message Store §  Storage for ESB messages §  In-memory, JMS

•  Message Processors §  Consume the messages in message stores and

do the processing of them

Page 21: Enterprise Integration with the WSO2 ESB

Why  Store  and  Forward?  

•  Matching  Request  Rates  

 

 

 

 

•  Guaranteed  Delivery    

Page 22: Enterprise Integration with the WSO2 ESB

Templates  

•  With  complex  business  requirements,  ESB  config  can  grow  bigger..  

•   Need  a  way  to  reuse  the  configuraIon  •  WSO2  ESB  4.0  introduces  –  Templates  

 

 

Page 23: Enterprise Integration with the WSO2 ESB

Configuring  the  ESB  

•  The  task  of  laying  out  and  connecIng  the  ESB  funcIonal  components  

•  Done  using  Synapse  configuraIon  language  (XML  based)  

•  WSO2  ESB  makes  the  job  easier  by  providing  a  set  of  UI  wizards  and  graphical  tools  

•  Equivalent  to  programming  in  many  ways  

Page 24: Enterprise Integration with the WSO2 ESB

An  Example  Configura0on  

Page 25: Enterprise Integration with the WSO2 ESB

Developer  Studio  

Page 26: Enterprise Integration with the WSO2 ESB

Modes  of  Opera0on  

•  WSO2  ESB  supports  4  modes  of  operaIon  –  Message  mediaIon  (ESB  as  a  message  router)  

–  Service  mediaIon  (Expose  service  endpoints  on  ESB)  

–  Task  scheduling  (Run  periodic  tasks  on  ESB)  

–  EvenIng  (ESB  as  an  event  broker)  •  Most  real  world  scenarios  require  the  ESB  to  operate  in  mulIple  modes  at  the  same  Ime  

Page 27: Enterprise Integration with the WSO2 ESB

Key  Features:  Rou0ng  

Page 28: Enterprise Integration with the WSO2 ESB

Key  Features:  Filtering  

Page 29: Enterprise Integration with the WSO2 ESB

Key  Features:  Transforma0on  

Page 30: Enterprise Integration with the WSO2 ESB

Key  Features:  Protocol  Switching  

Page 31: Enterprise Integration with the WSO2 ESB

Key  Features:  Load  Balancing  

Page 32: Enterprise Integration with the WSO2 ESB

Key  Features:  QoS  

Page 33: Enterprise Integration with the WSO2 ESB

Supported  Protocols/Standards  

•  Transports  –  HTTP/S,  POP/IMAP,  SMTP,  JMS,  AMQP,  FIX,  Raw  TCP,  Raw  UDP,  

SAP,  File  transports  (FTP/SFTP/CIFS)  

•  Content  Interchange  Formats  

–  SOAP  1.1,  SOAP  1.2,  POX,  HTML,  Plain  text,  binary,  JSON,  Hessian  

•  WS-­‐*  Standards  – WS-­‐Addressing,  WS-­‐Security,  WS-­‐Reliable  Messaging,  WS-­‐Policy,  

WS-­‐Discovery,  MTOM/SwA  

Page 34: Enterprise Integration with the WSO2 ESB

WSO2  ESB  Also  Supports…  

Page 35: Enterprise Integration with the WSO2 ESB

WSO2  ESB  In  Ac0on  

Page 36: Enterprise Integration with the WSO2 ESB

High  Level  Architecture  

Page 37: Enterprise Integration with the WSO2 ESB

Enterprise  Integra0on  PaXerns  (EIP)    •  Enterprise functionalities are decomposed and

exposed as services.

•  Maintaining solid integration among services is

apparent.

•  There are different modes of integration

•  EIPs provide standardized architectural solutions for

integration needs

•  Refer : http://www.eaipatterns.com/ for pattern

definitions

Page 38: Enterprise Integration with the WSO2 ESB

WSO2  ESB  EIP  Support      

• 

Visit : http://docs.wso2.org/wiki/display/IntegrationPatterns/

Enterprise+Integration+Patterns+with+WSO2+ESB

Page 39: Enterprise Integration with the WSO2 ESB

Content  Based  Rou0ng  (CBR)          

Bar Service

Foo Service Foo

Request

Bar Request

CBR Proxy

Page 40: Enterprise Integration with the WSO2 ESB

Guaranteed  Delivery          

Stock Holder Request

WSO2 ESB

Stock Holder Inventory

Status :Off-line

Message Store

Stock Holder Inventory

Status :On line Message Processor

Page 41: Enterprise Integration with the WSO2 ESB

Ques0ons  

Page 42: Enterprise Integration with the WSO2 ESB

Engage with WSO2

•  Helping you get the most out of your deployments •  From project evaluation and inception to development

and going into production, WSO2 is your partner in ensuring 100% project success

Page 43: Enterprise Integration with the WSO2 ESB

Thank  You