WebML 11 02 2008 - Uni Trier · alle in Ihrem Kernfeld arbeiten. 7 Überblick ... - Namen von...
Transcript of WebML 11 02 2008 - Uni Trier · alle in Ihrem Kernfeld arbeiten. 7 Überblick ... - Namen von...
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