Interaktion Jens Harnisch, Timo Harm TIT05BGR. 25.06.2015Interaktion2 / 27 Übersicht Serverseitige WWW-Programmierung Serverseitige WWW-Programmierung.

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Seminar Internet Technologien SS 98
Apache - PHP - MySQL Apache-PHP-MySQL.
Datenbanken Einführung.
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Eine Page von Fachinformatikern für Fachinformatiker
Aufbau des Internets Überblick Prof. Dr. T. Hildebrandt
Basis-Architekturen für Web-Anwendungen
Kurze Einführung in ASP
FI Knowledge Base Eine Page von Fachinformatikern für Fachinformatiker.
Tomcat Web-Server installieren
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
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.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Spezielle Aspekte der Anbindung von Datenbanken im Web.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Einführung MySQL mit PHP
Einstiegsunterricht - Informatik -. Möglichkeiten des Einstiegsunterricht Benutzung und Analyse eines dokumentierten Systems Einführung in die Programmierung.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Interaktion mit Externen Diensten Carsten Schmidt/Andreas Schlesinger.
Jetzt lernen wir.
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.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
... und alles was dazugehört
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Einführung Servlets/JSPs
Erste Schritte mit PHP 5 von Max Brandt, 22. September 2006.
Learning By Doing Thema 1: Dynamische Webseiten und Online Datenbanken (Jarka Arnold) Thema 2: Simulationen, Sound, Schnittstellen (Aegidius Plüss) Thema.
Gegenstand EDV Thema: Informative Webseiten
Client-Server Modell Advanced IT Basics Nicolas Frings.
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Grundlagen: Client-Server-Modell
Das Client/Server – Modell und die XAMPP-Distribution
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Dynamische Webseiten mit PHP [und Python]
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Marko Dragicevic Thomas Bergauer 27.Mai 2008
CGI (Common Gateway Interface)
Java Server Pages Sergej Keterling
Oliver Spritzendorfer Thomas Fekete
Dynamische Webseiten-Generierung
Datenanbindung in Webapplikationen
Einführung in PHP.
Einführung in PHP 5.
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
Datenbankanbindung in Web-Applikationen
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Client-Server-Modell
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
->Prinzip ->Systeme ->Peer – to – Peer
Formulare Vanessa Kogelbauer.
JavaScript Geschichte : Netscape entwickelt LiveScript (Syntax angelehnt an Java) - Umbenennung von Live Script in JavaScript - Mircrosoft.
Ein referat von: Andre Bohdziewicz und Laura Krüger
Datenbanken im Web 1.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
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?"
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
HTML-Workshop: Formulare 1 HTML Formulare Hani Sahyoun RZ Uni Hohenheim.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
1 Servlets Stephan Baldes. 2 Was ist ein Servlet? S E R V L E T = Eine auf Java-Technologie basierte Web-Komponente, die von einem Container.
Eine komplexe Netzanwendung Webserver und Datenbankserver im Netzwerk in einer Anwendung einrichten.
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.
Web-Interface for Multi-FPGA Board Pamette
Datenbanken
 Präsentation transkript:

Interaktion Jens Harnisch, Timo Harm TIT05BGR

Interaktion2 / 27 Übersicht Serverseitige WWW-Programmierung Serverseitige WWW-Programmierung Scriptsprachen zur WWW-ProgrammierungScriptsprachen zur WWW-Programmierung Common Gateway Interface - CGI Common Gateway Interface - CGI Grundlegende KonzepteGrundlegende Konzepte Get / PostGet / Post Umgebungsvariablen des HTTP-ServersUmgebungsvariablen des HTTP-Servers Standard-Eingabe eines CGI-SkriptsStandard-Eingabe eines CGI-Skripts Kommandozeilen-Eingaben an ein CGI-SkriptKommandozeilen-Eingaben an ein CGI-Skript Standard-Ausgabe eines CGI-SkriptsStandard-Ausgabe eines CGI-Skripts

Interaktion3 / 27 Serverseitige Scriptsprachen Anwendungsprogramm wird vom Browser (Client) über den Server auf dem Serverrechner aktiviert und dort ausgeführt Anwendungsprogramm wird vom Browser (Client) über den Server auf dem Serverrechner aktiviert und dort ausgeführt Verarbeitungsergebnisse werden als dynamisch generiertes HTML-Dokument an den Client zurück gegeben Verarbeitungsergebnisse werden als dynamisch generiertes HTML-Dokument an den Client zurück gegeben  Standardschnittstelle : CGI-Interface Anwendungsprogramme auf Serverseite können in beliebiger Programmiersprache erstellt werden Anwendungsprogramme auf Serverseite können in beliebiger Programmiersprache erstellt werden

Interaktion4 / 27 Perl / PHP Perl umfangreiche Scriptsprache, eingesetzt in diversen Bereichen: z.B. Biotechnologie, Finanz-Software, Betriebssystem-Administration und eben Web- Entwicklung. umfangreiche Scriptsprache, eingesetzt in diversen Bereichen: z.B. Biotechnologie, Finanz-Software, Betriebssystem-Administration und eben Web- Entwicklung. CGI-Interfaces in 90% aller Fälle in Perl programmiert CGI-Interfaces in 90% aller Fälle in Perl programmiertPHP Newcomer: angetreten, um speziell die Bedürfnisse von Web-Programmierern zu befriedigen Newcomer: angetreten, um speziell die Bedürfnisse von Web-Programmierern zu befriedigen

Interaktion5 / 27 Perl oder PHP??? persönliche Vorliebe entscheidend persönliche Vorliebe entscheidend kaum prinzipielle Unterschiede zwischen der Syntax bzw. Grammatik beider Sprachen kaum prinzipielle Unterschiede zwischen der Syntax bzw. Grammatik beider Sprachen PerlPHP  Perl mit sofort anwendbaren Modulen Modulen  gutes Datenbankmodul Einfachheit von PHP  viele Funktionen sind direkt in den PHP-Kern integriert PHP-Kern integriert  übersichtlicher als Perl-Scripts  PHP direkt in HTML-Code einbindbar einbindbar

Interaktion6 / 27 ASP stammt von Microsoft  auf Windows-Einsatz beschränkt. stammt von Microsoft  auf Windows-Einsatz beschränkt. Besonderheit: ASP ist keine Programmiersprache, Besonderheit: ASP ist keine Programmiersprache, sondern eine “Programmierumgebung“ JScript und VBScript um ASP-Anwendungen zu realisieren. JScript und VBScript um ASP-Anwendungen zu realisieren. Ab ASP.NET auch mit Visual Basic, C++ und C# realisierbar Ab ASP.NET auch mit Visual Basic, C++ und C# realisierbar

Interaktion7 / 27 Python/Tcl eignen sich auch für Web-Scripting eignen sich auch für Web-Scripting jedoch nicht so ausgereiftjedoch nicht so ausgereift Objektorientierte Sprachen Objektorientierte Sprachen Python  Erweiterbarkeit Python  Erweiterbarkeit Tcl  einfache Syntax Tcl  einfache Syntax

Interaktion8 / 27 Common Gateway Interface - CGI Protokoll, welches einem Webserver gestattet, Daten eines Browser-Requests an ein externes Programm weiterzugeben Protokoll, welches einem Webserver gestattet, Daten eines Browser-Requests an ein externes Programm weiterzugeben

Interaktion9 / 27 Common Gateway Interface – CGI HTML-Dokumente können statisch, d.h. bereits vorgefertigt und auf Abruf am Server abgespeichert vorliegen oder dynamisch erzeugt werden HTML-Dokumente können statisch, d.h. bereits vorgefertigt und auf Abruf am Server abgespeichert vorliegen oder dynamisch erzeugt werden vom Browser angefragte HTML-Dokument wird erst auf Anfrage hin erzeugt. vom Browser angefragte HTML-Dokument wird erst auf Anfrage hin erzeugt. z.B. Warenkataloge (amazon.de) z.B. Warenkataloge (amazon.de) Suchmaschinen (google.de) Zeitungen (heise.de)

Interaktion10 / 27 Common Gateway Interface – CGI Statisches HTML

Interaktion11 / 27 Common Gateway Interface – CGI Dynamisches HTML

Interaktion12 / 27 Common Gateway Interface – CGI Dynamisches HTML WWW-Server bietet Standard-Schnittstelle für serverseitige Programme, mit deren Hilfe das dynamische HTML-Dokument erzeugt wird WWW-Server bietet Standard-Schnittstelle für serverseitige Programme, mit deren Hilfe das dynamische HTML-Dokument erzeugt wird zur Steuerung der Anwendungsprogramme auf dem WWW-Server müssen Parameter übergeben werden können zur Steuerung der Anwendungsprogramme auf dem WWW-Server müssen Parameter übergeben werden können

Interaktion13 / 27 Common Gateway Interface – CGI Dynamisches HTML Bsp.: Ausfüllen und Abschicken eines HTML-Formulars Bsp.: Ausfüllen und Abschicken eines HTML-Formulars

Interaktion14 / 27 Methode “Get“ Daten des ausgefüllten Formulars werden an die URL-Angabe angehängt Daten des ausgefüllten Formulars werden an die URL-Angabe angehängt  (URL-Encoding) URL-Encoding Server schreibt Daten in QUERY_STRING Server schreibt Daten in QUERY_STRING CGI-Programm muß Inhalt der Umgebungsvariablen auslesen und verarbeiten. CGI-Programm muß Inhalt der Umgebungsvariablen auslesen und verarbeiten.

Interaktion15 / 27 Methode “Get“

Interaktion16 / 27 Methode “POST“ Daten des ausgefüllten Formulars werden als eigenständiger Datenstrom an den Server-Rechner gesandt. Daten des ausgefüllten Formulars werden als eigenständiger Datenstrom an den Server-Rechner gesandt. Server stellt Daten dem CGI-Programm über Standardeingabe "stdin" bereit Server stellt Daten dem CGI-Programm über Standardeingabe "stdin" bereit Skript muß die Daten wie eine Benutzereingabe behandeln, die auf der Kommandozeile gemacht wurde. Skript muß die Daten wie eine Benutzereingabe behandeln, die auf der Kommandozeile gemacht wurde. kein EndOfFile-Signal (EOF) gesendet kein EndOfFile-Signal (EOF) gesendet  Auslesen der CONTENT_LENGTH Variable, um die Länge der übermittelten Daten und damit um die Länge der übermittelten Daten und damit deren Ende zu ermitteln. deren Ende zu ermitteln.

Interaktion17 / 27 Methode “POST“

Interaktion18 / 27 Common Gateway Interface – CGI Methoden GET und POST im HTML-Formular Informationssammlung über Nutzer und Daten via Umgebungsvariablen GETPost Daten werden inServer leitet Daten direkt an - QUERY_STRING Standardeingabe des - CONTENT_TYPE CGI – Programms weiter - CONTENT_LENGTH geschrieben.

Interaktion19 / 27 Common Gateway Interface – CGI Zusammenfassung der Methoden GET und POST GETPost Formulareingaben werden an Formulareingaben werden an den im action-Attribut den im action-Attribut angegebenen URL hinter einem angegebenen URL hinter einem „?“ angehängt. „?“ angehängt. HTTP-Server übergibt dem CGI- HTTP-Server übergibt dem CGI- Programm die übergebenen Programm die übergebenen Formulardaten in der Formulardaten in der Umgebungsvariablen Umgebungsvariablen QUERY_STRING. QUERY_STRING. Initiierung eines direkten HTTP- Initiierung eines direkten HTTP- Requests an den im action- Requests an den im action- Attribut angegebenen URL Attribut angegebenen URL Formulardatenübergabe in Formulardatenübergabe in Body des HTTP-Requests Body des HTTP-Requests Body des HTTP-Requests wird Body des HTTP-Requests wird dem CGI-Programm über die dem CGI-Programm über die Standardeingabe zur Verfügung Standardeingabe zur Verfügung gestellt. gestellt.

Interaktion20 / 27 Standardausgabe

Interaktion21 / 27 Beispiel WEB / DB Anbindung über CGI

Interaktion22 / 27 Umgebungsvariablen CGI-Script wird auf Server ausgeführt CGI-Script wird auf Server ausgeführt  CGI-Umgebung stellt Informationen über die Umgebung bereit (  Umgebungsvariablen) Je nach Betriebssystem, Server- und Client- Software können die Umgebungsvariablen variieren Je nach Betriebssystem, Server- und Client- Software können die Umgebungsvariablen variieren

Interaktion23 / 27 Umgebungsvariablen – Ausgabe 1 #!/usr/bin/perl print "Content-type:text/html\n\n"; print "Content-type:text/html\n\n"; foreach (keys(%ENV)) foreach (keys(%ENV)){ print "Der Schlüssel ist $_ und der Wert ist $ENV{$_}"; } Aufruf:

Interaktion24 / 27 Umgebungsvariablen – Ausgabe 2 #!/usr/bin/perl print "Content-type:text/html\n\n"; print "$ENV{DOCUMENT_ROOT} \n"; print "$ENV{REMOTE_ADRESS} \n"; print "$ENV{QUERY_STRING} \n"; Aufruf:

Interaktion25 / 27 Umgebungsvariablen - Ausgabe QUERY_STRING: leer, da keine Userangaben QUERY_STRING: leer, da keine Userangaben übermittelt wurden DOCUMENT_ROOT:Root Verzeichnis des HTTP DOCUMENT_ROOT:Root Verzeichnis des HTTPServers z.B.: bei Apache c:/apache/htdocs. REQUEST_METHOD: Übertragungsmethode der Formulareingaben (get/Post) REQUEST_METHOD: Übertragungsmethode der Formulareingaben (get/Post) REMOTE_ADRESS:zeigt IP des aufrufenden Rechners. REMOTE_ADRESS:zeigt IP des aufrufenden Rechners. CONTENT_LENGTH: Länge des QUERY_STRINGS CONTENT_LENGTH: Länge des QUERY_STRINGS HTTP_USER_AGENT:gibt den Browsertyp an. HTTP_USER_AGENT:gibt den Browsertyp an.

Interaktion26 / 27 CGI - Vorteile Webdokumente werden dynamisch zur Anfangszeit erstellt Webdokumente werden dynamisch zur Anfangszeit erstellt CGI - Programmierung stellt eine schnelle und flexible Möglichkeit zur Web/DB Anbindung CGI - Programmierung stellt eine schnelle und flexible Möglichkeit zur Web/DB Anbindung Unabhängigkeit von der eingesetzten Programmiersprache Unabhängigkeit von der eingesetzten Programmiersprache Möglichkeit der Verwendung beliebiger Web-Servers / Datenbanken Möglichkeit der Verwendung beliebiger Web-Servers / Datenbanken

Interaktion27 / 27 Quellen “Architektur von Webinformationssystemen“ - Gerti Kappel, Werner Retschitzegger, Birgit Pröll, Rainer Unland, Bahram Vojdani