WebML
WebML ( Web Modeling Language ) to wizualna notacja i metodologia projektowania złożonych aplikacji internetowych intensywnie korzystających z danych . Zapewnia graficzne, ale formalne specyfikacje zawarte w pełnym procesie projektowania, który może być wspomagany przez narzędzia do projektowania wizualnego.
W 2013 roku WebML został rozszerzony, aby objąć szersze spektrum interfejsów front-endowych, w wyniku czego powstał Interaction Flow Modeling Language ( IFML ), przyjęty jako standard przez Object Management Group (OMG).
Ta metoda obejmuje pięć modeli: strukturę, derywację, kompozycję, nawigację i prezentację. Modele te są opracowywane w procesie iteracyjnym.
koncepcje
WebML umożliwia projektantom przedstawienie podstawowych funkcji witryny na wysokim poziomie bez angażowania się w szczegółowe szczegóły architektoniczne. Koncepcje WebML kojarzone są z intuicyjną reprezentacją graficzną, którą można łatwo wesprzeć narzędziami CASE i skutecznie przekazać nietechnicznym członkom zespołu tworzącego stronę (np. grafikom i producentom treści). WebML obsługuje również składnię XML, która zamiast tego może być przekazywana do generatorów oprogramowania w celu automatycznego tworzenia implementacji witryny sieci Web. Specyfikacja witryny w WebML składa się z czterech ortogonalnych perspektyw:
- Model strukturalny: wyraża zawartość danych witryny pod względem odpowiednich jednostek i relacji. WebML nie proponuje jeszcze jednego języka do modelowania danych, ale jest kompatybilny z klasycznymi notacjami, takimi jak model E/R, obiektowy model ODMG i diagramy klas UML.
-
Model hipertekstu: opisuje jeden lub więcej hipertekstów, które można opublikować w serwisie. Każdy inny hipertekst definiuje tzw. widok strony. Z kolei opisy widoku witryny składają się z dwóch podmodeli.
- Model kompozycji: określa, które strony składają się na hipertekst i które jednostki treści składają się na stronę.
- Model nawigacji: wyraża sposób, w jaki strony i jednostki treści są połączone w celu utworzenia hipertekstu. Linki są albo niekontekstowe, gdy łączą semantycznie niezależne strony (np. stronę artysty ze stroną główną serwisu), albo kontekstowe, gdy treść jednostki docelowej linku zależy od zawartości źródła jednostka.
- Model prezentacji: wyraża układ i wygląd graficzny stron, niezależnie od urządzenia wyjściowego i języka renderowania, za pomocą abstrakcyjnej składni XML. Specyfikacje prezentacji są specyficzne dla strony lub ogólne.
- Model personalizacji: użytkownicy i grupy użytkowników są jawnie modelowani w schemacie struktury w postaci predefiniowanych jednostek zwanych Użytkownikami i Grupami. Funkcje tych podmiotów mogą służyć do przechowywania treści specyficznych dla grupy lub poszczególnych osób, takich jak sugestie zakupów, lista ulubionych i zasoby do dostosowywania grafiki.
Proces projektowania
Typowy proces projektowania z wykorzystaniem WebML przebiega przez powtórzenie następujących kroków dla każdego cyklu projektowania:
- Kolekcja wymagań. Zbierane są wymagania aplikacji, które obejmują główne cele witryny, jej grupę docelową, przykłady treści, wytyczne dotyczące stylu, wymaganą personalizację i ograniczenia wynikające ze starszych danych.
- Projektowanie danych. Ekspert danych projektuje model strukturalny, prawdopodobnie poprzez inżynierię wsteczną istniejących schematów logicznych starszych źródeł danych.
- Projektowanie hipertekstowe „w dużej mierze” . Architekt aplikacji sieci Web definiuje strukturę hipertekstu „w całości”, identyfikując strony i jednostki, łącząc je i mapując jednostki do głównych jednostek i relacji schematu struktury. W ten sposób opracowuje „szkieletowy” widok strony, a następnie iteracyjnie go ulepsza.
- Projektowanie hipertekstowe „w małym” . Architekt aplikacji internetowych koncentruje się następnie na projektowaniu „w małym” hipertekście, rozpatrując każdą stronę i jednostkę indywidualnie. Na tym etapie może dodawać niekontekstowe łącza między stronami, konsolidować atrybuty, które powinny być zawarte w jednostce oraz wprowadzać nowe strony lub jednostki do specjalnych wymagań (np. alternatywne strony indeksu do lokalizowania obiektów, filtry do wyszukiwania żądanych informacji , i tak dalej).
- Projekt prezentacji. Gdy wszystkie strony są wystarczająco stabilne, architekt stylów internetowych dodaje do każdej strony styl prezentacji.
- Projekt użytkownika i grupy. Administrator sieci definiuje cechy profili użytkowników w oparciu o wymagania dotyczące personalizacji. Potencjalni użytkownicy i grupy użytkowników są odwzorowywani na użytkowników i grupy WebML i ewentualnie dla każdej grupy tworzony jest inny widok witryny. Cykl projektowania jest następnie powtarzany dla każdego ze zidentyfikowanych widoków terenu.
- Projekt dostosowywania. Administrator sieci identyfikuje oparte na profilach pochodne danych i reguły biznesowe, które mogą zagwarantować skuteczną personalizację serwisu.
Model strukturalny
Podstawowymi elementami modelu struktury WebML są encje, które są kontenerami elementów danych, oraz relacje, które umożliwiają semantyczne łączenie encji. Jednostki mają nazwane atrybuty z powiązanym typem; właściwości o wielu wystąpieniach można uporządkować za pomocą składowych wielowartościowych, co odpowiada klasycznej relacji część-of. Jednostki mogą być zorganizowane w hierarchie uogólnienia. Relacje mogą mieć ograniczenia liczności i nazwy ról.
Model wyprowadzenia
- Innymi słowy, jest podobny do WIDOKÓW w modelowaniu baz danych. Jak VIEW w Oracle lub MySQL.
- Dla każdej strony istnieje Jedna abstrakcyjna Tabela danych. Ale jest scalony z innymi tabelami.
- Używa WebML-OQL (WebML-Object Query Language)
Model hipertekstu
- Najważniejszy model metodologii WebML
- Modeluje nawigację użytkownika w sieci.
- Model hipertekstowy składa się z 2 modeli: modelu kompozycji i modelu nawigacyjnego.
Model składu
Celem modelowania kompozycji jest określenie, które węzły składają się na hipertekst zawarty w serwisie WWW. Dokładniej, modelowanie kompozycji określa jednostki treści (w skrócie jednostki), tj. niepodzielne elementy informacji, które mogą pojawić się w witrynie internetowej, oraz strony, tj. kontenery, za pomocą których informacje są faktycznie grupowane w celu dostarczenia ich użytkownikowi. W konkretnym ustawieniu, np. implementacji HTML lub WML witryny WebML, strony i jednostki są odwzorowywane na odpowiednie konstrukcje w języku dostarczania, np. jednostki mogą być odwzorowywane na pliki HTML, a strony na ramki HTML porządkujące takie pliki na ekranie.
WebML obsługuje sześć typów jednostek do tworzenia hipertekstu:
- Jednostki danych (pokazują informacje o pojedynczym obiekcie).
- Jednostki wielu danych (pokazują informacje o zbiorze obiektów).
- Indeks jednostek (pokazuje listę obiektów bez przedstawiania szczegółowych informacji o każdym obiekcie).
- Jednostki przewijania (pokaż polecenia dostępu do elementów uporządkowanego zestawu obiektów).
- Filtruj jednostki (pokazuje pola edycyjne do wprowadzania wartości służących do wyszukiwania w zbiorze obiektów tych, które spełniają warunek).
- Jednostki bezpośrednie (nie wyświetlają informacji, ale służą do oznaczenia połączenia z pojedynczym obiektem, który jest semantycznie powiązany z innym obiektem).
Elementy
- Jednostka danych
- Jednostka MultiData
- Jednostka indeksu
- Jednostka indeksu wielokrotnego wyboru
- Jednostka hierarchiczna
- Jednostka przewijania
- Jednostka wejściowa
Jednostki i strony nie istnieją w odosobnieniu, ale muszą być połączone, aby utworzyć strukturę hipertekstową. Celem modelowania nawigacji jest określenie sposobu, w jaki jednostki i strony są połączone w celu utworzenia hipertekstu. W tym celu WebML udostępnia pojęcie łącza. Istnieją dwa warianty linków:
- Linki kontekstowe (łączą jednostki w sposób spójny z semantyką wyrażoną przez schemat struktury aplikacji. Przenoszą pewne informacje (nazywane kontekstem) z jednostki źródłowej do jednostki docelowej. Kontekst służy do określenia rzeczywistego obiektu lub zestawu obiektów do pokazany w jednostce docelowej).
- Linki niekontekstowe (łączą strony w sposób całkowicie dowolny, tj. niezależnie od zawartych w nich jednostek i relacji semantycznych między pojęciami strukturalnymi zawartymi w tych jednostkach. Składniowo linki kontekstowe i pozakontekstowe są oznaczane przez element INFOLINK i HIPERŁĄCZE) , odpowiednio zagnieżdżone w jednostkach i stronach).
Elementy
- strony internetowe
- Linki między stronami
- kontekst
- bez kontekstu
Model personalizacji
Personalizacja to określenie treści lub stylu prezentacji na podstawie danych profilu użytkownika. W WebML jednostki, strony, ich style prezentacji i widoki witryn można zdefiniować w taki sposób, aby uwzględnić dane specyficzne dla użytkownika lub grupy. Można to zrobić na dwa uzupełniające się sposoby:
- Personalizacja deklaratywna: projektant definiuje pojęcia pochodne (np. byty, atrybuty, komponenty wielowartościowe), których definicja zależy od danych specyficznych dla użytkownika. W ten sposób dostosowywanie jest określane deklaratywnie; system uzupełnia informacje odnoszące się do każdego użytkownika podczas obliczania zawartości jednostek.
- Personalizacja procedur: WebML zawiera składnię XML do pisania reguł biznesowych, które obliczają i przechowują informacje specyficzne dla użytkownika. Reguła biznesowa to potrójne zdarzenie-warunek-akcja, które określa zdarzenie, które ma być monitorowane, warunek wstępny, który należy sprawdzić, gdy zdarzenie wystąpi, oraz akcję, która ma zostać podjęta, gdy warunek zostanie spełniony. Typowe zadania realizowane przez reguły biznesowe to przypisywanie użytkowników do grup użytkowników na podstawie dynamicznie gromadzonych informacji, powiadamianie użytkowników o komunikatach o aktualizacji bazy informacji (technologia push), logowanie działań użytkownika do struktur danych specyficznych dla użytkownika, i tak dalej.
Model prezentacyjny
Modelowanie prezentacji dotyczy rzeczywistego wyglądu i stylu stron zidentyfikowanych przez modelowanie kompozycji. Strony WebML są renderowane zgodnie z arkuszem stylów. Arkusz stylów dyktuje układ stron i elementy treści, które mają zostać wstawione do takiego układu, i jest niezależny od rzeczywistego języka używanego do renderowania strony. W celu lepszego ponownego wykorzystania dostępne są dwie kategorie arkuszy stylów: arkusze stylów bez typów (zwane także modelami) opisują układ strony niezależnie od jej zawartości, dzięki czemu mogą być stosowane niezależnie od mapowania strony do danej koncepcji; wpisane arkusze stylów są określone z większą szczegółowością i dlatego mają zastosowanie tylko do stron opisujących określone pojęcia.
Inne możliwości
- Język modelowania przepływu interakcji ( IFML )
- Inżynieria internetowa oparta na UML (UWE)
- HDM
- RMM
- EORM
- OOHDM
- WSDM
- krzyżak
- OO-H
- UML WAE
- Hera
Zobacz też
Dalsza lektura
- Stefano Ceri; Piero Fraternali i A. Bongio (maj 2000). „Język modelowania sieci (WebML): język modelowania do projektowania witryn sieci Web”. Materiały z 9. Międzynarodowej Konferencji World Wide Web, Amsterdam, 2000 .
- Stefano Ceri; Piero Fraternali; Aldo Bongio; Marco Brambilla; Sara Comai; Maristella Matera (2002). Projektowanie aplikacji internetowych intensywnie korzystających z danych . Morgana Kaufmanna. ISBN 978-1-55860-843-6 .
- S. Ceri; M. Brambilla; P. Fraternali (2009), „Historia lekcji WebML wyciągniętych z 10 lat rozwoju aplikacji internetowych opartych na modelach”, Modelowanie koncepcyjne: podstawy i aplikacje, Eseje na cześć Johna Mylopoulosa , Springer LNCS, seria Festschrift, tom. 5600, s. 273–292
- Luciano Baresiego; Piero Fraternali; Massimo Tisi i Sandro Morasca. „W kierunku testowania opartego na modelach generatora aplikacji internetowych” . W Martin Gaedke (red.). Web Engineering: 5th International Conference, ICWE 2005, Sydney, Australia .
- Berthold Daum i Udo Merten (2003). „Hypermedia”. Architektura systemu z XML . Morgana Kaufmanna. s. 267–302. ISBN 978-1-55860-745-3 .
- M. Brambilla; S. Ceri; S. Comai i P. Fraternali (2006). „Narzędzie CASE do modelowania i automatycznego generowania aplikacji obsługujących usługi sieciowe” . International Journal of Web Engineering and Technology . 2 (4): 354–372. CiteSeerX 10.1.1.108.1107 . doi : 10.1504/IJWET.2006.010420 .