Web Modeling Language, (WebML) is a visual notation and methodology for the design of a data-intensive web applications. It provides a graphical means to define the specifics of web application design within a structured design process. This process can be enhanced with the assistance of visual design tools. In 2013, WebML was expanded to encompass a broader range of front-end interfaces, leading to the development of the Interaction Flow Modeling Language (IFML). IFML has since been recognized as a standard by the Object Management Group (OMG). This approach involves the development of five distinct models: structure, derivation, composition, navigation, and presentation. These models are refined through an iterative process.
Concepts WebML enables designers to express the core features of a site at a high level without committing to detailed architectural details. WebML concepts are associated with a graphic representation, which can be supported by CASE tools and communicated to non-technical members of a site development team (e.g., with graphic designers and content producers). WebML also supports an XML syntax, which can be fed to software generators for automatically producing the implementation of a website. The specification of a site in WebML consists of four orthogonal perspectives:
Structural Model: expresses the data content of the site, in terms of the relevant entities and relationships. WebML does not propose yet another language for data modeling, but is compatible with classical notations like the E/R model, the ODMG object-oriented model, and UML class diagrams. Hypertext Model: describes one or more hypertexts that can be published in the site. Each different hypertext defines a so-called site view. Site view descriptions in turn consist of two sub-models. Composition Model: specifies which pages compose the hypertext, and which content units make up a page. Navigation Model: expresses how pages and content units are linked to form the hypertext. Links are either non-contextual, when they connect semantically independent pages (e.g., the page of an artist to the home page of the site), or contextual, when the content of the destination unit of the link depends on the content of the source unit. Presentation Model: expresses the layout and graphic appearance of pages, independently of the output device and of the rendition language, by means of an abstract XML syntax. Presentation specifications are either page-specific or generic. Personalization Model: users and user groups are explicitly modeled in the structure schema in the form of predefined entities called User and Group. The features of these entities can be used for storing group-specific or individual content, like shopping suggestions, list of favorites, and resources for graphic customization.
Design Process A typical design process using WebML consists of the following steps for each design cycle:
Requirements Collection: Application requirements are gathered including the main objectives of the site, target audience, examples of content, style guidelines, required personalization, and constraints due to legacy data. Data Design: The data expert designs the structural model, potentially by reverse-engineering the existing logical schemas of legacy data sources. Hypertext Design: The Web application architect defines the structure "in the large" of the hypertext, by identifying pages and units, linking them, and mapping units to the main entities and relationships of the structure schema. In this way, one develops a "skeleton" site view, and then iteratively improves it. Hypertext Design: The Web application architect concentrates next in the design "in the small" of the hypertext, by considering each page and unit individually. At this stage, one may add non-contextual links between pages, consolidate the attributes that should be included within a unit, and introduce novel pages or units for special requirements (e.g. alternative index pages to locate objects, filters to search the desired information, etc.). Presentation Design: Once all pages are sufficiently stable, the Web style architect adds to each page a presentation style. User and Group Design: The Web administrator defines the features of user profiles, based on personalization requirements. Potential users and user groups are mapped to WebML users and groups, and a different site view may be created for each group. The design cycle is changed for each of the identified site views. Customization Design: The Web administrator identifies profile-driven data derivations and business rules, which may guarantee an effective personalization of the site.
Structural Model The fundamental elements of WebML structure model are entities, which are containers of data elements, and relationships, which enable the semantic connection of entities. Entities have named attributes, with an associated type; properties with multiple occurrences can be organized by means of multi-valued components, which corresponds to the classical part-of relationship. Entities can be organized in generalization hierarchies. Relationships may be given cardinality constraints and role names.
Derivation Model Similar to VIEWS in databases modelling, like VIEW in Oracle or MySQL For each page, there is one abstract table of data merged from other tables Uses WebML-OQL (WebML-Object Query Language)
Composition Model The purpose of composition modeling is to define which nodes make up the hypertext contained in the Web site. More precisely, composition modeling specifies content units (units for short), i.e., the atomic information elements that may appear in the Web site, and pages, i.e., containers by means of which information is actually clustered for delivery to the user. In a concrete setting, e.g., an HTML or WML implementation of a WebML site, pages and units are mapped to suitable constructs in the delivery language, e.g., units may map to HTML files and pages to HTML frames organizing such files on the screen. WebML supports six types of unit to compose a hypertext:
… excerpt ends here. Continue reading the full article.
