AdroitLogic Private Ltd. announced today the release v1.6.0 of its free and open source Enterprise Service Bus, the UltraESB. The UltraESB is released under the OSI approved GNU Affero General Public License; as well as a zero-dollar non-GPL commercial license which allows unlimited and perpetual production use free of charge. First released in January 2010, the UltraESB was the first ESB to utilize memory mapped files and zero-copy, coupled with non-blocking IO to provide extreme levels of performance
Version v1.6.0 released today offers support for updating the configuration running on an instance, or across multiple nodes in a cluster with zero-down time. This feature will allow updates to be applied without de-stabilizing the balance of HTTP/S connections across a cluster with a hardware load balancer in front. Typical re-cycling of a node will make connections fail-over to other nodes from a HW load balancer, and sometimes may contribute to performance issues or lost messages. The feature may be invoked from the JMX based command line utility UTerm, or the web based console UConsole by connecting to any one instance of a cluster. The clustering implementation then propagates the command and collects back the status for reporting on the outcome. Any messages in-flight during an update will not see the configuration change or any inconsistencies, and only new requests will start to see the updated configuration until all in-flight messages completes.
The ability to 'pin' Proxy Services allows a service to be executed only on one or more named nodes across a cluster running an identical configuration. This allows for file system, S/FTP or Database based Proxy Services to ensure that only one instance would run across a cluster at any given time. If the pinned server fails for some reason, the cluster will automatically detect the failed node, and one or more other nodes will 'start acting' as the failed node - and taking over any pinned services. When a failed node returns, the 'acting' server hands over the pinned service back to the original instance. This feature too maybe invoked via the JMX based command line tool UConsole to perform a managed take-over of a server for maintenance etc.
The new release also includes a 'minimal' UltraESB distribution optimized for production deployments which is just 6.5MB in size. This distribution excludes all optional libraries, samples and documentation. A further enhanced version of Connection Debugging now prints even more details when HTTP/S connections fails. A full walk-thorough of a failed connection will be output into the logs along with relevant HTTP headers to facilitate root cause analysis for faults.
The web based management console - UConsole has been re-themed to provide an enhanced user experience. Other improvements include reporting improvements to Zabbix for monitoring and AS2 API improvements. The v1.6.0 release is approximately ~37MB in size and includes over 70 samples, test utilities and documentation etc to get started quickly. The release can be downloaded from http://adroitlogic.org