Technologische Grundlagen des Web Warehousing Juraj Kosmal [email protected] Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Präsentationsinhalt Internet / Internetservices Webkomponente Datenbankzugang übers Web Architektur und Kapazität eines Web Warehouse Systems Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Internet und Internetservices Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Internet Topologie TCP/IP Protokoll Internetadressierung Uniform Resource Locator (URL) Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Internetservices World Wide Web (WWW) serverseitige Architektur Client schickt ein Request, Server verarbeitet ihn und schickt die Antwort zurück (zB HTML) File Transfer Protocol (FTP) Bewegung in der Verzeichnisstruktur Kopieren von Daten Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Internetservices Gopher Menüführung von einer Seite zur nächsten Wide Area Information Service (WAIS) ermöglicht eine Dokumentensuche Telnet ermöglicht eine Fernsteuerung des Computers Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Internetservices Internet Relay Chat (IRC) ermöglicht die Führung einer Realzeitkommunikation Mail ermöglicht den Korrespondezaustausch [email protected] Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Webkomponente Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Webkomponente HTML MIME Typen Zustandslosigkeit Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 HTML erlaubt, eine Sache auf verschiedensten Computern gleich zu sehen dynamische Bewegung zwischen Seiten mittels Hypertext nicht nur Text, sondern auch Graphiken, Ton und Bild Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 HTML <HTML> <HEAD><TITLE>HALLO</TITLE></HEAD> <BODY> <CENTER><P>Ich bin zentriert!</P></CENTER> <FONT COLOR = "#FF0080">Ich bin rosarot!</FONT> <P><FONT SIZE = +2>Ich bin um 2 Einheiten größer!</FONT></P> <P><a href="Anderes_Dokument.html">Ich bin ein Link zum anderen Dokument.</a></P> <P>Und das bin ich: <IMG SRC = "photo.jpg" WIDTH=100 HEIGHT=120></IMG></P> </BODY> </HTML> Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 HTML Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 MIME Multipurpose Internet Mail Extensions Browser schickt gleichzeitig mit dem Request eine Mitteilung, welche MIMETypen er unterstützt Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 MIME MIME Typ Beschreibung text/plain bildet einen einfachen ASCII Text ab text/html bildet einen Text im HTML-Format ab application/vmd-lotus 1-2-3 öffnet das Lotus 1-2-3 Programm Image/gif ein Bild im gif-Format Image/jpg ein Bild im jpg-Format Video/mpeg verwendet einen Videoplayer Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Zustandslosigkeit Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Der Datenbankzugang über das Web Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Der Datenbankzugang über das Web Preprocess and publish approach (PPP) Common Gateway Interface (CGI) Java Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Preprocess and publish approach Dokumente werden vorbereitet, in das HTML Format konvertiert... (preprocess) ...und zur Verfügung gestellt (publish). User bewegt sich mittels erhaltenen URLs Hypertext Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Common Gateway Interface Architektur Komponente Input Kommunikation Verarbeitung Output Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Input mittels command line http://www.animal-server.com/dogs/dognames.exe?20 Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Input mittels HTML <HTML> <HEAD><TITLE>Umfrage</TITLE></HEAD> <BODY> <CENTER><P><H2>Umfrage</H2></P></CENTER> <FORM ACTION = "http://www.umfragezentrale.at"> <P>Wieviele Hundenamen möchten Sie bekommen? <INPUT TYPE = "TEXT" NAME = "AnzHN"></P> </FORM> </BODY> </HTML> Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Input mittels HTML Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Kommunikation Browser - Server Übergabe von Methode, URL, Parametern, MIME-Typen GET HTTP://WWW.UMFRAGEZENTRALE.AT?AnzHN=20 HTTP/2.0 Accept text/html Text/text …… …… Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Kommunikation Server - Programm Übergabe mehrerer Daten wegen Zustandslosigkeit... Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Variable Zweck HTTP_ACCEPT MIME Typen, die der Browser akzeptiert CONTENT_LENGTH die Länge der geschickten Daten CONTENT_TYPE MIME Typ der vom Browser geschickten Daten QUERY_STRING die vom User zur Verarbeitung eingegebene Information REMOTE_ADDR IP-Adresse des Browsers REMOTE_HOST voller DNS Hostname des Browsers REQUEST_METHOD die vom Browser angefragte HTML Methode (GET, POST..) SERVER_NAME DNS Hostname oder IP-Adresse des Servers SERVER_PORT die Portnummer des Servers SERVER_PROTOCOL die Versionnummer des von Server verwendeten HTTP Kommunikation Server - Programm Übergabe mehrerer Daten wegen Zustandslosigkeit Darstellung des Responds einfacher Text HTML Dokument Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Verarbeitung 3 Spracharten Scripts Standardprogrammiersprachen Java Standardisierte Datenbankzugangskonfigurationen Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Verarbeitung - Scripts Vorteile Nachteile Einfach zu lernen, schreiben, verwenden Unsicher, weil uncompiliert gehalten Mächtigkeit der Befehle Ineffizient Einfach zu lesen, ändern Dezember, 02 Geringe Anzahl an Befehlen KFK Verteilte Systeme/Informationssysteme WS 2002 Verarbeitung Standardprogrammiersprache n Große Sammlung an Befehlen Compilierbar Höhere Sicherheit Höhere Effizienz Schwer veränderbar Schwer zu erlernen Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Verarbeitung – Standardisierte Datenbankzugangskonfigurationen Server Native Database ODBC Database Interface Native Remote Database Interface Middleware-driven Interface Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Output Ausgabe der Information in einem nützlichen Format Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Der Datenbankzugang über das Web Preprocess and publish approach (PPP) Common Gateway Interface (CGI) Java Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Java Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Java Charakteristik COBOL des 21. Jahrhunderts Objektorientiert Sicher Keine Zeiger Bytecodeprüfer Plattformunabhängigkeit Multithreading Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Java Komponente Java Development Kit (JDK) Compiler, Applet Viewer, Debugger, Applet Demos Java Application Programming Interface (Java API) java.lang, java.io, java.util, java.net, usw. Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Java Standard Extensions Enterprise Extensions – remote access JDBC – relationale DB RMI IDL Commerce Extensions Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Java Standard Extensions Management Ext. Server API Media API Java Beans Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Java Database Connectivity Datenzugriff mit Java Sammlung von Klassen und Methoden DriverManager, Driver Connection, Statement Query, ResultSet Close Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 JDBC - Beispiel //* The animal listing program lists all animals in //* the database and their ages import java.sql.* public class Samplet extends java.applet.Applet { public void paint (Graphics g) { //* declare string variables to hold values String driver = "oracle.sql.OracleDriver" String url = "jdbc:oracle:thin:bob@animaldb" String user = "bob" String pass = "bobpw" String query1 = "Select name, age from animal" Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 JDBC - Beispiel try { //*load the driver; Class.forName(driver); //* make the connection Connection c; c = DriverManager.getConnection(url,user,pass); //* create the statement Statement stmt; stmt = c.createStatement(); //* Execute the Query and load into the ResultSet //* called rs ResultSet rs = stmt.executeQuery(query1); Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 JDBC - Beispiel //* create loop for the processing of results //* the value of next will be incremented(the next //* row will be read) until there are none left. //* Then rs.next() will be false and the //* while loop will end while (rs.next()) { //* get the two columns from the next row //* the first column, name, is a String, so use //* getString the second column, age, is an //* Integer, so use getInt print them out Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 JDBC - Beispiel String c1 = rs.getString(1); Integer c2 = rs.getInt(2); g.drawString(c1,20,y); g.drawString(c2,100,y); y = y +10; } //* Close the statement and the connection stmt.close(); c.close(); } } } Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Architektur und Kapazität eines Webwarehouse Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Architektur und Kapazität eines Webwarehouse Funktionalität Architektur Kapazität Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Architektur eines Web Warehouse Intranet Configuration Leveraged Inbound Configuration Leveraged Outbound Configuration Dual-Leveraged Configuration Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Funktionalität der Data Warehousing Umgebung Erwerbsfunktion (E) Speicherfunktion (S) Zugriffsfunktion (Z) Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Intranet Configuration Z E Dezember, 02 S KFK Verteilte Systeme/Informationssysteme WS 2002 Leveraged Inbound Configuration E Dezember, 02 S Z KFK Verteilte Systeme/Informationssysteme WS 2002 Leveraged Outbound Configuration E Dezember, 02 S KFK Verteilte Systeme/Informationssysteme WS 2002 Z Dual-Leveraged Configuration E Dezember, 02 S Z KFK Verteilte Systeme/Informationssysteme WS 2002 Kapazität Transaktionsrate TPH – transactions ph Umfang MPH – megabytes ph Quantität Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Kapazität Knotenkapazität Verbindungskapazität Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Präsentationsinhalt Internet / Internetservices Webkomponente Datenbankzugang übers Web Architektur und Kapazität eines Web Warehouse Systems Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002 Danke für die Aufmerksamkeit! Dezember, 02 KFK Verteilte Systeme/Informationssysteme WS 2002