<!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>A Top-Down Approach Based on Business Patterns for Web Information Systems Design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marinette Savonnet</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jean-Claude Simon</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marie-No¨elle Terrasse</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E´ric Leclercq</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Marinette.Savonnet</institution>
          ,
          <addr-line>Jean-Claude.Simon,Marie-Noelle.Terrasse,Eric</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Burgundy Le2I Laboratory - UMR 5158 B.P.</institution>
          <addr-line>47 870, 21078 Dijon Cedex -</addr-line>
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2009</year>
      </pub-date>
      <abstract>
        <p>In this paper we develop an approach that is based on a topdown strategy to realization of transactional web services. Our approach highlights non-functional properties (e.g., traceability, security) which are essential to preserving an application's quality. It is implemented in three steps. The first step is a breakdown of the application in accordance with a related business involved. The goal of this step is to have sets of actors and activity patterns defined as an activity workflow that support the architecture of the application. The next step allows developing a mapping of the activity pattern on this architecture. The aim of this step is to identify the risk for non-functional properties. The last step is the translation of patterns in abstract web service.</p>
      </abstract>
      <kwd-group>
        <kwd>eco-system</kwd>
        <kwd>non-functional properties</kwd>
        <kwd>transactional web service</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        As discussed in a European report [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the ISU (Interoperability Service Utility)
layer would allow enterprise interoperability in the “Service Oriented” world. ISU
should provide enterprises with modular software building blocks corresponding
to a functional decentralization of their business areas. One of the major
issues here is the fact that software block combinations do not scale up easily
in terms of their complexity, their validation, their compensation mechanisms,
etc. Usually software building blocks are composed (e.g., by using choreography
and orchestration of web services) in a bottom-up manner in order to provide
complex web services. The European report [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] also emphasizes the importance
of assuring certain properties in the context of the eco-system of enterprises.
      </p>
      <p>In this paper we propose an approach for Web Information Systems design.
This approach is based on a top-down strategy that focuses on a business-driven
analysis of an eco-system’s activities in order to determine combinations of
software blocks. One of the major issues dealt with in this paper is how to reveal all
interactions between software blocks that are tied to non-functional, yet essential,
properties such as traceability, data confidentiality, and security. We then
combine existing web services in order to build a high-level technological framework
which would allow to develop our application. Essential non-functional
properties are used as guidelines in order to facilitate convergence of the functional and
technological aspects.</p>
      <p>Section 2 presents context of our example and sections 3 to 5 outline our
approach. Section 6 presents our on-going work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Context of our application</title>
      <p>We apply our approach to the DEFOR1 application example. The network for
the sustainable management of cultivated forest aims to develop collaborations
between the research world and the forestry sector in Western Europe. These
collaborations are encouraged by the project DEFOR. This pilot-project will
serve as a basis for developing an information system intended to small and
medium-sized enterprises of the forestry sector. The goal of the DEFOR project
is to develop a web platform for collecting, archiving, processing and exchanging
of data among forestry professionals (Figure 1).</p>
      <p>Data Exchange</p>
      <p>Protocol</p>
      <p>They are three types of applications that allow to use the DEFOR platform:
1 DEFOR standing for ”DEveloppement FORestier”, i.e., Forestry Development
1. thin-client applications installed on a PDA and connected to the Internet;
2. thin-client applications installed on the server and invoked from a PC
connected to the Internet via a web browser;
3. thick-client applications installed on the user computer and using data stored
on an external server by using an Internet data exchange protocol.</p>
      <p>The timber logging field is represented by a set of actors, each having a
specific role. First, forest owners generally sell their timber still standing to the
logging companies. These companies organize the work of cutting down trees
and dragging them to road-sides, where they are stored in stacks. The transport
of timber is carried out by transport companies. Their vehicles are special
trucks equipped by forestry cranes. Their drivers should have a dual
qualification, namely driving trucks and operating their cranes. Their logisticians
organize transport of timber. The destinations are the sites of wood processing,
i.e., the customers.</p>
      <p>The Use Case diagram in Figure 2 describes actors and main functionalities
of the DEFOR project.</p>
      <p>manages
assures
Logging Company
asks performs</p>
      <p>Driver</p>
      <p>consults</p>
      <p>Logistician
Transport Company
&lt;&lt;include&gt;&gt;
&lt;&lt;include&gt;&gt;</p>
      <p>Forest owner</p>
      <p>Statistics
&lt;&lt;
include&gt;&gt;
pays
orders</p>
      <p>Customer</p>
      <p>We propose a methodology in three steps:
1. definition of an architecture that will support the application;
2. defining and mapping patterns of activities onto this architecture and
detecting “points of risk” to the guarantee of non-functional properties;
Logging Site
Management
Timber Order
Management</p>
      <p>&lt;&lt;include&gt;&gt;
pick up</p>
      <p>Roadside Stock</p>
      <p>Management
organizes</p>
      <p>Transport Order</p>
      <p>Management</p>
      <p>Fig. 2. The DEFOR Use Case diagram
3. and setting up the corresponding web services.</p>
      <p>We will follow these three steps in the sections below.
3</p>
      <p>Definition of an architecture for supporting eco-system
interactions
In this first step, we are interested in transforming the target application into
an organization structure relevant to the business area concerned. In order to
elaborate an appropriate business architecture, we ask three questions.
3.1</p>
      <p>
        What are the parties involved?
This first question pertains to definition of roles and groups analogous to Van Der
Aalst’s organization step [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. We strive to define abstract eco-system’s actors,
depending on both competencies and affiliations. We are talking about actors in
the sense of UML case diagrams. This work needs to be done at a high level of
abstraction and also needs to take into account differences, when certain persons
play different roles in different structures.
      </p>
      <p>For the DEFOR project, we identified six actors and four main functionalities
(Figure 2) from the requirement specification.
3.2</p>
      <p>
        What are the essential non-functional requirements of the
system?
This second question pertains to definition of non-functional properties that
must be guaranteed by the eco-system. We are interested in requirements that
are strong enough to result into changes of the eco-system’s business
architecture. Our objective is to find and then to eliminate all risks that are due to the
interaction of various information systems that preserve different non-functional
properties [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Certain non-functional properties are essential to business
processes quality and are highly specific to a given application domain (e.g.,
traceability, security). Such properties must be guaranteed even in the context of
applications that are developed by using complex web services.
      </p>
      <p>It appears at this point that these needs are identified through discussions
with the future users of the application. The main task is to identify relevant
non-functional aspects and also to identify the essential needs of the users.</p>
      <p>In the DEFOR project, the timber industries have specific requirements:
They want to be able to buy timber conforming to specifications for the
quantities and time schedules. The corresponding non-functional property is called the
obligation of result.
3.3</p>
      <p>What is the generic activity pattern that is characteristic of
each actor or a group of actors?
This third question pertains to definition of a generic activity pattern that could
describe all of the eco-system activities. An activity pattern is a combination of
activities having an objective, a logical sequence, and dependencies implied by
business rules.</p>
      <p>
        In order to answer this third question, we use a block-oriented strategy that is
similar to that used by Schimm [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for process mining. We build activity pattern
blocks that belong to core business areas of an eco-system’s actors.
      </p>
      <p>
        Various research projects have been conducted on the decomposition of
business processes: a survey of the state of the art can be found in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. We structure
our patterns analogously to Dustdar &amp; al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. These authors refer to it as the
level of abstraction workflows in their presentation of WSIM (Web Services
Interaction Mining). The basic mechanisms that we model are based on twenty
business patterns of Van Der Aalst &amp; al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Then we can follow the method
proposed by White [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] for transformations of models among the patterns of Van
Der Aalst, UML activity diagrams, and the BPMN notation.
      </p>
      <p>We wish to decompose the DEFOR project into generic functionalities. Since
the DEFOR project is specific to the timber business, we find in it the usual
commerce activities. We thus find software modules related to ordering, order
preparing, pick-up and delivery of timber, and finally invoicing. These activities
are followed by a sequence of ordered tasks, which are represented by a pattern
of high-level activities (Figure 3).</p>
      <sec id="sec-2-1">
        <title>Order</title>
        <p>Reception</p>
      </sec>
      <sec id="sec-2-2">
        <title>Order</title>
        <p>Preparation</p>
      </sec>
      <sec id="sec-2-3">
        <title>Pick-Up/</title>
        <p>Delivery</p>
      </sec>
      <sec id="sec-2-4">
        <title>Invoicing</title>
        <p>Mapping activity patterns onto the business
architecture and detecting “points of risk” to the
guarantee of non-functional properties
This decomposition will be carried out along two axes: an activities axis (i.e.,
horizontal axis), and a business axis (i.e., vertical axis). The activities axis
describes the sequence of, possibly complex, activities for which the information
system is to be built. The business axis allows to divide such activities into
several specialties: the core business area, and the associated business areas.
pattern of
high-level
activities
pattern of
low-level
activities</p>
        <p>For the DEFOR project, we add three layers into the pattern of high-level
activities:
– Production and Sales Business Layer,
– the Logistics Business Layer,
– and Timber Business Layer.</p>
        <p>The Production and Sales Business Layer corresponds to companies that
produce and sell goods. The Timber Business Layer represents the core business
area in the DEFOR project. The Logistics Business Layer is intended for
logistics companies that organize transport and delivery of products.</p>
        <p>In our project, the ordering and invoicing activities are projected into the
Production and Sales Business Layer, order preparation activity is located in the
Timber Business Layer, and finally pick-up and delivery activity is located in
the Logistics Business Layer. Figure 4 illustrates the mapping of activity pattern
onto the above three layers.</p>
        <p>Any transition that crosses layer boundaries is a potential “point of risk”
to the guarantee of non-functional properties. The objective is to build layers
containing sub-patterns of activities that do not include points of risk that would
jeopardize non-functional properties.</p>
        <p>For DEFOR project, one problem to be handled concerns the management
of stacks of the road-side stock: The driver cannot find the wood stacks at the
expected place where he should pick up a part of his cargo. This implies, e.g.,
a stack of wood that is not in the place indicated on the map (this may result
from an input error or an offset between the GPS tracking of trucks and the
driver’s instructions). During the follow-up, the logistician will consult maps
with additional functionality. These consultation will allow to access alternative
information on location of pick-up places, delivery routes, etc. It is the role of
logistician to resolve various problems encountered by drivers. This may possibly
modify the initial preparation of an order (see figure 4-Point of risk).</p>
        <p>In addition, fine-grain patterns are also described in order to give more details
on each of the coarse-grain activities. We obtain three layers that contain activity
patterns of different granularity. We stop refining patterns of activities when the
activities can be described by using only 1) activities that, together with their
control, are internal to a single information system, and 2) control constructs
that appear in Van der Aalst classification.</p>
        <p>WS1
(Calculation
needs)</p>
        <p>WS2
(Generation
Overview)
WS3
(Statistics)
Logistics Business Layer
1</p>
        <p>WS4
(Generation
order)</p>
        <p>Production and Sales Business Layer
(OwWrodSoed5r)of (CaIlnWcvuoSlai1cti8eo)n of</p>
        <p>WSC1
(OSvWtoecSrvk6ise)w 2 (ChoofiTcWeimSSb8tearc)ks 1nyeos (DroraaWgdg-Ssin9idget)o 1 (ChWeSck1i0ng) 2oui Tr(WaOnSrsdp1eo1rrt)
WS7
(Statistics)</p>
        <p>WS
Cartography
2</p>
        <p>WS12
(Generation
Overview)
WS13
(Statistics)
no</p>
        <p>WS19
(Sending
Invoice)
WS14
(Create
Itinnerary)</p>
        <p>WS
Cartography</p>
        <p>WS20
(Reception
Payment)</p>
        <p>WS15
(Organization
Transport)
3</p>
        <p>WS21
(Treatment
Payment)
WS16
(Folowup
Transport)</p>
        <p>WS
Cartography</p>
        <p>WS22 (Sending
Paid Facture)
WS17
(Request</p>
        <p>
          Invoice)
Timber Business Layer
We use Dustdar &amp; al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] definition of abstract services, i.e., web services
corresponding to activity blocks that describe business processes. Such a definition
proceeds as follows:
– Each activity of the fine-grain patterns is associated with an abstract web
service. Such a web service is called an action web service.
– Each action web service is attached to an activity that is a source of a
transition marked as risky to non-functional properties is associated with an
external web service for compensation. Such a web service for compensation
is in charge of guaranteeing non-functional properties while the effect of
its corresponding action web service is reversed. In such a case, the action
web service is a pivot web service, as defined by Bhiri [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], i.e., the standard
compensation mechanism does not apply to this action web service.
– Each abstract web service which is not associated with a risky activity is
realized by a combination of web services. On such combinations, the standard
compensation mechanism is applied without restrictions.
– The complex activity pattern thus produced includes of transitions of
different nature: the classical transitions from one activity to another, and the
transitions of recovery which correspond to the invocation of compensation
web services.
        </p>
        <p>In figure 5, the WS16 web service has compensation web service associated
to it. This compensation web service, called WSC1, manages transitions
between the Logistics and Timber Business Layers. It is these transitions that may
jeopardize the property of obligation of result.
6</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>In this paper we have proposed a top-down business-oriented approach for
defining patterns. The resulting patterns are further refined in order to include
increasingly specific features of an enterprise’s core business. In order to satisfy
non-functional requirements, we have to accurately identify activity flows that
cross pattern boundaries.</p>
      <p>An example implementation with web services is presented. Our
implementation uses compensation web services that can guarantee non-functional
properties.</p>
      <p>
        In order to be able to improve quality of our analysis of business processes of
an eco-system of enterprises, we plan to use process mining methodologies. The
first such proposal was that of Van Der Aalst [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Another approach is to look
for autonomous blocks of activity in business processes. We plan to apply such
an alternative approach to future case studies of enterprises whose core business
influences all of their business processes.
      </p>
      <p>In both of the above cases, we need to extend existing notations (e.g., UML
activity diagrams, BPMN) in order to describe risky activities and transitions.
It will be also necessary to extend White’s transformations between UML and
BPMN notations so that transformation rules between UML activity diagram’s
extensions and BPMN’s extensions can be properly defined.</p>
      <p>Our future work on mappings of activity patterns into a business architecture
will propose additional criteria for evaluation of mapping quality. Such criteria
should take into account preservation of non-functional properties. Such criteria
should also guarantee adequacy of mappings with respect to information systems
that are implemented in the core business rules. By using such evaluation criteria
we hope to be able to define a strategy that could be applied when several
nonfunctional properties are required, possibly leading to low-quality mappings.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>M.-S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cabral</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Doumeingts</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popplewell</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <source>Enterprise Interoperability - Research Roadmap - Version 4.0. Technical report</source>
          , European Community, Information Society Technologies ftp://ftp.cordis.europa.eu/pub/ist/ docs/directorate_d/ebusiness/ei-roadmap-final_en.pdf (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W.,
          <string-name>
            <surname>Weijters</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>Process Mining: a Research Agenda. Computers in Industry</source>
          <volume>53</volume>
          (
          <issue>3</issue>
          ):
          <fpage>231</fpage>
          -
          <lpage>244</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Duarte-Amaya</surname>
          </string-name>
          , H.:
          <article-title>Tcows Canevas pour la Composition de Services Web avec Propri´et´es Transactionnelles</article-title>
          .
          <source>Phd</source>
          , Universit´e
          <string-name>
            <given-names>J.</given-names>
            <surname>Fourier</surname>
          </string-name>
          , Grenoble (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Schimm</surname>
          </string-name>
          , G.:
          <article-title>Generic Linear Business Process Modeling</article-title>
          .
          <source>In: ER '00: Proceedings of the Workshops on Conceptual Modeling Approaches for E-Business and The World Wide Web and Conceptual Modeling</source>
          , LNCS, pp.
          <fpage>31</fpage>
          -
          <lpage>39</lpage>
          . Springer (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dustdar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gombotz</surname>
          </string-name>
          , R.:
          <source>Discovering Web Service Workflows using Web Services Interaction Mining. Int. J. Business Integration and Management</source>
          <volume>1</volume>
          (
          <issue>4</issue>
          ):
          <fpage>256</fpage>
          -
          <lpage>266</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W., ter
          <string-name>
            <surname>Hofstede</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiepuszewski</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.: Workflow</given-names>
          </string-name>
          <string-name>
            <surname>Patterns</surname>
          </string-name>
          .
          <source>Distributed and Parallel Database</source>
          <volume>14</volume>
          (
          <issue>3</issue>
          ):
          <fpage>5</fpage>
          -
          <lpage>51</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>White</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Process Modeling Notations and Workflow Patterns</article-title>
          . In: Workflow Handbook,
          <string-name>
            <surname>L.</surname>
          </string-name>
          Fischer (ed.) pp.
          <fpage>265</fpage>
          -
          <lpage>294</lpage>
          . Future Stragies Inc. (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Bhiri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Godart</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perrin</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Transactional Patterns for Reliable Web Services Compositions</article-title>
          . In: ICWE, pp.
          <fpage>137</fpage>
          -
          <lpage>144</lpage>
          . ACM (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>