Vergleich von PHP und Node.js anhand typischer Anforderungsprofile an einen Webserver


Hausarbeit, 2019

28 Seiten, Note: 1,7


Leseprobe

Inhaltsverzeichnis

Tabellenverzeichnis

II Abbildungsverzeichnis

Abkürzungsverzeichnis

1 Einleitung
1.1 Inhaltliche Einführung
1.2 Zielsetzung
1.3 Forschungsfrage
1.4 Abgrenzung
1.5 Vorgehensweise und Methodik

2 Grundlagen Webserver
2.1 Definition und Funktion eines Webservers
2.2 Analyse typischer Webseiten / Applikationen
2.2.1 Analyse von Webanwendungstypen
2.2.2 Ableitung der relevanten Webanwendungstypen und Anforderungsdefinitionen

3 Analyse von PHP und Node.js
3.1 Grundlagen von PHP
3.2 Grundlagen von Node.js
3.3 Zusammenfassung des Vergleichs

4 Einschätzung der Programmiersprachen anhand ermittelter Anforderungen
4.1 Zusammenfassung der Nutzwertanalysen und Handlungsempfehlungen

5 Fazit und Rückblick auf Forschungsfrage

Anhänge

Anhang 1 - Nutzwertanalyse: Suchdienst

Anhang 2 - Nutzwertanalyse: soziales Netzwerk

Anhang 3 - Nutzwertanalyse: horizontaler Marktplatz

Anhang 4 - Nutzwertanalyse: Anwendungsdienst

Anhang 5 - Nutzwertanalyse: Streaming - Portal

Anhang 6 - Nutzwertanalyse: Informationsdienst

Anhang 7 - Nutzwertanalyse: Bezahldienst

Anhang 8 - Nutzwertanalyse: Unternehmensportal

Literaturverzeichnis

Tabellenverzeichnis

Tabelle 1 - Top 50 Webseiten weltweit; Quelle: (eigene_1 Tabelle; Datenquelle: SimilarWeb LTD, 2019)

Tabelle 2 - Schnittmenge mehrfach genannter Webseiten; Quelle: eigene Tabelle

Tabelle 3 - Einordnung der typischen Webseiten; Quelle: eigene Tabelle

Tabelle 4 - relevante Webanwendungstypen; Quelle: eigene Tabelle

Tabelle 5 - Zusammenfassung der Anforderungen der Webanwendungstypen; Quelle: eigene Tabelle

Tabelle 6 - Ergebnis der Nutzwertanalysen; Quelle: eigene Tabelle

Abbildungsverzeichnis

Abbildung 1 - Kommunikation zwischen Browser und Server; Quelle: (DATACOM Buchverlag GmbH, 2019)

Abbildung 3 - Top 25 Webseiten in den USA; Quelle: (comScore_1, 2018)

Abbildung 2 - Top 20 Webseiten in Deutschland; Quelle: (comScore_2, 2018)

Abbildung 4 - Übersicht Arten von Webseiten; Quelle: eigene Darstellung; Inhaltliche Anlehnungen an: S. 302 - S. 327 (Hans Robert Hansen, 2015), (Webdesigner einer Medienagentur, 2019)

Abbildung 5 - Nutzung von serverseitigen Programmiersprachen; Quelle: (W3Techs_1, 2019)

Abbildung 6 - Hallo Welt in PHP; Quelle: (PHP.net, 2019)

Abbildung 7 - Nutzung von Webservern; Quelle: (W3Techs_2, 2019)

Abbildung 8 - Verhalten von PHP und Node.js; Anlehnung an Quelle: (Code School, 2019)

Abbildung 9 - Ergebnisse bei der Berechnung von Fibonacci (10); Quelle: (Kai Lei, 2014)

Abbildung 10 - Hallo Welt in Node.js; Quelle: (Node.js Foundation_2, 2019)

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

1 Einleitung

Im Rahmen der vorliegenden Arbeit an der FOM Berlin wird ein Vergleich von den beiden Serverinf- rastrukturen „Node.js“ und „PHP“ durchgeführt. Dies geschieht dabei anhand typischer Anforderungs- profile für einen Webserver.

1.1 Inhaltliche Einführung

Die Veröffentlichung des HTTP-Protokolls von Tim Berners-Lee war ein wichtiger Schritt für die tech- nische Nutzbarkeit des Internets1. Durch dieses Protokoll ist es seitdem möglich, gezielt Verbindungen zu anderen Servern aufzubauen, um Webseiten und andere Informationen abzurufen. Was am Anfang als reine HTML- Datei, die statische Inhalte abbildet, begann, entwickelte sich im Laufe der folgenden Jahre zu interaktiven und komplexen Webanwendungen.

Damit Webseiten auf Interaktionen des Users reagieren können, ist klassischerweise eine Server- infrastruktur notwendig, die Eingaben des Users verarbeitet und entsprechend Ergebnisse zurückgibt. Eine der klassischsten Infrastrukturen ist dabei der Einsatz von PHP, welches 1995 erschien.

Es entwickelten sich viele Lösungen und Webseiten auf Basis von PHP und parallel viele weitere Architekturen und Sprachen (z. B. Perl, Python, Ruby, ASP.Net) für die Umsetzungen von Web- anwendungen.

2009 wurde das Framework „Node.js“ zur serverseitigen Verwendung von JavaScript für den Betrieb von Webanwendungen entwickelt. Dadurch ist es möglich, JavaScript sowohl in der client- als auch in der serverseitigen Programmierung einzusetzen.2 Dabei tritt die Frage auf, ob es Vorteile bringt, „Node.js“ statt einer klassischen „PHP“-Infrastruktur zu verwenden.

Dies kann dabei nicht generalisiert beantwortet werden, da die Sprachen zu unterschiedlichen Zeiten für unterschiedliche Zwecke gebaut wurden. Die Vor- und Nachteile müssen je nach Anwendungsfall be- wertet werden.

Diese Bewertung ist auf empirischer Ebene aufwendig, da es ein großer Aufwand ist, die jeweiligen Eigenschaften der Programmiersprachen auf die einzelne Webanwendung abgestimmt zu bewerten.

1.2 Zielsetzung

Zur Vereinfachung einer Bewertung von „Node.js“ und „PHP“ sollen Handlungsempfehlungen entwickelt werden. Dabei erfolgt die Bewertung anhand von Anforderungsprofilen typischer Webseiten. Je Anforderungsprofil soll dafür eine Handlungsempfehlung entwickelt werden, die als Ausgangspunkt für die Betrachtung der eigenen Webanwendung dienen kann.

1.3 Forschungsfrage

Gibt es typische moderne Webanwendungen, bei denen sich „Node.js“ besser eignet als eine klassische „PHP-Infrastruktur“?

1.4 Abgrenzung

Die vorliegende Arbeit soll keine Einführung in die vorgestellten Programmiersprachen sein. Sie hat nicht den Anspruch, alle möglichen Sprachen für eine Webapplikation zu berücksichtigen. Des weiteren werden in der Arbeit keine entwicklerspezifischen Perspektiven (z. B. benötigte Fähigkeiten, Einarbei- tungsaufwand, etc.) berücksichtigt. Bei der Analyse der Webanwendungstypen und der anschließenden Bewertung der Programmiersprachen „Node.js“ und „PHP“, werden nicht alle denkbaren Webanwen- dungstypen betrachtet.

1.5 Vorgehensweise und Methodik

Zuerst werden die grundlegenden Eigenschaften und Fähigkeiten eines Webservers betrachtet. Anhand einer Literaturanalyse und eines ausführlichen Experteninterviews werden Profile für typische Websei- ten/ -applikationen erstellt. Diese werden dabei durch ihre typischen Eigenschaften und Anforderungen definiert. Die erstellten Anforderungsprofile bilden die Grundlage für die anschließende Untersuchung der Programmiersprachen.

Dabei bilden sie den Ausgangspunkt für eine anschließende Analyse. Diese bildet die Basis für eine Bewertung der Programmiersprachen anhand von Nutzwertanalysen. Die Anforderungen des Webappli- kationstyps werden als Kriterien und die Programmiersprachen als zu bewertende Alternativen darge- stellt. Auf Basis der Ergebnisse der Nutzwertanalysen wird eine Handlungsempfehlung für das jeweilige Anforderungsprofil erstellt.

2 Grundlagen Webserver

2.1 Definition und Funktion eines Webservers

Ein Webserver dient zur Verbreitung von Webinhalten. Dabei ist dieser keine physische Komponente, sondern eine Software, die Programmcode ausführen kann. Webinhalte stellt er dabei nach dem Client- Server-Modell den Internet- bzw. Intranetnutzern zur Verfügung. Dabei übertragen die Server Dateien an die Browser, die diese wiederum interpretieren und als Webseite darstellen.

Der Ablauf eines Webseite-Aufrufs beginnt dabei mit einer Eingabe einer Internetadresse in einem Browser. Anschließend wird eine Verbindung zum DNS-Server aufgebaut, der die entsprechende IP- Adresse dazu auflöst. Sie wird an den Client zurückgesandt, welche dann genutzt wird um eine TCP- Verbindung zum Webserver aufzubauen. Darauf fordert der Browser eine Datei vom Webserver an. Diese Datei kann dabei statisch vom Webserver abgerufen oder dynamisch erzeugt werden. Bei einer dynamisch erzeugten Webseite hat der Server vorher Programmcode ausgeführt. Dabei könnte bei- spielsweise PHP oder Node.js ausgeführt sein und eventuell eine Datenbank für das Laden von Inhalten benutzt worden sein. Die dadurch erstellte oder statische Seite wird an den Client gesendet, eventuell müssen weitere Anfragen an den Server gestellt werden um zusätzliche Inhalte (z. B. Bilder, CSS- Dateien) zu laden.3

Ein Webserver kann die Anfragen mehrerer Browser verarbeiten. Die Anzahl der möglichen gleichzei- tigen Anfragen hängt dabei von der Hardware und der eingesetzten Programmiersprache ab.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1 - Kommunikation zwischen Browser und Server;

Quelle: (DATACOM Buchverlag GmbH, 2019)

Neben der Primäraufgabe, der Übertragung von Webinhalten, bieten viele HTTP-Server noch weitere Funktionen4:

- Verbindungssicherheit: die Verschlüsselung der Kommunikation zwischen dem Webserver und dem Webclient durch den Einsatz von HTTPS
- Zugriffsbeschränkung: die Bereitstellung einer Nutzerauthentifizierung für geschützte Bereiche einer Webseite
- Weiterleitung / Fehler: die Weiterleitung eines Dokumentenaufrufes auf andere Inhalte (z. B. bei einer Fehlerseite)
- Caching: den Einsatz von Caching-Methoden um dynamisch erzeugte Dokumente zwischen zu speichern und die Last auf den Webserver zu minimieren
- Cookie-Verwaltung: das Senden und Verarbeiten von Cookies
- Protokollierung: Ereignisse auf dem Webserver für spätere Analysen protokollieren

Der Webserver ist daher die zentrale Komponente für die Darstellung von Webinhalten und die Aus- führung von Webapplikationen.

2.2 Analyse typischer Webseiten / Applikationen

Da die Bewertung der Programmiersprachen „Node.js“ und „PHP“ auf die Webanwendung spezifisch vorgenommen werden muss, ist eine Einteilung der Webseiten in Webanwendungstypen erforderlich. Der Begriff „typische Webseiten“ wird in der vorliegenden Arbeit synonym zu den beliebtesten Web- seiten genutzt. Als Ausgangspunkt der Analyse werden mehrere Statistiken der meistbesuchten Web- seiten verwendet, da diese die populärsten Webseiten abbilden und die Nutzung von Webanwendungen für die Mehrheit der Bevölkerung widerspiegeln. Die nachfolgenden Statistiken zeigen die meistbesuch- ten Internetseiten der USA und Deutschlands auf.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3 - Top 20 Webseiten in Deutschland;

Quelle: (comScore_2, 2018)

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2 - Top 25 Webseiten in den USA;

Quelle: (comScore_1, 2018)

Für die Betrachtung der global am häufigsten besuchten Webseiten, ist die nachfolgende Quelle genutzt worden. Da diese keinen kostenlosen Zugang bietet, jedoch die 50 beliebtesten Webseiten als Vorschau anbietet, wurden die Daten extrahiert und in einer eigenen Tabelle dargestellt.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 1 - Top 50 Webseiten weltweit;

Quelle: (eigene_1 Tabelle; Datenquelle: SimilarWeb LTD, 2019)

Die drei vorangestellten Auswertungen sind ausgewählt worden, um eine Analyse der typischen Web- seiten möglichst unabhängig von der Messmethode und dem Betrachtungswinkel zu ermöglichen. Um die gemeinsam genannten Webseiten zu ermitteln, wurde aus den Statistiken die Schnittmenge der mehrfach genannten Seiten gebildet.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 2 - Schnittmenge mehrfach genannter Webseiten

Quelle: eigene Tabelle

Die hierbei ermittelte Schnittmenge bildet in der vorliegenden Arbeit die „typischen Webseiten“ ab, die bei der späteren Ermittlung der relevanten Webanwendungstypen die Grundlage bilden.

2.2.1 Analyse von Webanwendungstypen

Auf Basis einer Literaturrecherche und einem Experteninterview mit einem Webdesigner aus einer Medienagentur5 wurde eine Übersicht der im Internet vorwiegenden Webanwendungstypen erstellt. Diese Übersicht dient als Grundlage, um in Verbindung mit der vorhergehenden Analyse der typischen Webseiten die relevanten Webanwendungstypen abzuleiten

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4 - Übersicht Arten von Webseiten; Quelle: eigene Darstellung; Inhaltliche Anlehnungen an: S. 302 - S. 327 (Hans Robert Hansen, 2015), (Webdesigner einer Medienagentur, 2019)

2.2.2 Ableitung der relevanten Webanwendungstypen und Anforderungsdefinitionen

Durch die vorhergehende Analyse der Webseitenarten und der Schnittmenge der Analyse der typischen Webseiten, konnte jetzt eine Einordnung anhand der Arten vorgenommen werden. Diese Einordnung wurde im Rahmen des Experteninterview durch den Webdesigner der Medienagentur vorgenommen.

Da die Webseiten der Schnittmengenanalyse teilweise verschiedene Funktionen anbieten, wurden bei der Einordnung die Hauptfunktionen betrachtet und manchen Webseiten wurden mehrere Typen zuge- ordnet. Die mehrfache Zuordnung stellt sicher, dass jede Perspektive der Webseite betrachtet wird und keine wesentlicher Webanwendungstyp in der späteren Nennung der eineindeutigen vernachlässigt wird.

Die folgende Übersicht zeigt die Einordnung der typischen Webseiten durch den Webdesigner der Medienagentur.6

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 3 - Einordnung der typischen Webseiten; Quelle: eigene Tabelle

So wurden die „Google Seiten“ sowohl als Suchdienst, Webapplikation und Soziales Netzwerk einge- ordnet. Google gilt weithin als größter Suchdienst im Internet. Ein Suchdienst ist ein Dienst im Internet, der Benutzer beim Auffinden von gesuchten Webseiten bzw. Webanwendungen unterstützt.7 Oath wurde ebenfalls als Suchdienst eingeteilt, da die bekanntesten Marken des Unternehmens AOL und Yahoo sind.

Da sie für viele Nutzer einen Einstiegspunkt ins Internet darstellen, muss ein Webserver in der Lage sein, viele Suchanfragen gleichzeitig zu bearbeiten. Dabei ist eine schnelle Durchsuchung des Verzeich- nisses und eine schnelle Datenbankverbindung notwendig, damit die Nutzer das Ergebnis ihrer Such- anfrage möglichst in Echtzeit erhalten. Für die Analyse von Webinhalten und Medien, benötigen die Suchmaschinen teilweise komplexe Funktionen8.

Die Aufgaben eines sozialen Netzwerkes erfüllen der Google-Dienst „Google Plus“ sowie „Facebook“ und „Twitter“. Ein soziales Netzwerk ist dabei eine virtuelle Gemeinschaft, die Beziehungen zwischen Personen und Gruppen abbildet. Dabei unterstützt es die Interaktion der Beteiligten.9

[...]


1 Vgl. (Connolly, 2019)

2 Vgl. (Hlambert63, 2019)

3 Vgl. (DATACOM Buchverlag GmbH, 2019); Vgl. (Roland Bauch, 2004)

4 Vgl. (1&1 IONOS SE, 2019)

5 eigene Quelle, Mitarbeiter möchte aus Gründen des Datenschutzes nicht näher genannt werden.

6 während des Experteninterviews (Webdesigner einer Medienagentur, 2019)

7 Vgl. S. 306 (Hans Robert Hansen, 2015)

8 komplexe Funktionen werden in der vorliegenden Arbeit vorwiegend mit Notwendigkeit von Mehrfachverer- bungen assoziiert; Anforderungsbeschreibung im Interview (Webdesigner einer Medienagentur, 2019)

9 Vgl. S. 313 (Hans Robert Hansen, 2015)

Ende der Leseprobe aus 28 Seiten

Details

Titel
Vergleich von PHP und Node.js anhand typischer Anforderungsprofile an einen Webserver
Hochschule
FOM Hochschule für Oekonomie & Management gemeinnützige GmbH, Berlin früher Fachhochschule
Note
1,7
Autor
Jahr
2019
Seiten
28
Katalognummer
V498951
ISBN (eBook)
9783346057143
Sprache
Deutsch
Schlagworte
vergleich, node, anforderungsprofile, webserver
Arbeit zitieren
Sebastian Engert (Autor), 2019, Vergleich von PHP und Node.js anhand typischer Anforderungsprofile an einen Webserver, München, GRIN Verlag, https://www.grin.com/document/498951

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Vergleich von PHP und Node.js anhand typischer Anforderungsprofile an einen Webserver



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden