<!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>Introducing collaborative Service Mashup design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Martin Vasko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Schahram Dustdar</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>vasko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>dustdar@infosys.tuwien.ac.atg</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Vienna University of Technology Institute of Information Systems Distributed Systems Group Argentinierstreet 8</institution>
          ,
          <addr-line>1040 Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <fpage>51</fpage>
      <lpage>62</lpage>
      <abstract>
        <p>The adoption of REST - an architectural paradigm focusing on resources - by various providers like Google, Facebook and Yahoo strongly in uences traditional Business Process design approaches layered atop of Web service description language (WSDL) and SOAP based Web services. Beside the architectural di erences manifested in integration challenges for existing business process environments this new paradigm eases service development and enables lightweight integration in Web-oriented architectures. This paper introduces a model-driven approach to integrate di erent domains into Service Mashups: a) Orchestration information derived from WS-BPEL processes, b) Coequal integration of RESTful Web services and WS-* Web services and c) Role-based collaboration of process participants. The introduced concepts are implemented as a platform to enable collaborative Service Mashup design. The prototype is realized as a Rich Internet Application to maximize design performance and user experience.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The emergence of Web services adhering to the REST (Representational State
Transfer) paradigm - referred as RESTful Web services - and the widespread
adoption and dispersion by di erent providers1 strongly in uences traditional
business process environments. The bene t of the exposed services for
individual business needs evolved over time from general services like for example the
Google Search to specialized services like access to Social Network portals - refer
to the Facebook services2 as an example - or commercial services like Amazon's
Web services. Beside the increasing number of services the ease of integration
and the exibility to changes awakes the interest to integrate these services
into existing business process management approaches. The architectural di
erences between established Service Oriented Architectures and newly emerging
lightweight resource oriented architectures complicate this endeavor.</p>
      <p>
        Di erent approaches [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] try to solve the integration hurdles from the
WS-BPEL (Web Service Business Process Execution language[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]) perspective
(Pautasso [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]) whereas others provide an abstract simpli ed language to enable
a unique service integration (Rosenberg et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]). The latter is closely related to
the approach introduced in this work. Whereas we do not try to provide an
alternative language we encourage the model-driven approach to maintain
extensibility. The abstraction of orchestration information, service integration information
and participant integration information results into a simpli ed process
abstraction. The orchestration information is derived from business processes de ned
in WS-BPEL. The service integration information is derived from WSDL (Web
Service Description Language [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]) based Web services and RESTful Web
services. Due to the lack of standards for human participant integration this work
derives the role model information from BPEL4People (WS-BPEL Extension
for People [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]). This enables a structured collaboration on Service Mashups.
Beside the generic role model of human participants, newly emerging
RESTful Web services enable the programmatic access to Social Network platforms
and thus intensify the interactions with human participants. Currently di erent
providers work on the de nition of a set of functions summarizing a common
access to Social Networks3. These trends facilitate the combination of such
services with existing services to Mashups. As a consequence, not even the designers
of Service Mashups might have access to collaborative Service Mashup design
tools through Social Networks but also the Mashups themselves comprise Social
Network Services as part of the Service Orchestrations. The underlying concepts
of these correlations are described in Section 3. Existing platforms to create
and administrate Mashups (like Google Mashup Editor, Intel Mash Maker,
Microsoft Pop y and Yahoo Pipes to name the most prominent ones) currently
provide limited support for collaborative Mashup design. Our work introduces a
model-driven approach to collaboratively design Service Mashups. We developed
a Rich Internet Application prototype to exemplify the introduced concepts and
propose an approach to model Service Mashups.
      </p>
      <p>The work is organized as follows: Section 1.1 tries to clarify the de nition of
Service Mashups by providing existing de nitions and relating akin appellations
like Mashups and Business processes. Section 2 summarizes existing approaches
and relates them to the approach introduced in this paper. Section 3 introduces
collaborative service orchestration based on a generic role model derived from
BPEL4People, a established speci cation in Web service environments. Section
4 motivates the need for collaborative Service Mashup design approaches on the
basis of a well-known process scenario. The combination of orchestration
information, service integration information and collaboration information resulted
in the Service Mashup Abstraction described in Section 5. This abstraction is
realized in a framework which is implemented as a Web-based prototype and
deploys a Rich Internet Application. Finally Section 6 concludes the paper and
gives an outlook of the Future Work.
3 http://www.opensocial.org, last accessed on April 2009
1.1</p>
    </sec>
    <sec id="sec-2">
      <title>Service Mashups</title>
      <p>
        The increasing number and diversity of RESTful Web services exposed on the
internet blurs an adequate classi cation of orchestration paradigms. In the
domain of Web applications lightweight integration approaches - summarized as
RESTful Web services - dominate the service infrastructure. In the domain of
Enterprise Computing the "Big" Web service technology stack (SOAP, WSDL,
WS-* speci cations, WSBPEL, etc.) delivers interoperability for heterogeneous
service infrastructures. The architectural di erences of these two worlds result
in challenging combination e orts (outlined by Pautasso et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]). From the
orchestrational point of view both provide interesting techniques: WSBPEL is an
XML based orchestration language to formulate business processes in Web
service environments. The orchestration of services is achieved by a set of activities
providing simple and complex Web service interaction capabilities. In contrast
to this speci cation Mashups - refered as combinations of Web API calls -
currently lack a comparable notation. Mashups indicate a way to create new Web
applications by combining existing Web resources and Web APIs. According to
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] Service Mashups combine WS-BPEL based orchestrations with RESTful Web
services. This work adheres to this de nition and extends the idea of integrating
new paradigms by the use of a model-driven approach.
2
      </p>
      <sec id="sec-2-1">
        <title>Related Work</title>
        <p>
          Hoyer et al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] sketch design principles for emerging Enterprise Mashups. The
authors identify several shortcomings in established implementations of Service
Oriented Architectures due to: a) high technical complexity of the relevant
standards b) their in exibility to react on changing requirements quickly and c)
missing involvement of actual end-users. By allowing end-users to compose
collections of services according to their individual needs, Mashups empower
endusers to create their own workspaces which t best to solve their heterogeneous
business problems.
        </p>
        <p>
          Swashup DSL introduced by Maximilien et al. [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] provides a domain-speci c
language to represent Mashups. The proposed language is focused on the
description and propagation of data in Mashups. The approach is implemented by
the use of the Rails framework and identi es three main concepts of mashups:
data and mediatiation, service APIs and a means to generate Web applications
from the resulting mashups. Curbera et al. [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] introduce Bite, a work ow-based
composition model for Web applications. Bite allows the de nition of interactive,
asynchronous work ows with multiparty interactions and enables comprehensive
data integration.
        </p>
        <p>
          HOBBES [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] deploys an Adobe Flex - based WSBPEL designer and enables
the collaborative modeling and administration of Business processes. The
approach implements a Rich Internet Application to design and share WSBPEL
processes. In contrast to HOBBES the approach introduced in our work focuses
on the collaborative design of Service Mashups.
        </p>
        <p>
          Tran et al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] introduce a novel approach to integrate existing process
modeling languages at di erent abstraction levels using the concept of an
architectural view. Their approach overcomes the divergence in term of syntax,
semantics and levels of abstraction of existing process modeling approaches. Our work
derives the concept of integrating di erent modeling languages at di erent
abstraction levels using the concept architectural view and applies this idea on
the domains of orchestration information, service integration information and
collaboration integration.
3
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Collaborative Service Orchestration</title>
        <p>With the increasing number of services exposed by di erent providers on the
internet the combination of these services to Service Mashups gains popularity. The
broadening of functionality enables the recombination of Services to advanced
Service Mashups orchestrating services from di erent domains. This trend leads
to increasing specialization of Mashups and requires know-how from di erent
domains: For example HousingMaps.com4 combines data from craigslist.org5 with
Google Maps6. This Mashup requires knowledge in the domain of real estate
markets and web application development. The trend to interdisciplinary
combination of Services is encouraged by the e ort to coequal integration of RESTful
Web services and WS-* Web services as exempli ed in the sample process
scenario in the next section. This evolution of process environments from closed
company-intern systems to open Web service environments crossing
organizational boundaries requires the collaboration of di erent experts on the design
of Service Mashups. Existing platforms to administrate Mashups currently lack
support for this endeavor. Even simple role models are not supported.</p>
        <p>
          The importance of role models in collaborative environments was depicted by
Ellis et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. In the domain of Service Oriented Architectures BPEL4People7,
a speci cation proposed by IBM and SAP, shape up as an e ort to integrate and
structure human participants based on roles in WS-BPEL based Business
processes. The speci cation de nes a generic role model consisting of three human
roles:
{ The process initiator triggers the process instance at its creation time
{ Process stakeholders can in uence the progress of a process instance, for
example, by adding ad-hoc attachments
{ Business administrators are allowed to perform administrative actions on
the business process, such as resolving missed deadlines.
        </p>
        <p>The role model covers the whole business process lifecycle from design time to
runtime issues. To continue the combination of Service Oriented Architecture
principles with REST based web application paradigms the approach presented
4 http://www.housingmaps.com/, last accessed on April 2009
5 http://www.craigslist.org, last accessed on April 2009
6 http://maps.google.com, last accessed on April 2009
7 WS-BPEL Extension for People, BPEL4People
in this paper introduces a role model derived from the BPEL4People roles. In
contrast to BPEL4People the role model introduced in this paper covers design
time issues only as the integration of runtime issues is part of the future work
described in section 6. The derived role model consists of the following roles:
{ Creator - the Creator is determined automatically by the infrastructure
during design time and refers to the participant creating the initial Service
Mashup design
{ Stakeholder - the Stakeholder may in uence the progress of the Mashup
design by adding attachments, process notes or forwarding tasks but has no
privileges to change the Mashup design
{ Administrator - the Administrator is allowed to perform administrative
actions on the Mashup design. In addition to the privileges granted to
Stakeholders Administrators are able to change the Service Mashup design
Beside the role model the visibility and propagation of changes to the instance
edited by di erent members is crucial in collaborative service orchestration. In
contrast to real-time collaboration systems enabling the concurrent editing and
session sharing between members the approach introduced in this work is realized
regarding relaxed WYSIWIS (What-You-See-Is-What-I-See). A Service Mashup
instance is locked exclusively by the member editing the instance. After
propagating all changes to the server the instance is released and the involved members
are able to check changes by loading the instance. This roundtrip approach
adheres to the REST paradigms as Service Mashups are exposed as resources by
the server. By updating the changes of the process model only, the introduced
architecture minimizes server processing load. The disadvantages of late
propagation of changes is compensated by full access to the Mashup design by the
processing member.
4</p>
      </sec>
      <sec id="sec-2-3">
        <title>Process Scenario</title>
        <p>The coequal integration of RESTful Web services and WS-* Web services into
established business process environments neglects the di erent underlying
architectures of these two concepts. The growing interest and the low integration
hurdles of RESTful Web services result in the dispersion into non-technical
domains. This trend ampli es the coequal integration of mostly publicly available
RESTful Web services and existing company-internal WS-* Web services into
daily business processes.</p>
        <p>To exemplify the previously stated assumptions we introduce a sample
process scenario illustrated in gure 1. The process executes a revisited example of
a travel agency using existing Web 2.0 services: A user submits a holiday request
through the Web frontend containing details of the start date, the end date and
the destination. This order is submitted automatically to the agency-internal
Order Processing Web service to track incoming orders. After the successful
completion of this Web service operation the order is assigned to a responsible
travel agent by the agency-internal HR Service. This service administrates all
travel agents and automatically assigns the appropriate travel agent to the user
request on the basis of the agent's expertise. The assigned travel agent prepares
the user order. This is modeled in a separate process administrated by the travel
agent. The travel agent searches for the best photos of the destination, plans
onsite trips and searches for the cheapest hotels. After the travel agent arranged
the on-site trip details and ordered them he assembles all details into the
resulting trip. This step concludes the Process Order under his responsibility. He
propagates the package containing the order details to the main process. The
Order Manager responsible for the main process publishes the trip and responds
to the user request.</p>
        <p>The Web Application Expert is responsible for the appropriate execution of
the process. He maps the service requirements de ned by the travel agent and
the Order Manager to available Web services. As already mentioned the task
Assemble Order is performed by the Order Service. The assignment of the order
request to an adequate travel agent is done by the HR service. Both services
are company-internal WS-* Web services hosted on the Travel Agency servers.
To enable the search for the best photos of the destination the Web Application
expert decides to integrate the Flickr Web service. To plan on-site trips and
calculate the distances he decides to use the Google Maps Web service. The
search for the cheapest hotels is enabled by the Hotels Combined Web service.
All of these services expose their APIs as RESTful Web services.</p>
        <p>Incoming User Request
Assemble Order
Assign Order
Prepare Order
Publish Trip</p>
        <p>Outgoing User</p>
        <p>Response
Order Manager</p>
        <p>WSDL
Process Order Service
Search Locations</p>
        <p>Order Trips
Assemble Trip</p>
        <sec id="sec-2-3-1">
          <title>Order Service WSDL</title>
          <p>HR Service
WSDL
Flickr Service
REST</p>
        </sec>
        <sec id="sec-2-3-2">
          <title>Google Maps REST</title>
        </sec>
        <sec id="sec-2-3-3">
          <title>Hotels Combined REST</title>
          <p>Service Mashup</p>
          <p>Google Maps + Flickr
Travel Agent</p>
          <p>Web Application Expert</p>
          <p>As a special service for the customer all on-site trips packaged in the resulting
trip are exposed to the travel agency web site. The user is able to retrace the
arranged trips on-site by the combinatorial use of Google Maps and Flickr. This
Service Mashup was created by the travel agency to present a reproducible
booking process to the customer. Before the user starts his trip he may familiarize
with local details of the desired destination.</p>
          <p>The process outlined in gure 1 exempli es the coequal consumption of
RESTful Web services and WS-* Web services. In the following section the
abstraction is outlined to examine both Web service concepts coequally and
motivate the use of role-based collaboration in the design of Service Mashups.
5</p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>Service Mashup Abstraction</title>
        <p>The scenario illustrated in the previous section outlines the blur of distinction of
service integration into conventional process environments. Beside the coequal
integration of RESTful Web services and WS-* based Web services the demand
of human participant integration rises complexity of the process landscapes. In
the SOA paradigm BPEL4People shape up as an accepted approach to
introduce generic role models to structure human participant integration. As until
now in the domain of Mashups no comparable approach is widely accepted this
work proposes a role model derived from the BPEL4People model as introduced
in section 3. Beside the two mentioned domains (Service Integration and
Participant Integration) the integration of orchestration information into Service
Mashups is of vital interest.</p>
        <p>Orchestration view</p>
        <p>CompositeActivity
AtomicActivity</p>
        <p>MessagingActivity
core meta-model OrchestrationElement
*
*
*</p>
        <p>*
CollaborationElement</p>
        <p>IntegrationElement
Participant</p>
        <p>Role
* *
Collaboration view</p>
        <p>Service</p>
        <p>Resource
0..* 0..*</p>
        <p>Integration view
Fig. 2. The Service Mashup Meta-Model</p>
        <p>
          In the WS-* based Web service environment WS-BPEL is the standard to
describe and design the orchestration of Web services. WS-BPEL is layered atop
of WSDL and decouples the orchestration logic from the service invocation logic
by the use of Partner Links. The consequent separation of invocation details
is re ected in the use of basic activities which refer to Partner Links and hide
the concrete invocation mechanisms from the process de nition. The Service
Mashup Abstraction continues this separation of invocation details and extends
the approach introduced by Tran et al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Tran et al. use the concept of an
architectural view to integrate business process modeling languages at di erent
abstraction levels. The approach maps process descriptions onto appropriate
high-level or low-level views. In contrast to the approach elaborated by Tran et
al. our work introduces a Control ow view and a Collaboration view on a higher
abstraction level from WS-BPEL. This concept maps to the architectural views
introduced by Tran et al.
        </p>
        <p>The Service Mashup Abstraction emerges from the model-based integration
of di erent domains into one model. Figure 2 illustrates the underlying
metamodel.</p>
        <p>Role
-name : String
-type : String
Participant
+name : String
+role : Role
Participant Classes</p>
        <p>Copy
+from : Assignment
+to : Assignment</p>
        <p>Assignment
+name : String
+type : String
+location : String
+creator : Participant
+accessor : Participant
+creationTime : Date
+accessTime : Date
Core Classes</p>
        <p>Activity
+name : String
+type : String
+previous : Activity
+next : Activity
+participant : Participant
+delay : Date</p>
        <p>Receive Invoke
+assignment : Assignment +input : Assignment</p>
        <p>+output : Assignment</p>
        <p>Service
+name : String</p>
        <p>Resource</p>
        <p>WSDL
+url : String
+timestamp : Date
+publish : Boolean
+username :
Participant
+wsdl : WSDL</p>
        <p>WADL
+url : String
+timestamp : Date
+publish : Boolean
+username :
Participant
+wadl : WADL</p>
        <p>Message
+message : String
+sender : Activity
+receiver : MessageHandler
MessageHandler
+name : String
+type : String</p>
        <p>CompositeActivity
+isExecuting : Boolean
Parallel</p>
        <p>If
-expression : String</p>
        <p>ParallelBranch
Core Composite Classes</p>
        <p>Case
-match : String</p>
        <p>Default</p>
        <p>Switch
+expression : String</p>
        <p>Scope
-handler : MessageHandler</p>
        <p>IfBranch
-rule : String</p>
        <p>ElseBranch</p>
        <p>The core meta-model consists of three elements each representing the base
element for the particular view. This language design relates the views and enables
a exible combination of di erent views. Consider a combination of an
Orchestration element like an Activity with a Collaboration Element like a Participant.
As Orchestration Element is the parent of each Activity and is related to the
Collaboration Element which represents the basis for Participant, each Activity
might have one or more Participants. The Integration Element is not directly
connected to the Collaboration Element as the Service Mashup Abstraction
reects the decoupling principle of WS-BPEL to hide invocation details. The
relation of Collaboration Elements with Service Invocations is achieved by linking
elements of Orchestration Elements. A detailed class structure of the emerging
Service Mashup Abstraction is illustrated in gure 3.</p>
        <p>Order Manager</p>
        <p>Listing 1.1. Web Application Expert Process</p>
        <p>Applying Service Mashup Abstraction on the process scenario introduced
in section 4 results in the models illustrated in gure 4. The Order Manager
orchestrates two WS-* Web services and refers to the Travel Agent process.
The Travel agent models the abstract actions Search Location, Order Trips and
Assemble Trip. After modeling this sequence she adds the Web application expert
as Business Administrator to the Service Mashup. The Web Application Expert
has now full access to the Service Mashups and re nes the abstract activities
by the according Service invocation elements. The resulting Service Mashup is
depicted in listing 1.1. The process model is exposed by the prototype as a
resource and might by accessed by HTTP GET operations.
5.1</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Service Integration Pitfalls</title>
      <p>The abstraction of Service descriptions comes with a risk to neglect the original
Service integration paradigm. This might lead to a ippant orchestration of
Web services. To prevent misleading orchestrations of Web services this work
introduces pitfalls occurring in the coequal integration of RESTful Web services
and WS-* Web services.</p>
      <p>
        REST Service enforcement According to Fielding [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], a central concept in a
resource oriented architecture is the focus on resources. To adhere to the REST
paradigm a uniform interface provides stateless access to resources. Requests to
RESTful Web services should include all data needed to ful ll a certain service
function. The current trend to expose services of existing Web applications by
the use of RESTful Web services to a broader audience blurs these conventions.
Consider the RESTful access to a Photo sharing portal8 as an example: The
RESTful Web service client requests a list of 10 photos and exposes these
photos on a Web site. The visitor of the web site can navigate through the lists of
photos. Each navigation step triggers the RESTful Web service client to request
the next list of 10 photos from the photo sharing portal. Figure 5 a) illustrates
a stateful service design: The Web service increments and stores the lists to be
able to respond to the next request. The second invocation trace in gure 5 b)
illustrates a stateless RESTful Web service: The Web service client includes in
the invocation, which list of photos it requests. All data needed to ful ll the
request is included. This design ensures scalability (Web services are distributable
across di erent load-balancers) by shifting state management responsibility to
the client.
      </p>
      <p>The trend to enforce a remote procedure call alike behavior by exposing
RESTful Web services must be kept in mind during the design of Service Mashups
consuming REST APIs.
8 f.e. ickr services http://www.flickr.com/services/api/, last accessed on April
2009
GET /photos/getNextList?</p>
      <p>List of Photos
a) Stateful
GET /photos/?list=2</p>
      <p>List of Photos
b) Stateless</p>
      <p>
        previousList++;
nextList = previousList;
return nextList;
Protocol neglect HTTP provides di erent methods for requests9. To minimize
integration hurdles existing RESTful Web services tend to reduce the HTTP
protocol method support to GET and POST requests only. This results in exposing
functions like sending a POST request to a RESTful Web service to delete an
existing resource. Pautasso et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] refer to the classi cation of supported HTTP
verbs as Hi-REST and Lo-REST. The former refers to the support for four verbs
(GET, POST, PUT, DELETE) and the latter refers to the use of GET and POST verbs
only.
      </p>
      <p>Concerning Service Mashup design Hi-REST architectures ease the
integration of RESTful Web services by adhering stricter to the REST paradigm. The
support for PUT and DELETE verbs indicate more clearly the operation on the
resource and therefore the implications on the overall Service Mashup. RESTful
Web services adhering to the Lo-REST architecture do not provide transparent
access to the resources and therefore bear the risk to misleading orchestrations
in Service Mashups.</p>
      <p>
        These Service Integration pitfalls might be expanded to a collection of
Antipatterns [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] as part of a Service Mashup framework in future work.
6
      </p>
      <sec id="sec-3-1">
        <title>Conclusion and Future Work</title>
        <p>This work introduces a model-driven integration approach towards: a) coequal
integration of RESTful Web services and WS-* Web services, b) coequal Web
service orchestration and c) collaborative Service design of Service Mashups. The
approach derives concepts from established standards and provides an emerged
Service Mashup Abstraction. The approach is exempli ed in a web-based
prototype. The implementation enables the asynchronous design of Service Mashups
by implementing a Rich Internet Application. The prototype is reachable under
http://www.expressflow.com.</p>
        <p>Section 3 introduces the role model derived from BPEL4People. This role
model is currently limited to design time issues of collaborative Service Mashup
design. The expansion of this role model to runtime issues is planned for future
work.
9 For an exhaustive list of methods the interested reader may refer to RFC 2616</p>
        <p>Section 5 introduces the Service Mashup Abstraction from the consequent
model-driven abstraction of di erent Web service domains. Whereas the
WSBPEL based business process abstraction seems to be straight forward the
coequal integration of WS-* Web services and RESTful Web services comes with
diverse risks. The pitfalls described in this work might be expanded to the de
nition of Antipatterns as part of the future work.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Pautasso</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>BPEL for REST</article-title>
          .
          <source>7th International Conference on Business Process Management</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Rosenberg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duftler</surname>
            ,
            <given-names>M. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khalaf</surname>
          </string-name>
          , R.:
          <article-title>Composing RESTful Services and Collaborative Work ows: A Lightweight Approach</article-title>
          . IEEE Internet
          <string-name>
            <surname>Computing</surname>
          </string-name>
          (
          <year>2008</year>
          )
          <volume>24</volume>
          {
          <fpage>31</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Pautasso</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zimmermann</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>RESTful Web services vs. "Big" Web services: making the right architectural decision</article-title>
          .
          <source>Proceedings of the 17th international conference on World Wide Web</source>
          (
          <year>2008</year>
          )
          <volume>805</volume>
          {
          <fpage>814</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Benslimane</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dustdar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Service Mashups: The New Generation of Web Applications</article-title>
          . IEEE Internet
          <string-name>
            <surname>Computing</surname>
          </string-name>
          (
          <year>2008</year>
          )
          <volume>13</volume>
          {
          <fpage>15</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hoyer</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stanoesvka-Slabeva</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Janner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schroth</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          : Enterprise Mashups:
          <article-title>Design Principles towards the Long Tail of User Needs</article-title>
          .
          <source>IEEE International Conference on Services Computing</source>
          (
          <year>2008</year>
          )
          <volume>601</volume>
          {
          <fpage>602</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Maximilien</surname>
            ,
            <given-names>E. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ranabahu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tai</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Swashup: situational Web applications Mashups. Conference on Object-oriented programming systems and applications</article-title>
          (OOPSLA) (
          <year>2007</year>
          )
          <volume>797</volume>
          {
          <fpage>798</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duftler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khalaf</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lovell</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : Bite:
          <article-title>Work ow Composition for the Web</article-title>
          .
          <source>Proceedings of the 5th international conference on Service-Oriented Computing</source>
          (
          <year>2007</year>
          )
          <volume>94</volume>
          {
          <fpage>106</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Held</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blochinger</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Collaborative BPEL Design with a Rich Internet Application</article-title>
          .
          <source>8th IEEE International Symposium on Cluster Computing and the Grid</source>
          (
          <year>2008</year>
          )
          <volume>202</volume>
          {
          <fpage>209</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ellis</surname>
            ,
            <given-names>C. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gibbs</surname>
            ,
            <given-names>S. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rein</surname>
          </string-name>
          , G.:
          <article-title>Groupware: some issues and experiences</article-title>
          .
          <source>Communications of ACM</source>
          (
          <year>1991</year>
          )
          <volume>39</volume>
          {
          <fpage>58</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Tran</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zdun</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dustdar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>View-Based Integration of Process-Driven SOA Models at Various Abstraction Levels</article-title>
          .
          <source>Model-Based Software and Data Integration</source>
          (
          <year>2008</year>
          )
          <volume>55</volume>
          {
          <fpage>66</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
            ,
            <given-names>A.H.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiepuszewski</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Work ow Patterns. Distributed and Parallel Databases (</article-title>
          <year>2003</year>
          )
          <volume>5</volume>
          {
          <fpage>51</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Fielding</surname>
          </string-name>
          , R.:
          <article-title>Architectural Styles and the Design of Network-based Software Architectures</article-title>
          . University of California, Irvine,
          <source>PhD Thesis</source>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Brown</surname>
          </string-name>
          , W.,
          <string-name>
            <surname>Malveau</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mowbray</surname>
          </string-name>
          , T.:
          <article-title>AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis</article-title>
          . Wiley (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <article-title>WS-BPEL Extension for People, IBM and</article-title>
          SAP Speci cation http://www.ibm. com/developerworks/webservices/library/specification/ws-bpel4people
          <source>/ last accessed April</source>
          <year>2009</year>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Web Services Business Process Execution Language</surname>
          </string-name>
          , OASIS Standard http:// docs.oasis-open.
          <source>org/wsbpel/2</source>
          .0/wsbpel-v2.
          <article-title>0.html, last accessed April 2009</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. Web Service Description Languag,
          <source>W3C Technical Report</source>
          http://www.w3.org/ TR/wsdl, last accessed April 2009
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>