Better Enterprise Integration With the WSO2 ESB 4.5.1
description
Transcript of Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration with the WSO2 ESB 4.5.1
Miyuru Wanninayaka Senior Software Engineer [email protected]
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…
Client
WSO2 ESB
Application Server
EJB
Proxy Service/API
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)
• Sends/receives messages to/from MSMQ queue
• Connects to MSMQ using native interface
– Only works in Windows
<endpoint> <address uri="msmq:DIRECT=OS:localhost\private$\msmqTest"/> </endpoint> <proxy name="msmqTest" transports="msmq" startOnLoad="true"> ……
•http://docs.wso2.org/wiki/display/ESB450/MSMQ+Transport •http://docs.wso2.org/wiki/display/ESB450/Sample+270%3A+Transport+switching+from+HTTP+to+MSMQ+and++MSMQ+to+HTTP
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
SDK Class
Mediatos SequenceTemplates
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/