SlideShare ist ein Scribd-Unternehmen logo
1 von 87
Downloaden Sie, um offline zu lesen
Leveraging Open Source Integration
              with
   WSO2 Enterprise Service Bus
                 Sumedha Rubasinghe
     2009 Air Force Information Technology Conference
                    Montgomery, Atlanta
Agenda

    The Need

    Introduction

    Features

    Important Concepts

    Extendibility

    Performance

    Use cases

    Getting started & Help
                             2
3
4
5
6
7
Busbar




         8
9
Introducing Mattson ...
                   Hi..
                   Mattson here..
                   I am an architect




                                       10
So.. What is WSO2 ESB?




                         11
WSO2 Enterprise Service Bus

    A fast,Light weight, easy-to-use Enterprise
    Service Bus product

    Open source product with commercial support
    (if required)

    Released with business friendly Apache License
    2.0

    Based on Apache Synapse

    Customizable to match the needs of your
    Enterprise
                                                  12
wait..
What is Apache Synapse?
How is it related to WSO2
ESB?




                            13
Apache Synapse & WSO2 ESB

    Leading project developed by Apache
    community

    Some of the key committers with in WSO2

    WSO2 ESB is built on top of Apache Synapse

    Synapse provides the core mediation
    capabilities

    WSO2 ESB uses Synapse's configuration
    language

                                                 14
Screenshots




              15
Screen shots




               16
Screen shots




               17
In what type of scenarios
Can I use WSO2 ESB?




                            18
Usage scenarios

    Link legacy files to messaging based systems

    Transform CSV or EDI formats to XML

    Act as a high-performance XML Gateway

    Content-based routing and creating virtual
    services

    Integrate FIX based trading systems with XML
    and non-XML backends

    Log, trace and audit live systems
                                                   19
Tell me some of the
main features of WSO2 ESB




                            20
WSO2 ESB Features

    Message Routing

    Message Transformation & Mapping

    Scheduled Tasks

    Orchestration

    Protocol Switching

    Transaction Support

    Eventing

                                       21
Message Routing

    Act as a simple Proxy




                            22
Message Routing

    Content based routing




                            23
Message Transformation & Mapping

    XSLT




                                   24
Message Transformation & Mapping

    XQuery




                                   25
Message Transformation & Mapping

    E4X




                                   26
Message Transformation & Mapping

    Support for different file formats
        – EDI
        – flat files
        – CSV
        – COBOL/Record




                                         27
Tasks

    Allow the ESB to initiate work on a timed basis

    Cron/simple interval

    Write your own tasks




                                                  28
Orchestration

    Aggregate




                29
Orchestration

    Disaggregate




                   30
Orchestration

    Callout




                31
Orchestration

    If/Then/Else




                   32
Orchestration

    BPEL Feature plug-in
      –   Adds BPS capabilities into ESB




                                           33
interesting...




                 34
Protocol Support




                   35
Protocol Support

    File, (S)FTP, HTTP(S), REST, Hessian, JSON

    SOAP

    JMS
      –    MQSeries, AMQP/ Apache Qpid,Apache
           ActiveMQ
      –    Transactional support

    Email, XMPP,FIX,TCP


                                                 36
Rule based Mediation

    Drools




                       37
Many more features ...

    Load balancing

    Fail-over handling

    Caching / Throttling

    Registry based Clustering

    WS-Reliable Messaging

    FIX

    CEP (Complex Event Processing)

    and many more....
                                     38
What if I want more?
Can I extend WSO2 ESB?




Yes.. you can..
Just write a mediator..




                          39
Mediator ..!!
what is that?




                40
Important concept - Mediator
• Basic component of ESB
• Mediates messages going through
• Core mediators
  –   Send, Drop, Log, Property
• Filter mediators
  –   Filter, Switch, Validate, Throttle, In, Out
• Transformation mediators
  –   XSLT, Header, Fault, XQuery
• Advanced mediators
  –   Clone, Cache, Aggregate, DBLookup, Callout
                                                    41
Important concept – Send Mediator
• Used to send out the messages
• Used in almost all the cases
• Wrapped an endpoint
  –   if no endpoint is specified, anonymous 'To'
      address will be taken as the EPR




                                                    42
Important concept – Sequence
• Special mediator
     –   List of mediators to be executed in an order
• Pipeline pattern
• Special sequences
     –   main
     –   fault




                                                        43
Important concept – operation modes
• Act as a proxy
• Main Sequence
      – If none of the proxy services matches the
        request pattern




                                                    44
I would like to have few
more mediator examples..




                           45
Extendibility – Java Mediator
• Class implementing the Mediator interface
  –   Or AbstractMediator class
  –   Custom mediator is executed through the
      ClassMediator in ESB
  –   Corresponding setter methods in the custom class
      will be set before executing the custom mediator
      if any properties are specified




                                                     46
Extendibility - POJOCommand
• Extends the mediation capabilities using the
  well known command pattern
      – Class implementing the Command interface or
        a POJO with a void execute() method
      – execute() method will be invoked using the
        Command interface or by using reflection
      – Sets the properties before execution and
        retrieves the properties after execution



                                                      47
Extendibility – Script Mediator
• Enables scripting for extending mediation
• Supports all the Apache BSF scripting languages
      – JRuby, Jython, Groovy, Java Script
• Embed the script inline or can be referred to a
  separate script file with the function name to
  be executed



                                                48
Extendibility – Spring Mediator
• Spring configurations to extend the mediation
• Spring bean must implement the Mediator
  interface
• Refer to the spring application context using
  the key
• The Spring bean is managed by the spring
  context at mediation time


                                                  49
Extending WSO2 ESB

    Registry as a repository
        – Loading configuration from external registry

    New Transports




                                                         50
So how does all of these fit
together?...
What happens with-in WSO2
ESB?




                               51
Architecture




               52
Runtime




          53
Deployment




             54
Performance

    Completely asynchronous architecture internally

    Streaming support for messages

    100% error free and zero memory leaks under heavy load

    Up to 4500tps out-of-the-box for proxying
      –   Intel(R) Xeon(TM) 3.20GHz 2MB Cache
      –   Dual Core - 2 CPU system
      –   2GB RAM
      –   1Gb Ethernet

    http://wso2.org/library/3740


                                                        55
Performance

    http://wso2.org/library/3740




                                   56
Non-Blocking IO
                                      Synapse
       Incoming req

                                               Request
                                    Thread1   processing           Outgoing req




                                                           Socket open
                      Socket open
TIME
TIME
TIME
TIME




                                                                   Incoming resp
                                              Response
                                    Thread2   processing
       Outgoing resp


       This model means:
       1. Synapse threads never blocked during normal processing
       2. Number of sockets open >> number of threads

                                                                                   57
Monitoring

    Monitor System statistics

    Running logs

    Message Tracing

    Dynamically configurable Logger

    Exposes statistics via JMX

    Dashboard – Google Gadgets


                                      58
I would like to see some
Use cases where all of
these are applied...




                           59
Use Case 1
• Problem
  – I want to send a notification email whenever there
    is a request to a particular service which satisfies a
    set of conditions over the request
• Solution
  – Filter the messages over the request and evaluate
    the conditions
  – If the conditions evaluate to true then clone the
    message
  – Send the request to the desired endpoint while
    forwarding a copy (may be after transformation)      60
    through the mail transport
Use Case 1




             61
Use Case 1 - configuration




                             62
Use Case 2
• Problem
  – I have a service exposed over HTTP transport and
    now I want the same service to be accessed through
    JMS
• Solution
  – Expose a proxy service with JMS (and what ever
    transport) and switch the transport to HTTP (if not
    http)
  – Invoke the actual service with HTTP transport
  – Switch the transport back to JMS of the response
    message                                               63
Use Case 2




             64
Use Case 2 - Configuration




                             65
Use Case 3
• Problem
  – I want the ESB to invoke several services of the
    same type for a request, evaluate all the responses
    and respond me with the best one
• Solution
  – Clone the message and send the requests to
    different endpoints
  – Get the responses from all services and aggregate
    the responses
  – Select the best out of the aggregated responses and
    respond to the client
                                                        66
Use Case 3




             67
Use Case 3 - Configuration




                             68
Use Case 3 - Configuration




                             69
Use Case 3 - Configuration




                             70
Use Case 3 - Configuration




                             71
Use Case 3 - Configuration




                             72
Use Case 4
• Problem
  – I have a non secure service and now I want to
    expose this service with security
• Solution
  – Expose a proxy service
  – Add security to that proxy service and specify the
    policy on which you want to enforce security
  – Invoke the actual service without security by
    removing security headers in the request comes to
    the proxy
  – Add security for responses from the actual service   73
    to client
Use Case 4




             74
Use Case 4 - Configuration




                             75
Use Case 5 - FIX to HTTP transport




http://wso2.org/library/3837
                                      76
Use Case 6 - Eventing




•http://wso2.org/library/articles/fusion-eventing-soa
•http://wso2.org/library/articles/fusion-eventing-soa-part-2-eventing-using-
synapse-wso2esb                                                                77
Use Case 7




             78
WSO2 Product Platform




                        79
That's lot of information...
Now I would like to try these out
myself. How do I get started?




                                    80
How to get started?

    Download binary distribution from
    http://wso2.org/projects/esb/java

    Latest is v2.1.0

    Unzip
• Run bin/wso2server.sh (on Unix) or
  bin/wso2server.bat (on Windows)
• Management console
        – https://localhost:9443/carbon
        – admin/admin
                                          81
Help.. I messed it up...




                           82
How to get help?

    Online forum

    Active community of external users

    Ample free documentation on wso2.org

    If needed, we provided commercial support on
        – Getting started
        – Deployment
        – Custom development
        – Production support
                                               83
I would like to have some
URLs for reference.




                            84
Useful references
   WSO2 Oxygen Tank for Web Service Developers
        – http://wso2.org

    WSO2 ESB project page
        – http://wso2.org/projects/esb

    Performance testing
        – http://wso2.org/library/3740
        – http://wso2.org/library/2259
        – http://wso2.org/library/1721

    Apache Synapse
        – http://synapse.apache.org
                                                  85
Summary

•Hypothetical Enterprise
•Brief Introduction on WSO2 ESB
•Features
•Important concepts
   – Mediators
   – Sequence
•Extendibility
•Use cases
•Getting started & Help


                                  86
Thank you
    sumedha@wso2.com
(on behalf of WSO2 ESB team)




                               87

Weitere ähnliche Inhalte

Was ist angesagt?

SOA vs Microservices vs SBA
SOA vs Microservices vs SBASOA vs Microservices vs SBA
SOA vs Microservices vs SBAMichael Sukachev
 
BizTalk Server Administration best practices
BizTalk Server Administration best practicesBizTalk Server Administration best practices
BizTalk Server Administration best practicesBizTalk360
 
Cloud computing explained
Cloud computing explained Cloud computing explained
Cloud computing explained Juan Pablo
 
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2
 
Top 10 BizTalk Admin Tips
Top 10 BizTalk Admin TipsTop 10 BizTalk Admin Tips
Top 10 BizTalk Admin TipsDaniel Toomey
 
WSO2 in Action
WSO2 in ActionWSO2 in Action
WSO2 in ActionWSO2
 
Soa design pattern
Soa design patternSoa design pattern
Soa design patternLap Doan
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3webhostingguy
 
Service Oriented Architecture Design Pattern
Service Oriented Architecture Design PatternService Oriented Architecture Design Pattern
Service Oriented Architecture Design PatternShanto Rahman
 
SOA Integration Blueprint with Oracle SOA Suite
SOA Integration Blueprint with Oracle SOA SuiteSOA Integration Blueprint with Oracle SOA Suite
SOA Integration Blueprint with Oracle SOA SuiteMatthias Furrer
 
Sql server 2017_licensing_guide
Sql server 2017_licensing_guideSql server 2017_licensing_guide
Sql server 2017_licensing_guideSantosh Kadam
 
Introduction to business process execution language
Introduction to business process execution languageIntroduction to business process execution language
Introduction to business process execution languagesuranisaunak
 
Documentum content server
Documentum content serverDocumentum content server
Documentum content serverSanjay Singh
 
EMC ECD Documentum D2
EMC ECD Documentum D2EMC ECD Documentum D2
EMC ECD Documentum D2mister_moun
 
Containerizing Your On-Premise Environment
Containerizing Your On-Premise EnvironmentContainerizing Your On-Premise Environment
Containerizing Your On-Premise EnvironmentMichael Mohen
 

Was ist angesagt? (20)

Exchange 2013
Exchange 2013Exchange 2013
Exchange 2013
 
SOA vs Microservices vs SBA
SOA vs Microservices vs SBASOA vs Microservices vs SBA
SOA vs Microservices vs SBA
 
BizTalk Server Administration best practices
BizTalk Server Administration best practicesBizTalk Server Administration best practices
BizTalk Server Administration best practices
 
SOA Summit 2014
SOA Summit 2014SOA Summit 2014
SOA Summit 2014
 
Cloud computing explained
Cloud computing explained Cloud computing explained
Cloud computing explained
 
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
 
Top 10 BizTalk Admin Tips
Top 10 BizTalk Admin TipsTop 10 BizTalk Admin Tips
Top 10 BizTalk Admin Tips
 
BizTalk Server- Schema
BizTalk Server-  SchemaBizTalk Server-  Schema
BizTalk Server- Schema
 
WSO2 in Action
WSO2 in ActionWSO2 in Action
WSO2 in Action
 
Soa design pattern
Soa design patternSoa design pattern
Soa design pattern
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3
 
Service Oriented Architecture Design Pattern
Service Oriented Architecture Design PatternService Oriented Architecture Design Pattern
Service Oriented Architecture Design Pattern
 
SOA Integration Blueprint with Oracle SOA Suite
SOA Integration Blueprint with Oracle SOA SuiteSOA Integration Blueprint with Oracle SOA Suite
SOA Integration Blueprint with Oracle SOA Suite
 
Sql server 2017_licensing_guide
Sql server 2017_licensing_guideSql server 2017_licensing_guide
Sql server 2017_licensing_guide
 
Introduction to business process execution language
Introduction to business process execution languageIntroduction to business process execution language
Introduction to business process execution language
 
Documentum content server
Documentum content serverDocumentum content server
Documentum content server
 
EMC ECD Documentum D2
EMC ECD Documentum D2EMC ECD Documentum D2
EMC ECD Documentum D2
 
Containerizing Your On-Premise Environment
Containerizing Your On-Premise EnvironmentContainerizing Your On-Premise Environment
Containerizing Your On-Premise Environment
 
Principles of Service Orientation
Principles of Service OrientationPrinciples of Service Orientation
Principles of Service Orientation
 
M.Daud-UAE-Final
M.Daud-UAE-FinalM.Daud-UAE-Final
M.Daud-UAE-Final
 

Andere mochten auch

WSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformWSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformAfkham Azeez
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...WSO2
 
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industry
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industryCombining WSO2 API Manager with WSO2 BAM for billing in the energy industry
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industryWSO2
 
Introducing The WSO2 Platform
Introducing The WSO2 Platform Introducing The WSO2 Platform
Introducing The WSO2 Platform WSO2
 
Microservices Server - MSS Workshop
Microservices Server - MSS WorkshopMicroservices Server - MSS Workshop
Microservices Server - MSS WorkshopWSO2
 
Learn with WSO2 - API Security
Learn with WSO2 - API Security Learn with WSO2 - API Security
Learn with WSO2 - API Security WSO2
 
Application Development with API Manager
Application Development with API ManagerApplication Development with API Manager
Application Development with API ManagerWSO2
 
Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Sagara Gunathunga
 
Artsofte облегченная веб шина данных для организации дистанционных каналов пр...
Artsofte облегченная веб шина данных для организации дистанционных каналов пр...Artsofte облегченная веб шина данных для организации дистанционных каналов пр...
Artsofte облегченная веб шина данных для организации дистанционных каналов пр...Artsofte IT company
 
WSO2 Platform Overview - WSO2 Meetup 01 - 16th Oct 2014
WSO2 Platform Overview - WSO2 Meetup 01 - 16th Oct 2014WSO2 Platform Overview - WSO2 Meetup 01 - 16th Oct 2014
WSO2 Platform Overview - WSO2 Meetup 01 - 16th Oct 2014Selvaratnam Uthaiyashankar
 
Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0
Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0
Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0Afkham Azeez
 
Extended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management PlatformExtended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management PlatformWSO2
 
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...WSO2
 
Управление идентификационными данными и доступом
Управление идентификационными данными и доступомУправление идентификационными данными и доступом
Управление идентификационными данными и доступомКРОК
 
Understanding the WSO2 Platform
Understanding the WSO2 PlatformUnderstanding the WSO2 Platform
Understanding the WSO2 PlatformWSO2
 
Easy REST APIs with Jersey and RestyGWT
Easy REST APIs with Jersey and RestyGWTEasy REST APIs with Jersey and RestyGWT
Easy REST APIs with Jersey and RestyGWTDavid Chandler
 
Необходимые условия качества данных: MDM, Шина, Хранилище данных
Необходимые условия качества данных: MDM, Шина, Хранилище данныхНеобходимые условия качества данных: MDM, Шина, Хранилище данных
Необходимые условия качества данных: MDM, Шина, Хранилище данныхКРОК
 
837 preparation for testing
837 preparation for testing837 preparation for testing
837 preparation for testinghaigvk
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)WSO2
 

Andere mochten auch (20)

WSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformWSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
 
WSO2-WSF-install-manual-linux-th
WSO2-WSF-install-manual-linux-thWSO2-WSF-install-manual-linux-th
WSO2-WSF-install-manual-linux-th
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
 
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industry
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industryCombining WSO2 API Manager with WSO2 BAM for billing in the energy industry
Combining WSO2 API Manager with WSO2 BAM for billing in the energy industry
 
Introducing The WSO2 Platform
Introducing The WSO2 Platform Introducing The WSO2 Platform
Introducing The WSO2 Platform
 
Microservices Server - MSS Workshop
Microservices Server - MSS WorkshopMicroservices Server - MSS Workshop
Microservices Server - MSS Workshop
 
Learn with WSO2 - API Security
Learn with WSO2 - API Security Learn with WSO2 - API Security
Learn with WSO2 - API Security
 
Application Development with API Manager
Application Development with API ManagerApplication Development with API Manager
Application Development with API Manager
 
Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016 Understanding Microservice Architecture WSO2Con Asia 2016
Understanding Microservice Architecture WSO2Con Asia 2016
 
Artsofte облегченная веб шина данных для организации дистанционных каналов пр...
Artsofte облегченная веб шина данных для организации дистанционных каналов пр...Artsofte облегченная веб шина данных для организации дистанционных каналов пр...
Artsofte облегченная веб шина данных для организации дистанционных каналов пр...
 
WSO2 Platform Overview - WSO2 Meetup 01 - 16th Oct 2014
WSO2 Platform Overview - WSO2 Meetup 01 - 16th Oct 2014WSO2 Platform Overview - WSO2 Meetup 01 - 16th Oct 2014
WSO2 Platform Overview - WSO2 Meetup 01 - 16th Oct 2014
 
Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0
Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0
Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0
 
Extended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management PlatformExtended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management Platform
 
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
 
Управление идентификационными данными и доступом
Управление идентификационными данными и доступомУправление идентификационными данными и доступом
Управление идентификационными данными и доступом
 
Understanding the WSO2 Platform
Understanding the WSO2 PlatformUnderstanding the WSO2 Platform
Understanding the WSO2 Platform
 
Easy REST APIs with Jersey and RestyGWT
Easy REST APIs with Jersey and RestyGWTEasy REST APIs with Jersey and RestyGWT
Easy REST APIs with Jersey and RestyGWT
 
Необходимые условия качества данных: MDM, Шина, Хранилище данных
Необходимые условия качества данных: MDM, Шина, Хранилище данныхНеобходимые условия качества данных: MDM, Шина, Хранилище данных
Необходимые условия качества данных: MDM, Шина, Хранилище данных
 
837 preparation for testing
837 preparation for testing837 preparation for testing
837 preparation for testing
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
 

Ähnlich wie Open Source Integration with WSO2 Enterprise Service Bus

WSO2 ESB Webinar 01 Sept 2009
WSO2 ESB Webinar 01 Sept 2009WSO2 ESB Webinar 01 Sept 2009
WSO2 ESB Webinar 01 Sept 2009WSO2
 
Leveraging Open Source Integration with WSO2 Enterprise Service Bus
Leveraging Open Source Integration with WSO2 Enterprise Service BusLeveraging Open Source Integration with WSO2 Enterprise Service Bus
Leveraging Open Source Integration with WSO2 Enterprise Service BusWSO2
 
TS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in PracticeTS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in Practiceaegloff
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on RailsJonathan Weiss
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows AzureDamir Dobric
 
Messaging With ActiveMQ
Messaging With ActiveMQMessaging With ActiveMQ
Messaging With ActiveMQBruce Snyder
 
Scaling the Container Dataplane
Scaling the Container Dataplane Scaling the Container Dataplane
Scaling the Container Dataplane Michelle Holley
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2
 
Bridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized EnvironmentBridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized EnvironmentAndy Lee
 
Os Madsen Block
Os Madsen BlockOs Madsen Block
Os Madsen Blockoscon2007
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
JUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
JUDCon London 2011 - Elastic SOA on the Cloud, Steve MillidgeJUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
JUDCon London 2011 - Elastic SOA on the Cloud, Steve MillidgeC2B2 Consulting
 
Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?OPNFV
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupJorge Bonilla
 
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...rhatr
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1WSO2
 
PHP Performance with APC + Memcached
PHP Performance with APC + MemcachedPHP Performance with APC + Memcached
PHP Performance with APC + MemcachedFord AntiTrust
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps RevolutionYulian Slobodyan
 
AP4R on RubyConf2007
AP4R on RubyConf2007AP4R on RubyConf2007
AP4R on RubyConf2007Kato Kiwamu
 

Ähnlich wie Open Source Integration with WSO2 Enterprise Service Bus (20)

WSO2 ESB Webinar 01 Sept 2009
WSO2 ESB Webinar 01 Sept 2009WSO2 ESB Webinar 01 Sept 2009
WSO2 ESB Webinar 01 Sept 2009
 
Leveraging Open Source Integration with WSO2 Enterprise Service Bus
Leveraging Open Source Integration with WSO2 Enterprise Service BusLeveraging Open Source Integration with WSO2 Enterprise Service Bus
Leveraging Open Source Integration with WSO2 Enterprise Service Bus
 
TS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in PracticeTS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in Practice
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on Rails
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows Azure
 
Messaging With ActiveMQ
Messaging With ActiveMQMessaging With ActiveMQ
Messaging With ActiveMQ
 
Scaling the Container Dataplane
Scaling the Container Dataplane Scaling the Container Dataplane
Scaling the Container Dataplane
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product Overview
 
Bridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized EnvironmentBridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized Environment
 
Os Madsen Block
Os Madsen BlockOs Madsen Block
Os Madsen Block
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
JUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
JUDCon London 2011 - Elastic SOA on the Cloud, Steve MillidgeJUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
JUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
 
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir DžaferovićJavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
 
Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
 
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
You Call that Micro, Mr. Docker? How OSv and Unikernels Help Micro-services S...
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1
 
PHP Performance with APC + Memcached
PHP Performance with APC + MemcachedPHP Performance with APC + Memcached
PHP Performance with APC + Memcached
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps Revolution
 
AP4R on RubyConf2007
AP4R on RubyConf2007AP4R on RubyConf2007
AP4R on RubyConf2007
 

Kürzlich hochgeladen

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Kürzlich hochgeladen (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Open Source Integration with WSO2 Enterprise Service Bus

  • 1. Leveraging Open Source Integration with WSO2 Enterprise Service Bus Sumedha Rubasinghe 2009 Air Force Information Technology Conference Montgomery, Atlanta
  • 2. Agenda  The Need  Introduction  Features  Important Concepts  Extendibility  Performance  Use cases  Getting started & Help 2
  • 3. 3
  • 4. 4
  • 5. 5
  • 6. 6
  • 7. 7
  • 8. Busbar 8
  • 9. 9
  • 10. Introducing Mattson ... Hi.. Mattson here.. I am an architect 10
  • 11. So.. What is WSO2 ESB? 11
  • 12. WSO2 Enterprise Service Bus  A fast,Light weight, easy-to-use Enterprise Service Bus product  Open source product with commercial support (if required)  Released with business friendly Apache License 2.0  Based on Apache Synapse  Customizable to match the needs of your Enterprise 12
  • 13. wait.. What is Apache Synapse? How is it related to WSO2 ESB? 13
  • 14. Apache Synapse & WSO2 ESB  Leading project developed by Apache community  Some of the key committers with in WSO2  WSO2 ESB is built on top of Apache Synapse  Synapse provides the core mediation capabilities  WSO2 ESB uses Synapse's configuration language 14
  • 18. In what type of scenarios Can I use WSO2 ESB? 18
  • 19. Usage scenarios  Link legacy files to messaging based systems  Transform CSV or EDI formats to XML  Act as a high-performance XML Gateway  Content-based routing and creating virtual services  Integrate FIX based trading systems with XML and non-XML backends  Log, trace and audit live systems 19
  • 20. Tell me some of the main features of WSO2 ESB 20
  • 21. WSO2 ESB Features  Message Routing  Message Transformation & Mapping  Scheduled Tasks  Orchestration  Protocol Switching  Transaction Support  Eventing 21
  • 22. Message Routing  Act as a simple Proxy 22
  • 23. Message Routing  Content based routing 23
  • 24. Message Transformation & Mapping  XSLT 24
  • 25. Message Transformation & Mapping  XQuery 25
  • 26. Message Transformation & Mapping  E4X 26
  • 27. Message Transformation & Mapping  Support for different file formats – EDI – flat files – CSV – COBOL/Record 27
  • 28. Tasks  Allow the ESB to initiate work on a timed basis  Cron/simple interval  Write your own tasks 28
  • 29. Orchestration  Aggregate 29
  • 30. Orchestration  Disaggregate 30
  • 31. Orchestration  Callout 31
  • 32. Orchestration  If/Then/Else 32
  • 33. Orchestration  BPEL Feature plug-in – Adds BPS capabilities into ESB 33
  • 36. Protocol Support  File, (S)FTP, HTTP(S), REST, Hessian, JSON  SOAP  JMS – MQSeries, AMQP/ Apache Qpid,Apache ActiveMQ – Transactional support  Email, XMPP,FIX,TCP 36
  • 38. Many more features ...  Load balancing  Fail-over handling  Caching / Throttling  Registry based Clustering  WS-Reliable Messaging  FIX  CEP (Complex Event Processing)  and many more.... 38
  • 39. What if I want more? Can I extend WSO2 ESB? Yes.. you can.. Just write a mediator.. 39
  • 41. Important concept - Mediator • Basic component of ESB • Mediates messages going through • Core mediators – Send, Drop, Log, Property • Filter mediators – Filter, Switch, Validate, Throttle, In, Out • Transformation mediators – XSLT, Header, Fault, XQuery • Advanced mediators – Clone, Cache, Aggregate, DBLookup, Callout 41
  • 42. Important concept – Send Mediator • Used to send out the messages • Used in almost all the cases • Wrapped an endpoint – if no endpoint is specified, anonymous 'To' address will be taken as the EPR 42
  • 43. Important concept – Sequence • Special mediator – List of mediators to be executed in an order • Pipeline pattern • Special sequences – main – fault 43
  • 44. Important concept – operation modes • Act as a proxy • Main Sequence – If none of the proxy services matches the request pattern 44
  • 45. I would like to have few more mediator examples.. 45
  • 46. Extendibility – Java Mediator • Class implementing the Mediator interface – Or AbstractMediator class – Custom mediator is executed through the ClassMediator in ESB – Corresponding setter methods in the custom class will be set before executing the custom mediator if any properties are specified 46
  • 47. Extendibility - POJOCommand • Extends the mediation capabilities using the well known command pattern – Class implementing the Command interface or a POJO with a void execute() method – execute() method will be invoked using the Command interface or by using reflection – Sets the properties before execution and retrieves the properties after execution 47
  • 48. Extendibility – Script Mediator • Enables scripting for extending mediation • Supports all the Apache BSF scripting languages – JRuby, Jython, Groovy, Java Script • Embed the script inline or can be referred to a separate script file with the function name to be executed 48
  • 49. Extendibility – Spring Mediator • Spring configurations to extend the mediation • Spring bean must implement the Mediator interface • Refer to the spring application context using the key • The Spring bean is managed by the spring context at mediation time 49
  • 50. Extending WSO2 ESB  Registry as a repository – Loading configuration from external registry  New Transports 50
  • 51. So how does all of these fit together?... What happens with-in WSO2 ESB? 51
  • 53. Runtime 53
  • 55. Performance  Completely asynchronous architecture internally  Streaming support for messages  100% error free and zero memory leaks under heavy load  Up to 4500tps out-of-the-box for proxying – Intel(R) Xeon(TM) 3.20GHz 2MB Cache – Dual Core - 2 CPU system – 2GB RAM – 1Gb Ethernet  http://wso2.org/library/3740 55
  • 56. Performance  http://wso2.org/library/3740 56
  • 57. Non-Blocking IO Synapse Incoming req Request Thread1 processing Outgoing req Socket open Socket open TIME TIME TIME TIME Incoming resp Response Thread2 processing Outgoing resp This model means: 1. Synapse threads never blocked during normal processing 2. Number of sockets open >> number of threads 57
  • 58. Monitoring  Monitor System statistics  Running logs  Message Tracing  Dynamically configurable Logger  Exposes statistics via JMX  Dashboard – Google Gadgets 58
  • 59. I would like to see some Use cases where all of these are applied... 59
  • 60. Use Case 1 • Problem – I want to send a notification email whenever there is a request to a particular service which satisfies a set of conditions over the request • Solution – Filter the messages over the request and evaluate the conditions – If the conditions evaluate to true then clone the message – Send the request to the desired endpoint while forwarding a copy (may be after transformation) 60 through the mail transport
  • 62. Use Case 1 - configuration 62
  • 63. Use Case 2 • Problem – I have a service exposed over HTTP transport and now I want the same service to be accessed through JMS • Solution – Expose a proxy service with JMS (and what ever transport) and switch the transport to HTTP (if not http) – Invoke the actual service with HTTP transport – Switch the transport back to JMS of the response message 63
  • 65. Use Case 2 - Configuration 65
  • 66. Use Case 3 • Problem – I want the ESB to invoke several services of the same type for a request, evaluate all the responses and respond me with the best one • Solution – Clone the message and send the requests to different endpoints – Get the responses from all services and aggregate the responses – Select the best out of the aggregated responses and respond to the client 66
  • 68. Use Case 3 - Configuration 68
  • 69. Use Case 3 - Configuration 69
  • 70. Use Case 3 - Configuration 70
  • 71. Use Case 3 - Configuration 71
  • 72. Use Case 3 - Configuration 72
  • 73. Use Case 4 • Problem – I have a non secure service and now I want to expose this service with security • Solution – Expose a proxy service – Add security to that proxy service and specify the policy on which you want to enforce security – Invoke the actual service without security by removing security headers in the request comes to the proxy – Add security for responses from the actual service 73 to client
  • 75. Use Case 4 - Configuration 75
  • 76. Use Case 5 - FIX to HTTP transport http://wso2.org/library/3837 76
  • 77. Use Case 6 - Eventing •http://wso2.org/library/articles/fusion-eventing-soa •http://wso2.org/library/articles/fusion-eventing-soa-part-2-eventing-using- synapse-wso2esb 77
  • 80. That's lot of information... Now I would like to try these out myself. How do I get started? 80
  • 81. How to get started?  Download binary distribution from http://wso2.org/projects/esb/java  Latest is v2.1.0  Unzip • Run bin/wso2server.sh (on Unix) or bin/wso2server.bat (on Windows) • Management console – https://localhost:9443/carbon – admin/admin 81
  • 82. Help.. I messed it up... 82
  • 83. How to get help?  Online forum  Active community of external users  Ample free documentation on wso2.org  If needed, we provided commercial support on – Getting started – Deployment – Custom development – Production support 83
  • 84. I would like to have some URLs for reference. 84
  • 85. Useful references  WSO2 Oxygen Tank for Web Service Developers – http://wso2.org  WSO2 ESB project page – http://wso2.org/projects/esb  Performance testing – http://wso2.org/library/3740 – http://wso2.org/library/2259 – http://wso2.org/library/1721  Apache Synapse – http://synapse.apache.org 85
  • 86. Summary •Hypothetical Enterprise •Brief Introduction on WSO2 ESB •Features •Important concepts – Mediators – Sequence •Extendibility •Use cases •Getting started & Help 86
  • 87. Thank you sumedha@wso2.com (on behalf of WSO2 ESB team) 87