Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | Nächste Überarbeitung Beide Seiten der Revision | ||
se:datenbankentwicklung [2008-09-14 16:57] stefan |
se:datenbankentwicklung [2008-09-14 18:24] stefan |
||
---|---|---|---|
Zeile 347: | Zeile 347: | ||
===== Web ===== | ===== Web ===== | ||
+ | * Voraussetzung: Database Access Descriptor (DAD) vorhanden | ||
+ | * erzeugen mit DBA-Rechten | ||
+ | * ''DBMS_EPG.create_dad (dad_name => 'systemdad', path => '/systemdad/*');'' | ||
+ | * HTML-Ausgabe über HTP-/HTF-Package | ||
+ | * Vorteile: Aufbau auf PL/SQL, integriert SQL und HTML, kein zusätzliches Konfigurationsmanagement | ||
+ | * Webapplikationen werden als Packages erstellt | ||
+ | * HTML-Erzeugung mit PL/SQL Web Toolkit -> HTP/HTF | ||
+ | * GET vs. POST | ||
+ | * gut für Debugging, Programmstruktur wird offenbart, Bookmarks möglich, begrenzte Länge der URL | ||
+ | * mehrere Parameter (Array): ''OWA_UTIL.ident_arr'' (beginnt bei Index 2) | ||
+ | * Arbeitsweise: Requests kommen anonym auf dem Server an -> Server liefert Seite aus | ||
+ | * Kein Session-Konzept, kein Benutzerlogging | ||
+ | * Designschritte | ||
+ | * {{:se:designschritte.jpg|}} | ||
+ | * Application Design | ||
+ | * High Level Storyboard: Screens und Navigation (Site Map) | ||
+ | * Detailed Storyboard | ||
+ | * Alle Elemente, auf die der Benutzer klicken kann | ||
+ | * Nicht alle Datenfelder, nur soviel um die ausgeführte Aktion erkennen zu können | ||
+ | * Jeder Ausgang aus einer Seite wird mit einem Pfeil mit dem resultierenden Screen verbunden | ||
+ | * Application Flow Diagram: Welche Daten werden zwischen den Seiten ausgetauscht (abwechselnd Procedure/Screen) | ||
+ | * Updates stellen aufgrund des fehlenden Sessionmanagements ein Problem dar (alte Daten müssen mit übergeben werden, um herauszufinden, ob jemand anderes die Daten in der Zwischenzeit bearbeitet hat) | ||
+ | * Skeletons für Procedures/Functions mit den ermittelten Parametern erzeugen | ||
+ | * Page Design | ||
+ | * Beispielseiten erstellen, Fokus auf Layout -> Designer machen lassen | ||
+ | * Übliche Tipps: kein Splashscreen, Browsertests, wenige Grafiken, Web Standards, Formularelemente zur Einschränkung der Benutzereingaben, kontrastreicher Text | ||
+ | * Conversion | ||
+ | * WebAlchemy, html2plsql -> statische Seiten | ||
+ | * Business Logic | ||
+ | * die statischen Seiten mit "echter" Logik versehen | ||
+ | * Modularization | ||
+ | * Trennung von HTML-Ausgabe und Logik | ||
+ | * Header-/Footer-Procedures etc. | ||
+ | * eigene projektübergreifende Webkomponenten erzeugen | ||
===== Modellierung ===== | ===== Modellierung ===== |