1 / 45

Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2 Inc.

Introduction to WSO2 ESB. Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2 Inc. May 2013. Background. Service Oriented Architecture (SOA)

tyson
Download Presentation

Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2 Inc.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to WSO2 ESB Kasun Indrasiri Associate Technical Lead • PMC, Apache Synapse Member, Integration MC WSO2 Inc. May 2013

  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.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

  11. WSO2 Carbon

  12. WSO2 Carbon

  13. WSO2 Carbon

  14. 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

  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? • REpresentationalState Transfer • An architectural Style – Not a Standard • RESTfulapplications 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

More Related