Webbinar slides

Post on 21-Jun-2015

186 views 1 download

Tags:

Transcript of Webbinar slides

Isuru UdanaSoftware EngineerWSO2 Inc.

Enterprise Integration with the WSO2 ESB

An Introduction to the Fundamentals

Pamod SylvesterSoftware EngineerWSO2 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

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

Role of ESB

• Why ESB? – Spaghetti Integration Dilemma

• How about ?– maintainability, scalability, troubleshooting 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 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

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

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

ESB Functional Components●Mediators

●Sequences

●Endpoints

●Proxy Services

●Tasks

●REST API

●Message Stores

and Processors

●Local Entries

●Registry

●Templates

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

Mediators

Sequences

• A chain of mediators• Messages are sent through all the

mediators in the sequence, in the order they appear

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

Proxy Services

REST API

• Exposing RESTful APIs • An easy way to expose existing 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 configuration

• WSO2 ESB 4.0 introduces – Templates

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

An Example Configuration

Developer Studio

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

Key Features: Routing

Key Features: Filtering

Key Features: Transformation

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 Action

High Level Architecture

Enterprise Integration Patterns (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+Inte

gration+Patterns+with+WSO2+ESB

Content Based Routing (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

Questions

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