<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Improving Data Independence, Efficiency and Functional Flexibility of Integration Platforms</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthias Bo¨ hm</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ju¨ rgen Bittner</string-name>
          <email>juergen.bittner@sql-gmbh.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dirk Habich</string-name>
          <email>dirk.habich@inf.tu-dresden.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wolfgang Lehner</string-name>
          <email>wolfgang.lehner@inf.tu-dresden.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Uwe Wloka</string-name>
          <email>wloka@informatik.htw-dresden.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dresden University of Applied Sciences, Database Group</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dresden University of Technology, Database Technology Group</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>SQL Gesellschaft fu ̈r Datenverarbeitung mbH Dresden</institution>
        </aff>
      </contrib-group>
      <fpage>97</fpage>
      <lpage>100</lpage>
      <abstract>
        <p>The concept of Enterprise Application Integration (EAI) is widely used for integrating heterogeneous applications and systems via message-based communication. Typically, EAI servers provide a huge set of specific inbound and outbound adapters used for interacting with the external systems and for converting proprietary message formats. However, the main problems in currently available products are the monolithic design of these adapters and performance deficits caused by the need for data independence. First, we classify and discuss these open problems. Second, we introduce our model-driven DIEFOS (data independence, efficiency and functional flexibility using feature-oriented software engineering) approach and show how the feature-based generation of dynamic adapters can improve data independence, efficiency and functional flexibility. Finally, we analyze open research challenges we see in this context.</p>
      </abstract>
      <kwd-group>
        <kwd>Enterprise Integration Platform</kwd>
        <kwd>Application Integration</kwd>
        <kwd>Adapter Architecture</kwd>
        <kwd>Dynamic Adapters</kwd>
        <kwd>DIEFOS Approach</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The trend towards heterogeneous environments comes with an increase in importance
of Enterprise Application Integration (EAI). Such an integration platform consists of a
set of inbound adapters, a core message broker and a set of outbound adapters. The
large number of supported external system types results in the need for data
independence (independent-system-type data representations for internal processing) and,
simultaneously, for efficient integration task processing (minimum overhead for data
independence). These requirements—but particularly the first one—typically result in
very generic inbound and outbound adapter architectures. There, the architecture of
such adapters is quite monolithic, which results in low functional flexibility of such
software components. This means that for each external system type, a single adapter
is needed, though specific functional modules could be reused. An example for this
is a TCP connection handler which sends the specific messages to the physical target
systems—it might be reused by several adapters like HL7 and B2MML adapters.</p>
      <p>In order to solve this problem of monolithic adapters (which affects the functionality
as well as the performance), we describe the problem characteristics in Section 2 from
a pragmatic perspective, influenced by the commercial enterprise integration platform
TransConnect R . Further, we propose our DIEFOS approach and explain its core phases
in Section 3. In general, one of the main questions in this context is whether or not
model-driven approaches can be applied in the field of application integration. Finally,
in Section 4, we conclude our paper and highlight open research challenges we see.</p>
      <p>
        Although there is a lot of related work concerning MDA techniques [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and MDA
tools (e.g., AndoMDA, MOFLON [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and Fujuba), only a very low support for
modeldriven development can be recognized in application integration platforms (e.g., SQL
GmbH TransConnect, SAP XI, BEA Integration, MS Biztalk and IBM Message
Broker). In this context, the so-called RADES approach [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] tries to give an abstract view on
EAI solutions using technology-independent and multi-vendor-capable model-driven
engineering methodologies. Unfortunately, this approach does not focus the problems
considered here (data independence, efficiency and functional flexibility). Further, also
approaches for automatic generation of Web service adapters [
        <xref ref-type="bibr" rid="ref4 ref5 ref6">4–6</xref>
        ] and BPEL adapters
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. These techniques are too specific to the integration technology used. In addition, the
semi-automated generation of adapters for legacy applications is addressed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
However, such a semi-automated approach is not suitable. The dynamic adapter generation
approach [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] addresses the dynamic adding of new data sources and their invocation
rather than the functional flexibility of adapter generation.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Problem Description</title>
      <p>
        Here, we introduce a gener- proprietary message formats uniform XML message formats proprietary message formats
adleiszcerdibEeAthIeseardvderreasrscehditpercotbulreemasn.d ESxytsetrenmal AIndbaoputenrd1 OAduatbpoteurn1d ESxytsetrenmal
sAesrvilelrusctorantseidstisnoFfigtuyrpeic1a,lacnoEmA-I ESxytsetrenmal AIndbaoputenrdn Process Engine OAduatbpoteurnkd ESxytsetrenmal
ponents. There is a set of Inbound Operational Datastore (ODS) Scheduler
Adapters, which listen passively
to incoming messages and con- Fig. 1. Generalized EAI Server Architecture
vert these into internal
representations. Further, the internal messages are processed by the runtime environment. This
environment uses a set of Outbound Adapters to actively interact with external
systems. According to the layers of transformations [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], the adapters realize the layers
transport and data representation. The main problem is the monolithic adapter
architecture with very generic message interfaces, which cause the use of uniform message
representations (e.g., XML messages). This also causes the problem of P1: Poor
Performance. Further problems include P2: Functional Restrictions (chosen technology),
P3: Development Effort (redundant functionality) and P4: Data Independence
(dependencies between adapter interactions). To overcome these problems, message
representations (alternative representations, schemas) as well as adapter architectures (generic
adapters, adapter generation) have to be reconsidered. We follow an adapter generation
approach that allows different alternative message representations.
available functional
properties and
dependencies
generator
templates
linked
functional
modules
      </p>
      <sec id="sec-2-1">
        <title>Phase 1: Specification</title>
        <p>subsection 5.1</p>
        <p>DIEFOS Adapter Generation Framework</p>
        <p>Phase 2:
Generation &amp;</p>
        <p>Compilation
subsection 5.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Phase 3: Configuration &amp; Instantiation</title>
        <p>subsection 5.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Problem Setup specification choice</title>
        <p>CIM PIM</p>
      </sec>
      <sec id="sec-2-4">
        <title>Adapter type specification</title>
        <p>PSM
Model-Driven Development</p>
      </sec>
      <sec id="sec-2-5">
        <title>Generated adapter type</title>
        <p>CODE</p>
      </sec>
      <sec id="sec-2-6">
        <title>Instantiated adapter object</title>
        <p>The DIEFOS approach (Data Independence, Efficiency and functional flexibility using
a Feature-Oriented Software-development) solves the problems described in Section
2. Basically, this framework—whose macro-architecture is illustrated in Figure 2—
comprises the three phases 1: Specification, 2: Generation &amp; Compilation and 3:
Configuration &amp; Instantiation.</p>
        <p>First, an informal problem specification (CIM) is provided. It is manually
transformed into a setup choice (the applicable alternatives are given by feature diagrams
similar to Figure 3), which represents the platform-independent model (PIM). This
choice—in conjunction with available functional properties and dependencies—is used
in order to create the formal adapter type specification (PSM) using an XML model
representation. Second, within the generation step, a java class (CODE) is generated
from the adapter type specification input, using specific code templates. Finally, this
class is compiled and loaded into the JVM. Third, the created instance of the generated
adapter as well as the linked functional modules have to be configured. We use an
approach where specific functionality can be reused in function modules almost without
any overhead. So, during runtime, these hard-coded modules are used as a library.</p>
        <p>Adapter
Processing
Models</p>
        <p>Connector</p>
        <p>Protocol
Handler</p>
        <p>Format
Converters
Inbound
Client</p>
        <p>Interface
Async</p>
        <p>Sync
Outbound</p>
        <p>Basic</p>
        <p>Application</p>
        <p>API
TCP
...</p>
        <p>JDBC
...</p>
        <p>JDBC
...</p>
        <p>FTP
HL7 MLLP
SWIFT
...</p>
        <p>XML/Tuple
Zip/Unzip
En-/Decrypt
...</p>
        <p>Fig. 3. Adapter Type Specification Feature Diagram</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Summary and Open Challenges</title>
      <p>The overall motivation for this work was the existence of the four pragmatical
problems: (1) poor performance, (2) functional restrictions, (3) development effort and (4)
need for data independence. The goal was to realize an adapter architecture which
ensures data independence with minimal overhead concerning the processing efficiency.
Further, the functional flexibility should also be maximized while minimizing the
development effort at the same time using model-driven development.</p>
      <p>In order to solve the given problems, we first observed the adapter problem
characteristic of real-world integration platforms. Second, we proposed the DIEFOS approach,
which overcomes the given problems using a model-driven generation approach. This
allows for dynamic composition of adapters and comprises the three phases: 1:
Specification, 2: Generation &amp; Compilation and 3: Configuration &amp; Instantiation. The goal
is to generate adapter types in a feature-oriented manner. The dynamic combinations of
format converters, protocol handlers and physical connectors make it possible to ensure
the data independence, functional flexibility and even the efficiency can be ensured.
However, there are open problems and challenges. Those include but are not limited
to: (1) a conceptual adapter specification model, (2) the debugging and testing of
generated dynamic adapters, (3) the use of a configuration history for consistent recovery
processing, (4) the self-configuration for the generation of adapter specifications based
on workflow descriptions and (5) the separation of data and meta data for functional
correctness and avoidance of runtime errors. Due to the practical relevance, we want to
invite interested research groups and industry vendors to participate in the discussion
on this approach and open challenges.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Kleppe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Warmer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bast</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          : MDA Explained.
          <article-title>The Model Driven Architecture: Practice and Promise</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Amelunxen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Ko¨nigs,
          <string-name>
            <surname>A.</surname>
          </string-name>
          , Ro¨tschke, T., Schu¨rr, A.:
          <article-title>Moflon: A standard-compliant metamodeling framework with graph transformations</article-title>
          . In Rensink,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Warmer</surname>
          </string-name>
          , J., eds.:
          <source>Model Driven Architecture - Foundations and Applications</source>
          . (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dorda</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heinkel</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mitschang</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Improving application integration with model-driven engineering</article-title>
          . In: ICITM. (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grigori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nezhad</surname>
            ,
            <given-names>H.R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toumani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Developing adapters for web services integration</article-title>
          . In: CAiSE. (
          <year>2005</year>
          )
          <fpage>415</fpage>
          -
          <lpage>429</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chong</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>A tool to generate an adapter for the integration of web services interface</article-title>
          .
          <source>In: CBSE</source>
          . (
          <year>2006</year>
          )
          <fpage>328</fpage>
          -
          <lpage>335</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. van den Heuvel, W.J.,
          <string-name>
            <surname>Weigand</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hiel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Configurable adapters: the substrate of selfadaptive web services</article-title>
          .
          <source>In: ICEC</source>
          . (
          <year>2007</year>
          )
          <fpage>127</fpage>
          -
          <lpage>134</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Brogi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popescu</surname>
          </string-name>
          , R.:
          <source>Automated generation of bpel adapters. In: ICSOC</source>
          . (
          <year>2006</year>
          )
          <fpage>27</fpage>
          -
          <lpage>39</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Pieczykolan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kryza</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kitowski</surname>
          </string-name>
          , J.:
          <article-title>Semi-automatic creation of adapters for legacy application migration to integration platform using knowledge</article-title>
          .
          <source>In: International Conference on Computational Science (4)</source>
          . (
          <year>2006</year>
          )
          <fpage>252</fpage>
          -
          <lpage>259</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Gong</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorton</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feng</surname>
          </string-name>
          , D.D.:
          <article-title>Dynamic adapter generation for data integration middleware</article-title>
          .
          <source>In: SEM</source>
          . (
          <year>2005</year>
          )
          <fpage>9</fpage>
          -
          <lpage>16</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Hohpe</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woolf</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Enterprise Integration Patterns : Designing, Building, and Deploying Messaging Solutions</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>