WebML for OMG

4,654 views
4,547 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,654
On SlideShare
0
From Embeds
0
Number of Embeds
1,921
Actions
Shares
0
Downloads
67
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

WebML for OMG

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

×