SlideShare a Scribd company logo
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.	
  
	
  
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
150+ globally positioned support customers
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	
  
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.	
  
	
  
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
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	
  
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)	
  
ESB	
  Func?onal	
  Components	
  
Mediators	
  
Sequences	
  
•  A	
  chain	
  of	
  mediators	
  
•  Messages are sent through all the
mediators in the sequence, in the order
they appear
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	
  
Proxy	
  Services	
  
Key	
  Features:	
  Rou?ng	
  
Key	
  Features:	
  Filtering	
  
Key	
  Features:	
  Transforma?on	
  
Key	
  Features:	
  Protocol	
  Switching	
  
Key	
  Features:	
  Load	
  Balancing	
  
Key	
  Features:	
  QoS	
  
REST API
•  Exposing	
  RESTful	
  APIs	
  	
  
•  An	
  easy	
  way	
  to	
  expose	
  exis<ng	
  SOAP	
  services	
  over	
  
REST	
  
	
  
•  REST	
  à	
  SOAP	
  bridge	
  
	
  
•  REST	
  à	
  REST	
  Proxy	
  
	
  
	
  
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	
  
 
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.	
  	
  
	
  
RESTful	
  Integra?on	
  Support	
  
•  HTTP	
  Endpoint	
  
– URI	
  Templates	
  
– Define	
  HTTP	
  Methods	
  
– Dynamic	
  evalua<on	
  of	
  endpoint	
  URI	
  
	
  
	
  
HTTP Endpoint
RESTful	
  Integra?on	
  Support	
  
•  Payload	
  Factory	
  JSON	
  Support	
  
– JSON	
  to	
  XML	
  
– JSON	
  to	
  JSON	
  
– Using	
  JSON	
  Path	
  
	
  
	
  
Payload Factory JSON Support
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
Pizza Shop Demo
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	
  
Pizza Shop Demo
	
  
	
  
SOAP	
  Client	
  
	
  
	
  
	
  
	
  
JAX-RS
RESTful Backend
	
  
	
  
REST	
  Client	
  
	
  
WSO2 ESB
	
  
Proxy	
  Service	
  
	
  
	
  
API	
  
	
  
JSON
JSONJSON
XML
Message Store and Processors Improvements
•  Store and Forward Pattern
•  Improved WSO2 Message Broker Integration
•  Message Throughput Improvements
SSL Tunneling Improvements
•  SSL Tunneling
•  Via Proxy Server
	
  
Client	
  
	
  
Proxy	
  
Server	
  
	
  
Backend	
  SSL	
   SSL	
  SSL	
  
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
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

More Related Content

Exploring the WSO2 ESB 4.7

  • 1. 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.    
  • 2. 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
  • 3. 150+ globally positioned support customers
  • 4. 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  
  • 5. 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.    
  • 6. 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
  • 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  
  • 8. 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)  
  • 11. Sequences   •  A  chain  of  mediators   •  Messages are sent through all the mediators in the sequence, in the order they appear
  • 12. 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  
  • 17. Key  Features:  Protocol  Switching  
  • 18. Key  Features:  Load  Balancing  
  • 20. REST API •  Exposing  RESTful  APIs     •  An  easy  way  to  expose  exis<ng  SOAP  services  over   REST     •  REST  à  SOAP  bridge     •  REST  à  REST  Proxy      
  • 21. 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  
  • 22.   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.      
  • 23. RESTful  Integra?on  Support   •  HTTP  Endpoint   – URI  Templates   – Define  HTTP  Methods   – Dynamic  evalua<on  of  endpoint  URI      
  • 25. RESTful  Integra?on  Support   •  Payload  Factory  JSON  Support   – JSON  to  XML   – JSON  to  JSON   – Using  JSON  Path      
  • 27. 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
  • 29. 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  
  • 30. Pizza Shop Demo     SOAP  Client           JAX-RS RESTful Backend     REST  Client     WSO2 ESB   Proxy  Service       API     JSON JSONJSON XML
  • 31. Message Store and Processors Improvements •  Store and Forward Pattern •  Improved WSO2 Message Broker Integration •  Message Throughput Improvements
  • 32. SSL Tunneling Improvements •  SSL Tunneling •  Via Proxy Server   Client     Proxy   Server     Backend  SSL   SSL  SSL  
  • 33. 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
  • 34. 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