Open Source EAI written in Java
What is EAI?
Short for enterprise application integration, EAI is the unrestricted sharing of data and business processes throughout the networked applications or data sources in an organization. Early software programs in areas such as inventory control, human resources, sales automation and database management were designed to run independently, with no interaction between the systems. They were custom built in the technology of the day for a specific need being addressed and were often proprietary systems. As enterprises grow and recognize the need for their information and applications to have the ability to be transferred across and shared between systems, companies are investing in EAI in order to streamline processes and keep all the elements of the enterprise interconnected.
Here is the list of Open Source Free EAI tools available in Java. You can use these tools for free.
1060 NetKernel - XML Application Server: 1060 NetKernel Standard
Edition provides 100s of XML technologies as simple services which together
create a powerful XML application server. NetKernel provides the
infrastructure that developers need to rapidly build powerful XML message
processing systems with the capabilities to eliminate the complexity,
performance and management challenges of processing XML. You can think of
the NetKernel XML tools as like the line-based ASCII tools (sed, awk, grep
etc etc) provided with Unix - NetKernel is not limited to XML processing,
XML is just a common and convenient datatype.
babeldoc - The Open Source tool
for business-to-business and systems-integrators and enterprises wishing to
connect data and documents centers. Babeldoc is intended for systems
integrators and EAI projects.
BIE (Business Integration Engine) - 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). BIE is a cost-effective, lightweight
integration solution that provides many advantages over existing integration
approaches and is evolving into a Service-Oriented Integration tool. Created
originally for manufacturers with diverse back-end systems and large, fragmented
distribution networks, BIE provides integration capabilities in environments
where other solutions would be cost-prohibitive or inefficient due to antiquated
trading partner systems, lack of industry standards, and/or extensive
requirements. Because BIE is platform-independent, many legacy systems can be
leveraged "as is." BIE is flexible, extendible and scalable, making it
possible to integrate a wide variety of applications - even other integration
utilities - quickly and cost-effectively. BIE comes complete with 5GL GUI Map Builder and his web-based Dashboard - tools that help you to get your integration project up and running.
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.
Elemenope - elemenope?is an Enterprise Application Integration [EAI], Service Oriented
Architecture [SOA], and general messaging framework. Elemenope allows
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. elemenope?
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)
elemenope?provides the capability for massive
decoupling of an enterprise's components through standardized interfaces
for communications.
elemenope?provides complete abstraction of
both transmission protocol and functional components.
A project may connect components via a
particular protocol or messaging standard, and not be stuck with that
technology, as they may completely change the messaging technology
deployed with a simple change to a configuration file, i.e. no code
changes.
elemenope?allows an organization to easily
create a large scale multi-platform application to conduct messaging or
transaction processing.
elemenope?abstracts away most connectivity
issues and promotes integration of new software with legacy applications
through simplification of connections.
elemenope?simplifies architecture of large
systems by standardizing functional components and message pathways. One
can very easily trace problems or collect metrics at multiple levels, as
every unit of application functionality implements the same interface,
and all requests follow a similar path.
elemenope?implements the following
connector/transport sets:
Java Message Service [JMS]
Web Services (SOAP, XML-RPC)
Direct Call
Native IBM MQSeries (WebSphereMQ)
Built-in mainframe connectivity classes for
use when connecting to a mainframe running IBM MQSeries with the IMS
Adapter or IMS Bridge
elemenope?has been in development since 1999.
It and some of its precursors are currently in production use within
several organizations large and small.
jEngine - JEngine is an Open Source, standards-compliant, enterprise integration
engine implemented in Java. The server framework, based on Java 2 Platform
Enterprise Edition (J2EE), provides a robust standard for deploying a
multi-tier enterprise integration engine. By utilizing the J2EE standard, a
complete framework of standardized components, services, and interfaces will
be developed while maintaining the promise of portability across operating
systems.
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.
MantaRay - MantaRay is an open source, fully distributed, enterprise-grade messaging middleware product that was designed to address the dual problems of today's high traffic IT environments ?their continuously changing structure and the ever growing volume and size of the messages passing through them.
MantaRay combines cutting-edge design concepts - messaging system optimization and peer-to-peer architecture - that have enabled the creation of technology that is much more powerful than existing messaging systems in terms of speed, scalability, reliability, affordability, flexibility, ease-of-use and deployment time.
MantaRay also ensures persistency, durability, transaction support, security and guaranteed delivery for both real-time and offline scenarios. Being serverless, it has no single point of failure or congestion and theoretically unlimited scalability. Its lightweight design enables it to be fully embeddable and manageable at the application level, thus bringing all functionality to the edges.
MantaRay is distributed as an open source project through SourceForge using dual licensing (GPL and commercial).
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)
MQue - MQue Systems specializes in the development of
enterprise-ready Java-based message middleware, including its open source
OSMQ framework and the graphical and remotely-manageable Intebroker Message
Broker Suite.
Mule - Mule is a light-weight messaging framework. It is a highly distributable
object broker that can seamlessly handle interactions with other
applications using disparate technologies, transports and protocols.
Key Features
J2EE 1.4 Enterprise Service Bus (ESB) and Messaging broker
Pluggable connectivity such as Jms (1.0.2b and 1.1), vm (embedded), jdbc,
tcp, udp, multicast, http, servlet, smtp, pop3, file, xmpp.
Support for asynchronous, synchronous and request-response event processing over any transport.
Web Services using Axis or Glue.
Flexible deploment [Topologies] including Client/Server, Peer-to-Peer, ESB and Enterprise Service Network.
Declarative and Programmatic transaction support including XA support.
End-to-End support for routing, transport and transformation of events.
Spring framework Integration. Can be used as the ESB container and Mule can be easily embedded into Spring applications.
Highly scalable enterprise server using the SEDA processing model.
REST API to provide technology agnostic and language neutral web based access to Mule Events
Powerful event routing based on patterns in the popular EIP book.
Dynamic, declarative, content-based and rule-based routing options.
Non-Intrusive approach. Any object can be managed by the ESB container.
Powerful Application Integration framework
Fully extensible development model
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 entities (which
includes clients, resources, services and proxies thereto) 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. NaradaBrokering aims to provide a
unified messaging environment that integrates grid services, web services,
peer-to-peer interactions and traditional middleware operations.
OpenAdaptor - openadaptor?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. New components are regularly added. (BSD based?)
The openadaptor?collaborative software development
initiative exists to:
Provide the necessary infrastructure for a software project to engage
and challenge the Open Source community;
Facilitate systems integration within any company, its partners, and
its customers; Present an easily extensible framework to encourage entrepreneurial organizations to develop value-added services in mutually advantageous partnership;
--
Dramatically reduce the cost of doing business by using proven Open
Source methods and resources.
Provide a set of lightweight, easily deployed, flexible tools which
are extensively used in a highly demanding business environment as a
real world example of what collaborative development can achieve.
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)
The OpenEAI Project is characterized by:
collaborative research and development
clear understanding and documenting the principles
of EAI
creation of high-quality software that leads the way
in the field
open software licenses that acknowledge the need for
embedding OpenEAI software in proprietary products
OpenQueue - Welcome to the home of 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. In addition to defining the OpenQueue protocol, this
project hosts some sub-projects to produce Open Source clients, servers, and
tools, all of which implement the OpenQueue protocol. As these programs
mature, they will offer an Open Source alternative to message queuing
products such as MQSeries or MSMQ.
OpenSyncro - OpenSyncro is a lightweight, open source enterprise application integration tool written in Java language. It runs on Apache Tomcat application server and stores its configuration data in MySQL database. OpenSyncro is distributed under the GNU General Public License.
OpenSyncro was originally developed for connecting Smilehouse Workspace to other enterprise applications, for example ERP, CRM and SCM systems, but it can be used independently for integrations between other applications, as well as for various data conversion tasks.
Benefits of OpenSyncro in application integration
1) Ready-to-use components for data transfers and data conversions
Source components:
Built-in: FTP, HTTP, local and network filesystems
Smilehouse Workspace export
Data conversion components:
CSV to XML
ASCII to XML, with regular expressions
XML->Any, with standard XSLT (versions 1.0 and 2.0)
JDBC SQL database query to result XML converter
Destination components:
Built-in: relational databases (SQL/JDBC), FTP, local and network filesystems
Smilehouse Workspace import
2) Dynamic component model
New components can be developed in Java language
New components may be loaded run-time
One component can be a part of virtually any number of integration processes
Web browser based component configuration, no developer tools to install
3) Logging and error handling
Complete logging of data transfer and conversion events at each component with three log levels available: error, warning and debug
The framework allows notifying the source application of unrecoverable errors in integration process execution (limited support for transactions)
4) 3rd party software Connector Packs available
A Connector Pack includes source, converter and destination components that enable integrating a certain software to any other application
Connector Packs are available for the following software:
Smilehouse Workspace (Free, included in the GPL distribution packages)
SAP Business One 2004A/2005A (datasheet)
SAP Business One v6.5
HansaWorld
Exact (datasheet)
Compiere ERP (datasheet)
Connector Packs are continuously developed and supported by Smilehouse
Connector Packs can be purchased from Smilehouse
Orbeon Integration Suite - Orbeon PresentationServer (OPS) is an open source J2EE-based platform for
XML-centric web applications. OPS is built around XHTML, XForms, XSLT, XML
pipelines, and Web Services, which makes it ideal for applications that
capture, process and present XML data. Unlike other popular web application
frameworks like Struts or WebWork that are based on Java objects and JSP,
OPS is based on XML documents and XML technologies. This leads to an
architecture better suited for the tasks of capturing, processing, and
presenting information in XML format, and often does not require writing any
Java code at all to implement your presentation layer. OPS is built around
Orbeon's optimized XPL engine, a mature, high-performance XML pipeline engine for processing
XML data. While similar to Apache Cocoon (see our comparison of the two platforms here), OPS benefits from standards-based forms
processing using XForms, richer controller semantics, and full-featured XML pipelines described with XPL,
the XML Pipeline Language. Runs natively within any J2EE-compliant server,
including BEA WebLogic, IBM WebSphere, Oracle 10g, JBoss, or Apache Tomcat.
OSMQ - Open Source Message Queue (OSMQ)TM is an advanced asynchronous message
router, message broker and message middleware framework developed by MQue
Systems. The product and client adapters are 100% Java based, with an open
and published message interface to support non-Java clients. OSMQ was
designed for high performance, high reliability, and ease of use, with a
Java interface that is significantly 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. MQue Systems
has chosen to release the product as open source, using the GNU public license. To download OSMQ including source code, go to Downloads.
(You must be logged in as a registered user in order to download files.)
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. It is written in 100% Java for portability (WIN32,POSIX and even OS/390 MVS) and adapters for JMS, databases (any JDBC compliant), native MQSeries, FTP, Tibco Rendezvous are also available.
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.
SolAce - SolAce
Server provides secure and reliable messaging over any TCP/IP network.
SolAce Server was designed specifically for the HIPAA Security Rule,
including compression, encryption, public/private keys, digital signatures,
signed and authenticated receipts, and audit trails
xBus - The xBus is a
central EAI (Enterprise Application Integration) system that emphasizes
Routing and Transformation. The xBus is a central EAI (Enterprise Application Integration) instance which has two substantial tasks: Routing, i.e. receiving of messages from different sources and passing through to different target systems. Transformation, i.e. converting the data between different formats and transformation of content. The xBus is an Open Source software tool. Its architecture is very open and flexible. The reliability has been proven during usage in several commercial projects. Contrary to many commercial EAI products, the xBus is a very slim and efficient solution. Published under an Open Source License similar to the Apache License. Platform-independent by implementation in Java 1.4 Different operating modes:Asstandalone background service Manually started single operation or triggered by a scheduler Running inside a servlet engine Integrated into other Java applications Two communication modes are supported:
Request/Acknoledgement Request/Response High flexibility and simple extensibility achieved by a consistent layer architecture and a plugin mechanism Powerful transformation engine using standardized XML technology High number of configuration options Flexible addressing of sources and destinations Journaling of all data streams possible Future-proof by the implementation of standardized APIs
XMLBlaster - XmlBlaster is a publish/subscribe and point to point 100% Java based MOM
server (message-oriented middleware) 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 - just anything.
Features:
Free for private,commercial,education use (LGPL - License)
Message Orientated Middleware (MOM) with Publish/Subscribe and PointToPoint
(PtP) support
Multi platform support (server is pure Java)
Multi protocol support (CORBA, RMI, XmlRpc, raw socket, EMAIL, native access)
Language neutral (clients for C++/C, Java, Python, PHP, Javascript, Perl, C#, Visual Basic.net ...)
Client side persistent queuing with C/C++/Java/ActiveX/Javascript
Extensible (XML based QoS)
Queryable Topics (Topic access with XPath)
Mime based full text search (currently plugins for regular expressions and
XPath)
JMS conforming SQL key/value query support (SQL92)
Security system independend (currently plugins for LDAP and crypt-passwd), supports authentication, authorization and message interceptors
Persistence plugin architecture (currently plugins for Oracle, MS-SQLServer and
Postgres)