« Der Webserver Datenbankanbindung »

Webserver-seitige Programmierung

24. Februar 2009 Roland

Dieser Artikel ist Teil 13 von 26 der Artikelserie Programmieren

Wir haben ja schon darüber gesprochen, dass es viele verschiedene Webclients gibt. Wir können also nicht davon ausgehen, dass auf jedem Webclient JavaScript, Flash, PDF usw. vorhanden ist. Häufig ist ausser HTML nichts vorhanden. Also können wir interaktive Webapplikationen nicht nur auf dem Webclient bauen, sondern müssen die Funktionalität auf den Server installieren. Nur hier können wir sicher sein, dass wir unsere benötigten Runtime Umgebungen wirklich vorfinden.
Wir werden im Folgenden vor allem mit PHP arbeiten. Zuerst wollen wir jedoch schauen was der Webserver mit einem Get-Request macht, wenn eine PHP gezogen wird.
Ablauf beim get Request für PHP Programme
Der Webclient ruft den Webserver und fragt nach einer Datei die mit .php endet. Der Webserver interpretiert die Anfrage und stellt fest, dass es sich um eine Datei handelt die PHP beinhaltet. Er leitet die Anfrage des Webclients an den PHP Interpreter weiter. Dieser interpretiert die PHP Datei und liefert dem Webserver einen String zurück. Dieser String beinahltet die Ausgabe, die der PHP Interpreter generiert hat. Die Funktionen, die in dem PHP Dokument beschrieben wurden, werden somit nicht zum Webclient ausgeliefert.

Aufgaben

Wenn du eine HTML Datei schreibst und in dieser HTML Datei einen JavaScript Code einträgst, wo wird dieser interpretiert? Beschreibe den exakten Ablauf.
Stell dir vor du bindest ein Java Applet in dein HTML Dokument ein. Wie viele Aufrufe werden zum Webserver durchgeführt und wer interpretiert dieses Java Applet? (Client oder Server?)
Wenn du eine PHP Datei erstellst, wer interpretiert die PHP Seite?
Wenn du ein Java Application Server aufrufst, was wird an den Webclient zurückgeliefert?
Wenn du ein in Perl geschriebenes Script aufrufst, was wird an den Webclient zurückgeliefert?
Wenn du ein CGI Script aufrufst, wer interpretiert dieses Script?
Gebe fünf serverseitige Sprachen an.
Gebe fünf Sprachen an, die auf dem Webclient installiert und verwendet werden.

Korrekturen im Sequenzdiagramm

onli hat mich darauf hingewiesen dass ich zu dumm bin meinen Enterprise Architect zu bedienen :)

Ich hatte ursprünglich das Sequenzdiagramm wie folgt erstellt:
Nicht korrektes Sequenzdiagramm

Hier könnt ihr sehen, dass die Return Werte von Internet, Webserver und PHP Interpreter keine Returnwerte sondern Function Calls sind. Und onli hat richtig erkannt, dass ich hiermit eine Rekursion erzeugen würde. Die Function Calls rufen auf den vorigen Systemen Funktionen auf. Unter Umständen können hierdurch Rekursionen entstehen. Falls, wie in diesem Diagramm dargestellt, jedoch andere Funktionen aufgerufen werden, dann entsteht hierdurch keine Rekursion. Aber ich habe keine Funktion die irgendwie outptut() heisst. Also ist das Diagramm ziemlicher Blödsinn.

Tja, im Enterprise Architect gibt es bei der Definition der Message eine Checkbox mit dem Namen isReturn. Wau! Kaum drückt man da drauf wird aus dem Function Call ein Returnwert. Tja, wie das alte Sprichwort sagt: “A fool with a tool is still a fool”

Vielen Dank für die Information!

Seriennavigation«Der Webserver Datenbankanbindung»
Merken und weiterempfehlen Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Technorati
  • Wikio DE
  • Webnews
  • MisterWong
  • Y!GG
  • Digg
  • del.icio.us

Artikel mit ähnlichen Schlagwörtern

Der Beitrag wurde am Dienstag, den 24. Februar 2009 um 00:25 Uhr veröffentlicht und wurde unter Programmieren abgelegt.

Dir gefiel der Artikel? Dann abonniere doch den RSS Feedrss

Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

2 Reaktionen zu “Webserver-seitige Programmierung”

  1. onli sagt:

    Hi
    Ich finde es ziemlich gut, dass du mit Sequenzendiagrammen arbeitest, ich sehe die sonst fast nie im realen Einsatz. Gerade deshalb die Nachfrage: soll das Rechteck am Ziel der Return-Pfeile nicht eigentlich nur einen rekursiven Aufruf markieren? Das würde hier wenig Sinn ergeben.
    Gruß

  2. roland sagt:

    Hallole,

    ich bin leider im Moment ziemlich Offline und konnte dir daher noch keine vernünftige Antwort liefern.
    Ich muss mir dass Sequenzdiagramm und die Definintion davon kurz nochmal genauer ansehen. Ich habe das Ding einfach nur kurz mit dem Enterprise Architekt runtergezeichnet und bin mir im Moment nicht sicher ob ich hier einen Fehler gemacht habe oder ob das Tool da was merkwürdig interpretiert. Eine Rekursion ist auf alle Fälle hier vollkommener Unsinn.
    Ich melde mich diesbezüglich spätestens am Freitag wieder. (Arbeiten und England verzögern bei mir das Bloggen ein wenig) ;)

    Grüssle

    Roland

Schreibe mir

Kommentare abonnieren ohne selbst zu kommentieren

zum Seitenanfang