To ask a question not addressed here, please email us at
What does the elemenope Framework offer me?
Transport abstraction, functional abstraction, payload
abstraction, fault tolerant messaging, and transport protocol
implementations out of the box.
Who might use elemenope and why?
An integration team or engineer working to connect disparate systems in a manner that lends clean and simple future expansion.
An engineer or team creating a new application or system, interested in
simplified maintenance, and possible future distribution of components
without code changes.
What is transport abstraction, and how does elemenope handle it?
Transport abstraction
1. Provides nearly unlimited scalability, as components may be
connected in unexpected ways at a later date with no changes to
code. For example, a team could connect a system entirely via
direct call transports on a single machine, and when load or
functionality increases in the future, can move to a completely
distributed system by changing the configuration to use JMS (say
JBossMQ) on multiple machines, without any change in code.
Additions and changes to a single configuration XML file are all that
are needed to do this.
2. elemenope is open source, free software [GPL], and a team may
therefore implement their on Connector/Dispatcher/Broker classes in
order to implement an entirely new protocol which will also work
transparently with all other elemenope interfaces. This frees up
organizations to do anything that they need to do with their systems.
For example, an organization might have a need to connect via CORBA
with legacy applications (CORBA is not currently implemented w/in
elemenope). They could do this fairly easily, creating the proper
connection objects(s) once. These objects would then be referred
to w/in the XML configuration file, and voila, everthing else works
with them.
What transport protocols does elemenope implement? 1. Java Message Service [JMS]
2. SOAP Web Services (SOAP extension)
3. XML-RPC Web Services
3. Direct Call
4. Native IBM MQSeries (WebSphereMQ) (MQSeries extension)
5. Mainframe connectivity classes (MQSeries extension)
What is functional (business logic) abstraction, and how does elemenope handle it?
Functional or business logic abstraction
1. Allows subject matter experts to write simple code without knowledge
of the transport protocol to be employed. This means that one
need not know how specifically to connect to MQSeries via JMS, or how
to connect to a mainframe, but rather knowledge of the processing to be
done.
2. Provides uniformity of functional code w/in a project or integration
effort. This helps in logging, metrics gathering, and problem
tracing, as all operations w/in a system pass through the same or very
similar processing paths.
3. Provides ability to dynamically change the combinations of
functional code units exposed as services under different transport
protocols. This allows a systems engr. to for example open certain
defined operations under SOAP, certain others under XML-RPC, and all
operations under local direct call connectivity.
What is payload abstraction, and how does elemenope handle it?
Payload abstraction provides the ability to send either XML or Java
Objects (or even other payload types) over the elemenope framework
transparently. For example, one might define a Transaction class
(the functional unit) which expects a particular Java Object.
Another application say written in Python might have a need to call it
with XML data which validates to a common XML schema [XSD]. the
doppelganger extension to elemenope allows this to work transparently,
as the XML is automatically unmarshalled to a Java Object as expected,
and the processing occurs with no complaint. This can also work
in the opposite direction, that is, a Transaction which expects XML,
but receives a Java Object may also process data as normal, because the
doppelganger extension will automatically convert the Java object to
the expected XML format.
How does elemenope implement Fault Tolerant messaging?
Within elemenope, dispatcher Failover [DFO] provides ability to
transparently failover from one transport protocol to another upon
failure with no changes to the functional code or business logic.
For example, If a direct call connection is preferred, but for some
reason the direct call interface is down or throws an exception,
elemenope may easily be configured to provide transparent
failover. That is, when an application or user makes the call,
elemenope will first attempt the direct call interface, and detecting
failure, will autmoatically and transparently failover to a JMS queue,
to be picked up whenever the other machine or service is available,
thus persisting an important request.
Is there an email list to which I can subscribe for announcements and discussion?
Yes there is. It is the elemenope-discuss list. More details and subscription information can be found at:
http://elemenope.org/mailman/listinfo/elemenope-discuss_elemenope.org
This is a fairly low traffic email list, consisting mostly of announcements, with occasional questions from elemenope users.
Is there a tutorial or HOWTO document available to get started using the elemenope framework?
Currently, there is not a document available. It is on our
todo list, but has yet to materialize. There are two documents
available, which are greatly out of date, and should certainly be
avoided. Currently, it is best to direct any pertinent questions to
I'm looking for a messaging application that will permit
transmission of <YOUR DATA TYPE HERE> data between applications
using a variety of protocols (most importantly XML-RPC, SOAP, JMS, etc.).
The elemenope framework was designed to handle using and switching transport protocols transparently.
Does elemenope support point to point [PTP] and publish subscribe [PUB/SUB] messaging?
elemenope implements JMS Queue connector sets for simple PTP
messaging, and a higher level publish connector set which allows easier
use of PUB/SUB within some message oriented middleware [MOM]
providers. Specific JMS Topic connector sets are planned, but no
date has been set for these.
elemenope is released under the GNU General Public License [GPL].
If there are any questions or concerns about the legality of its use, please contact createTank.
To ask a question not addressed here, please email us at