34
Kasun Indrasiri So#ware Architect, WSO2 ESB Product Lead, WSO2 Inc. Exploring the WSO2 ESB 4.7 Ravi Undupi?ya So#ware Engineer Integra<on Technology Team WSO2 Inc.

Exploring the WSO2 ESB 4.7

  • Upload
    wso2

  • View
    822

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Exploring the WSO2 ESB 4.7

Kasun  Indrasiri  So#ware  Architect,  WSO2  ESB  Product  Lead,  WSO2  Inc.    

   

Exploring  the  WSO2  ESB  4.7        

Ravi  Undupi?ya  So#ware  Engineer  Integra<on  Technology  Team  WSO2  Inc.    

Page 2: Exploring the WSO2 ESB 4.7

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: Exploring the WSO2 ESB 4.7

150+ globally positioned support customers

Page 4: Exploring the WSO2 ESB 4.7

Agenda  

•  Background  on  SOA  and  Enterprise  Service  Bus  •  Capabili<es  of  the  WSO2  ESB  

•  Func<onal  components  of  WSO2  ESB  

•  What’s  new  in  WSO2  ESB  4.7.0  

•  Pizza  Shop  Demo  

Page 5: Exploring the WSO2 ESB 4.7

Background  

•  Service  Oriented  Architecture  (SOA)  –  A  style  of  so#ware  architecture  that  is  modular,  distributed  and  loosely  coupled.  

–  Componen<za<on  –  The  main  driver  of  SOA  –  Business  Func<onali<es  are  implemented  in  different  Business  Components  

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

 

Page 6: Exploring the WSO2 ESB 4.7

Background  

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

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

 

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

Page 7: Exploring the WSO2 ESB 4.7

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 8: Exploring the WSO2 ESB 4.7

Under  the  Hood:  Apache  Synapse  

•  A  lightweight,  open  source  ESB  implementa<on  

from  the  ASF  :  hdp://synapse.apache.org  

•  Makes  up  the  media<on  engine  of  WSO2  ESB  

•  Mul<threaded  and  asynchronous  message  

processing  core  

•  Based  on  a  number  of  well  known  open  source  

projects  (eg:  Axis2,  Hdp  Core)  

Page 9: Exploring the WSO2 ESB 4.7

ESB  Func?onal  Components  

Page 10: Exploring the WSO2 ESB 4.7

Mediators  

Page 11: Exploring the WSO2 ESB 4.7

Sequences  

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

mediators in the sequence, in the order they appear

Page 12: Exploring the WSO2 ESB 4.7

Endpoints  

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

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

Page 13: Exploring the WSO2 ESB 4.7

Proxy  Services  

Page 14: Exploring the WSO2 ESB 4.7

Key  Features:  Rou?ng  

Page 15: Exploring the WSO2 ESB 4.7

Key  Features:  Filtering  

Page 16: Exploring the WSO2 ESB 4.7

Key  Features:  Transforma?on  

Page 17: Exploring the WSO2 ESB 4.7

Key  Features:  Protocol  Switching  

Page 18: Exploring the WSO2 ESB 4.7

Key  Features:  Load  Balancing  

Page 19: Exploring the WSO2 ESB 4.7

Key  Features:  QoS  

Page 20: Exploring the WSO2 ESB 4.7

REST API

•  Exposing  RESTful  APIs    • An  easy  way  to  expose  exis<ng  SOAP  services  over  REST  

 •  REST  à  SOAP  bridge    •  REST  à  REST  Proxy      

Page 21: Exploring the WSO2 ESB 4.7

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 22: Exploring the WSO2 ESB 4.7

 New  in  WSO2  ESB  4.7.0    •  RESTful  integra<on  support  improvements  – HTTP  Endpoint  – JSON  Payload  Factory  Mediator    

 •  Improved  Message  Store/Processor    •  SSL  Tunneling      •  OCSP  /  CRL  for  HTTP  Transport    •  Major  round  of  bug  fixing.      

Page 23: Exploring the WSO2 ESB 4.7

RESTful  Integra?on  Support  

•  HTTP  Endpoint  – URI  Templates  – Define  HTTP  Methods  – Dynamic  evalua<on  of  endpoint  URI    

 

Page 24: Exploring the WSO2 ESB 4.7

HTTP Endpoint

Page 25: Exploring the WSO2 ESB 4.7

RESTful  Integra?on  Support  

•  Payload  Factory  JSON  Support  – JSON  to  XML  – JSON  to  JSON  – Using  JSON  Path  

   

Page 26: Exploring the WSO2 ESB 4.7

Payload Factory JSON Support

Page 27: Exploring the WSO2 ESB 4.7

Pizza  Shop  Demo:  Scenario  

•  Exis<ng  backend  provides  Pizza  Ordering  and  Payment  System.  

 •  Backend  is  RESTful  using  JSON  for  use  with  Mobile  Clients.  

 •  Some  clients  send  different  message  formats.    •  SOAP  clients  used  internally.    

 Source: http://www.kirkmanvippizza.com

Page 28: Exploring the WSO2 ESB 4.7

Pizza Shop Demo

Page 29: Exploring the WSO2 ESB 4.7

Pizza Shop Demo – API

•  User  API    •  GET        /pizza/?type={TYPE}&?q={TERM}  •  POST      /order/add  •  DELETE    /order/delete/{id}    •  POST      /order/purchase/{id}  •  GET      /order/status/{id}  •  PUT      /order/update/{id}  

•  Admin  API  •  POST      /pizza/add  

Page 30: Exploring the WSO2 ESB 4.7

Pizza Shop Demo

   

SOAP  Client    

     

JAX-RS RESTful Backend

   

REST  Client    

WSO2 ESB

 Proxy  Service  

 

 API  

 

JSON

JSON JSON

XML

Page 31: Exploring the WSO2 ESB 4.7

Message Store and Processors Improvements

•  Store and Forward Pattern

•  Improved WSO2 Message Broker Integration

•  Message Throughput Improvements

Page 32: Exploring the WSO2 ESB 4.7

SSL Tunneling Improvements

•  SSL Tunneling

•  Via Proxy Server

 

Client  

 Proxy  Server  

 Backend  SSL   SSL  SSL  

Page 33: Exploring the WSO2 ESB 4.7

OCSP / CRL

•  Online Certificate Status Protocol / Certificate

Revocation List

•  Between WSO2 ESB and Backend.

•  Queries root certificate authorities

•  Caching implementation

•  Certificate Status: good, revoked, unknown

•  Terminates request if revoked/unknown

Page 34: Exploring the WSO2 ESB 4.7

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