exploring the wso2 esb 4.7
DESCRIPTION
TRANSCRIPT
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
JSON JSON
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