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 069/ Frankfurt am Main 206 C Mertonstr /

10 Programmierung von Internetservices Praktikum SS 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 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( )

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

13 Programmierung von Internetservices Praktikum SS 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 Agenda 1 Einleitung 2 Architektur und verwendete Technologien 3 Entwicklung/Quellcode 4 Vergleich mit Alternativlösung

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

16 Programmierung von Internetservices Praktikum SS Suchformular Quelle: HTMLWML Quelle:

17 Programmierung von Internetservices Praktikum SS Quellcode (1) HTTP-Request für UnivIS-Abfrage... $request = search=lectures&name=logistik&show=xml... Quelle:

18 Programmierung von Internetservices Praktikum SS 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:

19 Programmierung von Internetservices Praktikum SS 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:

20 Programmierung von Internetservices Praktikum SS 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"); $ = $dom->get_elements_by_tagname(" "); $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:

21 Programmierung von Internetservices Praktikum SS 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:

22 Programmierung von Internetservices Praktikum SS 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[ ] == "") { echo " ".$HTTP_GET_VARS[ ]. ";};... Quelle:

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

24 Programmierung von Internetservices Praktikum SS 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