SlideShare une entreprise Scribd logo
1  sur  87
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Panasas pNFS Status (September 2010)
Panasas pNFS Status (September 2010)Panasas pNFS Status (September 2010)
Panasas pNFS Status (September 2010)Panasas
 
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC clusterToward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC clusterRyousei Takano
 
bfarm-v2
bfarm-v2bfarm-v2
bfarm-v2Zeus G
 
Advanced Components on Top of L4Re
Advanced Components on Top of L4ReAdvanced Components on Top of L4Re
Advanced Components on Top of L4ReVasily Sartakov
 
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC clusterToward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC clusterRyousei Takano
 
Amd accelerated computing -ufrj
Amd   accelerated computing -ufrjAmd   accelerated computing -ufrj
Amd accelerated computing -ufrjRoberto Brandao
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ BasicPRASAD BHATKAR
 
DataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep DiveDataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep DiveMorag Hughson
 
Evaluating the networking performance of linux based home router platforms fo...
Evaluating the networking performance of linux based home router platforms fo...Evaluating the networking performance of linux based home router platforms fo...
Evaluating the networking performance of linux based home router platforms fo...Alpen-Adria-Universität
 
Messaging in the Cloud - AMQP, RabbitMQ and Spring
Messaging in the Cloud - AMQP, RabbitMQ and SpringMessaging in the Cloud - AMQP, RabbitMQ and Spring
Messaging in the Cloud - AMQP, RabbitMQ and SpringEberhard Wolff
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQRavi Yogesh
 
[Harvard CS264] 11b - Analysis-Driven Performance Optimization with CUDA (Cli...
[Harvard CS264] 11b - Analysis-Driven Performance Optimization with CUDA (Cli...[Harvard CS264] 11b - Analysis-Driven Performance Optimization with CUDA (Cli...
[Harvard CS264] 11b - Analysis-Driven Performance Optimization with CUDA (Cli...npinto
 
[Harvard CS264] 11a - Programming the Memory Hierarchy with Sequoia (Mike Bau...
[Harvard CS264] 11a - Programming the Memory Hierarchy with Sequoia (Mike Bau...[Harvard CS264] 11a - Programming the Memory Hierarchy with Sequoia (Mike Bau...
[Harvard CS264] 11a - Programming the Memory Hierarchy with Sequoia (Mike Bau...npinto
 
WebSphere Message Broker Training | IBM WebSphere Message Broker Online Training
WebSphere Message Broker Training | IBM WebSphere Message Broker Online TrainingWebSphere Message Broker Training | IBM WebSphere Message Broker Online Training
WebSphere Message Broker Training | IBM WebSphere Message Broker Online Trainingecorptraining2
 

Tendances (20)

Panasas pNFS Status (September 2010)
Panasas pNFS Status (September 2010)Panasas pNFS Status (September 2010)
Panasas pNFS Status (September 2010)
 
9P Overview
9P Overview9P Overview
9P Overview
 
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC clusterToward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
 
bfarm-v2
bfarm-v2bfarm-v2
bfarm-v2
 
VirtFS
VirtFSVirtFS
VirtFS
 
WebSphere MQ tutorial
WebSphere MQ tutorialWebSphere MQ tutorial
WebSphere MQ tutorial
 
Advanced Components on Top of L4Re
Advanced Components on Top of L4ReAdvanced Components on Top of L4Re
Advanced Components on Top of L4Re
 
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC clusterToward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
Toward a practical “HPC Cloud”: Performance tuning of a virtualized HPC cluster
 
Memory, IPC and L4Re
Memory, IPC and L4ReMemory, IPC and L4Re
Memory, IPC and L4Re
 
Amd accelerated computing -ufrj
Amd   accelerated computing -ufrjAmd   accelerated computing -ufrj
Amd accelerated computing -ufrj
 
IBM Websphere MQ Basic
IBM Websphere MQ BasicIBM Websphere MQ Basic
IBM Websphere MQ Basic
 
DataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep DiveDataPower-MQ Integration Deep Dive
DataPower-MQ Integration Deep Dive
 
Evaluating the networking performance of linux based home router platforms fo...
Evaluating the networking performance of linux based home router platforms fo...Evaluating the networking performance of linux based home router platforms fo...
Evaluating the networking performance of linux based home router platforms fo...
 
Messaging in the Cloud - AMQP, RabbitMQ and Spring
Messaging in the Cloud - AMQP, RabbitMQ and SpringMessaging in the Cloud - AMQP, RabbitMQ and Spring
Messaging in the Cloud - AMQP, RabbitMQ and Spring
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
 
Windows Server 2012 Hyper-V Networking Evolved
Windows Server 2012 Hyper-V Networking Evolved Windows Server 2012 Hyper-V Networking Evolved
Windows Server 2012 Hyper-V Networking Evolved
 
Syllable OS
Syllable OSSyllable OS
Syllable OS
 
[Harvard CS264] 11b - Analysis-Driven Performance Optimization with CUDA (Cli...
[Harvard CS264] 11b - Analysis-Driven Performance Optimization with CUDA (Cli...[Harvard CS264] 11b - Analysis-Driven Performance Optimization with CUDA (Cli...
[Harvard CS264] 11b - Analysis-Driven Performance Optimization with CUDA (Cli...
 
[Harvard CS264] 11a - Programming the Memory Hierarchy with Sequoia (Mike Bau...
[Harvard CS264] 11a - Programming the Memory Hierarchy with Sequoia (Mike Bau...[Harvard CS264] 11a - Programming the Memory Hierarchy with Sequoia (Mike Bau...
[Harvard CS264] 11a - Programming the Memory Hierarchy with Sequoia (Mike Bau...
 
WebSphere Message Broker Training | IBM WebSphere Message Broker Online Training
WebSphere Message Broker Training | IBM WebSphere Message Broker Online TrainingWebSphere Message Broker Training | IBM WebSphere Message Broker Online Training
WebSphere Message Broker Training | IBM WebSphere Message Broker Online Training
 

En vedette

FHIR - Feel the Fire - 1
FHIR - Feel the Fire - 1FHIR - Feel the Fire - 1
FHIR - Feel the Fire - 1Jayant Singh
 
How to Assess the ROI of Your Population Health Initiative
How to Assess the ROI of Your Population Health InitiativeHow to Assess the ROI of Your Population Health Initiative
How to Assess the ROI of Your Population Health InitiativeHealth Catalyst
 
Patient satisfaction
Patient satisfactionPatient satisfaction
Patient satisfactionNc Das
 
In Pursuit of the Patient Stratification Gold Standard: Getting There with He...
In Pursuit of the Patient Stratification Gold Standard: Getting There with He...In Pursuit of the Patient Stratification Gold Standard: Getting There with He...
In Pursuit of the Patient Stratification Gold Standard: Getting There with He...Health Catalyst
 
Healthcare Information Systems - Past, Present, and Future
Healthcare Information Systems - Past, Present, and FutureHealthcare Information Systems - Past, Present, and Future
Healthcare Information Systems - Past, Present, and FutureHealth Catalyst
 

En vedette (6)

FHIR Server Design Review
FHIR Server Design ReviewFHIR Server Design Review
FHIR Server Design Review
 
FHIR - Feel the Fire - 1
FHIR - Feel the Fire - 1FHIR - Feel the Fire - 1
FHIR - Feel the Fire - 1
 
How to Assess the ROI of Your Population Health Initiative
How to Assess the ROI of Your Population Health InitiativeHow to Assess the ROI of Your Population Health Initiative
How to Assess the ROI of Your Population Health Initiative
 
Patient satisfaction
Patient satisfactionPatient satisfaction
Patient satisfaction
 
In Pursuit of the Patient Stratification Gold Standard: Getting There with He...
In Pursuit of the Patient Stratification Gold Standard: Getting There with He...In Pursuit of the Patient Stratification Gold Standard: Getting There with He...
In Pursuit of the Patient Stratification Gold Standard: Getting There with He...
 
Healthcare Information Systems - Past, Present, and Future
Healthcare Information Systems - Past, Present, and FutureHealthcare Information Systems - Past, Present, and Future
Healthcare Information Systems - Past, Present, and Future
 

Similaire à Leveraging Open Source Integration with WSO2 Enterprise Service BusTITLEWSO2 ESB Features for Open Source Integration

Open Source Integration with WSO2 Enterprise Service Bus
Open Source Integration  with  WSO2 Enterprise Service BusOpen Source Integration  with  WSO2 Enterprise Service Bus
Open Source Integration with WSO2 Enterprise Service Bussumedha.r
 
WSO2 ESB Webinar 01 Sept 2009
WSO2 ESB Webinar 01 Sept 2009WSO2 ESB Webinar 01 Sept 2009
WSO2 ESB Webinar 01 Sept 2009WSO2
 
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
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slidesWSO2
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun Indrasiri
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps RevolutionYulian Slobodyan
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB WSO2
 
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
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2Afkham Azeez
 
Tungsten Fabric Overview
Tungsten Fabric OverviewTungsten Fabric Overview
Tungsten Fabric OverviewMichelle Holley
 
How the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsHow the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsWSO2
 
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure FunctionsMessaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure FunctionsJohn Staveley
 
Reference design for v mware nsx
Reference design for v mware nsxReference design for v mware nsx
Reference design for v mware nsxsolarisyougood
 

Similaire à Leveraging Open Source Integration with WSO2 Enterprise Service BusTITLEWSO2 ESB Features for Open Source Integration (20)

Open Source Integration with WSO2 Enterprise Service Bus
Open Source Integration  with  WSO2 Enterprise Service BusOpen Source Integration  with  WSO2 Enterprise Service Bus
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 2009
 
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
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
 
Riding with camel
Riding with camelRiding with camel
Riding with camel
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slides
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
IBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQIBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQ
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps Revolution
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
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
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2
 
Tungsten Fabric Overview
Tungsten Fabric OverviewTungsten Fabric Overview
Tungsten Fabric Overview
 
Mina2
Mina2Mina2
Mina2
 
How the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsHow the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendors
 
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure FunctionsMessaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
Messaging - RabbitMQ, Azure (Service Bus), Docker and Azure Functions
 
Reference design for v mware nsx
Reference design for v mware nsxReference design for v mware nsx
Reference design for v mware nsx
 

Plus de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Plus de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Dernier

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Leveraging Open Source Integration with WSO2 Enterprise Service BusTITLEWSO2 ESB Features for Open Source Integration

  • 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