WebML: Model-driven design of Web Applications

Similar documents
Exception Handling Within Workflow-Based Web Applications

Design concepts for data-intensive applications

Prototyping Navigation in Web-Based Information Systems Using WebML

Internet Applications based on AJAX

Web Modeling Language (WebML): a modeling. language for designing Web sites

Extending WebML for modeling multi-channel context-aware Web applications

Administrator's Guide

BLU AGE 2009 Edition Agile Model Transformation

Extending WebML for Modeling Multi-Channel Context-Aware Web Applications

MDSE USE CASES. Chapter #3

WeChat Adobe Campaign Integration - User Guide

MarcoFlow: Modeling, Deploying, and Running Distributed User Interface Orchestrations

Prepared using speauth.cls [Version: 2002/09/23 v2.2] Dipartimento di Elettronica e Informazione - Politecnico di Milano, P.zza Leonardo da Vinci,

WP3 Technologies and methods for Web applications

Etanova Enterprise Solutions

Managing System Administration Settings

The etrice Eclipse Project Proposal

Is the UML appropriate for Interaction Design?

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

NetIQ Identity Manager Jobs Guide. February 2017

INF5120 and INF9120 Modelbased System development

SAS 9.2 Foundation Services. Administrator s Guide

Talend Open Studio for MDM Web User Interface. User Guide 5.6.2

Imagination To Realization

Detailed Design. Java Problem Repository & Education Platform JPREP

1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Advanced WCF 4.0 .NET. Web Services. Contents for.net Professionals. Learn new and stay updated. Design Patterns, OOPS Principles, WCF, WPF, MVC &LINQ

End User s Guide Release 5.0

Integration with McAfee DXL

ITEC447 Web Projects CHAPTER 9 FORMS 1

Adobe Marketing Cloud Best Practices Implementing Adobe Target using Dynamic Tag Management

Objectives. Object-Oriented Analysis and Design with the Unified Process 2

C O N TA C T !!!!!! Portfolio Summary. for more information July, 2014

Adapting Web 1.0 User Interfaces to Web 2.0 Multidevice User Interfaces using RUX-Method

CASE TOOLS LAB VIVA QUESTION

Kendo UI. Builder by Progress : Using Kendo UI Designer

Administration. STILOG IST, all rights reserved

VMware Notification Service v2.0 Installation and Configuration Guide Configure ENSv2 for cloud and on-premises deployments

AdvOSS AAA: Architecture, Call flows and implementing emerging business use cases

Integration with Tenable Security Center

A Role-based Use Case Model for Remote Data Acquisition Systems *

COAP 3110 INTERACTIVE SITE DEVELOPMENT

Oracle Developer Day

WebML Modeling in UML

Creating a Course Web Site

INF5120 Model-based System Development

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0. Feature and Technical Overview

Web Engineering. Winter Term 2006/07 Prof. Dr. Gregor Engels. Chapter II: Modeling of Web Applications Part 2

FREQUENTLY ASKED QUESTIONS

Full Stack Developer with Java

Chapter 3. Architecture and Design

STARCOUNTER. Technical Overview

Designing for Web Using Markup Language and Style Sheets

Towards collaborative Blender design through annotation sharing

MongoDB Web Architecture

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

Rapid SQL 7.5 Evaluation Guide. Published: September 28, 2007

Introduction...5. Chapter 1. Installing System Installing Server and ELMA Designer... 7

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

ForeScout Extended Module for ServiceNow

Enterprise Architect Training Courses

VMware Notification Service v2.0 Installation and Configuration Guide Configure ENS2 for cloud and on-premises deployments

Tyler Dashboard. User Guide Version 6.0. For more information, visit

WebML modelling in UML

PHOTO GALLERY. USER GUIDE by Decima Digital. d e c i m a d i g i t a l. c o m

3rd Lecture Languages for information modeling

VMware Notification Service v2.0 Installation and Configuration Guide Configure ENS2 for cloud and on-premises deployments

Copyright and Trademark Information Trademarks Disclaimer; No Warranty

1. Introduction. IJCTA Nov-Dec 2015 Available ISSN:

BlackBerry Enterprise Server for IBM Lotus Domino Version: 5.0. Feature and Technical Overview

NetIQ Identity Manager Notification Guide. Febraury 2018

Generating system documentation augmented with traceability information, using a central XML-based repository

Chapter 5: Communicating with Network Users

INF5120 Modelbased System development

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

ALM. Tutorial. Software Version: Go to HELP CENTER ONLINE

Integrity 10. Curriculum Guide

Ricoh Managed File Transfer (MFT) User Guide

PROFESSIONAL TRAINING

Enterprise Modernization for IBM System z:

.NET & Web Services. Mike Lockyer, Gary Griffiths, Briony Oates, Barry Hebbron School of Computing. University of Teesside

Current Research on the Design of Web 2.0 Applications Based on Model-Driven Approaches

New Features Summary PowerDesigner 15.2

ForeScout Extended Module for Qualys VM

Oracle Application Express

Multi-faceted BPM. Marco Brambilla, Politecnico di Milano, Italy Stefano Butti, Web Models Srl, Italy

M+NetMail Client User Guide

Managing System Administration Settings

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

ER/Studio Enterprise Portal User Guide

Topics. From UI prototype... About user interfaces. ... via design to implementation. Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 6

Model-driven Engineering of Active Context-Awareness

Oracle Developer Day

Performing Administrative Tasks

Oracle Endeca Information Discovery

Modeling Complex Mobile Web Applications from UI Components Adding Different Roles and complex Database Design

Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 2

ASP.NET 2.0 p. 1.NET Framework 2.0 p. 2 ASP.NET 2.0 p. 4 New Features p. 5 Special Folders Make Integration Easier p. 5 Security p.

WHAT S NEW IN QLIKVIEW 11

Today: Distributed Objects. Distributed Objects

Transcription:

WebML: Model-driven design of Web Applications Stefano Ceri, Piero Fraternali, Aldo Bongio, Marco Brambilla, Alessandro Bozzon

WebML 2 WebML: Web Modeling Language Structured approach for the design of Data-intensive Web applications Book: Designing Data-intensive Web Applications, Ceri et Al., 2002 Patent in Europe and U.S.

WebRatio 3 WebRatio A commercial tool based on WebML A university spin-off: WebModels Example: Acer-EMEA www.acer-euro.com 37 countries 22 multi-lingual applications >600 page templates >3500 queries from design to deployment in 8 weeks

Motivations 4 Data-intensive Web site design and implementation are complex processes based on methodologies borrowed from different sectors involving different actors (DB, software eng., designers...) Complexity of modern Web applications (e.g., multi-device output) Always evolving standards best practices architectures SOA RIA SW

WebML Purpose 5 WebML provides a structured approach to the design of Data-intensive Web sites navigational interface browsing and management of data A set of domain specific models helps designers in high-quality Web sites production Separation of concerns is enforced database design application design business logic development presentation and style design

Advantages of Modeling approach A rigorous modeling approach: Can reduce development efforts (cost and time) Allows a more structured development process Produces more usable and coherent final results Design models are self-documenting and always up-todate projects Immediate prototyping can be achieved

Requirements for Web modeling Expressiveness Real-life cases should be expressible Frequently used design patterns should be captured Ease of use Intuitive notation Clear semantics Consistency checks Implementability Efficient mapping to physical data structures Flexible code generation from behavioral specifications

The WebML models 8 Data Intensive Web Applications entities, relationships units, pages, links site views styles structure + derivation hypertext presentation

Structure Model 9 Simplified Entity-Relationship model Binary relationships between entities IS-A hierarchies Simple typed attributes in entities Derivation model can be applied for redundant data

Derivation Model Redundant data can be easily specified using a WebML-OQL (Object Query Language). E.g.: Author.BooksNumber = count(self.author2book) BestSeller := Book where Book.Sales > 50,000 Author Book BestSeller

Hypertext Model Goals Modelling at a high level: the front-end of a dynamic Web application the interactions with the back end business logic and data Using a simple visual notation Enabling automatic generation of dynamic page templates and business logic java classes

Content Units A WebML unit is the atomic information publishing element unitx container [selector] It is a view defined upon a container of objects. E.g.: All the instances of an entity Instances of an entity that meet a selection condition called selector

Hypertext: examples of Content Units 13 DATAUNIT Data Unit Content INDEXUNIT Index Unit To publish information about A SINGLE object (e.g. Forum Message) To publish a list of objects (e.g. Forum Messages) Forum Message Sender:XXX Text:YYY Timestamp: Index of Messages 1. WebML? 2. WebRatio? 3. RIA? Content

Basic Content Units DATAUNIT INDEXUNIT MULTIDATAUNIT ENTRYUNIT entity [Selector] SCROLLERUNIT entity [Selector] MULTICHOICE entity [Selector] HIERARCHICAL entity [Selector] entity [Selector] entity [Selector]

Meaning of Content Units DATAUNIT INDEXUNIT MULTIDATAUNIT Author first name:xxx last name:yyy photo: Index of Authors I. Asimov M. Twain C. Dickens All Authors ENTRYUNIT SCROLLERUNIT MULTICHOICE HIERARCHICAL Insert Your Data Browse Authors Choose Authors Books&Authors Fname Lname 5/12: go to 1/12 Asimov Twain Dickens 1. I, robot Asimov 2. Hard times Dickens

Content units computation A unit may need some context to be computed Each unit exposes input and output parameters IN unitx OUT entity [selector (par 1,.., parn)] A content unit is not computed until its needed context is available Parameters pre-defined for the unit + Other parameters required by the selector of the unit A content unit is recomputed (and eventually redrawn) each time its context changes Output can be used to compute other unit(s)

Hypertext: Pages 17 A Page is a structured container of units Possibly structured in and/or sub-pages Permits one to cluster related information for more efficient communication E.g.: The index of messages and the selected message are shown together in the same page

Operation Unit Models a generic operation Built-in operation units:... Data manipulation Session context management User authentication The predefined WebML units can be enriched by adding custom external operations (e.g. SendMail, )

Data Management Operations CREATE DELETE MODIFY Create Unit Delete Unit Modify Unit Entity Entity Entity CONNECT DISCONNECT Connect Unit Disconnect Unit relationship relationship

Operation units: computation value1 attribute1 value2 attribute2 Create Unit Entity KO OK Nothing OID of the new object An operation unit is computed each time an incoming link is activated Exception for transport links Some operation units can be activated also by other events

(Normal) links source unit target unit Author Author Semantics of links: Allowing the user to move from one place to another rendering by means of anchors or submit buttons Transporting information from one place to another context propagation by parameters coupling Activating an operation Outgoing links from operation units two labels: OK link if the operation completes correctly KO link if the operation fails

Transport Links source unit target unit Author Book [Author2Book] A transport link has a context that the source unit makes available to the target unit immediately after its computation, without user intervention The user cannot change the context and therefore the link is not rendered with an anchor

Automatic Links source unit A target unit Author Author An automatic link has both the behaviors of a normal link and a transport link makes a context immediately available to the target unit Is rendered and can be selected by the users for subsequent activations

Hypertext: WebML operations 24 E.g.: creation of a message

Hypertext: Siteviews 25 A Siteview is a set of pages that the user can experience as a whole Web site Different site views can be defined for different devices and different groups of users Thus, access control and multi-devices delivery is achieved

WebML: Other Constructs 26 Areas Transactions Master Pages Alternatives Global Parameters

WebRatio Functionalities: Structure model design Data derivation (Derivation Wizard) Hypertext model design Consistency checks (warnings) Structure Mapping onto a datasource Units positioning in the pages Grid for main content Unlimited named locations Automatic web site generation with presentation styles HTML + Custom Tags + CSS Compatibility with best selling tools for presentation editing E.g., WebML extensions for Dreamweaver

WebRatio 28

Web Ratio: a short demo 29

Ongoing work: Event Modeling 30 RIAs enforce decoupling of user interaction and browser requests Allow asynchronous polling (persistent connection technologies), non-interruptive application interaction Enable server-to-client communication (server PUSH) Make event-driven Web applications reality, e.g.: instant messaging, shared calendars, online auctions

Extended WebML Notation for event modeling 31 Data Model Extensions application-specific event types are represented by adding new entities to the data model all event types extend the predefined Event entity Specific event types can have relationships with application domain entities Composition/Navigation Model Extensions We extended the WebML hypertext model to support event notifications by means of two WebML operations: send event: send an event notification to a (set of) recipient(s); receive event: receive the notification and trigger a reaction;

Extension of Data Design to capture processes Name... Based on the WfMC concepts 0:N 1:N Group User Username Password... 0:N Default 1:1 Distributor Email SubscribedToML 0:N 0:N Assigned To 0:N 1:1 Performed by 0:N 1:1 Assigned To ActivityType Name 0:N 1:1 RequestToDistributor 0:N 1:1 Type Activity Instance Status StartTimeStamp EndTimeStamp 0:N 0:N 1:1 1:N PartOf 1:1 1:N PartOf RelatedTo RefundingRequest Quantity OldPrice NewPrice... Name Process Case Status Name StartTimeStamp EndTimeStamp 0:N 1:1 RequestToProduct ProductBrand Name Description 0:N 1:1 Product Name Description Image TechnicalDetails

Extension of Hypertext Design to capture processes Activity delimiters Process delimiters Start Activity End Activity Start Activity End Activity ActivityName Requests W ActivityName ActivityName ActivityName WF indexes Assignements Conditions Current User ReqID Assign A Amount If [true] [false] RefundingRequest [ActivityType="Approval"] [User=CurrentUser] RefundingRequest [Activity="Approval"] [User=CurrentUser] [Case=CurrentCase] Amount>1000$

Semantic Web Services 34 Semantic Web Services (SWS) have a great potential easy web service discovery automatic web service integration easy interoperability Till now SWS are rarely used in practice annotations are an extra cost Software Engineering (SE) tools and methodologies can push the use of SWS model driven development techniques can be improved to include annotation and generate Semantic Web Services

Business process modeling notations WebML SWS 35 Semantic Web Service Application The most complete solution presented at phase-ii of

MDA WebML Aims 36 Integration with other modelling languages / models, tools (esp. UML, WFMC, BPEL, MDWEnet) Production of a (part of) WebML model from other diagrams Reverse transformation Manage correspondences and check consistency Current approach: Ecore metamodel ATL transformations ATL HOTs

Testing, Debugging, Metrics 37 Code generation testing: Transformation for test set generation Coverage metrics Debugging Adding traceability to the code-generation transformation Adding a debugging environment to WebRatio Metrics Transformation for functional size metrics

Thanks 38