Your SlideShare is downloading. ×

WebML and WebRatio 5 - TOOLS conference, Zurich 2008

1,689
views

Published on

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 …

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.

Published in: Technology, Business

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,689
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
74
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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, Italy 2 Politecnico di Milano, Italy @ TOOLS Europe 2008, Zurich ebMLW http://home.dei.polimi.it marco.brambilla@polimi.it marcobrambi MarcoBrambi
  • 2. Web application design & dev. with WebML and WebRatio 5.0 Summary  Introduction  WebML • Trends and evolutions  WebRatio toolsuite • The WebRatio 5 edition for Eclipse • Industrial experiences  Conclusions 2
  • 3. Web application design & dev. with WebML and WebRatio 5.0 Intro 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 3
  • 4. Web application design & dev. with WebML and WebRatio 5.0 WebML (Web Modeling Language)  DSL for designing large-scale Web applications  Specifies CONTENT, HYPERTEXT, and PRESENTATION 4 Structure Hypertext Presentation++ entities, relationships units, pages, links, siteviews styles structure navigation + composition + user model presentation Content + Hypertext + Presentation
  • 5. Web application design & dev. with WebML and WebRatio 5.0 WebML: Data model Content model + redundant data calculation  ER or UML class diagrams 5 ShipmentService where ShipmentService.shipTo not in ShipmentService.locatedIn Self TO Europe where Self.locatedIn isa Europe
  • 6. Web application design & dev. with WebML and WebRatio 5.0 WebML: Hypertext model 6  Composition modeling: pages and units  Navigation modeling: links  Execution modeling: operations, control and data (FSM formalization)
  • 7. Web application design & dev. with WebML and WebRatio 5.0 Going beyond: trends and challenges Company A Company B Company C Company D Internet 7 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
  • 8. Web application design & dev. with WebML and WebRatio 5.0 Development 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 modeling BPMN model WebML skeleton Running application WebML data model WebML hypertext model 8
  • 9. Web application design & dev. with WebML and WebRatio 5.0 Overall 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 9
  • 10. Web application design & dev. with WebML and WebRatio 5.0 Business process modeling 10 The Workflow Model represents the business process to be executed, in terms of activities, precedence constraints, and actors in charge of executing the activities.
  • 11. Web application design & dev. with WebML and WebRatio 5.0 Process Distribution 11 Main Peer x Job Check + Financial Check + x Applicant Manager Employee Loan Mortgage Remote Peer Employee Residence Check Credit Check Financial Check Residence Check Manager Application Request Preliminary Validation Not Valid x Final Validation Choice Not Validx Final Check Final Check  Possibility of delegating one activity or a whole subprocess to different peers  Interaction between peers based on Web services  Exchanged messages notify the workflow status changes to the peers
  • 12. Web application design & dev. with WebML and WebRatio 5.0 Mapping of BP to Hypertext Models 12 Automatic generation of:  SQL script  WebML skeleton (different styles)  Hypertext links behaviour  Project documentation (specifications and design)
  • 13. Web application design & dev. with WebML and WebRatio 5.0 Rich 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 13
  • 14. 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
  • 15. Web application design & dev. with WebML and WebRatio 5.0 WebRatio Visual Identity WebML Project Design Data Sources Custom Components Running Web 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
  • 16. Web application design & dev. with WebML and WebRatio 5.0 Model Diagram Editor Multi-editor Graph Editor Tabbed Properties Problems
  • 17. Web application design & dev. with WebML and WebRatio 5.0 Text Editor Syntax Highlighting Code Completion
  • 18. Web application design & dev. with WebML and WebRatio 5.0 Business Components Editor Eclipse Forms Components Multi-editor
  • 19. 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
  • 20. 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
  • 21. Web application design & dev. with WebML and WebRatio 5.0 Conclusions 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 21
  • 22. Web application design & dev. with WebML and WebRatio 5.0 Thanks POLITECNICO DI MILANO 22 ? Questions Marco Brambilla http://home.dei.polimi.it Politecnico di Milano marco.brambilla@polimi.it marcobrambi MarcoBrambi