University of Zurich Postprint available at: Zurich Open ...
WebML and WebRatio 5 - TOOLS conference, Zurich 2008
-
Upload
marco-brambilla -
Category
Technology
-
view
1.647 -
download
0
description
Transcript of 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]
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
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
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
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
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)
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
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
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
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.
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
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)
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
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
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
Web application design & dev. with WebML and WebRatio 5.0
Model Diagram Editor
Multi-editor
Graph Editor
Tabbed Properties
Problems
Web application design & dev. with WebML and WebRatio 5.0
Text Editor
Syntax Highlighting
Code Completion
Web application design & dev. with WebML and WebRatio 5.0
Business Components Editor
Eclipse Forms Components
Multi-editor
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
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
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
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]