Business Process -based Conceptual Design of Rich Internet Applications
1. Business Process -based Conceptual Design of Rich Internet Applications Marco Brambilla, J.Carlos Preciado, Marino Linaje, Fernando Sánchez-Figueroa
2. Summary Motivation and objetives RIA modelingfoundations 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
5. Representing RIA modeling foundations with BPMN For specifying BP models BPMN and its companion metamodelBPDM. 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.
6. 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.
7. 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
8. Business Logicmodeling 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
9. Communicationmodeling 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 controlflow 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’).
10. 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:
13. Case Study a product list on which filters, searches and selections can be applied; on the right side the details of the selected product; and at the bottom the shopping cart drag&drop