is a highly configurable tool that acts as a connector or mediation device
business system and any number of external, off-the shelf or in-house developed
legacy systems. Essentially it is the "glue" that allows seamless integration
with existing systems regardless of the communication interface they use. Its
flexibility allows it to adapt to an external system and transform requests
originating from it into core system requests. Furthermore, it can generate
responses in the format used by the external system hence achieving a two-way
communication interface between the core system and the peripheral systems.
supports interfaces ranging from databases to flat data files (fixed width or
delimited) and structured requests such as XML or ASN.1 encoded files. Using
standard protocols such as HTTP, HTTPS and FTP, the
can receive requests coming from external systems, process them and generate
can be configured for connecting an external system with the core system by
using a straightforward XML configuration file. To achieve this amount of
converts all kinds of heterogeneous inputs to a unified, generic, internal data
model. This approach abstracts the various physical details of the peripheral
systems. Though this internal unique representation is extremely important in
order to allow consistent management of diverse interfaces, it is only the first
half towards the establishment of the required business process. The second half
is the ability to specify the algorithms that need to be triggered upon
reception of a request. This is where the Integration Framework’s scripting
language comes into play. Programming complex business processes in a simple and
efficient manner is made easy since the Integration Framework’s scripting
language provides the amenities of a modern high level language with smart
pointer dereferencing, automatic memory management and loops bound checking.
This coupled with the ability to have transparent access to a variety of
information flows by means of the uniform internal data model facilitates the
orchestration of the business logic in an effortless and compact manner,
independent of the idiosyncrasies, the actual protocols or storage devices used
by peripheral systems.
is critical in every business application, so the
incorporates a flexible
model allowing data from multiple sources to be retrieved, transformed and
processed in parallel in pipelines. The number of threads servicing each source
can be configured independently for each source, allowing for the most efficient
utilization in a multiprocessor system. Usually, pipelines are implemented using
the scripting language. This enables the developer to leverage on the expressive
power of a language explicitly designed to simplify the complexity of the core
system programming model in a convenient and abstract dialect. However, for time
critical applications where a developer needs to use every optimization
mechanism that the C language provides, the
allows pipelines to also be implemented in native code and to be dynamically
linked at run time.
enables the owners of heterogeneous batch processing systems to leverage on a
powerful, generic processing framework to quickly develop mediation systems and
processes that provide full interoperability between their systems within and
across organizational boundaries.
Powerful and flexible handling of complex data
Scripting language is designed from scratch to leverage the maximum expressive
power for complex data handling
Common C-language like syntax
The scripting language uses a C-like syntax that makes most developers feel
Moreover it extends the C-syntax with constructs like sparse arrays, dynamic
array elements, run-time structs which contain RTTI and data etc.
instance can be configured to use multiple sources
each source (the producer) can be served in parallel by multiple pipelines (the
the number of servicing pipelines is configured independently on every source
Efficient utilization in multiprocessor systems
Usually business logic in pipelines is implemented in script
Time critical operations can be implemented in native C++ code to benefit from
low level optimizations
Native code can be dynamically linked at run-time.
provides seamless integration between heterogeneous batch systems with minimal
Based on a modular design, allows extensions to be built efficiently.
Flexible threading model for optimum scalability.