<!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>Testing Transactions in Service Oriented Architectures</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Oviedo</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>This proposal studies the web transactions characteristics in Service Oriented Architectures (SOA) from a testing point of view. Our idea is to define adequacy criteria to test web transactions. This will be accomplished using risk analysis techniques in order to take into account the possible failures of the transactions. An adaptation of risk-based methodologies (like HAZOP or FMEA) will be applied to define adequacy criteria and the corresponding tests.</p>
      </abstract>
      <kwd-group>
        <kwd>web transaction</kwd>
        <kwd>risk-based testing</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <p>Web Services (WS) provide a new paradigm for developing Internet-based
applications using standard technologies and protocols. WS provide a standard means
of communication and collaboration among different distributed systems and
applications running on a variety of platforms.</p>
      <p>To describe interfaces, services, and protocols, new web programming languages
are used. Most of the web programming languages also include the notion of web
transaction, as a unit of work involving activities that may last long periods of time.</p>
      <p>
        Specific solutions for WS transactions should be considered since the traditional
transaction models based on ACID transaction are not suitable for WS typical
application scenarios [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In order to deal with ACID-related issues, various extended
transaction models have been adapted for WS. Extended transaction models mainly
relax the strict atomicity and isolation policy of ACID properties such that
intermediate results of active transactions are visible to other transactions. A web
transaction is structured as sagas [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], a sequence of several smaller sub-transactions,
each with an associated compensation. If one of the sub-transactions in the sequence
aborts, the compensations associated with all committed subtransactions are executed
in reverse order.
      </p>
      <p>
        Several standard protocols have been published to coordinate the actions of
distributed applications. The Business Transactions Protocol (BTP) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] published on
2002 was the first cross-industry attempt to produce an XML standard for
businessto-business transactions. The Web Services Composite Application Framework
(WSCAF) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] for Transaction Coordination is a set of specifications published by Arjuna,
Fujitsu, IONA, PLC, Oracle and Sun Microsystems on 2003. The Web Service
Coordination (WS-Coordination) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] provides the protocol for distributing the
coordination context of a transaction to its participants.
      </p>
      <p>
        Given the prominence of this technology, test methods are required to ensure that
robust, fault tolerant software services are deployed. Many software testing
techniques have been proposed, including control flow testing [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], model based
testing [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], passive testing [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], contract-based testing [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], model checking [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and so
on.
      </p>
      <p>But these techniques focus on service composition, not in the transactions. Our
proposed research is going to address this problem. We will provide specific
techniques to test WS transactions to assess the correct behavior of transactions in a
service composition.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Goals</title>
      <p>The aims and objectives of the proposed research are summarized below:
• Study the specific characteristics of web transactions
• Study the existing standards to handle web transactions
• Study the problems of testing WS based on long-running transactions
• Developing specific adequacy criteria to test web transactions
• Definition and application of testing techniques based on the previous criteria
• To validate the results
3</p>
    </sec>
    <sec id="sec-3">
      <title>Research methodology</title>
      <p>In this section we present the state of our research and the tentative plan for future
work.
3.1</p>
      <sec id="sec-3-1">
        <title>The work done to date</title>
        <p>Up to now we have studied the state of the art in two important fields: transactions
properties and web services transactions standards protocols. Also we have studied
some risk analysis techniques that could be used to discover the possible failures in a
web transaction and produced a first classification of risks and a generic definition of
tests to mitigate these risks.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.1.1 Transactions properties and Web Services Transactions protocols</title>
        <p>We have studied a number of the possible ACID variations for web transactions
testing.</p>
        <p>
          Younas et al [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] analyses the characteristics of Web-multidatabase transactions and
proposes a relaxtion of ACID test. Lanotte et al [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] developed a model of
Communicating Hierarchical Timed Automata suitable to describe long-running
transactions and the automaton-theoretic approach allows the verification of
properties by model checking. Fischer [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] defines set consistency, a new notion of
consistency for long-running transactions, and implemented an algorithm for
verifying set consistency to propositional validity. Cacciari [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] explain the
importance of controllability and observability in distributed testing. Zhang [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]
presents an approach that preserves the semi-atomicity of flexible transactions,
allowing local sites to autonomously maintain serializability and recoverability. Jin
[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] et al suggests that web transactions are constructed through a series of
compensable transactions, using the concept of compensation to ensure a relatively
relaxed atomicity. Emmi [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] proposes a technique to translate programs with
compensations to tree automata in order to verify compensating transactions
supporting the illusion of atomicity.
        </p>
        <p>Subtransactions, compensatory actions and relaxed atomicity are three of the most
important concepts in long-running transactions. A coordinator agent is required to
manage these new concepts.</p>
        <p>
          We have studied the existing standards protocols: Business Transactions, Web
Services Composite Application Framework for Transaction Coordination.
The most recent and widely accepted standards are Web Service Coordination, Web
Service AtomicTransactions (WS-AT) [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] and Web Service BusinessActivity
(WSBA) [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. WS-Coordination provides the protocol for distributing the coordination
context of a transaction to its participants. A WS-AT is a short-lived transaction
implementing the two-phase commit (2PC) protocol in terms of Web Services. The
main purpose of WS-BA is to coordinate long-running, compensation-based activities
that may consist of several atomic transactions. So our work focuses on these three
standards.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.1.2 Long-running transaction risk analysis</title>
        <p>
          Risk analysis is a set of techniques used to investigate problems created by
uncertainty and to assess their effects. Originally it was used in areas like nuclear,
chemical and space industries. But nowadays it is used in software development
where safety is very important too [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
        </p>
        <p>
          HAZOP [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] is a methodology for identifying and dealing with potential problems
in industrial processes, particularly those which would create a hazardous situation or
a severe impairment of the process. A quantitative analysis generally has the
following stages: (1) Definition of the subsystems, (2) Identification of the hazards in
each subsystem, (3) Estimation of the likelihood of a hazard becoming an accident, and
(4) Discovery of the consequence of the hazard if it were to occur.
        </p>
        <p>
          Several papers have suggested adaptations of HAZOP to the software environment
[
          <xref ref-type="bibr" rid="ref20">20</xref>
          ][
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]. We think that this technique could be used to analyze the possible failures in
a web transaction. Our current work have already achieved some results. We have
defined a set of testing properties (Composition, Sorting, Visibility, Consistency,
Permanency, Recovery, and Control). For each property we have identified the risks
and we have specified a set of tests in order to check all transactions aspects.
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Future work</title>
        <p>The main contribution of the research to Web Engineering is to create a conceptual
framework to testing web transactions. This model will be organized hierarchically by
levels. In the top level we define a set of properties based in the long-running
transactions properties and the web services transactions protocols. In the next level,
based on the generic transactions properties that we have proposed, we will apply risk
analysis techniques for each property in order to identify potential failures and
possible causes. The third level will state a set of tests to mitigate each identified risk.
At this level we can identify potential problems in testing web transactions. In the last
level we will specify how to use existing or new testing techniques to execute the
proposed tests. The frame is illustrated in Figure 1.</p>
        <p>The next work is to validate the obtained results in a real platform. We will
develop some examples with injected faults and then we will apply the approach to
analyze its feasibility and fault detection ability.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgements</title>
      <p>This work was partially funded by the Department of Science and Technology (Spain)
and ERDF funds under the National Program for Research, Development and
Innovation, project Test4SOA (TIN2007-67843-C06-01) and the RePRIS Software
Testing Network (TIN2007-30391-E).
5</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Wenya</given-names>
            <surname>Yang</surname>
          </string-name>
          , ShaohuaTang, A Solution for Web Services Transaction,
          <source>International Conference on Hybrid Information Technology</source>
          ,
          <year>2006</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>H.</given-names>
            <surname>Garcia-Molina</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Salem</surname>
          </string-name>
          , Sagas, in
          <source>: Proc. SIGMOD</source>
          '
          <volume>87</volume>
          (ACM Press,
          <year>1987</year>
          )
          <fpage>249</fpage>
          -
          <lpage>259</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Li</surname>
            <given-names>Li</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu Chou</surname>
          </string-name>
          , Weiping Guo,
          <source>Control Flow Analysis and Coverage Driven Testing for Web Services</source>
          , 2008 IEEE International Conference on Web Services
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>X.</given-names>
            <surname>Bai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Dong</surname>
          </string-name>
          , W.T. Tsai, and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <source>WSDLBased Automatic Test Case Generation for Web Services Testing, Proceeding of IEEE Int'l Workshop on Service-Oriented System Engineering (SOSE)</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>207</fpage>
          -
          <lpage>212</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Abdelghani</given-names>
            <surname>Benharref</surname>
          </string-name>
          , Rachida Dssouli, Mohamed Adel Serhani, Roch Glitho,
          <article-title>Efficient traces' collection mechanisms for passive testing of Web Services, Information</article-title>
          and
          <string-name>
            <given-names>Software</given-names>
            <surname>Technology</surname>
          </string-name>
          , Volume
          <volume>51</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>2</given-names>
          </string-name>
          ,
          <string-name>
            <surname>February</surname>
            <given-names>2009</given-names>
          </string-name>
          , Pages
          <fpage>362</fpage>
          -
          <lpage>374</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Reiko</given-names>
            <surname>Heckel</surname>
          </string-name>
          , Marc Lohmann,
          <source>Towards Contract-based Testing of Web Services, Electronic Notes in Theoretical Computer Science</source>
          , Volume
          <volume>116</volume>
          ,
          <issue>19</issue>
          <year>January 2005</year>
          , Pages
          <fpage>145</fpage>
          -
          <lpage>156</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>José</given-names>
            <surname>García-Fanjul</surname>
          </string-name>
          , Claudio de la Riva,
          <article-title>Javier Tuya, Generation of Conformance Test Suites for Compositions of Web Services Using Model Checking</article-title>
          , Testing: Academic &amp; Industrial Conference - Practice and Research
          <string-name>
            <surname>Techniques (TAIC-PART</surname>
            <given-names>)</given-names>
          </string-name>
          ,
          <year>Windsor</year>
          ,
          <year>2006</year>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Muhammed</given-names>
            <surname>Younas</surname>
          </string-name>
          , Bary Eagelstone,
          <string-name>
            <given-names>Rob</given-names>
            <surname>Holton</surname>
          </string-name>
          ,
          <article-title>A review of Multidatabase Transactions on the Web: from ACID to SACRED</article-title>
          , BNCOD
          <year>2000</year>
          :
          <fpage>140</fpage>
          -
          <lpage>152</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Ruggero</given-names>
            <surname>Lanotte</surname>
          </string-name>
          , Andrea Maggiolo-Schettini, Paolo Milazzo, Angelo Troina,
          <article-title>Design and Verification of Long-Running Transactions in a Timed Framework</article-title>
          ,
          <source>Science of Computer Programming</source>
          Volume
          <volume>73</volume>
          ,
          <string-name>
            <surname>Issue</surname>
          </string-name>
          2-3 (
          <year>October 2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Jeffrey</given-names>
            <surname>Fischer and Rupak Majumdar</surname>
          </string-name>
          ,
          <article-title>Ensuring Consistency in Long Running Transactions, twenty-</article-title>
          <string-name>
            <surname>second</surname>
            <given-names>IEEE</given-names>
          </string-name>
          /ACM international conference on
          <source>Automated software engineering</source>
          ,
          <year>2007</year>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>L.</given-names>
            <surname>Cacciari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Rafiq</surname>
          </string-name>
          ,
          <article-title>Controllability and observability in distributed testing</article-title>
          ,
          <source>Information and Software Technology</source>
          <volume>41</volume>
          (
          <year>1999</year>
          )
          <fpage>767</fpage>
          -
          <lpage>780</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nodine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bhargava</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Bukhres</surname>
          </string-name>
          ,
          <article-title>Ensuring relaxed atomicity for flexible transactions in multidatabase systems</article-title>
          ,
          <source>ACM SIGMOD Record</source>
          Volume
          <volume>23</volume>
          , Issue 2 (
          <year>June 1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Jing</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <article-title>Specifyng and verifying web transactions</article-title>
          ,
          <source>International Federation for Information Processing 2008</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Emmi</surname>
          </string-name>
          , . Majumdar,
          <source>Verifying Compensating Transactions, Lecture Notes in Computer Science</source>
          Volume
          <volume>4349</volume>
          /2007 Springer Berlin / Heidelberg
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>OASIS</given-names>
            <surname>Business Transaction</surname>
          </string-name>
          <string-name>
            <surname>Protocol</surname>
          </string-name>
          , http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=business-transaction
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Web</given-names>
            <surname>Services Composite Application Framework</surname>
          </string-name>
          , http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=ws-caf
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Web</given-names>
            <surname>Services Coordination</surname>
          </string-name>
          , http://docs.oasis
          <article-title>-open.org/ws-tx/wstx-wscoor-1.1-spec-errataos/wstx-wscoor-1.1-spec-errata-os</article-title>
          .html
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Web</given-names>
            <surname>Services Atomic Transaction</surname>
          </string-name>
          , http://docs.oasis-open.org/ws-tx
          <source>/wstx-wsat-1</source>
          .1- spec/wstx-wsat-
          <volume>1</volume>
          .1-spec.html
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Web</given-names>
            <surname>Services Business Activity</surname>
          </string-name>
          , http://docs.oasis-open.org/ws-tx
          <source>/wstx-wsba-1</source>
          .
          <fpage>1</fpage>
          <string-name>
            <surname>-</surname>
          </string-name>
          specerrata-os.pdf
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bennett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Bohoris</surname>
          </string-name>
          , E. Aspinwall,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hall</surname>
          </string-name>
          ,
          <article-title>Risk analysis techniques and their application to software development</article-title>
          ,
          <source>European Journal of Operational Research</source>
          <volume>95</volume>
          (
          <year>1996</year>
          )
          <fpage>467</fpage>
          -
          <lpage>475</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>T.</given-names>
            <surname>Kletz</surname>
          </string-name>
          ,
          <article-title>Hazop and Hazun: Identifying and Assessing Process Industry Hiizards, Institution of Chemical Engineers, third edition</article-title>
          ,
          <year>1992</year>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>J. V.</given-names>
            <surname>Earthy</surname>
          </string-name>
          ,
          <article-title>Hazard and operability studies as an approach to software safety assessment</article-title>
          ,
          <source>in I.E.1:. Computing and Control Division Colloquium on Hazard Analysis. Nov</source>
          .
          <year>1992</year>
          , Institution of Electrical Engineers, Digest No.:
          <year>1992</year>
          /198.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>