Conference PaperPDF Available

WebRatio BPM: A Tool for Designing and Deploying Business Processes on the Web

Authors:

Abstract and Figures

This paper presents WebRatio BPM, an Eclipse-based tool that supports the design and deployment of business processes as Web applications. The tool applies Model Driven Engineering techniques to complex, multi-actor business processes, mixing tasks executed by humans and by machines, and produces a Web application running prototype that implements the specified process. Business processes are described through the standard BPMN notation, extended with information on task assignment, escalation policies, activity semantics, and typed dataflows, to enable a two-step generative approach: first the Process Model is automatically transformed into a Web Application Model in the WebML notation, which seamlessly expresses both human- and machine-executable tasks; secondly, the Application Model is fed to an automatic transformation capable of producing the running code. The tool provides various features that increase the productivity and the quality of the resulting application: one-click generation of a running prototype of the process from the BPMN model; fine-grained refinement of the resulting application; support of continuous evolution of the application design after requirements changes (both at business process and at application levels).
Content may be subject to copyright.
WebRatio BPM: A Tool for Designing and
Deploying Business Processes on the Web
Marco Brambilla1, Stefano Butti2, and Piero Fraternali1
1Politecnico di Milano, Dipartimento di Elettronica e Informazione
P.za L. Da Vinci, 32. I-20133 Milano - Italy
{marco.brambilla,piero.fraternali}@polimi.it
2Web Models S.r.l., I-22100 Como - Italy
stefano.butti@webratio.com
Abstract. This paper presents WebRatio BPM, an Eclipse-based tool
that supports the design and deployment of business processes as Web
applications. The tool applies Model Driven Engineering techniques to
complex, multi-actor business processes, mixing tasks executed by hu-
mans and by machines, and produces a Web application running pro-
totype that implements the specified process. Business processes are
described through the standard BPMN notation, extended with infor-
mation on task assignment, escalation policies, activity semantics, and
typed dataflows, to enable a two-step generative approach: first the Pro-
cess Model is automatically transformed into a Web Application Model
in the WebML notation, which seamlessly expresses both human- and
machine-executable tasks; secondly, the Application Model is fed to an
automatic transformation capable of producing the running code. The
tool provides various features that increase the productivity and the
quality of the resulting application: one-click generation of a running
prototype of the process from the BPMN model; fine-grained refinement
of the resulting application; support of continuous evolution of the appli-
cation design after requirements changes (both at business process and
at application levels).
1 Introduction
Business process languages, such as BPMN (Business Process Management No-
tation) [13], have become the de facto standard for enterprise-wide application
specification, as they enable the implementation of complex, multi-party business
processes, possibly spanning several users, roles, and heterogeneous distributed
systems. Indeed, business process languages and execution environments ease
the definition and enactment of the business constraints, by orchestrating the
activities of the employees and the service executions.
This paper presents an approach and a supporting toolsuite to the specifi-
cation, design and implementation of complex, multi-party business processes,
based on a Model-Driven Engineering (MDE) methodology and on code gener-
ation techniques capable of producing dynamic Web applications from platform
independent models.
B. Benatallah et al. (Eds.): ICWE 2010, LNCS 6189, pp. 415–429, 2010.
c
Springer-Verlag Berlin Heidelberg 2010
416 M. Brambilla, S. Butti, and P. Fraternali
The proposed approach is a top down one: the (multi-actor, multi-site) busi-
ness process is initially designed in an abstract manner, using the standard
BPMN notation for schematizing the process actors, tasks, and business con-
straints. The resulting BPMN model is an abstract representation of the business
process and cannot be used directly for producing an executable application, be-
cause it lacks information on essential aspects of process enactment such as: task
assignment to humans or to Web Services, data flows among tasks, service invo-
cation and user interface logics. Therefore, the standard BPMN specification is
manually annotated with the missing information, to obtain a detailed process
model amenable to a two-step transformation:
A first model-to-model transformation (Process to Application)translates
the detailed process model into: 1) a platform-independent model of the Web
user interface and of the Web Service orchestrations needed for enacting the
process, expressed in a Domain Specific Language called WebML [4]; 2) a
Process Metadata Model, representing the business constraints (e.g., BPMN
precedence constraints, gateways, etc).
A second model-to-text transformation (Application to Code)mapstheAp-
plication Model and the Process Metadata Model into the running code of
the application. The resulting application is runtime-free and runs on any
standard Java Enterprise Edition platforms.
The original contributions of the paper are: (i) a two-step generative frame-
work comprising a first model transformation from a detailed Business Process
Model to an Application Model and a second transformation for producing the
executable code from the Application Model; and (ii) an extended version of
the WebRatio toolsuite [17], called WebRatio BPM, that fully implements the
proposed transformation steps. The tool is currently in beta version and will
be released in the second quarter of 2010. However, a major European banking
customer is already adopting WebRatio BPM for the development of a large,
multi-country and multi-user business process based portal. Therefore, the vali-
dation of the approach is already ongoing and several lessons learned have been
collected.
The advantages of having a two steps modeling process are multifold: (i) the
BP model (BPMN) and the web model (WebML) allows the designer to sep-
arate the different concerns in the design, keeping the process issues separate
from the hypertext and interface issues; (ii) the transformation of the BP model
to a Web-specific model allows fine-grained description of the interfaces, while
remaining at a modeling level; (iii) the Web modeling level allows seamless inte-
gration of resulting applications within non-BP-based application models (e.g.,
web portals, B2C e-commerce sites, and so on); (iv) having distinct models allows
different user roles (i.e., business analysts at the BP level and Web engineers at
the Web modeling level) to work together and independently at the same appli-
cation design. These advantages, together with the one-click deployment option,
make our proposal unique also considering the plethora of BPM tools existing
on the market.
WebRatio BPM: A Tool for Designing and Deploying Business Processes 417
Customer
Credit Score
Govern
Housing
agency Product
provider Bank
Assoc.
Customer
Leasing
Request
Bank
Customer
tax status
Product
Type?
[Car]
[House]
House Leasing
Quotation
(Credit Score > required) &&
(Tax Status == “Valid”)
Confirm
Quotation
[Yes]
[No]
Car Leasing
Quotation
Best
Quotation
Selection
Fig. 1. Business process model of the leasing running example
The paper is organized as follows: Section 2 discusses the background tech-
nologies and notations; Section 3 discusses the approach to application devel-
opment; Section 4 and Section 5 illustrate the extended process model and the
application model, respectively; Section 6 describes the implementation of the
WebRatio BPM tool; Section 7 discusses the related work; and Section 8 draws
the conclusions.
2 Background: BPMN, WebML, and WebRatio
This work builds upon existing methods and tools to cover the different design
phases.
BPMN [13] supports the specification of business processes, allowing one to
visually specify actors, tasks, and constraints involved. Precedence constraints
are specified by arrows, representing the control flow of the application, and
gateways, representing branching and merging points of execution paths. Paral-
lel executions, alternative branches, conditional executions, events, and message
exchanges can be specified. BPMN allows analysts to describe complex orches-
trations of activities, performed by both humans and machines. Figure 1 shows
an example of BPMN, describing a simplified leasing process for houses and cars.
WebML [4] is a Domain Specific Language for data-, service-, and process-
centric Web applications [3]. It allows specifying the conceptual model of Web
applications built on top of a data schema and composed of one or more hy-
pertexts used to publish or manipulate data. The data model can be specified
through standard E-R or UML Class diagrams. Upon the same data model,
different hypertext models (site views ) can be defined (e.g., for different 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. WebML
418 M. Brambilla, S. Butti, and P. Fraternali
User SiteView
House
[Leasing=TRUE] House
[OID=CurrHouse]
CurrHouse:OID
House List House details
DSearch Leasing Cars Page
Leasing Houses Page
Car
[Model contains keyword]
Entry unit Scroller unit Cars multidata
Car
[OID in BlockCars]
keyword BlockCars:{OID}
Fig. 2. WebML hypertext model example
allows specifying also update operations on the underlying data (e.g., the cre-
ation, modification and deletion of instances of entities or relationships) or op-
erations performing arbitrary actions (e.g. sending an e-mail, invoking a remote
service [9], and so on). Figure 2 shows a simple site view containing two pages,
respectively showing the list of houses and a form for searching cars available
for leasing. Page Search Leasing Cars contains an entry unit for inputting the
car model to be searched, a scroller unit, extracting the set of cars meeting the
search condition and displaying a sequence of result blocks, and a multidata unit
displaying the cars pertaining to a block of search results.
WebML is supported by the WebRatio CASE tool [17], which allows the
visual specification of data models and site views and the automatic generation
of J2EE code. The tool consists of a set of Eclipse plug-ins and takes advantage
of all the features of this IDE framework. It also supports customized extensions
to the models and code generators, model checking, testing support, project
documentation, and requirements specifications. The main features of WebRatio
are the following: it provides an integrated MDE approach for the development of
Web applications and Web services, empowered by model transformations able
to produce the complete running code; it unifies all the design and development
activities through a common interface based on Eclipse, which includes the visual
editing of models, the definition of presentation aspects, and the extension of
the IDE with new business components and code generation rules; it includes
a unified workspace for projects and a version control and collaborative work
environment.
3 Development Process
The development process supported by WebRatio BPM is structured in five
main steps, represented in Figure 3 according to the SPEM notation [12].
Initially, business requirements are conceptualized in a coarse Business Pro-
cess Model by the business analyst. Figure 1 is an example of BPM that can be
obtained as a requirement specification of the leasing application. Subsequently,
the BPMN schema is refined by a BPMN designer, who annotates it with pa-
rameters on the activities and data flows.
The resulting refined Process Model is subject to a first model transformation,
which produces the WebML Application Model and Process Metadata Model.
WebRatio BPM: A Tool for Designing and Deploying Business Processes 419
Design
Business
Process
Business
Analyst
WebRatio
BPM
Transformer
Generate
Application
Model
Coarse BPMN model
Refine
Business
Process
BPMN
Designer
Refined BPMN model
Application Model
Application
Designer
Complete
Application
Model
WebRatio
Code
Generator
Generate
Running
Application
Running
application
2. One-click code
generation
1. Refined
application
BP Metadata
Fig. 3. Development process overview (SPEM notation)
The Application Model (discussed in Section 5.2) specifies the details of the
executable application according to the WebML notation, representing the hy-
pertext interface for human-directed activities. The Process Metadata Model
(discussed in Section 5.1) consists of relational data describing of the activities
of the process and of the associated constraints, useful for encapsulating the
process control logic. This transformation extends and refines the technique for
model-driven design of Web applications from business process specification ini-
tially proposed in [3]. Subsequently, the generated Application Model can be
either used as is by a one-click prototype generation transformation to get a
first flavour of the application execution (option 2 in the branching point), or it
can be refined manually by the application designer, to add domain-dependent
information on the execution of activities (option 1 in the branching).
Finally, the Application Model is the input of a second transformation, which
produces the code of the application for a specific technological platform (in our
case, J2EE); this step is completely automated thanks to the code generation
facilities included in WebRatio.
4 Refined Process Model
The high-level BPMN process model designed in the requirement specification
phase is not detailed enough to allow the generation of the application code. Its
refinement is done using an extended BPMN notation, which enables a more
precise model transformation into a WebML Application Model and then into
the implementation code. In particular, the process model is enriched with infor-
mation about the data produced, updated and consumed by activities, which is
expressed by typed activity parameters and typed data flows among activities.
420 M. Brambilla, S. Butti, and P. Fraternali
Activity Name
par_1
par_2
par_5
par_3
par_4
1
4
3
2
Fig. 4. Extended activity notation
Furthermore, activities are annotated to express their implicit semantics, and
gateways (i.e., choice points) that require human decisions are distinguished.
Figure 4 shows the graphical notation of the extended BPMN activity. An
activity is associated with a Name (1), which is a textual description of its se-
mantics, and possibly an Annotation (2), which describes the activity behaviour
using an informal textual description. An activity is parametric, and has a (pos-
sibly empty) set of input (3) and output (4) parameters. The actual values of
input parameters can be assigned from preceding activities; the output parame-
ters are produced or modified by the activity. Analogous extensions are defined
for gateways; these are further refined by specifying whether they are imple-
mented as manual or as automatic branching/merging points. Manual gateways
(tagged as Type “M”) involve user interaction in the choice, while Automatic
gateways (tagged as Type “A”) automatically evaluate some condition and de-
cide how to proceed with the process flow without human intervention. The
output flow of gateways can be associated to a guard condition, which is an
OCL Boolean expression over the values of the parameters of the gateway; the
semantics is that the activity target of the flow link with the guard condition
can be executed only if the condition evaluates to true.
5 Application Model
Starting from the Detailed Process Model presented above, an automatic trans-
formation produces: (1) Process Metadata Model, describing the process con-
straints in a declarative way as a set of relations; (2) the Domain Model, speci-
fying the application-specific entities; (3) and the Application Model, including
both the site views for the user interaction and the service views for Web service
orchestration.
Hence, the transformation consists of two sub-transformations:
Detailed Process Model to Process Metadata: the BPMN precedence con-
straints and gateways are transformed into instances of a relational represen-
tation compliant to the Process Metamodel shown in Figure 5, for enabling
runtime control of the process advancement;
Detailed Process Model to Application Model: the BPMN process model
is mapped into a first-cut Application Model, which can be automatically
WebRatio BPM: A Tool for Designing and Deploying Business Processes 421
transformed into a prototype of the process enactment application or sub-
sequently refined by the designer to incorporate further domain specific
aspects.
Thanks to the former transformation, the BPMN constraints, stored in the Pro-
cess Metadata Model, are exploited by the components of the Application Model
for executing the service invocation chains and enacting the precedences among
human-executed tasks.
5.1 Process Metadata Generation
Figure 5 shows, as a UML class diagram, the schema of the metadata needed
for executing an BPMN process at runtime.
AProcess represents a whole BPMN diagram, and includes a list of Activities,
each described by a set of input and output ParameterTypes.ACase is the
instantiation of a process, and is related to the executed Activity Instances,with
the respective actual Parameter Instances. The evolution of the status history
is registered through CaseLogEntry and ActivityLogEntry.Users are the actors
that perform a task and are clustered into Groups, representing their roles.
Notice that the diagram spans two modeling levels in the same data schema,
namely process model and process instance information. The BPMN part is
confined to the entities in the upper part of the figure, while the lower part
regards execution data.
-oid
-name
-description
Process -oid
-name
-description
-execution
-type
Activity
-name
-description
-type
ParameterType
-oid
-name
-status
Case
-oid
-status
ActivityInstance -oid
-value
ParameterInstance
-oid
-entryStatus
-entryTimestamp
CaseLogEntry
-oid
-entryStatus
-entryTimestamp
ActivityLogEntry
-oid
-username
-password
User
-oid
-groupName
Group
-oidPrevious
-oidNext
-condition
Condition
*
1
*
1
*
1
*
1*
1
**
*
1
*
*
*
1
*
1
*
*
*
*
*
*
*
1
*
1
*
*
Previous
Next
Executed by
Contains
Instantiated Instantiated
Belongs to
Logged Logged
Previous/
Next
OutputParameter
InputParameter
Contains
**
Executable by
OutputParameter
InputParameter
Instantiated
Fig. 5. Process Metadata describing the BPMN constraints
The transformation from the extended BPMN to the Process Metadata
produces a relational encoding of the BPMN concepts: each process model is
422 M. Brambilla, S. Butti, and P. Fraternali
transformed to a Process instance; each activity is transformed into an Activity
instance; each flow arrow is transformed into a nextActivity/previousActivity
relationship instance; each guard condition is transformed into a Condition
instance.
Process Metadata generation has been formalized as an ATL transformation
from the BPDM metamodel to the Process Model of Figure 5.
5.2 Application Model Generation
The transformation from Refined Process Models to WebML coarse models of
services and hypertext interfaces considers the type (human or automatic) of the
gateways and the information on the data flows. The application models pro-
duced by the transformation still need manual refinement, to add domain-specific
elements that cannot be expressed even in the enriched BPMN notation. How-
ever, by exploiting information about the activity type, a first-cut application
model can be generated, which needs reduced effort for manual refinement.
The computation of the next enabled activities given the current state of the
workflow is encapsulated within a specific WebML component, called Next unit,
which factors out the process control logic from the site view or service orches-
tration diagram: the Next unit exploits the information stored in the Process
Metadata to determine the current process status and the enabled state transi-
tions. It needs the following input parameters: caseID (the currently executed
process instance ID), activityInstanceID (the current activity instance ID), and
the conditionParameters (the values required by the conditions to be evaluated).
Given the activityInstanceID of the last concluded activity, the Next unit queries
the Process Metadata objects to find all the process constraints that determine
the next activity instances that are ready for activation. Based on the condi-
tions that hold, the unit determines which of its output links to navigate, which
triggers the start of the proper subsequent activities.
The Process to Application Model Transformation from BPMN to WebML
consists of two main rules: the Process transformation rule, addressing the struc-
ture of the process in-the-large; and the Activity transformation rule, managing
the aspects of individual activities: parameter passing, starting and closing, and
behavior. For modularity and reusability, the piece of WebML specification gen-
erated for each activity is enclosed into a WebML module, a container construct
analogous to UML packages.
Figure 6 shows an overview of the outcome of the Process transformation
rule: the hypertext page for manually selecting the process to be started and for
accessing the objects resulting from process termination. This WebML fragment
models the process wrapping logic, generated from the Start Process and End
Process BPMN events.
The generated WebML model further comprises: (1) the process orchestration
site view, that contains the logic for the process execution; (2) a site view or
service view for each BPMN pool; (3) a set of hypertext pages for each human-
driven BPMN activity; (4) one service invocation (triggering the suitable actions
for application data updates) for each automatic activity.
WebRatio BPM: A Tool for Designing and Deploying Business Processes 423
Error in Next Unit
Page
Process
Processes
L
Process Control
Page
Process
Results page
Requested
Results
Result
KO
OK
Manual SiteView
NextUnit
Fig. 6. Excerpt of a WebML application model generated from a BPMN model
Error in Next Unit
Page
Switch NextUnit
[Module=1]
Customer
Leasing
Request
Error in Switch
Page
KO
KO
Case=1
OK
Case=2
Case=3
[Module=3]
Customer
Credit
Score
[Module=2]
And Split
[Module=...]
...
Case=...
...
Orchestration SV
Fig. 7. WebML Orchestration Siteview
Figure 7 shows the model of the orchestration site view. The enactment of
the process is performed through a loop of WebML module invocations, each
representing the implementation of one of the activities. At the beginning, the
initiation logic (shown in Figure 6) invokes the first module in the loop. The
invoked module, be it a Web service call or a Web interface for the user to
perform the activity, upon termination returns the control to the Next unit,
which determines the modules to be executed next.
The Activity transformation rule is based on the BPMN activity and gateway
specifications, taking into account aspects like the actor enacting the activity
(e.g., a human user or the system). For each BPMN activity and gateway, a
WebML module implementing the required behavior is generated. Each gener-
ated module has a standard structure: an input collector gathers the parameters
coming from previous activities; the activity business logic part comprises a form
with fields corresponding to the output of the activity and a Create unit that
stores the information produced by the activity persistently, for subsequent use.
For gateways, the transformation rule behaves according to the BPMN seman-
tics and to the kind of executor assigned to the gateway (human or automatic): if
424 M. Brambilla, S. Butti, and P. Fraternali
the gateway is tagged as human-driven, a hypertext is generated for allowing the
user to choose how to proceed; if the gateway is tagged as automatic, the choice
condition is embedded in the application logic. The transformation of BPMN
gateways is conducted as follows:
AND-splits allow a single thread to split into two or more parallel threads,
which proceed autonomously. The WebML model for AND-split automatic
execution generates a set of separate threads that launch the respective sub-
sequent activity modules in parallel, while manual execution allows the user
to select and activate all the possible branches.
XOR-splits represent a decision point among several mutually exclusive
branches. Automatic XOR-splits comprise a condition that is automatically
evaluated for activating one branch, while manual XOR-splits allow the user
to choose one and only one branch.
OR-splits represent a decision for executing one or more branches. Automatic
OR-splits comprise a condition that is automatically evaluated for activating
one or more branches, while the manual version allows the user to choose
the branches to activate.
AND-joins specify that an activity can start if and only if all the incoming
branches are completed. This behavior is usually implemented as automatic.
XOR-joins specify that the execution of a subsequent activity can start as
soon as one activity among the incoming branches has been terminated. This
behavior is usually implemented as automatic.
OR-joins specify that the execution of the subsequent activity can start as
soon as all the started incoming branches have been terminated. This behav-
ior is usually implemented as automatic, possibly through custom conditions
on the outcome of the incoming branches.
Figure 8 shows two simplified examples of generated modules: the XOR (Pro-
ductType) module (Figure 8.a) implements the automatic evaluation of the XOR
[ProductType=?]
If
[Car]
[House]
activityInstanceID
activityTypeID
userId
ProductID
Input
Collector
activityTypeID
Output
Collector
userId
Input
Collector
CreditScore
Output
Collector
Xor (ProductType) module
Customer Credit Score module
ActivityTypeID= “WSCarLQuotation
ActivityTypeID= “WSHouseLQuotation
Set
Parameter
Set
Parameter
(a)
(b)
Query unit
Product
[OID=ProductID]
Product
Type
CreditScore Page
Entry unit CreditScore
CreditScore
Create +
Fig. 8. WebML Modules for XOR gateway and Customer Credit Score
WebRatio BPM: A Tool for Designing and Deploying Business Processes 425
gateway in the BPMN model of Figure 1: given the ProductID, it extracts its
type and checks whether it is a car or a house. The next activity to be performed
is set accordingly, and this information is passed to the Next unit in the orches-
tration site view. The Customer Credit Score module in Figure 8.b shows the
generated hypertext page that allows the user to enter and store the credit score
value for the customer, which is the output parameter of the Customer Credit
Score activity of Figure 1.
The whole approach is specified by an ATL transformation organized into the
three above specified rules: a Process transformation rule generates the process
actions and then invokes the Activity rule that manages untyped activities. A
set of type-specific Activity rules inherit from the general transformation and
refine it.
6 Implementation of WebRatio BPM
The illustrated method has been implemented as a new major release of WebRa-
tio, called WebRatio BPM. To achieve this result, all three major components
of the tool suite have been extended: the model editing GUI, the code gener-
ator, and the runtime libraries. The model editing GUI has been extended by:
1) creating an Eclipse-based workflow editor supporting the definition of the
refined BPMN Process Model; and 2) adding the Next unit as a new compo-
nent available in the WebML Application Model editor. The code generator has
been extended in two directions: 1) the BPMN to WebML transformation has
been integrated within the toolsuite, thus allowing automatic generation of the
WebML Application Models and of the Process Metadata. 2) the code genera-
tion from WebML has been augmented to produce the instances of the Process
Metadata and to integrate the novel components (e.g., the Next unit) into the
existing J2EE code generation rules.
Moreover, a one-click publishing function has been added to the BPMN edi-
tor, thus allowing the immediate generation of a rapid prototype of the BPMN
process. The prototype is a J2EE dynamic, multi-actor application with a de-
fault look & feel, produced from the WebML Application Models automatically
derived from the BPMN diagrams, according to the previously described tech-
niques. The process prototype comprises a few exemplary users for each BPMN
actor, and allows the analyst to impersonate each role in the process, start a
process and make it progress by enacting activities and both manual and auto-
matic gateways. Figure 9 shows a snapshot of the user interface of the WebRatio
BPMN editor.
The WebRatio BPM tool is being tested in a real industrial scenario of a major
European bank, that needs to reshape its entire software architecture according
to a BPM paradigm with a viable and sustainable design approach. The first
set of developed applications addressed the leasing department. The running
case presented in this paper is inspired by the leasing application that is under
development. The real application involves more than 80 business processes,
which orchestrate more that 500 different activities.
426 M. Brambilla, S. Butti, and P. Fraternali
Fig. 9. WebRatio B P M u s e r i nterfa c e
7 Related Work
A plethora of tools exist for business process modeling and execution, produced
by major software vendors, open source projects, or small companies. In our re-
view of existing tools, we identified more than fifty relevant tools in the field. A
report from Gartner [6] describes the magic quadrant of the field and selects the
most promising solutions. Among them, we can mention Lombardi Teamworks,
Intalio, webMethods BPMS, Tibco iProcess, Savvion BusinessManager, Adobe
Livecycle ES, Oracle BPM Suite, IBM WebSphere Dynamic Process Edition.
Most of them rely on Eclipse as IDE environment and include a visual designer
of business models and a generator of configurations for associated workflow en-
gines. In our analysis, we considered more than 50 tools: each of them exposes
different strengths and weaknesses. Some 50% of them adopt BPMN as modeling
notation; a few provide quick prototyping features (e.g., Oracle, Tibco, BizAgi),
while only one provides fine grained simulation capabilities, i.e., the prossibility
of visualizing hypothetical executions over the visual model, considering stochas-
tic properties of the executions themselves (IBM); some of them are also very
strong on BAM features (business analysis and monitoring), such as Oracle and
BizAgi; owever, the ones that provide a good level of personalization of the user
interfaces allow to do so only at the code level. The main innovations of our
approach with respect to the competitors are: (1) quick generation of a running
prototype with no coding required; (2) possibility of refinement of the prototype
at the web modeling level; (3) clear separation of concerns and assignment to
design tasks to roles; (4) model transformation and code generation of the final
Web application through MDD.
In the scientific community, some other works have addressed the challenge
of binding the business processing modeling techniques with MDD approaches
addressing Web applications development.
WebRatio BPM: A Tool for Designing and Deploying Business Processes 427
In this work we focus on process- and data-centric application design, a field
where several MDD-based approaches has proven valid. The challenge, though,
is to define methods for effectively binding the business processing modeling
techniques with MDD approaches addressing, for instance, Web applications
development. The Process Modeling language (PML) [11], for instance, is an
early proposal for the automatic generation of simple Web-based applications
starting from imperative syntax, that allows users to enact their participation
to the process .
Koch et al. [7] approach the integration of process and navigation modeling in
the context of UWE and OO-H. The convergence between the two models is lim-
ited to the requirement analysis phase, while the design of the application model,
is separated. In our work, both aspects are considered: like in UWE, we preserve
the process model as an additional domain model in the application data; as
in OO-H, we provide semi-automatic generation of WebML navigational model
skeletons directly from the process model. Among the other existing models, we
can mention Araneus [10], that has been extended with a workflow conceptual
model, allowing the interaction between the hypertext and an underlying work-
flow management system. In OOHDM [14], the content and navigation models
are extended with activity entities and activity nodes respectively, represented by
UML primitives. In WSDM [16], the process design is driven by the user require-
ments and is based on the ConcurTaskTrees notation. An alternative approach
is proposed by Torres and Pelechano [15], where BPM and OOWS [5] combines
to model process-centric applications; model-to-model transformations are used
to generate the Navigational Model from the BPM definition and model-to-text
transformations can produce an executable process definition in WS-BPEL. Liew
at al. [8] presents a set of transformations for automatically generating a set of
UML artifacts from BPM.
With respect to our previous work, this paper extends and refines the tech-
nique initially proposed in [3] with several major aspects. The main innovation
point is that the BP model and the application model are now treated at the
same level and can be evolved separately, thanks to the topology of the generated
application models, which insulates the process control logic from the interface
and navigation logic of the front-end. Specifically, while in our previous proposal
the BPM constructs were transformed into control flows in the application model
(e.g., as links in the WebML hypertexts), practical use demonstrated that this
approach led to severe difficulties during process and application maintenance
and evolution; therefore, we had to better encapsulate process with the help of
the process metadata.
Another related research area is the specification and deployment of service
orchestrations [1] (e.g., as WS-BPEL specifications). These approaches lack man-
agement of the user interactions and of results presentation.
8Conclusion
This paper presented a methodology and a tool called WebRatio BPM for
supporting top-down, model-driven design of business-process based Web
428 M. Brambilla, S. Butti, and P. Fraternali
applications. The tool is now available for testing purposes and will be com-
mercially distributed starting from October 2009. Our approach is based on
model transformations and allows designers to produce applications (both as
early prototypes and refined products) without coding. Thanks to the two dif-
ferent modeling levels (business model and Web hypertext model), the needs
and skills of different design roles can be accommodated, thus allowing easy
joint work between business analysts and web engineers. The high-level
BPM perspective provides easy specifications of business models and quick
generation of running prototypes, while the hypertext model covers the
need of refined design of the final application, thus provide separation of
concerns.
The tool, albeit still in a beta status, is have been used in a large banking
application for 6 months now. In this period, we collected useful user feedbacks
and new requirements, that were considered in the refinement of the system.
The experiment was applied on large scale on a real industrial application:
three different user roles worked together on the same large project: 3 busi-
ness analysts, 6 application developers, and a few key customers interacted
in the definition of the problems and of the solutions;
the users were spread across Europe and across 4 different companies (the
business consultancy company, the application development company, the
banking customer, and WebRatio itself);
the size and volume of the subprojects was so big that it challenged
the code generation performances, bringing to applications that included
more than 100,000 software components and XML configuration descriptors.
Although the size and the complexity of the project was so large, the need
raised only for refinements and small fixes to the approach, which therefore
proved valid. Two big requirements were collected on the field: the need for a
BAM (Business Analysis and Monitoring) console associated to the approach
and for a refined support to requirements and process changes. The BAM con-
sole design task will be simplified by the possibility of building the console it-
self with the model-driven WebML approach;being specified through models,
the console will be configurable and customizable at will depending on the
customer needs. The support to requirements and process changes is crucial
in process-based applications, since the evolution of processes must be sup-
ported even when the application is in use, and therefore several process in-
stances can be ongoing while the process change is applied. This requires to
preserve all the versions of process models (and of associated applications)
at the same time, to grant correct execution of both ongoing and new
processes.
Further tasks will include quantitative evaluation of productivity of the de-
velopers and of quality of the implemented applications, and coverage of further
aspects of BPMN semantics (i.e., customized events and exceptions).
WebRatio BPM: A Tool for Designing and Deploying Business Processes 429
References
1. Benatallah, B., Sheng, Q.Z.: Facilitating the Rapid Development and Scalable Or-
chestration of Composite Web Services. Distrib. Parallel Databases 17(1), 5–37
(2005)
2. Brambilla, M., Ceri, S., Fraternali, P., Manolescu, I.: Process Modeling in Web
Applications. ACM TOSEM 15(4), 360–409 (2006)
3. Brambilla, M., Ceri, S., Fraternali, P., Manolescu, I.: Process Modeling in Web
Applications. ACM TOSEM 15(4), 360–409 (2006)
4. Ceri, S., Fraternali, P., Bongio, A., Brambilla, M., Comai, S., Matera, M.: De-
signing Data-Intensive Web Applications. Morgan Kaufmann Publishers Inc., San
Francisco (2002)
5. Fons, J., Pelechano, V., Albert, M., Pastor, O.: Development of web applications
from web enhanced conceptual schemas. In: Song, I.-Y., Liddle, S.W., Ling, T.-
W., Scheuermann, P. (eds.) ER 2003. LNCS, vol. 2813, pp. 232–245. Springer,
Heidelberg (2003)
6. Gartner. Magic quadrant for business process management suites. Technical report,
Gartner (February 2009)
7. Koch, N., Kraus, A., Cachero, C., Meli´a, S.: Integration of business processes in
web application models. J. Web Eng. 3(1), 22–49 (2004)
8. Liew, P., Kontogiannis, K., Tong, T.: A framework for business model driven devel-
opment. In: STEP ’04: Software Tech. and Engineering Practice, pp. 47–56. IEEE,
Los Alamitos (2004)
9. Manolescu, I., Brambilla, M., Ceri, S., Comai, S., Fraternali, P.: Model-Driven
Design and Deployment of Service-Enabled Web Applications. ACM Transactions
on Internet Technologies (TOIT) 5(3), 439–479 (2005)
10. Merialdo, P., Atzeni, P., Mecca, G.: Design and development of data-intensive web
sites: The Araneus approach. ACM Trans. Internet Techn. 3(1), 49–92 (2003)
11. Noll, J., Scacchi, W.: Specifying process-oriented hypertext for organizational com-
puting. J. Netw. Comput. Appl. 24(1), 39–61 (2001)
12. OMG. Spem - software process engineering meta-model, version 2.0. Technical
report (2008), http://www.omg.org/technology/documents/formal/spem.htm
13. OMG, BPMI. BPMN 1.2: Final Specification. Technical report (2009),
http://www.bpmn.org/
14. Schmid, H.A., Rossi, G.: Modeling and designing processes in e-commerce appli-
cations. IEEE Internet Computing 8(1), 19–27 (2004)
15. Torres, V., Pelechano, V.: Building business process driven web applications. In:
Dustdar, S., Fiadeiro, J.L., Sheth, A.P. (eds.) BPM 2006. LNCS, vol. 4102, pp.
322–337. Springer, Heidelberg (2006)
16. De Troyer, O., Casteleyn, S.: Modeling complex processes for web applications
using wsdm. In: Ws. on Web Oriented Software Technology (IWWOST), pp. 1–12.
Oviedo (2003)
17. Webratio, http://www.webratio.com
... After analyzing them, the results demonstrate there were a number of tools supported the reengineering approach which is considered as a part of software phase [14], [15], [16]in the SDLC, this relies on enhancing an existing system or maintaining a legacy system. While others were based on the software development phase [17], [18], [19],[1], [20], [21], [13], [22] in the SDLC by new development characteristics. ...
... [1], [20], [21] WebRatio By automatically generating a java application from model-to-modeland model-to-code. ...
... PSCGT is built to include a wide number of expected features either for software development areas or forsoftware maintenance areas to the unknown clients. As for Acerbis, Roberto, et al. [21],[1] who have made WebRatio tool a Model-Driven Engineering (MDE) tools which having domain specific languages in different platforms to different clients. ...
Article
Software code generation tools have tremendous power on all software development life-cycle aspects which promoted to not just for enhancing the performance of development but also to reduce time-to-development, time-to-market, and costs of development. This paper aims to demonstrate the epistemic variety of automation support code generation tools according to studying and analyzing a number of implemented tools. It conducted by a qualitative analysis of eight former associated tools that have contributed according to research papers. This paper resulted in the seven important diminutions which necessity to be studied and identified by the requirement engineers for shaping automation based on software code generation tools. It addressed the four types of software code generation tools and the integration types between these types. And finally, it addressed a general model requirement of software code generation tools. The main value of this paper is to target the requirement engineers at the in-house software development companies who are willing to develop automation support code generation tools.
... In a second generation step, the MontiGem generator framework (6) is used to generate the PAIS based on the domain model (1), further domain specific models (7), and the generated models from the first step (5). The PAIS consists of a back-end, front-end, and databases. ...
... Other approaches try to derive (web) applications from BPMN. The WebRatio BPM platform [7] is a commercial tool-suite to create process-oriented web (and mobile) applications based on Java EE. It combines BPMN for process modeling, WebML for application modeling, and UML CDs for data modeling. ...
Article
Full-text available
Enterprise information systems created with model-driven software engineering methods need to handle not only data but also business processes in an automated way. This paper shows how to engineer process-aware information systems following the model-driven and generative software engineering paradigms. Existing approaches realize either the generation of automated or manual activities but do not employ model-driven engineering of all system aspects through systematic language composition. A generative approach that additionally uses process modeling languages allows developers to evolve generated data-centric information systems into process-aware information systems. To be usable within our generation process, we have developed a textual BPMN version and according language tooling to check the soundness of the models. We have included these process models in the generation process of an information system together with other domain-specific modeling languages, e.g., for data structures, and generate an extendable, process-aware information system that is open for continuous regeneration and handwritten additions. This approach allows us to lift a generated data-centric information system to a process-aware information system. Agile development enabled through the opportunity to validate assumptions automatically and adapt changes efficiently, enhances the engineering process as well as the generated systems themselves.
... We analyze the whole requirements elicitation process through three response variables: requirements engineers' effort, BPMN model accuracy, and GUI accuracy. From existing models to specify requirements, we chose BPMN models since it allows to focus on the processes and is widely adopted in industrial settings [19]. ...
... Note that how to build BPMN models from requirements and how to transform BPMN models into GUIs is beyond the scope of this paper. There is a proposal for these generations in [32] [33], and there are works with similar approaches in [19] [34] [35]. Participants participated in the experiment without knowing the rules, they acted intuitively. ...
Article
Full-text available
Context Requirements elicitation is a crucial phase in the software development life cycle. During requirements elicitation sessions, requirements engineers capture software requirements, and motivate stakeholders to express needs and expected software functionalities. In this context, there is a lack of extensive empirical research reporting the extent to which elicitation sessions can be influenced by participants' gender. Objective This paper presents our research endeavour to investigate requirements engineers' effort and elicited requirements' accuracy based on participants' gender. Method We conducted an experiment in two rounds with a total of 59 students who played the role of requirements engineers. In the first experimental task, the participant watched two videos where men and women stakeholders expressed software requirements. Later on, the participants specified software requirements in the shape of Business Process Model and Notation (BPMN) and next they generated Graphical User Interfaces (GUIs) from those models. Results We observed two significant differences. One between men and women requirements engineers in terms of dedicated effort during requirements specification: men took less effort. Other between stakeholders' gender in terms of accuracy resulted of BPMN models: models built from men stakeholders yield more accuracy. On the contrary, accuracy of resulted GUIs models did not show significant differences regarding requirements engineers or stakeholders' gender. Conclusions Analysing descriptive data, women spent more time both as stakeholders and as requirements engineers but their accuracy is better.
... The methodology is composed of several parts: business process models to work with social features, extensions of BPMN for capturing social requirements, a gallery of social BPMN design patterns that represent reusable solutions to recurrent process socialization requirements, and a model-to-model and mode-to-code transformation technology that automatically produces web code. In another work of Brambilla et al. [27], business processes are described through a BPMN model extended with information about task assignment, escalation, policies, activity semantics, and typed data flows. They present WebRatio BPMN, a model-driven web application development tool that allows editing BPMN models and automatically transforming them into running JEE applications. ...
... To summarize related works considered in this sub-section, we can state that they use data models [27] [29], patterns [26] [28] [33], model-based [32] [30] to semi-automatically generate GUIs. One of the main concerns with the existing works is that the developer has to spend more effort in drawing several models to generate GUIs. ...
Article
Full-text available
Context: A significant gap separates Business Process Model and Notation (BPMN) models representing processes from the design of Graphical User Interfaces (GUIs). Objective: This paper reports on a family of experiments to validate a method to automatically generate GUIs from BPMN models using stereotypes complemented with UML class primitives, and transformation rules. Method: We conducted two replications (23 and 31 subjects respectively) in which we compared two methods to generate GUIs from BPMN models; one automatic (using Stereotyped BPMN models) and one manual (using Non-stereotyped BPMN models). The study focuses on comparing effort, accuracy, and satisfaction (in terms of perceived ease of use (PEOU), perceived usefulness (PU), and intention to use (ITU)). Results: Results yield significant differences for Effort, Accuracy, and ITU. Effort is lower for the Non-stereotyped method, while accuracy and ITU are higher for the Stereotyped one. If we consider only experimental units whose BPMN models show an accuracy over 75% compared to those of the experimenters’ solution, the difference in accuracy for the designed GUIs is even more significant; in contrast, differences for effort and ITU are reduced. Conclusions: The use of the Stereotyped method reduces the possibility of errors in the process of designing GUIs.
... This information is quite heterogeneous from one source to another. For example, business processes are described through the BPMN notation [43] extended with information on task assignment, escalation, policies, activity semantics and typed data flows [9]. WebRatio BPM [10] provides various features increasing the productivity and the quality of the resulting application: one click generation of a running prototype of the process from the BPMN model. ...
Article
Full-text available
Generation of Graphical User Interfaces (GUIs) from Business Process Model Notation (BPMN) models is a step manually performed by an analyst in any information system development. By analyzing twelve BPMN projects and comparing them with their associated GUIs, a set of rules for mapping BPMN models expressed in terms of BPMN patterns to GUIs has been identified. This paper provides three main contributions: an empirical validation of these mapping rules; a classification of their alternatives to identify which ones support usability; and the validation of this classification. We conducted an experiment to study whether 43 participants apply the same rules as previously identified with response variables as: correctness of the rules, their completeness, perceived usefulness and intention to use. To select the mapping rules alternatives that effectively impact usability, we classified them according to empirically validated usability guidelines found in the literature. We also validated them with participants and response variables as: correctness of the guidelines, their perceived usefulness and intention to use. Correctness of the mapping rules was assessed positively (74%), as well as their completeness (76%), perceived usefulness (95%) and intention to use (68%). Correctness of the usability recommendations for using these mapping rules was also assesses positively (57%), as well as their perceived usefulness (86%) and intention to use (72%). This paper provides analysts with effective and efficient guidance on how to apply them consistently and to feed a software for semi-automatic transformation of BPMN models into their corresponding GUIs.
Article
Full-text available
Background: Integrating value-oriented perspectives into the principles and practices of software engineering is fundamental to ensure that software development activities address key stakeholders' views and also balance short-and long-term goals. This is put forward in the discipline of value-based software engineering (VBSE) Aim: This study aims to provide an overview of VBSE with respect to the research efforts that have been put into VBSE. Method: We conducted a systematic mapping study to classify evidence on value definitions, studies’ quality, VBSE principles and practices, research topics, methods, types, contribution facets, and publication venues. Results: From 143 studies we found that the term ``value'' has not been clearly defined in many studies. VB Requirements Engineering and VB Planning and Control were the two principles mostly investigated, whereas VB Risk Management and VB People Management were the least researched. Most studies showed very good reporting and relevance quality, acceptable credibility, but poor in rigour. Main research topic was Software Requirements and case study research was the method used the most. The majority of studies contribute towards methods and processes, while very few studies have proposed metrics and tools. Conclusion: We highlighted the research gaps and implications for research and practice to support VBSE.
Chapter
Model-driven development (MDD) tools aim to increase software development speed and decrease software time-to-market. Available MDD tools in the market state that software development teams can fast and easily develop “any” software by using them. So, the following research question arises: what is the perception of a software developer in using an MDD tool to create software he/she is used to develop without models? We selected Mendix, a user-friendly and easy configurable MDD tool, to address such a question and develop a domain-specific software artifact. We propose a use case collaborating with a Swiss company that allows users to compare insurances based on web crawling. Therefore, we ask a software developer at the Swiss company to develop a simplified version of a web crawler using the selected MDD tool. The software developer has extensive experience with developing web crawlers. However, for the software developer using MDD tools was a new paradigm of software development. We observe that the software developer successfully developed the web crawler using the MDD tool. However, he/she perceived some difficulties during the development, arising opportunities such as decreasing modeling complexity, increasing the MDD tool integrability, and improving modeling assistance. Finally, we conclude the experience report by drawing next research endeavors to generalize the results and discover new opportunities for improving MDD tools.KeywordsModel-driven developmentWeb crawlingExperience report
Chapter
Project repositories are a central asset in software development, as they preserve the knowledge gathered in past development activities. Locating relevant information in a vast project repository is problematic, because it requires manually tagging projects with accurate metadata, an activity which is time consuming and prone to errors and omissions. Just like any other artifact or web service, business processes can be stored in repositories to be shared and used by third parties, e.g., as building blocks for constructing new business processes. The success of such a paradigm depends partly on the availability of effective search tools to locate business processes that are relevant to the user purposes. A handful of researchers have investigated the problem of business process discovery using as input syntactical and structural information that describes business processes. This work explores an additional source of information encoded in the form of annotations that semantically describe business processes. Business processes can be semantically described using the so called abstract business processes. These are designated by concepts from an ontology which additionally captures their relationships. This ontology can be built in an automatic fashion from a collection of (concrete) business processes, and this work illustrates how it can be refined by domain experts and used in the discovery of business processes, with the purpose of reuse and increase in design productivity.
Conference Paper
Full-text available
Business process automation is complex activity especially while dealing with large and composite processes. To simplify the automation process, the business requirements are frequently model and verified in early stages. In this context, Business Process Modelling Notation (BPMN) is a renowned language particularly used for the modelling of business processes. Subsequently, the BPMN models are transformed to target models for further verification and deployment. Therefore, in this article, a Systematic Literature Review (SLR) is performed to investigate BPMN features, SoaML constructs used for services specification and tools for service generation. Consequently, 30 studies published during 2009-2018 are selected and analysed. This leads to identify 12 leading BPMN modelling constructs in the context of service generation. Moreover, 4 model transformations and 8 service generation techniques are identified. Furthermore, 6 BPMN modelling, 10 transformations, 5 service generation and 2 testing tools are presented. Finally, a comparative analysis of BPMN modelling tools is performed. It is concluded that business process automation became easy with the help of model representation and these models can be used for services generation. The finds of the article are highly beneficial for the researchers and practitioners of the domain.
Chapter
Full-text available
Business Process Modeling Languages (BPML’s) are continuously getting attraction of software development communities due to the fact of specifying complex business requirements with simplicity. However, the development of business process models from textual requirements through existing BPML’s is a time consuming task. In this context, Natural Language Processing (NLP) techniques are commonly applied to automatically generate business process models from textual requirements. Business Process Model and Notation (BPMN) is a well-known BPML. This article comprehensively investigates modern techniques, tools and trends for the generation of BPMN models from textual requirements by utilizing NLP techniques. Particularly, a Systematic Literature Review (SLR) is performed to select and evaluate 36 research studies published in the span of 2010–2018. As a result, 11 NLP and 8 BPMN tools are identified. Furthermore, 8 commonly generated BPMN constructs are recognized. Finally, a comparative analysis of NLP and BPMN tools is performed with the help of important evaluation parameters. It is concluded that the existing NLP techniques and tools significantly simplify the process of BPMN models generation from textual requirements. However, the existing approaches are inadequate to be applied in the industries, especially for real-time systems.
Article
Full-text available
We present the latest version of WSDM, an audience driven web site design method, which is better tailored to model complex business processes. For this the Conceptual Design phase has been equipped with a Task Modeling step that uses ConcurTaskTrees (CTT), a task modeling technique from the HCI field. This is an easy and powerful technique and only some minor modifications were needed to make it fit for its use in WSDM. In addition, the Navigational Design step has been adapted slightly to allow for a better separation between structure and workflow.
Conference Paper
Full-text available
The Internet has turned to be one the most common platform for the development of applications. In addition, sometimes the specification of these applications is given to web developers in the form of Business Processes (BP), and from this specification they are asked to develop the corresponding Web Application. In this situation, Web Engineering Methods should provide a way in which these specifications could be taken and be transformed into a Web Application that gives support to the process execution. Furthermore, when we are talking about B2B applications, we have to take into account that these BP usually involve the use of distributed functionality where different partners collaborate to accomplish an agreed goal. Therefore, in this work we provide a method for the automatic generation of Web Applications that give support to BP specifications. For this purpose, we generate from a BP definition the Navigation (web pages) and the WS-BPEL executable description that implements the entire process.
Article
Full-text available
Business processes, regarded as heavy-weighted flows of control consisting of activities and transitions, play an increasingly important role in Web applications. In order to address these business processes, Web methodologies are evolving to support its definition and integration with the Web specific aspects of content, navigation and presentation. This paper presents the modeling support provided for this kind of processes by the Object-Oriented Hypermedia method (OO-H) and the UML-based Web Engineering (UWE) approach. Both methods apply UML use cases and activity diagrams, and supply UML standard modeling extensions. Additionally, the connection mechanisms between the navigation and the process specific modeling elements are discussed. As a representative example to illustrate our approach we present the requirements, analysis and design models for the www.amazon.com Website with focus on the checkout process. Our approach includes requirements and analysis models shared by OO-H and UWE and provides the basis on which each method applies its particular design notation for business processes.
Article
Full-text available
The Squid peer-to-peer information discovery system supports flexible queries using partial keywords, wildcards, and ranges. It is built on a structured overlay and uses data lookup protocols to guarantee that all existing data elements that match a query are found efficiently. Its main innovation is a dimension-reducing indexing scheme that effectively maps multidimensional information space to physical peers.
Article
Full-text available
While Web applications evolve towards ubiquitous, enterprise-wide or multienterprise information systems, they face new requirements, such as the capability of managing complex processes spanning multiple users and organizations, by interconnecting software provided by different organizations. Significant efforts are currently being invested in application integration, to support the composition of business processes of different companies, so as to create complex, multiparty business scenarios. In this setting, Web applications, which were originally conceived to allow the user-to-system dialogue, are extended with Web services, which enable system-to-system interaction, and with process control primitives, which permit the implementation of the required business constraints. This article presents new Web engineering methods for the high-level specification of applications featuring business processes and remote services invocation. Process- and service-enabled Web applications benefit from the high-level modeling and automatic code generation techniques that have been fruitfully applied to conventional Web applications, broadening the class of Web applications that take advantage of these powerful software engineering techniques. All the concepts presented in this article are fully implemented within a CASE tool.
Article
Full-text available
Data-intensive Web sites are large sites based on a back-end database, with a fairly complex hypertext structure. The paper develops two main contributions: (a) a specific design methodology for data-intensive Web sites, composed of a set of steps and design transformations that lead from a conceptual specification of the domain of interest to the actual implementation of the site; (b) a tool called Homer, conceived to support the site design and implementation process, by allowing the designer to move through the various steps of the methodology, and to automate the generation of the code needed to implement the actual site.Our approach to site design is based on a clear separation between several design activities, namely database design, hypertext design, and presentation design. All these activities are carried on by using high-level models, all subsumed by an extension of the nested relational model; the mappings between the models can be nicely expressed using an extended relational algebra for nested structures. Based on the design artifacts produced during the design process, and on their representation in the algebraic framework, Homer is able to generate all the code needed for the actual generation of the site, in a completely automatic way.
Article
The book addresses the development of data-centric Web applications, the most prominent systems in use today for e-commerce, on-line trading, banking, digital libraries, and other high-volume sites. Developing and maintaining data-intensive Web applications is an especially complex, multi-disciplinary activity, requiring all the tools and techniques that software engineering can provide. The book presents WebML, an innovative approach to the development of data-intensive Web applications based on conceptual design. Using hundreds of illustrations and an elegant intuitive modeling language, the authors present a methodology that fully exploits the conceptual modeling approach of software engineering, from idea to application. Readers will learn how to transform their conceptual designs of data-intensive Web applications into effective software components.
Article
Organizations deploy intranets to provide access to documents for those who use them. But the web of computing comprises more than just documents: people, tools, and processes are critical to organizational function. In particular, people may need guidance on how to perform tasks, as well as access to information necessary to carry out those tasks.In this paper, we present a language for describing process-oriented hypertexts. A process-oriented hypertext links information, tools, and activities into a seamless organizational web. Using such a hypertext, the process performer can enact a process by browsing, and receive guidance on how to perform the process activities, where to find relevant information, and what tools to use.We have developed a process scripting language called PML that provides a way for process engineers to specify process models in terms of activities, and the sequence in which they should be performed. The specification can be elaborated with descriptions of resources and tools required and provided by activities, and the skills necessary to carry out an activity. The resulting models are then translated into one or more process-oriented hypertexts that represent instances of the process currently being performed.PML includes features that allow the modeler to specify how the process activities should be dynamically linked to information and resource nodes at the time the process is performed. This enables processes to be described as abstract models that can be instantiated as process-oriented hypertexts in different organizational settings.We used PML to model processes in a case study of the grants management process at the US Office of Naval Research. We describe some of our experiences applying PML to this study, and conclude with lessons learned and directions for future study.
Conference Paper
This work presents an OO software production method that defines a systematic process for conceptual modelling of web applications. The paper discusses a set of minimum primitives to capture the essentials of dynamic web applications and it discusses how to introduce them in a classical model-centered OO method that provides systematic code generation. Finally, the paper presents some ideas to extend this generation process for developing web solutions taking as an input these web enhanced conceptual schemas.
Conference Paper
While Web applications evolve towards ubiquitous, enterprise-wide or multi-enterprise informa-tion systems, they face new requirements, such as the capability of managing complex processes spanning multiple users and organizations, by interconnecting software provided by di erent or-ganizations. Signi cant e orts are currently being invested in application integration, to support the composition of business processes of di erent companies, so as to create complex, multi-party business scenarios. In this setting, Web applications, which were originally conceived to allow the user-to-system dialogue, are extended with Web services, which enable system-to-system in-teraction, and with process control primitives, which permit the implementation of the required business constraints. This paper presents new Web engineering methods for the high-level speci-cation of applications featuring business processes and remote services invocation. Process-and service-enabled Web applications bene t from the high-level modeling and automatic code genera-tion techniques that have been fruitfully applied to conventional Web applications, broadening the class of Web applications that take advantage of these powerful software engineering techniques. All the concepts presented in this paper are fully implemented within a CASE tool. Categories and Subject Descriptors: D. 2.2 [Software Engineering]: Design Tools and Techniques; D. 2.12 [Soft-ware Engineering]: Interoperability; D. 1.7 [Programming]: Visual Programming; H. 5.4 [Information Inter-faces and Presentation]: Hypertext/Hypermedia; J. 2 [Computer Applications]: Administrative Data Process-ing