Webモデリング言語(WebML)は、データ集約型Webアプリケーションを設計するための視覚的な表記法と方法論です。[1]構造化された設計プロセス 内でWebアプリケーション設計の詳細を定義するためのグラフィカルな手段を提供します。このプロセスは、視覚的な設計ツールの支援によって強化できます。
2013 年、WebML はより広範なフロントエンド インターフェイスを網羅するように拡張され、 Interaction Flow Modeling Language (IFML)の開発につながりました。IFML はその後、 Object Management Group (OMG)によって標準として認められました。
このアプローチには、構造、派生、構成、ナビゲーション、プレゼンテーションという 5 つの異なるモデルの開発が含まれます。これらのモデルは、反復的なプロセスを通じて改良されます。
コンセプト
WebML を使用すると、設計者は詳細なアーキテクチャの詳細にこだわることなく、サイトのコア機能を高レベルで表現できます。WebML の概念はグラフィック表現に関連付けられており、CASE ツールでサポートされ、サイト開発チームの非技術メンバー (グラフィック デザイナーやコンテンツ プロデューサーなど) に伝えられます。WebML はXML構文もサポートしており、ソフトウェア ジェネレーターに入力して Web サイトの実装を自動的に生成できます。WebML でのサイトの仕様は、次の 4 つの直交する観点で構成されています。
- 構造モデル:関連するエンティティと関係の観点から、サイトのデータ コンテンツを表現します。WebML は、データ モデリング用の別の言語を提案するものではなく、E/R モデル、ODMG オブジェクト指向モデル、UML クラス図などの従来の表記法と互換性があります。
- ハイパーテキスト モデル:サイトに公開できる 1 つ以上のハイパーテキストを記述します。それぞれのハイパーテキストは、いわゆるサイト ビューを定義します。サイト ビューの記述は、2 つのサブモデルで構成されます。
- 構成モデル:ハイパーテキストを構成するページと、ページを構成するコンテンツ ユニットを指定します。
- ナビゲーション モデル:ページとコンテンツ ユニットがリンクされてハイパーテキストを形成する方法を表します。リンクは、意味的に独立したページ (アーティストのページをサイトのホームページに接続するなど) を接続する場合は非コンテキスト リンク、リンクの宛先ユニットのコンテンツがソース ユニットのコンテンツに依存する場合はコンテキスト リンクのいずれかです。
- プレゼンテーション モデル:出力デバイスやレンディション言語とは独立して、抽象 XML 構文を使用してページのレイアウトとグラフィックの外観を表現します。プレゼンテーション仕様は、ページ固有または汎用のいずれかです。
- パーソナライゼーション モデル:ユーザーとユーザー グループは、ユーザーとグループと呼ばれる定義済みエンティティの形式で構造スキーマに明示的にモデル化されます。これらのエンティティの機能は、ショッピングの提案、お気に入りのリスト、グラフィックのカスタマイズのリソースなど、グループ固有または個別のコンテンツを保存するために使用できます。
設計プロセス
WebML を使用した一般的な設計プロセスは、設計サイクルごとに次の手順で構成されます。
- 要件の収集:サイトの主な目的、対象ユーザー、コンテンツの例、スタイル ガイドライン、必要なパーソナライズ、レガシー データによる制約など、アプリケーション要件が収集されます。
- データ設計:データ エキスパートは、レガシー データ ソースの既存の論理スキーマをリバース エンジニアリングするなどして、構造モデルを設計します。
- ハイパーテキスト設計: Web アプリケーション アーキテクトは、ページとユニットを識別し、それらをリンクし、ユニットを構造スキーマの主要なエンティティと関係にマッピングすることによって、ハイパーテキストの「大きな」構造を定義します。このようにして、「スケルトン」サイト ビューを開発し、それを繰り返し改善します。
- ハイパーテキスト設計: Web アプリケーション アーキテクトは、次に、各ページとユニットを個別に検討して、ハイパーテキストの「小さな部分」の設計に集中します。この段階では、ページ間に非コンテキスト リンクを追加したり、ユニット内に含める属性を統合したり、特別な要件に合わせて新しいページやユニットを導入したりすることができます (例: オブジェクトを見つけるための代替インデックス ページ、必要な情報を検索するためのフィルターなど)。
- プレゼンテーション デザイン:すべてのページが十分に安定したら、Web スタイル アーキテクトが各ページにプレゼンテーション スタイルを追加します。
- ユーザーとグループの設計: Web 管理者は、パーソナライゼーションの要件に基づいて、ユーザー プロファイルの機能を定義します。潜在的なユーザーとユーザー グループは WebML ユーザーとグループにマッピングされ、グループごとに異なるサイト ビューが作成されます。設計サイクルは、識別されたサイト ビューごとに変更されます。
- カスタマイズ設計: Web 管理者は、プロファイル駆動型のデータ導出とビジネス ルールを識別し、サイトの効果的なパーソナライズを保証します。
構造モデル
WebML 構造モデルの基本要素は、データ要素のコンテナであるエンティティと、エンティティのセマンティックな接続を可能にするリレーションシップです。エンティティには、関連付けられたタイプを持つ名前付き属性があります。複数回出現するプロパティは、従来の一部のリレーションシップに対応する多値コンポーネントによって整理できます。エンティティは、一般化階層で整理できます。リレーションシップには、カーディナリティ制約とロール名を指定できます。
導出モデル
- OracleやMySQLのVIEWのようなデータベースモデリングのVIEWSに似ている
- 各ページには、他のテーブルからマージされたデータの抽象テーブルが1つあります。
- WebML-OQL (WebMLオブジェクトクエリ言語) を使用します
構成モデル
構成モデリングの目的は、Web サイトに含まれるハイパーテキストを構成するノードを定義することです。より正確には、構成モデリングは、コンテンツ ユニット (略してユニット)、つまり Web サイトに表示される可能性のある原子情報要素とページ、つまりユーザーに配信するために実際に情報をクラスター化するコンテナーを指定します。具体的な設定 (WebML サイトの HTML または WML 実装など) では、ページとユニットは配信言語の適切な構造にマッピングされます。たとえば、ユニットは HTML ファイルにマッピングされ、ページは画面上でそのようなファイルを整理する HTML フレームにマッピングされます。
WebML は、ハイパーテキストを構成するための 6 種類の単位をサポートしています。
- データ ユニット(単一のオブジェクトに関する情報を表示します)。
- マルチデータ ユニット(オブジェクトのセットに関する情報を表示します)。
- インデックス単位(各オブジェクトの詳細情報を表示せずにオブジェクトのリストを表示します)。
- スクローラー ユニット(順序付けられたオブジェクト セットの要素にアクセスするためのコマンドを表示します)。
- フィルター ユニット(条件を満たすオブジェクトのセット内で検索するために使用される値を入力するための編集フィールドを表示します)。
- 直接単位(情報を表示しませんが、別のオブジェクトと意味的に関連する単一のオブジェクトへの接続を示すために使用されます)。
要素
- データユニット
- マルチデータユニット
- インデックスユニット
- 多肢選択式インデックスユニット
- 階層単位
- スクロールユニット
- エントリーユニット
ナビゲーションモデル
ユニットとページは独立して存在するのではなく、ハイパーテキスト構造を形成するために接続する必要があります。ナビゲーション モデリングの目的は、ユニットとページをリンクしてハイパーテキストを形成する方法を指定することです。この目的のために、WebML はリンクの概念を提供します。リンクには 2 つの種類があります。
- コンテキスト リンク(アプリケーションの構造スキーマによって表現されるセマンティクスと一貫性のある方法でユニットを接続します。ソース ユニットから宛先ユニットにいくつかの情報 (コンテキストと呼ばれる) を伝達します。コンテキストは、宛先ユニットに表示される実際のオブジェクトまたはオブジェクトのセットを決定するために使用されます)。
- 非コンテキスト リンク(ページを完全に自由な方法で接続します。つまり、ページに含まれるユニットや、それらのユニットに含まれる構造概念間の意味関係とは無関係です。構文的には、コンテキスト リンクと非コンテキスト リンクは、それぞれユニットとページ内にネストされた要素 INFOLINK と HYPERLINK で示されます)。
要素
- ウェブページ
- ページ間のリンク
- コンテクスト
- 非文脈
パーソナライゼーションモデル
パーソナライゼーションとは、ユーザー プロファイル データに基づいてコンテンツやプレゼンテーション スタイルを定義することです。WebML では、ユーザーまたはグループ固有のデータを考慮して、ユニット、ページ、そのプレゼンテーション スタイル、およびサイト ビューを定義できます。これは、次の 2 つの補完的な方法で実行できます。
- 宣言的パーソナライゼーション:設計者は、ユーザー固有のデータに基づいて定義される派生概念 (エンティティ、属性、多値コンポーネントなど) を定義します。このように、カスタマイズは宣言的に指定され、システムはユニットのコンテンツを計算するときに各ユーザーに関連する情報を入力します。
- 手続き型パーソナライゼーション: WebML には、ユーザー固有の情報を計算して保存するビジネス ルールを記述するための XML 構文が含まれています。ビジネス ルールは、イベント、条件、アクションの 3 つで構成され、監視するイベント、イベント発生時にチェックする前提条件、条件が真であると判断されたときに実行するアクションを指定します。ビジネス ルールによって実行される一般的なタスクは、動的に収集された情報に基づいてユーザーをユーザー グループに割り当てること、情報ベースの更新時にユーザーにメッセージを通知すること (プッシュ テクノロジ)、ユーザー固有のデータ構造にユーザー アクションを記録することなどです。
プレゼンテーションモデル
プレゼンテーション モデリングは、コンポジション モデリングによって識別されるページの外観と操作性に関するものです。WebML ページは、スタイル シートに従ってレンダリングされます。スタイル シートは、ページのレイアウトと、そのレイアウトに挿入されるコンテンツ要素を指示するもので、ページ レンディションに使用される実際の言語とは無関係です。再利用性を高めるために、2 つのカテゴリのスタイル シートが提供されています。型指定のないスタイル シート (モデルとも呼ばれます) は、コンテンツとは独立してページ レイアウトを記述するため、ページと特定の概念のマッピングに関係なく適用できます。型指定のあるスタイル シートは、より細かい粒度で指定されるため、特定の概念を説明するページにのみ適用されます。
その他の可能性
- インタラクションフローモデリング言語( IFML )
- UML ベースの Web エンジニアリング(UWE)
- HDM
- RMM
- EORM
- オーエイチディーエム
- WSDM
- アラネウス
- OO-H
- UML の
- ヘラ
参照
参考文献
さらに読む
- Stefano Ceri、Piero Fraternali、A. Bongio (2000 年 5 月)。「Web モデリング言語 (WebML): Web サイトを設計するためのモデリング言語」。第 9 回国際ワールド ワイド ウェブ会議の議事録、アムステルダム、2000 年。
- ステファノ・セリ;ピエロ・フラテルナーリ。アルド・ボンジオ。マルコ・ブランビッラ;サラ・コマイ;マリステラ マテーラ (2002)。データ集約型 Web アプリケーションの設計。モーガン・カウフマン。ISBN 978-1-55860-843-6。
- S. Ceri、M. Brambilla、P. Fraternali (2009)、「WebML の歴史: 10 年間の Web アプリケーションのモデル駆動開発から学んだ教訓」、概念モデリング: 基礎とアプリケーション、John Mylopoulos を称えるエッセイ、Springer LNCS、Festschrift シリーズ、第 5600 巻、273 ~ 292 ページ
- Luciano Baresi、Piero Fraternali、Massimo Tisi、Sandro Morasca。「Web アプリケーション ジェネレーターのモデル駆動型テストに向けて」。Martin Gaedke (編)。Webエンジニアリング: 第 5 回国際会議、ICWE 2005、シドニー、オーストラリア。
- ベルトルト・ダウムとウド・メルテン (2003)。 「ハイパーメディア」。XML を使用したシステム アーキテクチャ。モーガン・カウフマン。 267–302ページ。ISBN 978-1-55860-745-3。
- M. Brambilla、S. Ceri、S. Comai 、 P . Fraternali (2006)。「Web サービス対応アプリケーションのモデリングと自動生成のための CASE ツール」。International Journal of Web Engineering and Technology。2 ( 4): 354–372。CiteSeerX 10.1.1.108.1107。doi :10.1504/ IJWET.2006.010420 。
外部リンク
- 公式サイト
