| INF P: Webserver im Eigenbau | SG | INF | |
|---|---|---|---|
| Dozent : |
Prof. Dr.-Ing. Stefan Edlich eMail | Homepage |
Semester | 7 |
| Einordnung : | Informatik, Projekt | SWS | 4 |
| Sprache : | Deutsch | Art | L |
| Prüfungsart : | PVL2 | Credits | 4 |
| Prüfungsform : | sonstige schriftliche Arbeit | ||
| Voraussetzungen : | |||
| Querverweise : | |||
| Vorkenntnisse : | Java | ||
| Hilfsmittel und Besonderheiten : | Ein auch in begrenztem Maße über das Projekt hinausgehendes Interesse und Engagement an der Aufgabenstellung | ||
| Lehrziele : | Sich systematisch einer großen interessanten Aufgabe nähern und diese sauber Programmieren. Hintergrundwissen zu RFCs (speziellen Standards), den Web-Protokollen, Threadprogrammierung, Sockets, Parser und Testmodule. Ziel ist es weiterhin, innerhalb von einem oder mehreren Semestern «den» WebServer für und von der FH-Brandenburg zu entwickeln und diesen auch überregional zu promoten. | ||
| Lehrinhalte : | Gute Web-Server gibt es bereits. Mit dem Apache Web-Server als kostenlosem Marktführer steht jedem Anbieter von Inhalten ein leistungsfähiges Paket zur Verfügung. Die Breite der verfügbaren Server wie Jetty oder Tomcat, die auch weitere Dienste anbieten, geht bis zu 10k Servern, die als Java jar verfügbar sind. Warum also einen weiteren Server? Ziel unseres Webservers Namens Tweety ist es, die einfachste Installation, Konfiguration und Administration zur Verfügung zu stellen. Als weitere Randbedingung soll dennoch der RAM-Resourcenverbrauch und die Geschwindigkeit, Skalierbarkeit & Parallelisierbarkeit möglich und gut steuerbar sein. Dies alles in einem höchstens 100k großen jar. Damit würde Tweety eine Nische ausfüllen, die am Markt noch nicht ideal gefüllt ist. Die Teilnehmer und der Dozent dieser Lehrveranstaltung werden dazu klar umrissene Teilaufgaben übernehmen, deren Ergebnisse von den anderen Kollegen benötigt werden und so quasi wie in einem «realen» Industrieprojekt arbeiten. Teilgebiete dieses Projektes sind: * Entwicklung eines Prototypen, der die Browser abhorcht Obwohl die Entwicklung eines wirklich leistungsfähigen Web-Servers als großes Projekt zu betrachten ist, werden sich Erfolge in der Grundfunktionalität (einfache Requestbearbeitung) von Tweety recht schnell einstellen. Das Ziel ist es dannach, weiter dranzubleiben und die schwierigen Dinge wie Skalierbarkeit, Clustering, Session-Management / Cookies, und Module für dynamische Verarbeitung (z.B. Weblets, SSI, PHP, Servlets) etc. anzugehen und so Tweety zu einem noch leistungsfähigeren Vogel zu machen. Entwickelt wird hier unter Eclipse mit diversen hilfreichen PlugIns. Es wird ein eigener CVS-Projektbereich genutzt werden. | ||
| Literatur : | RFCs und Java-Literatur (GoTo Gava 2 oder die Java Insel), java.nio.*, java.lang.Thread | ||
