<!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>Model-driven Adapter Development for Web Services Interactions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Hamid Reza Motahari Nezhad</string-name>
          <email>hamidm@cse.unsw.edu.au</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National ICT of Australia (NICTA) Sydney</institution>
          ,
          <addr-line>NSW 1430</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>The School of Computer Science and Engineering, The University Of New South Wales Sydney</institution>
          ,
          <addr-line>NSW 2052</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
      </contrib-group>
      <fpage>37</fpage>
      <lpage>42</lpage>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Application integration has been one of the main drivers in the software market
during the late nineties and into the new millennium. The typical approach to
integration and process automation is based on the use of adapters and message
brokers [
        <xref ref-type="bibr" rid="ref1 ref13 ref5">1, 13, 5</xref>
        ]. Adapters wrap the various applications (which are in general
heterogeneous, e.g., have dierent interfaces, speak dierent protocols, and
support dierent data formats) so that they can appear homogeneous and therefore
integrated more easily.
      </p>
      <p>
        Web services have emerged as a solution to (or at least as a
simplication of) the integration problem [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The main benet they bring is that of
standardization, in terms of data format (XML), interface denition language
(WSDL), transport mechanism (SOAP) and many other interoperability aspects.
Standardization reduces heterogeneity and makes it therefore easier to develop
business logic that integrates dierent (Web service-based) applications. While
standardization makes interoperability easier, it does not remove the need for
adapters. In fact, although the lower levels of the interaction stacks are
standardized, dierent Web services may still support dierent interfaces and protocols.
For example, although two driving direction services may support XML and
use SOAP as transport mechanism, they may still provide operations that have
dierent names, dierent parameters, and dierent business protocols (that is,
dierent constraints on the order in which they should be invoked for the clients
to achieve a certain functionality).
      </p>
      <p>The need for adapters in Web services comes from two sources: one is the
heterogeneity at the higher levels of the interoperability stack (e.g., at business
protocol level), and the other is the high number and diversity of clients, each
of which can support dierent interfaces and protocols, thereby generating the
need for providing multiple faces to the same service.</p>
      <p>In this paper, we elaborate on the problem of developing adapters for Web
service interactions. In the following, rst, we characterize the problem of
adaptation by identifying and classifying dierent kinds of adaptation needs in Web
services (Section 2). Then, we briey explain our preliminary contribution on
adapter development for Web services (Section 3.1). Section 3.2 highlights the
open problems, plans and research directions. Finally, Section 4 discusses related
work.
2</p>
      <p>Characterizing the Problem of Adapter Development
for Web services
Interoperability among Web services, just like interoperability in any distributed
system, requires that services use the same (or compatible) protocols, data
formats, and semantics. Broadly speaking, we identify the following integration
layers:
{ Messaging. Any interaction requires information to be transferred among
two or more parties. Hence, services should support messaging protocols
interoperability, regardless of the syntax and semantics of the information.</p>
      <p>
        In Web services, the most common protocol at this layer is SOAP.
{ Basic Coordination . The coordination layer is concerned with
requirements and properties related to a set of message exchanges among two or
more partners. For example, two or more services may need to coordinate
to provide atomicity based on 2-Phase commit [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. WS-Transaction is an
example of specication at this level.
{ Business-level interfaces and protocols . The above layers are concerned
with the transfer of messages among services. To interact, services must also
have compatible:
      </p>
      <p>Interfaces (i.e., the set of operations supported by services). WSDL is
the common standard for expressing interfaces.</p>
      <p>
        Business protocols (i.e., the supported message exchange sequences by
the service). These can be expressed for example using BPEL abstract
processes, WSCI, or other protocol languages (see, e.g., [
        <xref ref-type="bibr" rid="ref1 ref4">4, 1</xref>
        ]).
{ Policies and non-functional aspects . The denition of a service may
include policies (e.g., privacy policies) and other non-functional aspects (e.g,
QoS descriptions) that are useful for clients to understand if they can/want
interact with the service.
      </p>
      <p>
        Standardization eorts in Web services reduces the heterogeneities between
service specications, and thereby the number of required adapters.
Nonetheless, standardization does not address all interoperability problems and does not
remove the need for adaptation. One typical interoperability issue arises by
standard evolution, so that services, which are using dierent versions of the same
standard may not be able to interoperate. For instance, SOAP 1.2 allows the use
of HTTP GET method, while SOAP 1.1 supports only HTTP POST method.
This change is in the syntax of the specication, but it aects the interoperation
of interacting services. Ryan et. al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] study this problem and employs a
translator to translate the message from one format to another. The interoperation
problem at the higher integration layers, e.g., business-level interfaces and
protocols is more discernible. What standardization provides at these layers is a set
of languages to dene service specications and hence leaves these specications
open to syntactical, structural and semantics heterogeneities, even though they
are described using the same languages. Since interoperation at the other layers
has been the subject of other research (e.g., [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]) or standardization, we focus on
interoperability issues and adapter development at the business-level interfaces
and protocols layer.
      </p>
      <p>
        We classify the need for adaptation in Web services in two basic categories:
adaptation for compatibility and for replaceability. The rst category refers to
wrapping a Web service so that it can interact with another service. It is needed
when two services are functionality-wise compatible, but incompatible in
interface or protocol specications. The second category refers to modifying a Web
service so that it becomes compliant with (i.e., can be used to replace) another
service (see [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for detailed discussion on compatibility and replaceability).
3
      </p>
      <p>Model-driven Adapter development for Web services
The intended benet of model-driven adapter development is to help
programmers to develop adapters through a methodology and semi-automated code
generation, starting from the protocol denitions. In the following, we rst explain
our preliminary contribution in this direction and then outline the open problems
and future work.
3.1</p>
      <p>
        Capturing Mismatches between Protocols as Design Patterns
Essentially, an adapter is a service which sits in between incompatible services
and compensate for their dierences [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. This requires performing activities
such as receiving and storing messages, transforming message data, and
invoking service operations. These tasks can be modeled by process-centric service
composition languages such as BPEL. We have analyzed interfaces and
protocols of Web services to identify the most typical dierences and for these we have
captured the corresponding mismatches in form of mismatch patterns, which are
design patterns [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Each mismatch pattern includes an adapter template, which
is represented as a BPEL process skeleton to handle the mismatch, as well as a
sample usage. The template can be used both as guideline for adapter developers
and as input to a tool that automatically generates the adapter code.
      </p>
      <p>We distinguish between two types of mismatches: interface-level and
protocollevel. Mismatches at the interface-level characterize heterogeneities related to
operation denition in WSDL interfaces. Examples at this level include
operation signature mismatch and parameter constraint mismatch. The former is
concerned with identifying dierences and providing mappings between the
signatures of operations (e.g., operation names, name and type of in/out messages
and and their parameters), and the latter deals with potential mismatches
between the constraints on parameters in the input/outputs messages (e.g.,
accepted value ranges). Protocol level mismatches characterize heterogeneities
related to message choreography and temporal/transaction properties. Examples
include dierences on the order in which each protocol accepts a certain
message, there is an extra (missing) messages in one protocol, or the case where
the information required in one message in one protocol is captured in several
messages in the other and so there is a need for a merge/split action.</p>
      <p>Given the mismatch patterns, an analyst can identify the dierences between
business protocols by instantiating the mismatch patterns as many times as
required. Currently, we are developing mechanisms to compose adapter templates.
We are also implementing all research on adapter development using Java/J2EE
as plug-ins in the Eclipse platform. These include a mismatch pattern editor and
an adapter code generator, which generates BPEL code.
3.2</p>
      <p>
        Towards an Extensible Framework for Model-driven Adapter
Development
We believe the eective use and widespread adoption of service technologies and
standards requires high-level frameworks and methodologies for supporting
automated development and interoperability. The requirement of such a framework
are as the followings:
{ (Semi-)Automatic identication of mismatches . Our research so far
does not address the problem of (semi-) automatically identifying dierences
between two business protocols. This problem is extremely challenging as any
solution to it must take into account advances in multiple research disciplines
including software component matching and adaptation [
        <xref ref-type="bibr" rid="ref13 ref14">14, 13</xref>
        ], protocol
algebra for Web services [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and schema matching [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and semantic Web
services [15{17]. This problem could be studied at two levels:
      </p>
      <p>
        Interface level. The goal is to (i) (semi-)automatically identify
mismatches between WSDL interfaces of services in terms of identied
mismatch patterns, (ii) generate relevant mappings between operations and
messages in the interfaces to be the input for the adapter templates in
the mismatch pattern. It is a very challenging problem, and a variation
of it has been the subject of other research [
        <xref ref-type="bibr" rid="ref6 ref7 ref9">6, 9, 7</xref>
        ], although they do not
consider service interfaces with the constraint of protocol models.
Protocol level. The goal is to be able to semi-automatically discover
mismatches between two protocols. We use an extended state machines
formalism to specify protocols [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Protocols also can be represented using
citeabstract process notion of process-centric languages such as BPEL.
The research at this level is mostly related to adapter development for
protocols in software components [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and model-driven service
development [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Our preliminary investigation into semi-automatic
identication of mismatch shows that the problem of nding mismatches at the
protocol level would be considerably simplied by identifying the
mappings at the interface level. So, an approach to tackle this problem is to
rst elaborate on the problem of generating mappings at the interface
level and then extend it to the protocol level.
{ A methodology to guide semi-automated adapter development .
      </p>
      <p>There is a need for an extensible model-driven framework and a
methodology to generate adapter code from given protocol models. The framework
should be extensible to allow for interpolating of variant methods for
interface and protocol mismatch identication, when they become available.
4</p>
    </sec>
    <sec id="sec-2">
      <title>The State of the Art in Adapter Development</title>
      <p>
        There has been substantial eorts and progress in in the area of Web services
most of which has been focused on service description models and languages,
standards, and on automated service discovery and composition [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Recently,
researchers have considered the problem of similarity and compatibility at
different levels of abstractions of a service specication (e.g., [
        <xref ref-type="bibr" rid="ref11 ref16 ref4 ref6 ref7 ref8 ref9">4, 8, 6, 9, 7, 11, 16</xref>
        ]).
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], techniques for assessing the similarity of WSDL interfaces of
services are proposed for service discovery but these do not consider the
problem of identifying interface mappings. In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], a framework for handling dierences
among service interfaces is proposed, however, the assumption that Web service
interfaces are derived from a common base limits its application to real world
scenarios. This problem of identifying interface mapping is akin to that of
identifying correspondence and mappings in schema matching [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] with the dierence
that in schemas there is no notion of messages and also the operation abstraction
to relate them.
      </p>
      <p>
        In terms of protocols specication and analysis, existing approaches provide
models (e.g., based on pi-calculus or state machines) and mechanisms to
compare specications (e.g., protocols compatibility and replaceability checking) [
        <xref ref-type="bibr" rid="ref4 ref8">4,
8</xref>
        ]. Considering from the software engineering perspective, in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], the authors
focus on analyzing dierences related to data types and to pre- and post-conditions
in component interfaces. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] CORBA IDL is extended based on pi-calculus
to incorporate protocol denition that is then used in checking for components
compatibility and replaceability. In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] the focus is on developing adapters for
software components that have compatible functionality but incompatible
interfaces and protocols. However, this approach assumes that interface mappings
are provided. These eorts provide mechanisms that can be leveraged for Web
service protocols adaptation, but are not sucient. In fact, service protocols
require richer description models than component interfaces and protocols. This
is because clients and services are typically developed by separate teams,
possibly even by dierent companies, and service descriptions are all that client
developers have to understand to know how the service behaves.
      </p>
      <p>
        Another related area is the work on semantic Web services [15{17]. The idea
here is to empower the description of Web services with semantic information
using ontologies. Two main approaches in this area are: describing services
using ontology languages such as OWL-S 3 [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], and annotating service descriptions
with semantics (e.g., like in WSDL-S 4)[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The main idea of the latter approach
3 http://www.w3.org/Submission/OWL-S/
4 http://lsdis.cs.uga.edu/library/download/WSDL-S-V1.html
is to use the same set of WS-* family of standards as opposed to proposing new
standards for Web service descriptions in OWL-S, and relax the choice of
ontologies to some other alternatives in addition to OWL. The use of semantics
information in form of shared ontologies diminishes the semantic heterogeneities
of service interfaces and protocols, thus simplies service adaptation [
        <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
        ].
However, the issues related to dening reference ontologies to be shared,
ontology compatibility checking, merging and customization has aected the wide
acceptance of these approaches.
      </p>
      <p>In a nutshell, in this work we aim at transforming the development of adapters
for web services from a tedious and error prone work to a process that is
modeldriven and, to a large extent, automated. To the best of our knowledge, there is
no existing work that considers this problem for Web services.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Alonso</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuno</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Machiraju</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <source>Web Services: Concepts</source>
          ,
          <string-name>
            <surname>Architectures</surname>
          </string-name>
          , and Applications. Springer, (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Ryan</surname>
            <given-names>N. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>A. L.</given-names>
          </string-name>
          :
          <article-title>Using Event-Based Translation to Support Dynamic Protocol Evolution</article-title>
          . ICSE'
          <volume>04</volume>
          .
          <string-name>
            <surname>Edinburgh</surname>
          </string-name>
          , Scotland, United
          <string-name>
            <surname>Kingdom</surname>
          </string-name>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grigori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nezhad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.R.</given-names>
            ,
            <surname>Toumani</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>Developing Adapters for Web services Integration</article-title>
          . CAiSE, Porto, Portugal (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toumani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Representing, Analysing and Managing Web Service Protocols. Data and Knowledge Engineering</article-title>
          . Elsevier
          <string-name>
            <surname>Science</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Canal</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fuentes</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pimentel</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Troya</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vallecillo</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          : Adding Roles to CORBA Objects.
          <source>IEEE TSE</source>
          ,
          <volume>29</volume>
          (
          <issue>3</issue>
          ), (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Dong</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halevy</surname>
            ,
            <given-names>A. Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Madhavan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nemes</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>J</given-names>
          </string-name>
          :
          <article-title>Similarity Search for Web Services</article-title>
          . VLDB Conference. Toronto, Canada, (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Ponnekanti</surname>
            ,
            <given-names>S. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Interoperability among Independently Evolving Web Services</article-title>
          . Middleware. Toronto, Canada (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Bordeaux</surname>
          </string-name>
          et al:
          <article-title>When are two Web Services Compatible? VLDB TES</article-title>
          , (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <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>
          ,
          <string-name>
            <surname>WISE</surname>
          </string-name>
          , Roma, Italy, December (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Baina</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benatallah</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Toumani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Model-Driven Web Service Development. CAiSE</surname>
          </string-name>
          , Riga, Latvia, June (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Wombacher</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mahleko</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fankhauser</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neuhold</surname>
          </string-name>
          , E.:
          <article-title>Matchmaking for Business Processes based on Choreographies</article-title>
          . EEE. Taipei,
          <string-name>
            <surname>Taiwan</surname>
          </string-name>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Rahm</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bernstein</surname>
            ,
            <given-names>Ph. A.</given-names>
          </string-name>
          :
          <article-title>A Survey of Approaches to Automatic Schema Matching</article-title>
          .
          <source>VLDB J</source>
          .
          <volume>10</volume>
          (
          <issue>4</issue>
          ), (
          <year>2001</year>
          )
          <fpage>334</fpage>
          -
          <lpage>350</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Yellin</surname>
            ,
            <given-names>D. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strom</surname>
            ,
            <given-names>R. E.</given-names>
          </string-name>
          :
          <article-title>Protocol Specication and Component Adaptors</article-title>
          .
          <source>ACM TOPLAS</source>
          ,
          <volume>19</volume>
          (
          <issue>2</issue>
          ), (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Zaremski</surname>
            ,
            <given-names>A. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wing</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          :
          <article-title>Specication Matching of Software Components</article-title>
          .
          <source>ACM TOSEM</source>
          ,
          <volume>6</volume>
          (
          <issue>4</issue>
          ) , October (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , et. al.:
          <article-title>Bringing Semantics to Web Services: The OWL-S Approach</article-title>
          . SWSWPC, San Diego, USA (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Patil</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oundhakar</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verma</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Meteor-s Web Service Annotation Framework</article-title>
          .
          <source>WWW '04</source>
          , New York, USA (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>S.K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Battle</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Cuadrado</surname>
            ,
            <given-names>J.E.</given-names>
          </string-name>
          :
          <article-title>Protocol Mediation for Adaptation in Semantic Web Services</article-title>
          .
          <source>Hewlett-Packard Technical Report (HPL-78)</source>
          . May (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>