kasun indrasiri associate technical lead pmc, apache synapse member, integration mc wso2 inc. may...

45
Kasun Indrasiri Associate Technical PMC, Apache Synapse Member, Integration WSO2 Inc. May 2013 Introduction to WSO2 ESB

Upload: dale-ryan

Post on 23-Dec-2015

230 views

Category:

Documents


0 download

TRANSCRIPT

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

Kasun IndrasiriAssociate Technical LeadPMC, Apache SynapseMember, Integration MCWSO2 Inc.May 2013

Introduction to WSO2 ESB

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

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.

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

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/

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

Background

• Why ESB? – Spaghetti Integration Dilemma

• How about ?– maintainability, scalability, troubleshooting and governance etc.

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

Background

• Why ESB? – ESB – The standard infrastructure to implement the SOA

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

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

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

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

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

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)

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

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

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

WSO2 Carbon

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

WSO2 Carbon

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

WSO2 Carbon

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

WSO2 Carbon

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

WSO2 Carbon

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

ESB Functional Components

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

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

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

Mediators

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

Sequences

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

mediators in the sequence, in the order they appear

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

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

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

Proxy Services

• A virtual service hosted in ESB

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

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

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

An Example Configuration

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

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

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

Key Features: Routing

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

Key Features: Filtering

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

Key Features: Transformation

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

Key Features: Protocol Switching

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

Key Features: Load Balancing

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

Key Features: QoS

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

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

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

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

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

WSO2 ESB Also Supports…

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

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

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

REST API

• Motivation

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

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

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

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

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

Message Store and Processors

• Store and Forward

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

Why Store and Forward?

• Matching Request Rates

• Guaranteed Delivery

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

Why Store and Forward?

• In-Order Delivery

• Separation of Concerns

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

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

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

WSO2 ESB In Action

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

High Level Architecture

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

WSO2 ESB Roadmap

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

Questions

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

Thank You