WebML and WebRatio 5 - TOOLS conference, Zurich 2008

22
Web applications design and development with WebML and WebRatio 5.0 Roberto Acerbis 1 , Aldo Bongio 1 , Marco Brambilla 2 , Stefano Butti 1 , Stefano Ceri 2 , Piero Fraternali 2 1 WebRatio, Italy 2 Politecnico di Milano, Italy @ TOOLS Europe 2008, Zurich ebM L W http://home.dei.polimi.it [email protected] marcobrambi MarcoBrambi

description

We present WebRatio 5.0, a design tool that supports WebML (Web Modelling Language). WebML is a domain specific language (DSL) for designing complex, distributed, multi-actor, and adaptive applications deployed on the Web and on Service Oriented Architectures using Web Services. WebRatio 5.0 provides visual design facilities based on the WebML notation and code generation engines for J2EE Web applications. The tool is developed as a set of Eclipse plug-ins and takes advantage of all the features of this IDE framework. It also provides support of customized extensions to the models, project documentation, and requirements specifications. The overall approach moves towards a full coverage of the specification, design, verification, and implementation of Web applications.

Transcript of WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Page 1: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web applications design and development

with WebML and WebRatio 5.0

Roberto Acerbis1, Aldo Bongio1, Marco Brambilla2, Stefano Butti1, Stefano Ceri2, Piero Fraternali2

1 WebRatio, Italy2 Politecnico di Milano, Italy @ TOOLS Europe 2008, Zurich

ebMLW

http://home.dei.polimi.it [email protected]

Page 2: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

2Summary

Introduction WebML

• Trends and evolutions WebRatio toolsuite

• The WebRatio 5 edition for Eclipse• Industrial experiences

Conclusions

Page 3: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

3Intro

Conceptual models for Web applications

Software engineering practices applied to the Web environment Methodologies CASE tools Model verification Code generation

Our story: Starting from data-intensive Web applications Moving toward service-oriented architectures, distributed

business process modeling, client-side computation (RIA), semantic Web services and applications

Added value to the analyst (Function Points), the designer and the developer

Formalization of semantics, MDA representation

Page 4: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

4WebML (Web Modeling Language)

DSL for designing large-scale Web applications Specifies CONTENT, HYPERTEXT, and PRESENTATION

Structure Hypertext Presentation++

entities, relationships units, pages, links, siteviews styles

structure navigation + composition + user model presentation

Content + Hypertext + Presentation

Page 5: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

5WebML: Data model

Content model + redundant data calculation ER or UML class diagrams

ShipmentService where ShipmentService.shipTo

not in ShipmentService.locatedIn

Self TO Europe where Self.locatedIn isa Europe

Page 6: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

6WebML: Hypertext model

Composition modeling:pages and units

Navigation modeling:links

Execution modeling: operations, control and data (FSM formalization)

Page 7: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

7Going beyond: trends and challenges

Company A

Company B

Company C

Company D

Internet

Scenario: The Web as an implementation platform of business information

systems Distributed intra- and inter-enterprise business processes Support to new user interaction patterns Integration of reasoning and Semantic Web features

Needs: SOA support Business process management Rich Web Interfaces (RIAs)

Solution: Modeling primitives for Business process management Service invocation and publishing AJAX-based user interaction

Page 8: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

8Development step

1. Focus: model driven design of collaborative Web applications based on business processes, spanning multiple individuals and organizations

2. Proposal: a methodology for seamless flow from specifications to design, exploiting Top Down Design, Model Driven Specifications, standard models and languages. The methodology is supported by CASE tools, engines for semi-automatic generation of intermediate models, and automatic generation of running code

Automatic code

generation

Business process

modeling

WF-driven WebML

generator

Web application modelingBPMN

model

WebML skeleton

Running application

WebML data

model

WebML hypertext

model

Page 9: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

9Overall picture

META-MODEL

Human Machine

Domain description meta-model

Entity Relationship

Navigation meta-model

Unit Link Page

Presentation meta-model

Page style Unit style Grid

Machine Machine

Domain description meta-model

Entity Relationship

Navigation meta-model

Request response Solicit Response

Presentation meta-model

Lowering Lifting

LANGUAGE XML Serialization

SOFTWARE SUPPORT

Design time

Run time

CASE tool & visual editor

Relational DB + views Java Beans

Runtime execution library

XML Serialization

Business process meta-model

WEB SITE

WEB SERVICES

Page 10: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

10Business process modeling

The Workflow Model represents the business process to be executed, in terms of activities, precedence constraints, and actors in charge of executing the activities.

Page 11: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

11Process Distribution

Main Peer

x

JobCheck

+

FinancialCheck

+

x

Applicant Manager Employee

Loan

Mortgage

Remote Peer

Employee

ResidenceCheck

CreditCheck

FinancialCheck

ResidenceCheck

Manager

Application Request

Preliminary Validation Not Valid

x

FinalValidation

Choice

Not Validx

FinalCheck

FinalCheck

Possibility of delegating one activity or a whole subprocess to different peers

Interaction between peersbased on Web services

Exchanged messagesnotify the workflow status changes to the peers

Page 12: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

12Mapping of BP to Hypertext Models

Automatic generation of: SQL script WebML skeleton (different styles) Hypertext links behaviour Project documentation (specifications and design)

Page 13: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

13Rich Internet Application design and code generation

RIA features covered by the language: partial page refresh, in-page popup windows, splash screens,

dynamic tooltips, animations; drag&drop and dynamic dependencies; text autocompletion, on-event actions, and field dependencies.

Code generation and runtime support: mix of opensource technologies, extensively exploiting the

XMLhttpRequest method.

Runtime solution: two dynamic pages for each conceptual page that interact through XMLhttpRequest for providing the rich interface features: a back-end dynamic XML page that stores the data of interest for

a specific navigation context the front-end JSP page (including JavaScript for event

management) shown to the user

Page 14: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

WebRatio: The company and the product

Web Models

Location: Como (research and product development)

and Milano (sales and application development)

Born in 2001 as a “spin-off”

of Politecnico di Milano

Continuous cross-fertilization with Politecnico

for research and exploitation

Some customers:

… and 80+ universities and research centers that use the tool for free

Page 15: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

WebRatioVisual Identity

WebML Project Design

Data Sources

Custom Components

RunningWeb Application

WebRatio Tool Overview

Model Diagram Editor based on GEF Text Editors and component wizards for implementation of

custom units Full workspace and CVS support for versioning and multi-user

development Code Generators based on Ant, Groovy, and XSL

Page 16: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

Model Diagram Editor

Multi-editor

Graph Editor

Tabbed Properties

Problems

Page 17: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

Text Editor

Syntax Highlighting

Code Completion

Page 18: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

Business Components Editor

Eclipse Forms Components

Multi-editor

Page 19: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

Runtime descriptor DataUnit1

...Index Unit

component (java)

data access layer

Data unit component (java)

Runtime descriptor DataUnit2

Runtime descriptor DataUnit3

Runtime descriptor IndexUnit1

Runtime descriptor IndexUnit2

Runtime descriptor IndexUnit3

Runtime Architecture and Code Generation

Smart services: created upon request, cached, and reused; Activity log, XML parsing and access, Connection pooling One single service class is deployed for each type of component

and one runtime XML descriptor is deployed for each component

Page 20: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

Runtime descriptor DataUnit1

...Index Unit

component (java)

data access layer

Data unit component (java)

Runtime descriptor DataUnit2

Runtime descriptor DataUnit3

Runtime descriptor IndexUnit1

Runtime descriptor IndexUnit2

Runtime descriptor IndexUnit3

Runtime Architecture and Code Generation

Code Generation for a simple unit:

<INDEXUNIT entity="News" name="News List"> <DISPLAYATTRIBUTE attribute="name"/> <ORDERATTRIBUTE attribute="date"/></INDEXUNIT>

<Descriptor service="com.webratio.IndexUnitService"> <OutputParameter position="1" type="String"/> <Query> SELECT NAME FROM NEWS_TABLE ORDER BY DATE </Query></Descriptor>

Smart services: created upon request, cached, and reused; Activity log, XML parsing and access, Connection pooling One single service class is deployed for each type of component

and one runtime XML descriptor is deployed for each component

Page 21: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

21Conclusions and ongoing activities

Current status: Established DSL and tool for Web application design

Ongoing research on: Rich Internet Applications: models and code generation Business Process-based Applications: model

transformations Search-oriented applications: technological platforms

and front end architectures Semantic Web and SOA DSL modernization through MDD/MDA mainstream tools

Page 22: WebML and WebRatio 5 - TOOLS conference, Zurich 2008

Web application design & dev. with WebML and WebRatio 5.0

22

Thanks POLITECNICO DI MILANO

?Questions

Marco Brambillahttp://home.dei.polimi.it Politecnico di [email protected]