Better Enterprise Integration with
       the WSO2 ESB 4.5.1




                        Miyuru Wanninayaka
                        Senior Software Engineer
                        miyuru@wso2.com
WSO2 ESB is…
• A lightweight, high performance ESB
• Feature rich and standards compliant
  – SOAP and WS-* standards
  – REST support
  – Domain specific protocol support (eg: FIX)
• User friendly and highly extensible
• 100% free and open source with commercial
  support
Runtime Architecture




  API
Key Features
Routing
Service Orchestration
Traffic Filtering
Transformation
Protocol Switching
Load Balancing
QoS : Security, Throttling, Caching
New on WSO2 ESB 4.5.0
•   Based on WSO2 Carbon Platform 4
•   EJB mediator
•   Better XSLT and XPATH
•   Better JSON support
•   MSMQ transport
•   SNMP monitoring
•   Mediation libraries
•   SAP adaptor
•   Built in Multi-tenant support
•   Worker – Manager separated deployment model
WSO2 Carbon Core version 4

•   Enhanced Deployment Synchronizer
•   Deployment performance improvements
•   Management & worker node separation
•   JDK 1.7 support
•   P2 Repository: Features grouped by product
EJB Mediator
• Can call an external Enterprise JavaBean
  hosted in a app server
• Stores the result in the message payload or in
  a message context property.
• Currently supports EJB3 Stateless Session
  Beans and stateful session beans.
EJB Mediator…
                                     WSO2 ESB
                                  Proxy Service/API
                                                                    Application Server



                                        EJB
      Client                                                               EJB
                                      Mediator




<ejb beanstalk="string" class="string" [sessionId="string"] [remove="true | false"]
 [method="string"] [target="string | {xpath}"] [jndiName="string"] />
  <args>
   <arg (value="string | {xpath}")/>*
  </args>
</ejb>
Better XSLT and XPATH
• Supports XSLT 2.0
• Improved XSLT performance
  – Almost doubled in most cases
• Support XPath 2.0
  – Not enabled by default
JSON Improvements
• JSON streaming support
• Supports multi-rooted JSON
• JavaScript mediator support for JSON
{“name”:”miyuru”}
<script language="js">
  var symbol = mc.getPayloadJSON().name.toString();
  ……..
</script>
<script language="js">
  mc.setPayloadJSON({“name”:”miyuru”});
  ……..
</script>
MSMQ Transport
                    (Microsoft Message Queuing)
•http://docs.wso2.org/wiki/display/ESB450/MSMQ+Transport
•http://docs.wso2.org/wiki/display/ESB450/Sample+270%3A+Transport+switching+fr
om+HTTP+to+MSMQ+and++MSMQ+to+HTTP

• Sends/receives messages to/from MSMQ
  queue
• Connects to MSMQ using native interface
   – Only works in Windows
<endpoint>
  <address uri="msmq:DIRECT=OS:localhostprivate$msmqTest"/>
</endpoint>


<proxy name="msmqTest" transports="msmq" startOnLoad="true">
……
SNMP monitoring
• Alternative to JMX
• Exposes all JMX MBeans via SNMP
• Can be easily integrate with monitoring
  systems in data centers
  – Transport statistics
  – Service statistics
  – Endpoint statistics/status
Mediation libraries
• New extension point of WSO2 ESB
• Mediation Library is a mechanism to group
  Templates, Class mediatiors and Jar libraries
  and expose it as a self contained set of
  function modules.
• Once deployed, mediation library can be
  import and use in mediation flow
                       Mediation Library

           Sequence            Class
                                           SDK
           Templates          Mediatos
Mediation Libraries..
• Working on creating libraries for many cloud
  APIs
• Library can import to runtime using
  <import …/> configuration element
• After that call-template mediator can be used
  to invoke mediation library functions
Multi-tenant support
• Standalone products supports multi-tenant
• Seamless migration from on-premise to cloud
• No need for a fully fledged cloud setup to get
  the benefits of MT
Management & Worker Node Separation
Management & Worker Node Separation

• Proper separation of concerns - management nodes
  specialize in management of the setup while worker
  nodes specialize in serving requests to deployment
  artifacts
• Only management nodes are authorized to add new
  artifacts into the system or make configuration
  changes
• Worker nodes can only deploy artifacts & read
  configuration
• Lower memory foot in the worker nodes because the
  management console related OSGi bundles are not
  loaded
Management & Worker Node Separation …

• Worker Nodes can be added to cluster on-the-fly
  and WSO2 ELB will automatically discover and
  route traffic to new nodes.
   – Using cluster messages to discover nodes
   – Automatically detects node failures
• Improved security - management nodes can be
  behind the internal firewall & be exposed to
  clients running within the organization only, while
  worker nodes can be exposed to external clients.
Improved Deployment Synchronization
Improved Deployment Synchronization

• DepSync allows you to synchronize
  deployment artifacts across nodes in a cluster
  – Management node(s) commits artifacts to repo
  – Worker nodes checkout artifacts from repo
  – Using SVN as the repository
• Also includes meta data synchronization
• New nodes can add to cluster on-the-fly and
  artifacts will pull from repository
P2 Repository: Features grouped by
             product
Latest P2 repository : http://dist.wso2.org/p2/carbon/releases/4.0.2/
Better Enterprise Integration With the WSO2 ESB 4.5.1

Better Enterprise Integration With the WSO2 ESB 4.5.1

  • 1.
    Better Enterprise Integrationwith the WSO2 ESB 4.5.1 Miyuru Wanninayaka Senior Software Engineer miyuru@wso2.com
  • 2.
    WSO2 ESB is… •A lightweight, high performance ESB • Feature rich and standards compliant – SOAP and WS-* standards – REST support – Domain specific protocol support (eg: FIX) • User friendly and highly extensible • 100% free and open source with commercial support
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    QoS : Security,Throttling, Caching
  • 12.
    New on WSO2ESB 4.5.0 • Based on WSO2 Carbon Platform 4 • EJB mediator • Better XSLT and XPATH • Better JSON support • MSMQ transport • SNMP monitoring • Mediation libraries • SAP adaptor • Built in Multi-tenant support • Worker – Manager separated deployment model
  • 13.
    WSO2 Carbon Coreversion 4 • Enhanced Deployment Synchronizer • Deployment performance improvements • Management & worker node separation • JDK 1.7 support • P2 Repository: Features grouped by product
  • 14.
    EJB Mediator • Cancall an external Enterprise JavaBean hosted in a app server • Stores the result in the message payload or in a message context property. • Currently supports EJB3 Stateless Session Beans and stateful session beans.
  • 15.
    EJB Mediator… WSO2 ESB Proxy Service/API Application Server EJB Client EJB Mediator <ejb beanstalk="string" class="string" [sessionId="string"] [remove="true | false"] [method="string"] [target="string | {xpath}"] [jndiName="string"] /> <args> <arg (value="string | {xpath}")/>* </args> </ejb>
  • 16.
    Better XSLT andXPATH • Supports XSLT 2.0 • Improved XSLT performance – Almost doubled in most cases • Support XPath 2.0 – Not enabled by default
  • 17.
    JSON Improvements • JSONstreaming support • Supports multi-rooted JSON • JavaScript mediator support for JSON {“name”:”miyuru”} <script language="js"> var symbol = mc.getPayloadJSON().name.toString(); …….. </script> <script language="js"> mc.setPayloadJSON({“name”:”miyuru”}); …….. </script>
  • 18.
    MSMQ Transport (Microsoft Message Queuing) •http://docs.wso2.org/wiki/display/ESB450/MSMQ+Transport •http://docs.wso2.org/wiki/display/ESB450/Sample+270%3A+Transport+switching+fr om+HTTP+to+MSMQ+and++MSMQ+to+HTTP • Sends/receives messages to/from MSMQ queue • Connects to MSMQ using native interface – Only works in Windows <endpoint> <address uri="msmq:DIRECT=OS:localhostprivate$msmqTest"/> </endpoint> <proxy name="msmqTest" transports="msmq" startOnLoad="true"> ……
  • 19.
    SNMP monitoring • Alternativeto JMX • Exposes all JMX MBeans via SNMP • Can be easily integrate with monitoring systems in data centers – Transport statistics – Service statistics – Endpoint statistics/status
  • 20.
    Mediation libraries • Newextension point of WSO2 ESB • Mediation Library is a mechanism to group Templates, Class mediatiors and Jar libraries and expose it as a self contained set of function modules. • Once deployed, mediation library can be import and use in mediation flow Mediation Library Sequence Class SDK Templates Mediatos
  • 21.
    Mediation Libraries.. • Workingon creating libraries for many cloud APIs • Library can import to runtime using <import …/> configuration element • After that call-template mediator can be used to invoke mediation library functions
  • 22.
    Multi-tenant support • Standaloneproducts supports multi-tenant • Seamless migration from on-premise to cloud • No need for a fully fledged cloud setup to get the benefits of MT
  • 23.
    Management & WorkerNode Separation
  • 24.
    Management & WorkerNode Separation • Proper separation of concerns - management nodes specialize in management of the setup while worker nodes specialize in serving requests to deployment artifacts • Only management nodes are authorized to add new artifacts into the system or make configuration changes • Worker nodes can only deploy artifacts & read configuration • Lower memory foot in the worker nodes because the management console related OSGi bundles are not loaded
  • 25.
    Management & WorkerNode Separation … • Worker Nodes can be added to cluster on-the-fly and WSO2 ELB will automatically discover and route traffic to new nodes. – Using cluster messages to discover nodes – Automatically detects node failures • Improved security - management nodes can be behind the internal firewall & be exposed to clients running within the organization only, while worker nodes can be exposed to external clients.
  • 26.
  • 27.
    Improved Deployment Synchronization •DepSync allows you to synchronize deployment artifacts across nodes in a cluster – Management node(s) commits artifacts to repo – Worker nodes checkout artifacts from repo – Using SVN as the repository • Also includes meta data synchronization • New nodes can add to cluster on-the-fly and artifacts will pull from repository
  • 28.
    P2 Repository: Featuresgrouped by product Latest P2 repository : http://dist.wso2.org/p2/carbon/releases/4.0.2/