business process -based conceptual design of rich internet applications
DESCRIPTION
TRANSCRIPT
Marco Brambilla, J.Carlos Preciado, Marino Linaje, Fernando Sánchez-Figueroa
Business Process -based Conceptual Design of
Rich Internet Applications
Summary
• Motivation and objetives• RIA modeling foundations• RIA modeling foundations with BPMN
• Data modeling• Business Logic modeling• Communication modeling
• Transforming from BPMN to WebML and RUX models• BPMN to WebML transformations• From WebML to RUX-Method transformation (Presentation
modeling)
• Case Study
Motivation and objetives
MotivationComplexity of tasks is increasing
(multimedia, interaction and processing) HTML is showing its limits. Developers
migrating to Web 2.0 (RIA)
Paper objectivesRepresenting RIA
modeling foundationsIntegrating Web
Engineering proposalsInclude in the
development BP modeling
Basic RIAs modeling foundations
Representing RIA modeling foundations with BPMN
• For specifying BP models BPMN and its companion metamodel BPDM. • the BPMN to generate later the design of data,
business logic, communication, and presentation• interpretation of the BPMN models that fits the needs
of RIAs• define a translation to the various aspects of the
application.
• An intermediate level of abstraction is required:• activities and events specified in the BP model should be the
ones that trigger the behaviour of the business logics and of the presentation components.
Representing RIA modeling foundations with BPMN
• BPMN models for RIAs is to specify the distribution of the computation and data storage between client and server.
• pools and lanes must be organized:• pool actor/role of the Web application. • each pool is composed by a set of predefined
lanes that must be marked as: CLIENT, SERVER, and (optionally) CLIENT-SERVER.• Client and server lanes will comprise aspects that
will stand/occur just in one of the sides• client-server lane may be used to represent
common issues.
Data modeling
• BPMN data objects can be exploited for inferring the basic information concepts in the data model of the application.
• Data distribution (client or server) and persistence (persistent or volatile) can be described in the BPMN: • Data objects are represented inside the client or the
server lanes• Persistence is described by the state attribute (‘P’ or
‘V’) within the data object• Special considerations:
• When the same name is used by two data objects, these data objects are considered the same
Business Logic modeling
• BPMN allows representing the business logic by using the control flow (arrows), connection objects, artifacts, and lanes. • Client and Server lanes indicate those elements that will
stand/occur at one of the sides, while mixed business logic can be specified in the Client-server lane.
• The client-server lane is useful for two different scenarios:• To perform the same operation twice (once at client and later at server
side).• On BPMN collapsed sub-processes where their expansions involve
processes both in the client and in the server lanes.
• Special considerations:• relation between the activities and the data associations.• Directionality (depicted by an arrow) added to an association
shows whether the data object is an input or an output to the activity
Communication modeling
• we focus in the native communication mechanisms that these applications provide. • We must notice that in RIAs the servers are also able
to begin a conversation, by means of PUSH communication paradigms (plus traditional client-server PULL communication).
• BPMN control flow arrows are used to describe communication between activities of the processes. • The kind of communication (push or pull) can be
immediately derived from the direction of the arrow from the origin to the target.
• Control flows can be refined by a text annotation specifying whether the transmission is synchronous (‘S’) or asynchronous (‘A’).
Transforming from BPMN to WebML and RUX models
• In our proposal, the information specified in the BP is used by the WebML model as a high level specification of the hypertext behaviour
• The design steps can be summarized as follows: (1) • design of the BPMN model
(2) • automatic generation of preliminary data model and navigation model, which need further refinement by the designer
(3) • extraction of the abstract RUX-Method user interface model
(4) • definition of the RUX-method concrete model
(5) • implementation of the application through automatic code generation
BPMN to WebML Transformation
Process metadata model (RIA specific information is in bold red font).
User Metadata
ActivityType
NameDescriptionCreationTimeVisibility
User
UsernamePassword...
Group
Name...
0:N
1:1
Activity Instance
StatusStartTimeStampEndTimeStampVisible
Case
StatusNameStartTimeStampEndTimeStamp
0:N 0:N
0:N
1:1 1:N
Assigned To
1:1
0:N
1:1
Process
Name1:1 1:N
0:N
1:N
Default
Assigned To
PartOf
PartOf
1:1
0:N
InstanceOfInstanceOf
0:N 1:1
Executed By
Process Metadata
From WebML to RUX-Method transformation
Case Study
1. a product list on which filters, searches and selections can be applied; on the right side
2. the details of the selected product; and at the bottom 3. the shopping cart4. drag&drop
Case Study
Case Study