WebML 11 02 2008 - Uni Trier · alle in Ihrem Kernfeld arbeiten. 7 Überblick ... - Namen von...

Preview:

Citation preview

11

Web Engineering-Seminar

Marcus HerzJens Hickmann

Web Modelling Language

22

Gliederung

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

33

Überblick

Derzeitiger Stand:

- Hoher Aufwand für Prototypen

- Es fehlt ein modelgetriebener Ansatz für datenintensive Webanwendungen

- Im Web-Engineering wird viel Code handgeschrieben

- Software Entwicklungstechniken und –modelle aus anderen Bereichen werden herangezogen

44

Überblick

Personalisierung wird immer wichtiger

Es kann individuell auf Kunden eingegangen werden, da die Kosten durch den Einsatz von IK-Technologien gesunken sind

Amazon.de sei als Beispiel genannt

Ausgabe auf unterschiedlichen Geräten wird gefordert, z.B. durch das Aufkommen von Breitbandmobilfunknetzen

� Alles führt zu massiver Erhöhung der Komplexität!

55

Überblick

Die Komplexitätserhöhung hat Auswirkung auf die Kosten für:

- Erstellung und- Pflege/Weiterentwicklung der Site

� Dieser Kostendruck forciert die Anwendung von Entwicklungstools im Web-Engineering, da man die Anforderungen sonst nicht zeitnah erfüllen kann.

66

Überblick

IT-Spezialisten sollten sich der Optimierung und Performancesteigerung widmen und nicht mit Design „belastet“ werden.

Designer sind Fachleute für „Kunst“ & Design und tragen dadurch in Web-Projekten zu einer höheren Frequentierung durch die Nutzer bei.

Wird das Abstraktionsniveau erhöht, und durch geeignete Modelle eine Umgebung geschaffen in der es möglich ist optimierte Strukturen benutzergerecht zu designen, können alle in Ihrem Kernfeld arbeiten.

77

Überblick

Die Einführung eines modellgetriebenen Ansatzes:

- kann Zeit und Geld sparen- strukturiert den Entwicklungsprozess- ist selbst-dokumentierend, da im Modell gearbeitet wird- ermöglicht unmittelbares Prototyping

88

Überblick

Anforderungen an Web Modellierung:

Ausdrucksstärke: Fälle aus dem wahren Leben müssen abbildbar sein und Templates sollten gespeichert werden können

Leicht zu handhaben: Intuitiv sollte sie sein, mit einer klaren Semantik und über Konsistenzprüfungen verfügen

Leicht zu implementieren: Das Überführen des Modells in physische Datenstrukturen sollte effizient ablaufen und Code sich flexibel generieren lassen

99

Gliederung

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

1010

Einleitung

Warum WebML:

Alle Facetten des Web-Engineering sind abgedeckt

WebML bietet einen strukturierten Ansatz zur Entwicklung datenintensiver Webapplikationen

Integrierte Modelle für das Vorgehen, Datenstruktur, Navigation, Datenhaltung, Benutzergruppen und Präsentation

1111

Einleitung

Wann sollte man WebML nicht einsetzen:

Ganz klar, bei statischen und kleinen Sites

Der Umfang von WebML ist hierfür ungeeignet und zielt konkret auf dynamische Sites mit hohem Datenvolumen ab.

1212

Einleitung

1313

Modelle der WebML

Inhalte von WebML:- Iteratives Vorgehensmodell

- Datenmodell

- Hypertextmodell- Navigationsmodell- Kompositionsmodell

- Content-Management-Modell

- Benutzermodell

- Präsentationsmodell

1414

Modelle der WebML

Iteratives Vorgehensmodell

1515

Gliederung

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

1616

Modelle der WebML

Iteratives Vorgehensmodell wird für Entwicklungen mit WebML empfohlen:

1. Anforderungsananlyse: Ziel- und Anforderungsdefinition der Web-Anwendung, Zielgruppe, Personalisierungen ermitteln

2. Datenmodellentwurf: Überführung der gewonnen Informationen in ein Datenmodell für die Web-Applikation

3. Hypertextentwurf (grob): Festlegung welche Pages mit welchen Units und Links bestückt werden.

1717

Modelle der WebML

Iteratives Vorgehensmodell wird für Entwicklungen mit WebML empfohlen:

4. Hypertextentwurf (fein): Detaillierte Betrachtung der einzelnen Seiten, Units und Links

5. Präsentationsmodell: Festlegung des Layout der Seite

6. Benutzer- und Gruppenentwurf: Festlegung der Eigenschaften der einzelnen Benutzergruppen und ggf. Site views für einzelne Gruppen

7. Personalisierungsentwurf: Verbindung der Benutzerprofile mit verbundenen Varianten der Webseite

1818

Gliederung

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

1919

Modelle der WebML

Datenmodell

Bei der Erstellung des Datenmodells ist WebML sehr offen und einfach für den Nutzer.

Es ist der ER-Modellierung und der UML Klassendiagramm Notation sehr ähnlich.

Daher können Entwickler bei der Erstellung ihres Datenmodells bei ihrer favorisierten Methode bleiben und werden nicht in ein vorgegebenes Konzept gezwungen.

2020

Modelle der WebML

Datenmodell Komponenten:

- Entitäten- Attribute- Relationen - IS-A Hierarchien

2121

Modelle der WebML

Entitäten und AttributeEntität mit möglichen Attributen

Buch

2222

Modelle der WebML

RelationenRelation zwischen zwei Entitäten

Autor

Name: M. EndeWohnort: KölnPLZ: 50441

Buch

1985Momo 1 1

2323

Modelle der WebML

IS-A-HierarchieGeneralisierung: Thriller und Drama sind spezielle Typen von Novelle

Buch

Novelle

Thriller Drama

Biographie

Buch

Buch_IdTitelJahr

Autor

A_IdVornameNachname

User

User-IdLnamePasswort

1

N

1

1ausgeliehen

User-IdBuch_IdRück_Datum

1

1

Belletristik

Untertitel

Sachbuch

Thematik

Datenmodell

24

2525

Gliederung

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

26

Hypertextmodell

- Der Kern von WebML

- Das Hypertextmodell spezifiziert, wie Benutzer durch den Inhalt ein Web-Anwendung navigieren und auf die Informationen zugreifen können

- Das Hypertextmodell besteht aus zwei Submodellen, dem Navigationsmodell und dem Kompositionsmodell

26

2727

Kompositionsmodell

- Im Kompositionsmodell werden die Webseiten (Pages) und deren Inhalte (Units) zusammengesetzt.

- Hier wird die eigentliche Seitenstruktur festgelegt

Units:

- Units stellen die atomaren Bausteine im Hypertextmodell dar

- Sie sind Bestandteile aus denen sich eine Seite zusammensetzt

- Im wesentlichen fünf grundlegende Typen von Units

28

Kompositionsmodell

29

Grundlegendes Aussehen einer Unit:

[Selector]

- Repräsentieren Instanzen/Objekte von Entitäten des Datenmodells

- Source: bezeichnet die zugrunde liegende Entität- Selector: Bedingung zur konkreten Auswahl der darzustellenden

Objekte

Source

Name

Symbol

Kompositionsmodell

Data-Unit:

Repräsentieren eine einzelne Instanz einer Entität aus dem Datenmodell

30

Kompositionsmodell

Multi-Data-Unit:

Repräsentieren mehrere Instanzen einer Entität aus dem Datenmodell

31

Kompositionsmodell

Index-Unit:

Eine Index Unit zeigt die Informationen aus einem Object-Set in Form einer Liste an. Die Spezifikation verlangt nach

- einem Container für die Instanzen, welche dargestellt werden sollen (z.B. eine Data Unit oder Multi Data Unit)

- den Attributen nach denen gefiltert werden soll

32

Kompositionsmodell

Hierarchical-Index-Unit:

Eine hierarchische Index Unit zeigt mehr Informationen aus einemObject-Set in Form einer Liste an. Beispielsweise die

- Namen von Autoren und - deren veröffentlichte Bücher.Verknüpft mit Entry Units lassen sich gefilterte Index Units bilden

33

Kompositionsmodell

hierarchicalindex unit

Scroller-Unit:

Per Scroller Unit navigiert man durch die Datenbank bzw. das Object Set. Es wird meist mit einer Data Unit eingesetzt, um dem Benutzer den aktuellen Datensatz aufzuzeigen.

34

Kompositionsmodell

Scroller-Unit:

35

M. Ende

Autoren

AutorScroll

Autoren

Kompositionsmodell

36

F. Kafka

Autoren

AutorScroll

Autoren

Kompositionsmodell

Scroller-Unit:

Entry-Unit:

Entry Units ermöglichen die Dateneingabe durch Benutzer und können Datentypen spezifizieren und Gültigkeitsprüfungen enthalten

37

Entry unit

Kompositionsmodell

Pages:

- Pages dienen der Gruppierung von Units

- Entspricht einer Webseite auf Präsentationsebene

- Enthält jedoch keine Informationen über das Layout

Kompositionsmodell

38

39

Pages:

Autor-Page

Autor

M. Ende Alle_Bücher

Buch

Kompositionsmodell

40

- Das Navigationsmodell legt fest, auf welche Weise die Einheiten und Seiten verbunden sind

- Dienen der Navigation innerhalb der Web-Anwendung sowie dem Transfer von Informationen von einer Unit zu anderen.

- Beides wird durch Links realisiert

40

Navigationsmodell

Kontextabhängiger intra-page Link:

Dies ist ein kontextabhängiger intra-page Link. Kontextabhängig, da er Parameter mitbekommt um den ausgewählten Autor detailliert anzuzeigen, intra-page, da nicht auf eine andere Seite navigiert wird sondern der Inhalt dieser Seite geändert wird.

41

Alle Autoren

Autoren

M. Ende

Autoren

Autor:A_ID

Navigationsmodell

Autor-Page

Automatisierter Link:

Dies ist der gleiche Link wie zuvor, jedoch als automatisierter Link. Das bedeutet, dass beim ersten Seitenaufruf sofort die Details des ersten Autors angezeigt werden und nicht zuerst ein Autor durch den Benutzer ausgewählt werden muss.

42

Alle Autoren

Autoren

M. Ende

Autoren

A

Navigationsmodell

Autor-Page

Kontextfreier inter-page Link:

Dies ist ein kontextfreier inter-page Link. Kontextfrei, da er keinen Parameter mitbekommt sondern einfach auf eine andere Seite navigiert (hier zu Sachbüchern, möglich wäre auch zur Startseite kontextfrei zu navigieren).

43

Alle Bell.b.

Buch

Alle Sachb.

Belletristik-Page Sachbücher-Page

Buch

Navigationsmodell

44

Transport Link:

Dies ist ein Transport Link, er gibt hier die Autorinformation an die Index Unit weiter, um dort alle Bücher dieses Autors anzeigen zu können.

Autor-Page

Autor

M. Ende Alle_Bücher

Buch

Navigationsmodell

Startseite

45

Global-Parameters:

Dies ist ein Transport Link eingesetzt um globale Parameter zu setzen auf die später zugegriffen werden kann, z. B. zum Setzen von Spracheinstellungen oder beim navigieren in geschützte Bereiche. Das „get“ funktioniert umgekehrt.

Hypertextmodell

SprachIndex setSprach_Id

Autoren

Alle_Autoren

Autor

currLg

currLg:Sprach_Id

Sprachen

Siteview + Area:

Siteview:- umfasst ein Hypertext-Modul, das als solches einem

Benutzer bzw. einer Benutzergruppe zugänglich ist

- enthalten Areas und verlinkte Pages

- Geschützte und öffentliche Siteviews

Area:- Dienen zur besseren Strukturierung von Webanwendung

und können wiederum Sub-Areas enthalten

Hypertextmodell

46

47

Autoren Autor

Kontakt Öffnungszeit

Allgemeine_Infos

Autor_Index

Autor

M. EndeKurzinfo

Alle_Bücher

Buch

Alle_Autoren

Autor Autor

M. Ende

Bibliothek

Hypertextmodell

Homepage, Landmark + Default Page:

Homepage:- Bezeichnet eine applikationsweit eindeutige Page, welche

beim erstmaligen Aufruf der Applikation oder nach dem Login eines Users angezeigt wird

Landmarks:- Bezeichnen Pages oder Areas, die von jeder anderen Page

aus erreichbar sind

Default-Page:- Legt fest, welche Page beim Betreten einer Area zuerst

angezeigt wird

48

Hypertextmodell

49

Autoren Autor

Kontakt Öffnungszeit

H

Allgemeine_Infos

Autor_Index

Autor

M. EndeKurzinfo

Alle_Bücher

Buch

Alle_Autoren

Autor

L

Autor

M. Ende

D

Bibliothek

Hypertextmodell

5050

Gliederung

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

− Ermöglicht Operationen, die Effekte auf die Datenbasis haben; dargestellt durch Operation Units− z.B. zur Eingabe, Speicherung und Änderung von Benutzerdaten

− Operation Units:− Vordefinierte und generische Units− Operation Units können mehrere eingehende Links haben

− Operation Units haben immer zwei ausgehende Links: OK- und KO-Link

51

Content-Management-Modell

52

Create User:

Entry unit

User Entry Page Result Page

User

OK

KO

User_Entry

<ID := User-ID>

<LastName := Lname>

Create_UserM. Muster

Content-Management-Modell

53

Delete User:

User Page

OK

KO

Alle_User

User

User

Delete_User

Content-Management-Modell

54

User Page Result Page

User_dataOK

KO

User

Mod_User

Entry unitUser Entry

User_data

<LastName := Lname>

Content-Management-Modell

Modify User:

55

Autor-Page Buch-Page

OK

KO

Autor Buch

M. EndeMomoConAutBuc

<M. Ende>

<Momo>

AutortoBuch

Content-Management-Modell

Connect Unit:

56

Autor-Page Buch-Page

OK

KO

Autor Buch<M. Ende>

<Mama>

M. EndeMamaDisAutBuc

AutortoBuch

Disconnect Unit:

Content-Management-Modell

5757

Gliederung

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

− Gestattet es verschiedene Benutzergruppen anzulegen

− Je nach Wunsch eine andere Webdarstellung für die einzelnen Benutzergruppen

− Personalisierung− Login + Logout− Anpassung von Webinhalten an den Benutzer durch deklarative +

prozedurale Personalisierung

58

Benutzermodell

59

Benutzergruppen:

• WebML unterstützt die Verwendung geschützter Siteviews für Benutzergruppen

• Dazu muss das folgende Schema im Datenmodell enthalten sein:

Benutzermodell

60

Autoren Autor

Kontakt Öffnungszeit

H

Allgemeine_Infos

Autor_Index

Autor

M. EndeKurzinfo

Alle_Bücher

Buch

Alle_Autoren

Autor

L

Autor

M. Ende

D

Bibliothek

Dienstplan Zeitkonto

Mitarbeiter_Infos

D

Nur für Mitarbeiter sichtbar

Benutzermodell

6161

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

Gliederung

62

Präsentationsmodell

- Beschreibt das Design der Webseite

- WebML bietet kein eigenes Präsentationsmodell

- Layoutbeschreibung wird mittels Style Sheets in WebRatiodurchgeführt

62

6363

Gliederung

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

64

Web-Ratio

- Modellierungswerkzeug welches auf WebML aufbaut

- Automatische Generierung von Webseiten aus der XML Repräsentation der Modelle

64

6565

Gliederung

1. Einführung- Überblick- Einleitung

2. Modelle der WebML- Vorgehensmodell- Datenmodell- Hypertextmodell

- Kompositionsmodell- Navigationsmodell

- Content-Management-Modell- Benutzermodell- Präsentationsmodell

3. WebRatio4. Fazit

6666

Fazit

Vorteile:

- Mit WebRatio existiert ein Programm, mit dem direkt lauffähiger Code generiert werden kann

- Alle Modelltypen in WebML können durch XML Dateien beschrieben werden

67

Fazit

- verständliche Notation

- gut dokumentiert

- es existiert ein Vorgehensmodell

67

68

Fazit

Nachteile:

- WebRatio ist sehr komplex, so dass es eine lange Einarbeitungszeit benötigt, um effizient damit umzugehen

- Bei statischen Web Seiten nicht sinnvoll einsetzbar

- WebML definiert kein eigenes Präsentationsmodell

68

69

Fazit

69

70

Fazit

Abschließende Bewertung

- WebML bietet einen strukturierten Ansatz zur Modellierung datenintensiver Web-Anwendungen

- gut geeignet für datenintensive Webanwendungen

- gut geeignet für personalisierte, navigationsintensive Web-Anwendungen

70

71

Fazit

- ungeeignet für statische Web-Seiten

- ungeeignet für präsentationsintensive Web-Anwendungen

� daher sind wir der Meinung, dass WebML durchaus praxistauglich ist und würden es auch für Web-Anwendungen, die sehr umfangreich sind einsetzen

71

7272

Vielen Dank für Ihre Aufmerksamkeit!

Marcus HerzJens Hickmann

Fragen und Diskussionzum Thema WebML

Recommended