Oracle WebDB Vortrag im Rahmen des Oberseminar von Matthias Kost [email protected] Inhalt: • 1. Philosophie von Oracle WebDB • 2. Nutzung als Datenbankinterface – – – – – – 2.1 Datenbankobjekte 2.2 Komponenten 2.3 Austauschbare Komponenten 2.4 Aufbau einer Applikation 2.5 Vor- und Nachteile, Einsatzgebiete kleine Präsentation am Rechner Inhalt: • 3. Erstellung von Webseiten – – – – – 3.1 Grundlagen zu WebDB-Webseiten 3.2 Struktur 3.3 Arbeiten mit WebDB 3.4 Vor- und Nachteile, Einsatzgebiete Präsentation am Rechner • 4. Fazit 1. Philosophie von WebDB • Liefert HTML-basierende Interfaces zu Datenbanken und Webseiten • Erzeugung, Verwaltung und Benutzung von WebDB Objekten erfolgt nur über einen Webbrowser keine weiteren Programme sind notwendig Zugriff von allen Internetterminals möglich • komfortable Zugiffsrechte für Einzelnutzer und Benutzergruppen • Monitoring für Nutzer und Datenbankenaktivitäten 2. Nutzung als Datenbankinterface 2.1 Datenbankobjekte • Mit WebDB können folgende Datenbankobjekte erstellt werden: • • • • • • • • • Funktionen Indexe Packages Prozeduren Sequenzen Synonyme Tabellen Trigger Ansichten 2.1 Datenbankobjekte • Funktionen: PL/SQL-Programme, die eine Folge von Aktionen ausführen und einen Wert zurückliefern • Index: Struktur, die mit Tabelle assoziert wird, um Zeilen schnell zu finden bzw. (optional) um zu garantieren, dass keine Zeile doppelt vorkommt • Paket: besteht aus Spezifikation und Körper. Spezifikation definiert Funktionen und Prozeduren, auf die mit anderen Programmteilen zugegriffen werden kann. Körper enthält Implementation des Paketes. 2.1 Datenbankobjekte • Prozedur: PL/SQL-Unterprogramm, welches aber keinen Funktionswert zurückliefert. • Sequenz: Datenbankobjekt zur automatischen Generierung von Nummern für Tabellenspalten (z.B. ID als Primary Key) • Synonym: Zweitname für Tabellen, Ansichten und andere Datenbankobjekte. Diese können unter diesem Namen dann auch angesprochen werden. 2.1 Datenbankobjekte • Tabelle: typische Tabelle in einer Datenbank • Trigger: Prozedur, welche mit einer Tabelle assoziiert wird und vor bzw. nach einer oder mehreren spezifizierten Aktionen automatisch ausgeführt wird (z.B. Normalisierung von Werten) • View: virtuelle Tabelle, deren Einträge so nicht in der Datenbank existieren, die aber auf einer Tabelle der Datenbank basieren 2.2 Komponenten • Um mit Datenbankobjekten arbeiten zu können existieren sogenannte Komponenten: • • • • • • • • Formulare Menüs Frame Driver Dynamische Seiten Reports Charts Kalender Hierarchien 2.2 Komponenten • Formulare: liefern Interface zu einer oder mehrerer Tabellen, Prozeduren und View • Menüs: zur Navigation durch WebDBKomponenten URLs oder Untermenüs • Frame Drivers: Webseite mit 2 Frames. Eines für SQL-Abfrage, welche den Inhalt des zweiten Frames steuert. • Dynamische Seiten: Webseiten, die auf PL/SQL basieren und bei jedem Aufruf dynamisch generiert werden 2.2 Komponenten • Reports: Darstellung einer SQL-Anfrage in Tabellenform • Charts: Darstellung einer SQL-Anfrage als Balkendiagramm • Kalender: Darstellung einer SQL-Anfrage in kalendarischer Form (mind. 1 Spalte Datumstyp) • Hierarchien: Darstellung von Daten aus einer selbstreferenzierenden Tabelle, View als Baum (z.B. Mitarbeiterstruktur eines Betriebes, hierarchische Verbindung zwischen Menüs einer Webseite) 2.3 Austauschbare Komponenten • Zur Anpassung von Komponenten an die eigenen Wünsche. • Diese Komponenten brauchen nur einmal definiert zu werden und können komponentenübergreifend genutzt werden. Es existieren: • • • • • • • Farben Schriftarten Bilder JavaScript Links Liste von Werten Benutzer Interface Templates 2.3 Austauschbare Komponenten • Farben: setzen der Hintergrundfarbe und anderer Komponenten (z.B. Report Überschriften, Balkenfarben bei Charts) • Schriftarten: setzen, die in Komponenten auftreten (z.B. Label, Überschriften) • Bilder: hinzufügen von Grafiken zu Komponenten oder deren Hintergrund • JavaScript: um z.B. Formulareingaben zu überprüfen oder umzukonvertieren 2.3 Austauschbare Komponenten • Link: Hypertextlink zwischen Komponenten (z.B. Details zu Chartsbalken) • Liste von Werten: Auswahlliste mit bestimmten Werten in Form eines Pull-Down-Menüs oder Radioboxen • Benutzer Interface Templates: setzen des “look and feel” einer Seite/Komponente (es existieren auch schon viele vorgefertigte) 2.4 Applikationen Komponeten müssen zu Applikation zusammengefügt werden Aufbau einer oder mehrerer Webseiten mit Menüs, Untermenüs und Links Applikation ist entstanden 2.4 Applikationen Alle Teile einer Applikation bzw. die Applikation selbst können Zugriffsrechte für Nutzer oder Nutzergruppen (“roles” z.B. Abteilung in einem Betrieb) erhalten. Oder sie können public sein. Ausserdem gibt es Zugriffsrechte für die Erstellung von Teilen der Applikation. 2.5 Vorteile von WebDB • Keine gesonderte Datenbankoberfläche notwendig • Keine Installation auf Clientrechner ausser Browser nötig (spart evtl. Festplattenplatz) • Verwaltung und Nutzung der DB von allen Rechnern mit Internetanschluss möglich • Evtl. schnelleres Erstellen von Applikationen als von Hand 2.5 Nachteile von WebDB • Gute Verbindung zum Server notwendig, sonst langsames arbeiten • Weniger Möglichkeiten als in herkömmlichen DBS - viele Wünsche bleiben noch offen • Applikation nicht stark genug an eigene Wünsche anpassbar 2.5 Einsatzmöglichkeiten • Wenn man DB-Zugriff von verschiedenen Orten auch braucht (z.B. Messen) • Benutzung von kostengünstigen Terminals mit Webbrowser (z.B. Infoterminals) • Alles andere lässt sich mit herkömmlichen DBS genau so gut bzw. besser lösen 3. Erstellung von Webseiten 3.1 Grundlagen • Webseiten werden in Datenbank gespeichert • Seiten werden installiert (Sprache und Tablespace müssen angegeben werden) • 2 URLs werden eingerichtet: • public - für öffentlichen Zugriff • admin - für Seitenadministrator, der Seite bearbeiten und verwalten kann • zum Ansehen und Verändern werden nur die URLs benötigt 3.2 Struktur der Webseiten • folder - Webseite mit Zugriffsrechten (own,view,style,manage item,create with approval) • catagory - Teilkatagorie in der Webseite (z.B. News) • item - Element einer Webseite (Link, Bild, Text, PL/SQL-Call, WebDB-Komponente) • perspective - folder und category übergreifende Gruppierung von Items 3.3 Arbeiten mit WebDB 1. Site: • Site Kontakt • einige Zugriffsrechte festlegen • Daten zu Log-Files (z.B. Dauer) • Logo-Bild auswählen • Dauer für News alte Files festlegen sowie Archivierung • Text für catagory, perspective, Log-on, Log-off festlegen 3.3 Arbeiten mit WebDB 2. Style: • Banner: Grössen, Farben, Fonts • Inhalt: Zugriff, Folder-Pfad An-Aus, Font, Farben, Hintergrundbild auswählen • Navigation-Bar: Fonts, Farben, Hintergrundbild, Breite, Position von Log-in,Suchfeld und AdminLink 3.3 Arbeiten mit WebDB 3. Folder: • Folder und Subfolder anlegen, löschen oder umbewegen • Subfolderreihenfolge festlegen • Freigabe für public • Titel der Webseite angeben • Style und Titelbild auswählen • Benutzer- und Gruppenzugriffsverwaltung für Folder festlegen 3.3 Arbeiten mit WebDB 4. Category: • Category erschaffen 5. Perspective • Perspektiven erschaffen und Icon zuweisen 6. Item • Item erschaffen: Text, File, URL, WebDBKomponente, Folder-Link 3.3 Arbeiten mit WebDB 7. Group • Gruppen generieren • User hinzufügen und löschen • Gruppenadmin setzen 8. User • User generieren und Passwort vergeben • Rechte setzen (Site, Style, News) • Persönliche Informationen eintragen • zu Gruppen hinzufügen oder entfernen 3.3 Arbeiten mit WebDB 9. Privilege • Tabellarische Auflistung aller User und ihrer Rechte • Privilegien für jeder User konfigurierbar (Site, Style, News) 10. Personal Information • nochmals persönliche Informationen für User setzen 3.3 Arbeiten mit WebDB 11. Site Statistics • Zugriffe auf Folder als Statistik • Anzahl der Suchanfragen • Folder Informationen: Creation, Updates, Items, Hits, Owner (alles History-Statistiken) • Item Info: Create, Update, Type, Expire Date, Marked for Delete • Zugriffsstatistiken: 1. Gruppen und Userzugriffe 2. Folder: Owner, Rechte 3.3 Arbeiten mit WebDB 12. Search • Suchbox einfügen • Suchbox konfigurieren: • • • • • • Anzahl Zeichen im Suchfeld max. Anzahl Zeichen des Suchfeldes Hits pro Seite Timeout der Suchmaschine Proxies Suchtext highlighten zur besseren Übersicht 3.3 Vorteile • Verwaltung von allen Rechnern mit Internetzugang möglich • gute Vergabe von Zugriffsrechten zum Aufbau diverser Gruppen 3.3 Nachteile • Bei schlechter Verbindung langsames Arbeiten • Starrer Aufbau der Seiten • Wesentlich weniger Möglichkeiten als in normalem Webseiteneditor • Nur begrenzte Nutzbarkeit 3.3 Einsatzgebiete • Als Informationssystem • Infoserver einer Firma 4. Fazit • Einziger richtiger Vorteil ist Erreichbarkeit über das Internet • Sonst oft zu unflexibel, so dass andere Lösungen mehr leisten • Viele z.T. schwerwiegende Bugs vorhanden • Unklare Fehlermeldungen • Handbuch bzw. Onlinehilfe lässt teilweise noch Fragen offen • Bis auf spezielle Anwendungen ist andere Software wohl zur Zeit noch besser geeignet Oracle WebDB Vortrag im Rahmen des Oberseminar von Matthias Kost [email protected]