Realisierung eines webbasierten Ressourcendispositionssystems für ein Service-Center
- Art: Diplomarbeit
- Autor: Tim Bollenbach
- Abgabedatum: Oktober 1999
- Umfang: 151 Seiten
- Dateigröße: 1,2 MB
- Note: 1,0
- Institution / Hochschule: Fachhochschule Wiesbaden Deutschland
- ISBN (eBook): 978-3-8324-2940-9
-
ISBN (Paperback) :
978-3-8324-2940-9 P - ISBN (CD) :978-3-8324-2940-9 CD
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Bollenbach, Tim Oktober 1999: Realisierung eines webbasierten Ressourcendispositionssystems für ein Service-Center, Hamburg: Diplomica Verlag
- Schlagworte: ODBC, CGI, perl, Zeitplanung, Datenbank
In den Warenkorb
38,00 €
Diplomarbeit von Tim Bollenbach
Einleitung:
Hauptziel dieser Arbeit war es, eine Zeitplanung und -disposition in Form einer Web-basierten Anwendung mittels Standard-Technologien für eine Umgebung zu entwickeln, welche unter Verwendung kommerzieller Datenbanken die Planung von Terminen in Zeitrastern von minimal 0,5 Stunden sowie von Urlaub erlaubt. Die Terminplanung sollte hierbei in Verbindung mit der Erbringung von Produkten und deren Standard-Zeitraster stehen. Die Zeitplanung sollte hierbei durch Service-Center-Mitarbeiter und die Techniker selbst möglich sein und die Darstellung eines Gruppenkalenders ermöglichen. Die Anwendung sollte derart in die bestehenden Geschäftsprozesse der net on Netzwerktechnologien Online GmbH (im weiteren: net on GmbH) integriert werden, dass keine doppelte Erfassung von Daten notwendig ist.
Auswertemechanismen sollten jederzeit einen Überblick über den Datenbestand zur Verfügung stellen.
Alle vom Auftraggeber verlangten Ziele wurden erreicht und umgesetzt. Einen Monat vor dem Abgabetermin dieser Arbeit wurde die Anwendung bereits im Produktionsbetrieb von allen Mitarbeitern der net on GmbH eingesetzt.
Nicht umgesetzt wurde die Einbeziehung der Daten des DB/2-Servers, da hierfür kein Bedarf mehr vorhanden war.
Inhaltsverzeichnis:
| 1. | Vorwort | 1 |
| 1.1 | Inhalt dieser Arbeit | 2 |
| 1.2 | Entstehung dieser Arbeit | 2 |
| 1.2.1 | Erste Erfahrungen mit CGI-Anwendungen | 2 |
| 1.2.2 | Erste Erfahrungen mit Web-Servern | 3 |
| 1.2.3 | Vertiefung der Kenntnisse | 3 |
| 1.2.4 | Notwendigkeit eines Web-basierten Systems | 4 |
| 1.3 | Danksagungen | 4 |
| 1.4 | Techniken zur Realisierung Web-basierter Anwendungen | 5 |
| 1.4.1 | Kommunikationstechnologien | 5 |
| 1.4.2 | Server-seitige Anwendungen | 6 |
| 1.4.2.1 | Erweiterungen der Serverfunktionalität | 6 |
| 1.4.2.2 | Externe Programme | 6 |
| 1.4.3 | Client-seitige Anwendungen | 7 |
| 1.5 | Fazit | 7 |
| 2. | Anforderungen | 9 |
| 2.1 | Anforderungsspezifikation | 10 |
| 2.1.1 | Momentane Situation | 10 |
| 2.1.2 | Anforderungen der net an GmbH | 10 |
| 2.1.3 | Benötigte Software | 12 |
| 2.1.4 | Speicherung der Daten | 12 |
| 2.1.5 | Anforderungen | 13 |
| 2.1.6 | Voraussetzungen | 14 |
| 2.2 | Geschäftsprozesse | 14 |
| 2.2.1 | Termin- und Urlaubsplanung | 14 |
| 2.2.2 | Zeitabrechnung gegenüber Kunden | 15 |
| 2.2.3 | Arbeitszeiterfassung | 15 |
| 2.2.4 | Einsatzbereich des neu entwickelten Tools | 16 |
| 3. | Auswahl der Komponenten | 18 |
| 3.1 | Grundsätzliches | 19 |
| 3.2 | Auswahl der Web-Server-Software | 19 |
| 3.3 | Auswahl der Server-seitigen Anwendung | 21 |
| 3.3.1 | Active Server Pages | 21 |
| 3.3.2 | Personal Home Page | 22 |
| 3.3.3 | Servlets | 23 |
| 3.3.4 | ODBiC | 25 |
| 3.3.5 | Java Server Pages | 27 |
| 3.3.6 | perl/CGI | 27 |
| 3.4 | Auswahl des Datenbank-Systems | 28 |
| 4. | Software und deren Konfiguration | 30 |
| 4.1 | Windows NT | 31 |
| 4.2 | Apache Web-Server unter Windows NT | 31 |
| 4.2.1 | Installation | 31 |
| 4.2.2 | Apache als System-Dienst | 31 |
| 4.2.3 | Konfiguration von Apache | 32 |
| 4.2.3.1 | Konfigurationsdateien | 32 |
| 4.2.3.2 | Direktiven | 32 |
| 4.3 | Linux | 33 |
| 4.4 | Apache Web-Server unter Linux | 34 |
| 4.4.1 | Installation | 34 |
| 4.4.2 | Apache-Daemon | 34 |
| 4.4.3 | Konfiguration von Apache | 34 |
| 4.4.3.1 | Konfigurationsdateien | 34 |
| 4.4.3.2 | Direktiven | 34 |
| 4.5 | Perl | 35 |
| 4.5.1 | Entwicklung von perl | 35 |
| 4.5.2 | Stärken und Schwächen | 36 |
| 4.5.3 | Programmierung und Ausführung | 36 |
| 4.5.4 | Besonderheiten | 37 |
| 4.5.4.1 | Variablen und Konstanten | 37 |
| 4.5.4.2 | Unterprogramme und Übergabewerte | 38 |
| 4.5.4.3 | Module | 38 |
| 4.5.4.4 | Vergleichsoperatoren | 39 |
| 4.5.4.5 | Here-Dokumente | 39 |
| 4.5.5 | Kommunikation mit dem Web-Server | 40 |
| 4.5.5.1 | Schnittstelle zwischen Web-Server und Skript | 40 |
| 4.5.5.2 | Parameter-Übergabe | 41 |
| 4.5.5.3 | Rückgabe des Ergebnisses | 41 |
| 4.5.5.4 | Identifikation von Skripten | 41 |
| 4.5.5.5 | Aufruf von Skripten | 41 |
| 4.5.6 | Zugriff auf Datenbanken | 42 |
| 4.6 | SQL | 43 |
| 4.7 | ODBC | 44 |
| 4.7.1 | Vorhandene Treiber | 44 |
| 4.7.2 | Konfiguration der System-DSN | 44 |
| 4.7.3 | Protokolle | 45 |
| 5. | Analyse-Phase | 47 |
| 5.1 | Grundlagen der Anforderungs-Analyse | 48 |
| 5.2 | Methoden zur Anforderungs-Analyse | 49 |
| 5.2.1 | Zerlegungsstrategien | 49 |
| 5.2.2 | Das Use-Case-Modell | 49 |
| 5.2.3 | Interface-Beschreibung | 50 |
| 5.3 | Umsetzung | 50 |
| 5.3.1 | Systemabgrenzung | 50 |
| 5.3.2 | Systemerhebung | 51 |
| 5.3.2.1 | Aufgabenbereich des bisherigen Systems | 51 |
| 5.3.2.2 | Informationsflüsse des bisherigen Systems | 51 |
| 5.3.2.3 | Schwachstellen des bisherigen Systems | 52 |
| 5.3.3 | Zerlegung | 53 |
| 5.3.3.1 | Datenmodelle für die Zerlegung | 53 |
| 5.3.3.2 | Benutzer | 54 |
| 5.3.3.3 | Freie Tage | 55 |
| 5.3.3.4 | Kunden | 56 |
| 5.3.3.5 | Messages | 57 |
| 5.3.3.6 | Produkte | 58 |
| 5.3.3.7 | Projekte | 59 |
| 5.3.3.8 | Sessions | 60 |
| 5.3.3.9 | Statistik | 60 |
| 5.3.3.10 | Termine | 60 |
| 5.3.3.11 | Urlaub | 62 |
| 5.3.3.12 | Vorgesetzte | 63 |
| 5.3.4 | Use Cases | 64 |
| 5.3.4.1 | Actors | 64 |
| 5.3.4.2 | Use Cases | 64 |
| 5.3.5 | Interfaces | 65 |
| 6. | Design-Phase | 67 |
| 6.1 | Connection-Pooling | 68 |
| 6.2 | Modularisierung | 68 |
| 6.2.1 | Abstraktion | 69 |
| 6.2.2 | Module | 70 |
| 6.2.2.1 | Ziele | 70 |
| 6.2.2.2 | Module und Schnittstellen | 71 |
| 6.2.2.3 | Kennzeichen eines Moduls | 71 |
| 6.2.3 | Implementierung von Modulen in perl | 72 |
| 6.2.3.1 | Import-Schnittstellen | 72 |
| 6.2.3.2 | Export-Schnittstellen | 73 |
| 6.2.3.3 | Verbergen von internen Variablen und Konstanten | 75 |
| 6.3 | Kommunikationsmodell der Module | 76 |
| 6.3.1 | Globale Übersicht | 77 |
| 6.3.2 | Abschluss | 78 |
| 6.3.3 | Auswertung | 78 |
| 6.3.4 | Benutzer | 79 |
| 6.3.5 | Freie Tage | 79 |
| 6.3.6 | Kunden | 80 |
| 6.3.7 | Produkte | 80 |
| 6.3.8 | Projekte | 81 |
| 6.3.9 | Sendmail | 81 |
| 6.3.10 | Termine | 82 |
| 6.3.11 | Urlaub | 82 |
| 6.3.12 | Vorgesetzte | 83 |
| 6.4 | Zustände der Termine | 83 |
| 6.5 | Screenshots | 85 |
| 6.5.1 | Anmeldung | 85 |
| 6.5.2 | Startseite | 86 |
| 6.5.3 | Produkte | 87 |
| 6.5.4 | Kalender | 88 |
| 6.5.5 | Statistik | 89 |
| 6.6 | Rechner-Konfiguration | 90 |
| 6.7 | Wartung und Administration des Systems | 90 |
| 6.7.1 | Log-Files der HTTP-Server | 90 |
| 6.7.1.1 | Konfiguration des Log-Verhaltens | 90 |
| 6.7.1.2 | Beispiele für Log-Dateien | 91 |
| 6.7.1.3 | Selbst generierte Log-Files | 93 |
| 6.7.1.4 | Überprüfung der Log-Files | 94 |
| 6.7.2 | Überprüfung durch perl-Skripte | 95 |
| 6.8 | Monatsabschluss | 95 |
| 7. | Probleme & Lösungen | 97 |
| 7.1 | Darstellung der Sicherheitsaspekte | 98 |
| 7.1.1 | Problem | 98 |
| 7.1.2 | Lösungsmöglichkeiten | 99 |
| 7.1.2.1 | Anmeldung mit statischen Web-Seiten | 99 |
| 7.1.2.2 | Anmeldung mit dynamischen Web-Seiten | 99 |
| 7.1.2.3 | Übergabe von ID, Kennwort und Status | 99 |
| 7.1.2.4 | Session-ID's | 100 |
| 7.1.2.5 | HTACCESS | 100 |
| 7.1.2.6 | SSL & Zertifikate | 100 |
| 7.1.3 | Vor- und Nachteile | 101 |
| 7.1.3.1 | Anmeldung mit statischen Web-Seiten | 101 |
| 7.1.3.2 | Anmeldung mit dynamischen Web-Seiten | 101 |
| 7.1.3.3 | Übergabe von ID, Kennwort und Status | 102 |
| 7.1.3.4 | Session-m's | 103 |
| 7.1.3.5 | HTACCESS | 103 |
| 7.1.3.6 | SSL & Zertifikate | 104 |
| 7.1.4 | Entscheidung und Umsetzung | 105 |
| 7.2 | Vorgesetzte und Mitarbeiter | 106 |
| 7.2.1 | Problem | 106 |
| 7.2.2 | Lösungsmöglichkeiten | 106 |
| 7.2.3 | Vor- und Nachteile | 107 |
| 7.2.4 | Entscheidung und Umsetzung | 107 |
| 7.3 | Auswahlen mittels ID's | 108 |
| 7.3.1 | Problem | 108 |
| 7.3.2 | Lösungsmöglichkeiten | 108 |
| 7.3.3 | Vor- und Nachteile | 109 |
| 7.3.4 | Entscheidung und Umsetzung | 109 |
| 7.4 | Bildschirmanzeigen in variabler Größe | 110 |
| 7.4.1 | Problem | 110 |
| 7.4.2 | Lösungsmöglichkeiten | 111 |
| 7.4.3 | Vor- und Nachteile | 111 |
| 7.4.4 | Entscheidung und Umsetzung | 111 |
| 7.5 | Datums-Funktionen | 112 |
| 7.5.1 | Problem | 112 |
| 7.5.2 | Lösungsmöglichkeiten | 112 |
| 7.5.3 | Vor- und Nachteile | 113 |
| 7.5.4 | Entscheidung und Umsetzung | 113 |
| 7.5.5 | Bemerkung | 114 |
| 7.6 | Kalenderdarstellung | 114 |
| 7.6.1 | Problem | 114 |
| 7.6.2 | Lösungsmöglichkeiten | 115 |
| 7.6.3 | Realisierung | 115 |
| 7.7 | Eingabe-Validierung | 116 |
| 7.7.1 | Problem | 116 |
| 7.7.2 | Lösungsmöglichkeiten | 116 |
| 7.7.3 | Vor- und Nachteile | 117 |
| 7.7.4 | Entscheidung und Umsetzung | 118 |
| 7.7.5 | Bemerkungen | 119 |
| 7.8 | Zwischenspeicherung der Standard-Ausgabe | 120 |
| 7.8.1 | Problem | 120 |
| 7.8.2 | Lösung | 120 |
| 7.9 | Der „08“-Bug in JavaScript | 121 |
| 7.9.1 | Problem | 121 |
| 7.9.2 | Lösung | 121 |
| 7.10 | Commit-Transaktionen | 122 |
| 7.10.1 | Problem | 122 |
| 7.10.2 | Lösung | 122 |
| 7.11 | Schnittstelle zu BGS-Zeit | 124 |
| 7.11.1 | Problem | 124 |
| 7.11.2 | Lösung | 124 |
| 7.12 | Generierung von PDA-Dokumenten | 125 |
| 7.12.1 | Problem | 125 |
| 7.12.2 | Lösung | 125 |
| 7.13 | Kennwort-Verschlüsselungen | 126 |
| 7.13.1 | Problem | 126 |
| 7.13.2 | Lösungsmöglichkeiten | 126 |
| 7.13.3 | Vor- und Nachteile | 126 |
| 7.13.4 | Entscheidung und Umsetzung | 127 |
| 7.14 | Reisekosten und Wartungsverträge | 128 |
| 7.14.1 | Problem | 128 |
| 7.14.2 | Lösung | 128 |
| 8. | Installation der Software | 129 |
| 8.1 | Web-Server | 130 |
| 8.1.1 | Konfiguration der Web-Server | 130 |
| 8.1.2 | Pfade und IP-Adressen | 130 |
| 8.2 | Perl-Interpreter | 131 |
| 8.3 | ODBC-DSN | 131 |
| 8.4 | Datenstruktur der beiliegenden CD-ROM | 131 |
| 9. | Quellen und Verzeichnisse | 133 |
| 9.1 | Quellen | 134 |
| 9.1.1 | Literatur | 134 |
| 9.1.1.1 | Literatur in Papierform | 134 |
| 9.1.1.2 | Literatur in elektronischer Form | 135 |
| 9.1.2 | Software-Quellen | 137 |
| 9.2 | Abbildungs-Verzeichnis | 137 |
| 9.3 | Tabellen-Verzeichnis | 138 |
Das Prinzip des connection pooling ist aus der Entwicklung von Java-Programmen für Web-basierte Anwendungen bekannt und sollte den ersten Schwerpunkt beim Design der Anwendung darstellen. Beim connection pooling sorgt ein global zugängliches Modul dafür, dass mehrere Verbindungen zu den Datenbanken offen gehalten werden. Bei Bedarf fordert ein anderes Programm eine solche Verbindung an, führt die notwendigen Transaktionen durch und gibt danach die Kontrolle über die Verbindung an das Verwaltungs-Modul zurück. Diese Methodik sorgt für eindeutige Performance-Vorteile, da ein ständiges Öffnen und Schließen von Datenbank-Verbindungen entfällt. Leider konnte diese Variante jedoch nicht im Zusammenhang mit perl verwendet werden, da sich ein perl-Prozess, sobald er eine Antwort an den Web-Server generiert hat, selbst beendet und nicht mehr zur Verfügung steht (sofern er als CGI-Programm aufgerufen wurde). [...]
Die Speicherung des Datums in jeweils 3 verschiedenen Feldern erscheint zunächst etwas umständlich, Tests mit verschiedenen Datenbank-Systemen haben allerdings gezeigt, dass ein Datum je nach Datenbank in völlig unterschiedlichen Formaten abgelegt wird. Die Generierung von korrekten Datumswerten gestaltet sich bei manchen Datenbanken sehr schwierig. Zum Beispiel wird in Microsoft Access mit einem normalen Datum grundsätzlich die Uhrzeit „00:00:00“ mit abgespeichert, auch wenn im Entwurfsmodus der Tabelle lediglich „Datum“ und nicht „Datum & Uhrzeit“ ausgewählt wurde. Ebenso wird in Access bei einem Feld, in dem laut Entwurf nur eine Uhrzeit gespeichert werden soll, grundsätzlich das Datum „01.01.1980“ mitgespeichert. Andere Datenbanken wie z.B. DB/2 verwalten zusätzlich die Zeitzone, so dass jedem Datum, das auf dem hiesigen Längengrad generiert wird, der Zusatz „GMT +01:00“ mitgegeben wird. [...]
Wie bereits aus der Anforderung klar wird, spielen Produkte und der Zeitaufwand zu deren Erbringung eine zentrale Rolle in der Zeitplanung- und –disposition durch ein Service Center. Daher müssen die gängigen Produkte, die in der Anwendung geplant werden, im System erfasst und abfragbar sein. Beim Auftraggeber net on GmbH ist für Kunden das Abschließen von Wartungsverträgen möglich. Bei abgeschlossenem Wartungsvertrag sind die Stundensätze für die einzelnen Leistungen bzw. Produkte geringer als im Normalfall. Daher sind zu jedem Produkt jeweils zwei Preise (mit und ohne Wartungsvertrag) zu erfassen. Diese Anzahl der Preisunterscheidungen verdoppelt sich nochmals, da - je nach Sitz des Kunden - ein Stundensatz mit oder ohne Anfahrtskosten berechnet wird. Zusätzlich ist jedes Produkt mit einem festen Stundensatz verknüpft, mit dem es gegenüber den Kunden abgerechnet wird. Dies sind z.B. für eine Standard-Installation [...]
In den Warenkorb
38,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832429409
Arbeit zitieren:
Bollenbach, Tim Oktober 1999: Realisierung eines webbasierten Ressourcendispositionssystems für ein Service-Center, Hamburg: Diplomica Verlag
Schlagworte:
ODBC, CGI, perl, Zeitplanung, Datenbank



