Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML

Slides:



Advertisements
Ähnliche Präsentationen
Apache - PHP - MySQL Apache-PHP-MySQL.
Advertisements

Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Extensible Markup Language
4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.
Vorstellung von PaderWAVE Generierung von Web-Anwendungen aus visuellen Spezifikationen, SS04 Projektgruppe der AG Kastens.
Daniel Höfler Markus Thurner XMLApplicationPlatform Siemens OpenStage 60/80.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
FH-Hof Einbindung von JavaScript Anweisungen
Simon Georg Pinkel Alice Server Pages Funktionale Programmierung und das Web.
DOM (Document Object Model)
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
XINDICE The Apache XML Project Name: Jacqueline Langhorst
METS / MODS. METS – Metadata Encoding and Transmission Standard – 2002 veröffentlicht – XML Schema – Reale Objekte digital abbilden – hierarchische Struktur.
HTML - Eine erste Annäherung
XML-Parser Manuel Röllinghoff.
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
Speicherung von XML- Dokumenten als Large Objects.
Einführung XML XML Einführung Andreas Leicht.
Zukunft des Webs? Dennis Beer Christian Blinde
Einführung und Überblick
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
Vortrag HTML, XHTML, DHTML
Wir bauen uns eine Webapplikation!
Client-Server Modell Advanced IT Basics Nicolas Frings.
PPS-Design einer eigenen WWW-Homepage SS 2003 Applets.
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Webservice Grundlagen
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Client-Server Systeme
Das Client/Server – Modell und die XAMPP-Distribution
Nicolas Frings Maximilian Bernd Stefan Piernikarcyk
Java für Fortgeschrittene
IFB Speyer Daniel Jonietz dj 2 XAMPP - Was ist das? Paket mit: – X – Apache (Webserver) – MySQL oder SQLite (Datenbank) – Perl (Skriptsprache) –
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Oliver Spritzendorfer Thomas Fekete
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
XML (Extensible Markup Language)
Datenanbindung in Webapplikationen
SQLite und XML in PHP 5.
Einführung in PHP.
Einführung in PHP 5.
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
Web 2.0 & AJAX (A)sysnchrones (J)avaScript (A)nd (X)ML
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
Eike Schallehn, Martin Endig
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
W W W - World Wide Web. Das World Wide Web kommt aus dem Englischen und bedeutet ‚Weltweites Netz‘ ist ein über das Internet abrufbares Hypertext-System.
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
Industry / Academic Partnerships for XML E-Business Forum für den Finanzdienstleistungsbereich Institute of Information Systems J. W. Goethe-University.
Formulare Vanessa Kogelbauer.
Funktionsweise von CMS
Datenbanken im Web 1.
TypoScript.
1 Wolfgang Wiese, Regionales RechenZentrum Erlangen WCMS 3. August 2000 Wolfgang Wiese RRZE / Lehrstuhl für Informatik VII
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Geschichte - Entstehung - Was ist PHP? Einordnung - Allgemeines
XML in der Praxis: Electronic Bill Presentment (EBP) Institut für Wirtschaftsinformatik J. W. Goethe-University J. W. Goethe University Institute of Information.
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
1 Java und XML Stephan Baldes Warum XML? In welchem Format wurden die Daten gespeichert? Bernd;Thomas;3;5;1987;Freiburg;Karlsruhe Peter;Maier;7;9;1980;Karlsruhe;Freiburg.
© Raphael Volz 2001 Slide 1 Zope Grundlagen Seminar – Praktikum Knowledge Portals Raphael Volz.
Entwicklung einer Webanwendung mittels HTML, ASP, C# und SQL am Beispiel einer Publikationsverwaltung Philipp Kühne Erstprüfer: Prof. Dr. Wilhelm.
 Präsentation transkript:

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

Agenda 1 Einleitung 2 Architektur und verwendete Technologien 3 Entwicklung/Quellcode 4 Vergleich mit Alternativlösung

Ziel des Teilprojekts Realisierung einer Abfragemöglichkeit der UnivIS-Datenbank über verschiedene Clients: PC Pocket PC Mobiltelefon Entwicklung der UnivIS-Anbindung auf PHP-Basis

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

Agenda 1 Einleitung 2 Architektur und verwendete Technologien 3 Entwicklung/Quellcode 4 Vergleich mit Alternativlösung

Systemarchitektur Webserver UnivIS DB Clients PHP DOMXML-Extension XML-Schnittstelle PC HTML Pocket-PC cHTML Mobiltelefon WML Clients

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)

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

Beispiel: UnivIS XML-Dokument <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE UnivIS SYSTEM "http://univis.uni-frankfurt.de/univis.dtd"> <UnivIS version="1.3"> <Person key="Person.fb2.wi2.wikoen.knigwo"> <firstname>Wolfgang</firstname> <lastname>König</lastname> <locations> <location> <email>wkoenig@wiwi.uni-frankfurt.de</email> <fax>069/798-28585</fax> <ort>60054 Frankfurt am Main</ort> <office>206 C</office> <street>Mertonstr. 17</street> <tel>069/798-28594</tel> <url>http://www.wi-frankfurt.de/</url> </location> </locations> </Person> </UnivIS>

PHP/DOMXML PHP (Hypertext Preprocessor) DOMXML 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

DOM DOM (Document Object Model) Beispiel für PHP DOM-Methode 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“)

XML-Dokument als DOM-Struktur $dom->get_elements_by_tagname(„firstname“) $dom $dom->document_element() UnivIS person firstname lastname locations $locations-> child_nodes() $firstname->get_content() „Wolfgang“ location email fax ort … url

WML WML (Wireless Markup Language) XML-basierter Standard zur Darstellung von Informationen auf Mobiltelefonen und PDAs vergleichbar mit HTML, aber reduzierte Auswahl an Gestaltungselementen <wml> <card id="card1"> <p>Hello World!</p> <do type="accept" label="Suche"> Zur Suchseite<go href="suche.wml" /></do> </card> </wml>

Agenda 1 Einleitung 2 Architektur und verwendete Technologien 3 Entwicklung/Quellcode 4 Vergleich mit Alternativlösung

Systemarchitektur Webserver UnivIS Clients DB PHP DOMXML-Extension XML-Schnittstelle Clients PC HTML Pocket-PC cHTML Mobiltelefon WML DB

Suchformular HTML WML Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/search.php Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/search.wml

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

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 == "<html>") { die("Leider hat es zu Ihrer Suche kein Ergebnis gegeben. (<a href='javascript:history.back()'>Zurück</a>)"); } //XML-Dokument in DOM-Objekt einlesen $dom = xmldocfile($request); Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/query.php

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"); } Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/query.php

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

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 "<a href='result.php? type=" . $type . "&firstname=". urlencode($firstname[$i]). "&lastname=" . urlencode($lastname[$i]) . "&orgname=" . urlencode ($orgname[$i]) . "&email=" . urlencode ($email[$i]) . "'>"; echo $lastname[$i] . ", " . $firstname[$i] . "</a>\n"; } Quelle: http://www.wiwi.uni-frankfurt.de/~kolbe/praktikum/persons.php

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

Agenda 1 Einleitung 2 Architektur und verwendete Technologien 3 Entwicklung/Quellcode 4 Vergleich mit Alternativlösung

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

Vielen Dank für Ihre Aufmerksamkeit!