<!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>Business Process Modeling and Quick Prototyping with WebRatio BPM</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco Brambilla</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefano Butti</string-name>
          <email>stefano.butti@webratio.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Piero Fraternali</string-name>
          <email>piero.fraternalig@polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Politecnico di Milano, Dipartimento di Elettronica e Informazione P.za L. Da Vinci</institution>
          ,
          <addr-line>32. I-20133 Milano -</addr-line>
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Web Models S.r.l.</institution>
          ,
          <addr-line>I-22100 Como -</addr-line>
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We describe a software tool called WebRatio BPM that helps close the gap between the modeling of business processes and the design and implementation of the software applications that support their enactment. The main idea is to enhance the degree of automation in the conversion of business process models into application models, de ned as abstract, platform-independent representations of the application structure and behavior. Application models are themselves amenable to the semiautomatic transformation into application code, resulting in extremely rapid prototyping and shorter time-to-market. Thanks to the proposed chain of model transformations it is also possible to ne tune the nal application in several ways, e.g., by integrating the visual identity of the organization or connecting the business process to legacy applications via Web Services.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Business process modeling has become the recognized best practice for
enterprisewide application speci cation. Business process languages and execution
environments ease the de nition and enactment of the business constraints, by
orchestrating the activities of employees and of computer-supported services.</p>
      <p>However, turning a business process model into the speci cation, design and
implementation of a software solution for process enactment is a non trivial
task: the speci ed processes can be a mix on new functionality to be developed
and interactions with pre-existing systems and the user's activities must be
supported through e ective and usable interfaces, possibly compliant with the visual
identity and interaction style of other corporate applications. Furthermore, the
business requirements embodied in the process models, as well as the
technical context in which the underlying applications are deployed, are subject to
evolution. This may cause severe alignment problems when trying to keep the
business process and the application in sync.</p>
      <p>The gap between process modeling and application development can be
alleviated by increasing the degree of automation in the design, implementation
and maintenance of applications derived from process models. The automation
Actors, Activities, Business Constraints
Data Model, Interface Model, Service</p>
      <p>Orchestrations</p>
      <p>Process Model BPMN 2.0</p>
      <p>PROCESS TO APPLICATION MODEL
Application Model WebML
Detailed code for data access, business logics,
interface presentation, service invocation</p>
      <p>Application</p>
      <p>JEE/SOA
framework should support the semi-automatic translation of the process model
into running applications, be exible enough to incorporate di erent
architectural and interaction requirements, and apply also to application evolution and
maintenance. An outstanding di culty is the semantic distance between the
process model and the the running application: the former dictates roles, activities
and business constraints at a very abstract level, irrespective of how these are
supported by computing tools; the latter embodies very low-level details, where
business, architecture, and interaction aspects are blended together and hard to
customize and evolve separately. As an example, the same user's activity
speci ed in the process model could be enacted in a variety of ways: by means of a
wizard, by form editing, by using a legacy application interface, and so on. This
observation motivates the approach applied in this paper, which is based on the
three level conceptual architecture illustrated in Figure 1.</p>
      <p>Following the approach of Model Driven Engineering, the business
requirements and the application are represented using models, organized at three levels:</p>
      <p>
        The models managed by our approach are organized in three levels: (i) the
business model (speci ed with BPMN [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]); (ii) the structure and behavior of
the application (expressed in WebML [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]); and (iii) the executable application
running code. Application development is then seen as two consecutive
transformations: the Process Model to Application Model transformation, and the
Application Model to Running Code transformation.
      </p>
      <p>The introduction of the application modeling layer increases the complexity
of the conceptual architecture, but brings fundamental advantages: there is one
place (the application model), where it is possible to reason about the distinct
aspects of the application separately; the BPM to Application transformation
can be supplied with transformation rules capable of producing alternative ways
of encoding an activity, by using di erent patterns; automatically generated
application models can be ne tuned, to introduce usability patterns, without
breaking the application compliance to the process model; application
evolution can be performed independently of the technical platform, by updating the
application model and then regenerating the application code.</p>
      <p>
        In the scienti c community, several works have addressed the binding of
BPM and Model Driven Development of Web applications: PML [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], YAWL [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
OOHDM [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], WSDM [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and others. Our previous work [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] established the
theoretical basis of the implementation described in here; with respect to that early
idea, now the BP model and the application model are treated as orthogonal
and independent models.
      </p>
      <p>
        Based on these premises, our original contributions are: (i) a model-driven
perspective to business process-based software application development, which
leverages the integrated use of two orthogonal models (BP and application
models); (ii) a generative framework for producing the executable code from the
process and application model, and a one-click, zero-coding generation of a running
prototype on an enterprise class standard architecture; (iii) the implementation
of the model editor (Figure 2) and transformations in a commercial tool suite
called WebRatio [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which supports all the steps of the proposed approach.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Models and Transformations</title>
      <p>For describing the BP model, we adopt BPMN 1.2., plus some features of BPMN
2.0, whose Beta speci cation is currently available. Some features of version 2.0 of
the language are of extreme importance for the generation of application models,
namely: DataInputs, DataOutputs, and DataInputAssociations, which explicitly
specify the inputs and outputs of executable tasks; the classi cation of Tasks in
UserTasks and ServiceTasks ; and others.</p>
      <p>
        As a second level of modeling, we propose the application model, aiming at
describing all the user interaction, service calls, and navigational aspects of the
designed application. We focus on the Web as the platform of choice for the
implementation of the software application, which is in line with the current
trends in enterprise application development. Therefore, we adopt the WebML
notation [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], a visual language for designing data- and service-centric Web
applications [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], that allows specifying the conceptual model of applications built on
top of a data schema and composed of one or more hypertexts used to publish
or manipulate data. Upon the same data model, di erent hypertext models (site
views) can be de ned (e.g., for di erent types of users or devices). A site view
is a graph of pages, consisting of connected units, representing data publishing
components. Units are related to each other through links, representing
navigational paths and carrying parameters. Starting from a BPMN speci cation,
an automatic transformation produces the logical representation of the process
metadata and a WebML Application Model, comprising a Data Model
dictating the application-speci c concepts and a collection of Site Views and Service
Views, including the primitives for the user interaction and Web service
orchestrations.
      </p>
      <p>Process Data Model Generation. The transformation from BPMN to the
process data model consists of an encoding of the BPMN concepts in a
relational database structure: the BPMN precedence constraints and gateways
are transformed into instances of a relational representation. At runtime, the
BPMN constraints, stored in the Process Metadata Schema, are exploited by
the components of the Application Model for enacting the precedences among
human-executed tasks and executing the service invocations.</p>
      <p>Application Model Generation. The transformation from BPMN to WebML
considers the type (User or Service) of the gateways and of the tasks, as well as
the information on the control and data ows. The generated application
models consist of a coarse set of user interfaces and prototype business operations.
Process control is encapsulated thanks to the automatically generated process
data model: the computation of the next enabled activities given the current
state of the work ow is delegated to a speci c WebML component, called Next
unit, which factors out the process control logic. The Next unit exploits the
information stored in the process data model to determine the current process
status and the enabled state transitions. The tool also automatically generates
the WebML model for user-driven and automatic tasks (e.g., performed by web
services) and the hypertext for managing the tasklist and the process execution
status.</p>
      <p>Figure 3a shows an excerpt of the WebML model automatically generated
from BPMN, describing a hypotethical activity that allows users to submit
leasing requests online; the module contains an Input component (1) for initializing
the possible data values in input to the activity (e.g., ContractID, ProductType);
it includes a page (Customer Leasing Request (2) ) with a sub-module publishing
information about the activity and the associated process execution (Info (3) ),
a component fetching the current values of the parameters (GetInput (4) ) used
to preload the elds of a form for submitting the user inputs (UserInput (5) ).
From the input form, three links allow the user to close (6) , suspend (7) , and
cancel (8) the activity. For example, when the user closes the activity, the
parameter values are stored (by the SetParameters unit (9) ) and the next activities
are calculated (by the NextActivity unit (10) ); the user interface automatically
generated with a default graphical style is shown in Figure 3b.</p>
      <p>Generated runtime architecture. The run-time architecture of the
applications generated by WebRatio starting from the application model exploits a set
of o -the-shelf components for organizing the business tier: Smart service
creation for components, created upon request, cached, and reused across multiple
requesters; XML parsing and access granted by standard parsing tools; and
Con(a) Generated WebML model
(b) Generated user interface
nection pooling for dynamically managing a pool of database connection allow
to optimize performance and reliability. At runtime, only service component is
deployed for each type of model concept and one runtime XML descriptor is
deployed for each usage in the application model.</p>
      <p>WebRatio supports also the new requirements imposed by Rich Internet
Applications (RIAs), including complex user interactions such as drag and drop,
partial page refresh, dynamic resizing of visual components, graphical editing of
objects, in-page popup windows, splash screens, dynamic tooltips, and waiting
animations, text autocompletion, on-event actions, and eld dependencies.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Tool Implementation and Experience</title>
      <p>Tool implementation. The proposed generative framework has been
implemented as an extension of WebRatio, a Model-Driven Web application
development tool allowing one to edit WebML models and automatically transform
them into a running applications for JEE and Service Oriented Architectures.
For supporting BPM design, the following extensions have been devised. The
model editing GUI has been extended by with a new BPMN editor . The code
generator has been extended with the transformation from BP model to
application model; furthermore, the JEE code generation has been augmented to
produce the relational instance of the Process Metadata and the Java code of
novel WebML components (e.g., the Next unit). Moreover, a one-click
publishing function has been added to the BPMN editor, thus allowing the immediate
generation of a rapid prototype of the BPMN process. This functionality invokes
in sequence the two transformations from BPMN to WebML and from WebML
to JEE, yielding a dynamic, multi-actor application with a default look &amp; feel,
as shown in Figure 3b. The generator creates a few exemplary users for each
BPMN actor, which allows the analyst to impersonate each role in the process.
Industrial applications. The proposed method and tool have been tested in
several real industrial scenarios: as an example, we report the outcomes of a
project conducted within the leasing division of a major European bank, which
needed to reshape its entire software architecture according to a BPM-based
paradigm. The resulting pilot application covers 52 business processes,
comprising more than 1,100 activities spanning 30 user roles. The development team
comprised 14 sta members from 3 organizations, with total e ort amounting
to 2551 man days, spent in 375 elapsed days. Rapid prototyping let the team
deploy 4 major prototypes and 35 minor releases along one year.</p>
      <p>We estimated the spared e ort induced by automatic model transformation
by measuring the percentage of automatically generated model elements, which
consists of a percentage ranging between 17% and 20%.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We presented a tool suite for supporting the model-driven integrated design of
business processes and enterprise Web applications. Visual model design and
model transformations allow designers to produce both as early prototypes and
nal applications without coding.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Roberto</given-names>
            <surname>Acerbis</surname>
          </string-name>
          , Aldo Bongio, Marco Brambilla, Stefano Butti, Stefano Ceri, and
          <string-name>
            <given-names>Piero</given-names>
            <surname>Fraternali</surname>
          </string-name>
          .
          <article-title>Web applications design and development with webml and webratio 5.0</article-title>
          .
          <string-name>
            <surname>In</surname>
            <given-names>TOOLS</given-names>
          </string-name>
          (
          <volume>46</volume>
          ), pages
          <fpage>392</fpage>
          {
          <fpage>411</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Marco</given-names>
            <surname>Brambilla</surname>
          </string-name>
          , Stefano Ceri, Piero Fraternali, and
          <string-name>
            <given-names>Ioana</given-names>
            <surname>Manolescu</surname>
          </string-name>
          .
          <article-title>Process Modeling in Web Applications</article-title>
          .
          <source>ACM TOSEM</source>
          ,
          <volume>15</volume>
          (
          <issue>4</issue>
          ):
          <volume>360</volume>
          {
          <fpage>409</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Stefano</given-names>
            <surname>Ceri</surname>
          </string-name>
          , Piero Fraternali, Aldo Bongio, Marco Brambilla, Sara Comai, and
          <string-name>
            <given-names>Maristella</given-names>
            <surname>Matera</surname>
          </string-name>
          .
          <article-title>Designing Data-Intensive Web Applications</article-title>
          . Morgan Kaufmann, USA,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>A.H.M. Hofstede</surname>
          </string-name>
          ,
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
            , M. Adams, and
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Russell</surname>
          </string-name>
          (Eds.).
          <source>Modern Business Process Automation, YAWL and its Support Environment</source>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>John</given-names>
            <surname>Noll</surname>
          </string-name>
          and
          <string-name>
            <given-names>Walt</given-names>
            <surname>Scacchi</surname>
          </string-name>
          .
          <article-title>Specifying process-oriented hypertext for organizational computing</article-title>
          .
          <source>J. Netw. Comput. Appl.</source>
          ,
          <volume>24</volume>
          (
          <issue>1</issue>
          ):
          <volume>39</volume>
          {
          <fpage>61</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. OMG,
          <source>BPMI. BPMN 1.2. Technical report</source>
          , http://www.bpmn.org/,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Hans</given-names>
            <surname>Albrecht</surname>
          </string-name>
          Schmid and
          <string-name>
            <given-names>Gustavo</given-names>
            <surname>Rossi</surname>
          </string-name>
          .
          <article-title>Modeling and designing processes in e-commerce applications</article-title>
          .
          <source>IEEE Internet Computing</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <volume>19</volume>
          {
          <fpage>27</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Olga De Troyer and
          <string-name>
            <given-names>Sven</given-names>
            <surname>Casteleyn</surname>
          </string-name>
          .
          <article-title>Modeling complex processes for web applications using wsdm</article-title>
          .
          <source>In Ws. on Web Oriented Software Technology (IWWOST)</source>
          , pages
          <fpage>1</fpage>
          {
          <fpage>12</fpage>
          ,
          <string-name>
            <surname>Oviedo</surname>
          </string-name>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>