Projektplanung Online Applikationen [email protected] [email protected] Projektplanung Online Applikationen 1 Inhaltsverzeichnis a Einleitung .................................................. Seite 03 b Grundbegriffe .................................................. Seite 04 c Logon / Logout .................................................. Seite 08 d Article Overview / Artikelüberblick ........................ Seite 09 e Artikel-Metainfo-Editor ........................................ Seite 13 f Artikel-Content-Editor ......................................... Seite 16 g Text-Elemente .................................................. Seite 18 h Microtemplates .................................................. Seite 19 i Bild-Elemente j HTML-Elemente .................................................. Seite 25 k Container l Topics m Rules n Templates .................................................. Seite 22 .................................................. Seite 26 ................................................... Seite 28 ................................................... Seite 29 .................................................. Seite 31 o Frequently Asked Questions (FAQ) ....................... Seite 36 Projektplanung Online Applikationen 2 a Online Applikationen - was ist das? - was ist es nicht? - Online: was ist online, was ist offline? offline: CD-Rom / DVD-Rom unvernetzte Desktop Applikationen online: Websiten vernetzte Desktop Applikationen (ICQ) - Applikationen aka: Programme, Software: Funktionalität wird geliefert, im Hinetrgrund steht eine Programm-Logik (Software) bereit, die die Inputs durch den USer unmittelbar verarbeitet (starke Interaktion durch Benutzer). Abgrenzung im Web: reine HTML-Seiten ohne Funktionalität (ausser Links) Historisch: - zunächst im WWW: Statische Seiten, HTML, Links - best. Bereiche lassen sich statisch lösen, ökonomischer aber mit Applikationen (Content-Seiten (orf.at, spiegel.de) - best. Bereiche sind gar nicht statisch zu bewältigen: alles das wo User direkten und ständigen Einfluss auf die Inhalte nehmen muss: Shop, Konto, Auskünfte (etb, Bahn, Flüge). Projektplanung AM BEISPIEL von Online Appplikationen Projektplanung Online Applikationen 3 b Projektmanagement Aufgaben: - planen kommunizieren ** Teambildung ** begleiten koordinieren ** Probleme lösen ** abschliesen nachbetreuen planen: - Projektziel definieren - Ablüfe & Zeitpläne festlegen - Kosten planen kommunizieren: - in viiele Richtungen, mit: Kunden, Team, Subunternehmer, annderen Auftragnehmern Teambildung: - noetige Ressourcen sammeln - Zuständigkeiten und Verantwortlichkeiten vergeben - menschliche Faktoren beachten begleiten - Entwicklungen verfolgen - Projektstatus erfassen (ständig) Projektplanung Online Applikationen 4 koordinieren : - in viiele Richtungen, mit: Kunden, Team, Subunternehmer, annderen Auftragnehmern Probleme lösen: - technische, finanzielle, rechtliche, menschliche abschliessen - checken, wenn Projektziel erreicht ist. nachbetreuen - zuätzliche Aufträge erreichen - Support bereitstellen, garantieren Projektplanung Online Applikationen 5 c Faktoren für den Erfolg von IT Projekten • Funktionalität • Zeit • Kosten Es ist leicht zu sagen ob ein Projekt erfolgreich war oder nicht: Wenn diese 3 Faktoren vollinhaltlich erfüllt sind, ist ein Projekt erfolgreich. - Funktionalität: Sind alle geplanten Features vorhanden und funktionieren sie auch so auf einer dauerhaften Basis? - Zeit - Kosten Nicht nur Kosten nach uassen, zum Kunden; sondern auch nach innen, nach dem Aufwand der gelleistet wird. Kunde nimmt i.d.R. keine Rücksicht auf gestiegen Kosten beim Auftragnehhmer. Diese Formel hat in jedem IT-Projekt gültigkeit, auch wenn es interne oder auch nicht kommerzielle (zB Projekte an Schule). Kurzformel: Wurde die gewünschte F. in der geplanten Zeot zu den veranschlagten Kosten ferztiggestellt? Projektplanung Online Applikationen 6 d Entwicklungsmodelle Beispiel “Wasserfallmodell” • Analyse • Design • Implementierung - Analyse (WAS) - Design (WIE) - Implementierung (UMSETZUNG) Projektplanung Online Applikationen 7 e Ausgangssituation des Projekts, Vision Impuls Wunsch des Kunden Vorgaben und Standards Jener Moment, in dem noch nichts schief gelaufen ist, weils noch nichts schieflaufen konnte. (magic) Was gibt den Anstoss, dass ein Projekt begonnen wird? Kosten? Zeit? Funktionalität? Klar ist, dass immer der Wunsch nach einer F. den ersten Impuls für ein Projekt gibt. Sit: kunde am Telefon, Ja hallo, wir brauchen ein Shop, Produktdatenbank, können Sie das für uns regeln? Ist diese Information ausreichend? Nein. Aufgabe der Projektletiung, mit dem Kunden zusammen seinen Wunsch genauer zu definieren (Re-Briefing, etc) ___ Vorgaben des Kunden: Technologie, Sicherheit, Partner, Migration bestehender Systeme Definition der eingesetzten Software-Technologien Hardware: Enwticklungssysteme, Produktivsysteme Projektplanung Online Applikationen 7 Kompatibilit‰t & Standards: Gibt es bestehende Systeme, zuk¸nftige Systeme die mit dem Projekt interagieren sollen --> next page Projektplanung Online Applikationen 2 f Initial-Szenarien Neuentwicklung Neuentwicklung als Ersatz Modifikation/Erweiterung historisch: erster Fall immer seltener Projektplanung Online Applikationen 7 g Projektziel/Spezifikation Wer kein Ziel hat, weiss nicht ob er/sie es erreicht. Definition des Projektzieles Warum? Spezifikation und Ihre Bestandteile Wer kein Ziel hat, weiss nicht ob er/sie es erreicht. Exakte Definition des Projektzieles: - um das Erreichen des Zieles oder Scheitern feststellen zu können - Klarheit zwsichen A.nehmer und Kunden über Erreichen des Projektziels, und alle Beteiligten - Erreichen von Zwischenschritten feststellen - Dokumentation Diese Definition des Projektzieles nennt sich Spezifikation. (In jedem techn. Bereich gibts Spez., auch im Flugzeugbau.) Durch die Spezifikation ergibt sich notwendigerweise eine Strukturiereung des Projekts, dh einzelne Teile werden erkennbar. Woraus besteht die Spezifikation: - Projketbeschreibung (allgemeinverständlich (Kurz-, Langfassung)) - detailieerte Spezifikation der Funktionalitäten - Definition der Software- und Hardware-Umgebung (SW: OS, Webserver, Datenbank, Skripting) , (HW: Pentium, POwerPC, Sparc (Sun)) - Datenmodell (Db, Tabellen, Felder), programmiertechnische Methodologie Projektplanung Online Applikationen 7 - User Interfaces: Welche Interfaces sollen entwickelt werden? - Spezifikationszusammenfassung für externe Verwendung (Kunden, etc.) Gibt es verschiedene User? Usermodell: Welche User, welche Usergruppen, welche Rechte gibt es? Projektplanung Online Applikationen 2 h Zeitplan Projektschritte Milestones Deadline: Die Abnahme Nachvollziehbarkeit nach aussen Kommunikation Zeitplan ist in der Regel die Frage, wie ein Projekt zeitlich strukturiert werden kann innerhalb eines vorgegebenen Zeitrahmens. Der Zeitpunkt des Projektabschlusses wird meist in Absprache mkit Auftragnehmer vorgegeben. Ein Hilsmittel zur Fetslegung eines Zeitplanes istes, das Gesamtprojekt in einzelne Teile zu zerlegen, Projektschritte. Dabei kann man sich der Spezifikation beidenen, die schon erste Struukturierungen vorgenommen hat. In Projektschritten werden thematisch, zeitlich und logisch zusammenghörende Aufgaben subsummiert. - versch. Projektschritte unterschiedlicher Aufgabenbereiche können sich überlappen (Gleichzeitigkeit (zb: db-Design + Interaktions-Design, Programmierung + Grafik-Design, etc.)) - es wird festgelegt, wie viel realzeit ein Projektschritt benötigt (Realzeit im gegensatz zur Arbeistzeit) Milestones: Um enntlang der Zeitachse Orientierung zu schaffen, werden Milestones eingefügt. wichtige Projektschritte in Verbindung mit einem Zeitpunkt. - Grund zu feiern! - Zwischenergebnisse, die dem Kunden gezeigt werden (Grundsteinlegung, Dachgleiche) Projektplanung Online Applikationen 7 i Bsp für Projektschritte Projektleitung Konzeption Design Grafikproduktion HTML OS Datenbank Skripting Java-Entwicklung Text Projektplanung Online Applikationen 7 j Human Ressources benötigte Ressourcen verfügbare Ressourcen externe Ressourcen Wo wir wissen, welche REssourcen benötigt werden, fargen wir: Sind dieses Ressourcen verfügbar, u zw in dem Ausmaß und zu dem Zeitpunkt wo sie benötigt werden? Wenn nein, kann man diese Res. aufbringen, in dem man zB zusätzliche Personen mit dem galanten Spruch “Wos is, brauchst an Job?” anlabert. Sollte selbst dies nicht gelingen, greift man auf externe Ressourcen zurück. Dies mit etwas Bacuhweh, da diese ext. Res. kosten- und kommunikationsmäßig aufwändiger als interne sind. Projektplanung Online Applikationen 7 k Teambildung - Welche Rollen gibt es in Teams? - Kompetenzverteilung, Verantwortlichkeiten - Mögliche Probleme im Team //- Definition von normierten Arbeitsabläufen Rollen technisch: - gebunden an Ressourcen Rollen metaphysisch: - Motivatoren - Moderatoren - Pedanten - Querulanten - Seelsorger - ... Klare Kompetenzverwaltung: jeder sollt eim klaren sein was seine Kompetenzen sind, 2 Personen sollten nicht diesseleben Kompetenzen haben. Kompetenz ≠ Veranzwortlichkeit. Was sind erfolgsfaktoren für Teamarbeit: ca. 50 % konkrete Fähigkeiten > 50 % menschliche Faktoren Projektplanung Online Applikationen 7 l Aufwandschätzung + Angebote - in “Manntagen” oder Stunden nach Projektschritten nach Ressourcen Gesamt - Verhandlungsspielraum! Um zum Angebot zu kommen gibt es 2 Schritte: - Einschätzung des Aufwandes - Kalkulation des Aufwandes in Geldwert Aufwand: - Frage: Wieviel Aufwand in Arbeitszeit (≠ Realzeit) fällt je Projektschritt an. Bsp Projektschritt Design = 2 Wochen Realzeit, Arbeistzeit 3 Personen Fulltime - Wie kann man den Aufwand quantfizieren. Arbeiststunden, Personentage, Mannmonate, Mannjahre. - Frage: 2 Wochen 3 Personen = 30 Personentage - Das macht man für jeden Projektschritt Angebot: - Strukturierung der Projektschritte beibehalten. Auf KEINEN Fall nur eine Summe, Kudne will wissen aus welchen Teilsummen eine Gesamtsumme entsteht und wofür diese Teilsummen ausgegeben werden sollen. - Kosten errechnen für jeden Projektschritte. Wie ? Indem man den errechneten Aufwand mit einem Tages- ooder Stundensatz multipliziert. - Gesamtkosten sind Summe der Kosten der einzelenn Prohjektschritte Projektplanung Online Applikationen 7 - Kudne will eventuell einzelne Projektschritte reduzieren - A.nehmer will Teilprojekte verrechnen - Erste Summen sind Rohwerte, die noch dem Verstaändins des Kunden angepasst werden können. - Verhandlunsgspielraum: Kunden will verhandeln, Spielraum einberechnen, nicht mehr als 10% - Stundensätze am Beispiel Wien, B2B also Firma zu Firma HTML: ca. 60 € Grafik: ca 70 - 75 € Design ca. 85 - 90 € Programmierung ca. 100 € Konzeption, Creation, Projektleitung: kann man das quuantfizoeren Projektplanung Online Applikationen 7 m Aspekte von Beschäftigung Angestellt Selbständig – einzeln/als Firma Direkt/als Subunternehmer Angestellter: 14 Gehälter, Anspruch auf Gehalt Kündigungsschutz Nettogehälter = keine Abagben mehr (Bruttogehalt) Sozialversichert Krankenversichert (bezahlter Krnaknestand) Urlaub (bezahlter) Arbeitsgerät u -platz bereitgestellt feste Dienstzeiten Weisungsbgebundenheit Mutterschutz, Karenz Selbsständigkeit: Vedienstmöglichkeiten direkt proportional zur Arbeit freie Wahl der abeitszeit Weisungsungebundenheit freie Wahl des Arbeitsplatzes kein festes Einommen nur Bruttoeinkommen keine Sozialen Leistungen Einkommen Selbstständiger (Brutto): • Brutto = man muss zwischen 25 und 45 % abziehen je nach Gesamteinnahmen(Jahr steigend mit den Einnahmen (Progression). • wesentlicher Unterschied: Direkt mit Kunden oder als Subunternehmer - wenn direkt dann B2B-Presie - ca. 30% - wenn als Subunternehmer - 70%: Projektplanung Online Applikationen 7 HTML: ca. 14/15 € Grafik: ca 20 - 23 € Design ca. 35 - 48 € Programmierung ca. 42 - 45 € Angestellter Nettowerte: einfache Multimediatätigkeiten (HTML, Bildbearbeitung): 950 1.300 € Design/Grafik: 1.230 - 1.800 € (++) IT: 1.450 - 2.200 € Projektplanung Online Applikationen 7 n Externe Ressourcen / Faktoren Welche externen Faktoren sind involviert: Provider, Beraterfirmen, Projektverantwortliche beim Kunden, Lieferanten., etc. Welche Dynamik/Problemszenarien sind mit externen Faktoren vorstellbar? Kommunikation mit externen Faktoren Eskalation Projektplanung Online Applikationen 7 o Eskalation/Notfall •Wie werden Probleme festgestellt und bewertet? •Wer trifft kritische Entscheidungen? •Ab wann eskaliert ein Projekt? •Eskalationsszenarien? •Interne und externe Kommunikation in eskalierten Projektphasen? Projektplanung Online Applikationen 7 p Rechtliche Fragen Software Rechte am Code/an der Applikation Rechte innerhalb des Teams Pönalen Projektplanung Online Applikationen 7 q Design im Sinne des Wasserfallmodells ≠ Design (Grafik) ====================== • Applikationsdesign (was funktioniert wie) • Informationsarchitektur (wie alles organisiert ist) • Interaktionsdesign (was passiert, wenn User klickt) Projektplanung Online Applikationen 7 q Technologien • Client-Server Modell • Technologien und Nutzungsszenarien • Betriebssysteme, Datenbanken, Skripting, Sicherheit, Netzwerktechnik Client Server Modell Intro Die grundlegenden Komponenten einer Webapplikation Im Zeitalter der vernetzten Computer gilt es zwei grundlegende Komponenten zu unterscheiden: Client und Server. Server Die Bedeutung des Wortes Server Oft ist von “dem Server” die Rede. Dieser weit gefasste Bergriff scheint anfangs nicht weiter problematisch. Von äußerster Wichtigkeit zu wissen was mit „dem Server“ gemeint ist, wird es wenn es wenn ein Telephon läutet und eine nervöse Stimme die unheilverkündende Nachricht überbringt: „der Server ist DOWN“. Wenn von „dem Server“ die Rede ist kann damit folgendes gemeint sein: die Hardware wiederum bestehend aus einzelnen Komponenten: Netzteil, Festplatte, Netzwerkkarte usw. Keine dieser Komponenten halten ewig. Meist sind es Festplatten, die nach 2 bis 4 Jahren ihre Betriebsbereitschaft einstellen. Dem kann mit einem RAID (Redundant Array of Independent Disks), einer fehlertoleranter Hardware zumindest teilweise abgeholfen werden. Jedoch treten auch bei einem RAID System fehler auf, wodurch es unumgänglich wird, in Projektplanung Online Applikationen 7 regelmäßigen Abständen die System-Logs zu kontrollieren. Denn diese enthalten meist schon Wochen vor dem tatsächlichen Ausfall Hinweise auf Fehlfunktionen. Betriebssystem (Operating System, OS; z.B Linux) Auch ein Betriebssystem hat Bugs, die in seltenen Fällen zu Abstürzen des Betriebssystems führen können. Unter Windows 9x/ME sind solche Abstürze durchaus häufig. Ein gut konfiguriertes Linux hingegen stürzt jedoch selten ab. Es gilt jedoch hier, wie im übrigen Leben auch Murphy‘s Law: „Anything that can go wrong, will go wrong“. Nur wer dieses (Natur-)Gesetz in seine Planung einbezieht wird mit den, mit Sicherheit auftretenden Schwierigkeiten fertig werden. Serversoftware aka. Daemon (z.B eine HTTP-Server) Der Daemon ist jenes Stück Software, das dem Client (siehe unten) einen bestimmten Dienst (Service) zur Verfügung stellt. So stellt ein HTTP-Server (z.B Apache) das Service zur Verfügung Dokumente über das Protokoll HTTP an Clients zu übermitteln. Der Daemon läuft auf dem Betriebssystem, das wiederum auf der Hardware läuft. Somit besteht eine Kette von Abhängigkeiten. folgende Szenarien sind möglich: - die Hardware erleidet eine Defekt (z.B das Netzteil „durchbrennt“ und die CPU somit nicht mehr mit Strom versorgt wird): das Betriebssystem kann ohne Hardware nicht laufen und der Daemon nicht ohne Betriebssystem. Abhilfe: Austausch der defekten Hardware und Neustart des Betriebssystems - das Betriebssystem stürzt ab (unter Linux: „kernel panic“): der Daemon kann ohne Betriebssystem nicht laufen Abhilfe: Neustart des Betriebssystems - der Daemon stürzt ab: Abhilfe: Neustart des Daemons Beachte: die unpräzise Ausdrucksweise „der Server ist DOWN“ lässt auf verschiedene Szenarios schließen, die unterschiedlich behandelt werden müssen. Aus diesem und anderen Gründen ist es zweckmäßig von „der Serverhardware“, „dem ServerBetriebssystem“ und „dem Daemon“ zu sprechen. Projektplanung Online Applikationen Client Die Bedeutung des Wortes Client Wenn von „dem Client“ gesprochen wird so kann darunter verstanden werden: Hardware Betriebssystem (z.B WindowsXP) Clientserver (z.B InternetExplorer) Aus den oben angeführten Gründen erscheint es auch hier zweckmäßig im Rahmen der Ausdrucksweise zwischen ClientHardware, Client-Betriebssystem und idR Browser zu unterscheiden. Mittel zur Kommunikation zwischen Client und Server Um eine Kommunikation zwischen Client und Server zu erm÷glichen müssen beide „die selbe Sprache sprechen“. Diese Sprache bezeichnet man als Protokoll. Einige zu erwähnende Protokolle sind: -HTTP (zur Kommunikation zwischen einem Webbrowser und eine Webserver) -HTTPS (verschlüsseltes HTTP) -FTP (File Transfer Protocol: zur Transferierung von Dateien auf den Server) -POP3 (Post Office Protocol: zur Abrufung von E-Mails von einer Mailbox) -SMTP (Simple Mail Transfer Protocol: zum Versenden von EMails) -TELNET (ermöglicht die „Fernsteuerung“ eine Servers) Eine typische Client-Server Kommunikation Allgemein 1) Client sendet einen Connection-Request an den Server 2) Server bestötigt die Connection 3) Client sendet an den Server eine Anforderung (z.B: HTMLFile) 4) Server sendet and den Client die geforderten Daten 5) Client beendet die Verbindung Projektplanung Online Applikationen HTTP Um manuell einen HTTP-Request an einen Server zu senden benötigt man eine unter Unix (somit auch MaxOSX) eine Shell oder unter Windows die Eingabeaufforderung. Durch das Command ‚telnet www.endlos.at 80‘ wird ein Verbindung mit dem Server www.endlos.at an den Port 80 hergestellt. Ein Port ist ein „Eingangskanal“ unter dem der Dienst angesprochen wird. HTTPServer verwenden per Konvention den Port 80, FTP-Server den Port 21 und POP-Server den Port 110. Nachdem die Verbindung zu Server besteht wird das Command ‚GET /index.html HTTP/ 1.0‘ an den Server gesandt. ‚GET /index.html‘ teilt dem Server mit, dass wir (der Client) den Inhalt des Files index.html benötigen. ‚HTTP/1.0‘ teilt dem Server mit dass wir in der Sprache (mit dem Protokoll) HTTP in der VERSION 1.0 kommunizieren wollen. Danach ist es n÷tig dem Server zwei Zeilenumbrüche zu übermitteln (mit [return] angedeutet) damit dieser weiß, dass die Anfrage beendet ist. C:\>telnet www.endlos.at 80 GET /index.html HTTP/1.0 [return] [return] POP3 Ähnliches gilt für einen manuellen POP3-Request um ein E-Mail zu lesen. Nach dem abgeschlossenen Verbindungsaufbau wird mit den Commands USER der Benutzername und mit PASS das Passwort übertragen. Sofern diese korrekt sind, erfolgt ein Einloggen ein die Mailbox. Nun kann unter anderem mit den Commands LIST und TOP gearbeitet werden. Nach abgeschlossener Arbeit wird die Verbindung durch QUIT beendet. C:\>telnet www.endlos.at 110 USER username PASS password LIST (listet alle in der Mailbox vorhandenen E-Mails auf) TOP 1 100 (listet die ersten 100 Zeilen der 1. E-Mail in der Mailbox auf) QUIT (Beendet die Verbindung) Projektplanung Online Applikationen Typische serverseitige Komponenten einer Webapplikation -Hardware: PIII 1GhZ -Betriebssystem: SuSE Linux 8.1 -Webserver (Daemon): Apache 1.3.27 -Serverseitige Programmiersprache: PHP 4.2.3 -Datenbank: MySQL 3.23.53 Projektplanung Online Applikationen r Datenbanken Grundfunktionalität und Notwendigkeit einer Datenbank -Daten zu speichern -Daten in Relation zu einander zu Besitzen Grundbegriffe einer Datenbank - Tabelle (Table) - Spalte (Column) - Datensatz (Record) Tabelle: employee EXCEL TABELLE Tabelle: employee (schlechtes Design) EXCEL TABELLE Datenbankdesign Richtlinien -Datenelemente in verwandte Gruppen teilen -Definition der richtigen Beziehungen -Daten werden niemals mehrfach abgespeichert -Tabellen -und Spaltennamen sollen Selbsterklärend sein Wenn man nun die genannten Richtlinien beachtend die Tabelle unter 1.1.5.1.4 nochmals betrachtet lässt sich leicht erkennen, dass eine mehrfache Abspeicherung von den selben Daten statt findet. Bei 10 000 Angestellten und 10 Abteilungen würde der Name und die Telephonnummer jeder Abteilung 1000 abgespeichert werden. Dies ist ein eindeutiges Indiz für eine schlechten Datenbank-Design! Denn wenn eine Abteilung nun ihre Telephonnummer ändern würde, wären wir gezwungen in 1000 Datensätzen Änderungen vorzunehmen. Projektplanung Online Applikationen 7 Zwei in Relation stehende Tabellen Es lassen sich zwei Datengruppen ausmachen: angestelltenbezogene Daten und abeilungsbezogene Daten. Für jede Datengruppe wird eine Tabelle erzeugt, die für jedes Datenelement eine Spalte beinhaltet. Nun geht es darum die richtigen Beziehungen zwischen diesen Datengruppen zu definieren. 1) Ein Angestellter kann nur in einer Abteilung arbeiten. 2) In einer Abeilung können jedoch mehrere Angestellte arbeiten. Um die nun analysierte Beziehung umzusetzen wurde in der department Tabelle ein PRIMARY KEY eingeführt. Dies ist eine Spalte die für jeden Datensatz einen einzigartigen Wert beinhaltet - einen ID. Es kann nun jeder Datensatz der department Tabelle über seine ID angesprochen werden. Dies geschieht auch in der employee Tabelle durch Einführung einer Spalte namens department_id die für jeden Angestellten einen FOREIGN KEY aus der department Tabelle enthält. Wenn nun eine Telephonnummer einer Abeilung geändert werden muss, ist nur die Aktualisierung eines Datensatzes (anstatt 1000!) n÷tig. Wenn Sie nun den Vorteil gegenüber unserem zuvor gezeigten Design in der Lage sind zu erkennen, haben Sie den die Notwendigkeit und die wesentlichste Funktion einer Datenbank begriffen - Gratulation! -EXCEL TABELLEN Projektplanung Online Applikationen r Schema einer Client-Server Kommunikation Der Fokus unserer Betrachtung richtet sich auf die Server-Seite, da dieses der Bereich ist in dem wir eine Webapplikation implementieren. 1) Die Darstellung des Clients ist vereinfacht. Serverseitig sind die grundlegendsten, bereits behandelten Komponenten vorhanden: Hardware, Betriebssystem, Webserver-Software 2) Der Client richtet eine Einfrage nach dem File index.html an den Server. 3) Die Anfrage wird von der Hardware an das Betriebssystem und von diesem an die Webserversoftware weitergegeben. Der Webserver liest aus dem Dateisystem des Betriebssystems den Inhalt des Files index.html. 4) Der Webserver sendet den Inhalt des Files index.html an den Client. Projektplanung Online Applikationen 7 r Aufbau einer Typischen WebAnwendung Nun werden zwei, für eine jede Webapplikation notwendige, Komponenten hinzugefügt: die Serverseitige Programmiersprache PHP und eine Datenbank (in diesem Fall MySQL) 1) Der Client richtet eine Einfrage nach dem File news.php an den Server. 2) Die Anfrage wird von der Hardware an das Betriebssystem und von diesem an die Webserversoftware weitergegeben. Der Webserver liest aus dem Dateisystem des Betriebssystems den Inhalt des Files news.php. 3) Da die Endung des angefragten Files php lautet, übermittelt der Webserver den Inhalt des Files news.php nicht unmittelbar an den Client sonder an die PHP-Engine. 4) Diese bringt den übermittelten PHP-Code zur Ausführung und richtet evtl. Anfragen an die Datenbank. 5) Sobald die Ausführung abgeschlossen ist werden die, nunmehr nur aus reinem HTML-Code bestehenden Daten an den Webserver übermittelt. 6) Der Webserver sendet nun die reinen HTML-Daten an den Client. Projektplanung Online Applikationen 7 Der Inhalt des Files news.php könnte z.B so aussehen: <html> <body> Number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT): <? echo time(); ?> </body> </html> Die an den Client gesendeten Daten enthalten jedoch keine einzige Zeile PHP-Code mehr: <html> <body> Number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT): 1028567830 </body> </html> Projektplanung Online Applikationen r Digitale Oberflächen/ User Interfaces alles was möglich ist,. muss vorgesehen sein ============== Seitenablaufplan. Flussdiagramm, Filemaker Datei - Digitale Oberflächen: alles was möglich ist,. muss vorgesehen sein Mailformular beispiel - User Interfaces: Seitenablaufplan. Flussdiagramm, Filemaker Datei Besipiele, Projektplanung Online Applikationen 7 s Implementierung Grafisches Design: Benutzbarkeit, Grundlagen, Benutzerführung Dokumentation der fortlaufenden Arbeit (im und außerhalb des Codes) Versioning (CVS), Backups Testing, Bugreporting (normierte Verfahren), Re-testing, Verifikation Nach Projektabschluss: Wartung, Pflege, Support, administratives Interface, fortlaufende Arbeiten Projektplanung Online Applikationen 7 t Technische Umsetzung Dokumentation Backups, Versionierung Testing, Bugreporting, Verifikation Abnahmen Dokumentation der fortlaufenden Arbeit (im und ausserhalb des Codes) Testing Bugreporting (normierte Verfahren) Retesting Verifikation Projektplanung Online Applikationen 7 s Design Modelle Es erscheint als überaus zweckmäßig Applikationen in bestimmten strukturellen Formen umzusetzen und nicht „einfach drauf los zu coden“. Zu diesem Zwecke kommen Design-Modelle zu Einsatz. JSP: Model-View-Controller (MVC) JSP - Java Server Pages, ist ein Mittel zur Implementierung von auf Java basierenden Webapplikationen. Java als eine sehr fortgeschrittene Programmiersprache, die ua entwickelt wurde um „maintainable code“ somit wartbaren Code produzieren zu k÷nnen. MVC trennt zwischen der Applikationslogik (Model), der Präsentationslogik (View) und dem Request processing (Controller) PHP: TLM (Two Layer Model) Da PHP, im Unterschied zu Java keine objektorientierte Sprache ist und dadurch sich in ihren Anwendungsm÷glichkeiten unterscheidet, wurde das von Lukas Feiler für die EndlosProduktion entwickelten Design Modell auf 2 Komponenten reduziert. Dies führt unter der Anwendung von PHP zu einer höheren Produktivität. Projektplanung Online Applikationen 7 t nach Projektabschluss Wartung, Pflege, Support administratives Interface fortlaufenden Arbeiten Projektplanung Online Applikationen 7 t Literaturliste Diese Literaturliste stellt eine Empfehlung von Büchern dar. Die B¸cher sind nach Fachbereichen gegliedert. Wer sich f¸r eines der Fachbereiche interessiert, dem sei geraten die dort aufgelisteten B¸cher zu erwerben und eingehend zu studieren. Der Umfang der Auswahl von B¸chern variiert nach Fachgebiete. Insbesondere im Bereich des Projektmanagements ist das Lesen eines Buches sicherlich nicht ausreichend. Projektmanagement Die Kunst, IT- Projekte zum Erfolg zu f¸hren. Budgets, Termine, Qualität von Hedwig Kellner; 260 Seiten - Hanser Fachbuch Apache Linux Apache Web Server Administration (Linux Library) von Charles Aulds; 614 Seiten - Sybex Professional Apache von Peter Wainright; 800 Seiten - Wrox Press Ltd MySQL MySQL von Paul DuBois; 756 Seiten - New Riders Publishing PHP Professional PHP Programming von Chris Scollo, Jesus Castagnetto, Sascha Schumann, Deepak Veliah, Harish Rawat; 920 Seiten - Wrox Press Ltd Web Application Development with PHP 4.0 von Tobias Ratschiller, Till Gerken; 384 Seiten - New Riders Publishing Projektplanung Online Applikationen 7 Oracle Oracle9i: The Complete Reference von Kevin Loney, George Koch; 1392 Seiten - Osborne Publishing Oracle9i PL/SQL Programming von Scott Urman; 664 Seiten Osborne/McGraw-Hill JavaScript JavaScript - The Definitive Guide von David Flanagan; 936 Seiten - O’Reilly UK Java Thinking in Java (2nd Edition) von Bruce Eckel; 1128 Seiten Prentice Hall JavaServer Pages von Hans Bergsten; 572 Seiten - O’Reilly & Associates UNIX (Linux) System Administration Learning the UNIX Operating System von Jerry Peek, Grace Todino, John Strang; 176 Seiten - O’Reilly UK Linux System Administration (Linux Library) von Roderick W. Smith; 608 Seiten - Sybex Inc Running Linux (3rd Edition) von Matt Welsh, Matthias Kalle Dalheimer, Lar Kaufman; 730 Seiten - O’Reilly & Associates Linux Network Administrator’s Guide von Olaf Kirch, Terry Dawson; 512 Seiten - O’Reilly UK Essential System Administration (3rd Edition) von Aeleen Frisch; 1104 Seiten - O’Reilly & Associates Das Firewall- Buch von Wolfgang Barth; 470 Seiten - SuSE Press Der neue Linux Hacker’s Guide. Sicherheit f¸r Linux-Server und -Netze; 970 Seiten - Markt+Technik Learning the Bash Shell von Cameron Newham, Bill Rosenblatt; 336 Seiten - O’Reilly UK Learning the vi Editor (6th Edition) von Linda Lamb, Arnold Robbins; 327 Seiten - O’Reilly & Associates Projektplanung Online Applikationen SSH, the Secure Shell: The Definitive Guide von Daniel J. Barrett, Richard Silverman, Mike Loukides; 558 Seiten - O’Reilly UK DNS and BIND von Paul Albitz, Cricket Lui, Cricket Liu, Mike Loukides, Deborah Russell; 624 Seiten - O’Reilly UK UNIX Backup and Recovery von W. Curtis Preston; 736 Seiten - O’Reilly UK Practical Unix and Internet Security von Simson Garfinkel, Gene Spafford; 1004 Seiten - O’Reilly & Associates Building Internet Firewalls (2nd Edition) von Elizabeth D. Zwicky, Simon Cooper, D. Brent Chapman, Deborah Russell; 869 Seiten - O’Reilly & Associates Projektplanung Online Applikationen