Aplicando enfoque MDE a aplicaciones WEB-SOA



Similar documents
WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

Tool Support for Model Checking of Web application designs *

WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web

Dr. Jana Koehler IBM Zurich Research Laboratory

BPMN 2.0 Tutorial. Daniel Brookshier Distinguished Fellow No Magic Inc.

Model-driven Development of Social Network enabled Applications with WebML and Social Primitives

COURSE GUIDE:Model-Driven Software Development (MDE)

Design Abstractions for Innovative Web Applications: the case of the SOA augmented with Semantics

Business Process Modeling Information Systems in Industry ( )

What is BPM? Software tools enabling BPM

Business Process Modelling Notation A tutorial

Web Application Development Focused on BP Specifications*

Revel8or: Model Driven Capacity Planning Tool Suite

INTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0

Business Process Standards and Modeling

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

BPMN Business Process Modeling Notation

The Business Process Model

How To Evaluate Web Applications

Model-Driven Design of VoIP Services for E-Learning

BPMN Fundamentals. BPMI Meeting #12. London, United Kingdom May 13-14, Stephen A. White, IBM Notation Working Group Chair

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Business Process Modelling. CA4 Business Process Modelling 1

Process Modeling using BPMN 2.0

Developing ebusiness Solutions with a Model Driven Approach: The Case of Acer EMEA

Survey of Existing Web Models Techniques to Design Web Application

Introduction to BPMN

MDA Transformations Applied to Web Application Development 1

Rules and Business Rules

Process Modelling Notations

Go beyond 95: learn Business Process Management (BPM)! Razvan Radulian, MBA Independent Consultant/Coach Why-What-How Consulting, LLC

DESIGNING AND MINING WEB APPLICATIONS: A CONCEPTUAL MODELING APPROACH

BPMN PATTERNS USED IN MANAGEMENT INFORMATION SYSTEMS

Business Process Modeling with BPMN. Dr. Darius Šilingas Head of Solutions Department

A Software Engineering Approach to Design and Development of Semantic Web Service Applications

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

A UML 2 Profile for Business Process Modelling *

A CASE tool for modelling and automatically generating web service-enabled applications

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Process Modeling in Web Applications

Business Process Modeling Notation. Bruce Silver Principal, BPMessentials

Quick Guide Business Process Modeling Notation (BPMN)

From Business Process Models to Use Case Models

A Model Driven Architecture Approach to Web Development

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

The Role of Visual Tools in a Web Application Design and Verification Framework: A Visual Notation for LTL Formulae

How To Design An Information System

Business Process (BPMN) Course

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

XPDL 2.0 and BPMN 1.0 Tutorial

Modeling Guidelines Manual

Oracle BPA Suite: Model and Implement Business Processes Volume I Student Guide

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

DataStorm 2013 Workshop on Large-Scale Data Management

UML TUTORIALS THE USE CASE MODEL

Rapid Development of Modular Dynamic Web Sites using UML

MTAT Business Process Management (BPM) (for Masters of IT) Lecture 2: Introduction to BPMN

FIFTEEN YEARS OF INDUSTRIAL MODEL-DRIVEN DEVELOPMENT IN SOFTWARE FRONT-ENDS: FROM WEBML TO WEBRATIO AND IFML

BPMN and Business Process Management Introduction to the New Business Process Modeling Standard

IDENTIFYING A SUBSET OF BPMN FOR IDM DEVELOPMENT

10g versions followed on separate paths due to different approaches, but mainly due to differences in technology that were known to be huge.

METHODOLOGIES, TECHNIQUES AND TOOLS FOR SOFTWARE DEVELOPMENT

A Software Engineering Approach to Design and Development of Semantic Web Service Applications

BPMN and Business Process Management

Why are Business Process Models often too complex? Do s and Don ts for Business Process Modelers

From Business World to Software World: Deriving Class Diagrams from Business Process Models

MDE FOR BPM A Systematic Review

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource

Foundations of Model-Driven Software Engineering

Business Process Modeling and Standardization

BPMN Business Process Modelling Notation

A process model is a description of a process. Process models are often associated with business processes.

Generating the PIM Behavioral Model from the CIM using QVT

SOA Enabled Workflow Modernization

Business Process Management and IT Architecture Design. The T case study. Dr. Jana Koehler Olaf Zimmermann IBM Zurich Research Laboratory

local content in a Europeana cloud

What is a metamodel: the OMG s metamodeling infrastructure

Model-driven web engineering methods: a literature review. Métodos de ingeniería web dirigidos por modelos: una revisión de literatura

A methodology for graphical modeling of business rules

The BPM to UML activity diagram transformation using XSLT

Integrating Value-based Requirement Engineering Models to WebML using VIP Business Modeling Framework 1

BPCMont: Business Process Change Management Ontology

WebML Application Frameworks: a Conceptual Tool for Enhancing Design Reuse

MDA Game Design for Video Game Development by Genre

Applying 4+1 View Architecture with UML 2. White Paper

A Software Development Platform for SOA

Time: A Coordinate for Web Site Modelling

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Model Transformations from Requirements to Web System Design

SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS

OntoWebML: A Knowledge Base Management System for WSML Ontologies

A new MDA approach based on BPM and SOA to improve software development process

Nr.: Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg

Amit Sheth & Ajith Ranabahu, Presented by Mohammad Hossein Danesh

BPMN for OAGIS Scenarios

DESIGNING WEB APPLICATIONS WITH WEBML AND WEBRATIO

Kirsten Sinclair SyntheSys Systems Engineers

Bruce Silver Associates Independent Expertise in BPM

Transcription:

Aplicando enfoque MDE a aplicaciones WEB-SOA María Consuelo Franky lfranky@javeriana.edu.co Dpto. Ingeniería de Sistemas Universidad Javeriana Bogotá - 2010 http://sophia.javeriana.edu.co/~lfranky/ 1

Temario MDE (Model Driven Engineering) Domain Specific Languages (DSL) BPMN in the MDD (Model Driven Development) Process Web-SOA application modeling with WebML WebRatio: approach to a Model Driven software factory Referencia: tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications, Piero Fraternali, Matteo Silva y Marco Brambilla del Politecnico di Milano, II Simposio de Construcción de Software, Pontificia Universidad Javeriana, Agosto 2010 2

MDE (Model Driven Engineering) 3

Software Engineering Models Model Driven Engineering: ingeniería dirigida por modelos Software Engineering has a long tradition on the use of abstraction and sw models software models are An abstract representation of a system, independent of technology A tool for expressing and verifying requirements A starting point for automatically generating the code tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 4

MDA: The Modern Age of MDE Object Management Group (OMG) unified several modeling languages into a coherent proposal (MDA= Model Driven Architecture) setting the stage for a convergence of architecture, languages, notations, and tools UML is the most popular ingredient of MDA but not the only one tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 5

MDA core concepts Architecture = conjunct of concepts, standards and processes for developing software systems Problem space (Domain): the context where the system operates Solution Space: the spectrum of possible solutions that satisfy the system requirements Model: a (partial or total, abstract or concrete) representation of the problem or solution space Transformation: the conversion of a model into another model tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 6

Development In MDA developmentis a chain of transformations from model to model, until enough concreteness is incorporated to make the model executable tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 7

How are models specified M0: a concrete system, your application M1: the model of your system M2: the concepts used to represent your models (e.g., UML or BPMN metamodels) M3: formalism that dictates the rules for defining modeling languages (e.g., UML metamodel expressed in Meta Objet Format-MOF) tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 8

Why meta-models Allow a syntactically precise definition of modeling languages Can be read by tools, enable portability, model parsing (syntactic) checking Like grammars for textual languages and ontologies for semantic languages tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 9

Classes of models Computation Independent Models: represent the business model of the system Platform Independent Models: represents the system abstracting from technology For web systems: Business process Modeling Notation (BPMN 2.0) Web Modeling Language (WebML) Platform Specific Models: represents the system considering technology for example: Java enterprise Edition JEE) tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 10

Domain Specific Languages (DSL) 11

Concept of Domain Specific Languages (DSL) DSL: a language for describing systems in a specific domain (Web apps, embedded systems, etc) GPL: General Purpose Language: a language for describing systems in multiple domains (e.g., UML) tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 12

MDA and DSL MDA offers two standard ways to define DSLs Stereotyping: UML: 2.0 elements are overloaded with domain specific meaning Metamodelling: new language constructs are defined tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 13

GPL vs DSL GPL (Often) Standard Portable across tools DSL Easier to learn for domain expert - More precise semantics, better checking More amenable to optimized code generation More complex Less intuitive to learn Lack of precise semantics Harder to use for code generation Narrower scope Non standard Less portable across tools tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 14

MDA and Tools tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 15

BPMN in the MDD Process 16

MDD (Model-Driven Development) Process Enfoque del grupo Politécnico de Milán Manual specification of (extended) BPMN process model Automatic transformation of BPMN to WebML Possible manual refinement of WebML models Automatic running code generation on J2EE platform tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 17

What is BPM (Business Process Modeling)? Business Process Modeling aims at defining enterprise businesses in a (semi)formal way BPMN (Business Process Model and Notation) is flow-chart based notation for defining Business Processes The current version is 1.2, with a major revision process for 2.0 in progress Covers three different levels of process modeling: Process Maps : simple flow charts of the activities Process Descriptions: flow charts extended with additional information, but not enough to fully define actual performance Process Models : flow charts extended with enough information so that the process can be analyzed, simulated, and/or executed tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 18

Basic concepts Small set of graphical elements to make it easy for business users & developers to understand the workflow Business process diagram (BPD) made of: Flow Objects: Events, Activities, Gateways Connecting Objects: Sequence Flow, Message Flow, Association Swimlanes: Pool, (participant in the process), Lane (subpartition of Pool) Artifacts (Artefacts): Data Object, Group, Annotation tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 19

How to read diagrams A useful concept that helps the action of reading of a diagram is the Token The start of a process generates a Token that must eventually be consumed at the conclusion of the process A Token will traverse the Sequence Flow and pass through the Flow Objects in the Process The behavior of the Process can be described by tracking the path(s) of the Token through the Process Multiple Tokens may exist because of concurrent Process instances or the dividing of the Token for parallel processing within a single Process instance tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 20

Web-SOA application modeling with WebML (estándar propuesto por el grupo del Politécnico de Milán) 21

Requirements for Web application modeling tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 22

Domain of WebML tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 23

The WebML perspectives tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 24

Preview of WebML concepts tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 25

Content Model tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 26

Hypertext Model MODEL questions: Q1: what is the experience of the site that the user can achieve?: siteviews Q2: how is the hypertext divided into pages served to users? pages Q3: what information is published in the hypertext nodes? content units Q4: how are the hypertext nodes connected? links tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 27

Site MODEL Views tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 28

example of site views tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 29

Pages non contextual link tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 30

Hypertext design in the small tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 31

Content Units tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 32

Unit MODEL input and output tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 33

Basic Content Units tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 34

Meaning MODEL of Content Units tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 35

Links tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 36

Examples of links tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 37

Integrating hypertexts MODEL and backend business logic tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 38

Operation Unit tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 39

Built-in Operations tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 40

example: In/out flow for create operation tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 41

WebML support for SOA tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 42

example: Application Scenario tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 43

SOA operations tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 44

example of SOA operations tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 45

Hypertext +SOA tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 46

WebRatio: approach to a Model Driven software factory (WebRatio: herramienta comercial del grupo del Politécnico de Milán) 47

Qué es WebRatio BPM tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 48

Ideas claves y líneas guía tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 49

Model-Driven Development tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 50

Niveles de uso tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 51

Ciclo de desarrollo tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 52

Definición del modelo de proceso tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 53

Definición del modelo aplicativo tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 54

Definición de los templates de layout tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 55

Definición de los componentes custom tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 56

Características del código generado tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 57

Ventajas respeto a BPMS tradicionales tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 58

Beneficios para todos los roles TCO: Total cost of ownership TTM: trailing twelve months tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 59

References WebML Building data-intensive Web applications. Stefano Ceri, Piero Fraternali, Aldo Bongio, Marco Brambilla, Sara Comai, Maristella Matera, Morgan-Kaufmann, December 2002 S. Ceri, P. Fraternali, A. Bongio: Web Modeling Language (WebML): a modeling language for designing Web sites. WWW9/Computer Networks 33(1-6): 137-157 (2000) S. Ceri, P. Fraternali, S. Paraboschi: Data-Driven, One-To-One Web Site Generation for Data-Intensive Applications. VLDB 1999: 615-626 www.webml.org WebML resources (papers, manuals, ) Web modeling compendium & bibliography www.webratio.com Tool can be freely downloaded for academic use tomado del tutorial: Applying BPM and Model Driven Engineering to WEB and SOA Applications 60