Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger.

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

GWT - google Web Toolkit
Be.as WEB Technologie
Semesterarbeit von Dieter Lorenz, Sebastian Galenski, Stephan Bury
Java-Servlets Gliederung: Allgemeine Informationen zu Servlets
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
WWW World Wide Web.
Inhalt – Technische Grundlagen
Aufbau des Internets Überblick Prof. Dr. T. Hildebrandt
Basis-Architekturen für Web-Anwendungen
Datenbankzugriff im WWW (Kommerzielle Systeme)
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Java: Grundlagen der Sprache
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
DOM (Document Object Model)
Internetstruktur Das Internet besteht aus vielen Computern, die weltweit untereinander vernetzt sind.
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Architektur von Web- Informationssystemen. © Prof. T. Kudraß, HTWK Leipzig Techniken zur DB-Server- Anbindung Client-Seite Java Applet ActiveXPlugInCGISSIServer.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Introducing the .NET Framework
Erstellen einer Webseite Fortbildung am FPGZ Stephan Best.
Projekt Web Engineering
Seminarvotrag: PHP Von Stefan Niemczyk.
DVG Einführung in Java1 Einführung in JAVA.
Zukunft des Webs? Dennis Beer Christian Blinde
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Browser das Internet lesen.
Applets Java für’s Web.
Gegenstand EDV Thema: Informative Webseiten
Web-HMI einbinden SPS-Technik mit Video, Multimedia und Entertainmentsystemen kombinieren I Peter Steib.
JavaScript.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Basiswissen für Partner und interessierte Kunden Technologie.
Grundlagen: Client-Server-Modell
Das Client/Server – Modell und die XAMPP-Distribution
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
HTML-Editoren Eine Präsentation von Erik Kulisch.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
CGI (Common Gateway Interface)
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Java Server Pages Sergej Keterling
Oliver Spritzendorfer Thomas Fekete
Dynamische Webseiten-Generierung
Datenanbindung in Webapplikationen
Web 2.0 & AJAX (A)sysnchrones (J)avaScript (A)nd (X)ML
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Aufzeichnung von Usability-Daten im www. Client-Side Log : automatisch (maschinell) generiertes Protokoll Client : Rechner mit dem Browser des Users Server:
Client-Server-Modell
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.
© Fink/Spengler/AINF-Lehrgang 2003 – Folie 1 AINF/3. Jahrgang Netzwerke Anwendungen (Clientseitig) Karl Brenner, Andreas Fink, Gerhard Jüngling, Albert.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Stundenplanung Programm zur Stunden- und Zimmerplanung auf der Basis von Datenbanken und unter Berücksichtigung von Mehrfachnutzung im (lokalen) Netz (Internet.
->Prinzip ->Systeme ->Peer – to – Peer
Datenbanken im Web 1.
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Geschichte - Entstehung - Was ist PHP? Einordnung - Allgemeines
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Einführung in die OOP in Java
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
Entwurf, Implementierung und Test eines Java – Web Services als Kommunikationsschnittstelle für Webapplikationen mit Funktionen.
Dynamische Webseiten CGI & co. © CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige.
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
Datenbanken
 Präsentation transkript:

Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger

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

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

Was ist eine Web-Anwendung?

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, ….

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

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

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,

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

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!

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

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

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

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?

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

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

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

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

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

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

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)

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