A review of Open source EAI solutions written in Java, primarily Message Oriented Middleware (i.e. MOM) brokers that perform routing, brokering and transformations. For ETL functionality see “Open Source ETL“. Here’s the list:
- Proteus – Proteus is a framework for creating messaging applications, and a message broker built upon that framework. Proteus has adapters that allow databases, message queues, ftp servers, email and other message sources and sinks to be addressed in a simple, uniform fashion. (GPL)
- OpenEAI – The purpose of the OpenEAI Project is to discover and document the controlling dynamics, principles, and practices of enterprise application integration and to present, implement, and promote those findings. The OpenEAI Project presents findings in the form of the OpenEAI methodology and OpenEAI software for implementing integrations. (LGPL)
- XMLBlaster – XmlBlaster is a publish/subscribe and point to point MOM server which exchanges messages between publishers and subscribers. The message is described with XML-encoded meta information. Messages may contain everything, GIF images, Java objects, Python scripts, XML data, a word document, plain text. Communication with the server is based on CORBA (using JacORB) or RMI or XmlRpc, clients are free to choose their preferred protocol. Other protocols like email, socket or SOAP may be plugged in. (LGPL)
- OpenQueue – OpenQueue is an open protocol for publish-and-subscribe message queuing. This enables language-independent, loosely-coupled, asynchronous communications between applications running on different machines.
- Elemenope -elemenope llows one to easily create a large scale multi-platform application to do messaging or transaction processing. It abstracts away all of the connectivity issues when dealing with or designing such a project. It uses Java Message Service [JMS] for messaging, and currently utilizes IBM MQSeries [WebSphereMQ] for a Message Oriented Middleware [MOM]. It also has built-in mainframe connectivity classes for use when connecting to a mainframe running IBM MQSeries with the IMS Adapter or IMS Bridge. elemenopexe2x84xa2 has been in development for over three years. It and some of its precursors are currently in production use within several companies large and small. (GPL)
- MessageForge – The framework was conceived and created during the development of an online trading system for a major bank on Wall Street. The project made heavy use of TIBCO/RV. Features include transparent message definitions, automatic generation of JAVA classes from XML definitions, a type-safe messaging JAVA API, run-time message validation, services to marshal/unmarshal messages, uniform message definitions across all tiers and high performance. (BSD)
- SolAce – Secure Transport of Transactions across any network. Reliable delivery, tamperproof and encrypted messages, and signed receipts proving message delivery to the originator of the message. Never lose an e-mail message or FTP transaction again. Integrates seamlessly with almost all FTP servers, EDI gateways, and claims adjudication systems. Transports any type of file securely and reliably, not limited to HIPAA or EDI transactions. Secure (SSL) web-based administration and remote mailbox access. Security features to foil hacker reconnaissance and attacks. (GPL)
- jEngine – JEngine uses JBossxe2x80x99 core for database persistence, transaction support, messaging and
integration of components based on Java Management Extensions (JMX) specification.
JEnginexe2x80x99s JMX components currently include TCP/IP HL7 2.x client and server components.
Due to the adoption of the HL7 2.x standard within healthcare organizations and the singular
focus of the HL7 organization on the interface requirements of the entire health care industry,
these components were the first to be developed. Internal JEngine messaging uses the Java Message Service (JMS), which provides a reliable
means for the asynchronous exchange of data within the healthcare enterprise. The JEngine core utilizes standards-based XML/XSLT transformations for message structure
- S-integrator – A service-oriented integration server that hosts Service Stores which authorize, monitor, manage and run services while making them available through web services, HTTP and other protocols. Included listeners and inbound adapters support address banning, content filtering and a virus detection filter. Included outbound adapters integrate databases, mainframes (APPC), web servers, FTP, mail and other technologies. Administration is performed using a web browser or cell phone that accesses the embedded web server. Service Flows provide process automation and hot deployment is supported. S-integrator is single-source, small footprint and only requires JRE 1.2 and a database with JDBC driver.
- Mule – Mule is a simple yet robust and highly scalable component broker and services framework. Mule is a light-weight, event-driven component technology; it is highly scalable, using ideas from SEDA; designed around the ESB (Enterprise Service Bus); components managed by mule can be Beans, EJBs, IoC3 compatible components, Servlets, POJOs, etc; Mule builds on existing best-of-breed lightweight containers and gives you the option to pick an choose which framework components you wish to use and connectors for JMS, HTTP, TCP, SMTP, POP3, FILE, XML-RPC and VM.
- JyRetic – Retic was initially developped in Python, but an EAI server means a connectivity with as many protocols and products as possible. Python, lacks connectivity with databases and MOMs. That is why Retic was translated to Jython : JyRetic, giving it JDBC and JMS connectivity. The Java Service Wrapper from Tanuki Software is now used to control JyRetic.
- OSMQ – Open Source Message Queue (OSMQ)TM is an advanced, pure Java, asynchronous message router, message broker and message middleware framework developed by MQue Systems. OSMQ was designed for high performance, high reliability, and ease of use, with an interface that is less complex than JMS. OSMQ supports a publish-subscribe and point-to-point message architecture, employing a queue-based store-and-forward model of message distribution.
- 1060 NetKernel – NetKernel is an XML Application Server built on a Microkernel with a functionality set including Web-service SOAP1.1, SOAP1.2 and REST infrastructure, XML language runtimes, powerful libraries of XML technologies, developer tools, documentation and a web management interface.
- InfoNatural ESB – Fully distributed state (no central registry), dynamic discovery and transport independent. Transport mechanism can be defined on a Service-by-Service basis and is completely transparent to the Service consumer. Services can be plain Java objects with no API-dependencies whatsoever. Services dynamically describe themselves with WSDL and
dynamically become available as SOAP-services to non-Java Service Consumers. Support for JMS, JVM, RMI and HTTP transport between Service consumers and Services. The ESB can be deployed both in and outside of a J2EE container.
- Jitterbit – An open source integration tool that delivers a quick and simple way to design, configure, test and deploy integration solutions. It supports most major document types and protocols. It is available for both Linux or Windows and seems to have an active community involved in its development. It also claims to require zero additional development time or coding.
- OpenSyncro – OpenSyncro is a lightweight, open source enterprise application integration (EAI) tool. It runs on the Apache Tomcat application server and has a web browser interface for setting up and maintaining component based integration processes. Its features include built-in data converters from CSV tables and other text based data formats to XML, support for XSL transformations (XSLT), accessing files on FTP servers, and Web Services connectors to Smilehouse Workspace for data import/export. OpenSyncro can be extended with components for connecting to ERP/CRM systems such as the SAP Business One and HansaWorld. Third party Connector Packs are available for integrations with QuickBooks, online market places such as Google Base and eBay, and enterprise applications with support for Finvoice XML format.
- ServiceMix – Apache ServiceMix is an open source distributed Enterprise Service Bus (ESB) and SOA toolkit built from the ground up on the semantics and APIs of the Java Business Integration (JBI) specification JSR 208 and released under the Apache license. ServiceMix is lightweight and easily embeddable, has integrated Spring support and can be run at the edge of the network (inside a client or server), as a standalone ESB provider or as a service within another ESB. You can use ServiceMix in Java SE or a Java EE application server. ServiceMix uses ActiveMQ to provide remoting, clustering, reliability and distributed failover.
- ChainBuilder ESB – ChainBuilder ESB is a JBI compliant solution that is based on ServiceMix. It features a graphical configuration tool based on Eclipse. It has a mapping language called TRN that is extensible and includes an Eclipse Map Editor. TRN specifications can be compiled into a Java class for greater performance. It features a content based router (CBR) component. Chainforge ESB includes an AJAX-based web interface for monitoring and controlling the ESB in a production environment.
- OpenAdaptor – openadaptorxe2x84xa2 is a Java/XML-based software platform which allows for rapid business system integration with little or no custom programming. It is highly extensible and provides many ready-built interface components for JMS, LDAP, Mail, MQ Series, Oracle, Sybase and MSSQL Server as well as data exchange formats such as XML. A new version of openadaptor (i.e. oa3) has been released, this version leverages updated Java features and has removed home grown functionalities that were considered redundant and less robust.
- NaradaBrokering – NaradaBrokering is a distributed messaging infrastructure and provides two closely related capabilities. First, it provides a message oriented middleware (MoM) which facilitates communications between entitiee through the exchange of messages. Second, it provides a notification framework by efficiently routing messages from the originators to only the registered consumers of the message in question. Transport protocols supported include TCP (blocking, non-blocking), UDP, Multicast, SSL, HTTP and HTTPS, Parallel TCP Streams. Implements publisher order, total order over a template/topic and time-ordered delivery. Implements compression and decompression of payloads and fragmentation and coalescing of large files. It includes support for deployment and management of broker networks based on scripting interfaces and support for repository redundancy to support fault-tolerant replays and recordings.
- xBus – The xBus is a central EAI (Enterprise Application Integration) system that emphasizes Routing and Transformation. Supports different operating modes such as standalone background service, manually started single operation, triggered by a scheduler, embedded in a servlet engine and integrated with any Java application. Implements journaling of all data streams.
- JBossESB – On 13th of June 2006, JBoss announced it acquired and would open source the mature ESB that had been the backbone of the second-largest insurance provider in Canada. The ESB (Rosetta), was developed using JBoss Enterprise Middleware Suite (JEMS) technologies and has been proven in enterprise use, handling data from 3,000 employees, 40 locations and two million customers for nearly three years. JBossESB brings a base transport mechanism; pluggable architecture; support for a variety of messaging services, including JBossMQ (Java Messaging Service-JMS) and IBM MQSeries; a transformation engine to bridge data formats; a service registry; a persisted event repository to support governance of the ESB environment and a notification service to allow the ESB to register events and signal subscribers.
- OpenESB – Open ESB implements an Enterprise Service Bus (ESB) runtime using Java Business Integration as the foundation. Open ESB includes a JBI runtime, a BPEL 2.0 Service Engine, and a SOAP binding component. Open ESB currently runs on Glassfish/Sun Application Server.
- Synapse – Synapse intends to build a set of components that work together with Axis2 and other Apache and open source projects to create a flexible transformation, management and routing system. The code was initially contributed by Infravio based on their X-Broker product.
- Apache CXF – CXF (a.k.a. Celtix) delivers a Java enterprise service bus (ESB) runtime and set of APIs that make it easy to add transports, message formats, and security features. Celtix was contributed by IONA Technologies. Services are defined using WSDL contracts and can be accessed using a number of different message formats (or bindings) and network protocols (or transports) including SOAP over HTTP, SOAP over JMS, XML over HTTP, and XML over JMS. CXF has been designed to provide a pluggable architecture that supports not only XML but also non-XML type bindings in combination with any type of transport. CXF will also support several models like JAX-WS, JBI, SCA, and CORBA services and is designed for flexible deployment in a variety of containers including Spring-based, JBI, SCA, Servlet and J2EE containers.
- CAMEL – Apache Camel is a rule based routing and mediation engine. Apache Camel uses generics, annotations and URIs so that work directly with any kind of Transport or messaging model such as HTTP, JMS, JBI, SCA, MINA or CXF Bus API. Apache Camel is also a library which has minimal dependencies for embedding in any Java application.
- PEtALS – PEtALS is the highly distributed Open Source ESB. PEtALS is based on the JBI specification. PEtALS nodes uses jGroups for network topology and discovery. PEtALS provides eclipse development and monitoring plugins in addition it provides a Web Console for monitoring and administration.
- it.gim – it.gim is an Enterprise Application Integration tool, which includes reliability, scalability, security, error tolerance, availability and platform independence. Abandoned
- connectorWorks – an open-source framework for implementing XML document-centric interactions with an enterprise information system (EIS). Works with JAXM, JAXP, SAX, DOM, JAXB, XSLT, XML filters/pipeline, and JMS messaging (Interoperability. Leverages JMX-based management and monitoring capabilities for EIS interactions. Supports the transformation to/from a canonical business markup language like OAGIS BOD using XSLT and SAX filter chains to/from internal EIS data structures/APIs such as an SAP R/3 IDoc. Abandoned
- Conductor DocSOAP XDK – Commerce One Conductor DocSOAP XML Development Kit (XDK). This Open-Source Java Web Services SOAP, and XML Development Kit provides an effective and efficient way of developing Web services solutions where the emphasis is on making it easy to do document Style SOAP. Commerce One tests show that the DocSOAP XDK supports more features of the XML schema and processes larger XML documents over twice as fast as any other solution available. Abandoned
- Tambora – Tambora a leading edge Enterprise Application Integration (EAI) tool specifically created for the printing and publishing industries. Tambora can adapt to any organization’s internal processes and requirements. At the heart of Tambora is a world class workflow engine which will allow Tambora to seemlessly integrate into any existing enterprise. (Mozilla based license) Abandoned
- BIE – Business Integration Engine (BIE) is designed to help organizations exchange data created in different applications on various platforms with partners, suppliers, and customers in order to streamline processes and improve efficiency. Includes a map builder and dashboard, supports multiple protocols SOAP, EDI X12, HIPAA etc. (GPL) Abandoned
Yikes! The list was much longer than I had expected! Anyway, I’m sure I missed something so please let me know!