Upload
wso2
View
134
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
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/