<!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>Repository for Business Processes and Arbitrary Associated Metadata</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jussi Vanhatalo</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jana Koehler</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frank Leymann</string-name>
          <email>frank.leymann@informatik.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IBM Research GmbH, Zurich Research Laboratory</institution>
          ,
          <addr-line>SÄaumerstrasse 4, 8803 RuÄschlikon</addr-line>
          ,
          <country country="CH">Switzerland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Architecture of Application Systems</institution>
          ,
          <addr-line>UniversitaÄt Stuttgart, UniversitaÄtsstra1⁄4e 38, 70569 Stuttgart</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We have published a repository for storing business processes and associated metadata. The BPEL Repository is an Eclipse plug-in originally built for BPEL business processes and other related XML data. It provides a framework for storing, ¯nding and using these documents. Other research prototypes can reuse these features and build on top of it. The repository can easily be extended with new types of XML documents. It provides a Java API for manipulating the XML ¯les as Java objects hiding the serialization and de-serialization from a user. This has the advantage that the user can manipulate the data as more convenient Java objects, although the data is stored as XML ¯les compliant with the standard XML schemas. The data can be queried as Java objects using an object-oriented query language, namely the Object Constraint Language (OCL). Moreover, the °exible design allows the OCL query engine to be replaced with another engine based on other query language.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Interoperability based on several XML standards is one of the corner stones
of Web services. The Business Process Execution Language for Web Services
(BPEL) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is the defacto industry standard for representing business processes.
It is tightly related to other XML standards, such as the Web Service De¯nition
Language (WSDL) and XML Schema. In addition, arbitrary metadata
represented in XML format may be associated to business processes depending on
the context and applications that use the data.
      </p>
      <p>XML data is commonly used by di®erent applications. However, currently
managing the documents and searching information from their contents is
laborious and ine±cient. It is bene¯cial to store the data in a repository that takes
care of data access and executes queries. Although it is important for
interoperability to exchange data in XML format across organizations and systems, it is
often more convenient for a developer to manipulate the data as Java objects,
instead of XML. Our goal was to build a business process repository that stores
data as documents compliant to the XML standards, but allows applications to
be implemented directly on the Java representation of the data model.</p>
      <p>We have implemented the BPEL Repository, which is an Eclipse plug-in built
to store business processes together with other XML data. It provides a
framework for storing, ¯nding and using these documents. Other research prototypes
can reuse these features and build on top of it. The repository can easily be
extended with additional XML schemas because of its °exible architecture. By
default it supports the common Web service standards, such as BPEL, WSDL
and XML schema, and it can easily be extended to support other XML schemas
for business processes and other data.</p>
      <p>
        The object-oriented approach frees developers from the burden of the
underlying XML data model and allows them to concentrate on the object model of
their application, which they usually know well. The Eclipse Modeling
Framework (EMF) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] is used to hide data serialization and de-serialization from the
user. The framework takes care of representing the XML data as EMF objects
that are Java objects. As a novel feature, it is possible to query the XML ¯les as
EMF objects using an object-oriented query language, namely the Object
Constraint Language (OCL) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] that is part of the UML speci¯cation. Native XML
databases support typically XQuery as their query language. A major advantage
of OCL over an XQuery is its ability to navigate through the data model and
follow all the associations of an object model. In contrast, XQuery forces the
user to formulate the queries based on the tree structure of the underlying XML
schema.
      </p>
      <p>
        In contrast to our ¯le system based solution, there are other business process
repositories [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] that are built on top of a database system. However, their
database schemas are created manually. Flexibility is an advantage of the BPEL
Repository, because EMF is used to automatically generate support for new and
modi¯ed XML schemas. In research projects, data structures are often modi¯ed
and new ones are introduced. The automatization makes adapting these changes
easier. Nevertheless, repositories based on a database have typically better
performance and scalability than our solution.
      </p>
      <p>
        The BPEL Repository was recently published in IBM alphaWorks [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] with
special licensing terms for academic use. The software has been integrated with
a change management system called CHAMPS [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Solution</title>
      <p>The architecture of the BPEL Repository is presented in Figure 1. All
components are plug-ins on the Eclipse platform. The core component of the solution
is the Repository API, which provides an application programming interface for
external software to build on.</p>
      <p>The Repository User Interface (UI) is an example implementation that uses
the Repository API. However, it is also a useful graphical user interface to
manage the contents of the repository. The user interface is integrated in the Eclipse
workbench and built on the Standard Widget Toolkit (SWT) and JFace libraries.</p>
      <p>The Data Handler is a sub-component that takes care of the data access
on a ¯le system. It abstracts the choice of the storage medium from the other
)
'
'
*</p>
      <p>
        !" ! #
components. The data access component could be replaced with another one
storing data in a database by using a technology such as the Service Data Objects
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The Data Handler uses the Eclipse Modeling Framework to serialize EMF
objects into XML ¯les and de-serialize the ¯les back to EMF objects. Thus, all
repository components manipulate data as EMF objects rather than of XML.
2.1
      </p>
      <sec id="sec-2-1">
        <title>Flexibility of Manipulating Data as EMF Objects</title>
        <p>
          In the repository, data is represented as EMF objects. Therefore, all data must
have an EMF model. However, the EMF model can be automatically generated
from an XML schema, a UML class diagram or Java classes [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. As in the
business process management context data is often stored as XML conforming
standardized XML schemas, it is trivial to obtain EMF models for XML ¯les.
The repository can be extended to support a new data type by plugging in the
EMF model of this new data type.
        </p>
        <p>The components providing EMF models for the repository are shown on the
left-hand side of the Repository API in Figure 1. The Default EMF Extensions
plug-in contains EMF models for BPEL, WSDL and XML schema standards.
Thus, the repository supports the respective ¯le types by default. This
component can be replaced by another component supporting a di®erent version of
these standards or completely di®erent ¯le types. Because the Eclipse plug-in
mechanism is used, this does not require any modi¯cations in the other parts of
the repository.</p>
        <p>Similarly, other EMF extensions can be plugged into the repository. In the
evolving research community, extensibility is an asset. For instance, in the
context of combining business process management with semantic Web, the
repository can easily be extended to support a new document type containing metadata
related to a business process.</p>
        <p>
          The Sample EMF Extension contains an EMF model that is used in the user
guide [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] to illustrate, step by step, how to create an EMF model and plug it
into the repository. It is also explained how EMF can be used to automatically
generate a graphical editor for the instances of an EMF model.
        </p>
        <p>First, the data structure can be modeled as a UML class diagram, which
is usually much faster than describing the same structure as an XML schema.
Next, the UML class diagram is transformed to an EMF model. An editor can be
automatically generated for the EMF model. An XML schema can be generated
from the EMF model, if desired. In any case, instances of an EMF model can be
serialized to interoperable XML ¯les. Instances of the model can be generated
for testing purposes with the editor, which takes care of proper syntax. Finally,
the EMF model is plugged into the repository, which persists the data and
provides capabilities for querying data. A chief advantage is that queries can
be formulated using the same object-oriented model as was used to create the
data structure in the ¯rst place. Thus, the XML representation is used only for
interoperability with other systems, and the developers need not bother with
the concrete XML syntax.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Query Engines</title>
        <p>We used existing query engines with the repository. The repository handles the
iteration over the queried objects, but each sub-query is executed in the query
engine plugged into to the repository. It is possible to change the query engine
to another pre-registered one between queries. The available query engines are
shown on the right-hand side of the Repository API in Figure 1. The repository
has been tested with two OCL query engines, that query Java objects with an
object-oriented query language, namely OCL.</p>
        <p>If the repository is installed on top of the IBM Rational Software Architect
(RSA) product, the OCL engine of the latter can be used. However, as we did
not want to limit the repository to a single commercial query engine or a speci¯c
query language, the query engine interface has been built generic. Therefore, the
IBM OCL engine is plugged into the repository using an adapter. The IBM OCL
Engine Adapter is delivered together with the repository.</p>
        <p>
          Another OCL engine was built at the University of Kent [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. It is an open
source tool that can be plugged into the repository using the Kent OCL Engine
Adapter. The Eclipse Modeling Framework Technology project [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] is building
another open source OCL engine that could also be adapted to the repository. We
have not yet implemented the corresponding adapter because this OCL engine
is still under development.
        </p>
        <p>
          It is straightforward to plug a new query engine into the repository or adapt
an existing query engine for it. An example of how to adapt an OCL engine
is included in the user guide [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. The Dummy Query Engine is an example
implementation to show how a new query engine can directly be integrated into
the repository. Thus, also query engines based on another query languages can
be used.
        </p>
        <p>The repository is not aware of the query language that is used. The repository
merely passes the query and other parameters from the user interface or external
software to the query engine selected together with the EMF object that is to
be queried. Thus, any query engine that can execute queries on EMF objects
can be plugged into the repository.</p>
        <p>
          One limitation of the query mechanism is that the performance is only linear
compared with the number of documents that are queried. Indexing data or other
ways to improve the query performance are not used. However, this performance
has been su±cient for research prototypes. For example, querying 100 BPEL ¯les
took 3 seconds on a laptop in our performance tests [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. One way to improve
OCL queries would be to map them to a query language, such as XQuery, that
is natively supported by a database system. In that case, the repository would
also be built directly on top of the database system. Some work on mapping
OCL to XQuery already exists [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Data Structure</title>
        <p>The data is organized in a tree of organizations. The organizations are mapped to
directories in a ¯le system. Each organization may contain a business process and
associated metadata grouping the related ¯les together. In addition to these data
documents, a descriptor document is stored in each organization. It contains the
¯le type and the role of each data document in the organization. This information
is used to make the conversion between EMF objects and XML ¯les. In addition,
the role describes how the data document is related to the other documents in the
organization. For instance, a WSDL ¯le stored with the repository may contain
the public interface or the partner links of the BPEL business process.</p>
        <p>Queries can be applied to ¯les with a speci¯ed role in an organization, a list
of organizations, or a list of sub-trees in the organization hierarchy. Related ¯les
can be searched based on their roles.</p>
        <p>Data can be accessed from the ¯le system as XML ¯les and through the
repository as EMF objects. Any directory in a ¯le system can act as the root
organization of the repository contents. The data in the repository can be moved
to another location or a computer as simply as copying the directories.
2.4</p>
      </sec>
      <sec id="sec-2-4">
        <title>Usage Scenario</title>
        <p>
          The repository has been deployed with a change management system called
CHAMPS. As part of the solution, planning algorithms are used to facilitate
the automatization of the change and con¯guration management. The plans
are stored as BPEL ¯les into the BPEL Repository. In addition, the plans are
analyzed and the results are stored as metadata associated to the plans. The
metadata includes information about the plan such as its number of activities,
degree of concurrency, execution duration and correctness [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>Storing the analysis results as metadata enables reuse of the data, and
unnecessary recomputing of the results can be avoided. The suitable plans are found
from the repository by querying the content of the plans and their associated
metadata. For example, the plans that are structurally correct can be found by
querying the metadata. Among these plans the ones that reach a speci¯ed goal
can be found with a subsequent query.</p>
        <p>During the development of the system, trying out di®erent alternatives of
the metadata schema was uncomplicated, since the data structure was designed
as a UML class diagram and the corresponding EMF classes were used as the
basis of the implementation and the OCL queries. The developers were able to
avoid completely working with the XML representation of the data, because it
was automatically generated and used only as the serialization format behind
the scenes.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>
        The repository has already been proved useful for IBM internal research
prototypes [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. By publishing the repository, we wanted to make it widely available
to the research community as we are interested in more user experience with
it. We would also be interested in ¯nding out how convenient users ¯nd OCL
as a query language, because currently OCL is more common as a language to
express constraints rather than queries.
      </p>
      <p>
        As next steps, we plan to contribute our experiences gained while building
the repository to the IP-SUPER project [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] funded by European Union.
The project merges business process management with semantic Web services.
As part of the project, we plan to build a business process library, most likely
on a database system rather than a ¯le system in order to improve the query
performance for more extensive querying purposes. This would also be bene¯cial,
when the repository is used for searches based on an ontology or as a component
of a business process execution engine.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Dave</given-names>
            <surname>Akehurst</surname>
          </string-name>
          and
          <string-name>
            <given-names>Octavian</given-names>
            <surname>Patrascoiu</surname>
          </string-name>
          .
          <article-title>Object constraint language library</article-title>
          .
          <source>Web site</source>
          ,
          <year>June 2004</year>
          . http://www.cs.kent.ac.uk/projects/ocl/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Tony</given-names>
            <surname>Andrews</surname>
          </string-name>
          , Francisco Curbera, Hitesh Dholakia, Yaron Goland, Johannes Klein, Frank Leymann, Kevin Liu, Dieter Roller,
          <string-name>
            <given-names>Doug</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Satish</given-names>
            <surname>Thatte</surname>
          </string-name>
          , Ivana Trickovic, and
          <string-name>
            <given-names>Sanjiva</given-names>
            <surname>Weerawarana</surname>
          </string-name>
          .
          <article-title>Business Process Execution Language for Web Services</article-title>
          . OASIS Org.,
          <year>2003</year>
          . http://www106.ibm.com/developerworks/webservices/library/ws-bpel/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Aaron B. Brown</surname>
          </string-name>
          , Alexander Keller, and Joseph L.
          <string-name>
            <surname>Hellerstein</surname>
          </string-name>
          .
          <article-title>A model of con¯guration complexity and its application to a change management system</article-title>
          .
          <source>In Proceedings of the 9th International IFIP/IEEE Symposium on Integrated Management (IM</source>
          <year>2005</year>
          ), May,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Frank</given-names>
            <surname>Budinsky</surname>
          </string-name>
          , David Steinberg, Ed Merks, Raymond Ellersick, and
          <string-name>
            <given-names>Timothy J.</given-names>
            <surname>Grose</surname>
          </string-name>
          . Eclipse Modeling Framework.
          <source>The Eclipse Series. Addison-Wesley Professional</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Ahmed</given-names>
            <surname>Gaafar</surname>
          </string-name>
          and
          <string-name>
            <given-names>Sherif</given-names>
            <surname>Sakr</surname>
          </string-name>
          .
          <article-title>Proposed framework for integrating XML/XQuery and UML/OCL</article-title>
          . In
          <source>Proceedings of the 7th Conference in the UML series (UML2004)</source>
          , pages
          <fpage>241</fpage>
          {
          <fpage>259</fpage>
          , Lisbon, Portugal,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Ahmed</given-names>
            <surname>Gaafar</surname>
          </string-name>
          and
          <string-name>
            <given-names>Sherif</given-names>
            <surname>Sakr</surname>
          </string-name>
          .
          <article-title>Towards a framework for mapping between UML/OCL and XML/XQuery</article-title>
          . In
          <source>Proceedings of the IADIS e-Society 2004 Conference (ES2004)</source>
          , pages
          <fpage>241</fpage>
          {
          <fpage>259</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Object Management Group.
          <source>OCL 2</source>
          .
          <article-title>0 Speci¯cation</article-title>
          . OMG,
          <year>2005</year>
          . http://www.omg.org/docs/ptc/05-06-06.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Martin</given-names>
            <surname>Hepp</surname>
          </string-name>
          , Frank Leymann, John Domingue, Alexander Wahler, and
          <string-name>
            <given-names>Dieter</given-names>
            <surname>Fensel</surname>
          </string-name>
          .
          <article-title>Semantic business process management: A vision towards using semantic web services for business process management</article-title>
          .
          <source>In Proceedings of the IEEE ICEBE</source>
          <year>2005</year>
          , pages
          <fpage>535</fpage>
          {
          <fpage>540</fpage>
          , Beijing, China,
          <year>October 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>IP-SUPER</surname>
          </string-name>
          .
          <article-title>Semantics utilised for process management within and between enterprises</article-title>
          . Web site,
          <year>April 2006</year>
          . http://www.ip-super.org/.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Eclipse</given-names>
            <surname>Org</surname>
          </string-name>
          .
          <article-title>Eclipse modeling framework. Web site</article-title>
          . http://www.eclipse.org/emf/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>Eclipse</given-names>
            <surname>Org</surname>
          </string-name>
          .
          <article-title>Eclipse modeling framework technology</article-title>
          .
          <source>Web site</source>
          ,
          <year>2006</year>
          . http://www.eclipse.org/emft/projects/ocl/.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Minrong</surname>
            <given-names>Song</given-names>
          </string-name>
          , John Miller, and Ismailcem Arpinar.
          <article-title>RepoX: XML repository for work°ow designs and speci¯cations</article-title>
          .
          <source>Technical Report #UGA-CS-LSDIS-TR-01- 011</source>
          , University of Georgia,
          <year>August 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Biplav</surname>
            <given-names>Srivastava</given-names>
          </string-name>
          , Jussi Vanhatalo, and
          <string-name>
            <given-names>Jana</given-names>
            <surname>Koehler</surname>
          </string-name>
          .
          <article-title>Managing the life cycle of plans</article-title>
          .
          <source>In Proceedings of the 17th Innovative Applications of Arti¯cial Intelligence Conference</source>
          , pages
          <volume>1569</volume>
          {
          <fpage>1575</fpage>
          ,
          <string-name>
            <surname>Pittsburgh</surname>
          </string-name>
          , Pennsylvania, USA,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. Tammo van Lessen.
          <article-title>Konzipierung und Entwicklung eines Repository fuÄr GeschaÄftsprozesse</article-title>
          .
          <source>Master's thesis</source>
          ,
          <source>Institute of Architecture of Application Systems</source>
          , University of Stuttgart,
          <year>March 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>Jussi</given-names>
            <surname>Vanhatalo</surname>
          </string-name>
          .
          <article-title>Building and querying a repository of BPEL process speci¯cations</article-title>
          .
          <source>Master's thesis</source>
          , Helsinki University of Technology, Institute Eurecom and University of Nice { Sophia Antipolis,
          <year>September 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>Jussi</given-names>
            <surname>Vanhatalo</surname>
          </string-name>
          .
          <source>BPEL Repository</source>
          . IBM alphaWorks,
          <year>April 2006</year>
          . http://www.alphaworks.ibm.com/tech/bpelrepository.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>