<!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>Modeling and Analysing Web Services Protocols</article-title>
      </title-group>
      <fpage>55</fpage>
      <lpage>60</lpage>
      <abstract>
        <p>Web services technology is emerging as the main pillar of serviceoriented architectures (SOA). This technology facilitates application integration by enabling programmatic access to applications through standard, XML-based languages and protocols. While much progress has been made toward providing basic interoperability among applications, there are still many needs and unexploited opportunities in this area. In particular, services in SOAs require richer description models than object or component interfaces. This is due to the loose coupling inherent in SOAs and therefore to the fact that services are developed independently of clients. Hence, service descriptions need to include all the information needed by clients to understand if they can interact with a service and how. We outline in this paper a novel approach developed as part of a PhD research work, based on web services protocols descriptions that allows for a high-level analysis based on operators.</p>
      </abstract>
      <kwd-group>
        <kwd>Julien Ponge</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>There is still a lot to be done to simplify service development and interaction. In
particular, an important aspect of Web services that affects interoperability is that services
are looselyc-oupled, that is, are not developed only to interact with specific clients but
are meant to serve the needs of many different clients, possibly developed by different
teams or even different companies. Hence, developers of client applications need to be
aware of all functional and non-functional aspects of a service to be able to understand
if they can/need inter-operate with a service and how to develop clients that can
interact correctly with the service. For this reason, service descriptions should be richer
than ”just” descriptions of interfaces as in conventional middleware. Specifically, it is
commonly accepted that a service description should include not only the interface, but
also the business protocol supported by the service, i.e., the specification of possible
message exchange sequences (conversations) that are supported by the service as well
as other useful abstractions (temporal constraints, transactions, vendor policies and so
on).</p>
      <p>
        The PhD research work outlined in this paper aims at developing a novel solution to
simplify the web services life-cycle management by providing a framework for
modeling and analysing web services described as extended protocols. This work is part of a
larger effort materialized by the ServiceMozaic platform [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] that enables to support
design, development and management of web services in a model-driven CASE tools set
environment. The paper first outlines this general framework, then reviews the state of
the art in the field of web services modeling and management. We then expose what we
have done so far by considering the temporal constraints abstraction to perform services
compatibility and replace-ability analysis. Finally, we conclude and provide directions
for future work.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Toward a model-driven framework for web services</title>
      <p>Protocols specifications describe the external behaviors of services, making them
essential for developers willing to create clients that can interact correctly with services.
We argue that protocols specifications can considerably simplify web services life-cycle
management. For example, during web services development, protocols of clients and
providers (possibly obtained from normative efforts such as RosettaNet1) can be
analyzed to identify which conversations can be carried out between two services,
therefore reducing potential runtime errors and suggesting possible modifications to improve
the compatibility with the service. Protocol analysis and management can also provide
valuable help to support change support and evolution. Indeed, it could enable the eased
identification of the modifications required by clients at the protocol level when services
protocols change. There are also promising applications like automated exceptions
handling, compliance verification, and static or dynamic binding, all by taking advantage of
the protocols descriptions. To realize such benefits, we aim at developing a conceptual
framework, and the associated CASE tool environment, named ServiceMozaic, that
enables to support design, development and management of web services. Our primary
goal is to develop a model-driven framework within which whole, or at least, central
parts of web services are generated and managed from models. The related research
issues are the following.</p>
      <p>– Protocol modeling. We built our framework upon an extended protocol model with
formal semantics that allows richer services descriptions. Beside its ability to
describe messages choreography constraints (i.e., the legal messages exchange
sequences), the proposed model includes relevant abstractions such as temporal
constraints, that enables users to better understand the external behavior of services.
To avoid creating a model that would be either too simplistic, or too complex, we
developed it upon an analysis of real-world e-commerce portals in order to identify
the abstractions that can be indeed useful for practitioners.
– Protocol analysis and management. We target three types of protocols analysis,
namely compatibility, replace-ability and consistency analysis. Compatibility
analysis consists in checking whether two services can interact correctly, based on their
protocol definitions (i.e., whether a conversation can take place between the
considered services). In turn, replace-ability analysis refers to the verification of whether
two protocols can support the same set of conversations (e.g., a service can replace
another one in general, or when interacting with specific clients). Finally,
consistency analysis is related to supporting changes in protocols and their impact on
requesters but has not been further investigated.</p>
      <sec id="sec-2-1">
        <title>1 See http://www.rosettanet.org/</title>
        <p>
          – Protocol algebra and protocol management operators. A distinctive feature of our
approach lies in the definition of operators to query, analyze, and transform
protocols. Such operators are the key to carry out most of the features described above.
– Protocols adapters and code generation. Theses two issues are part of the
ServiceMozaic platform but won’t be further detailed in this paper. Briefly, adapters [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] can
be created when compatibility (resp. replace-ability) analysis between two
protocols reveals that there exist some mismatches that make them not fully compatible
(resp. replaceable). Adapters allow to enhance the compatibility / replace-ability
level in such situations.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>State of the art</title>
      <p>
        Tools supporting web services development today are mainly concerned with
interoperability issues at the lower levels of the web services stack, like the mappings from
WSDL descriptions to Java/C# source code and vice-versa, making two SOAP-based
systems talk to each other. Similarly, the existing standards in the higher-level services
descriptions such as BPEL4WS, WSCI or WSCL proved to be more concerned with
implementation aspects than enabling the kind of formal analysis that we envision.
Indeed, the importance of formal analysis of web services protocols in terms of automated
support for services interoperability at the business protocol level has been discussed
in recent papers: [
        <xref ref-type="bibr" rid="ref1 ref3 ref4 ref5">1, 3–5</xref>
        ]. Several efforts recognize aspects of protocol specification in
component-based models [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ]. They provide models (e.g., pi-calculus based languages
for component interface specifications) and algorithms (e.g., compatibility checking)
that can be generalized for use in web services protocol specifications and management.
Indeed, various efforts in the general area of formalizing web services description and
composition languages emerged recently [
        <xref ref-type="bibr" rid="ref5 ref8">5, 8</xref>
        ]. However, in terms of managing the web
services development life-cycle, technology is still in the early stages. Consistency
analysis should have some interesting links with existing software engineering techniques
such as refactoring [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Our approach, based on a protocol algebra and protocol operators is novel in the
field. Specifically, it should be more fine-grained than the approaches mentioned above
when doing compatibility and replace-ability analysis. We believe that to some extent,
the development of a protocol algebra for formal services descriptions analysis
implemented inside a larger CASE tool, based on the identification of abstractions needed by
practitioners [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], can have the same impact that relational algebra had for relational
databases.
4
4.1
      </p>
    </sec>
    <sec id="sec-4">
      <title>Web services protocols modeling and analysis</title>
      <sec id="sec-4-1">
        <title>A model extended with temporal constraints</title>
        <p>
          Our model is based on the web services business protocol proposed in [
          <xref ref-type="bibr" rid="ref1 ref10">10, 1</xref>
          ], which is
built upon the traditional state machine formalism to represent messages choreography
constraints. States represent the different phases that a service may go through during
its interaction with a requester to the provider and vice-versa. A message corresponds
to the invocation of a service operation or to its reply. Hence, each state identifies a
set of outgoing transitions, and therefore a set of possible messages that can be sent
or received. Each transition is labeled with a message name followed by the message
polarity, that is, whether the message is incoming or outgoing. The protocols are
deterministic, that is to say, they have one initial state and, each state cannot provide more
than one outgoing transition labeled with the same message. The model also supports
the notion of final states, which correspond to the end of a successful conversation, in
the sense that the messages exchanges between the provider and the requester is over
on both sides. Briefly, the reason for using state machines as the basis for the model
is because it is familiar to users, it is suitable to described reactive behaviors, and the
notion of states is useful to perform services execution monitoring.
        </p>
        <p>
          We have extended the model (called timed web service business protocol) to cater
for temporal abstractions in [
          <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
          ]. Transitions can become timed transitions when
carrying temporal constraints. We identified two kinds of timed transitions. The first
one (which we called C-Invoke constraints ) relates to a time window during which the
related operation can be triggered explicitly by either the provider or the requester. The
other kind of transition that we identified corresponds to timed implicit transitions that
can automatically occur once a certain date and time has been reached. We called this
type of constraints M-Invoke . A proper discussion on the formal semantics of the model
would require too much space to fit in this paper, but we can recall that they are based
on the notion of timed execution traces, inspired by timed automata [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
4.2
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Temporal compatibility and replace-ability analysis</title>
        <p>
          Reactive systems have been widely studied, notably to the benefit of software and
hardware verification. For analysis purposes, two formal frameworks are of interest. The
first one is the temporal logics theory [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. It allows for expressing complex
requirements expressed as formulas that have to be satisfied on reactive systems modeled as
automata. For example, a complex safety property (”the event will never happen”) or a
liveness property (”the event will happen”) can be described within this framework. It
appears that we won’t need temporal logics and their timed extensions (such as [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]) as
we need to define simple timed constraints. The other framework is the timed automaton
[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] which provides a lot of interesting automata classes, notably the event-recording
automaton that has some valuable decidability and complexity properties on verification
techniques. We have developed mappings from/to timed web services business
protocols that are useful from a formal point of view. However, we try not to use straight
the existing timed automata verification techniques which have been developed with
the general cases in mind and are thus more demanding than the ad-hoc algorithms that
we can develop for timed protocols. What’s more, traditional verification techniques
lack the identification of partial compatibility and replace-ability, which is an
important contribution of this work. We have defined classes to identify different levels of
compatibility and replace-ability, as well as operators that can be applied to protocols
definitions to assess the level of compatibility and replace-ability. These classes can be
characterized by using and combining 3 operators (the timed compatible composition,
the timed intersection and the timed difference), for which we have a more detailed
definition as well as polynomial-time algorithms in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. We introduce the compatibility
and replace-ability classes below.
        </p>
        <p>– Partial compatibility (or simply, compatibility): A protocol P1 is partially
compatible with another protocol P2 if there are some executions of P1 that can inter-operate
with P2, i.e., if there is at least one possible conversation that can take place among
two services supporting these protocols
– Full compatibility: a protocol P1 is fully compatible with another protocol P2 if all
the executions of P1 can inter-operate with P2, i.e., any conversation that can be
generated by P1 is understood by P2.
– Protocol equivalence w.r.t. replace-ability : two business protocols P1 and P2 are
equivalently replaceable if they can be interchangeably used in any context and the
change is transparent to clients.
– Protocol subsumption w.r.t. replace-ability : a protocol P2 is subsumed by another
protocol P1 w.r.t. replace-ability if P1 supports at least all the conversations that P2
supports. In this case, protocol P1 can be transparently used instead of P2 but the
opposite is not necessarily true.
– Protocol replace-ability with respect to a client protocol : A protocol P1 can replace
another protocol P2 with respect to a client protocol Pc if P1 behaves as P2 when
interacting with a specific client protocol Pc.
– Protocol replace-ability with respect to an interaction role : Let PR be a business
protocol. A protocol P1 can replace another protocol P2 with respect to a role PR if
P1 behaves as P2 when P2 behaves as PR. This replace-ability class allows to identify
executions of a protocol P2 that can be replaced by protocol P1 even when P1 and
P2 are not comparable with respect to any of the previous replace-ability classes.
– Partial protocol replace-ability : Partial replace-ability is when there is
replaceability but only for some conversations and not others. For example, we have partial
replace-ability with respect to a client protocol when protocol P1 can replace
another protocol P2 in at least some of the conversations that can occur with another
PC protocol.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>
        After one year of work, we have proposed an extension of the web services business
protocols model proposed in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] to cater with temporal abstractions in [
        <xref ref-type="bibr" rid="ref11 ref12">12, 11</xref>
        ]. We
proposed a novel approach by characterizing the temporal compatibility and
replaceability classes by using protocols operators for which we have efficient algorithms. We
also have a link to the timed automata [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] theory that allows us to assess from a formal
point of view that it has interesting properties. The implementation of the web
services business protocol model has been done and will be soon extended with temporal
abstractions. We have also implemented an editor for protocols in the ServiceMozaic
platform as a GEF-based Eclipse plug-in 2.
      </p>
      <p>Future work includes focusing on the third kind of protocols-based analysis:
consistency analysis. We will also need to take into account multi-protocols choreography</p>
      <sec id="sec-5-1">
        <title>2 See http://www.eclipse.org/ and http://www.eclipse.org/gef/.</title>
        <p>analysis (the current work is focused on the analysis between a service provider and a
requester). Finally, other useful abstractions such as transactional properties will
provide another promising area of investigation.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Farouk</given-names>
            <surname>Toumani</surname>
          </string-name>
          , Boualem Benatallah, Fabio Casati:
          <article-title>Analysis and Management of Web Services Protocols</article-title>
          . DKE, Special issue from ER'
          <volume>04</volume>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grigori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nezhad</surname>
            ,
            <given-names>H.R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toumani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Developing adapters for web services integration</article-title>
          . In Springer-Verlag, ed.:
          <source>Procs of CAiSE'05. Lecture Notes in Computer Science</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bordeaux</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salaun</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mecella</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>When are two Web Services Compatible</article-title>
          ? In: VLDB TES'
          <volume>04</volume>
          , Toronto, Canada. (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Hull</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benedikt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Christophides</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
          </string-name>
          , J.: E-services:
          <article-title>a look behind the curtain</article-title>
          .
          <source>In: Proc. 22th Principles of Database Systems (PODS'03)</source>
          , San Diego, CA, USA, ACM (
          <year>2003</year>
          )
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bultan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hull</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
          </string-name>
          , J.:
          <article-title>Conversation specification: a new approach to design and analysis of e-service composition</article-title>
          .
          <source>In: WWW</source>
          <year>2003</year>
          , Budapest, Hungary,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2003</year>
          )
          <fpage>403</fpage>
          -
          <lpage>410</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <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>
          :
          <article-title>Adding Roles to CORBA Objects</article-title>
          .
          <source>IEEE Trans. Software Eng</source>
          <volume>29</volume>
          (
          <year>2003</year>
          )
          <fpage>242</fpage>
          -
          <lpage>260</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Yellin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Storm</surname>
          </string-name>
          , R.:
          <article-title>Protocol Specifications and Component Adaptors</article-title>
          .
          <source>ACM Trans. Program. Lang. Syst</source>
          .
          <volume>19</volume>
          (
          <year>1997</year>
          )
          <fpage>292</fpage>
          -
          <lpage>333</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Mecella</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pernici</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Craca</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Comatibility of e-services in a cooperative multi-platform environment</article-title>
          .
          <source>In: VLDB-TES'01</source>
          ,
          <string-name>
            <surname>Springer</surname>
          </string-name>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Fowler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beck</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brant</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Opdyke</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roberts</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Refactoring - Improving the Design of Existing Code</article-title>
          . Addison
          <string-name>
            <surname>Wesley</surname>
          </string-name>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <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>
          ,
          <string-name>
            <surname>Hamadi</surname>
          </string-name>
          , R.:
          <article-title>Conceptual Modeling of Web Service Conversations</article-title>
          .
          <source>In: Procs of CAiSE'03</source>
          . Volume 2681 of LNCS.,
          <string-name>
            <surname>Klagenfurt</surname>
          </string-name>
          , Austria, Springer (
          <year>2003</year>
          )
          <fpage>449</fpage>
          -
          <lpage>467</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Boualem</surname>
            <given-names>Benatallah</given-names>
          </string-name>
          , Fabio Casati, Julien Ponge, Farouk Toumani:
          <article-title>Compatibility and replaceability analysis for timed web service protocols</article-title>
          .
          <source>In: Proceedings of BDA</source>
          <year>2005</year>
          , SaintMalo, France. (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Boualem</surname>
            <given-names>Benatallah</given-names>
          </string-name>
          , Fabio Casati, Julien Ponge, Farouk Toumani:
          <article-title>On Temporal Abstractions of Web Services Protocols</article-title>
          .
          <source>In: Proceedings of CAiSE Forum</source>
          <year>2005</year>
          , Porto,
          <string-name>
            <surname>Portugal.</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Rajeev</surname>
            <given-names>Alur</given-names>
          </string-name>
          , David L.
          <article-title>Dill: A theory of timed automata</article-title>
          .
          <source>Theoretical Computer Science</source>
          (
          <year>1994</year>
          )
          <fpage>183</fpage>
          -
          <lpage>235</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Pnueli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The temporal logic of programs</article-title>
          . In: FOCS. (
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Alur</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Courcoubetis</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dill</surname>
            .,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Model-checking in dense real-time</article-title>
          .
          <source>Information and Computation</source>
          <volume>1</volume>
          (
          <year>1993</year>
          )
          <fpage>2</fpage>
          -
          <lpage>34</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>