Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger.

Ähnliche Präsentationen


Präsentation zum Thema: "Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger."—  Präsentation transkript:

1 Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger

2 Index Interaktionsbegriff in der Informatik Was ist eine Web-Anwendung? Definition Thin Web Client/ Thick Web Client Warum reicht HTML nicht aus? Was man eigentlich will… Möglichkeiten zur Interaktion… JavaScript Plugins Java Applets Ajax Servlets PHP SSI (Server Side Includes) ASP (Active Server Pages) HTTPD APIs CGI(Common Gateway Interface) Skripte

3 Interaktionsbegriff in der Informatik In der Informatik ist der Begriff Interaktion gleichbedeutend mit Kommunikation befasst sich damit, wie einzelne Komponenten eines Systems sich gegenseitig beeinflussen

4 Was ist eine Web-Anwendung?

5 Definitionsversuch G. Kappel et. Al. (TU Wien): Eine Web-Anwendung ist ein Softwaresystem, das auf Spezifikationen des World Wide Web Consortium (W3C) beruht und Web-spezifische Ressourcen wie Inhalte und Dienste bereitstellt, die über eine Benutzerschnittstelle, den Web- Browser, verwendet werden. W3C = World Wide Web Consortium DAS Gremium zur Standardisierung im Web HTML, HTTP, XML, ….

6 Web-Anwendung Thin Web Client: (möglichst) nur Darstellung auf dem Client Hauptsächlich HTML, etwas JavaScript Vorteil: Standard-Browser Funktionalität Thick Web Client: Auch Anwendungslogik auf dem Client Typisch: JavaApplet, Java Anwendung mit WebStart Vorteil: Windows-like Benutzerführung möglich Thin Client Thick Client HTTP

7 Warum reicht HTML nicht aus? Einsatz interessant bei sich selten ändernden Daten und vielen Zugriffen Im Vergleich zu Datenbanksystemen begrenzte Suchfunktionalität geringe Anwendungsfunktionalität Aktualisierungs- und Konsistenzproblem(Seite muss nach Anfragen immer neu geladen und gerendert werden) HTML bietet nur statische Seiten

8 Was man eigentlich will… Interaktion zwischen Benutzer und Anwendung Suche – Ergebnis Eingabe – Speicherung Upload von Dateien – Speicherung Bestellung – Lieferung Profil Angabe – Personalisierung … Web-Anwendung: Anwendung die Benutzer-System-Interaktion auch über das Web ermöglicht was früher mit Papier-Formularen erledigt wurde, soll ebenfalls über das Intranet abgewickelt werden, z. B. Urlaubsanträge, Bestellungen, Reiseanträge,

9 Möglichkeiten zur Interaktion… Browserseitige Erweiterungen (JavaScript; Plugins ; Java Applets) Serverseitige Erweiterungen (CGI Common Gateway Interface; servlets; HTTPD APIs; PHP )

10 JavaScript von der Firma Netscape entwickelt, um statische HTML- Seiten dynamisch zu gestalten Unter den clientseitigen Scriptsprachen hat JavaScript die weiteste Verbreitung gefunden Syntax der Sprache ähnelt der der Programmiersprache C/Java und auch einige Schlüsselwörter beider Sprachen sind identisch systemunabhängig Das könnte dann so aussehen!

11 Plugins sind Ergänzungs- oder Zusatzmodule Bezeichnung für ein Softwareprogramm, das in ein anderes Softwareprodukt "eingeklinkt" wird ein Plugin erweitert die Funktionalität eines Softwareprodukts Darstellung von CAD-Daten, Telefonieren, Shockwave- Spielchen oder Audio-Live-Übertragungen werden durch sie ermöglicht Beispiele: -Macromedia Flash Player oder das AcrobatReader-Plugin -Real/Quicktime Player

12 Java Applets(1) Kleines fast Java Programm, dass in einem Webbrowser ausgeführt werden kann und aus einer grafischen Zeichenfläche besteht Applet bedeutet soviel wie "Anwendungs-Schnipsel" und setzt sich aus Application und snippet zusammen GUI sehr gut darstellbar Das gesamte Interface muss programmiert werden Um sie ausführen zu können, muss der jeweilige Webbrowser über eine entsprechende Java-VM(Virtuelle Maschine) verfügen

13 Java Applets(2) Sicherheit: Da Applets auf dem Client ausgeführte Programme sind stellen sie auch ein Sicherheitsproblem dar Da die Applets in einer abgeschotteten Laufzeitumgebung (Sandbox) laufen, ist dieses Risiko jedoch gut kontrollierbar Sicherheitsrisiko besteht nur dann, wenn die Sandbox fehlerhaft ist Sandbox: Software wird vom Rest des Systems abgeschirmt, quasi in den Sandkasten gesetzt Somit kann die Software einerseits keinen Schaden anrichten und andererseits die Wirkung der Software aufzeichnen

14 Java Applets(3) Jedes Applet muss von der Klasse java.applet.Applet abgeleitet werden Benötigt keine main()-Methode Verfügt über einige Methoden: init() wird genau einmal aufgerufen, wenn das Applet erstmals in den Browser geladen wird start() - wird jedesmal aufgerufen, wenn das Applet sichtbar wird stop() - wird jedesmal aufgerufen, wenn das Applet verdeckt wird, z.B. weil das Browser-Fenster von einem anderen Fenster überdeckt wird. destroy() - wird aufgerufen, wenn das Applet aus dem Hauptspeicher entladen wird Beispiel Applet Beispiel Applet so bindet man das HTML ein und so sieht das dann aus?bindet man das HTML aus?

15 Ajax ein Zwischending Browser tauscht bei kleinen Änderungen nur die benötigten Daten mit dem Server aus dies geschieht asynchron, d.h. der Benutzer kann mit der Anwendung weiterarbeiten Abürzung für Asynchronous JavaScript+XML Kombination verbreiteter, standartisierter Techniken XHTML und CSS zur Darstellung Document Objekt Model für Benutzerineraktion und dynamische Ausgaben XML und XSLT für den Datenaustausch zwischen Client und Server JavaScript als Bindeglied für alle Komponenten wesentlich weniger Daten zwischen Webbrowser und Webserver ausgetauscht Beispiel ist Flickr traditionell gesehen müsste der Server die komplette Seite bei Textänderungen neu generieren hier wird jedoch nur der Text gespeichert

16 Servlets als Servlets bezeichnet man Java-Klassen, deren Instanzen innerhalb eines Webservers Anfragen von Clients entgegennehmen Inhalt der Antworten kann dabei dynamisch, also im Moment der Anfrage, erstellt werden Servlets stellen somit das Java-Pendant zu CGI-Skripten oder anderen Konzepten, mit denen dynamisch Web-Inhalte erstellt werden können (PHP etc.), dar

17 PHP PHP: Hypertext Preprozessor, ursprünglich Personal Home Page Tools Eine serverseitig interpretierte Skriptsprache mit einer an C bzw. Perl angelehnten Syntax, die hauptsächlich zur Erstellung dynamischer Webseiten verwendet wird

18 SSI (Server Side Includes) Serverseitige Scriptsprache die fast nur im WWW verwendet wird wird hauptsächlich dazu genutzt, den Inhalt einer Datei oder die dynamische Ausgabe eines CGI-Programmes in eine Webseite einzufügen Nutzung von SSI ist für den Besucher der Seite nicht erkennbar

19 ASP (Active Server Pages) von Microsoft entwickelte SSI-Nachfolgetechnologie Erzeugt mit Hilfe einer Skriptsprache Websites Wurde ursprünglich nur vom IIS interpretiert Nachfolgetechnologie ist ASP.NET

20 HTTPD APIs application programming interface Ein API ist die Schnittstelle, die ein Betriebssystem oder auch ein anderes Softwaresystem anderen Programmen zur Verfügung stellt API definiert nur die Verwendung der Schnittstellen, nicht aber deren Realisierung API stellt Routinen, Protokolle und Dienstprogramme für das Erstellen von Software dar Beispiele: DirectX, OpenGL Ebay, Amazon und Google bieten Dritten beispielsweise eine API zur Katalogabfrage

21 CGI(Common Gateway Interface) Das Common Gateway Interface beschreibt, wie vom Anwender am Web-Browser eingegebene Daten an den Web-Server gesendet und dort an ein CGI-Programm weitergereicht werden Muss von Webserver-Software unterstützt werden. Software muss 3 Finge zur Verfügung stellen Umgebungsvariablen Weiterleitung von Ausgaben Einholen von Formulareingaben oder Aufrufparametern CGI-Programme können also in allen möglichen Programmiersprachen geschrieben sein Nachteil: CGI-Ausführung ist langsamer als andere Möglichkeiten (z.B. Servlets)

22 Skripte client HTTP- Server Datenbank Java Servlet Aufruf des Skriptes mit Parametern Initialisierung bei jedem Aufruf Skript übermittelt HTML und beendet sich Anfrage Fahrplananforderung bei Bestätigen mit dem Suchen Button Verbindungsaufbau Aufbau der DB Verbindung bei jedem Aufruf Skript generiert HTML Antwort HTTP Server Antwortet SQL Anfrage Skript stellt Anfrage an DB Ergebnis PHP CGI- Skript


Herunterladen ppt "Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger."

Ähnliche Präsentationen


Google-Anzeigen