<!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>Enabling Business Experts to Discover Web Services for Business Process Automation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sebastian Stein</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Katja Barchewitz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marwane El Kharbili</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IDS Scheer AG Altenkesseler Str.</institution>
          <addr-line>17 66115 Saarbru ̈cken, Germany (sebastian.stein</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>marwane.elkharbili) @ids-scheer.com, WWW home page:</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Using Web services for business process automation is an accepted approach in context of service-oriented architectures (SOA). Business process models are created by business experts usually not having an IT background and who are therefore not able to use the technical descriptions available for web services. In this paper, we show how we extended the market leading business process management suite ARIS to enable business experts to discover, assess, and select Web services for business process automation. We developed a structural and a semantic matching algorithm as well as a graphical user interface for Web service assessment. We use a schema to classify Web service discovery literature and we relate our work to it. Our completely integrated discovery tool helps bridging the gap between business and IT, because business experts can now discover Web services needed for business process automation on their own.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        A company is driven by its business processes and their interfaces to the outside
world. Those business processes are documented using business process
notations like Event-driven Process Chains (EPC) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Such process models are used
on different abstraction levels, for example to specify how a business activity
should run in general but also how a certain sub-process should be implemented
using information systems. It is the grand vision of business process
management (BPM) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] to directly derive the process implementation from the business
process models created by business experts.
      </p>
      <p>
        In past years, the idea of service-oriented architectures (SOA) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] became a
popular approach for integrating information systems to support business
process automation. SOA itself is just an architectural style, but not a specific
technology. There seems to be a preliminary consensus in enterprise computing
that Web service technology [4, see e. g.] is the preferred SOA implementation
solution. Steps in a business process are automated by Web services and the
business process models are afterwards transformed into process execution languages
like the Business Process Execution Language (BPEL) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        Using Web services for business process automation has a major drawback:
Business processes are described by business experts, whereas Web services are
described on a technical level. The technical Web service description is not usable
for business experts and therefore they are not able to select a web service to
automate a certain step in a business process. To overcome this problem, we
developed a tool and method allowing business experts to discover Web services
for process automation. The discovery tool is completely integrated in the world
market leading1 software for business process analysis and management ARIS 2
and the belonging ARIS methodology [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for business process management.
      </p>
      <p>This article is structured as follows. In the next section we provide a
detailed literature review of Web service discovery algorithms. Based on existing
literature, we develop a classification for Web service discovery approaches. In
section 3 we present our solution. First, we discuss in sub-section 3.1 the
general structure of our solution and how our solution can be classified according
to the classification schema developed. In sub-sections 3.2 and 3.3 we describe
how Web services and data structures are represented in ARIS. This information
is important in order to understand the description of the two matching
algorithms. Our structural matching algorithm for Web service discovery is explained
in sub-section 3.4. Our semantic matching algorithm for Web service discovery
is explained in sub-section 3.5. In sub-section 3.6 we present the graphical user
interface we developed to allow business experts to assess the matching results
and to make an informed decision of the Web service to be used. In section
4 we give an example to better illustrate our solution. Finally, we present our
conclusions at the end of the article.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Literature Review and Theoretical Foundation</title>
      <p>
        We investigated service discovery literature. Even though we were not able to
identify any specific publication dealing with Web service discovery for business
process automation, we found many publications related to web service discovery
in various domains. For example, many publications are targeting Web service
discovery in context of Grid computing [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Here, services are bound during
execution often based on quality of service (QoS) parameters. A related domain is
agent systems [10, see e. g.] trying to identify a communication partner with a set
of defined capabilities. Other publications deal with identifying Web services in
context of software engineering. The idea is to construct complex (software)
systems by combining basic Web services. Public market places are created so that
service providers can advertise their offerings and service consumers can evaluate
and bind them. Today, public standards for such service registries are available
like UDDI [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and ebXML Registry Information Model [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], even though we
cannot confirm a quick adoption of those standards in industry.
      </p>
      <p>
        The idea of offering well encapsulated functionality to an anonymous market
is not new. During the early 1990s the idea of component-oriented software
1 . . . according to Gartner [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and Forrester [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] market research reports. . .
2 http://www.aris.com/
engineering [13, see e. g.] became popular and here again it was the idea to reuse
existing software components to construct more complex applications. However,
there was no agreed standard for describing and binding the components and so
their application was always limited to users with the same technology platform.
      </p>
      <p>
        It can be said that Web service technology resolves this major interoperability
issue by defining the WSDL [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and SOAP [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] standards. The Web Service
Description Language (WSDL) is used to define the interface of a Web service
as well as where the Web service can be reached in terms of a unique resource
identifier. SOAP defines a standard protocol to access the remote resource.
      </p>
      <p>
        Web service discovery aims at identifying a Web service able to fulfil the
requirements defined by the Web service request. We were able to identify three
basic approaches to Web service discovery:
1. Structural discovery approaches use syntactical information available like
the interface description and the definition of the data messages exchanged
between the communication partners. This kind of matching is very
technical, as it requires the service requester to specify structural requirements
like a certain operation signature or data type. A typical example of such a
discovery approach is given by Ramasamy [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Ramasamy compares
operation names and operation parameters to the service request to discover Web
services.
2. Lexical discovery approaches use natural language descriptions. For example,
Web service operation names usually contain some terms describing their
functionality. Also, WSDL and other standards allow embedding natural
language descriptions. The lexical algorithms remove stop words from those
descriptions, find synonyms using lexical databases like WordNet [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and
compute similarity coefficients. For example, Zhuang et al. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] present an
algorithm to compute the similarity of two web services. Their approach uses
the information given in the WSDL files and does not require any additional
annotations. They do manual pre-processing of the WSDL files to remove
abbreviations, but it should be possible to use lexical databases like WordNet
to automate this task in the future.
3. Semantic descriptions often based on ontologies are another major approach
for Web service discovery. They use formal methods to describe web service
capabilities and properties so that machine reasoning can be used to identify
possible candidates for a service request. There are competing formalisms for
describing this semantic information like the Web Service Modeling Ontology
(WSMO) [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] or OWL-S [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. A standard called WSDL-S [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] was proposed
which provides some extensions for WSDL so that semantic descriptions in
any formalism can be referenced from a WSDL file and so semantic
annotation of existing Web services becomes possible. An early example for
semantic matching is Paolucci et al. [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. They use DAML-S to describe the
capabilities of a web service as well as the service request. In a more
recent example Kritikos and Plexousakis [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] describe quality of service (QoS)
parameters using OWL-S allowing matching on non-functional Web service
properties.
      </p>
      <p>
        Most discovery algorithms combine different approaches to achieve a better
result. For example, Wang and Stroulia [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] combine structural and lexical
analysis. Kokash et al. [25, p. 526] have identified several strategies how to combine
the results of different discovery approaches.
      </p>
      <p>– The mixed strategy uses different discovery approaches and matching
algorithms in parallel and unites the returned result sets into one final result set.</p>
      <p>Normally, duplicates are removed from the final result set.
– The cascading strategy applies different discovery approaches and
matching algorithms in sequence. A matching is only performed on the result set
returned by the previous algorithm. This helps to reduce the amount of
processing needed and it can increase the overall result quality. This can be seen
as a stepwise refinement.
– The switching strategy selects between different discovery strategies and
matching algorithms based on predefined criteria. For example, if the results
returned by an algorithm are not satisfactory, another algorithm is used. The
cascading and switching strategy can be combined to create more complex
strategies.</p>
      <p>Our experience and literature investigation show that there is another
important characteristic to correctly classify Web service discovery approaches and
matching algorithms. One has to distinguish between discovery during design
time and run-time. The former is normally initiated by a user designing a web
service composition for example to create a custom software application or to
automate a business process. This is also sometimes referred to as early binding.
The latter is used during execution of a service composition. In this case, the
composition only contains a requirements definition for a service call but it does
not specify which specific Web service to use. At run-time, discovery is done to
find all Web services matching the requirements specification and the best fitting
Web service is used. This is sometimes referred to as late binding.</p>
      <p>According to Kokash et al. [25, p. 522] Web service discovery consists of three
major phases, also illustrated in figure 1:
1. During the matching phase matching algorithms belonging to the different
discovery approaches are applied. The results are combined according to
the chosen strategy. The result set might just consist of all Web services
matching the request or they might be ranked according to their fitness.
2. During the assessment phase the matching results are further refined by a set
of criteria. Where matching is normally done automatically, the assessment
is often done manually, especially if Web service discovery is done during
design time.
3. In the final selection phase a Web service is chosen and used in the
composition as intended. This might also mean to adapt either the web service or
the consuming process or application.</p>
      <p>In this section, we provided an overview of current Web service discovery
approaches and how to classify them. In the following section we show how our
work relates to and extends existing approaches for Web service discovery.
3
3.1</p>
    </sec>
    <sec id="sec-3">
      <title>Our Approach to Web Service Discovery</title>
      <sec id="sec-3-1">
        <title>Overview</title>
        <p>In theory it might be possible to discover a Web service during run-time to
automate a certain step in a business process. Still, we have not seen something
like that nor did our customers asked for it. They carefully design their processes
and select Web services during design time. Therefore, our approach focuses on
Web service discovery during design time.</p>
        <p>
          We do not use any algorithms for lexical matching of Web services, even
though the user can refine the matching results during the assessment phase
using ordinary string search. In contrast, we make heavy use of structural matching
to identify Web services able to handle the data objects modelled in the business
process. We compare the business objects given in the business process to the
message types used by the Web service in the message exchange. In that sense
our matching algorithm is very similar to what Ramasamy [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] describes. We
also do a lightweight variant of semantic matching. The users of our tool are
able to create a taxonomy and use this taxonomy to classify the functionality of
Web services. Even though we are not using ontologies or reasoning algorithms,
it is still a way of capturing semantics.
        </p>
        <p>We use the mixed strategy to unite the results of structural and semantic
matching. We consider a Web service to fulfil the service request, if it is either
discovered by structural or semantic matching or by both approaches. We remove
any duplicates from the final result set before it is presented to the user for
assessment.</p>
        <p>We have structured the Web service discovery tool according to the three
phases of service discovery. The user initiates Web service discovery by selecting
the business process step to be automated. During the first phase, we analyse
the context of the selected business process step and derive the service request.
All Web services available in our tool are matched against the service request.
Afterwards, the result set is presented to the user for assessment. Finally, the
user selects the Web service to use and the Web service is automatically added
to the business process.</p>
        <p>The following sub-sections describe our solution in detail. We do not describe
the user roles involved using this solution to make the description not too
complicated. An example is given in section 4. This example provides a walk-through
also describing the involved user roles.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Web Service Representation in ARIS SOA Architect</title>
        <p>The ARIS Platform is a set of integrated products to manage all aspects of
an enterprise model. Besides defining and documenting a business strategy and
business processes, one important aspect of an enterprise is the supporting IT
infrastructure. Today, many companies are migrating their IT infrastructure to
service-oriented architectures. A common piece in such an architecture are web
services. Therefore, the specific SOA related ARIS product called ARIS SOA
Architect allows importing Web services, if they are described using the Web
Service Description Language (WSDL) version 1.1. Instead of just dumping the
file in the underlying database, we extract the content and represent it using the
Unified Modelling Language (UML). For example, WSDL porttypes are mapped
to UML interfaces and the belonging operations to UML operations. The WSDL
import functionality of ARIS SOA Architect also allows importing embedded or
referenced XML schema definitions. Those definitions are mapped to UML as
well.</p>
        <p>Using UML models to visualise the information contained in a WSDL file is
a proven approach for technical oriented users, but it is insufficient for business
users. Therefore, we also create an object representing the web service from a
business perspective. This object has no technical information like operations,
interfaces or technical message types, because a business user should not have
to deal with this kind of information in order to use a web service. Instead,
the Web service is described from a business perspective by adding tags to it.
The tag concept is described in detail in section 3.5. Other information includes
the hardware the Web service is running on, the application system the Web
service belongs to, and the person responsible for the Web service. The user can
also evaluate, who or which process is currently using the Web service and the
company locations the Web service is available for.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Information Architecture and Business Objects in ARIS SOA</title>
      </sec>
      <sec id="sec-3-4">
        <title>Architect</title>
        <p>As described in the previous sub-section, technical data structures like XML
schema definitions are mapped to UML models. However, for a business user
it is not useful to deal with such a detailed data model. For example, there
might be different technical message types or database schemas to represent
customer data, but from a business perspective there is only one customer data
object. Such data objects are often called business objects or logical data
objects. As in case of technical data modelling, business objects are also further
refined into more concrete parts. For example, the business object customer can
be decomposed into the name, address, payment history, and an interest profile.
The models describing all relevant business objects for the whole enterprise are
called information architecture. An internationally operating company should
only have one information architecture, but there are usually several
implementation of this architecture.</p>
        <p>Message types defined by Web services are an implementation of business
objects, too. A business user is using business objects to specify the data flow
in a business process. If the technical data objects defined by the web services
are mapped to the business objects used by the business user, it is possible to
discover Web services for business process automation. The underlying algorithm
is explained in detail in the following sub-section.
Web services use message types to define their input and output. On the other
hand, a business process uses business objects to describe the data flow. Both
concepts are not equivalent, because they are on completely different abstraction
levels as explained in the previous section. Instead of using message types in
business processes to model the data flow, one should create a mapping between
business objects and message types. This mapping can be used to discover Web
services by navigating from the business objects over the message types to the
belonging Web services.</p>
        <p>Our structural matching algorithm works as follows: We first extract all
business objects modelled as input and output of the business process step as
illustrated in step 1 in figure 2. Afterwards, we have two sets, one containing all
business objects required as input and the other one containing all business
objects required as output. For each of those business object sets we navigate
through the mapping to identify all message types. Implementing this navigation
is not trivial, because the modelling capabilities of the ARIS suite allows as many
abstraction levels between business object and message type as the user wants
including cyclic dependencies. Optimisation techniques must be used to
implement a high performing solution. For example, the business object customer used
in a business process is further decomposed into an address. This address can
be represented using different message types. The algorithm has to identify all
message types mapped to the business object. This is illustrated between steps
1 and 2 in figure 2. After this step, we have two sets of message types, one for
message types required as input and one for message types required as output.
In step 3 we check to which operation parameters those message types belong
and if the parameters have the same direction as the message types (input or
output). Extracting this information is possible, because we map the complete
content of the WSDL file and related XSD files to UML models as described
in section 3.2 and 3.3. If the message type is an operation parameter with the
correct direction, we extract the belonging operation as shown in step 4.
Afterwards, the operation’s owning Web service is extracted in step 5. At the end we
have two sets of Web services: one set supporting all input business objects and
the other set containing all web services supporting the output business objects.
In the final step 6 both result sets are intersected. The final result set of the
structural matching algorithm contains only those Web services, which are part
of both preliminary result sets and are therefore able to support all input as well
as all output business objects.</p>
        <p>As one can see, we do not check that a Web service has at least one
single operation able to support all business objects in the parameter list. While
automating business processes, this is normally not a problem, because
during transformation of a business process into an executable process model (like
BPEL), a process step can be split up into several technical steps. Also, adding
another operation to a Web service able to handle all business objects in one
request is often possible, if the Web service is owned by the company.</p>
        <p>The biggest disadvantage of the structural matching algorithm is the effort
required for mapping business objects to technical data structures. Many of
our customers have already created a comprehensive information architecture
consisting of the most important business objects, but matching those business
objects to technical data structures requires effort. Each customer must decide, if
this investment can be justified. As an alternative, we provide a more lightweight
matching algorithm, which is described in the following sub-section.
3.5</p>
      </sec>
      <sec id="sec-3-5">
        <title>Semantic Matching Algorithm</title>
        <p>Not all customers are interested in creating and managing an information
architecture. Therefore, we provide a second more lightweight approach for web
service discovery. First, the user creates a taxonomy for functional descriptions.
Each taxonomy object has a very short textual description, comparable to a
tag. In addition, a more detailed description including texts and diagrams can
be added so that the meaning of the tag can be illustrated for human users.</p>
        <p>The taxonomy is used to annotate Web services by assigning the tags to
them. Tags should be shared between Web services, if Web services have similar
properties or functional capabilities. For example, the tag web interface should
be added to all Web services providing a web based user interface.</p>
        <p>The taxonomy must be carefully designed and managed. For example, not
every user should be able to extend the taxonomy by creating new tags. Instead,
reuse of existing tags must be enforced. Tags must also be described in a way
that users have a clear understanding of their meaning.</p>
        <p>The taxonomy is also used during business process modelling to express what
kind of functionality is needed to automate a business process step. Tags are
assigned to a business process step for this purpose.</p>
        <p>The semantic matching algorithm first extracts all tags assigned to the
business process step to be automated. The extracted tags describe the service
request. Afterwards, we extract the tags assigned to each Web service and compare
this list to the service request. This way we can discover those web services able
to support the service request. This algorithm is much simpler compared to the
structural matching algorithm. For example, the algorithm does not support
decomposition of tags, so a Web service will not be discovered, if it has only a more
general tag assigned as specified in the service request. We do not see this as a
drawback, because this discovery algorithm is meant to be lightweight and easy
to understand.
3.6</p>
      </sec>
      <sec id="sec-3-6">
        <title>Web Service Assessment and Refinement</title>
        <p>The final result set consists of all Web services discovered either by the
structural matching algorithm or by the semantic matching algorithm. The matching
results are shown to the user in a graphical user interface. A screenshot can be
seen in figure 3. The screen design consists of three parts, which are marked in
the screenshot with the numbers 1–3.</p>
        <p>During the assessment phase the user further refines the result set. For
example, the user can search the descriptions and names of the Web services with
a string search or he can filter the list of Web services according to their
namespace. He can also filter the list according to the date the web services were
imported into ARIS. Those refinement settings are done in part 1 of the screen
design as shown in figure 3.</p>
        <p>The current result set can be seen in part 2 of the screen design. This part
also allows switching between a list of all Web services and the list with matching
Web services. This is useful in case the matching algorithms did not return a
satisfying discovery result.</p>
        <p>The user has to assess if a Web service fulfils the service request. This
assessment cannot be done based on the name of a Web service. Therefore, additional
information is shown in part 3 of the screen design for the currently selected
Web service. For example, all business objects supported by the Web service are
shown as well as the textual description. It is also possible to see in which other
contexts the Web service is used.</p>
        <p>Finally, the user selects a Web service and confirms this selection. The dialog
closes and the Web service is automatically attached to the business process step.
Now that a Web service is assigned to the business process step, this process step
is automated from a design point of view. If all steps in a business process are
supported by Web services, the model can be transformed to BPEL as we have
shown in [26].
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Example</title>
      <p>This section provides an example to better illustrate our discovery approach. The
example mentions two different roles – a business analyst and an IT architect.
The business analyst has no IT background, but instead experience in business
process modelling. The IT architect has SOA know-how and is able to use typical
SOA middleware products and standards. In reality, there are usually more roles
involved, but we tried to make the example not too complicated.</p>
      <p>A fictitious company defines an internal business process for organising
business trips. If such a business trip has to be done by car, the employee has to use
a company car, if available. Only if no company car is available, the employee is
allowed to rent a car from a defined car rental company.</p>
      <p>The car rental company provides a Web service for this purpose. In order to
be able to use this Web service in business process modelling, the Web service
must be made available in ARIS. An IT architect imports the Web service. The
content of the WSDL file is visualised as an UML component diagram as shown
in figure 4.</p>
      <p>Besides using this technical information, the IT architect annotates the web
service with tags from the company wide taxonomy to describe the service
semantically. The company wide taxonomy is defined prior and will not be changed
by the IT architect. In addition, the IT architect might add who is responsible
for this Web service. Figure 5 shows the annotated web service. There are four
tags describing the Web service and an owner is defined, as well.</p>
      <p>If the company has an information architecture, the IT architect maps the
message types used by the Web service to the belonging business objects. This
can be a complex task and he might have to consult business analysts to identify
the correct business objects. The mapping is done in different diagrams, which
are not shown.</p>
      <p>A business analyst models the business process described at the beginning of
this section. Figure 6 shows a small part of the business process. The business
analyst creates a business function and connects it with the input and output
business objects. In addition, the business expert specifies requirements by
relating the business function to tags from the company wide taxonomy. In reality,
companies have either an information architecture or a company wide taxonomy,
but not both.</p>
      <p>The business analyst wants to automate the business function using a web
service. He selects the business function and starts the integrated discovery tool.
The discovery tool evaluates the content of the business process by extracting
all input and output business objects and extracting the tags connected to the
business function. This information is the input for the semantic and structural
matching algorithms as described in section 3. The results are shown to the
business analyst in the graphical user interface discussed in section 3.6 and shown
in figure 3. The business analyst selects a Web service after assessing the different
choices. The Web service is automatically added to the business process as shown
in figure 7. The symbol of the business function is changed as well to visualise
that this process step is now automated by a Web service.</p>
      <p>The resulting business process cannot be executed directly, because different
technical information is missing. An IT analyst uses our EPC to BPEL
transformation [26] to generate a corresponding BPEL model. This BPEL model must be
further refined, for example selecting correct Web service operations or defining
technical exception handling.</p>
      <p>The example given in this section shows that a business analyst is able to
automate business processes by discovering matching Web services. In order
to select a Web service the business analyst does not need IT knowledge. On
the other hand, an IT expert implementing a business process gets a detailed
specification for his work.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>In this article we presented a Web service discovery tool for business process
automation. The tool is completely integrated in the world market leading tool
for business process management ARIS and the belonging ARIS method. In
contrast to other publications, our approach clearly separates between the different
abstraction levels by not mixing technical data with technology independent
business processes. The Web service discovery tool is structured around the
three discovery phases: matching, assessment, and selection. The intended
audience are non technical users like business analysts. The tool does not confront
them with unnecessary technical details. The matching algorithms used discover
a set of matching services. The result set can be assessed and refined by the user
or the user can switch to a list with all available Web services if needed. For
each Web service we provide additional information so that the user can make
an informed decision while selecting a Web service.</p>
      <p>In order to discover Web services, we use a structural matching algorithm and
a semantic matching algorithm. In both cases, the service request is extracted
from the business process model. No user input is required for defining the service
request, which simplifies the overall tool usage. The structural matching
algorithm identifies all Web services able to support the business objects modelled
at the business process step to be automated. This is possible based on a
mapping of Web service message types to business objects. The semantic matching
algorithm requires that Web services and the business process step are tagged
using a taxonomy. A Web service is considered to match semantically, if it has
at least all tags also attached to the business process step.</p>
      <p>So far, the tool was already deployed by several customers. Many
technical oriented users were fascinated by the structural matching algorithm, but it
seems that business oriented users like the semantic matching algorithm more.
However, at the current point we have not received enough feedback from the
field to make any final judgement. We already initiated a survey among the first
users, but the results are not available yet.</p>
      <p>
        Even though our customers perceive our current solution for Web service
discovery as good, there is still room for improvements. For example, the
structural matching algorithm does not scale very well, because we are not able to
use any optimisation techniques like pre-indexing or caching. This is not a
problem inherent in our algorithms, but related to the technological framework we
have to use. It is our challenge for the next months to find optimisation tricks
to overcome those problems. Another point of improvement is to allow a more
sophisticated semantic matching. For example, it should be possible to create a
tag hierarchy so that Web services are discovered, even if a more general tag was
assigned to them. Also, it should be possible to express that two tags cannot be
used together, because they contradict each other. However, we do not intend
to provide complete ontology modelling and matching possibilities in the near
future, because the tool must be easy and intuitive to use even without any
special training. We also plan to extend our web service discovery concept to
a more general service discovery concept. Basically, the service concept can be
used to describe any kind of business function. We will broaden the definition of
the service concept so that it better aligns with the service concept as defined
in OASIS’ SOA Reference Model [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. For example, a service must not be
implemented using software at all. We will extend our discovery approach to cover
such business services as well.
      </p>
      <p>Our most important contribution is to bring Web service discovery to a
nontechnical audience. Web service discovery can now be done by business analysts.
Even though there is still room for improvements, we are confident that our tool
helps bridging the gap between business and IT.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgement</title>
      <p>A first prototype of the discovery tool was partly funded by the German federal
ministry of education and research within the public research project OrViA
(http://www.orvia.de/). The literature review as well as preparing this paper
was supported by the EU Commission within the integrated research project
SUPER (http://www.ip-super.org/). We like to thank the German federal
ministry of education and research and the EU Commission for this opportunity!
25. Kokash, N., van den Heuvel, W.J., D’Andrea, V.: Leveraging web services
discovery with customizable hybrid matching. In Dan, A., Lamersdorf, W., eds.:
Service-Oriented Computing (ICSOC 2006). Proceedings of the Fourth
International Conference on. LNCS 4294, Berlin, Germany, Springer (2006) 522–528
26. Stein, S., Ivanov, K.: EPK nach BPEL Transformation als Voraussetzung fu¨r
praktische Umsetzung einer SOA. In Bleek, W.G., Raasch, J., Zu¨llighoven, H., eds.:
Software Engineering 2007. Volume 105 of Lecture Notes in Informatics (LNI).,
Hamburg, Germany, Gesellschaft fu¨r Informatik (GI) (March 2007) 75–80</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Scheer</surname>
            ,
            <given-names>A.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thomas</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Adam</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Process modelling using event-driven process chains</article-title>
          . In Dumas, M.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
          </string-name>
          , A.H.M., eds.:
          <source>ProcessAware Information Systems</source>
          . Wiley, Hoboken, New Jersey, USA (
          <year>2005</year>
          )
          <fpage>119</fpage>
          -
          <lpage>146</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fingar</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Business Process Management: The Third Wave. 1st edn</article-title>
          . Meghan-Kiffer Press, Tampa, FL, USA (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>MacKenzie</surname>
            ,
            <given-names>C.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laskey</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McCabe</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brown</surname>
            ,
            <given-names>P.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Metz</surname>
          </string-name>
          , R.:
          <article-title>Reference model for service oriented architecture 1.0</article-title>
          .
          <source>Technical report, OASIS (July</source>
          <year>2006</year>
          ) http://www.oasis-open.org/committees/download.php/19361/soa-rm-cs.
          <source>pdf.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>McGovern</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sims</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jain</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Little</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          : Enterprise Service Oriented Architectures. Springer, Dordrecht, The Netherlands (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Alves</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arkin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Askary</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barreto</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bloch</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ford</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goland</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kartha</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>C.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khalaf</surname>
            , R., K¨onig,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mehta</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thatte</surname>
            , S., van der Rijn,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yendluri</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yiu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Web services business process execution language (bpel) version 2.0</article-title>
          .
          <string-name>
            <surname>Technical</surname>
            <given-names>report</given-names>
          </string-name>
          , OASIS (April
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Blechar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Magic quadrant for business process analysis market, 2h07</article-title>
          .
          <source>Technical report, Gartner (June</source>
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Peyret</surname>
          </string-name>
          , H.:
          <article-title>The forrester wave: Enterprise architecture tools, q2</article-title>
          .
          <source>Technical report, Forrester (April</source>
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Scheer</surname>
            ,
            <given-names>A.W.</given-names>
          </string-name>
          : ARIS - Business
          <source>Process Frameworks. 3rd edn</source>
          . Springer, Berlin, Germany (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Foster</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kesselman</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tuecke</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The anatomy of the grid: Enabling scalable virtual organizations</article-title>
          .
          <source>International Journal of High Performance Computing Applications</source>
          <volume>15</volume>
          (
          <issue>3</issue>
          ) (
          <year>2001</year>
          )
          <fpage>200</fpage>
          -
          <lpage>223</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Weiss</surname>
          </string-name>
          , G.:
          <article-title>Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence</article-title>
          . MIT Press (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Clement</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hately</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>von Riegen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rogers</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <source>Uddi version 3.0.2. Technical report</source>
          , OASIS (
          <year>October 2004</year>
          ) http://www.oasis-open.org/committees/uddispec/.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Fuger</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Najmi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stojanovic</surname>
          </string-name>
          , N.:
          <article-title>ebxml registry information model version 3.0</article-title>
          .
          <string-name>
            <surname>Technical</surname>
            <given-names>report</given-names>
          </string-name>
          , OASIS (May
          <year>2005</year>
          ) http://docs.oasis-open.org/regrep-rim/
          <year>v3</year>
          .0/.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Szyperski</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Component Software: Beyond Object-Oriented Programming</surname>
          </string-name>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Christensen</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meredith</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weerawarana</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Web service description language (wsdl) 1.1</article-title>
          .
          <source>Technical report, W3 Consortium (March</source>
          <year>2001</year>
          ) http://www.w3.org/TR/wsdl.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Mitra</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lafon</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <source>Soap version 1.2. Technical report, W3 Consortium (April</source>
          <year>2007</year>
          ) http://www.w3.org/TR/soap.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Ramasamy</surname>
          </string-name>
          , V.:
          <article-title>Syntactical &amp; semantical web services discovery and composition</article-title>
          .
          <source>In: The 8th IEEE International Conference on E-Commerce Technology and the 3rd IEEE International Conference on Enterprise Computing</source>
          , E-Commerce, and
          <string-name>
            <surname>E-Services (CEC</surname>
          </string-name>
          /EEE'06). (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Fellbaum</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>WordNet: An Electronic Lexical Database</article-title>
          . MIT Press (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Zhuang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mitra</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaiswal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Corpus-based web services matchmaking</article-title>
          .
          <source>In: Workshop on Exploring Planning and Scheduling for Web Services, Grid and Autonomic Computing, held in conjunction with The Twentieth National Conference on Artificial Intelligence (AAAI '05)</source>
          , Pittsburgh, PA, USA (
          <year>July 2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Fensel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lausen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polleres</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de Bruijn</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Stollberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roman</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Domingue</surname>
          </string-name>
          , J.:
          <source>Enabling Semantic Web Services: The Web Service Modeling Ontology</source>
          . Springer (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Burstein</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hobbs</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lassila</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McDermott</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McIlraith</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Narayanan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paolucci</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Payne</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srinivasan</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sycara</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Owl-s: Semantic markup for web services</article-title>
          .
          <source>Technical report</source>
          (
          <year>2004</year>
          ) http://www.daml.org/services/owl-s/.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Akkiraju</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Farrell</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nagarajan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>M.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verma</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Web service semantics (wsdl-s) version 1.0</article-title>
          .
          <source>Technical report, W3 Consortium (November</source>
          <year>2005</year>
          ) http://www.w3.org/Submission/WSDL-S/.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Paolucci</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kawamura</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Payne</surname>
            ,
            <given-names>T.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sycara</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Semantic matching of web services capabilities</article-title>
          .
          <source>In: The Semantic Web - ISWC</source>
          <year>2002</year>
          :
          <article-title>First International Semantic Web Conference</article-title>
          . LNCS 2342/
          <year>2002</year>
          , Sardinia, Italy, Springer, Germany (
          <year>June 2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Kritikos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plexousakis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Semantic qos metric matching</article-title>
          .
          <source>In: 4th European Conference on Web Services (ECOWS)</source>
          .
          <source>(December</source>
          <year>2006</year>
          )
          <fpage>265</fpage>
          -
          <lpage>274</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stroulia</surname>
          </string-name>
          , E.:
          <article-title>Flexible interface matching for web-service discovery</article-title>
          .
          <source>In: Web Information Systems Engineering (WISE)</source>
          .
          <source>Proceedings of the Fourth International Conference on. (</source>
          <year>2003</year>
          )
          <fpage>147</fpage>
          -
          <lpage>156</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>