Presentation given at the OMG ADTF meeting in Salt Lake City, June 22, 2011.
We presented our experience with WebML and WebRatio and we opened a discussion on the need and the scope required for a user interaction modeling language. See more at:
http://www.modeldrivenstar.org/2011/06/some-highlights-from-salt-lake-city-omg.html
AWS Community Day CPH - Three problems of Terraform
WebML for OMG
1. Experiences and requirements for a User Interaction Modeling Language Marco Brambilla @marcobrambi Politecnico di Milano and WebRatio Stefano Butti @stebutti WebRatio OMG Technical Meeting, ADTF, Salt Lake City, June 22nd, 2011
2. Agenda 2 WebML: Web Modeling Language History Language Metamodel Relation to other standards Industrial Experience WebRatio Users Projects Requirements for a Web UI Language Discussion RFC or RFP Consensus and partners
4. WebML: purpose 4 A visual modeling language (DSL) ... Oriented to the high level design Incorporating all the details that are needed for refined specification ... Effective and essential ... Including only the concepts relevant to the domain No overhead because of verbose notation or orthogonality ... For user interaction design ... Page contents Navigation paths and UI events ... Within web applications Born bottom-up from the features of dynamic web applications
5. WebML: role and positioning Process: BPMN User Interaction: WebML Contents: ER, class, .. Style: CSS, ... BPMN model Backend: SoaML, WSDL.. Services 5
6. The WebML notation: example Two pages Retrieval of session data (CurrentUser) Review Page Lists of (prefered) artists Links to artist details Albums Page List of albums of selected artist Checkbox and deletion of albums
7. WebML: content publishing units 7 A WebML unit is the atomic information publishing element A “view” defined upon a container of objects: The instances of an concept Based on a complex selection condition (called selector) A unit may need some input and produces some output Input is required to compute the unit itself (params of the selector) Output can be used to compute other unit(s)
8. WebML: Links Source Destination Links in WebML have 3 purposes Describe navigation paths Transport parameters between units Activate computation of units and execution of side effects Normally, links are rendered as one or more anchors/buttons based on the dataset and semantics of the source unit Various behaviours are allowed (automatic, asynchronous, transport ..) Transportlinks: onlycarryparameters, no navigationnor side effects
9. WebML: CRUD operation units 9 Execution of CRUD operations Simple failure/success model of operations Success: green “OK link” is navigated Failure: red “KO link” is navigated Chains of operations can be defined Control dictated by links Basic control flow elements available (loop, switch)
10. WebML units: coverage Content publishing Data Index MultiData Entry Scroller Multichoice HierarchicalIndex Session management Web Services Login Logout Get Set Request-Response …. CRUD Operations Create Modify Delete Connect Disconnect 10
11. WebML foundation and extensibility 11 The language foundations Basic set of units Connection to a content model for data retrieval and management Links for control and data flow Page computation algorithms for execution semantics The page content is automatically calculated also in case of complex topologies Incoming links and dependencies among units are considered The language is open New units and operations can be specified For implementing ad-hoc business logics
12. WebML metamodel 12 Language metamodel available As UML diagrams (MagicDraw) As ECORE (EMF) models written in Eclipse Modeling Tools Excerpt / overview:
15. What is WebRatio 15 An Eclipse-based development environment allowing: Modeling: ER + WebML + BPMN 100% code generation of standard JEE applications Clear separation between design time and run time No proprietary runtime Quick and agile development cycles Extending the generation rules Defining new presentation styles Defining new components Versioning, teamwork, full lifecycle mgt
16. Who are the user of WebRatio 16 Business Process Analyst (*) 4 days (*) 15 days Application Analyst /WebRatio Modeler Model editor Application Model(ER + WebML) Process Model (BPMN) Standard Java Web application Generation rules Custom Model Components (Java, API ,…) Layout Templates(HTML, CSS, JavaScript, ...) Web Designer Java Programmer (*) Learning time (*) 5 days (*) 5 days
17. A broad spectrum of possible applications 17 Document Management Customer Information Mgt Sales and LeadManagement Web Content Management Knowledge Management CustomerRelationshipManagement Learning Management Partner Relationship Mgt Knowledge Support Marketing Resources Mgt Project Management Web Customer Services Business Intelligence Supply Chain Management B2C/B2B E-Commerce Enterprise Resource Planning Web Front-End of accounting sys. Financial Services Supplier Relationship Mgt Payment Services Orchestration Corporate Operations Human Capital Management Product Life Cycle Management Front-Office Process Mgt
18. Summary WebRatio is now at its 6th major release in the market since 2001 WebRatio customers 100+ companies and 500+ users in Italy, Europe and South America WebRatio partners 40+ software houses and system integrators 300+ universities worldwide, 12.000+ students
20. Modeling and standardization gap 20 A perceived gap in the standardization efforts User interaction has been overlooked in modeling proposals Previous attempts failed because of: Low usability and effectiveness of notation Missing solid implementations with vendors support
21. Lesson learned (so far) 21 Reasons for the success of the current notation Extremely compact (no useless overhead) Effective (allows to model exactly what users want) Efficient (grants high reusability of model fragments) Easy to learn (very low learning curve) Comprehensive (covers most of the web interaction needs) Open and extensible (for covering any ad hoc logic) Perceived missing aspects Appropriate management of client-side logics, RIAs (Rich Internet Applications), AJAX, complex user events Full-fledged support to UML class diagrams (esp. methods)
22. WebML in the OMG framework 22 Exploit the possible relations with BPMN -- Already in place Class diagrams SoaML Other standards? Support the standardization Refine the metamodel Implement appropriate injectors to MOF-compliant models
23. WebML standardization effort 23 Gather interest and consensus From vendors and users Open to changes, extensions, integration Establish a joint effort / strategy Decide scope Possible options: Only Web Web + Mobile Generic Graphical UI Decide RFP vs. RFC Pros and cons