Upload
wso2
View
3.222
Download
6
Embed Size (px)
DESCRIPTION
Citation preview
Isuru Udana So#ware Engineer WSO2 Inc.
Enterprise Integra0on with the WSO2 ESB
An Introduc0on to the Fundamentals
Pamod Sylvester So#ware Engineer 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
• SOA and the role of ESBs. • WSO2 ESB features and applicability. • Benefits of using an ESB. • High level architecture of the WSO2 ESB. • Enterprise Integration Patterns (EIP) . • Implimentation of EIPs using the WSO2 ESB.
Agenda
• 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 so#ware architecture that is modular, distributed and loosely coupled.
– ComponenIzaIon – The main driver of SOA – Business FuncIonaliIes are implemented in different Business Components
– Business Components provide their funcIonality to its consumers as a ‘Service’ with the well-‐defined service interfaces.
Service Oriented Architecture (SOA)
Role of ESB
• 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 combinaIon
– Integra0on • OrganizaIons move away from monolithic systems • MulIple Systems connected via SOA as the blue print
Source : http://bonfirehealth.com/week-13-insights-spark-integration/
Role of ESB
• Why ESB? – SpagheF Integra0on Dilemma
• How about ? – maintainability, scalability, troubleshooIng and governance etc.
Role of ESB
• Why ESB? – ESB – The standard infrastructure to implement the SOA
Role of ESB
• Enterprise Service Bus (ESB) – An ESB is a middleware soluIon that enables interoperability among heterogeneous environments using a service-‐oriented model.
– Stateless and Seamless IntegraIon – 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 implementaIon from the
ASF : hfp://synapse.apache.org
• Makes up the mediaIon engine of WSO2 ESB
• MulIthreaded and asynchronous message processing core
• Based on a number of well known open source projects (eg:
Axis2, Hfp Core)
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 runIme
• Web based management console
ESB Func0onal Components ● Mediators
● Sequences
● Endpoints
● Proxy Services
● Tasks
● REST API
● Message Stores
and Processors
● Local Entries
● Registry
● Templates
More on Func0onal Components
• Each funcIonal component serves a specific purpose • FuncIonal components can be mixed and matched to implement various integraIon scenarios and paferns
• Configuring WSO2 ESB for a given scenario requires: – IdenIfying the right set of components – Puing them together in the opImal manner
Mediators
Sequences
• A chain of mediators • Messages are sent through all the
mediators in the sequence, in the order they appear
Endpoints
• A logical enIty to which messages can be sent from the ESB – A service endpoint reference (EPR) – A JMS queue – A FIX session
• Various operaIonal and QoS constraints can be engaged on an endpoint – SOAP version – WS-‐Security
Proxy Services
REST API
• Exposing RESTful APIs • An easy way to expose exisIng SOAP services over REST
• REST à SOAP conversion
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
Why Store and Forward?
• Matching Request Rates
• Guaranteed Delivery
Templates
• With complex business requirements, ESB config can grow bigger..
• Need a way to reuse the configuraIon • WSO2 ESB 4.0 introduces – Templates
Configuring the ESB
• The task of laying out and connecIng the ESB funcIonal components
• Done using Synapse configuraIon 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
An Example Configura0on
Developer Studio
Modes of Opera0on
• WSO2 ESB supports 4 modes of operaIon – Message mediaIon (ESB as a message router)
– Service mediaIon (Expose service endpoints on ESB)
– Task scheduling (Run periodic tasks on ESB)
– EvenIng (ESB as an event broker) • Most real world scenarios require the ESB to operate in mulIple modes at the same Ime
Key Features: Rou0ng
Key Features: Filtering
Key Features: Transforma0on
Key Features: Protocol Switching
Key Features: Load Balancing
Key Features: QoS
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
WSO2 ESB Also Supports…
WSO2 ESB In Ac0on
High Level Architecture
Enterprise Integra0on PaXerns (EIP) • Enterprise functionalities are decomposed and
exposed as services.
• Maintaining solid integration among services is
apparent.
• There are different modes of integration
• EIPs provide standardized architectural solutions for
integration needs
• Refer : http://www.eaipatterns.com/ for pattern
definitions
WSO2 ESB EIP Support
•
Visit : http://docs.wso2.org/wiki/display/IntegrationPatterns/
Enterprise+Integration+Patterns+with+WSO2+ESB
Content Based Rou0ng (CBR)
Bar Service
Foo Service Foo
Request
Bar Request
CBR Proxy
Guaranteed Delivery
Stock Holder Request
WSO2 ESB
Stock Holder Inventory
Status :Off-line
Message Store
Stock Holder Inventory
Status :On line Message Processor
Ques0ons
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
Thank You