Введение
Язык веб-моделирования (WebML) - это визуальная нотация и методология для разработки веб-приложений, использующих большие объемы данных. Он предоставляет графическое средство для определения специфики дизайна веб-приложения в рамках структурированного процесса проектирования. Этот процесс может быть усовершенствован с помощью инструментов визуального дизайна. В 2013 году WebML был расширен, чтобы охватить более широкий спектр интерфейсов фронт-энда, что привело к разработке языка моделирования потоков взаимодействия (IFML). С тех пор IFML была признана стандартом Группой по управлению объектами (OMG). Этот подход включает в себя разработку пяти различных моделей: структуры, производных, композиции, навигации и презентации. Эти модели уточняются в ходе итеративного процесса.
Понятия
WebML позволяет дизайнерам выражать основные особенности сайта на высоком уровне, не обязуясь подробно описывать архитектурные детали. Концепции WebML связаны с графическим представлением, которое может поддерживаться инструментами CASE и передаваться нетехническим членам команды разработчиков сайта (например, с графическими дизайнерами и производителями контента). WebML также поддерживает синтаксис XML, который может быть введен в генераторы программного обеспечения для автоматического создания реализации веб-сайта. Спецификация сайта в WebML состоит из четырех ортогональных перспектив: Структурная модель: выражает содержание данных сайта с точки зрения соответствующих объектов и отношений. WebML не предлагает еще один язык для моделирования данных, но совместим с классическими обозначениями, такими как модель E / R, объектно-ориентированная модель ODMG и диаграммы классов UML. Модель гипертекста: описывает один или несколько гипертекстов, которые могут быть опубликованы на сайте. Каждый гипертекст определяет так называемый вид сайта. Описания видоизменения сайта, в свою очередь, состоят из двух подмоделей. Модель композиции: определяет, какие страницы составляют гипертекст, и какие единицы контента составляют страницу. Модель навигации: выражает, как страницы и единицы контента связаны, чтобы сформировать гипертекст. Ссылки являются либо неконтекстными, когда они соединяют семантически независимые страницы (например, страницу художника на домашнюю страницу сайта), либо контекстными, когда содержание целевой единицы ссылки зависит от содержания исходной единицы. Модель представления: выражает макет и графический вид страниц, независимо от устройства вывода и языка представления, с помощью абстрактного синтаксиса XML. Спецификации представления могут быть либо страницеспецифическими, либо общими. Модель персонализации: пользователи и группы пользователей явно моделируются в схеме структуры в виде предопределенных объектов, называемых пользователем и группой. Функции этих объектов могут использоваться для хранения группового или индивидуального контента, такого как предложения по покупкам, список любимых и ресурсы для графической настройки.
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.
Структурная модель
Основными элементами модели структуры WebML являются сущности, которые являются контейнерами элементов данных, и отношения, которые позволяют семантическую связь сущностей. Субъекты имеют названные атрибуты с ассоциированным типом; свойства с несколькими встречами могут быть организованы с помощью многозначных компонентов, что соответствует классической части отношения. Сущности могут быть организованы в иерархии обобщения. Отношениям могут быть присвоены ограничения кардинальности и названия ролей.
Навигационная модель
Единицы и страницы не существуют в изоляции, но должны быть связаны, чтобы сформировать гипертекстовую структуру. Целью моделирования навигации является определение того, как подразделения и страницы связаны, чтобы сформировать гипертекст. Для этого WebML предоставляет понятие ссылки. Существует два варианта ссылок: Контекстные ссылки (соединяют единицы таким образом, чтобы они соответствовали семантике, выраженной структурной схемой приложения. Передает некоторую информацию (называемую контекстом) от исходной единицы к целевой единице. Контекст используется для определения фактического объекта или набора объектов, которые должны быть показаны в целевой единице). Неконтекстные ссылки (соединяют страницы совершенно свободно, т.е. независимо от единиц, которые они содержат, и семантических отношений между структурными понятиями, включенными в эти единицы. Синтаксически контекстные и неконтекстные ссылки обозначаются элементами INFOLINK и HYPERLINK, соответственно вложенными в единицы и страницы).
Contextual links (connect units in a way coherent to the semantics expressed by the structure schema of the application. Carries some information (called context) from the source unit to the destination unit. Context is used to determine the actual object or set of objects to be shown in the destination unit). Non contextual links (connect pages in a totally free way, i. e., independently of the units they contain and of the semantic relations between the structural concepts included in those units. Syntactically, contextual and non contextual links are denoted by element INFOLINK and HYPERLINK, respectively nested within units and pages).
Модель персонализации
Персонализация - это определение контента или стиля презентации, основанное на данных профиля пользователя. В WebML можно определить единицы, страницы, их стили представления и представления сайта, чтобы учитывать конкретные данные пользователя или группы. Это может быть сделано двумя взаимодополняющими способами: Декларативная персонализация: дизайнер определяет производные концепции (например, сущности, атрибуты, многозначные компоненты), определение которых зависит от конкретных данных пользователя. Таким образом, настройка определяется декларативно; система заполняет информацию относительно каждого пользователя при вычислении содержания единиц. Процедура персонализации: WebML включает синтаксис XML для написания бизнес-правил, которые вычисляют и хранят пользовательскую информацию. Бизнес-правило - это тройная акция, которая определяет событие, которое должно быть отслежено, предварительное условие, которое должно быть проверено, когда событие происходит, и действие, которое должно быть предпринято, когда условие подтверждено. Типичными задачами, выполняемыми бизнес-правилами, являются распределение пользователей по группам пользователей на основе динамически собранной информации, уведомление пользователей о сообщениях при обновлении информационной базы (технология push), регистрация действий пользователей в специфических для пользователя структурах данных и т. д.
Declarative personalization: the designer defines derived concepts (e. g., entities, attributes, multi valued components) whose definition depends on user specific data. In this way, customization is specified declaratively; the system fills in the information relative to each user when computing the content of units. Procedural personalization: WebML includes an XML syntax for writing business rules that compute and store user specific information. A business rule is a triple event condition action, which specifies the event to be monitored, the precondition to be checked when the event occurs, and the action to be taken when the condition is found true. Typical tasks performed by business rules are the assignment of users to user groups based on dynamically collected information, the notification of messages to users upon the update of the information base (push technology), the logging of user actions into user specific data structures, and so on.
Модель презентации
Моделирование презентации связано с внешним видом страниц, идентифицированных с помощью моделирования композиции. Страницы WebML отображаются в соответствии со стилевым листом. Стилирование диктует макет страниц и элементы контента, которые должны быть вставлены в такой макет, и не зависит от фактического языка, используемого для отображения страницы. Для лучшей многоразовой удобства предоставляются две категории таблиц стилей: нетипированные таблицы стилей (также называемые моделями) описывают макет страницы независимо от его содержания и, таким образом, могут применяться независимо от отображения страницы к данной концепции; типированные таблицы стилей определяются с более тонкой детализацией и, таким образом, применяются только к страницам, описывающим конкретные концепции.