Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger

download Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger

of 22

  • date post

    05-Apr-2015
  • Category

    Documents

  • view

    108
  • download

    1

Embed Size (px)

Transcript of Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger

  • Folie 1
  • Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger
  • Folie 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 Mglichkeiten zur Interaktion JavaScript Plugins Java Applets Ajax Servlets PHP SSI (Server Side Includes) ASP (Active Server Pages) HTTPD APIs CGI(Common Gateway Interface) Skripte
  • Folie 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
  • Folie 4
  • Was ist eine Web-Anwendung?
  • Folie 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, .
  • Folie 6
  • Web-Anwendung Thin Web Client: (mglichst) nur Darstellung auf dem Client Hauptschlich HTML, etwas JavaScript Vorteil: Standard-Browser Funktionalitt Thick Web Client: Auch Anwendungslogik auf dem Client Typisch: JavaApplet, Java Anwendung mit WebStart Vorteil: Windows-like Benutzerfhrung mglich Thin Client Thick Client HTTP
  • Folie 7
  • Warum reicht HTML nicht aus? Einsatz interessant bei sich selten ndernden Daten und vielen Zugriffen Im Vergleich zu Datenbanksystemen begrenzte Suchfunktionalitt geringe Anwendungsfunktionalitt Aktualisierungs- und Konsistenzproblem(Seite muss nach Anfragen immer neu geladen und gerendert werden) HTML bietet nur statische Seiten
  • Folie 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 ermglicht was frher mit Papier-Formularen erledigt wurde, soll ebenfalls ber das Intranet abgewickelt werden, z. B. Urlaubsantrge, Bestellungen, Reiseantrge,
  • Folie 9
  • Mglichkeiten zur Interaktion Browserseitige Erweiterungen (JavaScript; Plugins ; Java Applets) Serverseitige Erweiterungen (CGI Common Gateway Interface; servlets; HTTPD APIs; PHP )
  • Folie 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 Schlsselwrter beider Sprachen sind identisch systemunabhngig Das knnte dann so aussehen!
  • Folie 11
  • Plugins sind Ergnzungs- oder Zusatzmodule Bezeichnung fr ein Softwareprogramm, das in ein anderes Softwareprodukt "eingeklinkt" wird ein Plugin erweitert die Funktionalitt eines Softwareprodukts Darstellung von CAD-Daten, Telefonieren, Shockwave- Spielchen oder Audio-Live-bertragungen werden durch sie ermglicht Beispiele: -Macromedia Flash Player oder das AcrobatReader-Plugin -Real/Quicktime Player
  • Folie 12
  • Java Applets(1) Kleines fast Java Programm, dass in einem Webbrowser ausgefhrt werden kann und aus einer grafischen Zeichenflche 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 ausfhren zu knnen, muss der jeweilige Webbrowser ber eine entsprechende Java-VM(Virtuelle Maschine) verfgen
  • Folie 13
  • Java Applets(2) Sicherheit: Da Applets auf dem Client ausgefhrte 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
  • Folie 14
  • Java Applets(3) Jedes Applet muss von der Klasse java.applet.Applet abgeleitet werden Bentigt keine main()-Methode Verfgt 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?
  • Folie 15
  • Ajax ein Zwischending Browser tauscht bei kleinen nderungen nur die bentigten Daten mit dem Server aus dies geschieht asynchron, d.h. der Benutzer kann mit der Anwendung weiterarbeiten Abrzung fr Asynchronous JavaScript+XML Kombination verbreiteter, standartisierter Techniken XHTML und CSS zur Darstellung Document Objekt Model fr Benutzerineraktion und dynamische Ausgaben XML und XSLT fr den Datenaustausch zwischen Client und Server JavaScript als Bindeglied fr alle Komponenten wesentlich weniger Daten zwischen Webbrowser und Webserver ausgetauscht Beispiel ist Flickr traditionell gesehen msste der Server die komplette Seite bei Textnderungen neu generieren hier wird jedoch nur der Text gespeichert
  • Folie 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 knnen (PHP etc.), dar
  • Folie 17
  • PHP PHP: Hypertext Preprozessor, ursprnglich Personal Home Page Tools Eine serverseitig interpretierte Skriptsprache mit einer an C bzw. Perl angelehnten Syntax, die hauptschlich zur Erstellung dynamischer Webseiten verwendet wird
  • Folie 18
  • SSI (Server Side Includes) Serverseitige Scriptsprache die fast nur im WWW verwendet wird wird hauptschlich dazu genutzt, den Inhalt einer Datei oder die dynamische Ausgabe eines CGI-Programmes in eine Webseite einzufgen Nutzung von SSI ist fr den Besucher der Seite nicht erkennbar
  • Folie 19
  • ASP (Active Server Pages) von Microsoft entwickelte SSI-Nachfolgetechnologie Erzeugt mit Hilfe einer Skriptsprache Websites Wurde ursprnglich nur vom IIS interpretiert Nachfolgetechnologie ist ASP.NET
  • Folie 20
  • HTTPD APIs application programming interface Ein API ist die Schnittstelle, die ein Betriebssystem oder auch ein anderes Softwaresystem anderen Programmen zur Verfgung stellt API definiert nur die Verwendung der Schnittstellen, nicht aber deren Realisierung API stellt Routinen, Protokolle und Dienstprogramme fr das Erstellen von Software dar Beispiele: DirectX, OpenGL Ebay, Amazon und Google bieten Dritten beispielsweise eine API zur Katalogabfrage
  • Folie 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 untersttzt werden. Software muss 3 Finge zur Verfgung stellen Umgebungsvariablen Weiterleitung von Ausgaben Einholen von Formulareingaben oder Aufrufparametern CGI-Programme knnen also in allen mglichen Programmiersprachen geschrieben sein Nachteil: CGI-Ausfhrung ist langsamer als andere Mglichkeiten (z.B. Servlets)
  • Folie 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 www.diebahn.de Besttigen 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