Diplomarbeit ISBN: 978-3-8366-0309-6
Benjamin Hauser
Erstellen von dynamischen Websites Einsatz von Webservern & Datenbanken unter Windows CE
Diplom.de
Benjamin Hauser Erstellen von dynamischen Websites Einsatz von Webservern & Datenbanken unter Windows CE ISBN: 978-3-8366-0309-6 Druck Diplomica® Verlag GmbH, Hamburg, 2007 Zugl. Berufsakademie Villingen-Schwenningen, Villingen-Schwenningen, Deutschland, Diplomarbeit, 2006
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden, und die Diplomarbeiten Agentur, die Autoren oder Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für evtl. verbliebene fehlerhafte Angaben und deren Folgen. © Diplomica Verlag GmbH http://www.diplom.de, Hamburg 2007 Printed in Germany
Inhaltsverzeichnis
BIZERBA
Inhaltsverzeichnis 1.
Einleitung ................................................................................................. 1
1.1
Das Unternehmen Bizerba GmbH & Co. KG ....................................................... 1
1.2
Das Projekt „Contents“......................................................................................... 3
1.2.1
Überblick........................................................................................................... 3
1.2.2
Aktueller Stand ................................................................................................. 4
1.3
Zielsetzung und Aufbau der Diplomarbeit............................................................ 4
2.
Dynamische Websites ............................................................................. 5
2.1
Begriffserläuterungen........................................................................................... 5
2.2
Vorteile dynamischer Websites............................................................................ 5
2.3
Voraussetzungen ................................................................................................. 6
2.3.1
Informationsquellen .......................................................................................... 6
2.3.2
Webserver ........................................................................................................ 7
2.3.3
Server-Side Scripting........................................................................................ 8
2.4
ASP als Technologie............................................................................................ 8
2.4.1
Einführung ........................................................................................................ 8
2.4.2
Aufbau eines ASP-Scriptes .............................................................................. 9
2.5
Alternativen zu ASP ........................................................................................... 13
2.5.1
ISAPI-Programmierung................................................................................... 13
2.5.2
Java Applets ................................................................................................... 15
3.
Windows CE ........................................................................................... 17
3.1
Einführung.......................................................................................................... 17
3.2
Webserver unter Windows CE........................................................................... 18
3.2.1
IIS (Internet Information Server) ..................................................................... 18
3.2.2
GoAhead Webserver ...................................................................................... 19
3.2.3
Verwendbarkeit – Ergebnis............................................................................. 19
3.3
Datenbanken unter Windows CE....................................................................... 20
3.3.1
Grundlegendes ............................................................................................... 20
3.3.2
Pocket Access ................................................................................................ 20 I
Inhaltsverzeichnis
BIZERBA
3.3.3
Sybase SQL Anywhere................................................................................... 21
3.3.4
IBM DB2 Everyplace....................................................................................... 22
3.3.5
Oracle Database Lite ...................................................................................... 22
3.3.6
Firebird 1.5 eMbedded Win32-Version ........................................................... 23
3.3.7
Microsoft SQL Server 2000 Windows CE Edition ........................................... 24
4.
Entwicklungsvorschlag......................................................................... 27
4.1
Übersicht über die benötigten Komponenten..................................................... 27
4.2
Anzeige bzw. Präsentationsschicht ................................................................... 28
4.3
Webserver.......................................................................................................... 30
4.3.1
Grundlegendes ............................................................................................... 30
4.3.2
Eigenentwicklung............................................................................................ 30
4.3.3
Alternativen..................................................................................................... 31
4.4
Content Datenbank ............................................................................................ 32
4.5
Verwaltungstool ................................................................................................. 33
4.5.1
Integration in die vorhandenen Tastaturlayouts.............................................. 33
4.5.2
Gestalten der dynamischen Layouts .............................................................. 34
4.5.3
Verwalten der Datenbank ............................................................................... 35
5.
Datenbankentwurf.................................................................................. 37
5.1
Definitionen ........................................................................................................ 37
5.2
Vorüberlegung und Datenanalyse ..................................................................... 38
5.3
Das Entitätsbeziehungsmodell........................................................................... 40
5.4
Relationales Datenbankmodell .......................................................................... 40
6.
Schlussbemerkung................................................................................ 45
II
Erstellung von dynamischen Websites
1.
BIZERBA
Einleitung
1.1 Das Unternehmen Bizerba GmbH & Co. KG
Abbildung 1: Zentralverwaltung der Bizerba GmbH & Co. KG Bizerba ist ein weltweit operierendes, in weiten Bereichen marktführendes Technologieunternehmen für professionelle Systemlösungen auf dem Feld der Wäge-, Informations-, Kommunikations- und Food-Servicetechnik.
Seit 1866 bestimmt Bizerba den technologischen Wandel durch Innovation und Serviceführerschaft maßgeblich mit. Die ständige Bereitschaft zur Veränderung war ein wesentlicher Erfolgsfaktor auf dem Weg zum globalen Hightech- und Software-Hersteller.
Das Lieferantenprogramm für Handel und Handwerk umfasst Elektronik-Ladenwaagen und Systemkassen einschließlich Kommunikationssoftware, Warenwirtschaftssysteme, Etikettendrucker, Preisauszeichner sowie Schneide-, Fleischbearbeitungs- und Verpackungsmaschinen. Als kompetenter Partner der Fleischwirtschaft bietet Bizerba ein Komplettsortiment von effizienten Food-Service-Maschinen. Das Angebot für die produzierende und verarbeitende Industrie besteht aus Warenkennzeichnungs- und Preisauszeichnungssystemen, Checkweigher, Logistik- und Versandsystemen, Industriewäge- und Datentechnik sowie Lastaufnehmer mit elektronischen Auswerteterminals. Hinzu kommen aus eigener spezialisierter Produktion für alle druckenden Systeme Thermo- und Linerless-Bonrollen, Neutral- und Schmucketiketten, Thermotransferbänder und Verpackungsfolien.
1
Erstellung von dynamischen Websites
BIZERBA
Mit knapp 2.600 Mitarbeitern, die mittelbar oder direkt im Dienst am Kunden stehen, 18 eigenen Landesgesellschaften und 67 Ländervertretungen weltweit setzte die Bizerba GmbH & Co. KG 2004 im Konzern rund 343 Mio. EUR um. Der Exportanteil beläuft sich auf 55,6 %, die F&E Investitionen auf 5,8 %. Der Hauptsitz des Unternehmens befindet sich in Balingen. Sitz der Fertigungsstätte für Food-Service-Maschinen ist in Messkirch und die Papier- und Etiketten-Produktion befindet sich in Bochum. Anhaltende Kundenzufriedenheit bedingt neben kontinuierlicher Produktinnovation und höchsten Qualitätsstandards auch optimale Vertriebs- und Service-Strukturen. Die Präsenz und das Leistungspaket in diesem Bereich stellt aus Kundensicht ein maßgebliches Unterscheidungsmerkmal dar und besitzt bei Bizerba seit jeher hohe strategische Bedeutung im umfassenden Leistungsspektrum. Deshalb unterhält Bizerba in Deutschland sechs sogenannte BVC’s (Bizerba Vertriebs- und Service-Center) mit insgesamt 39 Außenstellen.
Die Bizerba Leasing GmbH (BLG) ist eine 100%ige Tochter von Bizerba im Bereich der Finanzdienstleistung. Sie finanziert sowohl Produkte aus dem Bizerba-Lieferprogramm als auch Produkte anderer Firmen, wie z.B. Fahrzeuge, Kommunikationssysteme oder EDV-Anlagen Es wird sowohl Leasing (Voll- oder Teilamortisation) als auch Mietkauf oder Teilzahlung angeboten.
Auch die Bizerba Geschenke-Fabrikations- und Handels- GmbH (Bigefa) ist eine Tochtergesellschaft der Bizerba GmbH & Co.KG, die unter besonderer Überwachung alleine von Auszubildenden geführt wird. Diese können sich somit an einem besonders überschaubaren und dennoch praxisorientierten Beispiel sämtliche Prozesse innerhalb eines Unternehmens verdeutlichen.
Die Bizerba Automotive GmbH (BAG) ist ebenfalls eine Tochtergesellschaft von Bizerba. Sie entwickelt Sensoren für die Autoindustrie, die durch Gewichtskontrolle in naher Zukunft beispielsweise dafür sorgen sollen, dass bei einem Verkehrsunfall der Airbag des lediglich mit einem Kindersitz besetzen Beifahrersitzes nicht voll aktiviert wird. Damit wird gewährleistet, dass ein Airbag keine schädigende Wirkung hat. 2
BIZERBA
Erstellung von dynamischen Websites
1.2 Das Projekt „Contents“ 1.2.1
Überblick
Seit Anfang 2006 beinhaltet das Produkt-Sortiment von Bizerba eine völlig neuartige Generation von Waagen. Es handelt sich hierbei um die Class E-World-Waage CE-H 800 S1. Diese ermöglicht es dem Verkäufer über einen Touchscreen die Waage zu bedienen. Die Innovation dabei ist, dem Personal nicht nur einen einfachen Abverkauf zu ermöglichen, sondern die Waage mit einem Mehrwert auszuliefern, den sogenannten Contents. Über ein völlig neu gestaltetes Konzept wird dem Verkäufer in gewisser Art und Weise eine Verkaufsunterstützung angeboten. Zu jedem Artikel, den der Kunde von Bizerba in seinem Sortiment hat und der über eine Bizerba Waage ausgezeichnet bzw. abgerechnet wird, werden von Bizerba Informationen wie z.B. Rezepte, Produktbeschreibungen oder ergänzende Kaufempfehlungen geliefert. Durch Anwählen des Artikels über die Artikelnummer (bzw. PLU-Nummer) erscheinen die zusätzlichen Informationen direkt auf dem Display des Verkäufers oder sogar für den Endkunden sichtbar auf einem zweiten Display. Mögliche Contents sind: Verkaufsorientiert
Unternehmensorientiert
Warenkunde, Produktzusatzinforma- Unternehmensinformationen, tionen, Verbundartikel, Werbung, …
Hygiene-
vorschriften, Mitarbeiterinformationen,…
Diese Inhalte stehen zum einen dem Bedienpersonal als Verkaufsunterstützung zur Verfügung, es besteht aber auch die Möglichkeit, die Informationen auszudrucken und dem Kunden ein Rezept oder eine Liste mit Verbundartikeln mitzugeben. Beispielsweise werden dem Kunden genau die Artikel aus dem Sortiment des Verkäufers ausgedruckt, die er noch zusätzlich im Markt kaufen könnte.
1
Siehe Abbildung 7: Bizerba CE-H 800 S
3
Erstellung von dynamischen Websites
BIZERBA
Durch diesen neuartigen Mehrwert der Waage erhofft sich Bizerba eine Steigerung von Umsatz, Ertrag und Information. 1.2.2
Aktueller Stand
Zurzeit wird bei Bizerba intensiv daran gearbeitet die „Contents“ für die neu ausgelieferten Produkte aufzubauen. Dabei müssen jedoch die verschiedensten Aspekte berücksichtigt werden – wie z.B. in rechtlicher Hinsicht der Urheberrechtsschutz von Daten, Abbildungen und Bildern allgemein. Derzeit steht jedoch die Verwaltung der neu gewonnenen Informationen im Fokus. Das Warenwirtschaftssystem WinCWS2 von Bizerba ist nicht in der Lage, diese zusätzlichen Informationen gesammelt aufzunehmen und den entsprechenden Artikeln zuzuordnen. Eine Erweiterung dieses Programms ist aus technischen Gründen nicht möglich. Daher müssen die neu gewonnenen Informationen zwangsläufig mittels eines eigenen Contentverwaltungssystemes verarbeitet werden. Das Konzept hierzu muss allerdings erst noch entwickelt werden.
1.3 Zielsetzung und Aufbau der Diplomarbeit In meiner Diplomarbeit werde ich untersuchen, inwiefern es möglich ist, die technische Realisierung dieses Projekts anzugehen und worauf geachtet werden muss. Ferner soll untersucht werden, welche Möglichkeiten Windows CE bietet, da dieses Betriebssystem auf allen neueren Waagen von Bizerba zum Einsatz kommt. Hier ist zu prüfen, ob es bereits Komponenten oder Lösungen für die gewünschten Anforderungen von Bizerba gibt, oder ob eine Eigenentwicklung notwendig ist. Andererseits soll aber auch untersucht werden, wie die „Contents“ verwaltet und verteilt werden könnten. Diese Verwaltung muss möglichst einfach zu handhaben sein, da auch der Endkunde die Daten später selbst pflegen und verändern können sollte. Bei der Darstellung der Inhalte auf der Waage steht vor allem der Wunsch im Vordergrund, die Inhalte mittels dynamischer Webseiten darzustellen. Hier sind sowohl die Möglichkeiten als auch die Vorgehensweise zu überprüfen.
2
4
Siehe: Abbildung 8: Bizerba WinCWS
Erstellung von dynamischen Websites
2.
BIZERBA
Dynamische Websites
2.1 Begriffserläuterungen Dynamische Websites: Websites werden dann als dynamisch bezeichnet, wenn die Inhalte der Seite nicht statisch in einer HTML-Seite verankert sind, sondern dynamisch angezeigt werden. Die Inhalte der Seite werden dabei aus verschiedenen Quellen einbezogen und zur Laufzeit angezeigt. Dies kann in regelmäßigen Abständen erfolgen (jeden Sekunden, jeden Tag), oder aber bei jedem Seitenaufruf, bzw. Seitenaufbau. Web-Anwendung: „Der Begriff Web-Anwendung beschreibt ein Programm, das Webseiten in einem Browser nutzt.“3 Eine Web-Anwendung ist also das Zusammenspiel verschiedener (dynamischer) Websites.
2.2 Vorteile dynamischer Websites Trennung von Design und Inhalt Da dynamische Websites aus verschiedenen Quellen erzeugt werden, ist eine Trennung von Design und Inhalt möglich und auf jeden Fall anzustreben. Die bereitzustellenden Informationen sind in der Regel in strukturierter Form entweder in einer Datenbank oder auch in einer XML-Datei vorhanden. Für die Darstellung werden nun diese Informationen mit einer HTML-Vorlage gemischt und entsprechende Referenzen gesetzt. So entsteht im Browser eine darstellbare HTML-Seite, der Inhaltliche Aufbau der Inhalte ist jedoch vom Aufbau des Designs unabhängig.
Der Aufwand zur Pflege statischer Webseiten mit reinem HTML-Code kann hoch sein, wenn z.B. eine Web-Anwendungsweite Designveränderung durchgeführt werden soll. Bei dynamischen Seiten muss gegebenenfalls nur die HTML-Vorlage oder eine allgemeine Design-Vorschrift geändert werden und alle darauf basierenden Seiten spiegeln diese Änderung sofort wieder.
3
Visual Basic.NET Programmierung S. 499
5
Erstellung von dynamischen Websites
BIZERBA
Interaktivität Die just-in-time Erzeugung der Seiten ermöglicht es diese benutzerspezifisch zu gestalten. Auf eine Eingabe des Benutzers kann Webseiten-spezifisch reagiert und dem User die gewünschten Informationen bereitgestellt werden. Hat sich zum Beispiel der Benutzer durch einen Login-Mechanismus identifiziert, werden ihm wichtige Informationen hervorgehoben; das Seitenlayout entspricht seinen optischen Vorlieben und der Benutzer ist nun nicht mehr „anonym“ auf der Seite unterwegs, sondern wird aktiv in den Darstellungsablauf eingebunden.
Erstellung zur Laufzeit Da Web-Anwendungen mit dynamischen Websites in kurzen Abständen oder gar justin-time erzeugt werden, stellen Sie immer den aktuellsten Stand dar. Ändert sich zum Beispiel ein Bestellstatus im angeschlossenen Online-Shop, so wird dem nächsten Online-Besucher automatisch der aktualisierte Status angezeigt. Sämtliche Änderungen am Rohbestand der Daten wirken sich sofort auf die Seite aus, und die Besucher können immer mit den neuesten Informationen versorgt werden. Sobald die Seite neu geladen wird bzw. ein erneuter Request erfolgt, wird wieder auf den aktuellen und möglicherweise auch aktualisierten Datenbestand zugegriffen.
2.3 Voraussetzungen 2.3.1
Informationsquellen
Definition: „Ursprungsort der Datensendestelle. Der Teil einer Datenendeinrichtung, der Daten an einen Übermittlungsabschnitt liefert oder liefern soll. Die Datenquelle ist normalerweise mit einer standardisierten Übertragungsschnittstelle ausgestattet.”4
Grundvoraussetzung einer dynamisch aufgebauten Website ist eine externe Datenhaltung. Das bedeutet, dass Design und Layout voneinander getrennt sind und das Layout erst zur Laufzeit mit den Inhalten aus einer externen Datenquelle gefüllt wird.
4
6
http://www.itwissen.info/definition/lexikon/tk-endger%E4te/__data%20source_datenquelle.html
Erstellung von dynamischen Websites
BIZERBA
Als mögliche Datenquellen gibt es hierbei: -
Datenbanken
-
Textdateien
-
XML-Dateien
Hierin werden die Informationen gebündelt, sortiert abgelegt und können über eine Schnittstelle abgerufen werden. Somit können Inhalt und Layout getrennt voneinander bearbeitet und auch auf mehrere Personen aufgeteilt werden.
2.3.2
Webserver
Um dynamische Websites darstellen zu können, müssen diese mittels eines Webservers interpretiert und für den Anwender „übersetzt“ werden. Der Anwender stellt dabei eine Anfrage, z.B. durch Klicken eines Links in seinem Browser, an den Webserver. Der Browser leitet dann einen HTTP-Request an den adressierten Webserver. Der Webserver interpretiert – sofern vorhanden – die serverseitigen Skripte, Objekte und Anfragen. Er führt auch eventuelle Abfragen an Datenbanken oder Dateien durch. Als Antwort liefert er dann die zusammengebaute Seite in HTML-Darstellung zurück. Diese ist nun für den Browser lesbar und dieser bereitet sie letztendlich für den Anwender auf. Das ganze System basiert also in der Regel auf einem Drei-Schichten-Modell. Die erste Schicht (der presentation layer) stellt der Browser dar. Er stellt seine Anfragen an die zweite Schicht (den application layer), in welcher sich in der Regel ein WebServer und beispielsweise ein Anwendungsserver befinden. Diese zweite Schicht interpretiert nun die Anfrage des Browsers so weit wie möglich und stellt ihrerseits – sofern nötig – wieder eine Anfrage an die dritte Schicht (den data layer), in der sich die Daten bzw. Informationen befinden. Mit den nun gesammelten Informationen baut der Webserver jetzt eine komplette HTML-Seite zusammen und liefert diese wieder an den Browser zurück.
7
Erstellung von dynamischen Websites
BIZERBA
Abbildung 2: Drei-Schichten-Architektur, Quelle: LOG IN, S. 26 2.3.3
Server-Side Scripting
Um letztendlich dynamische Websites erzeugen zu können, ist es notwendig serverseitige Skripte auszuführen. Der Aufruf dieser Skripte erfolgt clientseitig über den Browser, wie unter Punkt 2.3.2 Webserver beschrieben. Diese sprechen dann die Datenquelle an und sammeln die vom Anwender angeforderten Informationen. Daraus erstellt der Webserver schließlich eine HTML-Datei, welche nun an den Browser zurückgeliefert wird. Ohne diese serverseitigen Skripte ist es nicht möglich, auf Datenquellen zuzugreifen, da sich diese meist auf dem Webserver befinden und keinen clientseitigen Zugriff erlauben.
2.4 ASP als Technologie 2.4.1
Einführung
„Die Active Server Pages, kurz ASP, wurden von Microsoft als eine Erweiterung der Internet Information Servers (IIS), Microsofts Webserver, entwickelt. Sie bieten eine einfache Möglichkeit, auf dem IIS dynamische Internetseiten zu erstellen. ASP werden
8
Erstellung von dynamischen Websites
BIZERBA
also typischerweise von Anwendern eingesetzt, die ihren Internetservice mit MicrosoftTechnologie realisiert haben.“5
ASP selbst ist keine Programmiersprache im eigentlichen Sinne, sondern eher eine Technologie zur Integration von Programmlogik in Webseiten auf dem Webserver. 2.4.2
Aufbau eines ASP-Scriptes
Server-Side Scripting mit VBScript ASP können zusammen mit vielerlei Script-Sprachen verwendet werden. Dazu gehören unter anderem die Sprachen VBScript, JScript, Python oder Perl. In dieser Arbeit möchte ich mich dabei aber auf den Einsatz von VBScript beschränken, da diese Sprache das größte Funktions-Repertoire liefert.
Bei VBScript ist darauf zu achten, dass es 2 Möglichkeiten der Programmierung gibt. Einmal die clientseitige Programmierung, hier wird der Code über die Zeile <script language=”VBScript” > initialisiert. Dies ist aber eher uninteressant, da bei einer clientseitigen Programmierung nicht auf externe Ressourcen, wie z.B. eine Datenbank, zugegriffen werden kann. Ein serverseitiges VBScript wird mit einer der beiden folgenden Zeilen initialisiert: <script language=”VBScript” runat=“server”> <%@ language=”VBScript” %> Hier erfolgt die Abarbeitung der Anfrage serverseitig und die lokalen Ressourcen auf dem Server sind somit ansprechbar.
Variablen und Co Ein Programm ohne Variablen ist auch nicht in der Lage komplexe Berechnungen oder ähnliches auszuführen. Daher unterstützt natürlich auch VBScript verschiedene Variablentypen. Dies sei an folgendem Script kurz erläutert: <%@ language=”VBScript” %> <% 5
Web-Programmierung, S.375
9
Erstellung von dynamischen Websites
BIZERBA
Option explicit Dim a,b a=5 b=a+3 response.write “Wert von a:” & a & “
Wert von b:” & b %> In Zeile eins wird dem Webserver mitgeteilt, wie er mit dem folgenden Script-Code umzugehen hat. In diesem Fall weiß er nun, dass es sich um ein VBScript handelt. Die zweite Zeile teilt dem Server mit, dass nun das eigentlich Script beginnt und eine serverseitige Abarbeitung des folgenden Codes zu erfolgen hat. „Option explicit befiehlt, alle variablen explizit zu erstellen.“6 Diese Code-Zeile ist nicht zwingend erforderlich, hilft aber, schon im Voraus eine Großzahl von Fehler zu vermeiden. Variablen, die nicht initialisiert sind können, dann auch nicht verwendet werden. Die Gefahr eines Verwechselns wird minimiert. In der dritten Zeile werden nun zwei Variablen „a“ und „b“ deklariert und Speicherplatz für diese im Arbeitsspeicher festgelegt. In den folgenden beiden Zeilen werden die Variablen mit Werten belegt. Mit dem Befehl „response.write“ kann eine Ausgabe an das Dokument gesendet werden. Hier kann sowohl HTML-Code als auch normaler Text oder der Wert einer Variablen übergeben werden. Die verschiedenen Strings werden mit dem kaufmännischen & logisch miteinander verknüpft. „%>“ teilt dem Webserver mit, dass das VBScript nun abgeschlossen ist und wieder normaler HTML-Code folgt, bzw. das Dokument zu Ende ist.
Datenbankzugriff Herzstück einer jeden dynamischen Webseite ist die Datenbank im Hintergrund. Daher folgt nun ein ASP-Script, in welchem ein Zugriff auf eine Datenbank erfolgt und das Zusammenspiel von HTML und Script-Code verdeutlicht wird.
<%@ LANGUAGE="VBScript" %> Mitteilung an den Browser das VBScript folgt. 6
VBScript Handbuch, S. 74
10
Erstellung von dynamischen Websites
BIZERBA
Datenbankzugriff Grundgerüst der HTML-Seite. Mit wird die Seite eingeleitet. im -Bereich stehen die Grundinformationen der Seite wie beispielsweise der
(Titel). Nach dem Abschließen des Head-Bereichs wird der -Tag geöffnet, dies ist die eigentliche darstellende Stelle des Dokumentes. <% openStr = “Provider=SQLOLEDB.1; Persist Security Info=False; Integrated Security=SSPI; Initial Catalog=”Contents”; Data Source=******” Festlegung des Connection-Strings. Mittels “Provider=” wird der Datenbanktreiber übergeben. In diesem Fall hier wird auf eine SQL-Datenbank verwiesen. „Persist Security Info“ legt die Zugriffsart auf die Datenbank fest. Der Wert „False“ bedeutet, dass keine Einwahl mittels eines eigenen SQL-Benutzers erfolgt. Stattdessen wird mit „Integrated Security=SSPI“ die Windows-Anmeldung am System auch als Datenbankanmeldung verwendet. „Data Source“ gibt den Servernamen der Datenbank an. Set cn = Server.CreateObject("ADODB.Connection") cn.Open openStr Set rs = Server.CreateObject("ADODB.Recordset") In diesem Bereich des Codes werden zwei Objekte erzeugt. Zum einen die Datenbankverbindung, welche dann in der zweiten Zeile mittels des oben festgelegten Connection-Strings geöffnet wird. Anschließend wird noch ein Recordset Objekt initialisiert, was für das Auslesen der Daten benötig wird. In ihm werden die ausgelesenen Datensätze abgelegt und können darüber anschließend ausgelesen werden. sql = "SELECT * FROM Artikel" rs.Open sql, cn, 0, 1, 1 %> Im String “sql” wird das auszuführende SQL-Query gespeichert. In der folgenden Zeile wird nun das oben beschrieben Recordset geöffnet und das „sql“-Query abgefragt.
11
Erstellung von dynamischen Websites
BIZERBA
Kurzer Wechsel in den HTML-Bereich. Es folgt nun eine Tabelle und die erste Zeile wird geöffnet. <% For i = 0 To rs.Fields.Count – 1 Response.Write("" & rs.Fields(i).name & " | ") Next %> In dieser Schleife werden die Feldnamen der Tabellenspalten ausgelesen und als Überschrift für die nun darzustellende Tabelle ausgegeben. Als Abbruchbedingung für die „For-Schleife“ wird die Anzahl der Spalten abzüglich dem Wert Eins übergeben, da die Schleife nicht bei Eins sondern bei Null beginnt, um die Daten mittels „rs.Fields(i).name“ korrekt auszulesen.
Schließen der ersten Spalte. <% Do While Not rs.EOF Nun wird mittels einer „Do While Schleife“ das Recordset ausgelesen, wobei als Abbruchbedingung hier „.EOF“= EndOfFile angegeben wird. Dies bedeutet, dass die Schleife so oft durchlaufen wird, bis kein weiterer Datensatz mehr vorhanden ist. Response.Write("") Hier wird bei jedem Schleifendurchlauf eine neue Zeile geöffnet. For i = 0 To rs.Fields.Count - 1 Response.Write("" & rs.Fields(i).value & " | ") Next Wieder wird mittels einer For-Schleife der Datensatz aus dem Recordset ausgelesen, auf welchem gerade der Datenbankzeiger steht. Allerdings werden diesmal die Feldwerte „rs.Fields(i).value“ ausgegeben. Response.Write("
") rs.MoveNext Schließen der Zeile mittels und anschließender Wechsel zum nächsten Datensatz: „rs.MoveNext“. LOOP 12
Erstellung von dynamischen Websites
BIZERBA
%> Wiederholpunkt der Schleife. Sämtliche Aktionen zwischen Do und Loop werden bis zum Abbruch der Schleife wiederholt.
Abschluss-Tag der ganz zu Beginn des Codes geöffneten Tabelle. <% rs.Close cn.Close Schließen des Recordsets und der Datenbankverbindung. Beim einmaligen Ausführen des Codes würde dieser auch ohne diese beiden Befehle funktionieren. Allerdings entsteht hierdurch eine unnötige Belastung von Datenbank und Arbeitsspeicher des Servers. %> Korrektes Schließen des Body-Bereiches dieser HTML-Seite. Mit wird die Seite geschlossen und kann nun vom Webserver an den Browser zurückgegeben werden.
2.5 Alternativen zu ASP 2.5.1
ISAPI-Programmierung
Definition von ISAPI „ISAPI was developed by Process Software in collaboration with Microsoft Corporation and other Web server vendors. ISAPI is a high-performance, scalable solution for developers who want to create dynamic Web sites. These sites have to be able o handle high request rates without degrading HTTP server’s performance.”7
Internet Server API (ISAPI) ist also eine Programmierschnittstelle von Microsoft, die unter anderem im Microsoft Internet Information Server (IIS) verwendet werden kann.
7
Using ISAPI, S. 11
13
Erstellung von dynamischen Websites
BIZERBA
ISAPI-Extensions Sie ermöglichen die bessere Integration einer Webanwendung in den Server. Sie können damit schneller als bspw. CGI-Anwendungen ausgeführt werden. Dies wird dadurch erreicht, dass die Erweiterung bereits beim Start des Servers in den Speicher geladen wird und dort permanent zur Verfügung steht. ISAPI-Filter Filter klinken sich in den Daten-Verkehr eines Webservers oder Proxyservers ein und können alle übertragenen Daten lesen und verändern
Leistungsspektrum von ISAPI ISAPI kann in vielerlei Programmiersprachen, wie Visual Basic, C oder C++ entwickelt werden. Datei wird eine .dll (Dynamic Link Library) Datei erstellt, die beim ersten Aufruf des Webservers in den Speicher geladen wird und dort permanent zur Verfügung steht. Sie kann von nahezu beliebig vielen Usern angesprochen werden und läuft dabei stets nur in einem Prozess ab. Mit ISAPI kann auch auf lokale Ressourcen des Webservers oder auch auf externe Datenbanken zugegriffen werden.
Die Verbreitung von ISAPI kann aus sehr unterschiedlichen Betrachtungsweisen beurteilt werden. Verbreitung hat es im Internet heutzutage fast keine mehr und auch die Weiterentwicklung wurde in der Zwischenzeit eingestellt. Allerdings arbeitet beispielsweise einer der größten Online-Plattformen überhaupt – www.ebay.com – mit diesen ISAPI-Extensions.
Test auf der Waage Die Programmierung der ISAPI-Schnittstelle auf der Waage musste in C++ durchgeführt werden. Nur mit dieser Sprache kann eine unter Windows CE lauffähige Datei kompiliert werden kann. Die erstellte .dll Datei läuft problemlos auf der Waage und kann sämtliche Abfragen recht schnell abarbeiten. Jedoch ist de Programmieraufwand hierbei extrem hoch. So muss fast für jede mögliche Anfrage eine eigene Verarbeitungsprozedur geschrieben und implementiert werden. 14
Erstellung von dynamischen Websites
BIZERBA
Daher können für das Projekt Contents keine ISAPI-Dateien verwendet werden, denn die Programmierung der .dll Datei kann nur von einem „richtigen Programmierer“ vorgenommen werden, nicht aber vom Endkunden. Zwar könnte ein Großteil der möglichen Anforderungen im Vorfeld bereits abgedeckt werden, bei dem gewünschten Funktionsspektrum zum Gestalten der Layout-Dateien kann jedoch nicht jede Möglichkeit explizit ausprogrammiert werden. 2.5.2
Java Applets
Definition: „Ein Java-Applet ist ein kleines Computerprogramm, das in der Programmiersprache Java verfasst wurde. Java-Applets wurden eingeführt, um Programme in Web-Seiten ablaufen lassen zu können, die im Webbrowser (auf der Client-Seite) arbeiten und direkt mit dem Benutzer interagieren können, ohne Daten über die Leitung zum Server versenden zu müssen.“8
Java Virtual Machine: Um Java-Applets darstellen und ausführen zu können ist eine Laufzeitumgebung für diese Komponente erforderlich, die sogenannnte Java Virtual Machine. Die Firma NSIcom ist ein Anbieter solcher Laufzeitumgebungen für Windows CE 4.2. Auf der Seite http://www.nsicom.com/Default.aspx?tabid=220&p=4 kann eine kostenlose 30-Tage Testversion heruntergeladen werden.
Installation: Die heruntergeladene Installationsdatei für den x86-Prozessor, welcher auf den Bizerba Waagen im Einsatz ist, war nicht lauffähig. Eine Installation konnte deshalb nicht erfolgen. Nach einer Support-Anfrage an: support@nsicom.com kam jedoch innerhalb kürzester Zeit eine Antwort, sowie eine neue lauffähige Version. Die .CAB (komprimierte Installationsdatei) musste lediglich auf der Waage installiert werden. Weitere Komponenten mussten nicht manuell registrieren werden.
8
http://de.wikipedia.org/wiki/Java_Applet, 15.5.2006
15
Erstellung von dynamischen Websites
BIZERBA
Test auf der Waage: Eingebunden werden Java Applets in einer Webseite wie folgt:
In dem applet-Tag wird die Referenz auf das Java-Applet hergestellt und angegeben welche Datei geladen werden soll. Das Param-Tag übergibt Parameter an das Applet, mit dem es dann ausgeführt wird. Die Einbindung eines Applets in eine Webseite auf der Waage verlief unproblematisch und auch ein Zugriff auf die lokalen Ressourcen des Rechners war möglich.
Allerdings sind diese Java-Applets nur bedingt einsatzfähig, da sie sehr langsam sind. Für den Einsatz auf einer Waage im laufenden Betrieb z.B. eines Metzgers sind Antwortzeiten von zwei bis drei Sekunden nicht tragfähig und akzeptierbar. Dies kommt sicherlich auch von der recht sparsamen Performance der WaagenProzessoren, aber auch das Grundkonzept der Java-Applets ist nicht auf eine sehr schnelle Bearbeitung ausgerichtet.
Daher scheidet der Einsatz derartiger Java-Applets leider aus.
16
Erstellung von dynamischen Websites
3.
BIZERBA
Windows CE
3.1 Einführung Was ist Microsoft Windows CE überhaupt? „Microsoft Windows CE ist eine offene, skalierbare Windows-Plattform für ein breites Spektrum an Kommunikations-, Unterhaltungs- und Mobile Computing-Geräten. Bei der standardisierten Windows CE-Plattform handelt es sich um ein völlig neuartiges Betriebssystem, das von Grund auf neu konzipiert wurde, um neue Kategorien von Nicht-PC-Geräten für den geschäftlichen und privaten Bereich zu ermöglichen, die miteinander kommunizieren, Informationen mit Windows-PCs austauschen und eine Verbindung zum Internet herstellen können.“9
Dieser Artikel stammt von der Microsoft-Homepage und beschreibt die wesentlichen Grundzüge von Windows CE. Man kann sagen, Windows CE ist eine abgespeckte Version der „Windows Familie“ und versucht, mit minimalem Speicherplatz und Prozessorleistung, ein Maximum des gewohnten Windowsspektrums abzudecken. Es ist allerdings keine Kompatibilität zu anderen Windows Versionen, oder gar zu MSDOS vorhanden, sondern es setzt auf einem eigenen Kern auf. Es unterstützt jedoch sowohl Multithreading, als auch einen gewissen Teil der Win32 API. Ebenfalls unterstützt wird das .NET Compact Framework, welches einen Teil des mächtigen .NET Frameworks von Microsoft repräsentiert.
Warum gerade Windows CE? Windows CE bzw. Windows Mobile kommen in der Regel hauptsächlich im Handysektor zur Geltung. Fast sämtliche Smartphones sowie PDAs (Personal Digital Assistant) laufen heutzutage unter diesem Betriebssystem. Durch den geringen Speicher- und Ressourcenverbrauch läuft es auf nahezu jeder Plattform und ist von den Anforderungen her recht begnügsam.
9
http://www.microsoft.com/germany/msdn/library/mobility/windowsce/HaeufigGestellteTechnisch
eFragenZuMicrosoftWindowsCENET.mspx?mfr=true 20.04.2006
17
Erstellung von dynamischen Websites
BIZERBA
Die Bizerba CE-H 800 S hat einen x86 Prozessor mit 400 Mhz sowie eine integrierte Flash-Speicherkarte von 128 MB als Festplatte. Diese ist jedoch beliebig erweiterbar und in der Regel haben die Geräte mehr als 10 GB Speicherplatz. Allein aufgrund dessen wäre heutzutage Windows CE nicht mehr erforderlich und es könnte auch ein Umstieg auf Windows XP vorgenommen werden. Ein weiterer entscheidender Faktor für Windows CE ist jedoch die niedrige Anfälligkeit für Viren. Durch die geringe Verbreitung dieser Plattform finden sich auch nur wenig gewillte Hacker, die gezielt Schaden anrichten wollen.
3.2 Webserver unter Windows CE 3.2.1
IIS (Internet Information Server)
Unter Windows CE gibt es den von Microsoft mitgelieferten IIS (Internet Information Server). Dieser Webserver ist eine abgespeckte Version des normalen IIS, wie unter Windows XP bekannt. Er unterstützt laut Microsoft rund 75% der Funktionalität, wobei er nur 25% der Ressourcen des großen Bruders verbraucht. Das große Problem liegt jedoch im Server-Side Scripting, welches vom IIS für Windows CE nicht unterstützt wird. “There is no support for server-side scriptlets in Windows CE–based ASP. The <SCRIPTLET> tag and related tags are ignored by Windows CE–based ASP and treated as plain text. How the client browser interprets the <SCRIPTLET> tag is browserspecific.”10 Der IIS unterstützt zwar sowohl VBScript als auch JavaScript, jedoch werden sämtliche Befehle die eine serverseitige Abarbeitung der Programmablaufs ansteuern, wie z.B. <SCRIPT LANGUAGE = VBSCRIPT RUNAT = SERVER> oder <%@ language=“VBScript“ %>, vom Webserver einfach ignoriert. Es erscheint lediglich die Fehlermeldung: „Parse error in script“. Wie auch von Microsoft bestätigt, gibt es also keinerlei Möglichkeit mittels einer ASPSeite auf externe Daten zuzugreifen.
10
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/wceasp/html/_wcesdk_features_not_supported.asp
18
Erstellung von dynamischen Websites 3.2.2
BIZERBA
GoAhead Webserver
Neben der Microsoftlösung IIS gibt es noch den GoAhead Webserver 2.1. Dies ist eine Entwicklung der GoAhead Software Inc. mit einer Unterstützung für genau die geforderte Komponente der serverseitigen Skriptabarbeitung: „Specifications Dynamic Content -
Active Server Pages
-
In-Process CGI
-
Traditional CGI support
-
Embedded JavaScript
-
Open scripting architecture“11
Ein Test unter Windows CE 3.1 verlief problemlos. Sämtliche gewünschten Funktionen waren verfügbar. Allerdings scheidet ein Einsatz dieses Webservers aufgrund der Einstellung der Entwicklung nach Windows CE 3.1 aus. Leider ist auch keine Aufwärtskompatibilität mit Windows CE 4.2 vorhanden und es konnten keine Seiten dargestellt werden. Die Bizerba Touch Screen Waagen sind allesamt mit Windows CE 4.2 ausgestattet und eine Umstellung auf eine andere Windows CE-Version ist (zeitnah) nicht möglich. 3.2.3
Verwendbarkeit – Ergebnis
Für die effiziente Entwicklung von Active Server Pages, die auf Bizerba-Waagen lauffähig sind, kommt keiner der beiden Webserver in Frage. Der IIS von Microsoft kann die gewünschte Funktionalität eines Server-Side Scripting nicht bereitstellen. Es bietet auch keine ergänzenden Zusatzfeatures. Der GoAhead-Webserver wäre mit einer älteren Version von Windows CE prinzipiell gut geeignet. Allerdings wurde die Entwicklung wie schon bereits erwähnt eingestellt und es wird keine Version für Windows CE 4.2 geben.
11
http://webserver.goahead.com/webserver/wsfeatures.htm
19
Erstellung von dynamischen Websites
BIZERBA
3.3 Datenbanken unter Windows CE 3.3.1
Grundlegendes
Auch wenn die Anzahl der Datenbanken, die auch unter Windows CE lauffähig sind nicht besondern groß ist, so gibt es doch eine ganze Reihe verschiedener Anbieter, die eine Windows CE gerechte Lösung anzupreisen versuchen. Inwieweit diese Datenbanken geeignet sind, soll im Folgenden untersucht werden. 3.3.2
Pocket Access
Überblick Pocket Access, oft auch unter dem Namen CEDB anzufinden, ist eine kleine Datenbank im Access-Stil. Über ActiveSync kann ein Abgleich mit der Desktop-Version von Access vorgenommen werden. Dabei wird die .mdb Datei in eine auf Windows CE lauffähige .cdb umgewandelt und übertragen.
Einschränkungen „Windows CE gives you an entirely unique set of database APIs not available under the other versions of Windows. The database implemented by Windows CE is simple, with only one level and a maximum of four sort indexes, but it serves as an effective tool for organizing uncomplicated data”12 Wie in obigem Artikel beschrieben, handelt es sich bei Pocket Access aber um eine sehr eingeschränkte Datenbank, die lediglich zum Anzeigen und Editieren kleinerer Datenbestände geeignet ist. Es sind nur 4 Suchkriterien möglich und der Zugriff kann nur auf eine Tabelle erfolgen. Eine Abfrage über mehrere Tabellen wird nicht unterstützt.
Bezugsquelle Pocket Access wird von Herstellerseite aus mit dem Produkt ausgeliefert bzw. es kann über den „Microsoft Platform Builder“ zum Kernel hinzugefügt werden. Eine nachträgliche Installation auf dem Gerät ist jedoch nicht möglich. Lizenzgebühren fallen keine an.
12
Programming Microsoft Windows CE.NET, S.439
20
Erstellung von dynamischen Websites 3.3.3
BIZERBA
Sybase SQL Anywhere
Überblick Sybase ist ein weltweit agierender Hersteller unter anderem von Datenbanklösungen. Die eigene Datenbank Sybase SQL Anywhere steht dabei an vorderster Stelle und wird nach eigener Aussage von Sybase weltweit von den zehn größten Banken eingesetzt.
Einschränkungen Prinzipiell hat Sybase SQL Anywhere keinerlei Einschränkungen im Bezug auf das arbeiten mit der Datenbank. Auch ein Synchronisieren mit der Desktop-Version ist problemlos möglich. Lediglich wenige Befehle wie beispielsweise die „DROP DATABASE-Anweisung werden unter Windows CE nicht unterstützt“13
Bezugsquelle Sybase SQL Anywhere kann unter folgender Adresse kostenlos als Testversion heruntergeladen werden: http://www.sybase.com/products/mobilesolutions Unter „Downloads/eShop Try & Buy“ muss hierzu ein Account angelegt werden und anschließend kann das „SQL Anywhere Studio 9.0.2 for Windows x86“ heruntergeladen werden. Nach Ablauf der 30tägigen Testversion ist jedoch eine Gebühr von 377 US-$ pro Einzelplatzlizenz fällig. Die Installation erfolgt mit Hilfe von ActiveSync.
13
http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/de/html/dbfgde9/00
000097.htm
21
Erstellung von dynamischen Websites 3.3.4
BIZERBA
IBM DB2 Everyplace
Übersicht Nachdem IBM mit seiner DB2 Datenbank lange Zeit nur Großrechner vorbehalten und nicht auf dem Windows-Markt verfügbar war, bietet IBM nun mit der DB2 Everyplace auch eine Lösung für mobile Geräte an.
Einschränkungen Ein Synchronisieren der Datensätze mit einem anderen Server von IBM ist Grundsätzlich möglich, allerdings erst ab der Express- oder Enterprise Edition. Ansonsten deckt DB2 Everyplace sämtliche Bereiche ab und arbeitet ohne Einschränkungen auch unter Windows CE.
Bezugsquelle Die verschiedenen Versionen von IBM DB2 Everyplace können unter http://www306.ibm.com/software/data/db2/everyplace/ in elektronischer Form bestellt werden. Die Lizenzgebühr für eine standalone Datenbankversion beträgt 116 EUR. Die Enterprise Edition, welche für ein Synchronisieren mit einem Desktop-PC erforderlich ist, kostet 558 EUR. Die Kosten fallen jeweils für eine Jahreslizenz an.
3.3.5
Oracle Database Lite
Übersicht “The Oracle Lite Database is a small footprint, Java enabled, secure, relational database management system created specifically for laptop computers, handheld computers, PDAs, and information appliances. Oracle Lite Database runs on Windows 98/NT/2000/XP, Windows CE/Pocket PC, Palm OS and Embedded Linux.”14
Somit bietet auch Oracle eine mobile Variante der hauseigenen Datenbank und versucht damit auch in diesem Sektor Fuß zu fassen.
14
Oracle Database Lite 10g Technical White Paper, S. 5
22
Erstellung von dynamischen Websites
BIZERBA
Einschränkungen „Der Speicherbedarf auf dem Gerät ist mit maximal 1MB sehr dezent ausgefallen und auch die Replikation mit dem >>großen<< Oracle-Datenbankserver wird unterstützt.“15 Die maximale Größe der Datenbank auf dem mobilen Gerät beträgt 4GB. Der Multiuser Zugriff erlaubt bis zu 32 simultane Verbindungen, was selbst bei einer Bizerba-System-Lösung nur schwer zu erreichen ist.
Bezugsquelle Unter http://www.oracle.com/technology/software/products/lite/index.html findet man den Downloadbereich für die Oracle Database Lite. Zum Preis von 84 EUR bekommt man eine zeitlich unbefristete Nutzungserlaubnis.
3.3.6
Firebird 1.5 eMbedded Win32-Version
Übersicht: Firebird ist die Open-Source Variante des weiterhin kommerziell von Borland vertriebenen relationalen Datenbankmanagementsystemes InterBase. Im Jahre 2000, als kurz vor Freigabe der Version 6 des kommerziellen Vorgängers Interbase bei Borland ernsthafte Überlegungen im Gange waren, die Weiterentwicklung einzustellen, erfolgte die Abspaltung von Firebird. Seither kümmert sich eine recht große Entwicklergemeinde um die Weiterentwicklung der Datenbank und es erscheinen regelmäßig neue Versionen.
Einschränkungen: “Firebird server – and any databases you create or connect to – must reside on a hard drive that is physically connected to the host machine. You cannot locate components of the server, or any database, on a mapped drive, a filesystem share or a network filesystem.”16 Die Datenbank muss also direkt auf die Waagen-Festplatte installiert werden.
15
Programmieren mit dem .NET Compact Framework, S.233
16
The Firebird Book, S. 48
23
Erstellung von dynamischen Websites
BIZERBA
Die eMbedded Version ist nicht Mulit-User-Fähig und nur ein User kann explizit auf die Datenbank zugreifen. Auch kann die Datenbank nicht über das Netzwerk angesprochen werden, sondern der Zugriff ist nur vom lokalen System aus möglich.
Bezugsquellen: Unter der Adresse http://sourceforge.net/projects/firebird kann der Firebird DatenbankServer kostenfrei heruntergeladen werden. Es fallen keinerlei Lizenzgebühren an. Eine Installation ist nicht erforderlich. Durch das Kopieren der Datei „fbembed.dll“ in das Anwendungsverzeichnis, steht die Datenbank direkt zur Verfügung.
3.3.7
Microsoft SQL Server 2000 Windows CE Edition
Übersicht „Die Datenbank-Engine, die auf dem Pocket-PC installiert werden muss, benötigt etwa 1MB Speicherplatz. Die Daten selbst sind in einer Datei mit der Endung .sdf abgelegt.“17 Der Zugriff auf die Daten kann entweder mittels Active Data Objects (ADO), oder ADO.NET erfolgen. ADO kommt zur Verwendung solange eMbedded Visual Basic bzw. eMbedded Visual C++ eingesetzt wird. Hingegen wird ADO.NET für den Einsatz mit einer .NET Sprache wie beispielsweise VB.NET verwendet.
Einschränkungen Die einzige Einschränkung von Bedeutung ist, dass keine Multiuser-Anwendungen lauffähig sind. Damit kann immer nur ein Benutzer bzw. Prozess gleichzeitig auf eine Datenbank zugreifen. Durch eine intelligente Anwendungsentwicklung mit einer nicht persistenten Datenbankverbindung stellt dies jedoch kein Ausschlusskriterium dar.
17
Programmieren mit dem .NET Compact Framework, S.233
24
Erstellung von dynamischen Websites
BIZERBA
Bezugsquelle Der Microsoft SQL Server 2000 Windows CE Edition kann bei Microsoft unter folgender Adresse heruntergeladen werden: http://www.microsoft.com/downloads/details.aspx?FamilyID=b9b12312-fe57-4817a4bc-69992802732d&DisplayLang=de
Der Microsoft SQL Server 2005 Mobile Edition kann unter folgender Adresse kostenlos bezogen werden: http://www.microsoft.com/downloads/details.aspx?FamilyId=5BD8ABAA-5813-4DB3B23A-24551DE2ECC1&displaylang=en Die Version 2005 ist allerdings nicht mehr kompatibel zur Entwicklung mit Visual Studio 2003 bzw. .NET Compact Framework 1.0. Da auf den Waagen jedoch Windows CE 4.2 läuft, welches die neue Version 2.0 des .NET Compact Frameworks nicht unterstützt, muss die 2000er Version verwendet werden. Beide Versionen sind für den lokalen Einsatz auf mobilen Geräten kostenlos verfügbar, erst wenn eine Replikation mit einem „richtigen“ SQL Server erfolgt, fallen Lizenzgebühren an. Installiert wird der Microsoft SQL Server 2000 Windows CE Edition mittels ActiveSync. Dabei werden zuerst auf dem Entwicklungs-PC die „Developer Tools“ installiert und anschließend mittels ActiveSync die Datenbank auf der Waage eingerichtet.
25
Erstellung von dynamischen Websites
4.
BIZERBA
Entwicklungsvorschlag
4.1 Übersicht über die benötigten Komponenten Als Ansatzpunkt für den Fortschritt der „Projekt Contents“ wird nun als erstes ein Ablaufmodell für die weiteren Planungen benötigt. Es muss festgelegt werden, welche Komponenten für das Verwaltungsmodell benötigt werden und wie diese miteinander kommunizieren bzw. verknüpft sind. Auch ist festzulegen woher diese Komponenten zu beziehen sind bzw. was die Anforderungen an eine Entwicklung sind.
Folgende Grafik soll das Zusammenwirken der einzelnen Komponenten des Content Verwaltungssystems verdeutlichen.
Abbildung 3: Zusammenspiel der beteiligten Komponenten
27
Erstellung von dynamischen Websites
BIZERBA
Erläuterung: 1. Eine Content Seite wird über eine Content ID und Layout ID vom Webserver angefordert. 2. Der Webserver stellt eine Anfrage nach dem gewünschten Content an die Datenbank. 3. Die Datenbank liefert die gewünschten Daten und Informationen an den Webserver zurück. 4. Dieser leitet den Inhalt weiter an die Waage. Bei Bedarf werden auch die Druckinformationen für den Waagendrucker geliefert. 5. Layouterstellung über den BSD. Zugriff auf die Content-Datenbank.
4.2 Anzeige bzw. Präsentationsschicht Beginnen wir in der Grafik von links nach rechts. Hier kommt als erstes die Präsentationsschicht, welche direkt im Kontakt zu dem Endbenutzer steht.
Hier soll eine HTML-Komponente entweder als Element in eine bestehende BizerbaTouch-Screen-Tastatur eingebunden werden, eine halbseitige Infoseite erscheinen oder aber eine vollflächige Werbung möglich sein. Für den Bediener sollten die Vorgänge und Abläufe bei der Darstellung verborgen bleiben und das Arbeiten mit der Waage wie gewohnt ablaufen.
Um die HTML-Seiten anzeigen zu können, muss am bestehenden Windows CE nicht viel verändert werden. Es ist lediglich sicherzustellen, dass die Windows CE Komponente „Browser Application“ korrekt eingebunden ist.
Mit Hilfe des „Windows CE Platform Builder 4.2.“ geht dies sehr einfach per Drag & Drop. Dem bestehenden Projekt werden die Standardkomponenten hinzugefügt, der Kernel anschließend neu kompiliert (=erstellt) und auf die Waage aufgespielt. Nach dem nächsten Neustart der Waage, stehen die Objekte dann zur Verfügung.
Um auch VBScript, Jscript und XML ausführen zu können, sollten diese drei Komponenten ebenfalls noch hinzugefügt werden 28
Erstellung von dynamischen Websites
BIZERBA
Abbildung 4: Windows CE Platform Builder 4.2. “Microsoft® Windows® CE .NET 4.2 with Microsoft Platform Builder 4.2 is an enhanced development environment for building customized embedded platforms based on the Windows CE .NET operating system (OS).”18
Mit Hilfe des „Windows CE Platform Builder 4.2.“ lassen sich relativ schnell (Kompilierungszeit ~15min) komplette Systemkernel erstellen und auch auf die Waage überspielen.
18
Microsoft Windows CE 4.2 Documentation, „about“
29
Erstellung von dynamischen Websites
BIZERBA
4.3 Webserver 4.3.1
Grundlegendes
Die zweite Komponente im Contentverwaltungssystem ist der Webserver. Ihm kommt eine zentrale Bedeutung zu. Er empfängt die Daten aus der Waagenapplikation, um daraus dann eine HTML-Seite zu erstellen und diese wieder an den Browser auf der Waage zurückzuschicken. Die weitere Aufgabe des Webservers ist es, mögliche Druckanforderungen vom Bedienpersonal an der Waage direkt an den angeschlossenen Waagendrucker zu übermitteln. Da die Darstellung auf den Waagendruckern vom Erscheinungsbild auf der Waage selbst in der Regel abweichen, müssen die Informationen bei einem Druckauftrag neu zusammengestellt und verarbeitet werden. 4.3.2
Eigenentwicklung
Die beiden auf dem Markt vorhandenen Webserver IIS von Microsoft (keine Unterstützung von Server-Side-Scripting) und GoAhead Webserver von GoAhead (Entwicklung wurde nach Windows CE 3.0 eingestellt) erfüllen nicht die gewünschten Anforderungen. Es gibt auch keine weiteren Alternativen käuflich zu erwerben. Daher muss ein eigener Webserver programmiert werden.
Als Mindest-Anforderung für den Webserver sind folgende Merkmale festzulegen: -
Möglichkeit des serverseitigen Skriptaufrufs
-
HTTP 1.0/1.1 Kompatibel
-
TCP/IP Protokoll
-
Multiuser Fähig
-
Unterstützung von ASP
-
Secure Socket Layer (SSL) für Datenverschlüsselung und Autorisierung
Zusätzlich sollte der Webserver möglichst ressourcenschonend arbeiten und stabil laufen. Da ein solcher Webserver jedoch nicht nur im Einzelbetrieb vorkommt, sondern auch in einer Systemlösung mit bis zu 20 Waagen und auch sonstigen Geräten im Netzwerk, darf auch der Sicherheitsaspekt nicht außer Acht gelassen werden.
30
Erstellung von dynamischen Websites
BIZERBA
Prinzipiell wäre in einem solchen Netzwerk auch der Einsatz eines eigenständigen Webservers möglich. Doch wird dies nicht immer möglich und gewünscht sein. Sofern ein eigener Webserver entwickelt wird, sollte dieser dann anschließend auch durchgehend zum Einsatz kommen.
Durch die Tatsache, dass es keinen Webserver für Windows CE gibt, der auch serverseitige Skripte abarbeiten kann, würde sich hier durchaus auch ein kommerzieller Verkauf der Eigenentwicklung anbieten. Dies zumal eine gewisse Nachfrage durchaus vorhanden ist. 4.3.3
Alternativen
Als Alternative zum Programmieren eines eigenen Webservers für die Waage gibt es eigentlich nur zwei Möglichkeiten: Dies wäre zum einen die Bereitstellung eines externen Webservers, der die Anfragen des Webbrowser abarbeitet und die benötigten Seiten wieder an die Waage zurückliefert. Bei größeren Unternehmen wird dies auch sicherlich kein Problem darstellen. Sofern es sich jedoch um den „Fleischer um die Ecke“ handelt wird dies schon schwieriger. Kleineren Unternehmen ist es nur schwer vermittelbar, warum er zur Artikelverwiegung und gleichzeitiger Abfragen von Informationen einen (zusätzlichen) PC in sein Netzwerk aufnehmen muss.
Die zweite Alternative zu einem eigenen Webserver ist die ISAPI-Programmierung. Prinzipiell kann diese eigentlich genau die gewünschten Anforderungen abdecken und ist auch sehr schnell in der Abarbeitung der Anfragen. Die ISAPI-Programmierung ist jedoch sehr kompliziert und es muss jede mögliche Anfrage im Detail programmiert werden. Der Zeitaufwand hierfür ist allerdings zu hoch, um auf neue Elemente adäquat zu reagieren und diese Zeitnah zu implementieren. Somit würde man zwar eine Eigenentwicklung eines Webservers umgehen, der Zeitaufwand für eine ISAPI-Programmierung wird jedoch größer sein und zukünftige Veränderungen müssten stets nachimplementiert werden.
31
Erstellung von dynamischen Websites
BIZERBA
4.4 Content Datenbank Die dritte Komponente für das Contentverwaltungssystem ist eine Datenbank, in der alle Inhalte abgelegt und katalogisiert werden können. Sie sollte idealerweise auf der Waage installiert sein um unabhängig von einem zusätzlich Server zu sein. Dieser Punkt ist jedoch auch stark davon abhängig, wie die Entscheidung unter Punkt „4.3 Webserver“ ausfällt. Ferner ob man aus technischen Beweggründen ohnehin einen Server benötigt, oder ob die Anwendungen lokal auf der Waage ablaufen können. Als wichtige Merkmale für die Datenbank sind folgende Punkte festzuhalten: -
Speicherfähigkeit von mindestens 500.000 Datensätzen
-
Replikation/Abgleich mit einer zentralen Datenbank muss möglich sein
-
Möglichst geringe Lizenzgebühren
-
Performante Antwortzeiten
-
Multiuser Zugriff muss möglich sein
-
Absicherung der Datenbankinhalte vor dem Zugriff durch Dritte
Auf Grund dieser Überlegungen kommen eigentlich nur die beiden Datenbanken „Microsoft SQL Server 2000 Windows CE Edition“ und „Oracle Database Lite“ in die nähere Auswahl. Beide können die gewünschten Anforderungen abdecken. Verschiedene Tests auf der Waage verliefen problemlos. Bizerba kooperiert sehr eng mit Microsoft. Daher empfehle ich den Microsoft SQL Server für den Einsatz in den Waagen. Hier fallen außerdem keiner Lizenzkosten an, sofern die Datenbank nur auf einer einzelnen Waage zum Einsatz kommt. Da die Verbreitung der „Contents“ für Bizerba möglichst kostenfrei ablaufen sollte, um selbst einen gewissen Betrag daran zu verdienen, ist diese kostenfreie Lösung ideal. Auch die Unternehmensdatenbank von Bizerba läuft auf einem Microsoft SQL Server. Somit könnten direkt in dieser Datenbank die Inhalte gepflegt und organisiert werden. Später müsste lediglich ein Abbild der Datenbank in die Waage eingespielt werden. Somit entstehen keine Schnittstellen- oder Kompatibilitätsprobleme.
32
Erstellung von dynamischen Websites
BIZERBA
Interessant wäre auch die Firebird-Lösung, da keine Lizenzkosten anfallen. Allerdings scheidet diese Datenbank aufgrund der Tatsache, dass sie nur lokal angesprochen werden kann, leider aus. Zwar ist für eine einzelne Waage keine Multiuser-Fähigkeit / bzw. die Ansprechbarkeit der Waagendatenbank durch eine andere Waage von Nöten, in einem Systemverbund mit mehreren Waagen jedoch sehr wohl.
4.5 Verwaltungstool 4.5.1
Integration in die vorhandenen Tastaturlayouts
Bizerba hat mit dem Bizerba Screen Designer (BSD)19 ein sehr mächtiges Tool zum Gestalten und Verwalten von Touch-Screen-Tastaturen. Der Bizerba Screen Designer ist eine Eigenentwicklung von Bizerba und bietet eine Vielzahl von Möglichkeiten, um Tastaturen zu erstellen und dynamisch zu gestalten. Im BSD können beliebig viele Tastaturlayouts für ein Projekt angelegt und auch interaktiv miteinander verknüpft werden, d.h. wenn die Verkäuferin beispielsweise die PLUNummer auswählt, öffnet sich automatisch eine neue Tastaturansicht mit den zusätzlichen Informationen zu diesem Artikel. Gespeichert werden die Darstellungsinformationen vollständig im XML-Format. Durch sein umfangreiches Funktionsspektrum bietet er sich idealerweise auch zum Verwalten der „Contents“ an. Hierzu müsste zum einen ein HTML-Objekt integriert werden, welches es dem Benutzer erlaubt eine Referenz auf die Content Datenbank zu setzen. Dadurch, dass in jeder Tastatur die PLU-Nummer des aufgerufenen Artikels mit übergeben wird, wäre somit eine Zuordnung zu der Content-ID gewährleistet. Die Layout-ID wird ebenfalls im BSD festgelegt und die Verknüpfung mit der neuen Datenbank wäre hiermit bereits sichergestellt. Es kann für jedes Tastaturlayout eine andere Layout-ID an die Content-Datenbank übergeben werden und somit das komplette Spektrum der Datenbank angezeigt werden. Die Details zum Zusammenspiel von Content-ID, Layout-ID und der PLU-Nummer des Kunden werden unter Punkt 5. Datenbankentwurf näher erläutert.
19
Siehe: Abbildung 9: Bizerba Screen Designer
33
Erstellung von dynamischen Websites
BIZERBA
Wie dieses HTML-Objekt letztendlich gestaltet wird, ist wiederum in einer anderen Ansicht zu bearbeiten. Im Tastaturlayout selbst wird lediglich das HTML-Objekt mit entsprechender Referenz eingefügt. 4.5.2
Gestalten der dynamischen Layouts
Die Layout-Gestaltung sollte folgendermaßen realisiert werden: In einem neu zu entwerfenden Modul des Bizerba Screen Designers könnte die Gestaltung der Layouts vorgenommen werden. Hierzu muss es die Möglichkeit geben, anstatt einer neuen Tastaturseite ein HTMLObjekt zu erstellen. Durch festlegen von Höhe und Breite wird es fixiert und initialisiert. Nun muss es in einem Datenfeld die verfügbaren Elemente zur Auswahl geben und diese können dann per Drag & Drop auf dem Objekt angeordnet werden. Zusätzlich muss das Modul noch in zwei Bereiche unterteilt werden, zum einen für das Bearbeiten der allgemeinen Layoutvorlagen, die für alle Artikel gelten. Zum anderen muss es aber auch möglich sein, das Layout jedes einzelnen Artikels separat anzupassen und Objekte darauf zu platzieren. Die Basis bildet hierbei jeweils die anfangs erstellte Standardvorlage. Die eigentliche Herausforderung bei der Erstellung des neuen Moduls liegt darin, dass aus den erstellen Vorlagen eine Active Server Page erstellt wird. Da der BSD aber bereits in der Lage ist, XML-Dateien zu erstellen, ist dieser zusätzliche Schritt nicht mehr groß. Mit Hilfe von Ebenen, die absolut positioniert werden, ist das Erstellen des Codes fast ein Kinderspiel. Es wird dazu eine CSS-Datei erstellt die z.B. folgendermaßen aussieht: .ebene1 { position:absolute; left:0px; top:40px; width:200px; } In diesem Beispiel ist die Ebene 40 Pixel vom oberen Rand entfernt und klebt an der linken Seite. Außerdem ist sie 200 Pixel breit. 34
Erstellung von dynamischen Websites
BIZERBA
Der dazugehörige ASP-Code könnte nun Beispielweise so aussehen:
<% Datenbankabfrage %>
Wird dieses Vorgehen für sämtliche Elemente auf dem Objekte in dieser Art verwirklicht, entsteht ein leicht überschaubarer und einfacher Quelltext.
Die Layouts werden dann für jeden Artikel als kompletten Quelltext in der Datenbank gespeichert.
4.5.3
Verwalten der Datenbank
Für das Verwalten der eigentlichen Datenbankinhalte müsste noch ein zusätzliches Modul integriert werden. Um die Ganzheitlichkeit des Projekts sicherzustellen, sollte dies auf jeden Fall innerhalb des Bizerba Screen Designers sein.
Dabei muss es wieder zwei Bereiche geben. -
Den einen für das eigentliche Einpflegen und Verwalten der Inhalte und Bilder.
-
Den anderen für die Zuordnung der Bausteine zu den jeweiligen Artikeln.
Wie die Artikelzuordnung genau aussieht, wird unter Punkt 5 Datenbankentwurf näher erläutert. In einer leicht zu bedienenden Oberfläche sollte auch ein Computerlaie Inhalte einpflegen und abändern können.
Auch muss in diesem Datenbanktool eine Versionsverwaltung integriert sein, um den Kunden mit Updates beliefern zu können. Hat ein Kunde einen bestimmten „Content-Baustein“ manuell überarbeitet, so darf dieses Update die Änderungen nicht ohne vorheriges Nachfragen überschreiben. Gespeichert werden müssen also neben den eigentlichen „Contents“ auch das Erstellungsdatum und der Autor.
35
Erstellung von dynamischen Websites
5.
BIZERBA
Datenbankentwurf
5.1 Definitionen Im Umfeld von relationalen Datenbanken gibt es eine Vielzahl von Fachbegriffen und Fremdwörtern. Im Folgenden habe ich die Definitionen der wichtigsten dieser Begriffe festgehalten.
Erste Normalform (1NF): „Eine Tabelle ist in erster Normalform, falls die Wertebereiche der Merkmale atomar sind. Die erste Normalform verlangt, dass jedes Merkmal Werte aus einem unstrukturierten Wertebereich bezieht. Somit dürfen keine Mengen, Aufzählungstypen oder Wiederholungsgruppen in den einzelnen Merkmalen vorkommen.“20
Zweite Normalform (2NF): „Eine Tabelle ist in zweiter Normalform, wenn sie in erster Normalform ist und wenn jedes Nichtschlüsselmerkmal von jedem Schlüssel voll funktional abhängig bleibt.“21
Normalisierung: „Unter Normalisierung eines relationalen Datenbankschemas versteht man die schrittweise Zerlegung mittels Normalisierungsalgorithmen in mehrere Relationen auf der Grundlage von funktionalen Abhängigkeiten. Das Relationenschema wird dabei in die erste, zweite, dritte usw. Normalform überführt.“22
20
Relationale Datenbanken, S. 36
21
Relationale Datenbanken, S. 37
22
http://de.wikipedia.org/wiki/Normalisierung_%28Datenbank%29, 15.5.2006
37
Erstellung von dynamischen Websites
BIZERBA
Entität: „Gegenstände (Entitäten) sind wohlunterscheidbare physisch oder gedanklich existierende Konzepte der zu modellierenden Welt. Man abstrahiert ähnliche Gegenstände zu Gegenstandstypen (Entitytypen oder Entitymengen).“23
Schlüssel: „Ein Schlüssel einer Relation ist durch eine Menge von Attributen festgelegt. Bei einem Schlüssel. Der aus einem Attribut besteht, darf in einer Relation zu einem bestimmten Zeitpunkt jeder Wert für das Attribut nur einmal auftreten. Bei Schlüsseln, die aus mehreren Attributen bestehen, dürfen die entsprechenden Kombinationen der Attributwerte jeweils nur einmal auftreten.“24
5.2 Vorüberlegung und Datenanalyse Das Projekt „Contents“ beruht im Wesentlichen darauf, einen riesigen Wissenspool darzustellen, und für jegliche Art von Produkten mehr Informationen „als üblich“ zu liefern.
Abbildung 5: Datenanalyse
Dabei sollen weit reichende Informationen und Bilder zu Artikeln erfasst und diese dann später in einem zusammengefassten Layout wiedergegeben werden.
23
Datenbanksysteme, S. 35
24
Relationale Datenbanken und SQL, S. 45
38
Erstellung von dynamischen Websites
BIZERBA
Die wesentlichen Gegebenheiten der zu erfassenden „Contents“ lauten wie folgt:
-
Jeder Artikel hat eine eindeutige Artikelnummer und eine Bezeichnung.
-
Jeder Artikel kann mehrere Informationen haben, wobei jede dieser Informationen auch mehreren Artikeln zugeordnet werden kann.
-
Jeder Artikel kann mehrere Bilder haben, wobei jedes dieser Bilder auch mehreren Artikeln zugeordnet werden kann.
-
Diese Zuordnungen werden eindeutig festgelegt, so dass unter der Artikelnummer und dem Zuordnungstyp auch die passende Information gefunden werden kann.
-
Jeder PLU (Price Look Up)-Nummer des Kunden ist genau einer Artikelnummer zugeordnet. Über sie wird die Verknüpfung des Kundendatenstamms mit dem Content-Datenstamm hergestellt.
-
Jedem Artikel können verschiedene Layouts zugeordnet werden: Hier wird die Zusammensetzung der HTML-Seiten beschrieben.
-
Sowohl die Positionierung der einzelnen Elemente, als auch die Zuordnung zu den einzelnen Informationen und Bildern selbst, wird in den Layouts abgebildet.
-
Zu jedem Datensatz und jeder Datensatzänderung muss der Verfasser und das Änderungsdatum gespeichert werden.
Hinweis: Die genauere Datenanalyse der Kunden ist hier weggelassen, da die Kundenverwaltung eine eigene Datenbank darstellt und hiermit nichts zu tun hat. Lediglich die Schnittstelle zu den PLU-Nummern des Kunden muss vorhanden sein und gegebenenfalls für jeden Neu-Kunden eingepflegt werden.
39
BIZERBA
Erstellung von dynamischen Websites
5.3 Das Entitätsbeziehungsmodell Content
1
1
1
1
2
Informationen
m
5 o
n
m
3
n
4
1
Layout
Artikel n
m
Bilder
o
Informationstyp
Abbildung 6: Beziehungsmodell 1= ist zugeordnet
4= ist zugeordnet
2= beinhaltet
5= ist zugeordnet
3= beinhaltet
5.4 Relationales Datenbankmodell Wird das Entitätsbeziehungsmodell aufgelöst, so entstehen die weiter unten folgenden Tabellen. Unter „Index“ wird dabei angegeben, ob sich um ein Schlüsselfeld handelt oder nicht. PK bezeichnet dabei den Primärschlüssel, FK markiert einen Fremdschlüssel. Unter der Rubrik Datentyp werden die zu verwendenden Datentypen angegeben. Es werden sowohl die verschiedenen Entitäten abgebildet, als auch ihre Beziehungstabellen. Die Datenstruktur ist dabei normalisiert. In jeder Tabelle, ausgenommen den Beziehungstabellen, werden dabei der Bearbeiter und das Datum protokolliert. Dies ist für eine spätere Versionskontrolle notwendig, aber auch um nachzuvollziehen, wer welche Informationen eingepflegt oder verändert hat.
40
Erstellung von dynamischen Websites
BIZERBA
Tabelle: Artikel Index PK
Feldname artikel_id bezeichnung user datum
Datentyp int varchar varchar date
Feldbeschreibung Artikel ID Artikelname Bearbeiter Änderungsdatum
In dieser Tabelle Artikel werden lediglich die Grundinformationen zu jedem Artikel, wie dessen eindeutige Nummer und die Bezeichnung gespeichert.
Tabelle: Informationen Index PK
Feldname info_id kurzinfo langinfo user datum
Datentyp int varchar text varchar date
Feldbeschreibung Informations ID Kurzbeschreibung Informationstext Bearbeiter Änderungsdatum
Hier werden die eigentlichen Informationen gespeichert und mit einer eindeutigen Nummer abgelegt. Es gibt dabei sowohl eine Kurzbeschreibung mit einem aussagekräftiges Suchwort, als auch die Langinformation mit dem eigentlichen Inhalt.
Tabelle: Bilder Index PK
Feldname bild_id kurzinfo bild user datum
Datentyp int varchar image varchar date
Feldbeschreibung Bild ID Kurzbeschreibung Bild Bearbeiter Änderungsdatum
In der Tabelle Bilder werden die digitalen Informationen zu den Artikeln abgelegt. Die Daten werden dabei in ein Datenfeld vom Typ „image“ gespeichert. Hierin können binäre Dateien mit bis zu 2 GB Größe abgelegt werden. Hier können also später nicht nur Bilder, sondern gegebenenfalls auch Videos, etc. abgespeichert werden.
41
Erstellung von dynamischen Websites
BIZERBA
Tabelle: Informationstyp Index PK
Feldname typ_id bezeichnung langbez user datum
Datentyp int varchar text varchar date
Feldbeschreibung Typ ID Typname Längere Beschreibung Bearbeiter Änderungsdatum
In der Informationstyp Tabelle werden die möglichen Angaben zu jedem Artikel abgelegt. Hier steht Beispielweise: id-1 Æ Rezept ; id-2 Æ Nährwerte ; id-3 Æ Herkunft ; id-4 Æ Artikelbild ; id-5 Æ Rezeptbild. In einer noch folgenden Verknüpfung erfolgt dann die Zuordnung zwischen Artikel, Informationstyp und Information. Durch diesen Aufbau können ein und dieselbe Information mehreren Artikeln zugeordnet werden.
Tabelle: Layout Index PK
Feldname layout_id kurzinfo layout user datum
Datentyp int varchar text varchar date
Feldbeschreibung Layout ID Kurzbeschreibung Layout Bearbeiter Änderungsdatum
Diese Entität beschreibt den Aufbau der Informationsseite. Die dynamischen WebSites werden hier im Klartext gespeichert.
Tabelle: Content Index PK
Feldname content_id bezeichnung user datum
Datentyp int varchar varchar date
Feldbeschreibung Content ID Bezeichnung Bearbeiter Änderungsdatum
Die eigentliche Identität die später abgefragt wird. Haupttabelle für die „Contents“.
42
Erstellung von dynamischen Websites
BIZERBA
Zuordnungstabelle: Artikel_bild_typ Index FK FK FK
Feldname artikel_id typ_id bild_id
Datentyp int int int
Feldbeschreibung Artikel ID Typ ID Bild ID
Hier wird die Zuordnung zwischen dem Artikel, dem Bild/Datei oder Video und dem Informationstyp hergestellt.
Zuordnungstabelle: Artikel_information_typ Index FK FK FK
Feldname artikel_id typ_id info_id
Datentyp int int int
Feldbeschreibung Artikel ID Typ ID Info ID
Hier wird die Zuordnung zwischen dem Artikel, der Information und dem Informationstyp hergestellt.
Zuordnungstabelle: Content_layout_plu Index FK FK
Feldname content_id Layout_id Plu_nr
Datentyp int int int
Feldbeschreibung Content ID Layout ID PLU Nr. des Kunden
Dies ist die eigentliche Ausgangstabelle, an die später sämtliche Anfragen vom Webserver gestellt werden. Der Endbenutzer tippt seine PLU Nummer ein und hierüber wird die Verknüpfung zur Content-ID und der Layout-ID hergestellt. Hierüber können dann sämtliche Informationen erfragt werden, da alle Tabellen miteinander verknüpft sind. Sofern die Datenbank für mehrere Kunden gleichzeitig eingesetzt werden soll, muss hier eventuell noch die Spalte „Kunde“ ergänzt werden. Da die Zuordnungen aber sowieso stets „vor Ort“ angepasst werden müssen, ist dies wohl nicht nötig.
43
Erstellung von dynamischen Websites
6.
BIZERBA
Schlussbemerkung
Zusammenfassend betrachtet birgt das „Projekt Contents“ ein sehr großes Potential. Sobald die Daten erst einmal strukturiert vorhanden sind, bietet sich den Außendienstmitarbeitern von Bizerba eine enorme Chance neue Waagen in großer Menge abzusetzen.
Keinem anderen Anbieter auf dem Markt ist es bisher gelungen eine derartige Datenbank aufzubauen und intelligent miteinander zu verknüpfen. Bizerba würde damit ein Alleinstellungsmerkmal erhalten, mit welchem man sich auch in bisher verschlossenen Märkten etablieren könnte. Zwar wird der Aufbau dieser Datenbank sehr viele Ressourcen erfordern, wenn Sie jedoch erst einmal fertig gestellt ist, können die Kosten sehr schnell wieder egalisiert werden.
Die beiden größten Kostenfaktoren sind dabei: -
Beschaffung der Bilder
-
Entwicklung eines für Windows CE geeigneten Webservers
Gelingt es jedoch, diese beiden Punkte zeitnah umzusetzen, so werden sich die Kosten sehr schnell wieder egalisieren. Vor allem auf die Programmierung des Webservers sollte dabei höchste Priorität gesetzt werden, da von dessen Fertigstellung der weitere Erfolg des Projektes abhängt. Zwar können die neu erarbeiteten Contents bisher auch schon angezeigt werden, eine wirklich saubere und einfache Lösung existiert zurzeit aber noch nicht.
Der Aufbau der eigentlichen Datenbank kann etappenweise erfolgen, da ein Vertrieb auch ohne eine vollständige Datenbank möglich wäre. So würde es eben nur nicht für jeden Artikel auch hinterlegte Informationen geben, was aber nicht sehr hinderlich wäre.
45
BIZERBA
Literaturverzeichnis
Literaturverzeichnis: Fachliteratur: Michael und Eva Kolberg
Visual Basic.NET Programmierung, Franzis Verlag, Poing 2002
Oral Avci, Werner Mellis
Web-Programmierung, Vieweg Verlag, 1. Auflage,
(Hrsg.)
Köln 2004
Alfred Hermes
LOG IN, Band: 24/131/1 „Hallo Webserver“, LOG IN Verlag, Berlin 2004
Douglas Boling
Programming Microsoft Windows CE.NET, Microsoft Press, 3rd Edition, USA 2003
Robert Panther
Programmieren mit dem .NET Compact Framework, Franzis Verlag, Poing 2005
CH. J. Goddard, M. White
VBScript Handbuch, Franzis-Verlag GmbH, Feldkirchen 1997
Andreas Meier
Relationale Datenbanken, Springer Verlag, 4. Auflage, Berlin 2001
Alfons Kemper, André Eickler
Datenbanksysteme, Oldenbourg Verlag, 5. Auflage, München 2004
Helen Borrie
The Firebird Book, Apress, 2. Auflage, USA 2004
Günter Matthiessen, Michael
Relationale
Unterstein
Wesley Verlag, 3. Auflage, München 2003
Stephen Genusa
Special Edition Using ISAPI, QUE, Indianapolis
Datenbanken
und
SQL,
Addison-
1997
III
BIZERBA
Literaturverzeichnis
Sonstige Quellen: Microsoft.com –
http://www.microsoft.com/germany/msdn/library/mobility/
Windows Mobile
windowsce/HaeufigGestellteTechnischeFragenZuMicrosoftWindo wsCENET.mspx?mfr=true Stand:20.04.2006
Microsoft.com – Windows CE
http://msdn.microsoft.com/library/default.asp?url=/library/ en-us/wceasp/html/_wcesdk_features_not_supported.asp Stand: 03.05.2006
GoAhead Software Inc.
http://webserver.goahead.com/webserver/wsfeatures.htm Stand: 03.05.2006
DATACOM Buchverlag
http://www.itwissen.info/definition/lexikon/tkendger%E4te/__data%20source_datenquelle.html Stand: 04.05.2006
SQL Anywhere Studio Erste
http://www.ianywhere.com/developer/product_manuals/s
Orientierung
qlanywhere/0902/de/html/dbfgde9/00000097.htm Stand: 09.05.2006
Oracle Database Lite 10g
http://www.oracle.com/technology/products/lite/TWP_Lite
Technical White Paper,
_10gR2.pdf, USA, Mai 2005
Philip Stephenson
Stand: 09.05.2006
Wikipedia.org
http://de.wikipedia.org/wiki/Java_Applet Stand, 15.5.2006
Wikipedia.org
http://de.wikipedia.org/wiki/Normalisierung_%28Datenba nk%29 Stand: 15.5.2006
Microsoft Windows CE 4.2
Microsoft Windows CE 4.2 Documentation, Kapitel
Handbuch
“about”
IV
BIZERBA
Abkürzungsverzeichnis
Abkürzungsverzeichnis:
ADO
Active Data Objects
API
Application Programming Interface
ASP
Active Server Page
BSD
Bizerba Screen Designer
bspw.
Beispielsweise
bzw.
beziehungsweise
CAB
Cabinet File
CGI
Common Gateway Interface
CSS
Cascading Style Sheets
d.h.
das heißt
dll
Dynamic Link Library
etc.
et cetera
HTML
Hypertext Markup Language
HTTP
Hypertext Transfer Protocol
IIS
Internet Information Server
ISAPI
Internet Server API
JDBC
Java Database Connectitity
KD-Seite
Kundenseite
PDA
Personal Digital Assistant
PLU
Price Look Up
S.
Seite
SQL
Structured Query Language
SSL
Secure Socket Layer
SSPI
Security Support Provider Interface
VB.NET
Visual Basic.NET
vgl.
vergleiche
VK-Seite
Verkäuferseite
XML
Extensible Markup Language
z.b.
zum Beispiel
V
Abbildungsverzeichnis
BIZERBA
Abbildungsverzeichnis:
Abbildung 1: Zentralverwaltung der Bizerba GmbH & Co. KG ....................................... 1 Abbildung 2: Drei-Schichten-Architektur, Quelle: LOG IN, S. 26.................................... 8 Abbildung 3: Zusammenspiel der beteiligten Komponenten ........................................ 27 Abbildung 4: Windows CE Platform Builder 4.2............................................................ 29 Abbildung 5: Datenanalyse........................................................................................... 38 Abbildung 6: Beziehungsmodell ................................................................................... 40 Abbildung 7: Bizerba CE-H 800 S .................................................................................IX Abbildung 8: Bizerba WinCWS .......................................................................................X Abbildung 9: Bizerba Screen Designer..........................................................................XI
VII
Abbildungen
BIZERBA
Abbildung 7: Bizerba CE-H 800 S
IX
Abbildungen
Abbildung 8: Bizerba WinCWS X
BIZERBA
Abbildungen
BIZERBA
Abbildung 9: Bizerba Screen Designer
XI
Wissensquellen gewinnbringend nutzen Qualität, Praxisrelevanz und Aktualität zeichnen unsere Studien aus. Wir bieten Ihnen im Auftrag unserer Autorinnen und Autoren Diplom-, Bachelor-, Master-, Magister- und Staatsexamensarbeiten sowie Dissertationen, Habilitationen und andere wissenschaftliche Studien und Forschungsarbeiten zum Kauf an. Die Studien wurden an Universitäten, Fachhochschulen, Akademien oder vergleichbaren Institutionen im In- und Ausland verfasst. Der Notendurchschnitt liegt im Prädikatsbereich bei 1,5. Wettbewerbsvorteile verschaffen – Vergleichen Sie den Preis unserer Studien mit den Honoraren externer Berater. Um dieses Wissen selbst zusammenzutragen, müssten Sie viel Zeit und Geld aufbringen. http://www.diplom.de bietet Ihnen unser vollständiges Lieferprogramm mit mehreren tausend Studien im Internet. Neben dem Online-Katalog und der Online-Suchmaschine für Ihre Recherche steht Ihnen auch eine Online-Bestellfunktion zur Verfügung. Eine inhaltliche Zusammenfassung und ein Inhaltsverzeichnis zu jeder Studie sind im Internet einsehbar. Individueller Service – Für Fragen und Anregungen stehen wir Ihnen gerne zur Verfügung. Wir freuen uns auf eine gute Zusammenarbeit.
Ihr Team der Diplomarbeiten Agentur Diplomica Verlag GmbH Hermannstal 119k 22119 Hamburg Fon 040-655 99 20 Fax 040-655 99 222 agentur@diplom.de www.diplom.de