It has been months since I have written a blog post. One of the main reason for that was the subject of this post. We have been working on ESB 4.9.0 release day in day out and most of the time beyond mid night. With all the efforts, we have released the most awaited ESB release. You can download the binary from the following location
http://wso2.com/products/enterprise-service-bus/
What is special about WSO2 ESB 4.9.0
WSO2 ESB has been well known for the near zero latency and the ultra performance of its mediation engine. We made this mediation engine faster and more feature rich than ever.
- Inbound Endpoints make ESB the ultimate integration engine with more dynamism.
- Coordination support for Scheduled tasks, Message Processors and Inbound endpoints make sure that you are safe unless there is at least one node up and running
- Integration with different MQ protocols has been extended with RabbitMQ, MQTT, Kafka
- Message storing capabilities has been extended with JDBC, RabbitMQ message stores in addition to JMS, In memory message stores
- Connecting to external APIs has been improved with all the 100+ connectors which are available in the connector store
- Improved the file handling capabilities with File inbound and improved FTP, SFTP support and distributed locking features with coordination
- 100+ Improvements and 600+ bug fixes
Inbound endpoints
WSO2 ESB has been supporting HTTP/S, JMS, File, Mail, RabbitMQ, SMS and many transport mechanisms from the early ages. These were the interfaces to connect with ESB. From the supported transports, only HTTP/S transports were supported in a multi tenanted environment. This has been addressed with the concept of inbound endpoints.
- All the OOTB inbound endpoints which includes HTTP/S, MQTT, HL7, Kafka, File, JMS, RabbitMQ has the multi tenant support.
- One major advantage of using an inbound endpoint over traditional axis2 transport is that, you can dynamically configure inbound endpoints without restarting the server.
- You can create different interfaces for different ports and route incoming requests to different proxy/api/sequences by applying filters
- You can configure dedicated thread pools per inbound
- Inbound framework will allow you to extend and write your own inbound implementations of type polling or listening
You can get more detailed information on following blog posts.
Coordination support
One of the major limitations with the ESB 4.8.1 and prior versions was lack of coordination support when it comes to message processors, scheduled tasks, JMS and File (VFS) use cases. In a production setup, we had to go with some tricks like pinned servers, separate listeners for separate file extensions. But with the task coordination support of the carbon framework, we have addressed all the issues which were there in the earlier versions with a more cleaner approach.
- Message processors can be deployed to the cluster of nodes and it will coordinate with other nodes and make sure that there is always a MP is running in the cluster until we have at least one node up and running. Schedule tasks will have the same behavior
- VFS (File) processing is coordinated across the cluster and there will not be file locking issues or duplicate file processing occur.
- All the inbound endpoints are written on top of the task framework and that will make sure your inbound endpoints are running all the time somewhere on the cluster without your manual interaction when one or two nodes are down
You can find more detailed description of the MSMP use cases from following blog post.
Integration with MQ protocols
Message Queueing has been a heavily used enterprise integration pattern from the beginning of the SOA world. We have extended the MQ support with improved transports and new inbound endpoints for following transports
- RabbitMQ (improved)
- MQTT (new)
- JMS (improved)
- Kafka (new)
Improved Message Storing capabilities
Given that ESB is a stateless mediation engine which will route/transform incoming messages without keeping any state, we have improved the message storing capability of the ESB with new implementations.
- JMS store (improved)
- RabbitMQ store (new)
- JDBC store (new)
In addition to the above improvements, we have introduced a guaranteed message delivery pattern with a failover message store and message processor implementation. If your original message store is not available, you can configure a secondary failover store and processor to make sure that you do not loose any message.
You can find more information on the JDBC message store implementation at below post.
https://buddhimawijeweera.wordpress.com/2015/06/06/wso2-esb-jdbc-message-store/
You can find more information on the JDBC message store implementation at below post.
https://buddhimawijeweera.wordpress.com/2015/06/06/wso2-esb-jdbc-message-store/
Connector store with 100+ connectors
With the new connector store, you can connect to external APIs provided by different organizations through WSO2 ESB connectors. There are more than 100+ connectors available for download for free and you can use without paying a dime. These connectors cover most of the enterprise level APIs like salesforce, google, amazon, github, payapl and many more. You can download and try out connectors from below URL.
Stabilizing and improvements
We have been able to make 100+ improvements to existing features while adding all the above mentioned and not mentioned new features. Also we have fixed 600+ bugs which were there in the previous versions of the ESB and made the product more stable than ever. We have updated most of the third party dependencies for their latest and greatest versions.
That's all comes to my mind at the moment and there are more exciting features in the product which I have not uncovered and kept secret for your surprise .. :)
Keep Winning !!!
This comment has been removed by the author.
ReplyDeleteHey there :)
ReplyDeleteCan you help me with this:(http://stackoverflow.com/q/38958756/1635051) it is about wso2dss and rabbitmq