[zurück]

Realisierung einer ERP Internet Loesung
mit Schnittstelle fuer E-Commerce

Technikerarbeit von Hanschur Marc 2001.07.19
  1. Vorwort


  2. Mit dem Datenbanksystem MySQL und dem Webserver Apache wird
    ein interaktiver E-Commerce-Shop entstehen. Dieser Shop wird die Moeglichkeit
    beinhalten Artikel ueber ein Warenkorbsystem zu bestellen und auszuliefern.
    Als Zusatzfunktion wird ein Multi-Haendler E-Commerce-System auf CRM Basis geschaffen
    das die Moeglichkeit hat, eine Webseite Online zu administrieren sowie
    Produkte auf einer Firmeneigenen Webseite zu verkaufen (xy.cyber-kauf.de).
    Auf www.cyber-kauf.de werden alle Produkte aller Anbieter vertrieben.
    Somit (unsere Idee) besteht die Moeglichkeit ein Onlinewarenhaus zu eroeffnen,
    in dem der Kunde div. Produktinformationen erhaelt und diese Produkte auch
    uebers Internet bestellen kann.

    Als Haendler bezeichne ich Wiederverkaeufer die ueber Cyber-Kauf ihre Produkte vertreiben.

    Diese Dokumentation wurde fuer das Internet entwickelt und ist auch nach der Technikerarbeit dort in fortgefuehrter Form zu erhalten (www.hanschur.de).

    Diese Arbeit wurde als OpenSource Projekt entwickelt und wird von mir natürlich weiterentwickelt und optimiert. In Zukunft wird Sie als Shopversion auf der Webseite des Internetshops CYBER-KAUF eingesetzt

    www.cyber-kauf.de

    Das ganze Projekt basiert auf ASP-Basis mit MySQL und Perl
    (HTML,CSS und XSSI ist natuerlich Voraussetzung).


    Grosser Dank gilt auch für die Unterstuetzung und Begleitung meiner
    Technikerarbeit Herrn Andreas Grupp und der Firma CYBER-KAUF.


  3. Kostenaufwand fuer die Firmengruendung


  4. Das Betriebssystem Linux, auf welches wir dieses Projekt aufgesetzt haben ist Freeware sowie die Datenbank MySQL, der Apache Webserver, etc.

    Daher sind lediglich Kosten fuer die Anschaffung des Servers faellig. Diese Kosten waren uns aber bereits seit Gruendung des Unternehmens Cyber-Kauf bekannt. Ansonsten konnte die gesamte Infrastruktur von mir verwendet werden.

    Anbei erhalten Sie eine Detailzeichnung der vorhandenen Infrastruktur



    Beschreibung der Infrastruktur
    Typ Betriebssystem Rechnerart
    Server Linux 7.1 AMD 300 MHZ 64 MB Haupspeicher
    160GB Festplatte
    100 Mbit Netzwerkkarte
    2 Netzwerkdrucker
    Testserver Linux 7.1 Pentium 100 MHz
    32 MB Hauptspeicher
    10 Mbit Netzwerkkarte
    Client 1 Windows 98 SE
    Linux 7.1
    AMD 500 MHZ 128 MB Hauptspeicher
    20 GB Festplatte
    100 Mbit Netzwerkkarte
    Client 2 Windows 95 / 98
    Linux 7.1
    Acrobat Pentium 100 MHz
    64 MB Hauptspeicher
    100 Mbit Netzwerkkarte
    I-MAC OS 9.1 PowerPC G3 500 MHz
    192 MB Hauptspeicher
    100 Mbit Netzwerkkarte
    Laptop Windows 98
    Linux 7.1
    Celeron 366 MHz
    64 MB Hauptspeicher
    100 Mbit Netzwerkkarte

    Der Server dient dazu, das die Technikerarbeit auf einer echten Serverumgebung getestet wird.
    Der Testserver wird verwendet um die verschiedenen Einstellungen z.B. beim Apache Webserver mit mod_perl und ASP zu installieren bevor diese dann auf den Server uebertragen werden.
    Client 1, Client 2 und der Laptop wird zur Programierung verwendet.
    Der I-Mac ist fuer die Grafikbearbeitung sowie die Layoutgestaltung des Shops mit den dazugehoerigen Webseiten sehr nuetzlich.

    Somit wurden alle programmtechnischen Aufwendungen im hausinternen Netz erstellt und erst in der Endphase auf den CYBER-KAUF Server aufgespielt. In diesem Umfeld das bereits gegeben war, konnten die Kosten ebenfalls minimiert werden.

  5. Einleitung / Beschreibung in deutsch und englisch


  6. Ziel war es, eine Internetseite mit E-Shop zu entwickeln, die auf die Datenbestaende einer Datenbank zurueckgreift. Die einzelnen Seiten sollten dynamisch erzeugt werden. Um leichtes Navigieren zu gewaehrleisten muß in den Seiten die Moeglichkeit geschaffen werden jederzeit in andere Haupt- bzw. Untergruppen zu gelangen.

    Waren in den virtuellen Warenkorb zu legen, soll auf jeder E-Shopseite moeglich sein.
    Vorhandene Bilder oder Datenblaetter sollen jederzeit abrufbar sein, ohne den E-Shop zu verlassen. Desweiteren sollte der Bestand des Warenkorbs aus dem E-Shop ueberpruefbar und veraenderbar sein. Da sich im E-Shop mehrere User befinden koennen, ist eine Identifizierung zwingend notwendig. Daten des virtuellen Warenkorbs sollen nach Beendung der Session geloescht werden, um zu verhindern dass bei starker Frequentierung des Shop`s die Warenkorb-Tabelle auf eine unzulaessige Groeße anwaechst. Nach Auswahl der Artikel im Katalog soll der User seine Bestellung, unter Angabe der Adressdaten, Online ausloesen koennen. Die E-Shop Session soll mit den Bestelldaten in zwei E-Mails, an den User und den E-Shop Haendler, beendet sein.

    Es wird eine Kundendatenbank angelegt bei der sich der User (Kunde) am Shop anmelden kann. Ueber ein Kundenadministrationsmenu sollte der Kunde seine Daten aendern koennen.

    Die Webseite soll fuer mehrere Anbieter mit unterschiedlichem Design erscheinen. Der E-Shop von einem Haendler (xy.cyber-kauf.de) darf nur die Produkte des Haendlers enthalten. Auf dem Master E-Shop (www.cyber-kauf.de) werden jedoch alle Produkte aller im E-Shop verzeichneten Haendler gezeigt.

    Zum Schluss sollte noch ein Onlineadministrationsportal fuer Produkte und das Design der Homepage fuer den Haendler entstehen. Ueber diese Funktion kann der Haendler seine komplette Internetpraesentation veraendern (Produkte anlegen, aendern und loeschen / Webseite mit Hauptgruppen und Untergruppen gestalten).

    Weiterhin sollte durch nicht allzugrossen Kostenaufwand ein individuelles Marketingsystem entwickelt werden. Mit der Zielsetzung die Werbung fuer die Firma Cyber-Kauf an den Kunden und Haendler zu bringen. Der erste Punkt wird in Form eines Stickmusters des Logo´s der Firma auf unterschiedliche Dinge wie Hemden, Basecaps etc. gestickt. Der zweite Punkt ist durch den Besuch der "spoga / gafa 2000" in Betracht gezogen worden.


    Goal was it to develop an internet-side with e-shop, that fall back on the data inventories of a data bank. The individual sides should be generated dynamically. In order to guarantee easy navigating, the possibility must be created in the sides to reach into other head - as well as subassemblies anytime.

    Was to be put into the virtual merchandise-basket, should be possible on each Shopsite.
    Existing pictures or data sheets should be accessible anytime, without which e-shop too abandoned. Furthermore, the continuance of the merchandise-basket should be from the e-shop visible and alteration. Since several User can be in the e-shop, an identification necessarily participates necessary. Data of the virtual merchandise-basket should be deleted after end of the session in order to prevent that the merchandise-basket-table increases with strong use of the shop on an inadmissible size. The User should be able to cause his/its order, under statement of the address-data, after drawing selection of the articles in the catalog online. The e-shop session shall with the order-data in two e-mails, at which User and the e-shop dealer, is finished.

    It becomes quarreled the User (customer) with her/it at the Shop a customer-data bank can declare, is finished. The customer should be able to alter his/its data over a sellermenue.

    The web page should appear for several suppliers with different design. The E-Shop of a dealer (xy.cyber-kauf.de), can contain only the products of the dealer. On the master e-shop (www.cyber-kauf.de), all products are shown all trader charted in the e-shop however.

    To the end, another online-administration-portal should originate for products and the design of the home page for the dealer. Over this function, the dealer can change his/its complete internet-presentation, products aim, alter and delete / web page with main-groups and subassemblies shapes.

    Still, an individual marketing-system should be developed by not all too great expenditure. With the objective, to bring the advertisement for the company Cyber-Kauf at the customer and dealers. The first point becomes in form a Stichmuster of the logo of the company on different things like shirts, Basecaps etc done embroidery. The second point has been pulled by the visit of the " spoga / gafa 2000 " in consideration.


  7. Projektplan und Meilensteine festlegen


  8. Im Projektplan sind die Hauptpunkte sowie die dazugehoerigen Arbeiten erfasst worden. Der Projektplan dient zur Kontrolle, sich eine Uebersicht ueber das Projekt zu verschaffen, damit man feststellen kann was bereits erledigt ist und wie lange man dafuer Zeit hat. Anhand dieses P-Plans konnte man auch eine Kostenschaetzung vornehmen als ob die Arbeitszeit kostenplichtig waere. In der unteren Darstellung finden Sie ein Screenshot mit der Meilensteinuebersicht um die dazugehoerigen Unterpunkte wie zum Beispiel der Besuch der Spoga. Das anschliesende Ordnen der gesammelten Informationen ist aus platztechnischen Gruenden nicht in dieser Grafik enthalten. Wichtig bei einem Projektplan ist auch, dass man die Ressoursen richtig abschaetzen kann, zum Beispiel das interne Netzwerk. Haette dies nicht den Anfoderungen des Projekts entsprochen, so waere sehr wahrscheinlich kein befriedigendes Endergebnis entstanden.



    Die naechste Grafik zeigt einen zeitlichen Ablaufplan von Microsoft Projekt und die Verknuepfungen der einzelnen Projektaufgaben miteinander. Die Reienfolge ist die selbe wie bei der oberen Grafik. Dieser Plan musste aus Darstellungsgründen auf ca. fuenf Wochen verkuerzt werden. Normalerweise sind bestimmte Punkte hintereinander anzuordnen da jeder Balken die Arbeitszeit fuer eine Person pro Tag bedeutet. Somit wuerden anhand dieser Grafik mehr als vier Personen benoetigt.



    Entscheident fuer das Abbilden diese Projekts, war fuer mich das Einarbeiten in eine Software, und damit die verbundene Art diese kennenzulernen. Aus eigener Erfahrung kann ich nun sagen das es kein grosser Aufwand war, das ganze zu pflegen. Eher war es so, das die Ueberwachung sowie die Zeiteinteilung problemlos ueberschaubar war. Der offizielle Projektbeginn war mit der spoga im September letzten Jahres. Somit war genuegend Zeit das Grundsystem zu entwickeln.


  9. Haendlerwahl / Produktvergleich


  10. Beim Besuch der spoga / gafa 2000 Freizeitmoebelmesse fuer Fachaussteller am 03. September 2000 wurde ein Produktauswahl vorgenommen. Ein italienisches Haendler erhielt den Zuschlag, da sein Produkt einen sehr guten und soliden Eindruck bei uns hinterlies und unseren Vorstellungen am besten entsprach. Mit dieser Auswahl war der erste Haendler der Webseite Cyber-Kauf gefunden.

  11. Logodesign / Logofindung / Slogan


  12. Um die Firma Cyber-Kauf zu praesentieren, wurden hierfuer eigens ein Logo entwickelt mit dem Hintergedanken, dieses so zu gestalten damit es zusätzlich auf Stoff gestickt werden kann.
    Die Wahl fiel nach einigen Designvorschlaegen auf Logo Nr. 5.

    Nr. 1
      Nr. 2
    Nr. 3
      Nr. 4
    Nr. 5
      

    Die Logos wurden mit den Grafikprogrammen Max 3D Studio sowie Adobe Photoshop entworfen und fuer das Internet exportiert. Da das Internet auch User hat, die zum Beispiel noch mit geringer Geschwindigkeit zum Internet eine Verbindung ueber ihren Provider aufbauen, muss bei der Erstellung von Grafiken immer auf die Groesse geachten werden. Damit verbunden ist auch die Geschwindigkeit mit der eine Webseite geladen werden kann. Somit wurde bei der kompletten grafischen Entwicklung dieser Punkt in Erwaegung gezogen.

    Parallel zu der Entwicklung des Logos musste ein griffiger Slogan fuer die neue Firma gefunden werden. Dieses war bei weitem nicht sehr einfach. Doch nach mehreren Vorschlaegen wie: "aus Freude am kaufen", "Spass beim Shopping", "einfach die Zunkunft erleben", "eintauchen in die virtuelle Welt des kaufens" meiner Meinung nach die perfekte Idee entstanden "click auf Cyber-Kauf" und damit musste eigentlich nicht mehr viel nachgedacht werden, denn der war unserer Meinung nach so gut, das er ein Ohrwurm ist. Hierzu wurde ebenfalls ein Logo fuer die spaetere Entwicklung der Visitenkarten entworfen das rechts zu sehen ist.  

    Damit diese Auswahl gefestigt werden konnte, wurde eine Designpause eingelegt um nach ca. drei Wochen die ganzen Vorschlaege nochmals durchzugehen. Doch dabei bestaetigte sich die bereits getroffene Auswahl erneut und es gab keine weiteren Einwaende mehr.

  13. Stickvorlage aus Logo erstellen


  14. Um eine Stickmustervorlage in digitaler Form zu erstellen, wurde das dreidimensionale Logo in ein zweidimensionales Logo umgewandelt und im Bitmapformat abgespeichert. Zusaetzlich mussten die Farbverlaeufe aus der Grafik entfernt werden, damit das Logo problemlos digitalisiert werden kann.

    Im rechten Beispiel sieht man das Digitizing Programm mit dem bereits bearbeiteten Logo. In diesem Programm werden die begrenzungspunkte fuer die Flaechenfuellung sowie Stickart und Stickwinkel erstellt. Zusaetzlich koennen hier auch noch Stickmusterdefinitionen vorgenommen werden.  


       
    Um eventuelle Feinkorrekturen vorzunehmen gibt es ein weiteres Programm (Stitch Editor) mit dem direkt jeder einzelen Stichpunkt korregiert werden kann. Beim Logo musste einiges korrigiert werden damit ein drei dimensionaler Effekt trotz zwei dimesionaler Stickung entstanden ist.  


    Damit die digitalen Daten aus den Programmen in die Stickmaschine geladen werden koennen, muessen sie auf einer Diskette in Maschinencodesprache gewandelt werden.



    Um das gestickte Logo mit verschiedenen Flaechenfuellungen beurteilen zu koennen, wurden drei verschiedene Muster gestickt. Anhand dieser Vorlagen fiel die Wahl auf das Logo Nr. 2. Fuer diese Logo wurden 2719 Stiche mit der Farbe rot benoetigt und eine Fadenlaenge von 7,16m, 1352 Stiche mit der Farbe gelb und eine Fadenlaenge von 4,32m. Die Gesamtelaenge des Fadens betrug somit 11,48m mit 4071 Stichen. An dieser Stelle moechte ich mich recht herzlich fuer die Unterstuetzung dieser Taetigkeit bei der Familie Wahr bedanken.

    Nr. 1
      Nr. 2
    Nr. 3
       


  15. Visitenkarten erstellen


  16. Die benoetigten Visitenkarten wurden mit Microsoft Word erstellt. Das Logo wurde lediglich importiert und an den dafuer vorgesehene Platz positioniert. Das Ergebnis kann unten betrachtet werden. Das Design sollte ganz schlicht sein um einem Visitenkarten Standart zu entsprechen, daher wurde rechts die Adresse mit allen wichtigen Daten angeordnet und links das Logo sowie die Position der Person und der Personenname.



  17. Seitenlayout festlegen


  18. Die Gestaltung der Internetseite ist parallel zum Entwurf des Logos verlaufen. Hierbei wurde das Design sowie die Farben des Unternehmens festgelegt. Da das Unternehmen ein Familienbetrieb ist, hat man sich zusammengesetzt und ueber die verschiedenen Vorschlaege debatiert :-). Die Farben rot und gelb wurden einheitlich ausgewaehlt, und es gab auch diesbezueglich keine Einwaende. Wichtig dabei war, das die verschiedenen Logos, die Entworfen worden sind auch bei diesen Vorschlaegen mit eingebaut wurden. Anhand dieser Vorlagen wurde dann eine Entscheidung gefaellt. Vorschlag Nr. 7.

    Nr. 1
      Nr. 2
    Nr. 3
      Nr. 4
    Nr. 5
      Nr. 6
    Nr. 7
       


    Zur weiteren Gestaltung wurde festgelegt das nur dynamische Hyper-Links in Frage kommen um eine leichte Navigierbarkeit in der Seite zu gewaehrleisten. Dies wurde erreicht, indem im ersten ASP-Script das Seitenlayout dynamisch zusammengestellt ist. Dadurch ist es moeglich, beim erstmaligen Aufruf der Webseite eine Hompage darzustellen sowie die dazugehoerigen Haupt- und Untergruppen. Beim Navigieren ueber die Hyper-Link-Leiste wird automatisch der gerade angezeigte Link mit Fettdruck dargestellt und ist auch nicht mehr als Link anklickbar. Zusaetzlich wird eine kleine Grafik mit in den Button eingebunden damit erkennbar ist, das es sich zum Beispiel um eine Hauptgruppe oder Untergruppe handelt. Das gleiche gilt fuer den Shop. Der Kunde erhaelt sofort eine vom Shop Master waehlbare Katalogseitenkombination angezeigt, zum Beispiel besondere Artikel, Aktionen, Sonderangebote, etc.

    Die Bildinformationen werden in der Datenbank mitabgelegt damit eine weitere Dynamik gewaehrleistet ist. Anhand diese Festlegungen wurde die Entwicklungsarbeit dementsprechend angepasst.


  19. Serverbau


  20. Die Auswahl des Servers wurde anhand der benoetigten Anforderungen kompletiert. Da ein Teil des Shops bereits auf meinem Server im internen Netzwerk problemlos laeuft, habe ich mich fuer eine 1 Prozessor Maschine entschieden mit 256 MB Arbeitsspeicher. Das Gehaeuse wurde ebenfalls an die Anforderungen des Rechenzentrums Ametras angepasst, siehe Bild.



    Die Wahl des Gehaeuses fiel auf ein 19" Servergehaeuse von Macroton das genuegen Platz hat um den Server spaeter problemlos ausbauen zu koennen. Diese Gehaeuse ist aus stabilem Alu und mit abschliessbaren Fronttueren versehen. Desweiteren enthaelt es ein Redundantes Netzteil zur sicheren Stromversorgung.

    In den Server wurde das Board der Firma Asus CUSL2-C eingebaut mit einem 733 MHz Celeron Prozessor der Firma AMD. Zusaetzlich wurde das Gehaeuse mit einer Disketteneinheit sowie ein CD-Rom bestueckt. Damit die Platten auch ohne oeffnen des Gehaeuses getauscht werden koennen wurden diese in einen Wechselrahmen eingebaut. Als Boot und Systemplatte wurde eine 20GB IDE Platte ausgewaehlt. Zur Sicherung der Platte habe ich eine zweite Platte eingebaut (30GB), damit woechentlich die Daten auf die Sicherungsplatte kopiert werden koennen. Die nachfolgenden Bilder zeigen die Arbeitsablaeufe.

      


    Zum Schluss habe ich die kompletten Kabel mit Kabelbinder gebuendelt um die Luftzirkulation im Gehaeuse nicht zu behindern.

    2001.11.17 Der Server wurde nachträglich mit 512MB Arbeitsspeicher ausgestattet zusätzlich ist der Sicherungsjob in Shell (Bash) als Programm erstellt worden.

  21. Installation der Software auf dem Server


  22. Auf den Server wurde nun das Betriebssytem Linux installiert . Das nachfolgende Bild zeigt eine Installationsmaske.



    Zusammen mit diesem Betriebssystem wurden noch folgende Programme mitinstalliert, ein Mailserver, der Apache Webserver, ein FTP-Server und der MySQL - Serverdienst. Diese Software muß nach der Grundinstallation noch fuer das System angepasst werden, welches in den nachfolgenden Schritten noch detailierter erklaert wird.

    1. Mailserver
      Der Mailserver wurde als Standartinstallation von der SuSE CD installiert. Fuer jeden Mailaccount muessen Benutzer auf dem Server angelegt werden (fkdxx => Firmenkunde, pkdxx => Privatkunde und mkdxx => Mailaccount). In Verzeichnis /etc/mail/ wurden die Dateien aliases, mailertable, access, virtusertable und genericstable bearbeitet.

      • aliases
        In diese Datei werden reale Namen den auf dem System zugeordneten Benutzer angelegt. Wie zum Beispiel marc.hanschur:fkdxx das heist eine Mail an marc.hanschur@xx wird auf den Mailaccount fkdxx gemappt.

      • mailertable
        In dieser Datei werden bestimmte Regeln definiert. Wenn zum Beispiel eine Mail an t-online.de geschickt wird geht diese nicht an Mailserver t-online.de direkt sonder ueber zum Beispiel pop.puretec.de. Der Eintrag hierfuer sieht folgendermasen aus t-online.de smtp:pop.purtec.de.
      • access
        Hier wird definiert, wer Zugriff auf Sendmail hat. Normalerweise haben nur locale Adressen Zugriff doch hier kann bestimmt werden das der Server auch E-Mails von t-online.de entgegennimmt (t-online.de RELAY).

      • virtusertable
        Um das System noch perfekter auszubauen gibt es die Moeglichkeit, wenn es zum Beispiel zwei gleiche Namen an zwei unterschiedlichen Domains gibt und diese dann noch an unterschiedliche Benutzer geschickt werden sollen ist das ganze folgendermassen einzutragen (webmaster@xy.de fkdxx / webmaster@yx.de pkdxx).

      • genericstable
        Hier wird definiert welcher Benutzer welche ausgehende Adresse erhaelt (fkdxx xy@cyber-kauf.de).


    2. Apache Webserver
      Dieser wurde ebenfalls in der Standartinstallation verwendet, nur mit dem Zusatz der Verschluesselung. Hierfuer wurde ein Serverzertifikat angelegt damit der Virtuelle-SSL-Host auch problemlos funktioniert. Zusaetzlich wurden noch normale Virtuelle Hosts installiert um mehrere Webseiten auf dem Server ablegen zu koennen. Zusaetzlich wurden in bestimmten Verzeichnissen .htaccess Dateine abgelegt mit einer Datenbankauthentifizieruzng damit bestimmte User nur in bestimmte Verzeichnisse gelangen.

    3. FTP - Server
      Der FTP Server benoetigt wie der SendmailServer Benutzer zur Authentifizierung. Ich habe mich fuer proFTP entschieden da hier eine bessere Rechtebeschraenkung des Benutzers moeglich ist.

    4. MySQL Dantenbankserverdienst
      Er wurde ebenfals in der Standartinstallation angelegt (SuSE CD) und es wurden die Benutzer fuer die Datenbank "cyber_kauf" angelegt, sowie eine eigene Verwaltungsdatenbank "verwaltung" mit allen Benutzern des Systems. Hiermit kann zu einem spaeteren Zeitpunk auch die Benutzerverwaltung des Systems online gefuehrt werden.

    Als Dienstprogramme zur einfachen Administration des Server habe ich mich fuer Webmin (http://www.webmin.com) entschieden. Mit diesem Programm hat man die Moeglichkeit das gesamte System ueber das Internet zu administrieren. Fuer die einfach Administration des SQL - Servers habe ich zusaetzlich noch MySQL Man installiert.


  23. Geschaeftsvorfall abbilden


  24. Zunaechst stellt sich die Frage, was passiert eigentlich wenn ein Kunde ueber das Internet bestellt. Aus Sicht des Kunden wird eine Webseite aufgerufen und Produkte ausgewaehlt. Die Auslieferung der bestellten Produkte sollte schnellstmoelichst erfolgen.

    Doch ganz so einfach ist das nicht. Wenn der Kunde zur einer dynamische Webseite kommt gibt es verschidene Ablaeufe. Er klickt zum Beispiel auf Shop dann wird eine Webseite ueber eine Aktion des Servers zusammengestellt. Dieses funktioniert ueber den CGI-Mechanismus. Der Kunde muss somit keine besonderen PlugIns fuer seinen Browser haben um die Seite darzustellen zu koennen, denn der Server liefert im ein fertiges Produkt.

    Der Kunde traegt eine bestimmte Menge (Anzahl) in ein Formularfeld ein und klickt auf den Button "in den Warnkorb legen". Jetzt wird ein Script auf dem Server aufgerufen der diesen Artikel mit der bestellten Anzahl in den Warenkorb (Datenbank) eintraegt. Anschliessend liefert der Server dem Client wieder eine Webseite zurueck (der Ausgangspunkt). Die Aktion die der Server im Hintergrund getaetigt hat ist allerdings fuer den Kunden nicht sichtbar. Wenn der Kunde auf bestellen klickt bekommt er vom Server ein Formular angezeigt in die er seine Adressdaten, die fuer die Auslieferung der bestellten Artikel benoetigt werden, eingeben muss. Damit aber nicht genug, denn beim klicken auf "weiter im Bestellvorgang" ueberprueft nun der CGI-Mechanismus ob die eingegebenen Daten auch richtig sind. Wenn diese Pruefungen alle mit OK abgeschlossen wurden, wird eine Textseite vom Server generiert in der der Kunde nochmals die Moeglichkeit hat seine Daten zu ueberpruefen. Nun kann er auf "verbindlich bestellen" klicken und die Daten werden direkt an den Server gegeben. Dieser verfasst nun eine E-Mail mit den bestellten Artikeln und versendet diese an den Kunden sowie an den Haendler. Der Kunde erhaelt nur eine Textausgabe in seinem Browserfenster "Der Bestellvorgang war erfolgreich". Anhand der E-Mail mit dem Ihnhalt der Kundendaten wird der Haendler nun die bestellte Ware ueber einen Lieferanten an den Kunden ausliefern und somit ist der Bestellvorgang abgeschlossen.

    Dieser Vorgang wird durch die unten gezeigte Grafik veranschaulicht.



  25. Datenbankdesign anhand der Anforderungen festlegen


  26. Bei der Entwicklung einer Datenbank (DB) ist es zwingend notwendig sich im Vorfeld mit den Anforderungen und dem Umgebungsfeld der DB auseinanderzusetzen.

    In diesem Fall war das:
    • Leichte Portierbarkeit auf einen anderen Artikelstamm
    • Erweiterbarkeit im Produktstamm
    • Erweiterung durch zusaetzliche Tabellen
    • Festlegung der Datenbankart

    Auch in Zeiten in denen Speicherplatz sehr guenstig geworden ist, sollte bei der Felddefinition in den einzelnen Tabellen moeglichst mit Speicherplatz sparsam umgegangen werden.
    Mit einer gut strukturierten DB ist die spaeter anfallende Programmierarbeit ueberschaubarer, weniger fehleranfaellig und geht wesentlich leichter von der Hand.

    Daher wurde das nachfolgende Modell erstellt.



    Die zentrale Tabelle fuer die Webseite ist die Tabelle "custom". Mit ihr wird die Webseite nach Domainname zusammengestellt. Somit ist die Moeglichkeit geschaffen unter einer Domain mehrer Subdomains zu Verfuegung zu stellen und die damit verbundene Webseite. In Zusammenspiel dieser Tabelle werden alle weiteren Tabellen benoetigt wie die obere Grafik zeigt. Die Webseiteninhalte werden mit in die Tabelle "navugr" abgelegt. Der Haendler hat die Moeglichkeit mehrer Hauptrubriken sowie Unterrubriken anzulegen. Das Seitendesign kann ebenfall durch diese Moeglichkeit hergestellt werden. Ueber ein Administrationsmenue kann der Haendler seine Webseite nach belieben gestalten nur das Seiten-Layout ist Vorgabe.
    Die Tabelle fuer den E-Shop ist die Tabelle "orderart". In ihr werden unter der jeweiligen WWW-ID-Nummer Stueckzahl und Artikel ID-Nummer abgelegt. Über die WWW-ID-Nummer ist gewaehrleistet dass auf alle Artikel die der User in den Warenkorb gelegt hat, zugegriffen werden kann. Die Eintragung der Daten in die Datenbank kann von unterschiedlichen Stellen kommen, die Unterschiede bei der Eintragung erfordern.
    Die Tabelle "sitetxt" ist fuer Standarttexte auf der Webseite und des E-Shop´s somit koennen diese dann im Administrationsmenu fuer den Shopbetreiber veraendert werden.
    Die Tabelle "grf" ist eine Grafikdatenbank in der nur Grafikdateien abgelegt werden die fuer Webseiten und sonstige Inhalte dienen.

    Erklaerung der einzelnen Datenfelder der unteren Zeichnung

    Tabellenname + Felder + Erklaerung
    custom
    custom_id Eindeutige ID anhand der die Reihenfolge der Eintragung in die custom Datenbank nachvollziebar wird.
    custom_ok Freischaltungseintrag womit der Shopbetreiber (Shop Master) den eingetragenen Haendler freischalten kann.
    custom_custid Eindeutige Zuordnug (Sub - Domain Name)
    custom_name Firmenname des Haendlers
    custom_str Strassenangabe des Haendlers
    design
    design_id Eindeutige ID wird beim loeschen eines Haendlers benoetigt oder beim Loeschen der hinterlegten Bildinformationen.
    design_custid Zuordnung anhand des Sub -Domain Namens
    design_logomime Mimetype Eintrag fuer Logo links oben.
    design_logobild Bildinformationsdaten fuer Logo.
    design_navobmime Mimetype Eintrag fuer obere Navigationsleiste.
    site
    site_id Eindeutige Id wird ebenfalls beim Loeschen der Site gebraucht
    site_custid Eindeutige Zuordung mit dem Sub - Domain Name
    site_ticker Eintrag (0 oder 1) ob Ticker erwuenscht oder nicht
    site_tickerbcw Hintergrundfarbe fuer den Ticker
    site_tickerfcw Schriftfarbe fuer den Ticker
    apartner
    apartner_id Eindeutige Id mit der der Ansprechpartner sich am System anmelden kann
    apartner_custid Zuordnung zur Subdomain (Rechte was darf dieser Ansprechpartner veraendern)
    apartner_pass Passwort des Ansprechpartners
    apartner_passok Das Passwort wird bei der Erstanmeldung automatisch vergeben sowie bei Anlage eines zusaetzlichen Ansprechpartners. Ueber diese Feld kann bei der Erstanmeldung eine Passwortaenderungspflicht inkraft treten
    apartner_group Zugehoerigkeit des Ansprechpartners (Administrationsrechte ja nein)
    snavhgr
    snavhgr_id Eindeutige ID fuer die Shop Hauptgruppe
    snavhgr_custid Zuordnung zu welchem Sub -Domainname diese Gruppe gehoert
    snavhgr_name Name der Hauptgruppe
    snavhgr_rfolg Die ausgewaehlte Reihenfolge kann hier eingegeben werden
    snavhgr_desc Eine Kurzbescheibung was sich hinter der Hauptgruppe verbirgt
    snavugr
    snvugr_id Eindeutige Shop Unterguppen ID
    snavugr_custid Zuordnung zur Sub - Domain
    snavugr_name Name der Untergruppe
    snavugr_desc Kurzbeschreibung der Untergruppe
    snavugr_hgr_id Zuordnung bei welcher Hauptgruppe diese Untergruppe angezeigt wird.
    seller
    seller_id Kundennummer
    seller_pass Passwort des Kunden
    seller_group Gruppenzugehoerigkeit (wird im Momnet noch nicht genutzt).
    seller_anred Anrede des Kunden
    seller_vname Vorname des Kunden
    art
    art_id Eindeutige Artikel ID in der Datenbank
    art_custid Zuordnung zum Sub - Domain Namen
    art_name Artikel Name
    art_nr Artikelnummer des Haendlers
    art_sugr_id Zuordung bei welcher Shop Untergruppe diese Artikel erscheinen soll
    artgrf
    artgrf_artnr Eindeutige ID anhand der Artikel Nummer
    artgrf_mime Mimetype fuer Artikelbild
    artgrf_bild Bildinformationen fpr Artikelbild
    meas
    meas_id Eindeutige Messtabellen ID
    meas_name Name der Messeinheit (kg, ...)
    navhgr
    navhgr_id Eindeutige Hauptgruppen ID
    navhgr_custid Zuordnung zur Sub - Domain
    navhgr_name Name der Hauptgruppe fuer die Webseite
    navhgr_rfolg Reihenfolge in der die Hauptgruppen dargestellt werden sollen
    navhgr_desc Kurzbeschreibung der Hauptgruppe
    navugr
    navugr_id Eindeutige ID der Untergruppe fuer die Webseite
    navugr_custid Zuordnung zur Sub -Domain
    navugr_sdesc Kurzbescheibung der Untergruppe
    navugr_name Untergruppen Name
    navugr_desc Lanbescheibung der Untergruppe
    cc
    cc_id Eindeutige ID fuer den Laendercode
    cc_code Laendercode (DE, CH etc.)
    cc_name Laendernamen
    sitetext
    sitetxt_id Eindeutige ID von der ein Script auf den Text zugreifen kann
    sitetxt_besch Beschreibung des Textes
    grf
    grf_id Eindeutige ID fuer Anzeige der Grafik
    grf_mime Mimetype der Grafik
    grf_bild Bildinformationen




    Wichtig fuer den E-Shop ist das der Kunde zusaetzliche Artikel in den Warenkorb legen kann oder bereits Waren, die sich im Warenkob befinden, veraendert werden koennen.
    • Zusaetzliche Waren in den Warenkorb legen bedeutet, dass die Anzahl fuer bereits im Warenkorb liegender Artikel erhoeht werden soll - es muß also addiert werden.
    • Waren im Warenkorb veraendern bedeutet unter Umstaenden komplettes Veraendern (loeschen) der Anzahl, der im Warenkorb befindlichen Artikel. Artikel die sich im Moment in der Datenbank befinden duerfen nicht zum Vergleich herangezogen werden.

    Die Loesung dieses Problems erfolgt, nachdem alle Daten ausgelesen und zwischengespeichert sind, durch die komplette Loeschung der Tabelle. Sollen Daten addiert werden kann jetzt ein Abgleich zwischen uebergebenen Werten und Werten aus der Datenbank stattfinden. Aufgrund eines uebergebenen Parameters kann entschieden werden, welche Daten in die leere Tabelle geschrieben werden sollen. Wichtig bei diesem Vorgang ist die Sperrung der Tabelle, damit in dieser Zeit nicht mehrmals gleichzeitig auf die Tabelle zugeriffen werden kann. Die Angabe der "custid" (Eindeutige Bezeichnung fuer den Haendler) macht es bei einer Bestellung problemlos moeglich die jeweiligen Haendler ueber die bestellten Produkte zu informieren (per E-Mail-Auftrag).

  27. Entwicklung des Shops auf Basis von ASP


  28. Das schreiben der Scripte erfolgt unter Homeside 4.0, wobei jeder ASCII Editor genauso geeignet ist. Vorteil von Homeside 4.0 ist die sehr gute Unterstuetzung bei HTML / ASP. Bei Homeside 4.0 koennen auch Dateien im Unix Format abgespeichert werden, was die Moeglichkeit eroeffnet, mittels des Fileservers Samba, Dateien direkt auf dem Server im entsprechenden Verzeichnis abzulegen. Dies erspart den Transfer der Dateien mit dem FTP-Protokoll. Um Fehler zu lokalisieren sind neben einem Browser (Netscape/MS- Explorer) immer zwei Fenster mit einer SSH-Session geoeffnet. In diesen koennen die Fehlerlogdateien des WWW-Servers und des Datenbank-Servers (tail -f <dateiname> zeigt immer die letzten Zeilen der Datei an und aktualisiert bei Neueintraegen) beobachtet werden. Hieraus koennen Rueckschluesse auf Fehler im Script gezogen werden wobei bei ASP Fehler nur spaerlich angezeigt werden meistens nur Zeilennummer.

    Die Zentrale Schnittstelle zwischen WWW-Client und der Datenbank ist das Common Gateway Interface (CGI). Ueber CGI ist es moeglich dem Client dynamisch generierte HTML-Seiten zur Verfuegung zu stellen. Aus der Sicht des Client aendert sich nichts zwischen dem Zugriff auf ein HTML-Dokument oder ein durch CGI erstelltes HTML-Dokument. Er fordert eine Seite vom HTTP-Server an und bekommt diese uebermittelt. Anders sieht es beim HTTP-Server aus. Denn die Seite die er uebermitteln soll liegt so bei ihm nicht vor. Wenn der Client eine Anforderung an den Server schickt steht hinter der angeforderten URL keine festgeschriebene HTML-Seite sondern ein ausfuehrbares Programm. Diese Programm generiert je nach uebergebener Information des Client eine HTML-Seite mit den Daten der Datenbank. Welche Daten aus der Datenbank der Server zur Seitengenerierung benuetzen soll wird ihm in Form eines Formulars uebergeben. Bei der neugenerierten HTML-Seite kann es sich durchaus wieder um ein Formular handeln, das wiederum vom Server eine dynamische HTML-Seite anfordert. Wie man sieht, koennen mit diesem Mechanismus individuell zusammengestellt HTML-Seiten erzeugt werden. Dieser Zugriff wird bereits im Geschaeftsvorfall erklaert und ist in der nachfolgenden Grafik nochmals dargestellt.


    Hier nur als Beispiel, das ASP-Script, dass die Hompage erzeugt diese Datei ist der Grundstock des gesamten Systems.



    Es gibt eine Hauptdatei "index.asp" fuer das gesamte System was die nachfolgende Grafik zeigt. Die "/seller/index.asp" Datei ist nur zur Aenderung der Kundendaten vorhanden und benuetzt wie man erkennen kann einige Include Dateien die fuer die Hauptdatei ebenfalls genutzt werden. Die Einbindung der Include Datein im gesamten System funktioniert anhand verschiedener Uebergabevariable was die untere Grafik ebenfalls zeigt, dadurch ist wie bereits oben erklaert die Dynamik der Webseite entstanden.



    Die naechste Grafik veranschaulicht die Zusammenstellung des Bestellsystems und das Einbindung der dazugehoerigen Include Dateien.



    Nun fehlt nur noch das Kundenanmeldesystem was in der nachfolgenden Grafik gezeigt wird. In diesen Dateien werden wie beim Bestellsystem alle eingegebenen Daten geprueft und bei Bedarf eine Fehlermeldung erzeugt. Diese Fehlermeldung sowie alle Standarttexte werden aus der "sitetxt" Tabelle der "cyber_kauf" Datenbank entnommen.



    In der weitern Ausbaustufe wird das Administrationsscript fuer den Haendler entwickelt.
    Im Moment kann sich der Haendler am System anmelden und eine Domain registrieren. Die Administration der Seite wird im Moment noch ueber den MySQLMan geregelt. In naher Zukunft wird dieser durch ein Haendleradministrationsmenue ersetzt. Ueber diese Menue kann der Haendler dann seine Webseite komplett verwalten sowie Webadministratoren (Ansprechpartner) anlegen. Zusaetzlich wird eine Artikelverwaltung mit dem dazugehoerigen Warenwirtschaftssystem entstehen.




    Die Quelldateien sind ausfuehrlich kommentiert und liegen bei der Dokumentation in Schriftform bei (CD). Ein SQL - Dump (Datenbanksicherung) liegt ebenfalls bei. Somit wurden in dieser Dokumentation auf eine detailierte Quelltextdokumentation verzichtet. Internetuser koennen auf E-Mailanfrage die Quellcodedateien zugesand bekommen.


  29. Inbetriebnahme


  30. Die Inbetriebnahme konnte noch nicht erfolgen da meine Technikerarbeit noch nicht abgeschlossen ist. Der Server kann daher noch nicht beim Provider eingebaut werden da er noch zu Praesentationszwecken benoetigt wird. Zusaetzlich ist eine Weiterentwicklung erforderlich (Administartionsmenu der Kunden), dieses wird im Anschluss an die Technikerarbeit entstehen.

    2002.01.08 Der Server wurde im Rechenzentrum in Betrieb genommen

  31. Begriffsdefinitionen zum Thema


  32. Apache Webserver
    Der Apache Webserver ist der am meisten genützte Web-Server im Inte et. Nicht nur dass er als Freeware verfügbar ist und somit kostenlos sonde auch wegen seiner hohen Performance bei vergleichsweise geringer Ressourcenauslastung. Weiterhin bieter er viele flexible einsetzbare Funktionsmöglichkeiten.

    ASP
    Bekannt unter Application Service Providing oder Active Server Pages. Active Server Pages (ASP) ermöglichen mit Portierung von Perl (mod_perl) in den Apache Webserver eine Dynamischen Inte etauftritt zu erzeugen mit diversen Zusatzfunktionen.

    Betriebssystem
    Das Betriebssystem ist die Software, die überhaupt erst das Arbeiten mit dem Computer ermöglicht. Das Betriebssystem definiert und verwaltet alle Geräte, Laufwerke, Partitionen, Befehls- und Verzeichnisstrukturen und Programme. Es steuert die Betriebsmittelvergabe (Ressourcenverwaltung), die Prozessverwaltung, die inte en Geräte und die Peripheriegeräte und ist für die Kommunikation (Ein-/Ausgabesteuerung) mit diesen verantwortlich, und es stellt ein Dateisystem und eine (grafische) Benutzeroberfläche zur Verfügung. Gleichzeitig sollte es über ein Sicherheitssystem und eine Auftrags- und Sitzungsverwaltung einschließlich deren Protokollierung verfügen. Je nach Leistungsmerkmalen unterscheidet man zwischen Single-, Multiuser- und Multitask-Betriebssystem.

    CSS
    Cascading Style-Sheets (CSS) sind eine unmittelbare Ergänzung zu HTML. Es handelt sich dabei um eine Sprache zur Definition von Formateigenschaften einzelner HTML-Befehle. Mit Hilfe von Style-Sheets können Sie beispielsweise bestimmen, daß Überschriften 1. Ordnung eine Schriftgröße von 18 Punkt haben, in der Schriftart Helvetica, aber nicht fett erscheinen, und mit einem Abstand von 1,75 Zentimeter zum darauffolgenden Absatz versehen werden. Angaben dieser Art sind mit herkömmlichem HTML nicht möglich.

    CGI
    Das Common Gateway Interface (Allgemeine Vermittlungsrechner-Schnittstelle) ist eine Möglichkeit, Programme im WWW bereitzustellen, die von HTML-Dateien aus aufgerufen werden können, und die selbst HTML-Code erzeugen und an einen WWW-Browser senden können. Wenn Sie im WWW eine Suchdatenbank benutzen, Pizza oder Büstenhalter bestellen, sich in ein Gästebuch eintragen, oder einen Zähler mit Zugriffszahlen sehen, dann steckt CGI oder eine CGI vergleichbare Schnittstelle dahinter.

    C
    C ist eine Programmiersprache, die 1972 von Dennis Ritchie an den Bell Laboratories entwickelt wurde. Der Name geht auf den unmittelbaren Vorgänger, die Sprache B, zurück. Obwohl viele Programmierer in der Sprache C eher eine maschinenunabhängige Assemblersprache als eine Hochsprache sehen, kann die Sprache aufgrund ihrer engen Anlehnung an das Betriebssystem UNIX, ihrer hohen Beliebtheit und ihrer Standardisierung durch das ANSI-Institut durchaus als Standardprogrammiersprache im Mikrocomputer- und Workstation-Bereich angesehen werden. C ist eine Compiler-Sprache mit einem kleinen Satz eingebauter, maschinenabhängiger Funktionen. Die übrigen C-Funktionen sind maschinenunabhängig und befinden sich in Bibliotheken, die der Programmierer aus C-Programmen heraus nutzen kann. C-Programme bestehen aus einer oder mehreren Funktionen, die der Programmierer definiert. Folglich handelt es sich bei C um eine strukturierte Programmiersprache.

    C++
    C++ ist eine objektorientierte Variante der Programmiersprache C. Sie wurde in den frühen 80er Jahren von Bja e Stroustrup an den Bell Laboratories entwickelt und von einer Reihe von Herstelle implementiert, so auch von Apple Computer und Sun Microsystems.

    CRM
    CRM als Antwort auf ausgeprägte Nachfragemärkte Fast alle Märkte sind heute ausgeprägte Nachfragemärkte. Intensiver Wettbewerb, Globalisierung und gestiegene Preistransparenz sind die Gründe. Neue Medien und Technologien verleihen den Märkten e-speed und große Dynamik. Die Produkt-Lebenszyklen werden immer kürzer. Die Kunden reagieren mit Serviceanspruch und höherer Wechselbereitschaft. So kommt der Kundenorientierung des Unte ehmensmanagements in allen Führungsdisziplinen eine entscheidende Rolle zu. Das Stichwort dazu lautet "Customer Relationship Management" (CRM). CRM ist eine Ke disziplin des e-managements. CRM beinhaltet nicht nur, passgenaue Applikationen für den Kundenservice bereitzustellen. Mode es CRM heißt vor allem, Kundenorientierung in den relevanten Management-Prozessen zu veranke .

    CGI - Mechanismus
    Die meisten Server erwarten CGI-Programme und -Skripten in speziellen Verzeichnis, üblicherweise cgi-bin, und oder eine bestimmte Dateierweiterung. Öffnet ein Benutzer einen mit einem CGI - Programm verbundenn URL, fordert der Client vom Server die Datei an. Die Anforderung (Request) eines CGI-Programms sieht grösstenteils so aus wie bei allen anderen Web-Dokumenten auch. Der Unterschied besteht darin, daß der Server, wenn er erkannt hat, daß es sich bei der Adresse um ein CGI-Programm handelt, den Inhalte der Datei nicht dirket zurückliefert. Stett dessen versucht der Server, das Programm auszuführen. Auf welche Weise CGI-Programme ihre Eingaben enthalten, hängt vo Server und vom Betriebssystem ab. Wenn ein CGI-Programm läuft, kann es entweder ein neues Dokument erzeugen und ausgeben oder den URL auf ein bestehendes Dokument zurückliefe .

    Datenbank
    Eine Datenbank ist ein elektronisches Archiv für die strukturierte, speicherplatzsparende Aufbewahrung großer Mengen inhaltlich zusammengehöriger Daten, aus dem viele Anwender oder Programme gleichzeitig und innerhalb kurzer Zugriffszeiten Daten abrufen können. Gegenüber der Ablage der Daten in voneinander unabhängige Dateien auf verschiedenen Rechne bietet die Datenbank den Vorteil, daß die Datensätze zentral gepflegt und aktualisiert werden können.

    ERP
    Enterprice Ressource Prozessing / Warenwirtschaftssystem. Mode e Management-Informationssysteme schlagen die Brücke vom ERP-System zum unterlagerten Automatisierungssystem. What is an ERP? In simple words an ERP is the integrated software encompassing all the functional departments of the enterprise. Enterprise Resource Planning or ERP is nothing other than software but difference is in the scope of the application area. Commonly we would find modules like Finance, Accounts, Purchase, Sales, Marketing, Planning, Execution, Human Resource, and Contracting in an ERP; all these modules are integrated and share common data. For Example in a non-integrated system the training cell will have list of all the employees, a similar list will be present with Payroll. Now if an employee has left the job the payroll cell updates their data but the training cell keeps on scheduling the employee for subsequent training programs. In an ERP we would find a single employee record and each cell has access to the latest information at any time. Functional ERP will show exact picture of the cash flow. It will also help the management in taking policy decisions fast and implement with immediate effect. All the required valuable and correct information will be available on a key press thus eliminating the dependency on subordinates for data. The latest graphical tools will show the summary data in form of colorful graphs, which will enhance grasping.

    FTP - Server
    FTP - Server sind im Inte et-Knoten, die über eine eigene Inte et-Adresse verfügen. Im Inte et gibt es dedizierte FTP-File-Server, der Hauptfunktion es ist, als Dateiarchiv für FTP-Zugriffe von Clients zur Verfühgung zu stehen. FTP-Client hingegen kann jedes System mit interaktivem Zugang zum Inte et sein. Der FTP-Server wird Dazu verwendet, um zwischen zwei Inte etrechne beliebieg Dateien zu übertragen. FTP stammt aus der UNIX - Welt und basiert auf dem TCP/IP - Übertragungsprotokoll. Im Inte et verteilt gibt es eine grosse Anzahl von FTP - Serve , die umfangreiche Datenarchive zu den unterschiedlichsten Themenbereichen zur verfügung stellen.

    Grafikprogramme
    Grafikprogramme enthalten Werkzeuge, um bestehende Bilder zu bearbeiten, retuschieren oder neue Grafiken zu erstellen. Sie erfuellen die anspruchsvollen wuensche der Grafikprofis, bleiben dabei jedoch so benutzerfreundlich, daß selbst Anfänger sich schnell in so einem Programm zurechtfinden. Unabhängig davon, ob täglich oder nur gelegentlich mit Bilddateien gearbeitet wird, oder Grafiken für Web-Seiten erstellt werden.
    Wichtig: Bei der Auswahl des Grafikprogrammes ist darauf zu achten, dass es Dateien in einem inte etkompatiblen Format abspeiche kann (jpg, gif,png).

    HTML
    HTML bedeutet HyperText Markup Language. Es handelt sich dabei um eine Sprache, die mit Hilfe von SGML (Standard Generalized Markup Language) definiert wird. SGML ist als ISO-Norm 8879 festgeschrieben. HTML ist eine sogenannte Auszeichnungssprache (Markup Language). Sie hat die Aufgabe, die logischen Bestandteile eines Dokuments zu beschreiben. Als Auszeichnungssprache enthält HTML daher Befehle zum Markieren typischer Elemente eines Dokuments, wie Überschriften, Textabsätze, Listen, Tabellen oder Grafikreferenzen.
    Das Beschreibungsschema von HTML geht von einer hierarchischen Gliederung aus. HTML beschreibt Dokumente. Dokumente haben globale Eigenschaften wie einen Titel oder eine Hintergrundfarbe. Der eigentliche Inhalt besteht aus Elementen, zum Beispiel einer Überschrift 1. Ordnung. Einige dieser Elemente haben wiederum Unterelemente. So enthält ein Textabsatz zum Beispiel eine als fett markierte Textstelle, eine Aufzählungsliste besteht aus einzelnen Listenpunkten, und eine Tabelle gliedert sich in einzelne Tabellenzellen. Die meisten dieser Elemente haben einen fest definierbaren Erstreckungsraum. So geht eine Überschrift vom ersten bis zum letzten Zeichen, eine Aufzählungsliste vom ersten bis zum letzten Listenpunkt, oder eine Tabelle von der ersten bis zur letzten Zelle. Auszeichnungen markieren Anfang und Ende von Elementen. WWW-Browser, die HTML-Dateien am Bildschirm anzeigen, lösen die Auszeichnungsbefehle auf und stellen die Elemente dann in optisch gut erkennbarer Form am Bildschirm dar. Dabei ist die Bildschirmdarstellung aber nicht die einzige denkbare Ausgabeform. HTML kann beispielsweise genauso gut mit Hilfe synthetisch erzeugter Stimmen auf Audio-Systemen ausgegeben werden.
    Eine der wichtigsten Eigenschaften von HTML ist die Möglichkeit, Verweise zu definieren. Verweise ("Hyperlinks") können zu anderen Stellen im eigenen Projekt führen, aber auch zu beliebigen anderen Adressen im World Wide Web und sogar zu Inte et-Adressen, die nicht Teil des WWW sind. Durch diese einfache Grundeigenschaft eröffnet HTML völlig neue Welten. Das Bewegen zwischen räumlich weit entfe ten Rechne wird bei mode en grafischen WWW-Browse auf einen Mausklick reduziert. In HTML-Dateien können Verweise notiert sein und dadurch inhaltliche Verknüpfungen zwischen eigenen Inhalten und denen anderer Anbieter hergestellt werden. Auf dieser Grundidee beruht letztlich das gesamte World Wide Web, und dieser Grundidee verdankt es seinen Namen. Im Zeitalter der Kommerzialisierung des Inte et sind natürlich auch die Verweise zu einem kommerziellen Gegenstand geworden. Anklickbare Werbe-Grafiken ("Banner") auf häufig besuchten Seiten führen zu Anbiete , die für die Plazierung der Banner Miete bezahlen. Auch das sind Verweise. Glücklicherweise gibt es daneben aber weiterhin genügend "herkömmliche" Verweise im WWW, die einfach nur die Grundidee des Web verfolgen und zur weltweiten Ve etzung von Information beitragen wollen. HTML ist ein sogenanntes Klartext-Format. HTML-Dateien können Sie mit jedem beliebigen Texteditor bearbeiten, der Daten als reine Textdateien abspeiche kann. Es gibt also keine bestimmte Software, die man zum Erstellen von HTML-Dateien benötigt. Zwar gibt es längst mächtige Programme (HomeSite, AOLPress, Netscape Composer, Front Page u.s.w) die auf das Editieren von HTML spezialisiert sind, doch das ändert nichts an der entscheidenden Eigenschaft: HTML ist nicht an irgendein bestimmtes, kommerzielles Software-Produkt gebunden. Die Klartext-Befehle von HTML sind für Maschinen und Menschen gedacht. Da HTML ein Klartextformat ist, läßt es sich auch hervorragend mit Hilfe von Programmen generieren. Von dieser Möglichkeit machen beispielsweise CGI-Programme Gebrauch.

    HTTP
    Abkürzung für Hyper Text Transfer Protokoll. Ein Inte et-Übertragungsprotokoll, welches zur Übermittlung von HTML-Dokumenten im WWW verwendet wird. Alle URLs im WWW beginnen mit http://...

    Interpretersprachen
    Ein Interpreter führt ein in einer Programmiersprache geschriebenes Programm aus. Er muß das Programm jedesmal neu interpretieren, um es ausführen zu können. Die "Übersetzung" wird also nicht gespeichert. Heute werden Interpreter fast nur noch bei Scriptsprachen wie Perl und bei allen Shells verwendet. Der Vorteil von Interprete gegenüber Compile ist, daß das Interpretieren viel schneller geht als das Kompilieren.

    Include Dateien
    siehe XSSI

    Kompilersprachen
    Ein Compiler kompiliert ein geschriebenes Programm in dauerhaften Maschinencode. Die Kompilation ist ein einmaliger Vorgang, muß also nicht für jeden Durchlauf des Programms e eut vorgenommen werden, weil die "Übersetzung" gespeicher wird.

    Linux
    Linux ist ein frei verfügbares Multitasking und Multiuser Betriebssystem das von Linus Torvalds und vielen freien Entwickle weltweit entwickelt wird. Linux bietet mittlerweile alle Funktionalitäten die man von einem mode en Betriebssystem erwartet.

    MySQL Datenbank
    MySQL ist eine Freeware Datenbank die auf diversen Betriebssystemen läuft. MySQL ist SQL kompatibel. MySQL läuft unter Linux als Datenbankserver ohne grafische Oberfläche. Zusätzlich zum SQL-Befehlssatz ist bei MySQL eine große Anzahl an Funktionen und Felddatentypen implementiert. Dies hat große Vorteile bei großen Datenbankserve mit vielen Datensätzen

    mod_perl
    Mit mod_perl wird ein Perl-Interpreter direkt in den Apache eingebaut (ein sogenantes Modul). Für einen Perl-Programmierer ist mod_perl einfach ein MUSS.

    Mailserver
    Ein Mail-Server ist ein Server in einem Netzwerk oder bei einem Online-Dienst (Provider), der nur für den Empfang und die Zustellung von E-Mails zuständig ist. Der Mail-Server verfügt über einzelne Speicherbereiche für jedes Mitglied, in denen die Post abgelegt wird (wie ein Postfach). Mail-Server haben meist eigene Adressen; z.B. bei CompuServe: mail.Compuserve.com. Er basiert auf dem smtp / pop - Protokoll. weiteres siehe unter smtp.

    ODBC
    Dabei handelt es sich um einen Standard für Datenbankzugriffe der ursprünglich von Microsoft stammt. Im Normalfall kann nämlich eine Datenbank-Applikation (in diesem Beispiel Microsoft Access) nicht auf fremde Datenbank-Formate zugreifen (von einigen Ausnahmen abgesehen). Die ODBC (Open Database Connectivity) - Schnittstelle ist nun eine Möglichkeit dieses Problem zu lösen. Dazu wird die Datenbank auf die nicht direkt zugegriffen werden kann, hinter einem ODBC-Treiber "versteckt". Der eingesetzte Treiber ist für das jeweilige Datenbankformat maßgeschneidert und somit in der Lage auf die Datenbank zugreifen zu können. Seiner Umgebung, also dem Betriebssystem, bietet der ODBC-Treiber solche Datenbanken nun als ODBC-Datenquellen an. ODBC-Datenquellen erlauben einen standardisierten Zugriff mit Hilfe einer genau definierten Schnittstelle. Der jeweilige ODBC-Treiber setzt die über diese Schnittstelle eintreffenden Kommandos in das spezifische Format der verwendeten Datenbank um. Die eigentliche Datenbank-Applikation muß nun nur noch in der Lage sein auf ODBC-Datenquellen zugreifen zu können.

    Perl
    Perl steht für Pratical Extraction an Report Language (Pratische Sprache für Daten Extraktion und Ausgabe). Perl ist eine interpretierte Scriptsprache, die von Larry Wall entwickelt wurde. Sie ähnelt der Programiersprache C, schließt jedoch eine Reihe von populären Unix-Dienstprogrammen ein. Im allgemeinen sind Scriptsprachen einfacher und schneller zu kodieren als strukturierte komilierten Sprachen wie z.B. C++.

    Performance
    Die Leistungsfähigkeit eines Computersystems wird ge e mit dem Begriff Performance umschrieben.

    Preemptives Multitasking
    Beim preemptiven Multitasking werden wie beim kooperativen Multitasking Prioritäten an die einzelnen aktiven Anwendungsprogramme durch das Betriebssystem vergeben. Während beim kooperativen Multitasking das Programm mit der höchsten Priorität allerdings die gesamte Rechenleistung für sich beanspruchen kann, wird beim preemptiven Multitasking die Rechenleistung, nach Priorität gegliedert, unter den aktiven Programmen aufgeteilt, wodurch eine effektivere Nutzung des Systems möglich ist.

    PlugIn
    PlugIns sind diverse Zusatzprogramme die der Browser benötigt um einen Webseite die eine solches Programm benötigt darstellen kann.

    Quellsprache
    Die Quellsprache ist die Programmiersprache, in der der Quellcode geschrieben wurde.

    Redundantes Netzteil
    Ist eine Verdopplung von Geräten in diesem Fall eine Netzteil, bei denem im Fehlerfall das zweite Gerät die Funktion übe immt. Somit wird eine Redundanz geschaffen.

    SQL
    Die "Standart Query Language" (Standart-Suchabfragesprache) ist eine strukturierte Abfragesprache für Datenbanken. Sie Ermöglichen die Abfrage, Aktualisierung und Pflege von Datenbanken. SQL bildet einen inte ationalen Standart für Abfragesprachen und wurde von ANSI und der ISO genormt. MySQL Datenbanken werden mit SQL abgefragt und verwaltet.

    Samba
    Mit dem Programmpakett Samba von Linux des Australiers Andrew Tridgell kann ein beliebiger Unix / Linux - Rechner zu einem leistungsfähigen File- und Printserver für Dos und Windowsrechner ausgebaut werden. Samba hat es mit ermöglicht über die Netzwerkumgebung meine Perlskripte und HTML Dateien direkt, im entsprechenden Verzeichnis des Servers, abzuspeiche .

    SSL
    Secure Sockets Layer. Es gibt verschiedene Ansätze, um sichere Transaktionen im World Wide Web zur ermöglichen. Das von Netscape Communications Corporation entwickelte SSL Protokoll hat sich hierbei als De-facto-Standart etablieren können. Das SSL - Protokoll ist zudem nicht auf die Verwendung im WWW beschränkt, sonde lässt sich auch für andere Dienste (z.B. Telnet) nutzen, da es unabhängig vom verwendeten Applikationsprotokoll ist.

    smtp
    Das SMTP - Protokoll ist der Inte etstandard zur Verteilung von elektronischer Post. Das Protokoll ist textorientiert un setzt auf das TCP/IP Protokoll auf. Eine Nachricht besteht aus Kopf und Rumof. Der Kopf enthält u.a. Datum, Bezug, Empfänger, Absender, Kopieempfänger; der Benutzer wird für jeden dieser Einträge durch einen >>prompt<< angesprochen. Der Rumpf besteht typischerweise aus freiem ASCII-Text. Nachrichten mit mehreren Empfänger auf einen Zielhost werden nur einmal übertragen und dort verteilt (Mailserver). SMTP definiert nicht wie die Nachricht von einem oder zu einem anderen Benutzer von SMTP vermittelt wird.

    TCP/IP
    TCP/IP steht für Transmission Control Protocol / Inte et Protocol. Das Inte et war zuerst ein vom US-Verteidigungsministerium erdachtes Netzwerk, um Computer so miteinander zu verbinden, daß Ausfälle von Teilen des Netzes nicht die Integrität des gesamten Netzes in Frage stellen. Aus diesem Netz entwickelte sich das Inte et und dieses benutzt immer noch TCP/IP. TCP kümmert sich dabei um die Zustellung der Datenpakete, während IP den Transport übe immt. Zu TCP/IP gehört auch das TCP sehr ähnliche UDP-Protokoll, das allerdings verbindungslos ist und demnach keine Quittung der Pakete verlangt. Auf TCP/IP setzen die meisten höheren Inte et-Dienste wie FTP, Telnet und SMTP, auf. Diese befinden sich auf der siebten Ebene des OSI-Modells.

    TCP
    TCP ist die Abkürzung für Transmission Control Protocol und ist ein wesentlicher Bestandteil des TCP/IP-Protokolls. TCP basiert auf der vierten Ebene des OSI-Schichtenmodells und arbeitet im Vollduplex-Betrieb. Es ist verbindungsorientiert und verlangt eine Empfangsquittung für jedes abgeschickte Datenpaket.

    Vernetzung
    Einen Computer mit einem Netzwerk zu verbinden wird als Vernetzung bezeichnet.

    Virtuelle Hosts
    Mit HTTP/1.1 wurden die sogenanten Name-based bzw. Non-IP Virtual Hosts eingeführt, d.h. es lassen sich vituelle Server realisieren, ohen jeweils eine eigene IP-Adresse vergeben zu müssen. Im Namensserver muss lediglich ein Hostname-Alias eingetragen werden.

    Web-Browser
    Ein Web-Browser erlaubt den Zugriff auf das Inte et, insbesondere zur Darstellung von Seiten des WWW wird er benötigt. Der Browser greift über die Zieladresse (URL) afu ein HTML-Dokument zu. Web-Browser enthalten normalerweise zahlreiche eingebaute Zusatzprogramme, die beispielsweise Grafik oder Audioformate unterstützen

    WebSite
    Die WebSite ist die Gesamtheit aller HTML-Seiten, die unter einer bestimmten Inte et-Adresse zu finden sind. Dabei müssen die HTML-Seiten nicht unbedingt auf einem einzigen Computer gespeichert sein.

    Webseite
    Eine Webseite ist eine mit HTML gestaltete Inte et-Seite. Ein Beispiel wäre die Homepage

    XSSI
    Mit Hilfe von Extendet Server Side Includes (auch unter der Abkürzung SSI bekannt) können Sie direkt innerhalb von HTML-Dateien dynamische Information, z.B. Datum und Uhrzeit, einbinden. Sie können auch CGI-Programme starten und deren Ausgaben, beispielsweise einen Zählerstand mit Anzahl Zugriffen auf die aktuelle Datei, in die HTML-Datei einbinden. Server Side Includes werden nur ausgeführt, wenn der WWW-Browser die HTML-Datei über einen installierten WWW-Server aufruft, also mit einer URL-Adresse vom Typ http://.... Voraussetzung ist fe er, daß der installierte WWW-Server die Server Side Includes unterstützt. Damit ein WWW-Server sofort erkennt, daß eine HTML-Datei Server Side Include Anweisungen enthält, ist es wichtig, solche HTML-Dateien mit einer speziellen Dateinamenendung zu kennzeichnen. Üblich sind die Dateiendungen .shtml, .shtm oder .sht.


  33. Quellen und Literaturverzeichnis


  34. Handbuch fuer
    Suse Linux
    http://www.suse.de
     
    Holz, Schmitt & Tikart
    Linux fuer Internet und Intranet
    mitp ISBN 3-8266-0450-4
     
    Karsten Guenther
    Linux-Kompaktreferenz
    mitp ISBN 3-8266-0594-2
     
    Dr. Olaf Borkner-Delcarlo
    Das Samba Buch
    SuSE PRESS ISBN 3-930419-93-9
     
    Bryan Costales & Eric Allman
    sendmail kurz & gut
    O`Reilly ISBN 3-89721-202-1
     
    Lars Eilebrecht
    Apache Webserver
    mitp ISBN 3-8266-0612-4
     
    Yarger, Reese & King
    MySQL & mSQL
    O´Reilly ISBN 3-89721-163-7
     
    Garry David Bouton & Barbara Bouton
    Adobe Photoshop 5
    Markt & Technik ISBN 3-8272-2037-8
     
    Istvàn Velsz
    3D Studio MAX R3
    Addison-Wesley ISBN 3-8273-1514-x
     
    Gundavaram
    CGI-Programmierung
    O´Reilly ISBN 3-930673-43-6
     
    Schilli
    GoTo Perl 5
    Addison-Wesley ISBN 3-8273-1378-3
     
    Wall, Christiansen & Schwartz
    Programieren mit Perl
    O´Reilly ISBN 3-930673-48-7
     
    Christiansen & Torkington
    Perl Kochbuch
    O´Reilly ISBN 3-89721-140-8
     
    Born
    HTML 4
    Markt & Technik ISBN 3-8272-5354-3
     
    Stefan Muenz
    SELFHTML
    http://www.teamone.de/selfaktuell/
     
    Andreas Grupp
    Hompage
    http://www.elektronikschule.de/~grupp/
     
    Apache Foundation
    Apache Webserver
    http://www.apache.org
     
    Apache::ASP
    http://www.apache-asp.org/
     
    MySQL Dokumentation
    http://www.mysql.org/
     

[zurück]