Download presentation
Presentation is loading. Please wait.
Published byDale Ryan Modified over 9 years ago
1
Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2 Inc. May 2013 Introduction to WSO2 ESB
2
Background 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 software architecture that is modular, distributed and loosely coupled. – Componentization – The main driver of SOA – Business Functionalities are implemented in different Business Components – Business Components provide their functionality to its consumers as a ‘Service’ with the well-defined service interfaces.
3
Background 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 combination – Integration Organizations move away from monolithic systems Multiple Systems connected via SOA as the blue print Source : http://bonfirehealth.com/week-13-insights-spark-integration/
4
Background Why ESB? – Spaghetti Integration Dilemma How about ? – maintainability, scalability, troubleshooting and governance etc.
5
Background Why ESB? – ESB – The standard infrastructure to implement the SOA
6
Background Enterprise Service Bus (ESB) – An ESB is a middleware solution that enables interoperability among heterogeneous environments using a service-oriented model. – Stateless and Seamless Integration – 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 implementation from the ASF : http://synapse.apache.orghttp://synapse.apache.org Makes up the mediation engine of WSO2 ESB Multithreaded and asynchronous message processing core Based on a number of well known open source projects (eg: Axis2, Http Core)
9
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 runtime Web based management console
10
WSO2 Carbon
15
ESB Functional Components Mediators Sequences Endpoints Proxy Services REST API Message Stores/Processors Templates Tasks Local Entries Priority Executors Registry
16
More on Functional Components Each functional component serves a specific purpose Functional components can be mixed and matched to implement various integration scenarios and patterns Configuring WSO2 ESB for a given scenario requires: – Identifying the right set of components – Putting them together in the optimal manner
17
Mediators
18
Sequences A chain of mediators Messages are sent through all the mediators in the sequence, in the order they appear
19
Endpoints A logical entity to which messages can be sent from the ESB – A service endpoint reference (EPR) – A JMS queue – A FIX session Various operational and QoS constraints can be engaged on an endpoint – SOAP version – WS-Security
20
Proxy Services A virtual service hosted in ESB
21
Configuring the ESB The task of laying out and connecting the ESB functional components Done using Synapse configuration 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
22
An Example Configuration
23
Modes of Operation WSO2 ESB supports 4 modes of operation – Message mediation (ESB as a message router) – Service mediation (Expose service endpoints on ESB) – Task scheduling (Run periodic tasks on ESB) – Eventing (ESB as an event broker) Most real world scenarios require the ESB to operate in multiple modes at the same time
24
Key Features: Routing
25
Key Features: Filtering
26
Key Features: Transformation
27
Key Features: Protocol Switching
28
Key Features: Load Balancing
29
Key Features: QoS
30
Enterprise Integration Patterns (EIP) WSO2 ESB offers comprehensive supports for all EIPs Provides a comprehensive documentation on EIP and sample scenarios on applications of EIPs using WSO2 ESB. http://docs.wso2.org/wiki/display/IntegrationPatterns/Enterprise+Integration+Patterns+ with+WSO2+ESB http://docs.wso2.org/wiki/display/IntegrationPatterns/Enterprise+Integration+Patterns+ with+WSO2+ESB
31
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
32
WSO2 ESB Also Supports… JMX based monitoring and control Statistics Collection Priority based mediation XSLT, XPath, XQuery, Smooks Caching and throttling Scripting languages JDBC Registry integration Spring Drools Clustering
33
REST API What is REST? REpresentational State Transfer An architectural Style – Not a Standard RESTful applications use HTTP requests to post data (create and/or update) read data (e.g., make queries) delete data. REST uses HTTP for all four CRUD (Create/Read/Update/Delete) operations. Eg: Twitter REST API https://dev.twitter.com/docs/api/1.1
34
REST API Motivation
35
REST API Exposing RESTful APIs An easy way to expose existing SOAP services over REST REST SOAP conversion Mainly used in WSO2 API Manager API Gateway uses Synapse is the mediation engine
36
Templates With complex business requirements, ESB config can grow bigger.. Need a way to reuse the configuration WSO2 ESB 4.0 introduces – Templates An analogy… classes vs instances
37
Message Store and Processors Store and Forward
38
Why Store and Forward? Matching Request Rates Guaranteed Delivery
39
Why Store and Forward? In-Order Delivery Separation of Concerns
40
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
41
WSO2 ESB In Action
42
High Level Architecture
43
WSO2 ESB Roadmap What’s new in 4.6.0 – Major revamping and performance enhancements – High Performance Pass-Through Transport – FAST XSLT – High Performance CBR - Streaming Xpath – Hierarchical Proxy Services Outbound REST improvements Multitenant In-Bound transports (JMS, VFS)
44
Questions
45
Thank You
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.