<!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>What About Database-centric Enterprise Application Integration?</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>HANA Platform</institution>
          ,
          <addr-line>SAP AG Dietmar-Hopp-Allee 16, 69190 Walldorf</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>73</fpage>
      <lpage>76</lpage>
      <abstract>
        <p>The focus on “big data” and the emergence of hybrid Online Transaction Processing/Online Analytical Processing systems in the database community creates new opportunities for (business) application vendors. More and more business logic is “pushed" to the database, i. e., close to the application data, for faster and more eficient processing, while avoiding unnecessary data shipments. In this position paper, we argue that Enterprise Application Integration should engage in a liaison with the recent data-processing advances, especially for supporting the integration of applications running in the database with remote applications.</p>
      </abstract>
      <kwd-group>
        <kwd>Daniel Ritter</kwd>
        <kwd>Enterprise Application Integration</kwd>
        <kwd>Relational Database</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The recent advances within the database research community–not limited to
hybrid transactional and analytical systems (e. g., [
        <xref ref-type="bibr" rid="ref5 ref9">5,9</xref>
        ])–bring applications
together on one platform: the database. For less data shipment and more eficient
processing, (business) application logic is “pushed" to the databases by translating
it to standard SQL, PL/SQL and an increasing number of additional libraries
and programming languages [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ]. The databases of complete business application
suites1 are not only used for “bookkeeping" anymore, but transform to application
platforms. The conventional application systems remain the presentation layer,
while the control and data flows move closer to the databases.
      </p>
      <p>
        These applications require message-based integration. Some of the data and
message endpoints like Data Stream and Complex Event Processing (CEP), for
Information Flow Processing [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and ETL (e. g., Microsoft SQL Server
Integration Services) already operate on database level. While these data endpoints care
about high-performance inbound data loading, (message) protocol and
formatlevel transformations (e. g., JSON, XML to relational model), data cleansing and
storage to database tables, standard integration capabilities like routing, mapping,
and guaranteed delivery are left for EAI systems, which are still implemented on
application server level. When additionally considering the subsumption premises
of “Too much Middleware" [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] (i. e., discussing the costs/benefits of a separate
EAI system) and the requirements to middleware systems that are already
wellcovered by most database systems (e. g., scalability, data consistency/transaction
processing, user management, high availability), we target the question whether
message-based integration is viable from a database perspective. The required
system shall realize EAI solely using standard relational processing (e. g., SQL,
PL/SQL) for an eficient evaluation of integration semantics. We address the
following research questions, discussed subsequently: (1) “Can integration logic
(e. g., mapping, routing, aggregation [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) be “pushed" into the database
completely?", (2) “For which Integration Scenarios does that bring which benefits?",
and (3) “What are its advantages and disadvantages?"
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>The Database as Integration Middleware</title>
      <p>
        We found recent evidence to our position in the areas of declarative message
processing in XQuery/XML-DBMS (e. g., [
        <xref ref-type="bibr" rid="ref10 ref3">10,3</xref>
        ]) and Publish/Subscribe in
relational databases [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Since this work considers only a small subset of integration
semantics, requires massive extensions to standard SQL and most business
application data is stored in relational databases, these approaches only support
its overall position. Subsequently, we briefly sketch the most relevant aspects,
namely Integration Cases and Common EAI Scenarios.
Integration Cases For a systematic definition of the term “database-centric
EAI" we distinguished six diferent and relevant integration cases between the
poles of control and data flow for database and integration systems. These cases
are listed in Table 1. We focus on Case 2, in which the database handles the
control and data flow execution exclusively, while no additional application tier
for the middleware system (short “Middlew.") is required. In general, EAI systems
consist of protocol adapters (i. e., message endpoints) and integration logic. The
endpoints are assumed to be available on database-level (e. g., CEP, ETL on
inbound and messaging [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] on inbound and outbound site). The integration logic
is expressed as standard database artifacts like SQL, PL/SQL. For comparison,
we defined Case 1 as integration system without storage (e. g., no asynchronous
Database-centric Enterprise Application Integration
messaging possible) and Case 5 refers to current EAI systems with persistent
message storage (e. g., Java Messaging Service (JMS)2 based processing) and
control over message processing and data oflws.
Common EAI Scenarios Figure 1 shows an overview of common EAI scenarios
that are combined to categories C1-3. Category C1 (local/local: from App C to
App D) refers to the integration of a sender and a receiver application residing
in the same application system, sharing the same database, but not the schema
(e. g., as in business suites). Category C2 (local/external: inbound processing
from App A to App C ; outbound processing from App C to App B) covers the
cases, in which an application on the database (sender or receiver) needs to access
or receive external data (e. g., access remote applications). Finally Category
C3 (external/external: from (App A to App B) features sender and receiver
applications residing in diferent application systems, while communication is
mediated by a dedicated “integration database system" (i. e., corresponds to the
classical middleware case). The “multi-tenant database" case from [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is depicted
by the communication from App D to App E, which requires an even stricter
tenant and schema separation that eventually translates to C2. As example for a
C2 scenario, we selected the SAP ERP Convergent Invoicing (FI-CA) use case.
For the invoicing process, high-volume billable items (up to 500k per second–
approx. 4 billion messages per day) wrapped as messages (e. g., one iTunes song
or telephone call decomposes to records for customer, vendor, author etc) are
created and sent by the Convergent Charging application. The messages have
to be validated, enriched with master data, filtered and aggregated according
to multi-dimensional and potentially customer specific criteria, before legally
binding documents are created. JMS messaging could queue that amount of
messages3, however, cannot handle the integration logic.
2 Java Messaging Service: http://www.jcp.org/en/jsr/detail?id=914
3 JMS benchmark: http://www.spec.org/jms2007/
      </p>
    </sec>
    <sec id="sec-3">
      <title>Discussion</title>
      <p>The research questions formulated in Section 1 (i. e., (1)–(3)) target the feasibility
and viability of a database-only integration approach (see Case 2, Section 2). The
question about integration logic “push-down" to the database system (1) was
approached experimentally by a prototypical implementation. The evaluation showed
short-comings in terms of language expressiveness (e. g., timed-aggregations are
not possible), the need for a scheduled pipeline processing, when a (transactional)
decoupling between sender and receiver is required, and a small latency penalty
when mixing SQL and PL/SQL processing. Besides that, the processing of bulks
of messages showed results for throughput comparable to the requirements, e. g.,
of the FI-CA scenario, thus leading to the question about viable scenarios (2). The
natural category for database-centric processing seems to be C1 for database local,
schema-to-schema integration. However, this is currently completely covered by
“shared-schema" integration, although it could untie the tight application coupling.
The support of database adapters with pre-/post-protocol conversion integration
logic processing C2 seems most promising (see FI-CA scenario). Category C3 is
the domain of current EAI systems and only seems to show benefits for scenarios
with qualities that require frequent persistent message storage and/or massive
data-bound computations for database-only integration. The benefits and
additional operational qualities (3) are stable asynchronous and transactional message
processing, portable database code (for standard SQL logic only), interoperability
through database protocol adapters, and less frequent and expensive data format
conversions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>C.</given-names>
            <surname>Binnig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>May</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Mindnich</surname>
          </string-name>
          .
          <article-title>SQLScript: Eficiently Analyzing Big Enterprise Data in SAP HANA</article-title>
          .
          <string-name>
            <surname>In</surname>
            <given-names>BTW</given-names>
          </string-name>
          , pages
          <fpage>363</fpage>
          -
          <lpage>382</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>C.</given-names>
            <surname>Binnig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rehrmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Faerber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Riewe</surname>
          </string-name>
          .
          <article-title>Funsql: it is time to make sql functional</article-title>
          .
          <source>In EDBT/ICDT Workshops</source>
          , pages
          <fpage>41</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Böhm</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-C. Kanne</surname>
            , and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Moerkotte. Demaq</surname>
          </string-name>
          :
          <article-title>A foundation for declarative xml message processing</article-title>
          .
          <source>In CIDR</source>
          , pages
          <fpage>33</fpage>
          -
          <lpage>43</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>G.</given-names>
            <surname>Cugola</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Margara</surname>
          </string-name>
          .
          <article-title>Processing flows of information: From data stream to complex event processing</article-title>
          .
          <source>ACM Comput. Surv.</source>
          ,
          <volume>44</volume>
          (
          <issue>3</issue>
          ):
          <fpage>15</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>F.</given-names>
            <surname>Färber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>May</surname>
          </string-name>
          , W. Lehner,
          <string-name>
            <given-names>P.</given-names>
            <surname>Große</surname>
          </string-name>
          , I. Müller,
          <string-name>
            <given-names>H.</given-names>
            <surname>Rauhe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Dees</surname>
          </string-name>
          .
          <article-title>The SAP HANA Database - An Architecture Overview</article-title>
          .
          <article-title>IEEE Data Eng</article-title>
          . Bull.,
          <volume>35</volume>
          (
          <issue>1</issue>
          ):
          <fpage>28</fpage>
          -
          <lpage>33</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>D.</given-names>
            <surname>Gawlick</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Mishra</surname>
          </string-name>
          .
          <article-title>Information sharing with the oracle database</article-title>
          .
          <source>In DEBS</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>G.</given-names>
            <surname>Hohpe</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Woolf</surname>
          </string-name>
          . Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions.
          <string-name>
            <surname>Addison-Wesley Longman</surname>
          </string-name>
          Publishing Co., Inc., Boston, MA, USA,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>D.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          and
          <string-name>
            <surname>S. Aulbach.</surname>
          </string-name>
          <article-title>Ruminations on multi-tenant databases</article-title>
          .
          <source>In BTW</source>
          , pages
          <fpage>514</fpage>
          -
          <lpage>521</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Kemper</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Neumann</surname>
          </string-name>
          .
          <article-title>One size fits all, again! the architecture of the hybrid oltp&amp;olap database management system hyper</article-title>
          .
          <source>In BIRTE</source>
          , pages
          <fpage>7</fpage>
          -
          <lpage>23</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>N.</given-names>
            <surname>Onose</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Siméon</surname>
          </string-name>
          .
          <article-title>Xquery at your web service</article-title>
          .
          <source>In WWW</source>
          , pages
          <fpage>603</fpage>
          -
          <lpage>611</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>M.</given-names>
            <surname>Stonebraker</surname>
          </string-name>
          .
          <article-title>Too much middleware</article-title>
          .
          <source>SIGMOD Record</source>
          ,
          <volume>31</volume>
          (
          <issue>1</issue>
          ):
          <fpage>97</fpage>
          -
          <lpage>106</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>