Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML Manuel Zieger Harald Kolbe.

Ähnliche Präsentationen


Präsentation zum Thema: "Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML Manuel Zieger Harald Kolbe."—  Präsentation transkript:

1 Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML Manuel Zieger Harald Kolbe

2 Programmierung von Internetservices Praktikum SS 03 2 Agenda 1 Einleitung 2 Architektur und verwendete Technologien 3 Entwicklung/Quellcode 4 Vergleich mit Alternativlösung

3 Programmierung von Internetservices Praktikum SS 03 3 Ziel des Teilprojekts Realisierung einer Abfragemöglichkeit der UnivIS-Datenbank über verschiedene Clients: –PC –Pocket PC –Mobiltelefon Entwicklung der UnivIS-Anbindung auf PHP- Basis

4 Programmierung von Internetservices Praktikum SS 03 4 Warum ein eigenes Teilprojekt? PHP stellt eigene Methoden zur Verfügung, um XML-Daten einlesen und manipulieren zu können Generelles Interesse an PHP-Entwicklung und dem Ausbau vorhandener Kenntnisse Beschränkung auf eine Technologie

5 Programmierung von Internetservices Praktikum SS 03 5 Agenda 1 Einleitung 2 Architektur und verwendete Technologien 3 Entwicklung/Quellcode 4 Vergleich mit Alternativlösung

6 Programmierung von Internetservices Praktikum SS 03 6 Systemarchitektur Webserver PHP DOMXML-Extension UnivIS XML-Schnittstelle Clients PC HTML Pocket-PC cHTML Mobiltelefon WML DB

7 Programmierung von Internetservices Praktikum SS 03 7 UnivIS Universitäres Informationssystem zur Abfrage von: –Personen –Veranstaltungen –Institutionen Unterschiedliche Abfragemöglichkeiten: –Webbasiert (http://univis.uni-frankfurt.de) –UnivIS-eigene Abfragesprache –PRG-Schnittstelle (Parameterübergabe durch URLs)

8 Programmierung von Internetservices Praktikum SS 03 8 XML/DTD XML (eXtensible Markup Language) –textbasierte Meta-Auszeichnungssprache –ermöglicht hierarchisch strukturierte Ablage und Darstellung von Informationen –Standardformat für plattformunabhängigen Datenaustausch zwischen Anwendungen DTD (Document Type Definition) –Beschreibung der Struktur eines XML-Dokuments –ermöglicht Validierung des XML-Dokuments

9 Programmierung von Internetservices Praktikum SS 03 9 Beispiel: UnivIS XML-Dokument Wolfgang König wkoenig@wiwi.uni-frankfurt.de 069/798-28585 60054 Frankfurt am Main 206 C Mertonstr. 17 069/798-28594 http://www.wi-frankfurt.de/

10 Programmierung von Internetservices Praktikum SS 03 10 PHP/DOMXML PHP (Hypertext Preprocessor) –objektorientierte Skriptsprache wie ASP/JSP –plattformunabhängig –unterstützt die gängigsten Webserver (z.B. Apache und IIS) –wird hauptsächlich für die Erzeugung dynamischer Webseiten verwendet DOMXML –Erweiterung für PHP –ermöglicht Zugriff auf sowie Manipulation und Ausgabe von DOM-Objekten über PHP

11 Programmierung von Internetservices Praktikum SS 03 11 DOM DOM (Document Object Model) –ermöglicht Zugriff auf die Elemente einer Markup Language, z.B. HTML oder XML –keine eigene Sprache –Definition von Objekten, Eigenschaften und Methoden, die eine DOM-fähige Skriptsprache umsetzen muss –jede Skriptsprache (z.B. PHP, ASP und JSP) besitzt eine eigene DOM-Implementierung Beispiel für PHP DOM-Methode $dom->get_elements_by_tagname(email)

12 Programmierung von Internetservices Praktikum SS 03 12 XML-Dokument als DOM-Struktur $dom->document_element() $firstname->get_content() $dom->get_elements_by_tagname(firstname) UnivIS person firstnamelastname ort locations location urlfaxemail … Wolfgang $dom $locations-> child_nodes()

13 Programmierung von Internetservices Praktikum SS 03 13 WML WML (Wireless Markup Language) –XML-basierter Standard zur Darstellung von Informationen auf Mobiltelefonen und PDAs –vergleichbar mit HTML, aber reduzierte Auswahl an Gestaltungselementen Hello World! Zur Suchseite

14 Programmierung von Internetservices Praktikum SS 03 14 Agenda 1 Einleitung 2 Architektur und verwendete Technologien 3 Entwicklung/Quellcode 4 Vergleich mit Alternativlösung

15 Programmierung von Internetservices Praktikum SS 03 15 Systemarchitektur Webserver PHP DOMXML-Extension UnivIS XML-Schnittstelle Clients PC HTML Pocket-PC cHTML Mobiltelefon WML DB

16 Programmierung von Internetservices Praktikum SS 03 16 Suchformular Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/search.php HTMLWML Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/search.wml

17 Programmierung von Internetservices Praktikum SS 03 17 Quellcode (1) HTTP-Request für UnivIS-Abfrage... $request = http://univis.uni-frankfurt.de/prg? search=lectures&name=logistik&show=xml... Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/query.php

18 Programmierung von Internetservices Praktikum SS 03 18 Quellcode (2) Rückgabeformat von UnivIS wird überprüft XML-Dokument einlesen... // Test, ob ein XML-oder HTML-Dokument zurückgegeben wird // Wenn HTML zurück, dann Vorgang abbrechen $check_document = implode ('', file ($request)); $sub = substr($check_document, 0, 6); if ($sub == " ") { die("Leider hat es zu Ihrer Suche kein Ergebnis gegeben. ( Zurück )"); } //XML-Dokument in DOM-Objekt einlesen $dom = xmldocfile($request);... Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/query.php

19 Programmierung von Internetservices Praktikum SS 03 19 Quellcode (3) Auswahl zwischen der Suche nach Personen und Veranstaltungen... //SWITCH für die Suchparameter (persons, lectures) switch ($type) { //Suche nach Personen case "persons": include("persons.php"); break; //Suche nach Veranstaltungen case "lectures"; include("lectures.php"); break; }... Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/query.php

20 Programmierung von Internetservices Praktikum SS 03 20 Quellcode (4) Einlesen der auszugebenden Inhalte in Arrays ( Array: speichert Sequenz von Datenwerten)... //Inhalte der XML-Elemente in Variablen ablegen $lastname= $dom->get_elements_by_tagname("lastname"); $firstname= $dom->get_elements_by_tagname("firstname"); $title= $dom->get_elements_by_tagname("title"); $orgname= $dom->get_elements_by_tagname("orgname"); $email= $dom->get_elements_by_tagname("email"); $phone = $dom->get_elements_by_tagname("tel"); $fax = $dom->get_elements_by_tagname("fax"); $office= $dom->get_elements_by_tagname("office"); $ort = $dom->get_elements_by_tagname("ort");... Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/persons.php

21 Programmierung von Internetservices Praktikum SS 03 21 Quellcode (5) Auswahl des Ausgabemediums... // SWITCH für die einzelnen Devices switch ($HTTP_GET_VARS[device]) { // Inhalte als HTML rausschreiben case 1: for($i=0;$i<$array_length;$i++){ echo ""; echo $lastname[$i]. ", ". $firstname[$i]. " \n"; }... Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/persons.php

22 Programmierung von Internetservices Praktikum SS 03 22 Quellcode (6) Ausgabe der im URL-String enthaltenen Parameter als HTML bzw. WML... //Inhalte der XML-Elemente in Variablen ablegen echo " Ergebnisse "; echo " Name: "; echo $HTTP_GET_VARS[firstname]. " ". $HTTP_GET_VARS[lastname]. " "; if(!$HTTP_GET_VARS[orgname] == "") { echo " Lehrstuhl: ".$HTTP_GET_VARS[orgname]. ";}; if(!$HTTP_GET_VARS[email] == "") { echo " Email: ".$HTTP_GET_VARS[email]. ";};... Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/result.php

23 Programmierung von Internetservices Praktikum SS 03 23 Agenda 1 Einleitung 2 Architektur und verwendete Technologien 3 Entwicklung/Quellcode 4 Vergleich mit Alternativlösung

24 Programmierung von Internetservices Praktikum SS 03 24 Vergleich mit Alternativlösung Vorteile: –keine zusätzliche Software (AxKit) nötig –Beschränkung auf eine Technologie kein Einarbeiten in neue Technologien nötig bei einfachen Anwendungen schnelle Umsetzung möglich –vermutlich höhere Performance Nachteile: –DOMXML noch in Entwicklungsphase –XSLT bietet mehr Flexibilität bei der Transformation von XML-Daten –bei komplexen Anwendungen können PHP-Lösungen schnell unübersichtlich werden

25 Vielen Dank für Ihre Aufmerksamkeit!


Herunterladen ppt "Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML Manuel Zieger Harald Kolbe."

Ähnliche Präsentationen


Google-Anzeigen