Enterprise Integration with the WSO2 ESB


Published on

Published in: Technology, Education

Enterprise Integration with the WSO2 ESB

  1. 1. 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.    
  2. 2. About WSO2•  Providing the only complete open source componentized cloudplatform–  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 applicationinfrastructure–  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
  3. 3. 150+ globally positioned support customers
  4. 4. •  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
  5. 5. •  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)  
  6. 6. 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/
  7. 7. Role  of  ESB  •  Why  ESB?    –  SpagheF  Integra0on  Dilemma  •  How  about  ?  –  maintainability,  scalability,  troubleshooIng  and  governance  etc.                  
  8. 8. Role  of  ESB  •  Why  ESB?    –  ESB  –  The  standard  infrastructure  to  implement  the  SOA                  
  9. 9. 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
  10. 10. 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  
  11. 11. 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)  
  12. 12. 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  
  13. 13. ESB  Func0onal  Components  ● Mediators● Sequences● Endpoints● Proxy Services● Tasks● REST API● Message Storesand Processors● Local Entries● Registry● Templates
  14. 14. 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  
  15. 15. Mediators  
  16. 16. Sequences  •  A  chain  of  mediators  •  Messages are sent through all themediators in the sequence, in the orderthey appear
  17. 17. 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  
  18. 18. Proxy  Services  
  19. 19. REST API•  Exposing  RESTful  APIs    •  An  easy  way  to  expose  exisIng  SOAP  services  over  REST  •  REST  à  SOAP  conversion    
  20. 20. Message Store and Processors•  Message Store§  Storage for ESB messages§  In-memory, JMS•  Message Processors§  Consume the messages in message stores anddo the processing of them
  21. 21. Why  Store  and  Forward?  •  Matching  Request  Rates          •  Guaranteed  Delivery    
  22. 22. Templates  •  With  complex  business  requirements,  ESB  config  can  grow  bigger..  •   Need  a  way  to  reuse  the  configuraIon  •  WSO2  ESB  4.0  introduces  –  Templates      
  23. 23. 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  
  24. 24. An  Example  Configura0on  
  25. 25. Developer  Studio  
  26. 26. 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  
  27. 27. Key  Features:  Rou0ng  
  28. 28. Key  Features:  Filtering  
  29. 29. Key  Features:  Transforma0on  
  30. 30. Key  Features:  Protocol  Switching  
  31. 31. Key  Features:  Load  Balancing  
  32. 32. Key  Features:  QoS  
  33. 33. 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  
  34. 34. WSO2  ESB  Also  Supports…  
  35. 35. WSO2  ESB  In  Ac0on  
  36. 36. High  Level  Architecture  
  37. 37. Enterprise  Integra0on  PaXerns  (EIP)    •  Enterprise functionalities are decomposed andexposed as services.•  Maintaining solid integration among services isapparent.•  There are different modes of integration•  EIPs provide standardized architectural solutions forintegration needs•  Refer : http://www.eaipatterns.com/ for patterndefinitions
  38. 38. WSO2  ESB  EIP  Support      • Visit : http://docs.wso2.org/wiki/display/IntegrationPatterns/Enterprise+Integration+Patterns+with+WSO2+ESB
  39. 39. Content  Based  Rou0ng  (CBR)          BarServiceFooServiceFooRequestBarRequestCBR Proxy
  40. 40. Guaranteed  Delivery          Stock HolderRequestWSO2 ESB Stock HolderInventoryStatus :Off-lineMessage StoreStock HolderInventoryStatus :On lineMessage Processor
  41. 41. Ques0ons  
  42. 42. Engage with WSO2•  Helping you get the most out of your deployments•  From project evaluation and inception to developmentand going into production, WSO2 is your partner inensuring 100% project success
  43. 43. Thank  You