Modelling and Automatic Generation of Process Driven Web Applications

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)

Related docs
premium docs
Other docs by sarah brown
CorpDocs-Board First Meeting Minutes California
Views: 325  |  Downloads: 22
Intraware Inc Ammendments and Bylaws
Views: 208  |  Downloads: 0
Employment Offer Letter Exempt Employee
Views: 853  |  Downloads: 18
website rough layout
Views: 411  |  Downloads: 9
CorpDocs- Notice of Annual Shareholders Meeting
Views: 232  |  Downloads: 13
Employee Attendance Record
Views: 586  |  Downloads: 42
Customer Service Action Form
Views: 550  |  Downloads: 16
CorpDocs-Board Resolution Authorizing Litigation
Views: 258  |  Downloads: 1
Checklist of basic franchise agreement terms
Views: 635  |  Downloads: 25
2007 Inst W-3 (PR) (PDF) Instructions
Views: 317  |  Downloads: 4