Vs9.61 9.6 Das World-Wide Web ist ursprüglich keine Middleware, sondern ein Internet-Dienst zur Beschaffung von Dokumenten (downloading) aus entfernten.

Slides:



Advertisements
Ähnliche Präsentationen
Java-Servlets Gliederung: Allgemeine Informationen zu Servlets
Advertisements

HS-Projekt Friedrich Junge-Schule, Kl. 9c, 2011 Wie funktionieren Internet-Server? Web-Server auf eigener Domain und Game-Server für Internet-Spiele Teilnehmer:
Dominic Ziegler 12c Webprogrammierung.
Ein Streifzug durch das INTERNET G. Hege und W. Moritz OSA Stuttgart.
WWW World Wide Web.
Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
HTTP – Hypertext Transfer Protocol
Basis-Architekturen für Web-Anwendungen
WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie.
HTML - Einführung Richard Göbel.
Java: Grundlagen der Sprache
Internet Protokolle und Formate 1.1 HTTP 1.2 HTML 1.3 SGML 2. XML 3. WAP Matthias Thränhardt Sebastian Weber.
HTML - Eine erste Annäherung
Geschichte und Funktion des Internets.
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
Spezielle Aspekte der Anbindung von Datenbanken im Web.
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Internet und seine Dienste
Seminar Internet Technologien
Schulen ans Netz Oberhausener Moderatoren
Hyperstrukturen Ein Beispiel © Katharina Brachmann.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Systementwicklungsprojekt:
Präsentation von Stefan Gimbel, Stefan Wurzer und Thomas Eschbach
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
von Julia Pfander und Katja Holzapfel E 12/2
Einführung Servlets/JSPs
Client-Server Modell Advanced IT Basics Nicolas Frings.
Internet: Funktionsweise und Dienste
DFÜ => Daten-Fern-Übertragung
Entstehung des Internet
Geschichte des Internet
Grundlagen: Client-Server-Modell
Das Client/Server – Modell und die XAMPP-Distribution
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
CGI (Common Gateway Interface)
ANDREAS LOHR, OLONDA S.R.O. Einfach anfangen mit HTML.
Oliver Spritzendorfer Thomas Fekete
Einführung in PHP.
Einführung in PHP 5.
Web 2.0 & AJAX (A)sysnchrones (J)avaScript (A)nd (X)ML
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Netzwerke.
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
Client-Server-Modell
Provider und Dienste im Internet
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.
Grete Kugler Webdesign - Teil 1 Internet und WWW Aufbau von HTML-Seiten Formatierungen und Links.
HTML Hypertext Markup Language
Willkommen zum Brückensemester
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
HEX-code für die Farbe weiß: #FFFFFF Änderung von Inhalt & Darstellung Inhalt & Darstellung HTML Javascript CSS.
->Prinzip ->Systeme ->Peer – to – Peer
Datenbanken im Web 1.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Das World Wide Web Stephan Becker TIT05BGR SS06. Das World Wide Web Übersicht Hypertext & Hypermedia HTML Dokumentenidentifikation Dokumententransport.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Internet-Standarddienste
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
LINUX II Unit 7 LAMP Server. LAMP ● Linux – Apache - MySQL – PHP ● Leistungsfähiges und kostenloses System zur Genrierung von dynamischen Webseiten und.
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
Systeme II 6. Die Anwendungsschicht
 Präsentation transkript:

vs Das World-Wide Web ist ursprüglich keine Middleware, sondern ein Internet-Dienst zur Beschaffung von Dokumenten (downloading) aus entfernten Dateien, ähnlich FTP (3.1 ),3.1 realisiert durch Web Servers auf Port 80. Aber: spezielle Dokumente: Hypertext in HTML (daher Web), einfache Interaktion: HTTP – Hypertext Transfer Protocol sodann: serverseitig ausführbare Dokumenteninhalte ad-hoc erzeugte Dokumente klientenseitig ausführbare Dokumenteninhalte und: Web-Dienste (Web Services) Middleware-Charakter

vs9.62 Historie: 1960 Hypertext 1970Arpanet TCP/IP, FTP 1980Internet 1990Konzept des WWW: Berners-Lee (CERN) Mosaic Browser (1994 …) W3C, StandardisierungW3C 2000 Web-Dienste

vs Grundbegriffe Ressource (resource) Dokument/Dienst/..., oft mit eingebetteten Ressourcen, z.B. Web-Seite mit Bildern URL/URI - Uniform Resource Locator/Identifier Name zur Identifizierung einer Ressource, z.B. HTML - Hypertext Markup Language zur Formulierung von Hypertext-Dokumenten mit Verweisen auf andere Ressourcen, integriert Information und deren Darstellung HTTP - Hypertext Transfer Protocol Protokoll für einfache Frage/Antwort-Interaktion über TCP-Verbindung, zustandslos zwischen den Interaktionen

vs9.64 Web Server -(z.B. Programm httpd ) verwaltet Ressourcen und ist Ansprechpartner für Klienten -deren Programm ist typischerweise ein Browser - hat folgende Aufgaben: Beschaffung einer durch URL identifizierten Ressource Darstellung/Aktivierung ihres Inhalts... diverser Benutzer-Komfort Die Beschaffung eingebetteter Ressourcen erfolgt überlappend mit der Darstellung bereits beschaffter Ressourcen – jeweils über eine eigene TCP-Verbindung

vs HTTP – Hypertext Transfer Protocol unterscheidet Frage (request) und Antwort (response) FrageAntwort Operationszeile (Request Line)Statuszeile (Status Line) Kopfsätze (Headers)KopfsätzeCRLF Daten (Entity Body)Daten (meist HTML) Operationszeile und Statuszeile sind obligatorisch Kopfsätze (wahlweise) umfassen - General Header - Request/Response Headers - Entity Headers

vs HTTP Request erteilt einem Web Server einen bestimmten Auftrag, z.B. Liefere das Dokument mit dem Namen xy! Vorgesehene Auftragsarten/Operationen (methods) sind GET, HEAD, POST, PUT, DELETE,... Operationszeile enthält- Dokumentenname (= vom Web Server interpretierter Dateiname) - eventuell weitere Daten zur Verarbeitung - Protokollname/Versionsnummer

vs9.67 GET sucht angegebenes Dokument und überträgt es als Bestandteil einer Antwort z.B. GET /welcome.html HTTP/1.0 Request Line Date:..... General Header From: Request Headers User-Agent: Mozilla/4.03 (keine Entity Headers, keine Daten)

vs9.68 POST übermittelt Daten zwecks Verarbeitung beim Server und veranlasst Übertragung der Ergebnisse als Bestandteil der Antwort z.B. POST /dbsearch.cgi HTTP/1.1 Host: Request Header* Content-Length: 26 Entity Header db=movies&query=casablanca Daten (* obligatorisch seit HTTP/1.1) Der gleiche Effekt wird erreicht durch GET /dbsearch.cgi?db=movies&query=casablanca HTTP/1.1

vs HTTP Response Statuszeile enthält- Protokollname/Versionsnummer - Fehlercode (genauer: response code) - Fehlerbeschreibung Fehlercodes sind eingeteilt in Fehlerklassen (response classes): 1xx informational 2xx success, z.B. 200 OK 3xx redirection, z.B. 301 Moved Permanently 4xx client error,z.B. 404 Not Found 5xx server error,z.B. 500 Internal Server Error Beispiel: HTTP/ OK Date:... Server: Apache... Content-Length: HTML-Text...

vs Cookies Web Server ist zustandslos: wenn eine Interaktion abgeschlossen ist, ist sie vergessen Sitzung (session) mit mehreren zusammengehörigen Interaktionen ist wünschenswert (Typisches Beispiel: virtueller Einkaufskorb) Cookies (= Kekse) sind Hilfstechnik zur Simulation eines Sitzungs-Konzepts Cookie = Sitzungs-Identifikator

vs9.611 GET /dbsearch.cgi HTTP/ HTTP/ OK Server merkt sich generiertes c1=4711 Set-Cookie: c1=4711 und sendet es an den Klienten... Klient merkt sich empfangenes c1=4711 GET /dbsearch.cgi HTTP/1.0 Cookie: c1=4711 Klient sendet gemerktes c1= Server erkennt c1=4711, d.h. Zusammenhang mit vorangegangenem GET HTTP/ OK...

vs HTML – Hypertext Markup Language dient zur textuellen Beschreibung von Inhalt und Darstellung eines Hypertext-Dokuments, enthält Klartext, Marken (tags) der Form und Marken dienen - der Textgestaltung, - der GUI-Gestaltung, - dem Verweis auf eingebettete Ressourcen, - dem Verweis auf fremde Ressourcen (links). ( Die Syntax von HTML ist beschreibbar mit Metasprache SGML – Standard Generalized Markup Language )

vs9.613 Beispiel:( manche Marken haben Attribute ) Text im Titelbalken des Fensters fetter Überschrifttext (headline) normaler Fließtext, automatisch umgebrochen, wobei dies kursiv (italics) wird und hier ein Zeilenwechsel (break) eingeschoben wird - und hier ein Bild (eingebettete lokale Ressource!):

vs9.614 Verweise auf fremde Ressourcen (links), angezeigt mit geeigneter Hervorhebung des eingeschlossenen Textes: HTTP (see disclaimer) verweist auf bestimmte Stelle in Dokument: Disclaimer: to Löhr Rahmen (frames) bleiben bei lokalem Wechsel des gerahmten Inhalts erhalten:

Eingebettete Programme Zweck:Interaktive Dokumente Voraussetzung: Code kann beim Klienten ausgeführt werden – z.B. vom Browser interpretiert werden. Beispiele: Skript-Sprachen, Java Applets, ActiveX Controls,... vordefiniertes Objekt: Browser-Fenster Skript-Sprachen, z.B. Perl, VBScript, JavaScript,... : Code wird in Dokument eingebettet, z.B. document.write("Hello world!")

Java Applets:übersetzte Java-Programme, Wurzelklasse erbt von Applet, werden von Klassenlader übers Netz nachgeladen <applet codebase=" code="HelloWorld.class" alt="Loading failed... width=500 height=500> This browser is ignorant of applets! import java.awt.*; // file HelloWorld.java import java.applet.*; public class HelloApplet extends Applet { public void paint(Graphics g) { g.drawString("Hello world!",25,50); } } vom Browser übergebenes Objekt: Applet-Bereich

vs9.617 ActiveX Controls: COM-Objekte (d.h. Binärcode) für MS Windows, dynamisch nachgeladen und installiert <object classid=" CLSID, identifiziert.ocx-Datei " codebase=" URL "... >...

vs CGI - Common Gateway Interface erlaubt Bereitstellung von serverseitigen Programmen (häufig in Skript-Sprachen geschrieben), die Webseiten dynamisch erzeugen, Eingaben des Benutzers beim Server verarbeiten. Typische Anwendungen: - Datenbankanfragen - Anmelden, Kaufen,... Web Server fungiert als Prozesserzeuger: wenn statt.html-Datei eine.cgi-Datei angefordert wird, wird Prozeß erzeugt, der das dort vorliegende Programm ausführt und über den Web Server mit dem Browser kommuniziert.

19 httpd prog.cgi Browser http pipe server machineclient machines Kontaktaufnahme des Browsers: CGI-Prozeß hat Umgebungsvariable QUERY_STRING=hello Typische erste Aktion des CGI-Prozesses: HTML-Seite – z.B. mit Formular – zurückschicken (über stdout ): Content-type: text/html MIME type

vs <form action=" method=GET> HTML-Text mit Formularmarken (form tags) </html Eine Formularmarke veranlasst die Darstellung eines GUI-Elements, das auf Benutzer-Aktionen reagiert. Formular ausfüllen und eingetragene Daten abschicken (neuer!) CGI-Prozeß verarbeitet empfangene Daten

vs9.621 Formularmarke unterstützt u.a. folgende GUI-Elemente: einzeiliges Textfeld: <input type="text" name="Von" value="Englisch" size="10" maxlength="30" > Textfeld für Paßwort-Eingabe: runde Auswahltaste (radio button):... und viele weitere

vs9.622 Abschicken der eingetragenen Daten mit rechteckiger Submit-Taste: Tastendruck löst GET/POST aus, wie am Formularanfang angegeben. Dabei werden die zuvor gemachten Eingaben als (name,value)-Paare übermittelt, also z.B. mit GET.../prog.cgi?Von=Polnisch&US+oder+UK=UK&... CGI-Prozeß findet in der Umgebungsvariablen QUERY_STRING die Zeichenkette Von=Polnisch&US+oder+UK=UK&...

vs Servlets Java Servlets ersetzen CGI:statt Erzeugung eines CGI-Prozesses Erzeugung eines Thread, der ein Servlet lädt und ausführt (implementiert javax.servlet.Servlet ) Typische URL eines Servlet: Servlet Engine im Web Server unterstützt Cookies und Sessions Funktionalität eines Servlet wird bestimmt durch Operation public void service(ServletRequest req, ServletResponse res) {..... }

vs9.624 Beispiel: public void service(ServletRequest req, ServletResponse res) { ServletOutputStream out = res.getOutputStream()); res.setContentType("text/html");..... out.println(" "); out.println( ); out.println(" "); String search = req.getQueryParameter("search"); if(search!=null) { // form submission !..... // complete answer form out.println(answerText); } out.println( ); out.println(" "); }

vs JSP und ASP Hässlich bei CGI und Servlets: Programm erzeugt explizit HTML-Code:... out.println(" ");... JSP - Java Server Pages: HTML-Text mit eingebettetem Java-Code – wird beim Server in Servlet-Text umgewandelt und dann als Servlet übersetzt und ausgeführt ASP - Active Server Pages (Dateien.asp ) JSP-Analogon von Microsoft für Skriptsprachen, vor allem VBScript, aber auch JScript u.a.

vs9.626 JSP: Anstelle von public class Datum implements Servlet { public void service(ServletRequest req, ServletResponse res) { ServletOutputStream out = res.getOutputStream()); res.setContentType("text/html"); out.println(" "); out.println("Datum: "); out.println((new java.util.Date()).toString()); out.println(" "); } } haben wir Datum:

vs9.627 ASP: Datum: wird im Web Server von Scripting Engine bearbeitet und in Dokument für Browser umgewandelt Beispiel mit Verarbeitung von Formulardaten:

vs9.628 ASP.NET ist Teil des.NET Framework Prinzipien:- Trennung von GUI-Beschreibung und Programm, - graphische Erstellung von GUI wie bei lokalen GUIs, - Programmcode reagiert auf Ereignisse, - Microsoft-Web-Eingabeelemente werden in HTML-Eingabeelemente umgesetzt z.B. Datei form.aspx Language="C#" Inherits="FormPage" Src="FormPage.aspx.cs" %>... <asp:Button ID="button1" Text="OK"... OnClick="processOK"/>... Klassenname Datei Operation

vs SOAP und Web-Dienste Idee:Web Server für beliebig programmierte Dienste einsetzen, d.h. Web als Middleware Warum? Allgegenwart des Web verspricht allgemeine Akzeptanz in heterogener Welt (statt CORBA,.NET,...) Standard: SOAP – Simple Object Access Protocol für Codierung von Aufrufen und Ergebnissen mit XML

vs9.630 Konsequenzen: Aufgerufen werden Dienste (aus Schnittstellen), keine Objekte: Web-Dienste (Web Services) Wegen XML-Codierung wesentlich langsamer als z.B. CORBA-IIOP Dienst immer erreichbar, wenn Web Server erreichbar (Port 80) Keine prinzipielle Beschränkung auf HTTP und Web Server: z.B. auch SMTP + geeignet konfigurierter Mail Server oder... Entwicklungsumgebungen und Generatoren für Vertreter- und Treiber-Code sind stark herstellerabhängig ! Web-Fernaufrufe? SOAP ist tatsächlich nicht mehr als ein Fernaufruf-Protokoll !

vs9.631 Standardisiert sind aber: WSDL - Web Services Description Language beschreibt Schnittstellen (ports) von Diensten mit ihren Parametern UDDI - Universal Description and Discovery Interface Schnittstelle für Dienstverzeichnisse