Hi, ich bin TUX und zeige meine Vor- und Nachteile für einen Wechsel zu meinem Betriebssystem

 

Rüdiger Wahl

Webbasierte Datenbankanwendung für das Bestellwesen ohne Betriebssystemabhängigkeit

opt. ab 1024 x 768; 05.2006              

 

   Plattformunabhängiges Bestellsystem  


 
   

 

 
   
 

 

Erstellung eines plattformunabhängigen Bestellsystems auf Basis von
Apache, PHP und MySql. Der Server soll zusätzlich als Proxy Server dienen
.

 

 
 

|Projektbeschreibung (PDF 1,8Mbyte)| |Präsentation (PDF 0,6Mbyte)| |Präsentation (Powerpoint PPT 0,8Mbyte)|
 

 

 

   Inhaltsübersicht  

   

Dokumentation der betrieblichen Projektarbeit
im Rahmen der Abschlussprüfung
zum Fachinformatiker Systemintegration

Prüfungszeit: Sommer 2005

 

Ausbildungsbetrieb

 

         Thönnes Datensysteme GmbH
Landsberger Strasse 441
81241 München
Auszubildender          Rüdiger Wahl

 
 

Inhaltsverzeichnis
 
1 Projektbeschreibung
1.1 Projektumfeld
1.2 Schnittstellen
1.3 Projektziel
 
2 Ist-Zustand
2.1 Bestellsystem
2.2 Internetzugang
 
3 Soll-Zustand
3.1 Anforderung und Ziele
3.2 Software
3.3 Hardware
 
4 Ablauf-, Termin- und Personalplanung
4.1 Ablaufplanung des Projekts
4.2 Terminplanung der Projektdurchführung
4.3 Personalplanung
 
5 Kostenaufstellung
5.1 Angebotseinholung und Preisvergleich
5.2 Mitarbeiterkosten
5.3 Kostenübersicht
 
6 Assemblierung und Konfiguration der Systemkomponenten
6.1 Assemblierung der Komponenten
6.2 Installation und Konfiguration
6.2.1 Suse 9.2 Professional
6.2.2 Apache Webserver Version 2.0.52
6.2.3 MySql Datenbank Version 4.1.8
6.2.4 phpMyAdmin Webfrontend Version 2.6.0
6.2.5 Samba Server Version 3.0.7
 
7 Datenübernahme von Microsoft Access in MySql
7.1 Datenexport aus Microsoft Access
7.2 Aufbau der Datenbank
7.3 Datenimport in MySQL
 
8 Programmierung des Webfrontends
8.1 Anforderungen an das Webfrontend
8.2 Oberfläche des Webfrontends
8.3 Programmmodul Liste Wareneingang
8.4 Programmmodul Bestellung 11
8.5 Programmmodul Eingabe Wareneingang
8.6 Programmmodul Bestelländerung
8.7 Programmmodul Suche
8.8 Programmmodul Löschen
8.9 Programmmodul Seriennummern
 
9 Squid
9.1 Installation des Proxyservers
9.2 Konfiguration und Inbetriebnahme
9.3 Konfiguration der Clients
 
10 Testphase
10.1 Test der Proxyservers
10.2 Test der Bestelldatenbank
 
11 Abschluß des Projekts
11.1 Einweisung der Mitarbeiter
11.2 Systemdokumentation und Übergabe
 
A Glossar
B LAMP
C Samba Server
D Ablaufdiagramm Proxy-Server
E Netzwerkplan
F Quellenverzeichnis 

Kursiv geschriebene Wörter werden im Glossar erklärt.
 
 

 

 

   1 Projektbeschreibung  

   

1 Projektbeschreibung

1.1 Projektumfeld

Die Thönnes Datensysteme GmbH ist ein seit 19 Jahren agierendes IT-Dienstleistungsunternehmen mit Stammsitz in München. Unter anderem übernimmt das Unternehmen die Realisierung von Netzwerkstrukturen, die Implementierung von Netzwerklösungen und die Anbindung an das Intra- und Internet. Die Niederlassung Stuttgart, in der das Projekt durchgeführt wird, ist darüber hinaus als Systemhaus tätig und offeriert ein breites Leistungsspektrum im Bereich moderner System-plattformen, Netzwerke, Systemintegrationen und Servicedienstleistungen an.


1.2 Schnittstellen

  • Geschäftsführung
    (diese prüft und bewilligt die Ausgaben für die Beschaffungen)

  • Niederlassungsleiter der Filiale Stuttgart
    (dieser betreut das Projekt und ist Ansprechpartner für technische Fragen)

  • Mitarbeiter der Abteilung Einkauf
    (sie werden in den Entwicklungsprozess mit einbezogen und sind Endanwender des neuen Systems)

  • Softwarehersteller
    (Hersteller der einzusetzenden Software und Supportkontakt)

  • Hardwarehersteller
    (Hersteller der einzusetzenden Hardware und Supportkontakt)

  • Distributoren
    (Lieferanten für die benötigte Hardware)


1.3 Projektziel

Den Mitarbeitern der Abteilung Einkauf und dem Niederlassungsleiter soll es ermöglicht werden über ein plattformunabhängiges System auf die Daten des Bestellwesen zu zugreifen. Die Daten aus dem bisherigen Bestellsystem sollen in

das neue System integriert werden. Um den Datenverkehr der Filiale Stuttgart ins Internet zu reduzieren, soll das System zusätzlich als Proxy Server dienen.

Es soll eine stabile, leicht zu wartende und kostengünstige Lösung zum Einsatz kommen.

 
 

 

 

   2 Ist - Zustand  

   

2 Ist-Zustand

2.1 Bestellsystem

Das Bestellsystem ist momentan über eine Microsoft Access Datenbank realisiert.

Die zu bestellenden Artikel werden über das MS Access Frontend in die Datenbank eingetragen. Die Mitarbeiter der Abteilung Einkauf müssen mehrmals täglich die Datenbank auf neue Bestellungen überprüfen. Nach dem Erhalt der Ware müssen die Artikel aus der Datenbank ausgetragen und mit dem Warenwirtschaftsprogramm Lexware erfasst werden. Die Seriennummern der Hardware werden mit einem 8-Bit Programm auf MS-DOS Basis erfasst.


2.2 Internetzugang

Die Niederlassung ist über eine 3 Mbit DSL Leitung an das Internet angebunden. Dieser Tarif hat eine 10 GB Volumenbegrenzung. Beim überschreiten dieser Datenmenge fallen zusätzliche Kosten, in Höhe von 1,2 ct/Mbit, für die Firma an.

Die Clients der Filiale Stuttgart sind über einen Cisco Switch direkt mit einem Netgear DSL Router verbunden. Jeder Client stellt seine Anfragen direkt in das Internet.

 
 

 

 

   3 Sollzustand  

   

3 Soll-Zustand

3.1 Anforderung und Ziele

Das Bestellsystem muss die gleichen Anforderungen erfüllen wie das bisherige System. Die Seriennummern sollen direkt über die neue Bestelldatenbank erfasst und verwaltet werden, so dass das MS-DOS Programm nicht mehr benötigt wird. Das System soll eine Suche nach Artikelbezeichnungen und/oder Kunde unterstützen um einen bereits bestellten Artikel ohne weitere Eingaben wieder in die Datenbank einzutragen. Das System soll über das interne Netzwerk erreichbar und für mehrere Benutzer gleichzeitig nutzbar sein. Da in der Niederlassung des öfteren Linux zum Einsatz kommt, muss das Bestellsystem von verschiedenen Betriebssystem Plattformen aus erreichbar sein.

Durch den Einsatz eines Proxy Servers sollen die entstehenden Kosten für das Überschreiten der 10 GB Volumengrenze gesenkt werden.

Um die Projektkosten so gering wie möglich zu halten, wird auf Software aus dem “Open-Source“-Bereich, zurückgegriffen.

In einem Folgeprojekt soll das neue Bestellsystem in das Warenwirtschaftssystem integriert und ein Modul für Auswertungen und Lagerhaltung erstellt werden.


3.2 Software

Als stabile Version hat sich mittlerweile die “Open-Source Distribution“ Suse 9.2 Professional bewiesen. Dieses soll deshalb als Grundsystem zum Einsatz kommen. Der Webserver wird mit der freien Software Apache Version 2.0.52 und PHP Version 5.0.3 realisiert. Als Datenbank kommt MySql Version 4.1.8 zum Einsatz. Zum Administrieren der Datenbank wird auf PhpMyAdmin in der Version 2.6.0 zurückgegriffen. Zum Austauschen und Aktualisieren der programmierten PHP Seiten wird der integrierte Samba 3.0.7 Server verwendet.

Der Proxy Server wird mit der Software Squid realisiert, da dies der am weitesten verbreitetste freie Proxy Server ist, sehr gut skalierbar ist und hierzu sehr gute Dokumentationen bereitgestellt werden.


3.3 Hardware

Um ein stabiles System zu gewähren, wird mit Hilfe der Hardwarekompatibilitätsliste von Suse die entsprechende Hardware ausgewählt. Ich entscheide mich die dem hier vorgestellten Projekt für den Einsatz eines Intel Pentium 4 Prozessors mit 3,0 GHz Taktrate und einem Front Side Bus von 800 MHz und das dazu passend Mainboard GA-8IG1000G von Gigabyte. Da bei einem Webserver überwiegend Speicher und die Netzwerkkarte belastet werden, kommen ein 1GB Kingston Speicherkit mit zwei 512 MB Speichermodulen und eine 3Com 3C905CX-TX-M Netzwerkkarte zum Einsatz. Aus Kostengründe habe ich mich für eine 80 GB IDE Festplatte von Western Digital Modell WD800JB entschieden. Die 7200 Umdrehungen pro Minute und die 8 MB Cache sorgen dennoch für eine ausreichend schnelle Verarbeitung der Daten.

 
 

 

 

   4 Ablaufplanung  

   

4 Ablauf-, Termin- und Personalplanung

4.1 Ablaufplanung des Projekts

Ablaufplan in chronologischer Reihenfolge

  • Meeting mit dem Niederlassungsleiter und den Mitarbeitern der Abteilung Einkauf. Aufnahme des Ist-Zustandes. Definieren der Ziele.

  • Einholen von Angeboten bei verschiedenen Distributoren. Preisvergleich der Angebote. Erstellen einer Kostenübersicht für die Geschäftsleitung.

  • Genehmigung der Kosten für das Projekt durch die Geschäftsführung

  • Bestellung der benötigten Hardware.

  • Assemblierung und Konfiguration der Komponenten und des Systems

  • Implementierung des Webfrontends inklusive Betriebstest

  • Einweisung des Niederlassungsleiter und der Mitarbeiter

  • Erstellung der Projektdokumentation


4.2 Terminplanung der Projektdurchführung

Das Projekt wurde für die Kalenderwoche 13 - 14/2005 festgelegt. Da sich die Integration des neuen Systems nicht auf die täglichen Arbeitsabläufe auswirkt, kann das Projekt im laufenden Betrieb entwickelt und getestet werden. Die Übernahme der Daten aus der MS Access Datenbank wurde mit den Mitarbeitern abgeklärt, so das während der Datenübernahme niemand auf die Datenbank zugreift. Der betriebliche Ablauf wurde somit nur minimal beeinträchtigt.


4.3 Personalplanung

Für das Projekt wurden insgesamt 35 Mannstunden veranschlagt. Da viele Programm-module aufeinander aufbauen, ist es nicht möglich Programmmodule parallel zu ent- wickeln, was wiederum für die Durchführung des Projekts durch eine Person spricht.

 
 

 

 

   5 Kostenaufstellung  

 

5 Kostenaufstellung

5.1 Angebotseinholung und Preisvergleich

Die Hardware wurde bei verschiedenen Distributoren der Firma angefragt. Hierfür ergaben sich folgende Preise.

Hardware

Distributor 1

Distributor 2

Distributor 3

Gehäuse Chenbro Mercury

----

----

25,00 €

Netzteil Ultron UN380

21,90 €

----

----

Intel Pentium 4 3,0 GHz

142,00 €

140,58 €

147,50 €

Mainboard GA-8IG1000G

64,84 €

----

61,28 €

Kingston 1 GB Speicherkit

89,70 €

82,90 €

----

LiteOn DVD-Rom 16x/48x

16,20 €

17,75 €

----

Festplatte WD800JB

42,90 €

45,21 €

47,50 €

Teac Floppy Laufwerk

5,50 €

5,75 €

5,60 €

Netzwerkkarte 3C905CX

16,30 €

18,90 €

16,10 €

Da der Prozessor von Distributor 2 erst in ca. einer bis zwei Woche lieferbar ist, und das Speicherkit inklusive Mindermengenzuschlag und den Kosten für den Transport teurer ist als von Distributor 1, kam dieser Lieferant nicht in Frage. Das Gehäuse, Mainboard und die Netzwerkkarte könnte mit einer zweiten Bestellung, die nicht zum Projektumfang gehört, zusammengefasst und somit beim Distributor 3 bestellt werden. Die restliche Hardware ist komplett beim Lieferanten 1 verfügbar und könnte somit innerhalb eines Tages geliefert werden.

 

5.2 Mitarbeiterkosten

Für firmeninterne Projekte wird für Auszubildende mit einem Mitarbeiterstundensatz von 15 Euro pro Stunde gerechnet. Für das Projekt wurden insgesamt 35 Mannstunden kalkuliert. Daraus ergeben sich Mitarbeiterkosten in Höhe von 525 € für dieses Projekt.


5.3 Kostenübersicht

Chenbro Mercury Gehäuse

25,00 €

Netzteil Ultron UN380

21,90 €

Intel Pentium 4 3,0 GHz

142,00 €

Mainboard Gigabyte GA-8IG1000G

61,28 €

Kingston 1GB Speicherkit

89,70 €

LiteOn DVD-Rom 16x/48x

16,20 €

Festplatte WD800JB

42,90 €

Teac Floppy Laufwerk

5,50 €

Netzwerk 3C905CX

16,10 €

Gesamthardwarekosten

420,58 €

Mitarbeiterkosten

525,00 €

Gesamtkosten für das Projekt

945,58 €

Da keinerlei weiteren Kosten für die Software anfallen, belaufen sich die Kosten für das Projekt auf 945,58 €.

Diese Kostenübersicht werden der Geschäftsleitung zur Prüfung und Genehmigung vorgelegt. Nach der Genehmigung der Kosten für das Projekt durch die Geschäftsführung wurden Preise und Verfügbarkeit nochmals bei den Distributoren überprüft und entsprechend den Angaben des obigen Angebotvergleichs bestellt.

 

 

 

   6 Systemkonfiguration  

   

6 Assemblierung und Konfiguration der Systemkomponenten

6.1 Assemblierung der Komponenten

Die für das System bestellten Komponenten wurden entsprechend den Spezifikationen zusammengefügt. Wake on Lan und die Onboard Netzwerkkarte wurden im BIOS des PC's deaktiviert.
 

6.2 Installation und Konfiguration

Die für das System benötigte Software steht zum kostenlosen Download auf den Seiten der Hersteller bereit. (Siehe hierzu auch Anlage E: Quellenverzeichnis)

Das Betriebssystem Suse 9.2 Professional war bereits als DVD Edition in der Firma vorhanden und musste nicht beschafft werden.
 

6.2.1 Suse 9.2 Professional

Als Grundsystem kommt Suse 9.2 Professional zum Einsatz. Diese Distribution hat sich mittlerweile als stabiles Grundsystem etabliert. Der PC wird von dem bereits vorhandenen Suse 9.2 DVD Medium gebootet. Anschliessend werden die entsprechenden Angaben zur Partitionierung und den Netzwerkeigenschaften eingegeben. Bei der Auswahl der Softwarepakete muss darauf geachtet werden, dass der später benötigte Samba Server mitinstalliert wird. Da aktuellere Versionen des Apache Webserver und MySql Server zum Einsatz kommen, können diese Softwarepakete von der Auswahl entfernt werden. Für die Entwicklung der PHP- Webseiten, wird zusätzlich noch der HTML Editor Quanta Plus installiert. Um Sicherheitslücken und Fehler in Programmen zu beheben, wird nach der Installation mit Hilfe des Suse Watcher, der sehr ähnlich wie das automatische Update unter Windows funktioniert, das System aktualisiert.
 

6.2.2 Apache Webserver Version 2.0.52

(Siehe hierzu auch Anlage B: Lamp)

Das Software Paket wird mit dem Befehl

tar -xfv apache.tar.gz

in ein temporäres Verzeichnis entpackt und über die Konsole manuell kompiliert und installiert.

Die Apache Konfigurationsdateien werden bei Suse im Pfad

/etc/Apache2

gespeichert. Die Datei /etc/Apache2/httpd.conf ist die Hauptkonfigurationsdatei des Apache Webservers. Das Root Verzeichnis des Webserver, welches auch in der Datei httpd.conf konfiguriert wird, ist auf /srv/www eingestellt. In der Datei httpd.conf werden die Erweiterungsmodule wie PHP eingebunden.

6.2.3 MySql Datenbank Version 4.1.8

(Siehe hierzu auch Anlage B: Lamp)

Der MySql Server wirde mithilfe eines RPM Paketes über den Installationsmanager Yast installiert. Dies hat den Vorteil, dass noch benötigte Zusatzpakete gleich mit installiert werden. Die Administration der Datenbank erfolgt über das Webfrontend PhpMyAdmin.

6.2.4 phpMyAdmin Webfrontend Version 2.6.0

Das Frontend wird mit dem tar Befehl auf der Konsolenebene in das temporäres Verzeichnis phpMyAdmin entpackt und anschliessend der komplette Ordner in das Root-Verzeichnis des Apache Webserver kopiert. Das Webfrontend läßt sich nun über die

URL http://localhost/phpMyAdmin

in einen beliebigen Browser aufrufen (siehe Abbildung unten).
 

6.2.5 Samba Server Version 3.0.7

(Siehe dazu auch Anlage C: Samba Server)

Der Samba Server wurde bereits bei der Grundinstallation von Suse 9.2 Professional mitinstalliert. Die Konfigurationsdateien für den Samba Server sind unter /etc/Samba abgelegt. In der Datei smb.conf werden die Freigaben für den Samba Server erzeugt.

Damit der Austausch der Daten funktioniert, muss auf der Konsole mit dem Befehl smbpasswd -a username ein neuer Samba Benutzer angelegt werden. Die Passwortdaten werden verschlüsselt in der Datei smbpasswd im Verzeichnis

/etc/Samba

hinterlegt.

 
 

 

Abbildung 6.2.4.1 : MySql Administrationsfrontend

 

   7 Datenübernahme aus MySql  

   

7 Datenübernahme von Microsoft Access in MySql

7.1 Datenexport aus Microsoft Access

Die Datenbank wird über die integrierte Exportfunktion von Microsoft Access in einem Txt Format gespeichert. Um die Daten später problemlos in MySql wieder importieren zu können, müssen die Felder durch einen Tabulator getrennt werden und es darf kein Textbegrenzungszeichen gesetzt werden, da dies die Standartwerte von MySql sind.

Nach dem Export der Daten in eine Txt Datei müssen die Daten manuell mit dem Programm OpenOffice Calc bearbeitet werden, um nicht benötigte Daten aus der Datei zu entfernen bzw. das Format der Datenfeder zu ändern.

7.2 Aufbau der Datenbank

Für das Projekt wird eine Datenbank mit zwei Tabellen benötigt. Die Tabelle Bestellung ist die Haupttabelle. Hier werden die kompletten Bestelldaten gespeichert. Desweiteren ist die Tabelle SN nötig, um die Seriennummern der bestellten Artikel speichern zu können. Zwischen den Tabellen besteht eine 1:N Beziehung, da der Primarkey ID aus der Tabelle Bestellung als Fremdkey in der Tabelle SN hinterlegt ist.

siehe Abbilung 7.2.1 unten

Zur schnellern Sucher der Artikelbezeichnungen und der Seriennummern sind die beiden Felder indiziert worden.

7.3 Datenimport in MySQL

Der Import der Daten wird über das Webfrontend des Verwaltungsprogramms PhpMyAdmin durchgeführt. Die Daten werden in die Tabelle Bestellung importiert. Da beim Export der Daten auf die Standardwerte geachtet worden ist, funktioniert der Import der Daten reibungslos. Anschliessend wird der korrekte Import, über das PhpMyAdmin Verwaltungstool überprüft.

 
 

Abbildung 7.2.1: Struktur Tabelle Bestellung 

 

   8 Webfrontend  

   

8 Programmierung des Webfrontends

8.1 Anforderungen an das Webfrontend

Um die Funktionen des Microsoft Access Bestellsystem komplett zu ersetzen, ist es nötig insgesamt sechs Module zu entwickeln. Für die Erfassung der Seriennummern muss ein zusätzliches Programmodul entwickelt werden, da dies mit Access noch nicht möglich war. Das komplette System muss multiuserfähig sein. Die Oberfläche soll intuitiv gestaltet sein, so dass eine lange Einarbeitungszeit entfällt.

8.2 Oberfläche des Webfrontends

Die Oberfläche des Webfrontends wird über zwei Frames aufgebaut. Im oberen Frame wird die Navigationsleiste eingeblendet und im unteren die einzelnen Programm-module. Um die Navigation zu vereinfachen wird mit einem Hover-Effekt über ein Javascript angezeigt, in welchem Programmteil man sich im Moment befindet.

8.3 Programmmodul Liste Wareneingang

Im Programmmodul “Wareneingang“ werden alle Daten der Bestelldatenbank angezeigt. Zum Erzeugen der Tabellenüberschriften werden die Feldnamen aus der Datenbank Bestellung ausgelesen. Da die aktuellsten Bestellungen zuerst angezeigt werden sollen, wird die Datenbank mit der Option DESC sortiert. Dadurch wird die Datenbank nach dem Feld ID absteigend ausgegeben, also der letzte Eintrag zuerst. Damit nicht die komplette Datenbank auf eine Seite geladen wird, werden pro Seite 100 Datensätze ausgegeben. Über einen Link am Ende der Liste kommt man dann zu den nächsten Datensätzen. Am Anfang der Liste wurde eine Suche implementiert, um schneller zu älteren Bestellungen zu gelangen. Die Suche entspricht dem Modul “Suche“. Um die Daten für den Einkauf aktuell zu halten, wird die Seite über einen Meta-Tag alle fünf Minuten neu geladen.

siehe Abbildung 8.3.1 unten : Programmodul Wareneingang
 

8.4 Programmmodul Bestellung

Das Programmmodul Bestellung dient zur Eingabe der zu bestellenden Artikel. Die Daten werden über ein Formular in die Datenbank eingetragen. Beim Eintragen prüft das Formular, ob die Pflichtfelder Artikel und Bemerkung ausgefüllt sind. Falls dies nicht so ist, wird der Anwender darauf hingewiesen. Das Feld Datum wird automatisch mit dem aktuellen Datum ausgefüllt, kann aber auch manuell geändert werden. Die Artikel werden standardmäßig mit dem Status “noch nicht bestellt“ in die Datenbank eingetragen. Falls der Artikel schon bestellt worden ist, kann der Status auf bestellt gesetzt werden. Wenn eine Bestellung in die Datenbank eingetragen worden ist, wird der Einkauf per Email benachrichtigt, damit etwas bestellt werden muss. Nach dem Eintragen einer neuen Bestellung in die Datenbank gelangt der Anwender wieder auf die Seite des Bestellformulars. Des weiteren wird eine Übersicht der noch zu bestellenden Artikel angezeigt. Über diese lässt sich der Status aller Bestellung auf bestellt setzen und mit dem SQL Update Befehl die Datenbank aktualisieren.

siehe Abbildung 8.4.1 unten : Programmodul Bestellung
 

8.5 Programmmodul Eingabe Wareneingang

Das Modul Wareneingang dient zur Übersicht der Artikel die im Backlog stehen. Wenn die bestellte Ware geliefert wird, werden die Artikel in dieser Liste markiert und als geliefert ausgetragen. Nach dem Austragen wird der Anwender in das Modul zur Eingabe der Seriennummern weitergeleitet. Die Anzahl der Felder für die Serien-nummern wird dynamisch nach Anzahl der bestellt Artikel generiert. Nach der Eingabe wird die Seriennummer zusammen mit dem ID Feld aus der Tabelle Bestellung in der Tabelle SN gespeichert.

8.6 Programmmodul Bestelländerung

Über dieses Modul können die Artikel, welche noch nicht als bestellt markiert sind, geändert werden. Die Tabellenfelder werden als Formularfelder genutzt und mit den Daten aus der Datenbank gefüllt. Nach dem Ändern der Daten erhält der Anwender eine Übersicht über seine Änderung.

8.7 Programmmodul Suche

Hier lassen sich alte Bestellungen anhand der Artikelbezeichnung suchen und zur Wiederbestellung in die Datenbank eintragen. Mit der PHP-Abfrage “stristr“ kann man die Groß-/Kleinschreibung umgehen, da diese Abfrage nur nach der Zeichenkette im Feld Artikel sucht. Die Anfragen, die den Wert True zurückliefern, werden tabellarisch aufgelistet. Über den Button im Feld “erneut bestellen“, können bereits gelieferte Artikel sofort wieder in die Bestelldatenbank eingetragen werden. Um die Daten vor dem Eintragen in die Datenbank modifizieren zu können, werden diese an das Formular im Programmmodul Bestellung übergeben. Auch hier wird der Einkauf über die neue Bestellung per Email benachrichtigt.

8.8 Programmmodul Löschen

Für den Fall, dass ein Artikel z.B. vom Kunde storniert worden ist, wurde das Modul löschen entwickelt. Hier können noch nicht als bestellt markierte Artikel wieder gelöscht werden. Falls ein Artikel bereits bestellt worden ist, und er aber dennoch gelöscht werden soll, geht dies nur mit Hilfe des MySql Administrationstool PhpMyAdmin.

8.9 Programmmodul Seriennummern

Mit Hilfe dieses Moduls können die Seriennummern bereits gelieferter Artikel gesucht werden. Die Suche funktioniert nachdem selben Prinzip, wie die Suche nach Artikel. Es kann nach einzelnen Zeichenketten einer Seriennummer gesucht werden. Als Ergebnis werden alle Seriennummer zurückgeliefert die diesen String enhalten. Desweiteren wird ausgegeben, wann und von welchem Lieferanten der Artikel bezogen worden ist. Dies geschieht mit Hilfe der in der Tabelle SN gespeicherten ID aus der Tabelle Bestellungen. Über diese lassen sich alle zum Artikel gehörenden Bestelldaten aus der Tabelle Bestellung auslesen.

 
 
 

 

Abbildung 8.3.1: Programmodul Wareneingang

 

Abbildung 8.4.1: Programmodul Bestellung

 

   9 Squid  

   

9 Squid

9.1 Installation des Proxyservers

(Siehe hierzu auch Anlage D: Ablaufdiagramm Proxy Server)

Das Quellpaket zum kompilieren wurde von der Homepage der Entwickler heruntergeladen und auf der Konsole mit dem Befehl tar xzf squid_2.5.tar.gz entpackt. Nach dem Wechsel in das neu erzeugte Verzeichnis sammelt der Befehl configure alle wichtigen Informationen. Anschließend werden mit dem Make Befehl alle nötigen Programm- und Konfigurationsdateien erzeugt. Da man als normaler Benutzer in bestimmten Verzeichnissen keine Schreibrechte hat, muss man sich mit dem Befehl su als root an der Konsole anmelden. Zum Schluss muß der Befehl make install ausgeführt werden, damit alle Verzeichnisse angelegt und die benötigten Dateien in die richtigen Verzeichnisse kopiert werden.

9.2 Konfiguration und Inbetriebnahme

Der Proxy muss nun über die Datei squid.conf im Verzeichnis /etc/squid konfiguriert werden. Hier werden die Grundeinstellungen wie Hostname, IP Adresse und Port, auf die der Proxy “lauschen“ soll, eingestellt. Des Weiteren werden hier die kompletten Cache Einstellungen des Proxy Servers konfiguriert, dazu gehören unter anderem das Verzeichnis für den Cache und die Größe des Cache. Beim Cache Modus habe ich mich für den HEAP LFUDA Modus entschieden, da dieser im Gegensatz zu den anderen Modi die Byte Hitrate erhöht. In diesem Modus werden häufig angefragte Objekte im Cache behalten. Um eine höhere Byte Hitrate zu erhalten müssen verschiedene Werte wie z.B. “Maximum_Object_Size“, angepasst werden.


siehe Abildung 9.2.1 unten : Auszug aus der Datei Squid.conf

Nach der Konfiguration muss mit dem Befehl squid -z die Verzeichnisstruktur von Squid angelegt werden. Anschliessend wird der Proxy im Debug Modus auf der Konsole gestartet, dadurch werden die Informationen direkt auf der Konsole ausgegeben.

9.3 Konfiguration der Clients

Um nicht an allen Clients die Proxyeinstellungen des Browser manuell zu ändern, wird dies mithilfe einer Windows 2003 Domain Policy durchgeführt. Diese wird beim Anmelden eines Benutzers an der Domaine Stuttgart2004 geladen. Für lokale Adressen, wie z.B. das Bestellsystem, wird der Proxy nicht genutzt.


siehe Abbildung 9.3.1 unten : Konfiguration der Gruppenrichtlinie

 
 
 

 

Abildung 9.2.1: Auszug aus der Datei Squid.conf

 

Abbildung 9.3.1: Konfiguration der Gruppenrichtlinie

 

   10 Testdurchlauf  

   

10 Testphase

10.1 Test der Proxyservers

Der Proxyserver wurde an einzelnen Clients eingetragen und einem Testlauf unterzogen. Nach dem keinerlei Probleme im Betrieb aufgetreten sind wird die Gruppenrichtlinie für die Domaine eingerichtet und mit dem Befehl gpupdate die Richtlinien aktualisiert. Bei der nächsten Anmeldung wird somit jedem Benutzer der Proxy Server automatisch zugewiesen.

10.2 Test der Bestelldatenbank

Die Bestelldatenbank wird durch einen Mitarbeiter des Einkaufs auf Vollständigkeit der alten Daten überprüft. Anschliessend werden verschiedene Bestellabläufe simuliert. Beim Modul Seriennummern treten vereinzelnd noch Probleme bei der Erfassung der Daten auf. Der Fehler kann aber relativ schnell durch das Ändern einer Typdeklaration behoben werden.

 
 

 

 

   11 Projektabschluß  

   

11 Abschluß des Projekts

11.1 Einweisung der Mitarbeiter

Für den Umgang mit dem Proxy Server müssen die Mitarbeiter nicht eingewiesen werden. Die grundsätzlichen Funktionen des neuen Bestellsystems werden in der Freitags stattfindenden Mitarbeiterbesprechung anhand verschiedener Bestellabläufe erläutert und Fragen beantwortet. Da die Mitarbeiter der Abteilung Einkaufs beim Entwicklungsprozess beteiligt waren, musste eine tiefer greifende Einführung für die Abteilung nicht durchgeführt werden.

11.2 Systemdokumentation und Übergabe

Nach Einweisung der Mitarbeiter wird die Systemdokumentation erstellt.

Anschliessend wird das System und die Dokumentation an den Niederlassungsleiter übergeben.

 
 

 

 

   Anhang  

 
  1. Glossar

1:N Beziehung

Wenn zwei Tabellen mit einer 1:n-Beziehung miteinander verknüpft sind, dann befindet sich in dem Teil mit der "1" ein Attribut als Primärschlüssel. In der Tabelle mit den "n" zugeordneten Datensätzen existiert ein Schlüssel, der in seinem Datentyp identisch ist mit diesem Primärschlüssel. Über dieses Feld kann man einen dieser Datensätze der Tabelle n eindeutig einem der Datensätze der Tabelle 1 zuordnen, da der Fremdschlüssel in der einen Tabelle denselben Wert hat, wie der Primärschlüssel der anderen Tabelle.

Apache

Sehr schneller und stabiler Webserver, der unter der GNU GPL steht. Der Webserver kann von der Homepage der Entwickler für verschiedene Plattformen heruntergeladen werden. Siehe hierzu auch Anlage B : LAMP

Assemblierung

Eigenbau eines PCs oder Notebooks. Die Hardwarekomponenten werden in Eigenarbeit zusammen geschraubt.

Backlog

Artikel die bestellt, aber vom Lieferanten noch nicht geliefert worden sind.

BIOS

Das Basic Input Output System bildet die grundlegende Schnittstelle zwischen der Hardware und der darüber liegenden Software. Es initalisiert die Hardware, startet das Betriebssystem und enthält einige Ein-/Ausgaberoutinen.

Browser

Ein Browser ist ein Programm, das den Zugriff und die Darstellung von Seiten des World Wide Web ermöglicht z.B Firefox, Opera und Internet Explorer.

Byte Hitrate

Sie stellt das Verhältnis aus dem Datenvolumen, welches dem Proxy Cache entnommen wurde, und dem Gesamtvolumen an Daten dar.

Cache

Speicher des Proxys, in dem Objekte zwischengespeichert werden.

Client

Ein PC der sich an einem Netzwerk anmeldet, von dort dem Nutzer Dienste bereitstellt, selbst aber eigentlich keine anbietet.

Console

Eingabemaske zur Befehlseingabe und zur Ausgabe der Befehlsergebnisse.

Domain Policy (Gruppenrichtlinie)

Gruppenrichtlinie die es erlaubt computer- oder anwenderspezifische Einstellungen zu konfigurieren. Dieser werden bei der Anmeldung am Netzwerk automatisch zu gewiesen oder nach 90 Minuten automatische aktualisiert.

DSL

DSL steht für Digital Subscriber Line und bezeichnet verschiedene Techniken für eine breitbandige digitale Verbindung über ein Telefon-Zugangsnetz.

DVD

Die Digital Video Disc ist ein Speichermedium ähnlich der CD-Rom jedoch mit wesentlicher höherer Speicherkapazität.

Frontend

Ein spezielles Programm das eine grafische Oberfläche für verschiedene Dienste zur Verfügung stellt. Es dient dem Benutzer als Eingabehilfe.

GNU GPL

GPL bezeichnet eine Lizenz für "freie" Software bzw. genauer für deren Programm-quellcode. Freie Software bedeutet in diesem Zusammenhang, dass sie von jedem Gebraucht, geändert und angepasst werden kann. Besonders wichtig ist, dass jegliche veränderte Software wieder unter die GPL gestellt werden muss, dh. frei weitergegeben werden muss

gpupdate

Ein Befehl mit dem geänderten Gruppenrichtlinien sofort aktualisiert werden können.

Standardmäßig werden die Richtlinien alle 90 Minuten aktualisiert

HTML

HyperText Markup Language ist eine Beschreibungs-/Auszeichnungssprache für Seiten im World Wide Web. Sie werden von einem Browser dargestellt.

Indiziert

Im Gegensatz zum Primärkey, dient die Indizierung eines Tabellenfeldes zur schnelleren Suche. Dafür wird eine Tabelle angelegt, in der die Werte z.B. alphabetisch Sortiert vorliegen. Durch diese Sortierung kann der eingesetzte Suchalgorithmus die Ergebnisse schneller zurückliefern.

Kompilieren

Kompilieren ist ein Vorgang, in dem ein Programm, das in einer bestimmten Programmiersprache geschrieben wurde, in äquivalente Maschinesprache übersetzt wird. Dies geschieht mit Hilfe eines Compilers.

HEAP LFUDA

Häufig angefragte Objekte werden im Cache gehalten, selten angefragte werden freigegeben, unabhängig von deren Größe. Damit wird ein häufiger angefragtes, großes Objekt ggf. auf Kosten vieler kleiner Objekte im Cache gehalten.

Linux

Linus Torvald's Unix ist heute als ein freies und portables Betriebssystem bekannt. Da es unter der GNU GPL (General Public License) steht, müssen die Quelltexte der Öffentlichkeit frei zugänglich sein. Linux ist aber im eigentlichen Sinne kein Betriebssystem sondern nur die wichtigste Komponente des Betriebssystem, der Kernel. Dieser bildet die Grundlage für das Betriebssystem.

Maximum_Object_Size

Gibt die maximale Größe eines Objekts an, das im Cache des Proxys gespeichert wird. Größere Objekte werden nicht gespeichert.

MS Access

Microsoft Access ist ein Datenbanksystem, welches die Verwaltung von Daten und die Entwicklung von Datenbankanwendungen ermöglicht. MS Access ist Bestandteil des Microsoft Office Professional Pakets. MS Access gibt es im Gegensatz zu anderen Office-Programmen von Microsoft nur für Windows.

MS-DOS

Microsoft Disc Operating System war das erste Betriebssystem für PC's. Es war in den späten 1980er Jahren das dominierende Betriebssystem für Einzelplatzrechner. Heute liegt es in der Version 8.0 vor und ist noch Bestandteil von Windows ME, wo es als DOS-Box bereit steht.

Multiuserfähig

bezeichnet die Fähigkeit eines Programms, Computers oder Betriebssystems, Arbeitsumgebungen für verschiedene Benutzer bereitstellen und voneinander abgrenzen zu können.

MySql

MySql ist eine relationale SQL Datenbank die unter der GNU GPL steht. MySQL gilt als eine sehr schnelle Datenbank und wird auch aufgrund der freien Verfügbarkeit oft eingesetzt, zumeist auf Webseiten in Kombination mit der Scriptsprache PHP.

Onboard

LAN onboard bedeutet, dass auf dem Mainboard eine Netzwerkkarte integriert ist. Dies ist eine sehr komfortable Lösung da kein weiterer PCI Steckplatz benötigt wird.

PHP

PHP (Hypertext Preprocessor früher Personal Homepage Tool) ist eine serverseitige interpretierbare Skriptsprache, welche für die Erstellungen von dynamischen Webseiten verwendet wird. PHP zeichnet sich durch seine leichte Erlernbarkeit und breite Datenbankunterstützung aus. Der Vorteil von PHP ist, dass am Client keine speziellen Fähigkeiten erforderlich sind oder Inkompatibilitäten auftreten können.

PHPMyAdmin

PHP-Applikation zur Administration von MySql-Datenbanken. Mit dem phpMyAdmin lassen sich MySql-Datenbanken einfach und schnell über das Intra- oder Internet mit einem einfachen Browser verwalten.

Primarykey (Primärschlüssel)

Als Primärschlüssel bezeichnet man in relationalen Datenbanken ein Datenfeld (oder eine Kombination von Datenfeldern) in einer Tabelle, die jeden in dieser Tabelle gespeicherten Datensatz eindeutig beschreibt. Ein Schlüssel darf in einer Tabelle nicht mehrmals vorkommen, da dieser dafür genutzt wird, um zu einem bestimmten Datensatz zu navigieren.

Proxy-Server

Der Proxy-Server verwaltet den Zugriff auf das Internet. Dabei werden alle Anfragen aus dem Netz auf dem Proxy-Server abgelegt, dieser holt die Information aus dem Internet und legt diese auf der Festplatte ab, worauf die Arbeitsstation auf die Information zugreifen kann. Siehe Anlage XX : Proxy-Server

Relationale Datenbank

Eine relationale Datenbank ist eine Datenbank, die auf dem relationalen Datenmodell basiert. Relational bedeutet etwa: “In Verbindung stehend mit etwas“. Die Daten werden dabei in Form von zweidimensionalen Tabellen verwaltet, die über Schlüssel (Primärschlüssel, Fremdschlüssel) miteinander verknüpft werden können.

root (Benutzer)

root bezeichnet ein Benutzerkonto unter Linux, welches dem Konto Administrator unter Windows entspricht. Der Benutzer root hat alle Rechte auf diesem System.

Root (Verzeichnis)

Root ist die “Wurzel“ in der Verzeichnisstruktur, sprich das unterste Verzeichnis. Von hier aus wird die Verzeichnisstruktur aufgebaut. Unter Linux wird dieses Verzeichnis als “/“ dargestellt.

Router

ist ein Vermittler der in einem Netzwerk dafür sorgt, dass bei ihm eintreffende Daten eines Protokolls zum vorgesehenen Zielnetz weitergeleitet werden.

RPM

RPM ist der Red Hat Package Manager. RPMs sind Archive, die ein Softwarepaket enthalten (grob ähnlich dem .zip-Format). Diese lassen sich dann über die Console oder über ein grafisches Frontend wie Yast einfacher installieren, als das Paket selbst zu kompilieren.

Samba

Samba ist eine frei Software-Suite, die das Server Message Block–Protokoll kurz SMB für Linux Systeme verfügbar macht. Siehe hierzu auch Anlage C : Samba

SQL

Die Structured Query Language (dt. strukturierte Abfragesprache) ist eine Abfragesprache für relationale Datenbanken. SQL ist ein Quasi-Standard da eine weitgehende Unabhängigkeit von der benutzten Software erzielt wird.

Squid

Squid ist eine frei verfügbare Proxy-Suite und bietet Proxyfunktionlität für verschiedene Protokolle an. Siehe hierzu auch Anlage D - Proxy Server.

Suse

Suse Linux ist eine einfach zu installierende, deutsche Linux-Distribution der NOVELL SUSE LINUX AG aus Nürnberg. Dabei steht das Wort SUSE für System- und Software-Entwicklung. Auf der DVD werden bereits sehr viele Softwarepakete mitgeliefert.

Switch

Ein Switch ist ein elektronisches Gerät zur Verbindung mehrerer Computer bzw. Netzwerk-Segmente in einem lokalen Netzwerk. Ein Switch kann eine direkte Verbindung zwischen zwei Clients herstellen, daß hat den Vorteil, daß keinen weiteren Ports des Switchs belegt werden. Es gibt 2 Methoden wie ein Switch arbeitet Bei der Store an Forward Methode werden die Daten kurz zwischengespeichert und anhand einer Prüfsumme überprüft. Bei der Cut-Through Methode, werden die Daten anhand der MAC-Adresse sofort beim Eintreffen weitergeleitet.

Tar

tar ist ein für die Console entwickeltes Archivierungsprogramm. Der Name leitet sich Tape Archiver ab, was auch seine ursprüngliche Aufgabe war. Heutzutage kommt es hauptsächlich mit der Datenkompressionssoftware Gzip zum Einsatz.

True/False (Boolean Wert)

Datentyp für logische Aussagen, also wahr (true) und falsch (false). Es kann mit einem 1 Bit realisiert werden, da der Wert nur 0 oder 1 werden kann.

Wake on Lan

Bei Wake on Lan wird die Netzwerkkarte weiterhin mit Strom versorgt, wenn der Rechner ausgeschaltet ist. bzw. auf Stand-by steht. Die Netzwerkkarte wartet auf ein so genanntes Magic Paket. Bei dessen Empfang wird der Rechner eingeschaltet. Voraussetzung: der Rechner ist schaltungstechnisch dazu in der Lage und bietet einen sogenannten WOL-Konnektor.

Diese Erklärungen habe ich inhaltlich verschiendenen Internet Computerlexika entlehnt. Die einzelnen Beschreibungen wurden jedoch teilweise gekürzt oder aber von mir entsprechend erweitert bzw. ergänzt.

Quellen siehe Quellenverzeichnis


B.  LAMP

LAMP ist eine Abkürzung für den kombinierten Einsatz der Softwareprodukte

Linux, des Apache HTTP Webservers, der MySql Datenbank und wahlweise einer der Skriptsprachen PHP, Perl oder Python.

Als Betriebssystem kann eine der vielen Linux Distributionen wie Suse Linux oder Debian zum Einsatz kommen. Die Distribution werden meistens über einen FTP Server zum freien Donwload angeboten. Welche Distribution eingesetzt wird, spielt keine Rolle. Der Apache Http Webserver wird von der Apache Software Foundation ehrenamtlich entwickelt. Der Server wird bei vielen Distributionen schon auf der CD mitgeliefert oder man kann ihn von der Homepage der Entwickler kostenlos herunterladen. Der Server wird nicht nur für die Linux Welt entwickelt, sondern steht genauso als Installationspaket für Windows zur Verfügung. Da er für fast jedes Betriebssystem erhältlich ist wundert es nicht, dass er der am meisten verbreitete Webserver im Internet ist.

Bei dem Open Source Projekt MySql handelt sich um die populärste Datenbank, was sich in mehr als 4 Millionen Installation weltweit widerspiegelt. Die Datenbank wurde ursprünglich von Michael Widenius entwickelt. Heute wird die Datenbank von der Firma MySql AB weiterentwickelt, die auch die Datenbanken von SAP entwickelt.Die wichtigsten Befehle zur Steuerung der Datenbank sind die Befehle zum Einfügen (INSERT), Bearbeiten (UPDATE), Lesen (SELECT) und Löschen (DELETE) von Daten in eine Tabelle der Datenbank, wobei Kombinationen dieser Befehle miteinander und mit Bedingungen die Leistungsfähigkeit der Datenbank wesentlich bestimmen. MySql lässt sich hervorragend an das jeweilige Anforderungsprofil anpassen. Besonderer Beliebtheit erfreut sich MySQL im Bereich von Webservern, da es besonders auf diesem Gebiet gute Performance liefert.

Zum Erstellen dynamischer Webseiten wird eine Skriptsprache wie PHP benötigt. Diese wurde ursprünglich von Rasmus Lerdorf entwickelt. Andi Gutmans und Zeev Suraski entwickelten PHP ab Version 3 weiter. PHP hat die Standardskriptsprache Perl innerhalb kürzerster Zeit abgelöst, da die Erlernbarkeit der Sprache wesentlich einfacher ist.

C. Samba Server

Samba ist die Implementierung eines Server-Message-Blocks-(SMB)-Protokollserver für Linuxsysteme. Dieses Protokoll dient den Microsoft-Servern/Clients zum Dateiaustausch und Druckerzugriff. Samba simuliert einen kompletten Windowsserver. Hinter Samba steckt lediglich eine Programmfamilie, die es einem ermöglicht auf einen Linux-System Dateien- und Druckerfreigaben zu erstellen bzw. auf entfernte Windows Ressourcen zuzugreifen. Die wichtigste Datei ist die Konfigurationsdatei smb.conf.

Abbildung C.1 : Konfiguraionsdatei SMB.Conf

Hier werden die Freigaben für die Windows Clients erzeugt und globale Variablen gesetzt. Hier können auch an den Linux PC angeschlossene Drucker für Windows User freigegeben werden. In der globalen Sektion werden unter anderem die Arbeitsgruppe und der Computername hinterlegt.

In den Freigaben kann explizit definiert werden welcher User Zugriff hat.

Die Zugriffsberechtigungen werden über die Datei smbpasswd geregelt. Mit dem Consolen Befehl smbpasswd werden neue Benutzer angelegt bzw. Passwörter von bereits vorhandenen User geändert.

Abbildung C.2 : Consolenbefehl smbpasswd

 

 
 D. Ablaufdiagramm Proxyserver

 
E. Netzwerkplan

(Bild anklicken = vergrößern auf 1200 x 800; 100Mbyte)

 

   Quellenverzeichnis  

   

F. Quellenverzeichnis

Apache Webserver : http://httpd.apache.org

MySql Datenbank : http://dev.mysql.com

PhpMyAdmin : http://www.phpmyadmin.net

Squid Proxy Server: http://www.squid.org; http://www.squid-handbuch.de

PHP : http://www.php.net

Suse : http://www.suse.de

Suse Hardwarekompatibilitätsliste : http://cdb.suse.de

Linux allgemein : http://www.linuxfibel.de; http://www.linuxhaven.de

Suchmaschine : http://www.google.de

 
Quellen für Erkärungen und Gloassar

Wikipedia : http://www.wikipedia.de

Computerlexikon : http://www.computerlexikon.com

Net Lexikon : http://www.lexikon-definition.de

Squid : http://www.squid-handbuch.de


Die registierten Markenzeichen auf dieser Seite sind Eigentum der jeweiligen Markeninhaber. Alle Angaben sind ohne Gewähr und Zusicherung auf Funktion und Sicherheit.

 
 

| kontakt | weiter |

www.subventionsberater.de
 
(Abb. OpenSourceProjekt & registered trademarks)