Modelling and Automatic Generation of Process Driven Web Applications
Victoria Torres
OO-Method Research Group Department of Information Systems and Computation Technical University of Valencia, Spain
July 2007
Index
DSIC. Universidad Politécnica de Valencia (UPV)
Introduction State of the Art
Engineering Area Business Process Management Systems (BPMS)
Web
Proposal
defined at the Modelling Level Extensions defined at the Architectural Level Transformations
Extensions
Technological Context Conclusions
2
July2007
Introduction
DSIC. Universidad Politécnica de Valencia (UPV)
Objective
Automatic
Generation of Business Process Driven Web Applications. Modelling Web applications based in functionality and data provided by:
The local system External partners
short and long lived Business Processes. Take into account human tasks.
July2007 3
Consider
Introduction
DSIC. Universidad Politécnica de Valencia (UPV)
To overcome this objective we propose:
Its
study from the Web Engineering area. The application of Model Transformation Techniques. The Integration with Process Engines that orchestrate the tasks that make up Business Processes. The use of standards:
WS-BPEL, OASIS specification adopted to execute Business Processes. BPMN, standard graphical notation (OMG) for modelling BP.
July2007
4
Introduction
DSIC. Universidad Politécnica de Valencia (UPV)
Characteristics to Take into account about BP driven WA:
It
can extend in time (long-lived processes). It can involve participation of different agents. It can include tasks that are not automated in the system (manual tasks). It can invoke functionality provided by external partners. The Navigation is driven by the process and not by the user.
Based on these characteristics we differentiate between:
Short-lived
processes (i.e. Checkout process) Long-lived processes (i.e. Material Purchase Request process)
July2007 5
Introduction
DSIC. Universidad Politécnica de Valencia (UPV)
Types of Business Processes:
Short-lived
processes:
Are completed in a very short period of time (intervals can range from seconds to a few hours). Involve just one human participant (who interacts with the system/process to accomplish it) and one or more “automated” participants. Are usually simple and not very large (big). Are always started by the user (human participant). The user only participates in one case (instance) of the process at the same time.
July2007 6
Introduction
DSIC. Universidad Politécnica de Valencia (UPV)
Types of Business Processes :
Long-lived
processes:
Usually take a long time for being completed. There are several reasons that justify this prolongation in time such as several human participants, temporal constraints, etc. Usually involves more than one human participant and one or more automated systems. Can include temporal constraints that provoke that some tasks cannot be started until a specific instant of time. Can be started by any participant involved in the process. (Therefore, it is advisable that users could find easily the set of pending tasks that she is responsible of). The user can participate in more than one case (instance) of the process at the same time.
7
July2007
State of the Art
DSIC. Universidad Politécnica de Valencia (UPV)
Web Engineering
UWE, WebML, OO-H, WSDM, MDHDM. They Mix Navigational aspects with Process Execution aspects. They do not consider Presentation aspects. They limit to provide interfaces for the execution of light weight processes. Some do not take into account the definition of distributed processes. They do not take into account the definition of manual tasks (tasks that are not automated in the system but that take part in the process).
OO-HDM,
July2007
8
State of the Art
DSIC. Universidad Politécnica de Valencia (UPV)
Business Process Management Solutions (BPMS)
WebSphere, Oracle BPEL Manager, Microsoft Biztalk 2006, etc. BPM systems offer tools for: Modelling Business Processes, Modelling Executable Processes, Execute Processes (engine for executing processes), Monitor activities, Portal for users, Portal for administrators. They do not take advantage of the possibilities given by the hypertext. They simply extend their engines with Web interfaces. They are difficult to integrate with another systems. The integration with another systems cannot be performed at the modelling level. They do provide solutions at the implementation level. They solutions are expensive and normally proprietary.
IBM
July2007
9
Proposal
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
OO-Method Structural Model (Class Diagram)
«uses» «generates» Model-to-Model Transf.
OOWS Business Process Model
«uses»
ESPACIO DEL PROBLEMA
Navigational Model
Functional Model Dynamic Model (STD Diagram)
Services Model
Presentation Model
«generates» Model-to-Text Transf.
«generates» Model-to-Text Transf.
«generates» Model-to-Text Transf.
ESPACIO DE LA SOLUCIÓN
Capa de Servicios Servicios Web SOAP
Capa de Lógica WS-BPEL
Capa de Presentación asp, jsp, php, perl, etc.
July2007
10
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Business Process Model
It
is based on the BPMN notation. It is used to specify:
Private processes (service compositions) Collaboration with external partners
It
is linked to the Structural Model and the Services Model through Process Tasks. It extends the BPMN original notation for:
Identifying people participating in the process as individuals or as members of a specific group (Role-one vs. Role-any) Specifying the functionality associated to some process tasks (those that are automated).
July2007
11
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Business Process Model. Example
needMaterial
Tech. Staff «role-any»
«user» Solve Incident «manual» Pick Up Supplies No Cause?
solved?
PRIVATE PROCESS DEFINITION
Organization
Infrastructure Mgr. «role-any»
Yes «user» Manage Incident
«user» Prepare Purchase Order NeedSupply?
«send» Send Purchase Order
«receive» Receive Supplies Yes «user» Assign Manag. Incident notSkilled approve?
No
Member «role-one»
No
EXTERNAL PARTNER
July2007
Supply Provider
12
MESSAGE INTERCHANGE
«user» Notify Incident
«user» Validate Solution
Yes
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Navigational Model. Original Proposal
It
was defined to specify for each kind of users:
The available views over the system. The way to access each of these views.
It
includes a set of primitives…:
Navigational Nodes:
Contexts Subsystems Exploration Sequence
Navigational Links:
...
…whose
semantics are linked exclusively to the Structural Model (defined as views over this model).
13
July2007
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Navigational Model. Extension Proposal
Navigational
primitives should now also take into account Business Processes defined at the modelling level. New primitives are defined in the Navigational Model…
Process Contexts Activity Containers Main-AIU Complementary-AIU Human-AIU
…and
their semantics are linked to the Structural, Services and Business Process Model.
14
July2007
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Navigational Model. Extension Proposal
Structural Model
state={available, reserved, borrowed, lost} Book Author -id -name -nationality -title -isbn -editorial -num_edition -year_publication Copy -internal_id -purchase_date -state : Copy_state +loan_copy() 1 «enumeración» Request_state +Pending +Approved +Denied Loan -loan_date -return_date 1..* 1..* 1 1..*
User Diagram
Navigational Model (Authoring-in-the-large)
E
AnonimousUser
RequestBook -authors -units_to_buy -state : Request_state +create_request() +validate_request() 0..* 1..*
1 Member -dni -name -surname -email -is_sanctioned +liberate_sanction() +sanction_member()
0..*
«enumeración» Copy_state +Available +Reserved +Borrowed +Lost
H
«context» Home
AnonimousUser
E E «context» Library «context» Members
state={pending, approved, denied}
Business Process Model
LIBRARIAN SECRETARY MEMBER «role-any» «role-any» «role-one»
«user» Request for a Book Purchase
Approve? Default (Yes) «send» Send Request «receive» Recv. Purch. Notification «manual» Pick Up Books
UNIVERSITY DEPARMENT
«user» Validate the request
«user» Loan Book
No Request [pending] Request [validated] «service» Notify Request Rejection «service» Load Book Details «service» Notify Book Purchase
SYSTEM «entity»
+
Member
E
Member
CENTRAL LIBRARY
Services Model
Operation -name 1..* 1 Service -name 1 Input 0..* Argument -name Output 0..* 1 1..* Type -name BasicType 0..* ComplexType
«process-context» Book Request Purchase
Librarian
Secretary
E
E «process-context» Book Request Purchase
Librarian
Secretary
«process-context» Book Request Purchase
July2007
15
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Navigational Model. Extension Proposal
Structural Model
state={available, reserved, borrowed, lost} Book Author -id -name -nationality -title -isbn -editorial -num_edition -year_publication Copy -internal_id -purchase_date -state : Copy_state +loan_copy() 1 «enumeración» Request_state +Pending +Approved +Denied Loan -loan_date -return_date 1..* 1..* 1 1..*
User Diagram
Navigational Model (Authoring-in-the-large)
E
AnonimousUser
RequestBook -authors -units_to_buy -state : Request_state +create_request() +validate_request() 0..* 1..*
1 Member -dni -name -surname -email -is_sanctioned +liberate_sanction() +sanction_member()
0..*
«enumeración» Copy_state +Available +Reserved +Borrowed +Lost
H
«context» Home
AnonimousUser
E E «context» Library «context» Members
state={pending, approved, denied}
Business Process Model
LIBRARIAN SECRETARY MEMBER «role-any» «role-any» «role-one»
«user» Request for a Book Purchase
Approve? Default (Yes) «send» Send Request «receive» Recv. Purch. Notification «manual» Pick Up Books
UNIVERSITY DEPARMENT
«user» Validate the request
«user» Loan Book
No Request [pending] Request [validated] «service» Notify Request Rejection «service» Load Book Details «service» Notify Book Purchase
SYSTEM «entity»
+
Member
E
Member
CENTRAL LIBRARY
Services Model
Operation -name 1..* 1 Service -name 1 Input 0..* Argument -name Output 0..* 1 1..* Type -name BasicType 0..* ComplexType
«process-context» Book Request Purchase
Librarian
Secretary
E
E «process-context» Book Request Purchase
Librarian
Secretary
«process-context» Book Request Purchase
July2007
16
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Navigational Model. Extension Proposal
Structural Model
state={available, reserved, borrowed, lost} Book Author -id -name -nationality -title -isbn -editorial -num_edition -year_publication Copy -internal_id -purchase_date -state : Copy_state +loan_copy() 1 «enumeración» Request_state +Pending +Approved +Denied Loan -loan_date -return_date
Automatically Generated
P
Navigational Model (Authoring-in-the-small)
«process context» Request book purchase
«activity container» Validate_request
«Main-AIU» Validate Requests
1..*
1..*
1
1..*
RequestBook -authors -units_to_buy -state : Request_state +create_request() +validate_request() 0..* 1..*
1 Member -dni -name -surname -email -is_sanctioned +liberate_sanction() +sanction_member()
0..*
«enumeración» Copy_state +Available +Reserved +Borrowed +Lost
state={pending, approved, denied}
Business Process Model
LIBRARIAN SECRETARY MEMBER «role-any» «role-any» «role-one»
«user» Request for a Book Purchase
UNIVERSITY DEPARMENT
«user» Validate the request
Approve?
Default (Yes)
«send» Send Request
«receive» Recv. Purch. Notification
«manual» Pick Up Books
«view» Request_book
«user» Loan Book
No Request [pending] Request [validated] «service» Notify Request Rejection «service» Load Book Details «service» Notify Book Purchase
+
CENTRAL LIBRARY
-title -authors -editorial -num_edition -year_publication -units_to_buy +resolve_request() state == pending or rejected
SYSTEM «entity»
«view» Member -name -surname
Services Model
Operation -name 1..* 1 Service -name 1 Input 0..* Argument -name Output 0..* 1 1..* Type -name BasicType 0..* ComplexType
«activity container» Pick_up_books
«Human-AIU» Pick Up Books
July2007
17
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Navigational Model. Extension Proposal
Structural Model
state={available, reserved, borrowed, lost} Book Author -id -name -nationality -title -isbn -editorial -num_edition -year_publication Copy -internal_id -purchase_date -state : Copy_state +loan_copy() 1 «enumeración» Request_state +Pending +Approved +Denied Loan -loan_date -return_date
Manually Introduced
P
Navigational Model (Authoring-in-the-small)
«process context» Request book purchase
«activity container» Validate_request
«Main-AIU» Validate Requests
1..*
1..*
1
1..*
RequestBook -authors -units_to_buy -state : Request_state +create_request() +validate_request() 0..* 1..*
1 Member -dni -name -surname -email -is_sanctioned +liberate_sanction() +sanction_member()
0..*
«enumeración» Copy_state +Available +Reserved +Borrowed +Lost
state={pending, approved, denied}
Business Process Model
LIBRARIAN SECRETARY MEMBER «role-any» «role-any» «role-one»
«Complementary-AIU» Last Purchases «view» Copy «view» Book -title
«user» Request for a Book Purchase
UNIVERSITY DEPARMENT
«user» Validate the request
Approve?
Default (Yes)
«send» Send Request
«receive» Recv. Purch. Notification
«manual» Pick Up Books
«view» Request_book
«user» Loan Book
No Request [pending] Request [validated] «service» Notify Request Rejection «service» Load Book Details «service» Notify Book Purchase
+
CENTRAL LIBRARY
-title -authors -editorial -num_edition -year_publication -units_to_buy +resolve_request() state == pending or rejected
SYSTEM «entity»
«view» Member -name -surname
Purchase_date in last_month
Services Model
Operation -name 1..* 1 Service -name 1 Input 0..* Argument -name Output 0..* 1 1..* Type -name BasicType 0..* ComplexType
INDEX IDX_byTitle ATTRIBUTES title, Member.name, Member.surname LINK ATTRIBUTE title
«Complementary-AIU» Sanctioned Members «view» Member -name -surname is_sanctioned == true
«activity container» Pick_up_books
«Human-AIU» Pick Up Books
July2007
18
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
SECRETARY E E
«context» Authors
Model. Extension Proposal
«context» Members
E
Process Contexts:
«context» Books
S «process-context» Loans
It provides users a mechanism to access modelled BPs (to launch, resume and complete them) Each BP modelled in the BPM has its own Process Context. The semantic of access to this kind of contexts it remains the same: Exploration: Always accessible for the user. Sequence: Only accessible by means of a predefined path. It defines just the contents of the Context (interaction unit). No navigation is defined in it. It is composed of Activity Containers.
July2007 19
Proposal: Extension at the Modelling Level
P
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
«process context» Request book purchase
«activity container» Validate_request
«Main-AIU» Validate Requests «view» Request_book -title -authors -editorial -num_edition -year_publication -units_to_buy +resolve_request() state == pending or rejected «view» Member -name -surname «Complementary-AIU» Last Purchases «view» Copy «view» Book -title
Model. Extension Proposal
Purchase_date in last_month
Activity Containers:
INDEX IDX_byTitle ATTRIBUTES title, Member.name, Member.surname OPERATION resolve_request() LINK ATTRIBUTE title
«Complementary-AIU» Sanctioned Members «view» Member -name -surname is_sanctioned == true
«activity container» Pick_up_books
«Human-AIU» Pick Up Books
It refers to process tasks defined in the BP and that involve human interaction (tasks defined as “user” and “human”). It is composed of Main, Human and Complementary Abstract Interaction Units (AIU*). The possible combinations of AIUs within an Activity Container are the followings: 1 Main-AIU + N Complementary-AIU 1 Human-AIU + N Complementary-AIU
*An AIU gathers data and functionality for a specific purpose.
July2007 20
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
Model. Extension Proposal
MEMBER CHANGE PROFILE HOME Department Directory Teaching Research Intranet Links Intranet My TO-DO List Digital Library Department Library Material Purchases News Management
P
Main-AIU:
«process context» Request book purchase
«Complementary-AIU» Last Purchases «view» Copy «view» Member -name -surname «view» Book -title
Activated Index :
My TO-DO List – Validate Requests
Validate Requests
Applicant Member Juan García Pérez María Sánchez Ortiz María Sánchez Ortiz Title Web Engineering Web Engineering Web Ontologies Done Validate Reject
«activity container» Validate_request
«Main-AIU» Validate Requests «view» Request_book -title -authors -editorial -num_edition -year_publication -units_to_buy +resolve_request() state == pending or rejected
Complementary Data
Sanctioned Members
María Sánchez Ortiz Raúl Pérez Sanz Pedro Solaz Bueno Joaquín Bermúdez Gracia Rosa López Reina Juan A. Moreno Marques
Last Purchases
Software Engineering Programming Java Programming Web Services in .NET Algorithms Quality on Software Engineering Datawarehouse and XML
Purchase_date in last_month
INDEX IDX_byTitle ATTRIBUTES title, Member.name, Member.surname LINK ATTRIBUTE title
«Complementary-AIU» Sanctioned Members «view» Member -name -surname is_sanctioned == true
Disabled Index :
My TO-DO List – Validate Requests
Validate Requests
MEMBER CHANGE PROFILE HOME Department Directory Teaching Research Intranet Links Intranet My TO-DO List Digital Library Department Library Material Purchases News Management
«activity container» Pick_up_books
«Human-AIU» Pick Up Books
App. member Title Authors Editorial Num. edicion Units to buy Validate?
Juan García Pérez Web Engineering Mendes, Emilia; Mosley, Nile (Eds.) Springer Publication year 2006 1 Yes
Done
Complementary Data
Sanctioned Members
María Sánchez Ortiz Raúl Pérez Sanz Pedro Solaz Bueno Joaquín Bermúdez Gracia Rosa López Reina Juan A. Moreno Marques
Last Purchases
Software Engineering Programming Java Programming Web Services in .NET Algorithms Quality on Software Engineering Datawarehouse and XML
July2007
21
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
Model. Extension Proposal
Main-AIU:
It gathers the data and functionality that is strictly necessary to perform the task referred by the Activity Container. This data and functionality can be retrieved either by: The Structural Model (by means of Class views) The Services Model (by means of Service views) Indexes can be used to organize in levels the data retrieved by the AIU. It defines (1) the attributes displayed by the index and (2) the attribute used as link to access a specific instance. It gets activated when the context retrieves a population with more than one instance. 22
July2007
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
Model. Extension Proposal
Human-AIU:
It provides the user with information about a task that is not automated in the system (i.e. Send a Fax, Prepare a meeting, etc.) The user simply has to notify that this task has already been performed via the corresponding mechanism (usually with a button)
July2007
23
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
Model. Extension Proposal
It displays the user with information related to the manual task, and it provides her with A mechanism to notify the process that this task has already been finished.
My TO-DO List – Pick Up Books
P
Human-AIU:
«process context» Request book purchase
«Complementary-AIU» Last Purchases «view» Copy «view» Member -name -surname «view» Book -title
«activity container» Validate_request
«Main-AIU» Validate Requests «view» Request_book -title -authors -editorial -num_edition -year_publication -units_to_buy +resolve_request() state == pending or rejected
Purchase_date in last_month
LIBRARIAN CHANGE PROFILE HOME Department Directory Teaching Research Intranet Links Intranet My TO-DO List Digital Library Department Library Material Purchases News Management
Pick Up Books
Please, pick up the book “Software Engineering” from the General Library and bring it to the porter’s office. Done
INDEX IDX_byTitle ATTRIBUTES title, Member.name, Member.surname LINK ATTRIBUTE title
«Complementary-AIU» Sanctioned Members «view» Member -name -surname is_sanctioned == true
«activity container» Pick_up_books
«Human-AIU» Pick Up Books
July2007
24
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
Model. Extension Proposal
Complementary-AIUs:
It provides the user with extra information that can help her to complete the task. The goal of this kind of AIU is to avoid users leaving the execution of a BP to search for some useful information. The views included in this kind of AIU can only retrieve data (it cannot make visible any functionality)
July2007
25
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
Model. Extension Proposal
MEMBER CHANGE PROFILE HOME Department Directory Teaching Research Intranet Links Intranet My TO-DO List Digital Library Department Library Material Purchases News Management
P
Complementary-AIU:
«process context» Request book purchase
«Complementary-AIU» Last Purchases «view» Copy «view» Member -name -surname «view» Book -title
Activated Index :
My TO-DO List – Validate Requests
Validate Requests
Applicant Member Juan García Pérez María Sánchez Ortiz María Sánchez Ortiz Title Web Engineering Web Engineering Web Ontologies Done Validate Reject
«activity container» Validate_request
«Main-AIU» Validate Requests «view» Request_book -title -authors -editorial -num_edition -year_publication -units_to_buy +resolve_request() state == pending or rejected
Complementary Data
Sanctioned Members
María Sánchez Ortiz Raúl Pérez Sanz Pedro Solaz Bueno Joaquín Bermúdez Gracia Rosa López Reina Juan A. Moreno Marques
Last Purchases
Software Engineering Programming Java Programming Web Services in .NET Algorithms Quality on Software Engineering Datawarehouse and XML
Purchase_date in last_month
INDEX IDX_byTitle ATTRIBUTES title, Member.name, Member.surname LINK ATTRIBUTE title
«Complementary-AIU» Sanctioned Members «view» Member -name -surname is_sanctioned == true
Disabled Index :
My TO-DO List – Validate Requests
Validate Requests
MEMBER CHANGE PROFILE HOME Department Directory Teaching Research Intranet Links Intranet My TO-DO List Digital Library Department Library Material Purchases News Management
«activity container» Pick_up_books
«Human-AIU» Pick Up Books
App. member Title Authors Editorial Num. edicion Units to buy Validate?
Juan García Pérez Web Engineering Mendes, Emilia; Mosley, Nile (Eds.) Springer Publication year 2006 1 Yes
Done
Complementary Data
Sanctioned Members
María Sánchez Ortiz Raúl Pérez Sanz Pedro Solaz Bueno Joaquín Bermúdez Gracia Rosa López Reina Juan A. Moreno Marques
Last Purchases
Software Engineering Programming Java Programming Web Services in .NET Algorithms Quality on Software Engineering Datawarehouse and XML
July2007
26
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
Model. Extension Proposal
Class view:
Retrieve data and functionality defined in the Structural Model (Class Diagram) It represents views over the Class Diagram
Class name Displayed Attributes Operation to Execute Selection Filter
«view» Request_book -title -authors -editorial -num_edition -year_publication -units_to_buy +resolve_request() state == pending or rejected
It defines a view over a specific class modelled In the Class Diagram. Class attributes that are going to be displayed to the user
Operation that can be executed by the user
Retrieves the class population subset that applies the operation
July2007
27
Proposal: Extension at the Modelling Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension at the Modelling Level
Navigational
Model. Extension Proposal
Service view:
Retrieve data and functionality that is provided by external services defined in the Services Model. It represents a view over the Services Model.
Service name Displayed Attributes
«service-view» HotelWS -name -address -hotel_class -board_bases +select_offer()
It defines a view over an external service brought up at the Services Model. Input arguments that are provided by the service And displayed to the user. Operation that can be executed by the user.
Operation to Execute
July2007
28
Proposal: Extension at the Architect. Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension defined in the Logic Layer
PRESENTATION Dynamic Web pages (asp, jsp, php, perl, etc.)
SOAP Web services
LOGIC .NET, C#, etc. TASK MANAGER PROCESS ENGINE
Handles the asynchrony introduced by human participants. Behaves as intermediary between the Process Engine and the process tasks that require human participation. It is designed as a Web service with two different interfaces: To interact with the Process Engine. To interact with the Application.
PERSISTENCE RDBM, XML
July2007
29
Proposal: Extension at the Architect. Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension defined in the Logical Layer
Process Engine: Capable of executing process definitions created for the WS-BPEL standard. Several engines available (ActiveBPEL, Apache Agila, PXE, JBPM, etc.) It is as a mechanism for orchestrating and coordinating Web services. In charge of driving users to complete process tasks. WS-BPEL
Builds on the foundation of XML and Web services. It represents a convergence of two early workflow languages, combining them and providing a richer vocabulary for description of BP. WSFL (Web Services Flow Language) XLANG
As WS-BPEL relies on Web services, it is necessary to introduce a mechanism for handling the asynchrony introduced by human participants TASK MANAGER
30
July2007
Proposal: Extension at the Architect. Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension defined in the Logic Layer
Task Manager:
Task Manager Module BPEL Process Engine
GUI Web Services Logic Persistence
July2007
HumanPartnerWS
Web Application client
TaskHandlerWS
31
Proposal: Extension at the Architect. Level
DSIC. Universidad Politécnica de Valencia (UPV)
Extension defined in the Logic Layer
Task
Manager:
Behaves as intermediary between the Process Engine and the process tasks that require human participation. It is designed as a Web service with two different interfaces:
To interact with the Process Engine. To interact with the Application.
Some vendors provide their own solution
The WS-BPEL definition is customized to work on each solution
Implies problems when we change the Process Engine.
32
July2007
Proposal: Transformations
DSIC. Universidad Politécnica de Valencia (UPV)
Model
From
to Model Transformations
BPMN to NM:
Tools:
Borland Together Architect 2006 for Eclipse (graphical editor to create BPMN diagrams) MOF 2.0 QVT (Imperative language: Operational Mappings) to define transformations between BPMN models to NM.
July2007
33
Proposal: Transformations
DSIC. Universidad Politécnica de Valencia (UPV)
Model to Model Transformations
From BPMN to NM: Transformation Rules:
Process Context Definition. For each lane defined in the process with its typed valued as «role» (human participant) we build a Process Context in the Navigational Map. We want to note that the roles used in the BP definition correspond to the type of users defined in the User Diagram modelled in the Navigational model. Activity Container Definition. Each «user» and «manual» tasks within the boundaries of a «role» (human participant) Lane are transformed into Activity Containers. Main-AUI Definition. For the tasks that are defined as «user» tasks include a MainAUI within the Activity Container. If the operation defined in the task refers to an operation modelled in the Class Diagram, then include a class view in the Main-AUI that references the class that contains the operation. If the operation defined in the task refers to an operation modelled in a Service (from the SM), then include a service view in the Main-AUI that references the service that offers this operation. Human-AIU Definition. For the tasks defined as «manual» tasks include a HumanAUI within the Activity Container. 34
July2007
Proposal: Transformations
DSIC. Universidad Politécnica de Valencia (UPV)
Model
From
to Model Transformations
BPMN to NM:
July2007
Borland Together Architect 2006. BPMN Editor
35
Proposal: Transformations
DSIC. Universidad Politécnica de Valencia (UPV)
Model
From
to Model Transformations
BPMN to NM:
July2007
MOF 2.0 QVT Transformational Rules
36
Proposal: Transformations
DSIC. Universidad Politécnica de Valencia (UPV)
Model to Model Transformations
From
BPMN to WS-BPEL:
Tools:
STP BPMN Modeller (graphical editor to create BPMN diagrams based on GMF and uses an EMF object model) WST (WTP subproject). Used to create the XML Schema of the XML model used by the Babel Tool. Babel tool (process transformation tool that generates process in WS-BPEL 1.1) ATL (Atlas Transformation Engine) to define transformations between BPMN models to XML Babel input models.
July2007
37
Proposal: Transformations
DSIC. Universidad Politécnica de Valencia (UPV)
Model to Model Transformations
From
BPMN to WS-BPEL:
BPMN Graphical Editor
July2007
EMF Tree Editor
38
Proposal: Transformations
DSIC. Universidad Politécnica de Valencia (UPV)
Model to Model Transformations
From
BPMN to WS-BPEL:
WTP XML Schema Editor Ecore Metamodel for BABEL BPMN
July2007 39
Proposal: Transformations
DSIC. Universidad Politécnica de Valencia (UPV)
Model to Model Transformations
From
BPMN to WS-BPEL:
July2007
ATL Transformations (BPMN to XML Babel Process)
40
Proposal: Transformations
DSIC. Universidad Politécnica de Valencia (UPV)
Model to Text Transformations
From
Structural Model to SOAP Web services
Functionality used in the BPM has to be provided as Web services (Since the orchestrating language is the WS-BPEL)
Generation of functionality description in WSDL.
From
NM to Web framework:
Navigational primitives are translated into an existing Web framework:
We have used the Django Framework* (python Web framework)
*http://www.djangoproject.com/
July2007 41
Proposal: Technological Context
DSIC. Universidad Politécnica de Valencia (UPV)
Eclipse as the common Implementation framework
represented in EMF Transformations:
Metamodels
Model to Model:
Language: MOF 2.0 QVT (Imperative language: Operational Mappings) Tool: Borland Together Architect 2006 for Eclipse Language: ATL Transformation Language Tool: ATL IDE Developed on top of the Eclipse platform
Language: MOFScript (OMG Candidate for transformaing models to text) Tool: MOFScript Plugin for Eclipse
Model to Text:
July2007
42
Conclusions
DSIC. Universidad Politécnica de Valencia (UPV)
Contributions to the Web Engineering Area:
orchestration is driven by the process engine (we provide an approach that follows the separation of concerns where the navigation is not “contaminated” with the process flow). We endow user interfaces with complementary information that improves the usability of the interfaces. It provides a common solution for both short and long lived processes. It allows the definition of tasks that are not automated in the system. Processes invoke functionality provided within and without the boundaries of our system.
Activity
July2007
43
Conclusions
DSIC. Universidad Politécnica de Valencia (UPV)
BPMS:
Web
client interfaces are defined at the modelling level (providing flexibility in terms of its design as well as technological independence). We easy the integration of BP with Information Systems.
BP definition is fully integrated within the process specified in the system.
We
avoid the user of proprietary solutions.
July2007
44
Conclusions
Generation of Process-Aware Web Applications based on a Model Driven Approach. Web Engineering Methods should consider BP specifications to generate software artifacts. Depending on the target artifact we apply Model-to-Model or Model-to-Text transformations. Graphical development tool. Integration with the ON (OlivaNova) tool.
July2007 45
DSIC. Universidad Politécnica de Valencia (UPV)