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

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

  • Upload
    tyson

  • View
    52

  • Download
    1

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

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

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

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

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

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

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

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

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

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

WSO2 Carbon

Page 11: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

WSO2 Carbon

Page 12: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

WSO2 Carbon

Page 13: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

WSO2 Carbon

Page 14: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

WSO2 Carbon

Page 15: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

ESB Functional Components

Page 16: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

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

Mediators

Page 18: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

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

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

Proxy Services

• A virtual service hosted in ESB

Page 21: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

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

An Example Configuration

Page 23: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

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

Key Features: Routing

Page 25: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

Key Features: Filtering

Page 26: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

Key Features: Transformation

Page 27: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

Key Features: Protocol Switching

Page 28: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

Key Features: Load Balancing

Page 29: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

Key Features: QoS

Page 30: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

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

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

WSO2 ESB Also Supports…

Page 33: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

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

REST API

• Motivation

Page 35: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

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

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

Message Store and Processors

• Store and Forward

Page 38: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

Why Store and Forward?

• Matching Request Rates

• Guaranteed Delivery

Page 39: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

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

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

WSO2 ESB In Action

Page 42: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

High Level Architecture

Page 43: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

WSO2 ESB Roadmap

Page 44: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

Questions

Page 45: Kasun Indrasiri Associate Technical Lead PMC, Apache Synapse Member, Integration MC WSO2  Inc

Thank You