AdroitLogic Private Ltd. announced today that it is open sourcing the code of its Enterprise Service Bus the UltraESB, under the GNU Affero General Public License. The UltraESB first announced in January, becomes the first Open Source ESB to claim support for Zero-copy proxying of requests with Java Non-blocking IO and Memory Mapped files to support extreme levels of performance. AdroitLogic also released the code of a Web Services Security library 'SoapBox', that was custom built by them for use by the UltraESB, which performs about 4 times faster than solutions based on the Apache WSS4J/Rampart frameworks. This support combined with SSL, HTTP Basic/Digest and other authentication methods makes the UltraESB an ideal platform to implement a Security Gateway for hosted services.
The UltraESB supports legacy transports such as JMS, File, S/FTP, FTPS, Email (POP3/IMAP/SMTP), Database, B2B AS2 (Applicability Statement 2), MLLP/S and TCP/S in addition to HTTP/S, and handles messages in their native formats without any conversions into an intermediate format. It supports REST, EDI, SOAP 1.1/1.2, POX/XML, Hessian, JSON, Health Level 7 (HL7), Binary, Text, CSV, HTML and many other message formats. The UltraESB supports JTA XA transactions, including asynchronous suspend and resume, and can be deployed standalone or within a JEE Servlet container such as Tomcat.
"The UltraESB is a complete new ESB written from scratch. Thus we were able to improve the performance and ease of use phenomenally by using techniques such as Java 6 support for compilation, NIO and Zero-copy proxying with Memory Mapped files. We base the core engine on a very few and stable libraries, and are extremely careful about good design and coding practices" said Asankha Perera the founder of AdroitLogic. Asankha earlier contributed most of the code of the Apache Synapse ESB which formed a basis for other open source ESBs as well as Security Appliances.
The UltraESB includes a Performance Benchmarking Framework to compare its performance against other ESBs on identical conditions. More information about this framework can be found at the ESB Performance website.
The UltraESB is configured with one or more XML files that allows mediation code to be written as fragments of Java, or JSR 223 Scripting languages - such as Javascript, Groovy, Ruby etc. Mediation logic can also be written as Java classes or POJOs, without depending on any specific interfaces. This ensures that the users do not have to learn yet another programming or XML configuration language; or compile-bundle-and-deploy artifacts for configuration changes to take effect.
"The UltraESB is very easy to use. The learning curve is minimal since it's based on Java and Scripting languages. The support is great, and the performance, exceptional!" said Shalinda Ranasinghe, Chief Software Architect of ShipXPress Inc. The configuration could be performed within an IDE of the users' choice that supports intelligent context aware auto completion, and step-through debugging. The UltraESB supports JMX management and reporting with standard JMX consoles, and is about 30MB to download inclusive of many samples.
The UltraESB is available for download under the GNU Affero General Public License (AGPL); and under a Free Commercial License allowing unlimited and perpetual use. Custom paid licensing options are available for users who wish to embed the UltraESB into proprietary applications. AdroitLogic offers world-wide production support, consultancy, training, development support and custom development for the UltraESB.