Home
HÖHERE TECHNISCHE BUNDESLEHRANSTALT Technische
Contents
1. Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 20 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Nun wird Speicher bereitgestellt h allocate je a Sy Weitermachen nicht stoppen synth resume Status des Engines auf ALLOCATED setzen synth waitEngineState Synthesizer ALLOCATED Eigenschaften bearbeiten SynthesizerProperties props synth getSynthesizerProperties Voice myvoice new Voice Microsoft Mike Voice GENDER_MALE Voice AGE_MIDDLE_ADULT null props setVoice myvoice props setVolume 1 0f props setSpeakingRate 170 0 catch Exception el System out println el return synth Bekommt einen bereits allokierten Synthesizer sowie den String welcher gesprochen werden muss public void SpeakString Synthesizer synth String StSpeak try Sprachausgabe des jeweiligen Strings synth speak StSpeak null synth waitEngineState synth QUEUE_EMPTY catch Exception e2 System out println e2 public void CloseSynth Synthesizer synth CEY synth deallocate synth waitEngineState s
2. Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik E3 Projektbezeichnung W PSCAS W P supported catering accounting system ermitteln Dazu w ren nur eine Erweiterung der Auftragtabelle und eine entsprechende Funktion notwendig gewesen Benutzerrechte f r das Webinterface F r das WAPSCAS Webinterface gibt es zur Zeit nur einen Usernamen und ein Passwort d h Koch und Chef des Restaurants haben die gleichen Rechte Dadurch k nnte beispielsweise der Koch auch die Preise der Speisen ndern Verschiedene Benutzerrechte k nnten dies verhindern Tages bzw Jahresstatistik Eine Funktion die alle Bestellungen eines Tages bzw Jahres auswertet und in einer Statistik auflistet k nnte interessant und hilfreich f r die Restaurantbesitzer sein Logistiksystem Onlinebestellung Einer Erweiterung der Speisetabelle oder die Einf hrung einer Bestandstabelle k nnte es erm glichen dass WAPSCAS nach jedem Auftrag berpr ft ob noch gen gend auf Lager ist und ggf eine Online Nachbestellung durchf hrt Mehrfachbestellung Bei der aktuellen Bestellungsaufnahme ist es nur m glich eine Speise nach der anderen zu Bestellen Eine Bestellung von mehreren Produkten gleichzeitig w rde den Bestellvorgang etwas beschleunigen Unbezahlte und aktuelle Auftr ge am Handy Gegenw rtig kann der Kellner nur b
3. NOT NULL fertig BI tisch_ bezahlt BIT PRIMARY KE FOREIGN KE UL nt FAU auft name IH D A P forName driverCla on exc t println exc g 0 LT 0 rag SE REFERENC L ES Speisekarte Ss System exit 1 C S S S S S Anto S Dietmar S H lz S Laus S onnection con tatement stmt con cre tm Kelln tMessage ection url root m ateStatement cu pda tmt tmt tmt nit tm cu cu execu sch xecu def xecu tu xecu ger b execu pda pda pda abc pda KAN pda x teUpdate raimi teUpdate i hsp Speis Auftr Wb oX CT rr cf ins ws ins H Ti ato ich amp VP EF e E tm Tv tmt eg tm NS ne i ns NS 75 85 a 1 Kellner values nu int Kellner values nu into Kellner values nu into Kellner values nu rt into Speisekarte r values Gulasch insert into Speisekart T Ir EL RSR Il Autor Antonitsch Raimund Jahrg Erstellt 10 5 200 1 Version 1 2 Seite 17 5SAHI Ge ndert 15 09 2 006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingers
4. Die Anwendungsgebiete sind reichhaltig von E Mail Systemen bis hin zu Web Pages Beispiel f r JSML lt SENT gt Computers lt EMP gt k nnen lt EMP gt sprechen lt SENT gt Es ist eine hnlichkeit mit HTML Tags ist erkennbar da beide Formate dieselben Vorfahren haben SGML Standard Generalized Markup Language HTML ist spezialisiert f r eine visuelle Darstellung JSML f r Sprachinformationen Sprachwiedergabe mit JSML Source Information Speech Go Text Speech l vor are Abbildung 6 Die Applikation ist daf r verantwortlich dass die Quellinformation entsprechend in JSML Text umgewandelt wird Ein Webbrowser zum Beispiel k nnte die F higkeit erlangen Web Seiten vorzulesen wenn sie dementsprechend in JSML Text konvertiert werden kann Diese w rde eine Umwandlung von HTML Hyper Text Markup Language in JSML darstellen JSML Elemente sind entweder sog Container Objekte 8 St ck oder leere Elemente siehe sp ter Ein Container Element besteht aus einen Start Tag lt SENT gt und einen End Tag lt SENT gt Der Text zwischen Start und End Tag stellt den Container Text dar Der Start Tag definiert das Element und kann auch eines oder mehrere Attribute enthalten Siehe folgendes Bild Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 10 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssing
5. 10 1 230 230 10 1 230 231 10 1 11 105 Abbildung 5 Nach dem Start erscheint dieses Fenster Durch Bet tigung des Check Buttons erscheint die Meldung Server werden berpr ft bitte warten und die berpr fung der Server wird gestartet Besteht eine Netzwerkverbindung zum jeweiligen Server ist die berpr fung nach kurzer Zeit abgeschlossen Der Server wird als aktiv markiert wenn die MySQL Datenbank gestartet ist Besteht jedoch keine Netzwerkverbindung kann die berpr fung bis zu 30 Sekunden pro Server dauern Ein Timeout um diese Zeit zu verk rzen konnte leider nicht gesetzt werden Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 14 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineerin Rei Projektbezeichnung WAP supported catering accounting system 4 WAPSCAS Servercheck lolx 10 1 230 230 10 1 230 231 10 1 11 105 Abbildung 6 4 2 Server Redundanz Nachdem beide Rechner so konfiguriert wurden wie oben erw hnt scheint in der Prozessliste folgendes auf Wal WinMy5S 0L admin 1 0 WinMyS5Qladean Ver 1 0 for Wing5 Wing8 NT SQL Copyright C 1979 1999 TeX AB Monty Program KB _Detton HB Right Click for Menu options tysiem user e on 39 resche master upd tepl AA Birlog Dump 39 Slav
6. Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik E3 Projektbezeichnung W PSCAS W P supported catering accounting system 2 7 Glossar und Index WAP Wireless Application Protocol Online Verbindung Verbindung zum Internet Browser Programm zum Darstellen von Internetseiten Handy Mobiltelefon Milestones Meilensteine best Zeitpunkte Webinterface Benutzerschnittstelle im Browserfenster APACHE Webserver Ein Webserver namens Apache CGI Common gateway interface Perl Spezielle Skript Programmiersprache Java Plattformunabh ngige Programmiersprache 3 Projektdokumentation 3 1 Marktstudie Hierbei wird auf die bereits bestehenden mobilen Bestellsysteme mit deren Vor und Nachteilen in Bezug auf unser Projekt eingegangen Die meisten restlichen Anbieter haben sich dabei auf eine Funkverbindung spezialisiert Gastronomiebestellsysteme dich jedoch die Vorteile und Funktionalit t des Internets verwenden sind relativ selten In den folgenden Bespielen sind kommerzielle Gastronomiebestellsysteme angef hrt 1 Firma Koscheck Automatisierungstechnik http home t online de home koscheck start htm Diese Firma hat ein mobiles Abrechnungssystem entwickelt Dazu geh ren ein drahtloses Ger t und ein sog Ferndrucker Am Ferndrucker ist dann ein Netzwerkanschluss vorhanden der damit mit einem PC verbunden werden k
7. Eingesetzt k nnen ab Internet Explorer 4 0 und Netscape Communicator 4 5 werden Es ist nur wichtig dass die Java Virtual Machine bzw Java Plugin installiert ist Serverprogramme Zu verwenden sind APACHE Webserver der die Verbindung zum WAP Handy herstellt dann ein PERL Interpreter f r die CGl Skript Bearbeitung sowie eine Datenbank wo sich die eigentlichen Daten befinden 2 3 Funktionale Anforderungen 2 3 1 Systemstart 1 Starten des Datenbankservers Der Server PC muss lediglich eingeschaltet werden und startet dann m glichst automatisch die Serverdienste 2 Dateneingabe vom Kunden Bevor das System gestartet werden kann m ssen vom Kunden die oben beschriebenen Daten eingegeben werden Dies sollte ber das Webinterface erfolgen und muss nicht jedes Mal eingegeben werden da sich die Speisekarte nicht st ndig ndert 3 Einwahl mit dem WAP Handy Nachdem das WAP Handy entsprechend konfiguriert wurde kann man sich ins WAP Portal einw hlen Um sich in unser System einloggen zu k nnen muss man anschlie end Benutzername und Kennwort eingeben Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 5 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system 2 3 2 Systembetrieb 1
8. 1 2 Seite 7 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system e Methoden zur Steuerung des Programmablaufs auf der Basis von Nachrichten f r Tastatur Maus und Fensterereignisse e Dialogelemente zur Kommunikation mit dem Anwender und Funktionen zum portablen Design von Dialogboxen e Fortgeschrittenere Grafikfunktionen zur Darstellung und Manipulation von Bitmaps und zur Ausgabe von Sound Da die grafischen F higkeiten Bestandteil der Sprache bzw ihrer Klassenbibliothek sind k nnen sie als portabel angesehen werden Unabh ngig von der Zielplattform wird ein GUI basiertes Programm auf allen verwendeten Systemen gleich oder zumindest hnlich laufen 3 1 2 Replikation in MySQL Seit Version 3 23 15 unterst tzt MySQL Replikation intern Ein Server ist der Master w hrend ein anderer der Slave ist Der Master schreibt alle nderungen Updates Deletes etc die an der Datenbank vorgenommen werden in ein sog binary log Wenn der Slave zum Master verbindet berpr ft der Slave welche Updates seit seiner Abwesenheit durchgef hrt wurden und f hrt sie anschlie end selbst aus 3 2 Grafische Java Applikation Das folgende Programm dient zur berpr fung der Verf gbarkeit von 3 Servern Mit Hilfe des
9. Aufnahme der Bestellung Um mit der Bestellung zu beginnen muss zun chst die Tischnummer am Handy eingeben werden Eine hierarchische Men f hrung am Handy erm glicht danach eine unkomplizierte Bestellung 2 Erfassung der Daten Die vom Handy aus bestellten Getr nke und Speisen werden am PC welcher sich in der K che befindet im Webinterface angezeigt 3 Best tigung der Daten Um dem K chenpersonal eine M glichkeit zu geben seine Arbeit als abgehakt zu markieren kann im Webinterface eine Best tigung erfolgen 4 Abrechnung Nachdem vom Kellner die Tischnummer eingegeben wurde erscheint am Display der Rechnungsbetrag Nach erfolgter Abrechung werden die Bestellungsdaten des jeweiligen Tisches gel scht S mtliche Bestellungen werden zeitgleich mit ihrer Aufnahme in eine Datenbank gespeichert Dies dient der Tages bzw Monatsabrechnung 2 4 Nicht funktionale Anforderungen unkomplizierte und einfache Anwendung Schnelligkeit und Betriebssicherheit An erster Stelle steht die unkomplizierte und einfache Bedienung am WAP Handy sowie am PC Der Benutzer Kellner Koch sollte nicht zuerst ein dickes Handbuch lesen m ssen sondern nach einer kurzen Einschulung f hig sein seine Arbeit zu verrichten Neben Schnelligkeit und Betriebssicherheit sollte auch darauf geachtet werden dass wegen der geringen Gr e des Displays nur soviel Information darauf erscheint wie n tig ist 2 5 Benutzerschnittstelle 2 5 1 WAP
10. mehrere L sungswege durchdacht und schlussendlich mussten wir uns auf einen Weg einigen Die verschiedenen L sungswege beziehen nat rlich auf unsere drei Hauptkomponenten unseres Projektes WAP Handy Browser PC Server PC WAP Handy Der Einsatz eines WAP Handys wurde nicht diskutiert da ein wapf higes Handy sowieso eingesetzt werden muss weil WAP unser Verbindungsmedium Internet ausnutzt Die Bestellungen vorzunehmen mit Hilfe eines WAP Handys erschien uns als sehr hilfreich da die Programmierung von WML Seiten sehr hnlich der HTML Programmierung ist Ein anderer L sungsweg f r die Bestellfunktion oder Bestellaufnahme w rde wom glich per Funk realisiert werden Browser PC Der Browser PC ist auch eine wichtige Hauptkomponente bei der es zuerst zu einigen Unstimmigkeiten bez glich der Programmierung gab Im Browser wird unser Webinterface angezeigt welches aktuelle Bestellungen anzeigt Es wurde auch festgelegt dass die aktuellen Bestellungen in einem Webbrowser angezeigt werden und somit HTML Programmierung von N ten ist Zun chst gingen wir davon aus die Oberfl che im Webinterface nicht auf HTML aufzubauen sondern auf eine JAVA Oberfl che Es wurden auch Versuche damit gemacht doch wir entschieden uns zu HTML zur ckzukehren da eine JAVA Oberfl che nur einen erh hten Ressourcenbedarf erzielen w rde Da nun HTML Programmierung eingesetzt wurde war man in Sachen Layout Eingabeabfragen und weiteren Dingen um ei
11. per Setup Wenn am Browser PC kein Internet Browser installiert ist so ist dies nachzuholen z B MS Internet Explorer 5 5 Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 28 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system Server und JDK Pfade setzen Setzen des Tomcat Home Pfades in der Autoexec bat bei Win2k Umgebungsvariablen die Zeile SET TOMCAT_HOME C tomcat Setzen des JDK Pfades ebenfalls in der Autoexec bat die Zeile SET PATH C JDK1 3 bin Setzen des Pfades f r die Datei Servlet jar wird ben tigt f r JDK um Servlets kompilieren zu k nnen SET CLASSPATH C tomcat web apps ROOT web inf classes Apache Server Konfiguration Das mitgelieferte httpd conf File muss nach C Programme Apache Group Apachel conf kopiert werden Achtung dieses File kann nicht f r Unix Systeme verwendet werden da die Pfadesangaben nicht stimmen Da man nun das Webinterface nach au en hin sch tzen will wird der Zugriff per Login realisiert Es m sse somit Benutzer mit Passw rtern erstellt werden Dazu geht man folgend vor Eine MS DOS Box wird ge ffnet ins C Programme Apache Group Apache bin Verzeichnis muss gewechselt werden Danach wird htpasswd c passwords Benutze
12. tisch_nr n auftrag append lt table gt lt br gt lt br gt n auftrag append lt p gt Markierter Auftrag fertig lt p gt n Best tigungsbutton lt input type submit name Finished value L schen gt lt orm gt n lt body gt n lt html gt return auftrag toString bergabe an Servlet Methoden e getKellnerTable e getSpeiseTable e getSpeiseUpdateTable e getUnbezahlt Diese Funktionen werden aufgrund ihrer hnlichkeit zu getAuftragTable nicht n her erl utert n here Beschreibung gt Javadoc auf Projekt CD Methode updateDB updateDB bekommt ein beliebiges SQL Statement stellt eine Verbindung zur MySQL Datenbank her und f hrt das Update aus Wird bei Dateneingabe Datenmanipulation Abrechnung und Auftragsbest tigung verwendet public static void updateDB String update throws SQLException ClassNotFoundException Class forName driver Connection con DriverManager getConnection url user passwd Verbinden zur DB Statement stmt con createStatement stmt executeUpdate update con close Schlie en der Verbindungen stmt close Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 22 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku Abteilung Elektronik Technische Informatik HTBL Klagenfurt M ssingerstra e NES Projektbezeichnung W PSC
13. 6 1 Probleme bei der Projektentwicklung WAP Dadurch dass unser Server nur im schulinternen Netzwerk und nicht nach au en hin sichtbar war waren die WAP Versuche nur mit einem lokalen Simulator Nokia WAP Toolkit m glich Nach einiger Zeit stellte sich aber heraus dass dieser Simulator oft abst rzte und oft nicht das gewollte Ergebnis lieferte Daher mussten wir einen privaten Server im Internet laufen lassen um die WAP Versuche direkt am WAP Handy ber das WAP Gateway zu testen Testl ufe am Handy waren daher nur au erhalb der Unterrichtszeit m glich Getrennte Arbeitspl tze Ein kleineres Problem waren die getrennten Arbeitspl tze Dadurch dass jeder von uns einen Wechselrahmen ben tigte und nicht jeder Rechner einen Einschub daf r hatte war es n tig getrennte Labors aufzusuchen Eine Kommunikation w hrend der Entwicklung war daher nur erschwert m glich LINUX Einer unserer Rechner lief unter LINUX Da dieses Betriebssystem etwas schwieriger zu konfigurieren ist gab es fters kleinere Probleme die jedoch innerhalb kurzer Zeit von unserem Projektbetreuer gel st wurden 6 2 Erweiterungsm glichkeiten Kellner des Tages Eine Erweiterung die bereits gedanklich geplant war ist die Funktion Kellner des Tages Diese Funktion soll es erm glichen am Ende eines Tages den Kellner mit den meisten Bestellungen zu Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 40
14. Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen 3 2 2 Real Die JAVA Sourcefiles k nnen mit diesem Programm erstellt und editiert werden Eine bessere bersicht und Verwaltung der einzelnen Sourcedateien kann durch Einsatz eines sog Projektes im RealJ erzielt werden Es wird auch die M glichkeit geboten die JAVA Dateien ohne die oben beschriebenen Kommandobefehle zu kompilieren Der gr te Vorteil gegen ber einem anderen einfacheren Editor ist jedoch dass die Zeilen und Spalten im Source Code angezeigt werden Fehler zu korrigieren ist dadurch bei weitem einfacher 3 2 3 JAVA Speech APIs JSAPIs Der Standard JAVA Speech wurde von Sun Mircosystems und vielen anderen Firmen entwickelt und verbessert Die Spezifikation dazu wurde von Sun herausgegeben F r die Implementation einer API f hlte sich Sun nicht verantwortlich Zitat auf der Sun Homepage The Java Speech API JSAPI is not part of the JDK and Sun does not ship an implementation of JSAPI Instead we work with third party speech companies to encourage the availability of multiple implementations Angeboten werden verschiedene Implementationen siehe Punkt 2 6 der JSAPI Es wird nun auf diese ein wenig genauer eingegangen 3 2 3 1 IBM s Speech for JAVA Details siehe 2 IBM hat eine Implementation der JSAPI ver ffentlicht Das angebotene Produkt basiert au
15. Datei Wapscas java mit einen Texteditor ffnen und die Variable Server auf die vom Internetprovider zugewiesene IP Adresse ndern MS DOS Eingabeaufforderung ffnen und winipcfg eingeben unter Win2k MS DOS Box ffnen und ipconfig eingeben Der Wert f r den Port muss nicht ver ndert werden au er es befindet sich bereits an andere Anwendung am jeweiligen Port 9080 f r Apache und 8080 f r Tomcat Server Danach ist die Datei Wapscas java mit dem Konsolenbefehl javac Wapscas java zu kompilieren 5 2 Bedienungsanleitung f r das Webinterface Nach Befolgung der oberen Punkte sollte unser System bereits einsatzf hig sein Nun muss folgend vorgegangen werden um das System nutzen zu k nnen Zu aller erst m ssen ein paar Daten per Webinterface eingegeben werden Dies kann entweder am Server oder am Browser PC erfolgen Ein Internet Explorer Fenster ffnen Die Adresse http localhost 9080 webinterface oder http IP Adresse des Servers 9080 webinterface eingeben Der folgende Bildschirm erscheint Datei Bearbeten Ansicht Eavorten Extras 2 D e Gbale e Eed IE AO E A Adresse e Owechsain zu Willkommen auf 212 186 44 92 9080 beim WAPSCAS Webinterface Abbildung 12 Nun muss auf zum Webinterface geklickt werden Darauf hin kommt ein Loginfenster zum Vorschein N Ku Geben Sie Benutzernamen und Kennwort ein Site 212 186 44 92 Bereich Wapscas Webinterface Benutzername Kennwort
16. Dateneingabe Datenmanipulation Kellnerlogin Bestellung Abrechnung Auftragsausgabe Dieser Funktionsablauf soll zeigen wie WAPSCAS diese 6 Funktionen abarbeitet 4 1 1 1 Dateneingabe Bevor WAPSCAS betriebsbereit ist ist es notwendig die MySQL Datenbank mit Daten zu f hlen Zu diesen Daten z hlen zun chst die Kellnerdaten Vorname Nachnahme Passwort und die Speisekarte Name Art Preis Die Eingabe der Daten erfolgt ausschlie lich im Webinterface Neue Kellner eintragen Speisekarte eintragen Webinterface kellnereingabe html speisekarteeintragen html PA NewKellner NewSpeise Funktion in Hauptklasse Wapscas updateDB Webinterface Weiterleitung an aktuelle Kellnerliste Abbildung 6 Weiterleitung an aktuelle Speisekarte Eingabe der Kellnerdaten ber den Men punkt Neue Kellner eintragen gelangt man zum Eingabeformular kellnereingabe html Nachdem die Daten eingetragen wurden startet der Benutzer mit dem Eintragen Button das NewKellner Servlet NewKellner java Dieses Servlet wiederum startet Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 16 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e NES Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P suppo
17. Grammar Format Specification http java sun com products java media speech forDevelopers JSGF index html 2 IBM s Speech for JAVA API http www alphaworks ibm com tech speech 3 Jesse Petersons JAVA Speech API http www jpeterson com rnd 4 The Cloudgarden JAVA Speech API http www cloudgarden com 5 Microsoft Speech net Technologies http www microsoft com speech 6 Implementation von Eric Hambuch http www stud fernuni hagen de g3988600 java javaspeech html 7 Java Speech API Programmer s Guide in ausgedruckter Form http java sun com products java media speech forDevelopers jsapi guide index html 8 Java Speech Markup Language Specification in ausgedruckter Form http java sun com products java media speech forDevelopers JSML index html 9 GotoJava 2 lokal in HTML Form http www javabuch de Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 28 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc
18. Handy Am WAP Handy erfolgt die Bestellung Die Men f hrung sollte so ausgerichtet sein dass der Kellner die Getr nke und Speisen m glichst schnell ausw hlen kann Nach erfolgter Eingabe muss anschlie end die Bestellung best tigt werden 2 5 2 Webinterface Die aufgenommene Bestellung wird in der K che bzw Bar am Webinterface immer wieder automatische Aktualisierung der Seite angezeigt bersichtlichkeit und eine einfache Bedienung stehen dabei an erster Stelle Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 6 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system HTBL Klagenfurt M ssingerstra e Gel 2 5 3 Flussdiagramm f r Funktionsabl ufe WAP Handy mit WML Browser eet Anmeldung Verbindungsaufbau Verbindungsaufbau Kellner Passwort Kellner Passwort Bestellung Bestellung Tisch Getr nke Tisch Getr nke Speisen Best tigung Speisen Best tigung der Bestellung H der Bestellung Apache WAT Server Anmeldung Kellnerabfrage Bestellungs abfrage 7 E E Erneute Anmeldung w Verbindungsaufbau P Kellnerabfrage Anmeldung Kellner Fassweort i Abrechnung Ab
19. Moment nie mit Bestimmtheit gesagt werden konnte ob die generierte WAP Seite auch fehlerfrei ist Die Testf lle wurden nun die meiste Zeit online durchgef hrt Das heisst die Server Client Kommunikation sowie die Miteinbeziehung des WAP Handys lief nur mit einer Onlineverbindung Das Testen wurden dann zu einem erweiterten Debugging umgewandelt doch man versteckte Fehler nur durch vieles und unterschiedliches Testen entdecken kann Wenn nun Fehler auftraten so wurde sofort an deren Behebung gearbeitet Bugs beseitigen Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 27 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system 4 5 Wartung Bestellungen die einmal aufgenommen wurden werden nicht aus der Datenbank entfernt wenn sie fertig oder bezahlt sind Sie werden nur als fertig bzw bezahlt markiert und scheinen daher nirgends mehr auf Damit die Auftragstabelle nicht immer gr er wird wurde eine kleine Wartungsfunktion geschrieben die vom Webinterface aus gestartet werden kann import java io import java sql import javax servlet import javax servlet http public class AuftragReset extends HttpServlet public void doGet HttpServletRequest request Http
20. Speech API Da es m glich ist das Sprachinterface mit anderen JAVA Applikationen in Verbindung zu bringen ergeben sich folgende Ziele Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 4 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Plattform bergreifende Sprachwiedergabe und Erkennung per JNI JAVA Native Interface Integration von anderen JAVA Media APIs Einfachheit Verbesserung der Nat rlichkeit durch eine eigens geschaffene Sprache JSML siehe sp ter 2 4 JAVA Applikationen mit Sprachunterst tzung Da JAVA folgende Eigenschaften enth lt werden diese auch an sprachunterst tzte Applikationen weitergegeben Portabilit t der APIs JAVA Virtual Machines sind f r nahezu jede Hardware und Betriebssystemkonfiguration erh ltlich Objektorientierte Programmierung Sicherheit in Zusammenhang mit Netzwerken Synchronisation mit anderen JAVA Objekten JAVA AWT 2 5 Anwendungsgebiete f r Sprachunterst tzung Sprachtechnologie erm glicht eine weitere Interaktion zwischen Mensch und PC Da oftmals die H nde f r andere Aufgaben frei sein m ssen kommen Applikationen mit Sprachunterst tzung gerade recht Sprachwiedergabe und Erkennung kann au
21. T Dieses Kennwort in der Kennwortliste speichern Abbildung 13 Nun muss der Benutzername und das Kennwort eingegeben werden Zur Einrichtung individueller Benutzernamen und Passwort siehe Konfigurieren des Apache Webservers Daraufhin erscheint das Webinterface welches nun einsatzbereit ist Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 30 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e vi Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system Datei Bearbeiten Ansicht Eavoriten Extras 272 EE E EE EE Adresse Je http 212 186 44 92 9080 webinterface D Wechseln zu y WE PSCAS Webinterface S ZurAuswahl Neue Kellnereintragen eiten n p der Datenbank generiert werden Kellner arzeigen binterface ist im unter www wapscas at tt abrufbar owie d Tischabrechnung 4 Wes zum W r nierlace last update Mittwo Abbildung 14 Das Webinterface ist soweit fertig eingerichtet doch man will nat rlich auch das WAP Handy nutzen Um dies tun zu k nnen muss noch folgende Punkte befolgt werden Da man sich am WAP Interface ebenfalls einloggen muss sind Kellner einzutragen Kellnervor und Nachname und ein Passwort muss dazu vergeben werden Zu Beachten ist dass das Passwort best tigt werden muss zwe
22. die Tischnummer als erstes die Bestellung an sich als zweites und die Anzahl als letztes eingegeben werden Zur Bestellung bleibt zu sagen dass die einzelnen Eintr ge der Speisekarte hierarchisch gegliedert sind siehe linkes Bild Danach kann Senden oder Zur ck gew hlt werden Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 35 Hafner Dietmar 5SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku Projektbezeichnung W PSCAS W P supported catering accounting system HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik Abbildung 22 Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 36 Hafner Dietmar 5AHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Nr J Abteilung Elektronik Technische Informatik EI Projektbezeichnung W PSCAS W P supported catering accounting system Zu guter letzt wird noch die Abrechnung am Handy beschrieben Dazu muss man sich im Hauptmen befinden und Abrechnung w hlen Die Tischnummer muss eingegeben werden und danach Abrechnen ausgew hlt werden Nach ein paar Sekunden erscheint der Rechnungsbetrag am Handy Abbildung 23 5 4 M gliche Fehlermeldungen Web und WAP Interface 5 4 1 Webinterface Da im Webinterface sehr vi
23. gebaut der gesprochen wird auftrag append lt emp gt Anzahl lt break size large gt anzahl lt break size large gt Name lt break size large gt name lt preak size large gt Tisch lt break size large gt tisch_nr lt emp gt System out println anzahl name tisch_nr System out println Daten von der Datenbank erfolgreich erhalten return auftrag toString catch ClassNotFoundException cnfe System out println cnfe return null catch SQLException se System out println se return null 4 4 Ressourcenbedarf Es werden zun chst Hardwareressourcen vorrausgesetzt um JAVA Speech berhaupt nutzen zu k nnen siehe Punkt 2 7 In weiterer Folge ist jedoch auch die Auslastung in Sachen Speicher und Prozessor interessant Mit dem Systemmonitor wurden ein paar Versuche durchgef hrt und es zeigt sich dass beim Laden des JAVA Programms die Speicherauslagerung um 6MB anstieg Wird nun f r diese Sprach Engine Speicher reserviert so werden insgesamt 20 MB angebraucht Dies ist rein zur dynamischen Sprachwiedergabe Die Prozessorauslastung wurde ebenfalls betrachtet PC System mit 1000MHz Man kann sagen das kein Unterschied zu sehen war ob nun gesprochen wurde oder nicht 3 5 Schwankungen erkennbar F r die Initialisierung der Anwendung werden 20 Prozessorauslastung verwendet 5 Schlussfolgerungen Bei der Programmerstellung kam es z
24. genauer beschrieben Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 11 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Element Element Element Element Funktion Name Typ Beschreibung Container Legt fest dass der Text innerhalb des Containers ein PARA Paragraph ist Struktur SENT Container Legt fest dass der Text innerhalb des Containers ein Satz ist SAYAS Sonne Legt fest wie der Text zu sprechen ist EMP Beides Legt fest wie der Text betont werden muss Produktion BREAK Empty Legt eine Pause fest Ce Legt satzrhythmische Eigenschaften fest wie die PROS grundlegende Tonh he Volumen f r den Text innerhalb des Containers MARKER L st etwas aus wenn die Sprache diesen Punkt Empty S erreicht Miscellaneous ENGINE Container Instruktionen f r einen bestimmten Sprach Synthesizer Es werden nun nur die wichtigsten bzw interessant erscheinenden Elemente beschrieben 2 8 2 1 SAYAS Element Ist ein wichtiges Element da damit festgelegt werden kann wie ein Text zu sprechen ist Es gibt wieder Attribute zu diesem Element wie SUB CLASS PHON und MARK SUB Ist f r Ersatz von Abk rzungen zu gebrauchen Autor Dietmar Jahrg Erstellt 19 05 2001 Ve
25. i Die Seite kann nicht angezeigt Wollnter face werden Abbildung 24 Fehlerursache Tomcat Server ist nicht gestartet Onlineverbindung ist in dem Moment ausgefallen Fehlerbehebung Tomcat Server starten Webinterface auf einen anderen internetf higen PC ausf hren Nun wird auf die clientseitigen Fehler eingegangen die beim Dateneintragen auftreten k nnen Die Fehlerabfragen wurden mit JavaScript realisiert Beginnen wir mit dem Kellner eintragen Es muss in jedes Eingabefeld etwas eingetragen werden Vor Nachname sowie 2 mal das Passwort Die L nge wird von der HTML Seite her bestimmt Ansonsten k nnte es zu folgender Fehlermeldung kommen A Fehler Keinen Vornamen eingeben Abbildung 25 Bei der Speisekarte k nnen dieselben Fehler auftreten Auch hier m ssen Daten eingetragen werden Es ist zu beachten dass der Preis nat rlich eine Zahl sein muss Auch das wurde gel st AN Fehler Preis istkeine Zahl Abbildung 26 Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 38 Hafner Dietmar 5AHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e NES Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system Bei Speisekarte updaten k nnte es auch einen Fehler geben wenn man bei der Preisver nderung z B keine Za
26. ist es schwierig sich Men punkte zu merken Sprachbefehle anzuwenden ist um einiges flexibler da sie einfacher zu merken sind Mittlerweilen gibt es Diktier oder Spracherkennungsprogramme die mehr als 100 W rter pro Minute erkennen und eine Erkennungsrate von bis zu 95 aufweisen Diese Werte bersteigen die Tipp F higkeiten der meisten Anwender Sprachwiedergabe kann Vorteile bei der Korrektur von Texten bieten Fehler werden einfacher erkannt wenn ein Text vorgelesen wird anstatt ihn am PC durchzulesen Auch Hintergrund Aktionen wie Statusberichte von Peripherieger ten k nnen wiedergegeben werden und bringen den Anwender nicht aus der Konzentration Es gibt bereits Anwendungen mit Sprachwiedergabe Dabei wird die Sprachausgabe aber nicht dynamisch erzeugt d h es sind die Ausgaben aufgezeichnet und belegen dadurch sehr viel Speicherplatz Der Unterschiede zwischen dynamisch erzeugter Ausgabe und voraufgezeichneten liegt bei 1 1000 bezogen auf den Speicherplatz Ein weiteres Anwendungsbeispiel f r Sprachbefehlsverarbeitung w re ein Operationssaal wo der Chirurg keine Tastatur bedienen kann da es ein hygienisches Risiko darstellt Die Befehle zu sprechen hingegen stellt kein Problem dar 2 5 2 Telefonsysteme Remote Abfragen stellen auch einen wichtigen Teil bei der Telephonie dar Es gibt bereits Systeme wo Daten per Telefonh rer abgefragt werden k nnen Hier findet die JAVA Speech API ebenfalls ein Anwendungsgebi
27. ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen 1 Aufgabenstellung Als Erweiterung zum bestehenden Projekt in dem Unterrichtsfach Labor sollte eine Client Serveranwendung zur akustischen Ein Ausgabe am Webclient realisiert werden Es ist nun zu analysieren welche Sprachmodelle verwendetet werden k nnen und wie hoch der Ressourcen Bedarf ist Wie k nnen die Systeme parametrisiert werden und wie hoch liegt der Aufwand bei der Erstinstallation 1 1 Beschreibung der Grundlagen der Diplomarbeit Grunds tzlich geht es darum zus tzlich zur Auftragsanzeige im Webinterface eine akustische Erg nzung zu erschaffen Diese sollte die aktuellen Auftr ge die vom Kellner per WAP Handy bestellt wurden in Sprache umsetzen und mit Hilfe von Lautsprechern wiedergeben Da nun das K chenpersonal bereits die M glichkeit hat erf llte Auftr ge zu l schen tritt dabei eine Spracherkennung in Kraft die Sprachbefehle verarbeiten kann und die erf llten Auftr ge l scht Folgender Nutzen sollte dadurch erzielt werden Flexiblere Arbeitst tigkeit f r das K chenpersonal Wegersparnis PC K chenger t da die Audioger te nicht direkt am PC angebracht sein m ssen Weiters gilt es festzuhalten wie hoch der Ressourcenbedarf bei solc
28. ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e a Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system Servlet am Master Server Da WAPSCAS Servlets verwendet w re es naheliegend ein Servlet f r die Serverwahl du verwenden Dieses k nnte direkt vom Webinterface aus gestartet werden und m sste nicht wie bei der 1 Variante ber Sockets mit dem Master Server kommunizieren 2 2 3 Manuelle direkte berpr fung Die am einfachsten zu realisierende Methode ist die manuelle direkte Serverpr fung Eine Java Applikation wird am K chen PC Client gestartet berpr ft die Server und zeigt anschlie end die aktiven Server an Mit dieser Information kann der Benutzer mit Hilfe von Bookmarks den Server ausw hlen Am Handy findet die berpr fung mit Hilfe eines Servlets statt Der Kellner kann mit Bookmarks den Server w hlen und bekommt je nachdem ob der Server aktiv ist oder nicht eine Best tigungs bzw Fehlermeldung zur ck 2 3 Redundanz der Server Um die Redundanz der Server zu gew hrleisten werden nun folgende 2 M glichkeiten daf r n her beschrieben 2 3 1 Applikationsgest tzt Jeder DB Server hat eigene Applikation 2 oder mehrere Applikationen auf jeweils einem Rechner kommunizieren miteinander und sorgen f r Redundanz Applikation auf Master Server Eine Applikation auf nur einem
29. 12 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system Si e Hinzuf gen der folgenden Zeilen in my ini am Slave mysqld master host 10 1 230 231 master user repl master password repl master connect retry 1 server id 2 e Snapshot des Masters auf Slave kopieren e Slave neu starten Mit dieser Konfiguration ist nun ein Rechner der Master und der andere der Slave Wird also am Slave ein Update durchgef hrt so ndert sich dadurch am Master nichts Um nun Updates in beide Richtungen zu gew hrleisten werden beide Rechner so konfiguriert dass jeder von ihnen Slave und Master zugleich ist master connect retry Anzahl der Sekunden die der Slave wartet bevor er versucht eine erneute Verbindung aufzubauen im Falle eines Masterabsturzes 4 Ergebnisse 4 1 Java Applikation Gestartet wird das Programm in der Console Java ServerCheck Autor Antonitsch Jahrg Erstellt 10 5 2001 Raimund Version 1 2 Seite 13 SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Ke Projektbezeichnung WAP supported catering accounting system E WAPSCAS Servercheck
30. 4 2001 Version 1 3 Seite 10 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e de Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system bestimmte Befehle und die Formatierung Ein Nachteil von diesem WML Editor ist das die WML Seiten nicht richtig simuliert werden Man kann davon ausgehen das eine erstellte WML Seite welche mit dem Simulator betrachtet wird von einer auf einen wapf higen Handy dargestellten Seiten abweichen wird ararg mengs Ben 2 Abbildung 3 Apache WebServer http www apache org Diese Software ist einer der verbreitesten Webserver der heutigen Zeit Nahezu 65 aller weltweit eingesetzten Webserver basieren auf dem Apache Webserver Ein Webserver ist ein Programm mit dem es erm glicht wird Internetseiten oder sog URLs entweder in einen Dateinamen umzuwandeln und diese Datei per Internet an den Benutzer der diese Seite angefordert hat zur ckzuschicken Weiters kann die URL auch eine Programmnamen umwandeln und z B das Ergebnis an den Benutzer zur ckschicken Erwartungen an einen Webserver e Schnelligkeit Verarbeitung von vielen Anfragen e Multitasking Verarbeitung mehrer Anfragen zugleich e Fehlerbehandlung Bestimmte Fehler anzeigen e Authentifizierung Zugriffsbeschr nkungen erstellen e Sicherheit Geg
31. 80C8B90EOC 000021EC5323 TCP DP 1039 SP 3306 SEQ 310272 ACK 82154196 LEN 1460 WIN 8723 D 6 063163 78 0080C8B90E0OC 000021EC5323 TCP DP 1039 SP 3306 SCH 311732 ACK 82154196 Ee 20 HIN 8723 PSH D7 6 066000 64 0O00021EC5323 0080C8B90E0C TCP DP 3306 SP 1039 ae D 6 068000 64 000021EC5323 0080C8B90E0C TCP DP 3306 SP 1039 3 br 5 12870 Ke TT 7 JE D 6 TCP DP TOP DP v gt GR Total Packet Length 1026 bytes Ei Packet Id 33547 Flags 0x2 Fragment Offset 0 Time To Live 128 s KS Protocol ID ior ntr Prot l Checksun g 0x921 Source Address 10 1 0 2 Destination Address 10 1 0 No IP Optior 6 hutes ASCII EEE 00 21 EC 53 23 08 00 45 00 3823 40 00 80 06 92 1A DA 01 E6 E6 DA 01 E7 OC EA 04 OF 00 04 AC BE 04 ES 92 D4 50 18 13 6B 1C 00 83 00 00 31 C7 Oper 02 00 00 00 32 00 00 00 00 00 00 00EO DOFO ninn r _INTFAFP MOT N 20 AF Abbildung 8 Der Master sendet das erste Packet von Port 3306 zum Slave auf Port 1039 Nach 1 5 Packet en sendet der Slave eine Art Acknowledge immer 64Byte lang von Port 1039 zum Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 18 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system Master auf Port 3306 E
32. AS W P supported catering accounting system Methode calculate Diese Funktion rechnet alle Auftr ge eines Tisches zusammen markiert anschlie end die Auftr ge als bezahlt und liefert den Gesamtbetrag zur ck Falls der Koch einmal auf die Auftragsbest tigung vergisst wird hier der Auftrag auch gleichzeitig als fertig markiert public static int calculate String tisch_nr throws SQLException ClassNotFoundException int betrag 0 Diese Query liefert Preis und Anzahl der Auftr ge die auf einer best Tischnummer noch unbezahlt sind zur ck String query SELECT preis anzahl FROM Speisekarte Auftrag WHERE Speisekarte name Auftrag name AND Auftrag tisch_nr tisch_nr AND Auftrag bezahlt 0 Markiert die Auftr ge als bezahlt String updatel UPDATE Auftrag SET fertig 1 WHERE tisch_nr tisch_nr AND bezahlt 0 Markiert die Auftr ge als fertig String update2 UPDATE Auftrag SET bezahlt 1 WHERE tisch_nr tisch_nr AND bezahlt 0 ResultSet rs getResultSet query while rs next Berechnung betrag betrag rs getInt preis rs getInt anzahl updateDB updatel bezahlt updateDB update2 fertig return betrag Methode checkKellner Die Methode checkKellner bekommt Kellnernummer und Passwort von einer WML Form berpr ft ob diese Werte mit der DB bereinstimmen und gibt true b
33. AWT Abstract Windows Toolkit von Java wird zun chst eine grafische Oberfl che aufgebaut Diese grafische Oberfl che enth lt die IP Adressen der zu berpr fenden Server und 2 Buttons Einer zum Starten der berpr fung und einer zum Beenden des Programmes Die Methode actionPerformed reagiert auf den Check bzw Beenden Button und beendet das Programm oder startet die berpr fung import java awt import java awt event import java sql import java net public class ServerCheck extends Frame implements ActionListener String driver org gjt mm mysql Driver MySQL JDBC Treiber String serverlurl jdbc mysql 10 1 230 230 WAPSCAS String server2url jdbc mysql 10 1 230 231 WAPSCAS String server3url jdbc mysql 10 1 11 105 WAPSCAS String serverluser root MySQL Benutzernam String server2user root String server3user root String serverlpasswd MySQOL Passwort String server2passwd Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 8 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system Si String server3passwd TextField serverl server2 server3 Label serverlaktiv server2aktiv server3aktiv checkS
34. Adresse 140 90 drawString Status 260 90 drawString Serverl 60 120 g drawString Server2 60 170 g drawString Server3 60 220 OO 0 Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Raimund Seite 9 SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc Abteilung Elektronik Technische Informatik amp Internet Engineering HTBL Klagenfurt M ssingerstra e Projektbezeichnung WAP supported catering accounting system Si public void actionPerformed ActionEvent event String cmd if event getActionCommand il cmd equals Beenden setVisible false dispose System exit 0 if cmd equals Check remove serverlaktiv Falls aktiv gt entfernen remove server2aktiv remove server3aktiv add checkStatus berpr fungsmeldung if CheckServer serverlurl serverluser serverlpasswd System out println Server 10 1 230 230 ist betriebsbereit add serverlaktiv else System out println Server 10 1 230 230 ist NICHT betriebsbereit remove serverlaktiv if CheckServer server2url server2user server2passwd System out println Server 10 1 230 231 ist betriebsbereit add server2aktiv else System out println Server 10 1 230 231 ist NICHT betriebsbereit remove server2aktiv if CheckServer server3url serve
35. DB insert out println Wapscas headWithTitle Kellnereingabe out printlin lt body onload Down gt out printlin lt script language JavaScript sre Wapscas server Wapscas portl webinterface delayk js type text javascript gt lt script gt lt h3 gt Ihr neuer Kellner wurde erfolgreich eingetragen lt h3 gt n lt body gt lt html gt catch SOLException se out println SOLException se getMessage catch ClassNotFoundException cnfe out println Fehler cnfe getMessage Servlet ShowKellner Dieses Servlet liefert die eingetragenen Kellnern mit einer Funktion zum L schen zur ck Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 25 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system import java io import java sql import javax servlet import javax servlet http public class ShowKellner extends HttpServlet public void doGet HttpServletRequest request HttpServletResponse response throws ServletException IOException d response setContentType text html PrintWriter out response getWriter Ausgabe festlegen try out println Wapscas headWithTitle Eingetr
36. Funktion getKellnerTable in der Hauptklasse Wapscas getKellnerTable Anschlie end erscheint im Webinterface die aktuelle Kellnerliste Jeder Kellnereintrag l sst sich ber ein Radiobutton ausw hlen Nachdem ein Kellner ausgew hlt wurde kann der Benutzer mit dem L schen Button das DeleteKellner Servlet starten Dieses wiederum startet die Funktion updateDB in der Hauptklasse welche den Kellner aus der Datenbank entfernt Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 17 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system Speise Getr nk entfernen Unter dem Men punkt Speisekarte anzeigen wird das ShowSpeisekarte Servlet gestartet Dieses Servlet startet die Funktion getSpeiseTable Anschlie end erscheint die aktuelle Speisekarte im Webinterface Mit den Radiobuttons kann man die zu l schende Speise ausw hlen und mit dem L schen Button aus der Datenbank entfernen Speisekarte updaten Will der Benutzer nun den Preis einer Speise bzw Getr nkes ndern kann er dies unter dem Men punkt Speisekarte updaten tun Das ShowUpdateSpeise Servlet liefert dem Webinterface mit Hilfe der Hauptklassenfunktion getSpeiseUpdateTable die aktuelle Speisekarte zu
37. H HERE TECHNISCHE BUNDESLEHRANSTALT Klagenfurt M ssingerstrasse Abteilung ELEKTRONIK Ausbildungsschwerpunkt Technische Informatik Technische Informatik Unterrichtsprojekt be WAPSCAS W P unterst tztes Gastronomie Abrechnungssystem Wireless application protocol supported catering accounting system von Antonitsch Raimund Hafner Dietmar Projektbetreuer G nter H lzl Johann Voglgruber Klagenfurt am 09 05 2001 HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system Inhaltsverzeichnis 1 Kurzbeschreibung des Projektes 20000002000000000200nssnenonssnennontsnssonsosennsnsnnroneronssonsensnsnnennennonennn 3 1 1 Englische Beschreibung eaensiiensseetetne ee henesnlinattnserckrenerehhegenrerreerag E E ERE 3 1 2 Erreichte Spezafkatponen s iisiinennciigsiesseisyiitsesesr iieiea ssiri oaeee aeia seii E si 3 1 3 Abweichung vomi Pflichtenheft r 220er nee 3 2 Bflichtenheft 22 22 seien EEE EEEE E a E EE E E TR ne 4 2 1 Aufgabenstellung wesen anne nen allen 4 2 2 Systemeinsatz und Systemumgebung u 24422420usseenrsnnennenennennennnsnensennonnnnnnnnnnennennsnensennn nennen 4 2 3 Funktionale Antorderungen siisii snrresirisioseeistesiesshossiecsne eierens ensasi nonion b kedise kekeri ise eeose i i 5 2 3 1 KU E 5 2 3 2 KU TE EE 6 2 4 Nic
38. Rechner Master Server kommuniziert mit 2 oder mehreren Datenbanken und gew hrleistet Redundanz F llt dieser Server aus gibt es keine Redundanz Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 6 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineerin Rei Projektbezeichnung WAP supported catering accounting system Applikation Applikation Master Server Applikation Abbildung 3 2 3 2 Datenbankseitig Eine bereits integrierte Funktionalit t der Datenbank sorgt daf r dass 2 oder mehrere Datenbanken die gleichen Daten enthalten Abbildung 4 3 Praktische Umsetzung 3 1 Allgemeines 3 1 1 Java AWT Abstract Window Toolkit Im Gegensatz zu den meisten anderen Programmiersprachen wurde Java von Anfang an mit dem Anspruch entwickelt ein vielseitiges aber einfach zu bedienendes System f r die Gestaltung grafischer Oberfl chen zur Verf gung zu stellen Das Resultat dieser Bem hungen steht seit dem JDK 1 0 als Grafikbibliothek unter dem Namen Abstract Windowing Toolkit AWT zur Verf gung Die F higkeiten des AWT lassen sich grob in vier Gruppen unterteilen e Grafische Primitivoperationen zum Zeichnen von Linien oder F llen von Fl chen und zur Ausgabe von Text Autor Antonitsch Jahrg Erstellt 10 5 2001 Version
39. ServletResponse response throws ServletException IOException String reset DELETE FROM Auftrag l scht alle Eintr ge response setContentType text html PrintWriter out response getWriter try Wapscas updateDB reset out println Wapscas headWithTitle Aktuelle Auftr ge out printlin lt br gt lt h1 gt Die Auftragstabelle wurde zur ckgesetzt lt hl gt n lt body gt lt html gt catch SQLException se out println Ein Fehler ist aufgetreten se getMessage catch ClassNotFoundException cnfe out println Ein Fehler ist aufgetreten cnfe getMessage 5 Benutzerdokumentation Die Benutzerdokumentation sollte dazu dienen dem User m glichst einfach zu erkl ren wie unser System zu installieren bzw wie es in Betrieb genommen werden kann Hardware und Softwareressourcen Server PC Windows oder Unix PC Onlineverbindung mit statischer IP Adresse gen gend Prozessorleistung f r JAVA unsere Softwarepakete Browser PC Windows oder Unix PC ebenfalls eine Onlineverbindung Webbrowser WAP Handy GSM Mobiltelefon welches W AP unterst tzt 5 1 Installation und Konfiguration f r Win32 Systeme Der erste Schritt ist unsere verwendeten Softwarepakete am Server PC zu installieren Dazu geh ren der Apache Webserver Installationshinweise befolgen der Tomcat Server siehe mitgelieferte Readme Datei MySQL Datenbank per Setup und Java Developer Kit
40. Speech API erm glicht Applets ber das Internet oder Intranet zu bertragen welche dem Anwender PC Sprachf higkeiten verleiht Zum Beispiel k nnen Internet Seiten nun beim Surfen vorgelesen werden anstatt sie zu lesen Spracherkennung kann wiederum den Internetbrowser Sprachbefehle vermitteln und verbessert dadurch das WWW Sprachwiedergabe kann auch hier als Statuswiedergabe eingesetzt werden Z B Status von Downloads oder vom Status des Seitenaufbaus Die JAVA Speech API Sicherheitseigenschaften legen auch fest dass Applets dem Client nicht seine Ressourcen wegfressen d rfen oder gar den PC zum Absturz bringen Es k nnen auch Abfragen angebracht werden bevor z B ein Spracherkennungsapplets initialisiert wird ob der Benutzer dies w nscht und gen gend Ressourcen zur Verf gung hat 2 6 Implementationen Die JAVA Speech API wurde von mehreren Firmen entwickelt Folgende Firmen waren daran beteiligt Apple Computers AT amp T Dragon Systems IBM Coperation Novell Inc Philips Speech Processing Texas Instruments Inc F r die Festlegung des Standards JAVA Speech ist SUN Microsystems verantwortlich Es gibt mehrere Mechanismen f r die Implementierung der JAVA Speech APIs Urspr ngliche Implementationen Die meisten Implementationen sind in C oder C realisiert Das heisst sie sind plattformabh ngig Als Bespiele daf r k nnen Apple Speech Managers und Microsoft s Speech API SAPI angesehen we
41. String name gt rsVsp getString name lt option gt n Hauptspeise menu append lt optgroup gt n P lt optgroup title Hauptspeise gt n while rsHsp next menu append lt option value rsHsp getString name gt rsHsp getString name lt option gt n Nachspeise menu append lt optgroup gt n i lt optgroup title Nachspeise gt n while rsNsp next menu append lt option value rsNsp getString name gt rsNsp getString name lt option gt n menu append lt optgroup gt n menu append lt select gt n lt ieldset gt n lt fieldset title Anzahl gt n Anzahl n lt input name anzahl title anzahl emptyok false format N gt n lt fieldset gt lt br gt n lt anchor gt n H Senden n lt go method get href server port2 servlet NewAuftrag gt n n lt postfield name tisch_nr value tisch_nr gt n W lt postfield name name value name gt n KW lt postfield name anzahl value anzahl gt n t lt go gt n lt anchor gt n lt br gt lt a href server portl wml main wml gt Zurueck lt a gt n lt p gt n lt card gt n lt wml gt n return menu toString Stingbuffer in String umwandeln und an das Servlet bergeben Au
42. ace 4 Auftr ge ausgeben Verbesserung des Webinterface 5 Auftragsverwaltung Verbesserung des Webinterface 6 Auftr ge best tigen Verbesserung des Webinterface Datenbank nderung 7 Prim rschl ssel nderung WML Seitenprogrammierung 8 WAP Servlets WAP Versuche 9 WAP Servlets Apache Server f r WAP einrichten 10 Abrechnung Webinterfaceanpassung WML Seiten nun doch gro teils dynamisch erstellen 11 Abrechnung lassen 12 Unbezahlte Auftr ge Serverarbeiten zu Hause 13 Abrechnung Korrektur Serverarbeiten zu Hause 14 Abrechnung Korrektur Neues und jetziges Webinterface 15 Kellnerlogin Verbesserung sowie Feinheiten optimieren Auftragsreset 16 Auftragreset Sch nheitskur Fertigstellung des endg ltigen Webinterfaces 17 Test des Gesamtsystems WAP Versuche Zusammenspiel mit Webinterface testen 18 Fehlerkorrektur WAP Versuche Zusammenspiel mit Webinterface testen 19 Diplomarbeitanf nge Diplomarbeit ben tigte SW feststellen 20 Diplomarbeit Diplomarbeitsanf nge Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 15 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system HTBL Klagenfurt M ssingerstra e H 4 Systemdokumentation 4 1 Grobstruktur 4 1 1 Funktionsablauf Im Allgemeinen besteht WAPSCAS aus 6 Funktionen
43. agene Kellner out println Wapscas getKellnerTable catch SQLException se out println Ein Fehler ist aufgetreten se getMessage catch ClassNotFoundException cnfe out println Ein Fehler ist aufgetreten cnfe getMessage 4 2 3 WML Programmierung Dieses Beispiel sollte die WAP Seitenprogrammierung darstellen Die Datei heisst index wml und wird als erstes in unseren WAP Interface angezeigt lt created by Dietmar Hafner http 212 186 44 92 9080 wml gt lt DOCTYPE wml PUBLIC WAPFORUM DTD WML 1 1 EN http www wapforum org DTD wml_1 1 xml gt lt wml gt lt Willkommen Seite 1 Card gt lt card id Welcome title WAPSCAS Interface gt lt p align center gt lt img src Logo wbmp alt kein Logo gt lt Einbinden eines WBMP Files gt lt br gt willkommen bei WAPSCAS lt br gt lt a href Login gt Weiter lt a gt lt Link erstellen gt lt p gt lt card gt lt 2 Card gt lt card id Login title WASCAS Login gt lt p align left gt lt fieldset title Kellnerdaten gt lt Felder gruppieren gt Kellnernr lt input name kellner_nr title Kellnernummer format N gt lt Eingabefeld gt Passwort lt input name passwd title Kellnerpasswort type password gt lt Eingabefeld gt lt fieldset gt lt p gt lt p gt lt anchor gt lt Ankerobjekt der als Link dienen sollte gt Login lt
44. ame FROM Speisekarte WHERE art hsp SELECT name FROM Speisekarte WHERE art nsp String selectHsp String selectNsp ResultSet rsGtr rsVsp rsHsp rsNsp rsGtr getResultSet selectGtr rsVsp getResultSet selectVsp Datenbankabfragen H rsHsp getResultSet selectHsp rsNsp getResultSet selectNsp H menu append WMLHead Start des WML Codes menu append lt wml gt n lt head gt n lt meta http equiv Cache Control content no cache forua true gt n lt meta http equiv Cache Control content no store forua true gt n lt head gt n H lt card id Bestellung title WAPSCAS Bestellung gt n Y lt p gt lt small gt Bestellung beginnen lt small gt lt p gt n lt p gt n D lt fieldset title Tischnummer gt n Tisch_nr n n lt input name tisch_nr title tisch_nr emptyok false format N gt n lt fieldset gt n t lt fieldset title Speisekarte gt n lt select multiple false name name gt n Getraenke menu append lt optgroup title Getraenk gt n while rsGtr next menu append lt option value rsGtr getString name gt rsGtr getString name lt option gt n Vorspeise menu append lt optgroup gt n a lt optgroup title Vorspeise gt n while rsVsp next menu append lt option value rsVsp get
45. ann Weiters kann optional eine sog SQL Box erworben werden mit der eine Verbindung vom PC hergestellt werden kann Sie wird am PC an der seriellen Schnittstelle angeschlossen Es wird eine Software mitgeliefert mit der die Abrechnungen vorgenommen werden Vorteile e Die Bestellung erfolgt mittels Kurznummern e Die Rechnung kann direkt ausgedruckt werden e Am Abrechnungsger t ist ein Chipkartenleser integriert Kreditkarte Nachteile e Zu hohe Anschaffungskosten siehe Vergleich e Keine direkte Verwaltung per Internet oder hnlichen Medien e Die Verwaltung der Daten erfolgt nicht datenbankorientiert 2 GastroFix http www gastrofix de manual inhalt htm Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 8 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik E3 Projektbezeichnung W PSCAS W P supported catering accounting system Diese Firma hat ein hnliches Angebot wie zuvor beschrieben Die Verwaltung der Daten erfolgt in dem Fall jedoch ber PCs Dabei wird eine richtige Topology mit mehreren Servern und Arbeitspl tzen verwirklicht Die Bestellung erfolgt per PC oder Handyger t Die Verbindung untereinander erfolgt einerseits per Funk und andererseits per Netzwerkverbindung Am Bestell PC k nnen Bondrucker angeschlossen werden Vor
46. asse Abbildung 9 Vom Hauptmen aus wird ber den Men punkt Bestellen das GetMenu Servlet gestartet Die Funktion generateMenu erstellt mit Hilfe der Datenbank ein Bestellmen Nachdem die Bestellung eingegeben und abgeschickt wurde startet das NewAuftrag Servlet die Funktion updateDB und somit steht der aufgenommene Auftrag in der Datenbank Anschlie end gelangt man wieder zum Bestellmen 4 1 1 5 Abrechnen W P Handy Tischeingabe Wapscas calculate Servlet am Server Funktion in Hauptklasse W P Handy Abbildung 10 Der Men punkt Abrechnen im Hauptmen dient wie der Name schon sagt zur Abrechnung Hier kann der Kellner die Tischnummer eingeben Das Calculate Servlet startet die Hauptklassenfunktion calculate Diese Funktion rechnet alle unbezahlten Auftr ge der eingegebenen Tischnummer Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 19 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e NES Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system zusammen Dieser Betrag wird dann am Handydisplay angezeigt Danach gelangt man wieder zum Hauptmen 4 1 1 6 Auftragsausgabe und Best tigung ber den Men punkt Auftr ge anzeigen kann sich der Koch die aktuell
47. at Port static String passwd static String server static String portl static String port2 Methode getResultSet Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 20 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system Die Methode getResultSet bekommt eine SQL Query stellt eine Verbindung zu der MySQL Datenbank her f hrt die Query aus und liefert das ResultSet zur ck Sie wird immer dann gebraucht wenn Servlets oder andere Funktionen calculate Daten aus der Datenbank lesen wollen public static ResultSet getResultSet String query throws SQLException ClassNotFoundException Class forName driver Connection con DriverManager getConnection url user passwd Statement stmt con createStatement ResultSet rs stmt executeQuery query con close Schlie en der Connection stmt close Schlie en des Statements return rs R ckgabe des ResultSets Methode headWithTitle headWithTitle ist eine Hilfsmethode f r Servlets Sie liefert den Anfang einer HTML Datei zur ck DOCTYPE Kopf Titel und den Stylesheet Link Wenn HTML Code in den Servlets erzeugt wird ist sie die erste Funktion die Code daf r liefert public static Strin
48. awlitzek Longman 1999 3 8273 1526 3 WML die wireless markup language Felix Brosius Addison Wesley 2000 3 8273 1695 2 Viel Spa mit w nscht das Projektteam Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 42 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku Abteilung Elektronik Technische Informatik amp Internet Engineering HTBL Klagenfurt M ssingerstra e Projektbezeichnung WAP supported catering accounting system Si Anhang A Grundlagen zur Diplomarbeit Betriebssichere Client Serverkopplung Bearbeiter Antonitsch Raimund Autor Antonitsch Raimund Jahrg Erstellt 10 5 2001 Version 1 2 Seite 1 5AHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system Inhaltsverzeichnis I Aulzabenstellune zn ee 3 1 1 Allgemeines eegener eege 3 1 2 Pflichtenbheft nenne else nik 3 2 Theoretische Eryrerune nee 3 2 1 Allgemeines zum Client Server Modell 3 22 Wahl der Server eine as be en bahn 4 221 Direkte berpr fung auf Funktion 4 222 Indirekte berpr fung mit Master Server 5 2 2 3 Manuelle direkte berpr fung eeennennnnnnnennenenennn 6 2 3 Red
49. ber gemacht werden ob die Sprachwiedergabe und Spracherkennung in ein und derselben Applikation implementiert wird Zwei selbstst ndige Applikationen zu entwerfen w rde nicht viel Sinn machen das es zu Problemen mit der vom Betriebssystem bereitgestellten Ressourcen kommen kann Wenn z B gleichzeitig Sprache wiedergegeben wird und erkannt wird k nnte es bei einer nicht full duplex f higen Soundkarte zur einen Konflikt kommen Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 14 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen 5 Eine Applikation zu entwerfen die zwei Funktionen besitzt Sprachwiedergabe und Spracherkennung w rde mehr Sinn machen Der Applikation m sste jedoch aus zwei Programmteilen bestehen und Art Synchronisation m sste Wiedergabe und Erkennung regeln Der L sungsweg 2 in Kombination mit L sungsweg 5 schien anfangs als sehr sinnvoll Als dann jedoch Probleme auftraten das Sprachapplet verwenden zu k nnen musste das Design ge ndert werden und eine eigenst ndige graphische Applikation entwickelt werden Somit wurde L sungsweg 1 angestrebt 3 2 Entwicklungstools Die Entwicklungstools sind ziemlich hnlich denen die beim Jahresprojekt eingesetz
50. ch die Arbeitsm glichkeiten f r behinderte Menschen erweitern sowie die negativen Eigenschaften von PC Arbeiten Augenbeschwerden und Haltungssch den reduzieren Da die Entwicklung von sprachunterst tzten Anwendungen rasant vor sich geht kann man in n chster Zeit mit einer Verbesserung hinsichtlich der Computer Mensch Interaktion rechnen Ein paar Beispiele f r den Einsatz von Sprachtechnologie werden beschrieben 2 5 1 Desktop Sprachverarbeitung kann die graphische Oberfl che eines Programms oder eines Betriebssystems verbessern Im einfachsten Falle werden Abfragen wie JA NEIN ABBRECHEN durch Sprachbefehle ersetzt Bei aufwendigen Beispielen z B Schriftart Schrifttyp und Schriftgr e nderung k nnen dadurch einige Mausklicks und Men selektionen gespart werden Bei CAD Computer Aided Design Kann die Arbeitsperformance wesentlich gesteigert werden da mehrere Sachen gleichzeitig ausgef hrt werden k nnen Objekte markieren und ziehen und per Sprache gleichzeitig die Farbe ndern Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 5 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Ein weiterer Vorteil liegt in der Erlernbarkeit von Programmen F r viele Anwender
51. che Bedienbarkeit MySQL wurde urspr nglich entwickelt weil auf TCX dem Server der Entwickler ein SQL Server ben tigt wurde der sehr gro e Datenbanken handeln konnte und zwar um eine Gr enordnung schneller als die Datenbankhersteller damals liefern konnten MySQL ist nun seit 1996 auf vielen Tausend Sites im Internet und Intranet im Einsatz und erfreut sich hier wachsender Beliebtheit Der Grundstock um den MySQL herum gebaut worden ist ist eine Liste von Routinen die sich im t glichen Einsatz seit Jahren bew hrt haben Obwohl MySQL dauernd weiter entwickelt wird hat es zu jedem Zeitpunkt der Entwicklung stets zuverl ssig und stabil gearbeitet Autor Antonitsch Raimund Jahre Erstellt 20 4 2001 Version 1 3 Seite 12 Hafner Dietmar 5SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system SUN Java Developer Kit Das Java Development Kit umfa t die Werkzeuge die unbedingt n tig sind um Programme in der Sprache Java bersetzen und auszuf hren Den Bytecode bersetzer javac den Bytecode Interpreter java den Debugger jdb und das Dokumentations Werkzeug javadoc sowie ein paar weitere Werkzeuge 3 3 L sungswege In der Phase der Projektplanung sowie in der Phase eine Projektspezifikation zu erstellen wurden
52. e Implementation wurde ebenfalls ber cksichtig sowie ausgetestet Der Student hat eine Sprachausgabe entwickelt die Phoneme der deutschen Sprache aneinander reiht und diese dann ausgibt JSML und weitere Eigenschaften f r den Sprachsynthesizer wurden nicht ber cksichtigt Bei der Installation ist nur der CLASSPATH zum API Package zu setzen Ein Testbeispiel kann auch downgeloadet werden Man kann nun sehen dass mehrere APIs zur Auswahl standen Probiert wurden alle doch funktionierten nicht alle siehe Punkt 5 Die ersten Versuche wurden mit der API Implementation des deutschen Studenten get tigt Da die Sprachqualit t aber sehr schlecht war wurde folglich die Cloudgarden API eingesetzt da sie erstens mit der SAPI von Microsoft funktioniert und JSML sowie JSGF unterst tzt wird Nachteil dieser API ist dass es sich um eine Trial Version handelt und nur die englische Sprache unterst tzt wird 4 Ergebnisse Im Punkt zuvor wurden nun alle Softwarepakete vorgestellt die ben tigt werden um eine sprachf hige JAVA Applikation erstellen zu k nnen Informationen zur Programmierung wurden einerseits aus den mitgelieferten Beispielen als auch aus dem im Literaturverzeichnis angef hrten Referenzen bezogen 4 1 JAVA Speech Programmierung Begonnen wurde bei der Softwareerstellunge zun chst mit dem Sprachteil Es wurden so vorgegangen wie es im JAVA Speech API Programmer s Guide beschrieben wird Der erste Prototyp der meinen Nam
53. e cannechor DDBC can P ocesshst Abbildung 7 reading master updates Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 15 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system Die Datenbank wartet auf neue Master Updates Erfolgt nun ein Update am Master werden die selben Updates auch am Slave ausgef hrt Slave connection Da der Slave auch ein Master ist muss er nat rlich auch ein Slave Connection zur Verf gung stellen Im MySQL Data Verzeichnis c mysql data werden 3 neue Dateien angelegt wapscas bin 001 wapscas gt Rechnername wapscas bin index master info wapscas bin 001 ist die erste binary log Datei und enth lt folgendes 3 23 33 debug log wapscas bin index enth lt die Namen aller bereits erstellten binary log Dateien Anfangs nur wapscas bin 001 master info enth lt Informationen zum Master wapscas2 bin 001 letzte Bin rdatei 10 1 230 23 1 IP Adresse des Masters repl Benutzername repl Passwort 3306 Port 1 master connect retry Bei jedem Neustart der Datenbank wird eine neue Bin rdatei erzeugt wapscas bin 002 wapscas bin n und in die Indexdatei wapscas bin index hinzugef gt 4 2 1 Testapplikation Diese Testa
54. eakableAuftrag super Sprachverarbeitssystem Hafner Version 1 1 Titelzeile setBackground Color white Hintergrundfarbe setSize 400 300 Gr e des Fensters setLayout null Kein Layout bernehmen Button breplay new Button Sprechen breplay setBounds 40 180 60 30 breplay addActionListener this Button bclose new Button Close Button erzeugen bclose setBounds 270 180 50 30 bclose addActionListener this Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 22 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen add bclose add breplay Diese Funktion zeichnet auf den Frame mit den angegeben Koordinaten di ntsprechenden String public void paint Graphics gtest gtest drawString Sprachwiedergabe des aktuellen Auftrags 70 50 gtest drawString Verbindung zu den Auftr gen erfolgt ber die Datenbank 68 65 gtest drawString Per Sprache werden ANZAHL NAME und TISCH ausgegben 30 120 Beim Dr cken auf den Close Button sowie anderer Aktionen werden folgende Programmteile ausgef hrt public void actionPerformed ActionEvent e String Ausgabe Stri
55. eenneennnennnen nme 5 2 5 Anwendungsgebiete f r Sprachunterst tzung nenn 5 2 5 1 D taro BEE 5 2 3 2 eege 6 2 5 3 PDA Personal Digital Assistance 6 2 5 4 Sprachverarbeitung im Internet nissen 7 2 6 mplementati nei eneninda ee 7 2 7 Hardware und Software Anforderungen uucssuersnnrsnnernnnnnnnensnnnsnneennennnnennnen nennen 8 2 8 JAVA Speech Markup Language JSML au 9 2 8 1 JSML Dokument Struktur u en ea 11 2 8 2 JSME El mente EE 11 2 8 21 SAYAS EE 12 28 22 PROS Eltere 13 2 9 JAVA Speech API Grammar Format JSGF seseseeeseseeseesrrererrsrsesserererrersrrseeeresee 13 3 Praktische Umselzune asien el 14 3 1 LOsUnESsWer ee een 14 3 2 t 15 3 2 1 JAVA Developer KItWIDR u 15 3 2 2 R al EE 16 3 23 JAVA Speech APIS JSAPIS anne 16 3 2 3 1 IBM s Speech for JAVA Details siehe lh 16 3 2 3 2 Jesse Peterson JAVA Speech API Implementation Details siehe 3 17 3 2 3 3 Cloudgarden s Java Speech API 1 0 Implementation for Windows Platforms RAR RE 17 3 2 3 4 Microsoft s Speech SDK 5 0 Details siehe 5 18 3 2 3 5 Implementation von Erich Hambuch Details siehe 6 18 SE ee 18 4 1 JAVA Speech Eeer 18 E e 22 4 2 1 Eeer ee ch an 22 4 3 IK nee TE EE 24 4 3 1 Prosrammiell see ee ee 24 44 Ressourcenbedarl E 26 STEE E 26 EE ee EE 28 Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 2 Hafner SAHI Ge
56. eiten eventuell Embedded Java w rden es erm glichen die Serverpr fung und die Serverwahl zu automatisieren Eine automatische Pr fung und Wahl des Servers am K chen PC bereits schon realisiert werden siehe 2 2 1 Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 19 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Si Anhang B Grundlagen der Diplomarbeit Sprachverarbeitung bei elektronischen Bestellsystemen Bearbeiter Dietmar Hafner Inhaltsverzeichnis Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 1 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen 1 Aufpabenstelliie eisen ee 3 1 1 Beschreibung der Grundlagen der Diplomarbeit rss enennnne 3 1 Englische Beschreibune an eege 3 2 Theoretische e 4 2 1 Ee sun ee ea ne 4 2 2 Was ist die JAVA Speech API Application Programming Interface eseseeeeee 4 2 3 Ziele der JAVA Speech AM anna eege 4 2 4 JAVA Applikationen mit Sprachunterstutzung ner snn
57. el eingegeben werden kann treten hier am h ufigsten Fehler auf Der erste serverseitige Fehler der entstehen kann ist Die Seite wurde nicht gefunden Die gew nschte Seite wurde m glicherweise entfernt oder umbenannt oder sie ist vor bergehend Fehlerursache Der Apache Server ist nicht gestartet vertippt bei der Adresse oder momentan keine Onlineverbindung Fehlerbehebung Server starten oder Webinterface auf einen anderen internetf higen PC ausf hren Beim Login ins Webinterface k nnen ebenfalls Fehler auftreten Der Benutzername oder das Passwort kann falsch sein Folgendes geschieht Autor Antonitsch Raimund Jahre Erstellt 20 4 2001 Version 1 3 Seite 37 Hafner Dietmar 5SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e NES Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system Fehlerursache Passwort vergessen oder vergessen etwas eingegeben zu haben Fehlerbehebung Passwort richtig schreiben notfalls Benutzereinrichtung wiederholen siehe Apache Server Konfiguration Im Webinterface kann ebenfalls folgender Fehler auftreten nachdem auf Auftr ge anzeigen unbezahlte Auftr ge Kellner anzeigen Speisekarte anzeigen l schen Speisekarte updaten geklickt wurde Datei Bearbeten Gescht Esvorten Em 2 DEE EE EE EE EE
58. en ber Hackerattacker Der Apache Server ist ein Project der ASF Apache Software Foundation und ist zum gr ten Teil plattformunabh ngig Weiters ist die Software Freeware Open Source und wurden von vielen Freiwilligen verstreut ber die ganze Welt entwickelt Nicht nur EntwickIng sondern auch die Weiterentwicklung sowie Bugbehebung und Verbesserungen unterliegen dem Apache Project Tomcat Server http jakarta apache org tomcat Diese Software ist Teil des Jakarta Project Der Tomcat Server beinhaltet die Implementation f r Java Servlets 2 2 und Java Server Pages 1 1 Tomcat ist f r diese Technologien als Referenz anzusehen Adobe GoLive http www adobe comi golive Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 11 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Nr J Abteilung Elektronik Technische Informatik E Projektbezeichnung W PSCAS W P supported catering accounting system Dieses Programm ist ein HTML Editor mit dem komfortabel professionelle Webseiten erstellt werden k nnen Grunds tzlich ist der Aufbau einer Internetseite auf Layout HTML Code und Preview zur ckgef hrt Im Layout Teil k nnen Elemente Bilder Tabellen Textformatierungen vorgenommen werden Der HTML Code Bereich zeigt farblich hervorgehoben siehe Abbildung die verschiedenen HTML Befehle Dies ist hilfreic
59. en Auftr ge anzeigen lassen Das ShowAuftraege Servlet startet die Funktion getAuftragTable Die Auftr ge werden in Abst nden von 10 Sekunden aktualisiert Will der Koch einen Auftrag als fertig markieren muss er nur den Radiobutton der Speise markieren und anschlie end auf Fertig klicken Das AuftragFinished Servlet f hrt mit der Funktion updateDB ein Datenbankupdate aus und zeigt wieder die aktuellen Auftr ge an Auftr ge anzeigen Webinterface Servlet am Serve Wapscas updteDE Funktion in Hauptklasse Webinterface Servlet am Server Funktion in Hauptklasse Abbildung 11 4 2 Feinentwurf Wie die oben erw hnten Funktionen nun im detail funktionieren wird nun n her erl utert Anfangen m chten wir mit der Hauptklasse 4 2 1 Hauptklasse Wapscas java Diese Klasse enth lt Methoden die haupts chlich von den Servlets gebraucht werden Die Methoden sind alle static da es nicht notwendig ist eine Instanz von Wapscas zu erzeugen Exceptions werden alle gethrowed damit die Servlets sie ggf ausgeben k nnen public class Wapscas statische Variablen die immer gebraucht werden static String driver org gjt mm mysql Driver MySQL JDBC Treiber static String url jdbe mysq1 127 0 0 1 WAPSCAS MySQL DB Url static String user root MySQL Username MySQL Passwort http 212 186 92 44 Server IP 9080 Webserver Port 8080 Tomc
60. en sagen konnte sah folgenderma en aus Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 18 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering a Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen HelloWorld java import javax speech import javax speech synthesis import java util Locale public class HelloWorld public static void main String args tEY SynthesizerModeDesc test new SynthesizerModeDesc Locale ENGLISH Voice myvoice new Voice test addVoice myvoice Synthesizer synth Central createSynthesizer test synth allocate synth resume synth speakPlainText Hallo Dietmar Hafner null synth waitEngineState Synthesizer QUEUE_EMPTY synth deallocate System exit 0 catch Exception e e printStackTrace Die Programmentwicklung erfolgt mit der Cloud Garden API Wie bereits erw hnt tut sich diese API schwer bei deutschen W rtern da es diese in englischen Deutsch ausspricht Die Programmierung der Sprachausgabe wurde danach entscheidend verbessernd die Parameter f r ein angenehmklingende Sprache festgelegt Parametrisierung f r die Sprache Grunds tzlich kommt ein eigens angepasstes Sprachmodell zum Einsatz welches man sich selb
61. enfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system Si aufweisen und zus tzlich noch die Server berpr fung durchf hren Dadurch w re es aber nicht m glich von jedem beliebigen PC aus WAPSCAS zu verwenden Eine Installation des Programms w re zuerst erforderlich Beide Methoden k nnen in dieser Weise am Handy nicht realisiert werden da WML Script keine Funktionen daf r zur Verf gung stellt 2 2 2 Indirekte berpr fung mit Master Server Der K chen PC kommuniziert mit einem Master Server Dieser Server berpr ft die anderen Server und leitet je nachdem welcher aktiv bzw bevorzugt wird weiter Vorraussetzung daf r ist jedoch die st ndige Bereitschaft Ausfallssicherheit 100 des Master Servers F llt der Master Server aus steht das ganze System Master Server Server 2 Servern Realisierungsm glichkeiten Abbildung 2 Applikation am Master Server Ein Java Programm k nnte bei jeder Client Anfrage die Server pr fen und anschlie end die Anfrage weiterleiten Die Funktionsweise ist hnlich wie die zuvor erw hnte M glichkeit direkte berpr fung nur mit dem Unterschied dass die Applikation keine grafische Oberfl che ben tigt und nur zur Serverpr fung verwendet wird Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 5 Raimund SAHI Ge
62. entwickelt die auch den Inhalt des erkannten Text verstehen Um nun eine Erkennungsgenauigkeit zu erreichen verwenden Spracherkennungssysteme eine eigene Grammatik JSGF hat eine M glichkeit geschaffen diese Grammatik mit entsprechenden Regeln einzusetzen Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 13 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Eine Sprachregel Rule grammar definiert die u erungen eines gesprochen Textes Eine u erung kann auch als Befehl angesehen werden z B Datei ffnen Fenster schlie en F r weitere Details zu dieser Spracherkennungssprache siehe Punkt 5 1 1 3 EN Praktische Umsetzung L sungswege Einerseits wurde die Sprachverarbeitungssoftware oder besser gesagt die Entwicklungsumgebung schon am Anfang festgelegt Es galt nun eine Applikation zu entwickeln die die aktuellen Auftr ge gespeichert in der Datenbank und im Webinterface angezeigt zu einer Sprachausgabe verarbeitet 1 Eine eigenst ndige Applikation wird entworfen die mittels Konsolenbefehl oder Batch Datei gestartet wird Die Applikation sollte graphische Elemente enthalten um den Anwender ein gewisses Feedback zu liefern Da nun einer
63. erstra e a Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Elemente und Attribute start tag contained text end tag It landed lt EMP LEVEL modeIate gt on Mars lt ENP gt attribute attribute name valute Abbildung 7 Es gibt auch wie erw hnt leere Elemente Diese enthalten nur einen Start Tag und keinen weiteren Text Beispiel Ein lautes Ger usch lt BREAK SIZE large gt und dann wurde es still Bei undefinierten Namen kann es jedoch zu Problemen kommen da der Synthesizer nicht wei wie es diesen wiedergeben sollte z B URLs oder sonstiges 2 8 1 JSML Dokument Struktur JSML basiert auf XML Extensible Markup Language welcher ein einfacher Dialekt von SGML ist Ein JSML Dokument sieht folgenderma en aus lt XML version 1 0 encoding UCS 2 gt lt JSML gt und endet mit lt ISML gt Es k nnen auch Escape Sequenzen innerhalb eines Dokuments eingesetzt werden Um den JSML Text richtig zu bersetzen kann ein einfacher XML Parser verwendet werden um dem Synthesizer den Inhalt zu bermitteln Kommentare sind ebenfalls zul ssig 2 8 2 JSML Elemente Wie bereits erw hnt ist der Inhalt eines JSML Dokuments zusammengesetzt aus unterschiedlichen Elementen Struktur Produktion und Verschiedenartige In der folgenden Tabelle werden diese aufgelistet und
64. estellen und abrechnen Eine Funktion die unbezahlte und aktuelle Auftr ge auch am Handy anzeigen kann w re hilfreich f r Kellner und Kunde Rechnung ausdrucken Wenn der Kunde eine Rechnung haben will ist es zurzeit nur m glich diese mit der Hand zu schreiben Eine Druckfunktion k nnte dem Kellner die Arbeit ersparen 6 3 Vorschl ge f r weitere Entwicklung Die zuvor beschriebenen Erweiterungsm glichkeiten k nnten mindestens ein Ganzjahresprojekt f r 2 Personen f llen Daher w ren diese Erweiterungen ein perfektes Maturaprojekt f r die folgenden Jahrg nge Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 41 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system 7 Literaturverzeichnis Es werden hier nur verwendete B cher angef hrt Die entsprechenden Internetseiten wo wir uns auch sehr viel Informationen holten sind nicht enthalten Name Author Verlag Jahr ISBN Randy Jay Yarger MySQL amp mSQL George Reese Tim King O REILLY 1999 1 56592 434 7 Datenbanken amp Java Gunter Saake Kai Uwe Sattler dpunkt 2000 3 932588 54 1 Servlets and JavaServer Pages Marty Hall Sun 2000 0 13 08934904 Java Programmierung mit Addison Wesley IBM Visual Age Florian H
65. et Da die bereits vorhandenen Systemen men basierend sind verliert man leicht die bersicht und kennt sich nicht mehr aus Bei einen Spracherkennungssystem kann jedoch dies entfallen da direkte Befehle oder Anfragen gestellt werden k nnen Als Beispiel ein E Mail Remote System Der Benutzer fragt am Telefon Hab ich neue E Mails Antwort Sie haben 3 neue Nachrichten 2 5 3 PDA Personal Digital Assistant Sprachtechnologie wird bereits in kleine handliche Ger te miteinbaut um deren Gr e weiter zu reduzieren und auf Eingabetasten verzichten zu k nnen z B Spielzeuge Telephone handsets usw Sprachtechnologie ist nahezu zwingend f r solche Ger te und kann auch die immer steigende Performance und Rechenleistung nutzen Wie bereits erw hnt k nnen Tastatur oder Eingabetasten Spracherkennung aber auch gro e Displays Sprachwiedergabe weggelassen werden Ein Anwendungsgebiet f r JAVA w re dann das EmbeddedJAVA oder PersonalJAVA welches auf Handheld Computern oder Ger ten dergleichen eingesetzt wird Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 6 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen 2 5 4 Sprachverarbeitung im Internet Die JAVA
66. f einen anderen IBM Produkt IBM s ViaVoice Es werden europ ische Sprachen unterst tzt wie Deutsch Englisch Franz sisch usw Vorrausgesetzt wird eine JDK 1 1 7 mit Windows95 32 MB RAM Installation und Paketumfang Es werden HTML Dateien mitgeliefert die die Installation sowie die Verwendung beschreiben Weiters gibt ein Beispiel mit dem getestet werden sollte ob die API auch funktioniert Zu aller erst sollte der CLASSPATH und der PATH laut Anweisung gesetzt werden Danach sollte des Beispielprogramm ohne Probleme funktionieren Sprachwiedergabe und Spracherkennungsbeispiel Abweichungen von der Sun Spezifikation sind ebenfalls enthalten Da IBM eine gro e Firma ist wird ebenfalls ein Diskussionsforum ber IBM s Speech for JAVA angeboten Das Paket ist f r den Gebrauch von 90 Tagen released Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 16 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering a Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen 3 2 3 2 Jesse Peterson JAVA Speech API Implementation Details siehe 3 Diese API ist programmiert f r die Microsoft Speech API SAPI Der Code verwendet die urspr ngliche Methode JNI JAVA Native Interface um einen Microsoft SAPI Engine anzusprechen Momentan unter
67. g headWithTitle String title String DOCTYPE lt DOCTYPE html PUBLIC w3Cc Dtd html 4 0 Transitional EN gt n return DOCTYPE lt html gt n lt head gt n lt link rel stylesheet type text css href server portl webinterface css format css gt n lt title gt title lt title gt lt head gt n lt body text yellow gt n Methode WMLHead WMIL Head liefert den WML Kopf zur ck Sie wird bei jedem WML Code ben tigt public static String WMLHead String wmlHead lt xml version 1 0 gt n lt DOCTYPE wml PUBLIC WAPFORUM Dtd WML 1 2 EN http www wapforum org Dtd wml_1 2 xm1l gt n return wmlHead Methode getAuftragTable Liefert dem Show Auftraege Servlet eine Auftragstabelle mit Auftragauswahl und Auftragsbest tigungsbutton zur ck public static String getAuftragTable throws SQLException ClassNotFoundException String query SELECT FROM Auftrag WHERE fertig 0 name int auftrag_nr anzahl tisch_nr kellner_nr StringBuffer auftrag new StringBuffer Erzeugen eines Stringbuffers ResultSet rs getResultSet query Datenbankabfrage auftrag append lt body onload Down gt n Javascript f r Aktualisierung lt script language JavaScript sre server portl webinterface delaya js type text javascript gt lt script gt n
68. go method get href http 212 186 44 92 8080 servlet KellnerLogin gt lt postfield name kellner_nr value kellner_nr gt lt postfield name passwd value passwd gt lt go gt lt anchor gt lt p gt lt card gt lt wml gt Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 26 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system 4 3 Dateiformate Die folgenden Dateiformate werden bei unseren Projekt eingesetzt css Cascading Stylesheet File Findet Anwendung beim Webinterface einheitliches Layout class Kompilierte Java Source File Wird im Browser oder in der Konsole ausgef hrt conf Konfigurations File Dient zur Konfiguration des Apache Webservers Einfaches Textfile html Hyper Text Markup Language File Ist eine Datei die im Webbrowser angezeigt wird unser Webinterface java Java Source File Enth lt den eigentlichen Java Source Code jpeg of Graphikdateien Graphikelemente im Webinterface gr tenteils Gifs Is JavaScript File Enth lt ein Java Script welches im Webinterface ausgef hrt wird wml Wireless Markup Language File Ist eine Datei welche am WAP Handy angezeigt werden kann unser WAP In
69. h bei der Fehlersuche Im Preview kann die Seite dann angeschaut werden en Ted Spezial White Honktn tion Gin Ferter tite Sea s t a aa eem Ban Kabes en aa akmeo u PER eet e SEAL art Sl ma den enzeinen Framasetten gt ia Kr Kol RN an lt meta hitp equr content type content text html charset iso 5059 1 gt lt meta name ganerator content Adobe Golwe 4 gt lt title gt WAPSCAS Webinterface lt cANitle gt lt head gt frameset cols 204 bordercolor 4000018 framespacing U bordar T framaborder NO gt lt frame arc monwinden Mai aam ent norosize acrolinge no gt lt frame sre t le himi names Haupt gt mesm Jira lt nohames gt H lt muframes gt Abbildung 4 MySQL Datenbank MySQL ist eine echte Multi User Multi Threaded SQL Datenbank und wird von allen gro en Providern oder auch Suchmaschinenbetreibern eingesetzt MySQL ist eine Client Server Implementierung die aus einem Server D mon mysqld und vielen Client Programmen sowie Bibliotheken f r PERL PHP 3 PHP 4 sowie ASP besteht SQL ist eine standardisierte Datenbanksprache die das Speichern Updaten und den Zugriff auf Informationen erleichtert MySQL ist u erst schnell und flexibel genug um sogar Bilder und Log Dateien darin abzulegen In der Praxis ist MySQL sehr viel schneller als z B ORACLE oder INFORMIX Die wichtigsten Eigenschaften von MySQL sind Geschwindigkeit Stabilit t und einfa
70. h einer Applikation ist im Besonderen die Speicherbelegung Auch die Verwendung von Sprachmodellen ist in der Anwendung enthalten Um eine Sprachverarbeitung einzusetzen wird die Entwicklungsumgebung zur Erstellung dieser Anwendung auf JAVA festgelegt da JAVA Sun eine Sprach Technologie entwickelt hat siehe Punkt 2 Auch die Oberfl che der Anwendung wird in weiterer Folge mit JAVA programmiert 1 2 Englische Beschreibung My project is about electronic voice processing used for our Jahreslaborprojekt called WAPSCAS wirelesss application supported catering accounting system It should symplify the events which can occur in a kitchen where our Webinterface is used to show the current orderings to the the kitchen s staff An application which speaks the current ordering should be implemented A speech recognition is used to interprete commands from the staff e g after finishing ordering to delete them Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 3 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Rei Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen 2 Theoretische Er rterungen 2 1 Grundlegendes Sprachverarbeitung wurde in der letzten Zeit ein immer interessanter werdendes Merkmal welches PCs von heute bes
71. h mit Verwendung der Microsoft SAPI st rzte diese API immer wieder ab Bei den anderen API kamen hnliche Fehlermeldungen schon beim Kompilieren des Sourcecodes Anzumerken ist noch dass die CloudGarden API auch abst rzt doch erst am Ende nach erfolgreicher Sprachausgabe Probleme gab es auch bei der Verwendung der API als Applet siehe L sungswege Es wird zwar beschrieben wie man vorzugehen hat wenn man ein Applet einsetzt doch auch dies schien nicht zu funktionieren Es gibt auch etwas positives daran weil nicht mehr darauf aufgepasst werden muss das Benutzerressourcen verwendet werden Signierte Applets Applets die auf Benutzerressourcen zugreifen d rfen schienen auch nicht als sehr sinnvoll Darum wurde eine graphische Applikation erstellt die diese Schwierigkeiten nicht hat Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 27 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Als Schlussfolgerung dieser Probleme kann die Verz gerung mit der Arbeit der Diplomarbeit angesehen werden Es war folglich keine Zeit mehr die Spracherkennung einzubauen da bereits bei Versuchen mit dem doppelten Zeitaufwand zu rechnen war 6 Literaturverzeichnis 1 JAVA Speech
72. her gemacht werden kann F r die Realisierung ist es notwendig ein eigenes Protokoll zwischen redundanten Servern zu entwerfen Der dabei entstandene Kommunikations Overhead sollte minimiert werden Das entworfene Modell sollte anhand eines Prototypen realisiert und der Kommunikationsaufwand mithilfe einer Protokollanalyse ermittelt werden 2 Theoretische Er rterung 2 1 Allgemeines zum Client Server Modell Strukturieren der Anwendungsschicht OSI Schicht 7 e Rollen Dienstnachfrager Client Diensterbringer Server e Rollenspezifisches Kommunikationsverhalten Client Anfrage senden ev Antwort abwarten Server Anfrage entgegennehmen Anfrage bearbeiten ev Antwort senden Vorz ge gegen ber einer monolithischen fnicht verteilten Architektur e Ressourcen Sharing Teure Ressourcen k nnen einer gro en Anzahl von Benutzern auch ber gr ere Distanzen hinweg angeboten werden e Erh hte Ausfallsicherheit Durch Redundanz der Server z B Filereplikation kann die Zuverl ssigkeit des Systems erh ht werden e Kostenersparnisse Kleinrechner haben ein besseres Preis Leistungsverh ltnis als Mainframes Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 3 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e N Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP sup
73. hl eingeben w rde Dieses Problem wird gleich dem Speisekartenpreisproblem gel st Noch eine letzte Best tigung die erscheinen kann Datei Bearbeiten Ansicht Favoriten Extras e er Ee B 3A H A Adresse Je http 4 212 186 44 92 9080 webinterface zl Wechseln zu US ID f e Wehinterface Keine Auftr ge vorhanden lt zurAuswahl Tischabrechnung Alles zum WARP Interlace Si Fertig Internet Abbildung 27 5 4 2 WAP Interface Im WAP Interface k nnen eigentlich nicht sehr viele Fehler auftreten Der Login Fehler wurde bereits bei der Betriebsanleitung beschrieben Verbindungsfehler sind jedoch schon m glich Fehlerursache Der Apache Server ist nicht gestartet vertippt bei der Adresse oder momentaner GSM Netzausfall Fehlerbehebung Server starten oder Notfallskonzept im Webinterface nutzen Faa END SC NOKIA Dateinicht Gi verf gb Abbildung 28 Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 39 Hafner Dietmar 5AHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e NES Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system Bei Tomcat Server Fehlern kann folgendes am Handybildschirm erscheinen Abbildung 29 Fehlerbehebung Tomcat Server neustarten 6 Diskussion
74. hlossen ist Weiters gibt es einen Men punkt unbezahlte Auftr ge Dieser wird dann ben tigt wenn es Unklarheiten im Betrieb gibt bei welchem Tisch schon abgerechnet wurde Wichtig Diese Seite wird nicht automatisch aktualisiert Ein Notfallkonzept wurde am Webinterface ebenfalls entwickelt Da auch GSM Netze ausfallen k nnen kann am Webinterface ebenfalls bestellt werden sowie abgerechnet Tischabrechnung und Auftragseingabe simulieren Mit dem Punkt Auftragstabelle Reset k nnen alle Auftr ge bezahlte wie auch unbezahlte aus der Datenbank entfernt werden Zur Sicherheit wird bei diesem Vorgang noch eine Best tigung des Anwenders abgefragt lten Der Grund daf r Abbildung 17 Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 33 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system HTBL Klagenfurt M ssingerstra e de 5 3 Bedienungsanleitung f r das WAP Interface Nun ist es soweit es kann zum wapf higen Handy gegriffen werden Es ist noch zu beachten das die WAP F higkeit des Handys entsprechend dem GSM Anbieter konfiguriert ist Um nun ins WAP Interface zu gelangen m ssen folgende Punkte befolgt werden Das Beispiel wird anhand eines Nokia Ger tes erkl rt Am Handy ins Ha
75. ht funktionale Anforderungen nenne 6 25 Benu tzerschnittstelle 2 2 2 222 220 aE a a E EAE E EES 6 2 5 1 WAP Handy 2 3 2 Webinterface 2 5 3 Flussdiagramm f r Funktionsabl ufe AA 7 2 6 Dokumentation und Pr sentation eseseeeseeeeeseeeseeesereteesreetsstrrrertrtestrsreetsstereertesesreetrsrerresenresesreetee 7 2 7 Glossar Und Index u u 2 22 2B2 elta arena e 8 2 Feogektdokumentatten sisicata EES SEENEN EEN 8 3 1 n On 8 3 2 Entwicklungst6ols 2u 2202 ein NE 10 3 3 n 13 3 4 Projektplan Zeitplan anir e EE EE EE 13 3 5 Pr ojekttageb th niue E Ein 15 A Syst emdokumentation sarsie a ae e TE E a e e E 16 4 1 Grobsttuktuti 00 22 E E E NE E E Een 16 4 1 1 Funkh ns bl uf 2 28 EE E E 16 4 1 1 1 D fetieing be u22 2 202 ken Isis ahleiabeskerin base Ferner 16 4 1 1 2 Datenmanipulation sseeeeeeseeseeeseseseesesesteestesstesstssssetstesttsestesstesstesstesstsetssetssesstesstessresersseet 17 K EG WE TE CT 18 KE SR Bestellen onaniaa a EE E EEA E ES EEEE E ESE ai 19 K DN WEE anne e a E EE E E N E E RE eini 19 4 1 1 6 Auftragsausgabe und Best tigung neuuensessersessensernnesnnesnensennonnernnnnonnnennennsnenennsonsennan 20 4 2 Femen WUN EE 20 4 2 1 H uptkl sse WapscassjaV amp euscstaessocssenstsegsessestn engsten enaendagt ehe erregen EE EEEE EEAS 20 42 2 S E a A EE 25 4 2 3 WML Progsrammierung nennen 26 4 3 EE 27 4 4 Testd kumentation 2u 2 4 2a iibenleip ble
76. icklungstools Nokia ToolKit Ein sehr komfortables Programm zur Erstellung von WML Seiten ist das Nokia Toolkit Zu dieser Entwicklungsumgebung geh ren ein Editor f r WML oder WML Script sowie ein Simulator ein Nokia Handy wird simuliert der Kompilierte WML Seiten anzeigen kann Sehr n tzlich ist die Funktion des Debuggings da erstens alle auftreten Fehler mit entsprechender Fehlerstelle und zweitens eine Fehlerbeschreibung angezeigt werden Der Simulator unterst tzt die Anzeige von WML1 1 Seiten Bildern WML Bitmaps Tabellen und WML Script Kelt OO SIE File Edit Browser Toolkit Help f e LA Location Inn 2 EEE EASchule MaturaprojektiVAPlindex wm x lt xml version 1 0 2 gt created by WAPtor http www wapdrive net lt DOCTYPE wml PUBLIC WAPFORUM DID UML 1 1 EN http www wapforum org DTD wml 1 1 xml gt d lt WAPSCHS Ihtertace lt Willkommen Seite gt o d lt card id Welcome title WAPSCAS Interface gt D lt p align center gt A lt img src Logo wbmp alt kein Logo gt d E lt br gt Willkommen bei WAPSCAS lt br gt lt a href Login gt Weiter lt gt lt p gt lt card gt lt card id Login title WASCAS Login gt lt p aligm left gt lt fieldset title Kellnerdaten gt Kellnernr lt input nane kellner_nr title Ke erger SPEAN MARSIS Passwort lt input name passwd title Kellnerpasswort type passwo
77. if getResultSet query next Abfrage ob Auftr ge vorhanden Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 21 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system HTBL Klagenfurt M ssingerstra e Me auftrag append lt br gt n lt hl gt Keine Auftr ge vorhanden lt hl gt n lt h3 gt Freuen sie sich und machen Sie in der Zwischenzeit die K che sauber lt orm gt n lt body gt n lt html gt else Auftr ge vorhanden gt Ausgabe in HTML Code auftrag append lt br gt lt center gt lt h3 gt Aktuelle Auftr ge lt h3 gt lt br gt n lt form action server port2 servlet AuftragFinished method get gt n lt table align center border 1 gt n lt tr bgcolor red gt n lt th gt Markiert lt th gt Name lt th gt Anzahl lt th gt Tisch n while rs next Durchlauf durch gesamtes ResultSet auftrag_nr rs getInt auftrag_nr name rs getString name anzahl rs getInt anzahl tisch_nr rs getInt tisch_nr auftrag append lt tr gt lt td align center gt lt input type radio name auftrag_nr value auftrag_nr gt lt td gt name lt td align center gt anzahl lt td align center gt
78. iger Leistung mindert die Leistung bei der Spracherkennung Im Paket ist eine JAVA Installationsanwendung enthalten Diese extrahiert alle gepackten Dateien sowie installiert DLL Dateien in die entsprechenden Verzeichnisse Der CLASSPATH muss jedoch noch zus tzlich gesetzt werden Beispiele werden ebenfalls mitgeliefert f r Sprachwiedergabe als auch Erkennung Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 17 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Diese API ist ein kommerzielles Produkt Es gibt eine free Variante die eine Einschr nkungen besitzt Ein R wird als W ausgesprochen Dies erfolgt auch bei der Spracherkennung wo ein R als W verstanden wird Eine registrierte API kostet 50 Wichtig ist noch dass die API nur die englische Sprache unterst tzt 3 2 3 4 Microsoft s Speech SDK 5 0 Details siehe 5 Ist eine gratisdownloadbare Entwicklungsumgebung f r Windowsplattformen Es werden Bespiele ein Grammar Producer sowie andere Tools mitgeliefert Der Einsatz dieser SDK ist jedoch daraufhin beschr nkt dass andere APIs die von ihr zur Verf gung gestellten Engines nutzen 3 2 3 5 Implementation von Erich Hambuch Details siehe 6 Dies
79. imal richtig eingegeben Wichtig Eine Kellnernummer wird automatisch erstellt Diese dient als Benutzerkennung am WAP Interface Also Kellner m ssen sich ihre Kellnernummer und ihr Passwort unbedingt merken Es muss auch ein jedes Eingabefeld etwas eingetragen werden Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 31 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Gel Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system Neue Kellner eintragen d ben tigt um Kellnerda mit sicher dass nur auth Abbildung 15 Nach Klicken auf den Eintragenbutton wird der neue Kellner in die Datenbank eingetragen Eine Best tigung erscheint am Bildschirm Nach 5 Sekunden wird zur Kellnerliste weitergeleitet die alle eingetragenen Kellner anzeigt In dieser Liste Men punkt Kellner anzeigen k nnen Kellner wieder aus der Datenbank entfernt werden Um am Handy auch etwas bestellen zu k nnen m ssen Speisen und Getr nke in die Datenbank eingetragen werden Dazu muss auf Speisekarte eintragen im Men geklickt werden Es erscheint folgendes Bild Daten e Speisekarte eingeben mit erstellt Die pe ird dann am Handy angezeigt Die en und is Abbildung 16 Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Vers
80. in System bez glich der Anzahl der empfangenen Pakete bevor das Ack gesendet wird ist nicht zu erkennen Um die 50 Updates vom Master zum Slave zu bertragen vergeht weniger als 1 Sekunde Wie aus der ASCI Ansicht ersichtlich werden reine SQL Statements unverschl sselt bertragen Der Kommunikationsoverhead ist durch die bertragung der SQL Statements an sich schon gering k nnte aber theoretisch durch Substitution oft verwendeter Befehle INSERT DELETE verringert werden Ca 39 der Pakete haben ein Gr e von 64 Byte und sind daher Acks vom Slave Die anderen Pakete werden vom Master an den Slave gesendet und variieren je nach Gr e des SQL Statements 5 Schlussfolgerung Auf dem Gebiet der betriebssicheren Client Serverkopplung gibt es wie im theoretischen Teil bereits erw hnt viele L sungswege Der von mir realisierte L sungsweg ist eine einfache Erweiterung zum urspr nglichen WAPSCAS Die Serverredundanz mit Hilfe der integrierten und etwas modifizierten MySQL Funktion ist meines Erachtens nach gut geeignet um gleiche Datens tze zu gew hrleisten Um die bertragung jedoch vor Eindringlingen zu sch tzen w re eine Datenverschl sselung hilfreich Bez glich der Serverpr fung m chte ich folgendes sagen Sowohl am K chen PC als auch am Handy erfolgt die berpr fung nur mit Beteiligung des Benutzers Durch WML Script l sst sich diese Tatsache nicht ndern UMTS und die damit verbundenen neuen M glichk
81. ion 1 3 Seite 32 Hafner Dietmar 5AHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system Bei Name ist Name des Getraenks der Vor der Haupt oder der Nachspeise einzutragen Die Art wird nun noch gew hlt und der Preis wird festgelegt Nach Klicken auf Eintragen erscheint ebenfalls eine Best tigung und wird man zur Speisekarte weitergeleitet Mit dem Men punkt Speisekarte anzeigen werden erstens alle Speisen und Getr nke angezeigt werden sowie einzelne Dateneintr ge k nnen gel scht werden Mit Speisekarte updaten kann dann noch der Preis ver ndert werden Wichtig Da die Speisekarte welche am WAP Handy angezeigt wird immer mit den Daten der Datenbank generiert wird muss es in jeder Kategorie Getr nk Vor Haupt und Nachspeise ein Eintrag gemacht werden Ansonsten kann am Handy nichts bestellt werden Nun kann am Handy schon bestellt werden doch eine genauere Einleitung dazu gibt es sp ter Nun wird noch das Anzeigen der Auftr ge behandelt Mit dem Men punkt Auftr ge anzeigen werden die aktuellen Auftr ge angezeigt Die Seite wird alle f nf Sekunden aktualisiert und ist somit immer am neuersten Stand Es kann ein Auftrag markiert und dann gel scht werden Das signalisiert das der Auftrag abgesc
82. irekt am Tisch aufnehmen und versenden Kurz darauf erscheint diese am Bildschirm des K chen PCs per Internet werden die Daten bermittelt und der Koch bzw Barkeeper kann gleich mit dem Auftrag beginnen 1 1 Englische Beschreibung Wireless Application Protocol Supported Catering Accounting System is the name of our project Its goal is to accelerate the working processes in a gastronomic company The waiter uses a WAP cellular to order food directly located at the table After this the order is going to be displayed in the Webinterface e g PC in the kitchen The cook or the barkeeper could start with his her work 1 2 Erreichte Spezifikationen In erster Linie standen unsere eigens geschaffenen Spezifikationen im Vordergrund Mit Stolz auf unser Projekt kann verk ndet werden dass nahezu alles unsere Spezifikationen erf llt wurden Nun wird Bezug auf das Pflichtenheft siehe Punkt2 genommen Die Aufgabenstellung wurde von uns weitgehend erf llt da es zu einer Erleichterung im Arbeitsablauf eines Gastronomiebetriebes kommt Wir haben Gastronomiebetriebe unter die Lupe genommen und k nnen feststellen dass der Einsatz von WAPSCAS wirklich eine Arbeitserleichterung darstellt Auch Betriebe mit anderen Bestell und Abrechnungssystemen siehe Punkt3 1 sind nicht sehr viel besser als unser System In Sachen Funktionale Anforderungen kann auf den Systemstart eingegangen werden Der Server an sich ist soweit automatisier
83. ist oder nicht import java io import java sql import javax servlet import javax servlet http public class WMLServerCheck extends HttpServlet public void doGet HttpServletRequest request HttpServletRespons response throws ServletException IOException String driver org gjt mm mysql Driver MySQL JDBC Treiber String url jdbc mysql 127 0 0 1 WAPSCAS String user root MySQL Benutzernam String passwd MySQL Passwort response setContentType text wml PrintWriter out response getWriter StingBuffer wml new StringBuffer wml append Wapscas WMLHead lt wml gt n lt card id Servercheck title WAPSCAS Servercheck gt n if Wapscas checkServer url user passwd Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 11 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system wml append lt p align center gt Server ist funktionsf hig lt br gt lt a href Wapscas server Wapscas portl wml index2 wml gt Weiter lt a gt n lt p gt n lt card gt n lt wml gt else wml append lt p align center gt Server ist NICHT funktionsf hig
84. itzen Da die Leistung der heutigen PCs f r eine Verarbeitung st ndig wuchs wurde die Sprachsynthese dadurch entscheidend verbessert Real time Anwendungen in Zusammenhang mit Sprache sind somit m glich geworden In besonderen die Anpassung der Sprachausgabe Verwendung von genau deklarierten Sprachmodellen war ein entscheidener Schritt in Richtung nat rlich klingender Sprachen Andererseits wurde die Spracherkennung auch interessanter da mit steigender PC Leistung die Fehlerh ufigkeit sank und einfaches Diktieren nun m glich macht Spracherkennungsprogramme wie IBMViaVoice werden heute bereits auf Heim PCs eingesetzt und erleichtern somit die Arbeit Aber auch Sprachbefehlsverarbeitung ist ein interessanter Aspekt der es m glich machen wird dem Computer kurze Befehle und 7verst ndliche Anweisungen zu erteilen 2 2 Was ist die JAVA Speech API Application Programming Interface Die JAVA Speech API ist ein Softwareinterface welches erm glicht Sprachverarbeitungstechnologie auf PCs einzusetzen Es geh rt zur Familie der JAVA Media API JAVA 2D API JAVA 3D API JAVA Sound API sowie noch weitere Es gibt zwei Kernbereiche die unterst tzt werden Spracherkennung Computer verstehen die menschliche Sprache Sprachwiedergabe TTS Systeme Text to speech JAVA Speech API Speech Enabled java Application A Yv Java Speech API FE A hA Ti Recognizer Synthesizer Abbildung 1 2 3 Ziele der JAVA
85. n lt pr gt wW hlen sie bitt inen anderen Server n lt p gt n lt card gt n lt wml gt out println wml toString Die Methode CheckServer in der Hauptklasse Wapscas wird als if Bedingung verwendet Ist der Server funktionsf hig liefert diese Methode true zur ck und am Handydisplay erscheint die Meldung Server ist funktionsf hig Mit dem Link Weiter gelangt der Kellner dann zum Login Liefert CheckServer false zur ck ist der Server nicht funktionsf hig und die Fehlermeldung Server ist NICHT funktionsf hig W hlen sie bitte einen anderen Server erscheint 3 5 MySQL Konfiguration e Zuerst muss sichergestellt werden dass auf dem Master und dem Slave eine MySQL Datenbank ab Version 3 23 15 installiert ist 3 23 33 verwendet Es wird empfohlen auf beiden Rechnern die selbe Version zu verwenden e Anschlie end muss am Master ein User mit dem FILE Privileg angelegt werden Um so einen User names repl mit dem Passwort repl anzulegen ist es notwenig in der MySQL Console folgenden Befehl einzugeben GRANT FILE ON TO repl IDENTIFIED BY repl e Master herunterfahren e Danach muss ein Snapshot vom gesamten data Verzeichnis c mysql data gemacht werden e Anschlie end m ssen folgende Eintr ge in die Datei my ini erfolgen mysqld log bin server id e Starten des Masters Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite
86. nd Erkennung nutzen zu k nnen Gen gend Prozessorleistung Speicher und Festplattenspeicher sollte schon vorhanden sein Audio Hardware Sprachwiedergabe ben tigt einen Audio Output Spracherkennung einen Input Die meisten PCs die heutzutage am Markt sind sind mit Soundunterst tzung ausgestattet F r Diktiersysteme wird jedoch eine qualitativhochwertigere Soundkarte vorrausgesetzt Abbildung 2 Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 8 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Si Mikrophone Spracherkennungssysteme ben tigen ein Mikrophon als Audio Input Manche Sprach Recognizer vorallem Diktiersysteme reagieren sensibel auf die Art des Mikrophons Headset bieten am meisten Performance auch wenn sie bei lauten Umgebungsger uschen eingesetzt werden Tisch Mikrophone sind f r restliche Anwendungen akzeptabel Abbildung 3 n Abbildung 4 2 8 JAVA Speech Markup Language JSML JSML ist eine textspezifische Ausf hrung die den Input f r einen Sprach Synthesizer darstellt Sie wurde entwickelt von den Firmen die bereits unter Punkt 2 6 angef hrt wurden Die Standardisierung ist noch nicht abgeschlo
87. ng cmd e getActionCommand if cmd equals Close Synthesizer mysynth null mysynthl CreateSynthesizer CloseSynth mysynth setVisible false Fdispose System exit 0 if cmd equals Sprechen Cry Ausgabe getAuftragsTabelle Synthesizer mysynth null mysynth CreateSynthesizer SpeakString mysynth Ausgabe System out println Sprache ausgegeben catch Exception e4 System out println Keine Daten von der Tabelle oder Fehler beim Initialieren Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 23 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Die Applikation sieht folgenderma en aus LBE t Hafner Ve 13 MEE Sprachwiedergabe des aktuellen Auftrags Verbindung zu den Auftr gen erfolgt ber die Datenbank Per Sprache werden ANZAHL NAME und TISCH ausgegben Sprechen Close Abbildung 9 Nach Klicken auf Sprechen wird eine Verbindung zur Datenbank hergestellt Die Datensatz aus der Tabelle AUFTRAG wird ausgelesen Dieser wird zur ckgegeben und dann gesprochen 4 3 Datenbankzugriff Da die Daten der Auftr ge in der Tabelle Auftrag e
88. niges flexibler Server PC L sungswege die den Server betrafen gab es anfangs einige weil es darum ging die Datenverwaltung besonders effizient zu gestalten Nun war am Anfang des Thema CGI Script mit PERL relevant siehe Punkt1 2 Davon kamen wir jedoch wieder ab da erstens das zweite Softwareprojektteam JDBC einsetzt und Java Servlet besser dazu passen 3 4 Projektplan Zeitplan Der von uns geschaffene Zeitplan kann auch als Projektplan angesehen werden Es gab viele Anderungen w hrend des Projektes Diese wurden dann in den Zeitplan bernommen Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 13 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Gel Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system 1 Pr sentation 2 Pr sentation Lnformationsbeschaftung zu Datenbank JDBC Datenbank JDBC 8 9 10 11 12 13 14 15 16 17 18 19 20 Apache Tomcat JDBC Servlet Diplomarbei Hafner Dietmar Informationsbeschaffung zu WML WMLScrip zu Jav zu Servlet Hafner Dieter E Demobeispiele Java Programmierung E D ei 2 3 O E LZ Di lt S ZIEL E Gin Diplomarbei O Di EI 3 N g 3 I lt o S ei O 1 LL LI Fehlerkorrektur
89. nthalten sind muss auf diese zugegriffen werden da diese verarbeitet werden m ssen Es wird bei der SQL Query SELECT from AUFTRAG ein String zusammengebaut der bereits mit JSML ausgestattet wird und schlussendlich gesprochen wird In unserem Jahreslaborprojekt wurde schon bereits die MySQL Datenbank eingesetzt Einige Programmteile konnte wiederverwendet werden Um diese mit JAVA nutzen zu k nnen m ssen die Datenbank Treiber von MySQL verwendet werden Folgend ging man vor Das JAVA Programm wurde im Verzeichnis ausgef hrt auf welcher der CLASSPATH zeigt Weiters wurden entsprechende Dateien in dieses Verzeichnis kopiert 4 3 1 Programmteil public class SpeakableAuftrag extends Frame implements ActionListener Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 24 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen static String driver org gjt mm mysql Driver MySQL JDBC Treiber static String url jdbe mysql 127 0 0 1 WAPSCAS MySQOL DB Url static String user root MySQL Username static String passwd MySQOL Passwort Stellt die Verbindung zur Datenbank her und gibt ein ResultSet Objekt zur ck public static ResultSet getResul
90. ported catering accounting system e Skalierbarkeit Wachsende Leistungsbed rfnisse k nnen durch sukzessives Hinzuf gen einzelner Server befriedigt werden statt Totalersatz der zentralen L sung 2 2 Wahl der Server In den folgenden 3 Beispielen m chte ich M glichkeiten f r die Serverwahl n her beschreiben und Vorteile sowie Nachteile der jeweiligen Methode n her erl utern 2 2 1 Direkte berpr fung auf Funktion Am K chen PC Client ist eine Applikation gestartet die berpr ft welcher Server funktionsf hig ist und automatisch eine Verbindung zum jeweiligen Server herstellt K chen PC pplikation berpr ft Server Server n Abbildung 1 Realisierungsm glichkeiten e Java Applet im Webinterface Ein Java Applet k nnte eine berpr fung der Server durchf hren und bei einer evtl Serverfehlfunktion den Server automatisch wechseln Einziges Problem dabei ist jedoch dass es It Sun einem Applet nicht erlaubt ist mit einem anderen Host au er dem Host von dem das Applet geladen wurde zu kommunizieren e Applikation mit grafischer Oberfl che Anstatt des Webinterfaces welches im Browser ge ffnet werden kann k nnte beispielsweise eine Java Applikation die selben Funktionen wie das Webinterface Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 4 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klag
91. pplikation dient dazu um einige aufeinander folgende Datenbankupdates zu simulieren import java sql public class InsertData Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 16 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system Si try catch DriverManager getConn Raimund Hafner G nther Martina values Wienerschnitzel xecuteUpdat whispy public static void main String String String String String String ClassNotFoundExcepti System ou try stmt Class driverClass url Wopen e Kellner CREATE TABLE Kellner args mm mysql Driver jdbe mysql 127 0 0 1 WAPSCAS EM kellner_nr INTEG vorname char 15 nachname char 15 passwd char 6 H primary key kell Speisekarte CREATE TABLE Sp ER NOT NULL AUTO_INCR e ner_nr isekarte ENT name char 30 NO art ch ar 3 preis SMALLINT PRIMARY KEY name Auftrag CREATE TAB LE Auftrag T NULL ITA auftrag_nr INTEG EM ER NOT NULL AUTO_INCREMENT name char 30 Ki anzahl INTE
92. r ck Radiobuttons dienen zur Auswahl der Speise und ein Textfeld zur Eingabe des neuen Preises Mit dem Updaten Button wird das UpdateSpeise Servlet gestartet Dieses f hrt ein Datenbankupdate Wapscas updateDB aus und zeigt anschlie end die ge nderte Speisekarte an 4 1 1 3 Kellnerlogin W P Handy Kellnerlogin Fehler KellnerLogin Servlet am Server Fond Wapscas checkKellner OR W P Handy Hauptmen e es Bestellen Abrechnen Abbildung 8 Auf der WAP Startseite gelangt man zuallererst zum Kellnerlogin Hier kann der Kellner seine Nummer und sein Passwort eingeben und das Servlet KellnerLogin starten Dieses Servlet bergibt die Kellnerdaten an die Hauptklassenfunktion checkKellner und leitet je nachdem ob richtig oder falsch eingeloggt wurde zum Wapscas Hauptmen oder erneut zum Kellnerlogin weiter Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 18 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system 4 1 1 4 Bestellen WH Hand Servlet am Server Funktion in W M Hauptklasse apscas generateMermuf War ug Servlet am Server New uftrag Wapscas updateDBC Funktion in Hauptkl
93. r die G ste verkleinern 2 2 Systemeinsatz und Systemumgebung Folgende Dateneingabe vom Kunden ist erforderlich damit unser System berhaupt eingesetzt werden kann 1 Speisen und Getr nke 2 Preise 3 Tischanzahl Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 4 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system Hardware WAP Handy Im allgemeinen sollte jedes WAP Handy verwendet werden k nnen sofern es ber einen WML Browser ab der Version 1 1 verf gt Hilfreich w re jedoch ein gro es Display um eine bessere bersicht zu gew hrleisten Browser PC Der eingesetze PC muss ber keine besondere Hardware verf gen lediglich eine Online Verbindung muss vorhanden sein Es kann auch ein Notebook verwendet werden Server PC Dieser PC muss ebenfalls ber eine Online Verbindung und ausserdem ber ausreichend viel Speicherplatz verf gen Von Vorteil w re es wenn die Online Verbindung als Standleitung realisiert w re Software WML Browser am Handy Der Browser welcher am WAP Handy l uft muss lediglich die Version 1 1 aufweisen Eine weitere Konfiguration des WAP Handys muss nicht erfolgen nur mit Standardportal des GSM Netzproviders Browsersoftware am PC
94. r3user server3passwd System out println Server 10 1 11 105 ist betriebsbereit add server3aktiv else System out println Server 10 1 11 105 ist NICHT betriebsberei El remove server3aktiv remove checkStatus Entfernen der Best tigungsmeldung Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 10 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Rei Projektbezeichnung WAP supported catering accounting system 3 3 CheckServer Methode in Wapscas Hauptklasse Die Methode CheckServer versucht eine Verbindung zur Datenbank aufzubauen und liefert bei Erfolg true zur ck Sollte dabei ein Fehler auftreten wird false zur ckgeliefert was soviel bedeutet wie nicht funktionsf hig public static boolean CheckServer String url String user String passwd try g Class forName driver Connection con DriverManager getConnection url user passwd con close return true catch ClassNotFoundException cnfe Exception werden nicht zus tzlich noch ausgegeben return false catch SQLException se return false 3 4 Server berpr fung am Handy Dieses Servlet wird vor dem Kellnerlogin gestartet und dient dazu um zu berpr fen ob der ausgew hlte Server funktionsf hig
95. rd gt lt ieldset gt lt p gt lt p gt lt anchor gt Login lt go method get href http 212 186 44 92 8080 servlet KellnerLogin gt lt postfield nane kellner_nr value kellner_nr gt lt posrfield nauee ngasudl values Lo s y lt go gt Compile Kg Show Line 35 Con Messages Bookmarks Variables History WML Deck indexwml Abbildung 2 Zur Erstellung von so genannten WML Bitmaps wird ebenfalls ein eigener Editor mitgeliefert der in das Toolkit mit integriert ist sowie Bildformate wie JPEG und GIF k nnen in WBMP umgewandelt werden Das Toolkit ist in Java programmiert und verlangt somit das Java Runtime Environment JRE welches mit dem Programm mitgeliefert wird und automatisch installiert wird Weitere Funktionen Verlauf Eine History der zuletzt angezeigten Seiten am Simulator wird mitgeschrieben Sie kann manuell wieder gel scht werden und dient dazu eine Zur ck Funktion am Handy zu simulieren Bookmarks Damit ist es m glich Bookmarks von URLs zu speichern Eine Verwaltung von mehrere WAP Adressen ist somit komfortabel m glich WAPTor Dieses Programm wird beim Anbieter unseres WAP Space angeboten und empfohlen Es umfasst einen WML Editor und einen Simulator der die erstellten WML Seiten anzeigen kann Das Editor ist hnlich einem Textverarbeitungsprogramm aufgebaut und verf gt somit ber eigene Icons f r Autor Antonitsch Raimund Jahrg Erstellt 20
96. rden Die JAVA Speech API kann meist auch als Erg nzung zu bestehender Software implementiert werden Verwendung von JNI und JAVA Software Wrappers Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 7 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen JAVA Software Implementationen Sprachsynthesizer k nnen auch mit JAVA Software geschrieben werden Diese profitieren von JAV As Portabilit t Plattformunabh ngigkeit sowie auch von der Verbesserung der Ausf hrungsgeschwindigkeit von JAVA Virtual Machines Telephonie Implementationen Enterprise Telephonie Anwendungen werden bereits in reiner Hardware realisiert Es m ssen sehr viele Verbindungen unterst tzt werden und dadurch gibt es oft Ausf hrungen mit sog DSP Karten Sprachtechnologie kann auch hier eingesetzt werden in Form der JAVA Speech API in Verbindung mit JAVA Software 2 7 Hardware und Software Anforderungen Um die JAVA Speech API verwenden zu k nnen muss ein Minimum an Software und Hardware verf gbar sein Sprachverarbeitungssoftware Ein JSAPI arbeitsf higer Sprach Recognizer und Synthesizer wird ben tigt Systemanforderungen Es wird ein leistungsf higer PC vorrausgesetzt um die Sprachwiedergabe u
97. rechnung Tisch Wd EE AN Tisch a ee z M i a age Best tigung Berechnung BE Abbildung 1 2 6 Dokumentation und Pr sentation Dokumentationsumfang Richtlinien zur Erstellung Benutzerhandbuch Pr sentationen Die Dokumentation liefert grunds tzlich Information zu unserem Projekt Sie besteht aus zwei Teilen Allgemeiner Teil Verwendete Programmiersprachen eingesetzte Software und WAP Technologie und spezifischer Teil Entwicklung Programmierung Die Dokumentation ist au erhalb der Unterrichtszeit zu erstellen im Labor d rfen nur Korrekturen durchgef hrt werden Die Einhaltung der Dokumentationsrichtlinien ist zu beachten Verwendung der Software WinWord Erstellen des Inhaltsverzeichnisses abschnittsweise Gliederung Kopf und Fu zeile Die Richtlinien sind in speziellen Dokumenten vorgegeben Zeitgleich mit den 4 Milestones Kalenderwoche 45 4 17 und Diplomarbeitabschluss gibt es die entsprechenden Pr sentationen die den Projektstatus wiederspiegeln sollten Die erste Pr sentation entspricht einem Kurzreferat Dieses sollte das Plichtenheft L sungsweg und Projektplanung beschreiben Die weitere Pr sentation enth lt bereits die erste Version der Dokumentation Zus tzlich ist eine Homepage zu entwickeln und zu pr sentieren Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 7 Hafner Dietmar SAHI Ge ndert 15 09 2006
98. rer konzipiert Das Serverprogramm welches unsere Daten f r die Datenbank verwaltet wurde wie bereits erw hnt zu fr h festgelegt Hierbei kam es zu einer gro en Wende Es wird angef hrt das die Datenverwaltungsprozesse mit einen CGI Script welches in PERL programmiert wird zu realisieren sind Die Datenverwaltung wurde dann auf JDBC mit Java Servlets umgestellt Die erw hnte Monats und Tagesabrechnung wurde ein Opfer der Zeit Die Einbindung und Implementierung stellte eigentlich kein Problem dar und kann als eine Erweiterungsm glichkeit Punkt6 2 gesehen werden Das Flussdiagramm der Funktionsabl ufe wurde auch nicht ganz so umgesetzt wie es angef hrt ist Nach einer Bestellung vom Handy aus muss man sich n mlich nicht erneut einloggen Die Begr ndung liegt darin da es nicht f r sinnvoll erkl rt wurde sich ein 2 Mal einzuloggen da dadurch einige Zeit verloren geht Login ist mit Verbindungsaufbau verbunden 2 Pflichtenheft 2 1 Aufgabenstellung Softwareprojekt mit WAP Technologie Einsatzbereich Gastronomie Grunds tzlich befasst sich das Projekt mit der WAP Technologie Bei unserem Projekt liegt das Einsatzgebiet im Bereich der Gastronomie Ein Kellner eines Gastronomiebetriebes soll seine Bestellungen und Abrechnungen per WAP Handy aus bermitteln k nnen Am lokalen Standort K che mit PC der online ist werden die Daten des Kellners aufgenommen und verwaltet Dadurch sollten sich die Wartezeiten f
99. rname eingegeben Benutzername kann frei gew hlt werden Als n chstes verlangt die Anwendung nach einem Passwort welches hiermit vergeben werden kann Des wars auch schon mit dem Einrichten von Benutzern Dieser Prozess kann auf beliebig viele Benutzer angewandt werden Zu beachten ist dabei dass sich nur der Benutzername im Konsolenbefehl ndert Kopieren des Systemkernst cks Der Ordner Webinterface muss nach C Programme Apache Group Apache htdocs gezogen werden Der Ordner wml muss nach C Programme Apache Group Apache htdocs gezogen werden Die Dateien im Ordner Java Servlets muss nach C romcaf web apps ROOT web inf classes gezogen werden Starten der Anwendungen e Tomcat Server mit der Verkn pfung startup bat starten e Apache Server mit ebenfalls mit der Verkn pfung starten e MySQL per Verkn pfung starten Ausf hrungen vor dem Systemstart CreateTables in der Konsole folgend ausf hren eine MS DOS Eingabeaufforderung ffnen in den Pfad der installierten Java Servlets wechseln C romcaf web apps ROOT web inf classes und java CreateTables eingeben Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 29 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Gel Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system Die
100. rsion 1 1 Seite 12 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen CLASS Hat mehrere Werte wie DATE DIGIT LITERAL NUMBER und TIME Wichtig damit der Synthesizer spezielle Formate richtig interpretiert und ausspricht PHON Da es eine internationale Lautschrift gibt Kann diese mittels diesem Attribut eingesetzt werden 2 8 2 2 PROS Element Ein ebenfalls wichtiges Element dass das Sprachsignal beschreibt Dazu geh ren RATE Gibt die Anzahl der W rter pro Minute an Sprachgeschwindigkeit Werte n VOL Volumen 0 0 bis 1 0 PITCH Damit kann die Grundtonh he gesetzt werden RANGE Legt den Bereich der Tonh he fest Angabe in Hertz MARK Wenn dieses Element erreicht wird kann damit etwas ausgel st werden Das folgende Bild stellt den Wert f r die Tonh he Pitchrate dar Die Pitch baseline Grundtonh he liegt bei Frauen um die 140 bis 280Hz Range 80Hz und bei M nnern bei 70 bis 140Hz Range 40 80Hz 220 Haler Range t E Baseine u Hz Abbildung 8 2 9 JAVA Speech API Grammar Format JSGF Spracherkennungssysteme verleihen Computern die F higkeit der Sprache des Anwenders zu lauschen und festzustellen was gesagt wurde Bisher wurden aber noch keine Systeme
101. rted catering accounting system die Funktion updateDB in der Wapscas Klasse Wapscas updateDB welche die zuvor eingetragenen Kellnerdaten in die Datenbank schreibt Anschlie end erscheint am Webinterface die aktuelle Kellnerliste Eingabe der Speisekarte Die Eingabe der Speisekarte verl uft ziemlich hnlich wie die Kellnereingabe ber den Men punkt Speisekarte eintragen gelangt man zum Eingabeformular speisekarteeintragen html Die Daten werden eingegeben das Servlet NewSpeise NewSpeise java gestartet und anschlie end wird wieder zur aktuellen Speisekarte weitergeleitet 4 1 1 2 Datenmanipulation Nat rlich ist es auch m glich Daten die bereits in der Datenbank stehen zu l schen oder zu ndern Webinterface Speisekarte updaten Kellner anzeigen Speisekarte anzeigen l schen Servlet am Server ShowKellner ShowSpeisekarte ShowUpdateSpeise nktion in 1 Fu n Wapscas getKellnerTable Wapscas getSpeiseTable Wapscas getSpeise UpdateTable 0 Hauptklasse Servlet am Server DeleteKellner UpdateSpeise DeleteSpeise Funktion in Hauptklasse Wapscas updateDB Weiterleitung an Weiterleitung an aktuelle Kellnerliste aktuelle Speisekarte Abbildung 7 Webinterface Kellner entfernen Mit einem Klick auf den Men punkt Kellner anzeigen wird das ShowKellner Servlet gestartet Dieses Servlet startet die
102. seits das Webinterface im Internetbrowser angezeigt wird m sste ein weiteres Programm die Sprachwiedergabe Applikation zus tzlich laufen Diese Anwendung muss auf die Daten des Datenbank Servers zugreifen k nnen da man sich auf der Clientseite befindet M gliche Probleme Die Programme am Bildschirm verwirren den Anwender wenn eventuell einmal im Webinterface nachgeschaut wird welche Auftr ge es gibt sowie welche noch nicht bezahlt wurden Weiters kann es zu Schwierigkeiten kommen wenn der Internetbrowser oder die Applikation abst rzt beide nutzen die interne JAVA Virtual Machine Dies hat zur Folge wenn beide Programme abst rzen k nnten muss der Anwender nun beide wieder starten Eine Integration der Applikation in das Webinterface ist auch m glich Dies geschieht wenn die Software als JAVA Applet programmiert wird und im Internetbrowser ausgef hrt wird Das Applet wird mittles Servlet in der Internetseite eingebunden und bekommt die Daten der Auftr ge Anzahl Name und Tischnummer als Parameter bergeben Das Applet l uft ebenfalls clientseitig und muss auf die Ressourcen des Anwenders zugreifen k nnen wichtig Es muss auch beachtet werden dass immer die aktuellen Datens tze dem Applet bergeben werden Die Spracherkennungsapplikation kann wie beschrieben in Punkt 1 und 2 der L sungswege erstellt werden Entweder sie ist eine eigenst ndige Applikation oder als JAVA Applet realisiert Ein Unterschied kann a
103. ssen Es kann somit noch mit Ver nderungen hinsichtlich der Dokument Struktur gerechnet werden Ein Sprach Synthesizer verleiht einen Computer die F higkeit zu sprechen Eine Applikation stellt diesem Text zur Verf gung welcher von ihm in ein Audio Signal umgewandelt wird Sprachwiedergabe Computers Computers can speak i can Eee a Be ak 5 Application RA esizer n i i Abbildung 5 Sprach Synthesizer werden entwickelt um die Nat rlichkeit der Sprache nachzubilden Im Gegensatz zum Menschen versteht ein Sprach Synthesizer nicht was er sagt Autor Dietmar Hafner Jahrg SAHI Erstellt 19 05 2001 Ge ndert 15 09 2006 Version 1 1 Seite 9 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering a Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen JAVA Speech Markup Language verleiht einen Text welcher gesprochen werden sollte zus tzliche Eigenschaften um die Qualit t und Nat rlichkeit der k nstlichen Sprache zu verbessern Es wird auch erlaubt die Kontrolle ber die Produktion von einer k nstlichen Sprache zu bernehmen Betonung und Aussprache von W rtern Platzierung von Pausen Tonh he usw JSML wurde soweit entwickelt dass so gut wie alle Sprachen unterst tzt werden Japanisch Englisch Deutsch Spanisch Franz sisch usw
104. st tzt SAPI nur Windows Plattformen 95 98 und NT Installation und Paketumfang Es werden ebenfalls HTML mitgeliefert die eine Hilfestellung bei der Installation und Verwendung darstellen sollten Es werden f r zwei JDK Versionen die Einrichtungsvorg nge beschrieben Classpath Kopieren einer DLL und einer properties Datei Drei Beispiele werden mitgeliefert die zum Testen dienen sollten TTS HelloWorld und Speak Beispiel Vorraussetzungen f r diese API sind JDK ab 1 18 und Microsoft Speech API ab der Version 4 0 Es werden ebenfalls die Abweichungen und Ver nderungen von Sun s JAVA Speech API angef hrt Wichtig ist noch dass kein JSML unterst tzt wird und keine Spracherkennung implementiert ist 3 2 3 3 Cloudgarden s Java Speech API 1 0 Implementation for Windows Platforms Details siehe 4 Hier wird eine nahezu vollst ndige Implementation von Sun s Standard angeboten Es wird Spracherkennung mit Grammatikregeln JSGF und JSML unterst tzt Die Implementation ist ein Mischmasch aus Microsoft SAPI 5 0 in C geschrieben und JAVA Funktionen Von der SAPI werden einige Synthesizer Engines zur Verf gung gestellt Die JAVA Speech Implementierung wird also durch Hilfe von Microsofts SAPI realisiert Installation und Paketumfang JDK 1 2 oder 1 3 sowie Microsoft Speech SDK 5 0 wird vorrausgesetzt An PC Hardware wird ein PC mit Pentium II 400MHz und 256 MB als zufriedenstellende Ergebnisse liefern Wen
105. st zusammenstellen kann Wie bereits zuvor erw hnt bietet JSML einige M glichkeiten die Sprachqualit t zu verbessern Weitere M glichkeiten sich eine angenehme Sprachwiedergabe zu basteln bietet die Eigenschaften sich die Sprach Engine entsprechend einzustellen Bei der Erzeugung einer Sprach Engines kommen folgende Zeilen zum Einsatz SynthesizerModeDesc desc new SynthesizerModeDesc Locale ENGLISH synth Central createSynthesizer desc desc SynthesizerModeDesc synth getEngineModeDesc Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 19 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e sa Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen Dem Synthesizer welcher oben beschrieben wurde k nnen nun bestimmte Eigenschaften hinzugef gt werden SynthesizerProperties props synth getSynthesizerProperties Voice myvoice new Voice Male Mittleres Alter Voice GENDER_MALE Voice AGE_MIDDLE_ADULT null props setVoice myvoice props setSpeakingRate 150 0f Es kann sich eine eigene Sprache definiert werden wo Parameter wie Geschlecht und Alter einflie en Zu beachten ist das bei der API von Cloud Garden nicht alle spezifizier
106. t dass er nur noch hochgefahren werden muss Auch die Dateneingaben wurden mit Logins realisiert Zum Systembetrieb bleibt zu sagen dass die Aufnahme der Bestellung die Erfassung der Daten die Best tigung der Daten und die Abrechnung genau wie im Pflichtenheft beschrieben in die Tat umgesetzt wurden Auf einen weiterer Punkt die Einfachheit des Systems wurde ebenfalls Wert gelegt Da mit einen Webbrowser nahezu jeder heutzutage umgehen kann ist das Benutzen eines WAP Handys eine Angelegenheit Die Bedienung am WAP Handy kann nicht verallgemeinert werden da sie ger tespezifisch ist doch im Gro en und Ganzen auch keine Umst nde bereitet 1 3 Abweichung vom Pflichtenheft Wie gesagt wurde nahezu alles erreicht was wir festgelegt haben Rein der Spezifikation bei Systemeinsatz und Umgebung legte man sich verfr ht auf etwas fest worauf dann sp ter noch eingegangen wird Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 3 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system Die zu einsetzende Browsersoftware darf in unseren Fall nicht Netscape sein Eine Gestaltung f r diesen Browsertyp wurde nicht mehr eingebunden Das Webinterface ist somit f r den Microsoft Internet Explo
107. t wurden Die Programmiersprache ist wiederum JAVA da die Sprachverarbeitung ein JAVA Abk mmling ist JAVA Speech 3 2 1 JAVA Developer Kit JDK Diese Entwicklungsumgebung f r die Programmiersprache JAVA kann auf der Sun Homepage gratis heruntergeladen werden Mittlerweilen gibt es drei weitverbreitete Versionen 1 1 8 1 2 x und 1 3 Die Installation erfolgt per Setup Ist lediglich noch eine Zeile in der Autoexec bat Datei einzuf gen Win9x oder die Umgebungsvariable unter Windows 2000 zu setzen Set PATH c jdk1 x bin wenn es auf Laufwerk C installiert wurde F r die Verwendung der JAVA Speech API muss noch eine weitere Ver nderung hinzugef gt werden SET CLASSPATH c Dateiname jar JAR Files sind hnlich einem Zip File und enthalten oft viele kompilierte Klassendateien mit einer Verzeichnisstruktur Kompiliert werden JAVA Source Files in der MS DOS Kommandozeile mit dem Befehl javac Sourcefile java Ausgef hrt werden kompilierte Class Dateien mit dem Befehl java Klassendateiname Zu bemerken ist noch dass die Version von der JDK 1 2 2 ist Diese enth lt bereits die JAVA Runtime Environment Diese Version wurde eingesetzt da es bei anderen Versionen zu Problemen mit der JAVA Speech API kam Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 15 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Re
108. tSet String query throws SQLException ClassNotFoundException EEN Class forName driver Connection con DriverManager getConnection url user passwd Statement stmt con createStatement ResultSet rs stmt executeQuery query con close stmt close return rs catch ClassNotFoundException cnfe System out println cnfe return null catch SQLException se System out println se return null Liefert einen String zur ck der bereits gesprochen werden kann enth lt JSML und Auftragbest tigungsbutton zur ck SZ public static String getAuftragsTabelle throws SQLException ClassNotFoundException try String query SELECT FROM Auftrag WHERE fertig 0 name SELECT QUERY int auftrag_nr anzahl tisch_nr kellner_nr StringBuffer auftrag new StringBuffer ResultSet rs getResultSet query R ckgabe des aktuellen Result Sets name rs getString name anzahl rs getInt anzahl Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 25 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering a Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen tisch nr rs getInt tisch_nr while rs next Ein gro er String wird
109. tatus public static void main String args ServerCheck wnd new ServerCheck Erzeugen eines neuen Fensters wnd setVisible true Fenster darstellen public ServerCheck super WAPSCAS Servercheck Fenster mit Titel addwindowListener new WindowClosingAdapter true setBackground Color orange setSize 400 350 setLayout null null Layout zuweisen serverl new TextField 10 1 230 230 server2 new TextField 10 1 230 231 server3 new TextField 10 1 11 105 serverl setBounds 130 100 100 20 server2 setBounds 130 150 100 20 server3 setBounds 130 200 100 20 serverlaktiv new Label aktiv serverlaktiv setBounds 260 110 50 10 server2aktiv new Label aktiv server2aktiv setBounds 260 160 50 10 server3aktiv new Label aktiv server3aktiv setBounds 260 210 50 10 checkStatus new Label Server werden berpr ft bitte warten checkStatus setBounds 80 250 300 15 Button bBeenden new Button Beenden Button bCheck new Button Check bBeenden setBounds 260 280 100 30 bCheck setBounds 40 280 100 30 bBeenden addActionlistener this bCheck addActionLlistener this add serverl add server2 add server3 add bBeenden add bCheck public void paint Graphics g drawString drawString Welche WAPSCAS Server sind aktiv 90 50 IP
110. teile e Die Bestellung erfolgt relativ einfach e Bei Gro betrieben sehr sinnvolle Strukturierung e Wartbarkeit des Systems Nachteil e Wie zuvor die Anschaffungskosten e Ziemlich umfangreiches System eine gewisse Einschulungszeit ben tigt e Kein ansehnliches Interface zum Bestellen Kostenvergleich WAPSCAS Koschek Automatisierungstechnik Anschaffungskosten f r 8000 WAPSCAS Server PC 1 7000 K chen PC 2 1000 WAP Handy 3 16000 Koschek Anschaffungskosten f r 11200 Automatisierungstechnik Minicash 20500 SQL Box 31700 Betriebskosten monatl f r WAPSCAS 400 W P Geb hr 4 700 Onlinekosten 5 1100 Koschek Automatisierungstechnik Betriebskosten monatl EE Koschek Automatisierungstechnik Wartungskosten keine Angabe SL PC mittlerer Ausstattung Dan ein etwas schw cherer bzw lterer PC kann verwendet werden internetf higkeit muss nur gegeben sein T Preis entspricht bei Erstanmeldung eines GSM Anbieters konkret auf ein Nokia Model bezogen FA Tarifmodel von ONE herangezogen ie Flatrateonlineanbindung von Telekabel Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 9 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system 3 2 Entw
111. ten Altersgr en verwirklicht wurden Enthalten sind Age Child Teen Adult oder Senior wobei alle Sprachen von der SAPI auf Adult gesetzt werden Vordefinierte Spracheigenschaften der SAPI k nnen auch verwendet werden Es stehen drei zur Auswahl Microsoft Mike Microsoft Sam oder Microsoft Mary In meinen Programmteil wurde die Sprache von Microsoft Mike eingesetzt da sie sehr gut verstanden werden konnte Man muss jedoch beachten dass in dieser JSAPI Version kein R enthalten ist und deutsche W rter englisch ausgesprochen werden Sprachumsetzung Daf r ist die SAPI 5 0 von Microsoft zust ndig F r Windowsplattformen stellt sie die Verbindung von einem Programm C oder JAVA zu der Hardware her Dies ist wiederum praktisch da man sich um hardwarenahe Programmierung somit keine Gedanken machen muss Das Interface von einen JAVA Programm zur Hardware wird auch JNI JAVA Native Interface genannt Es werden nun die Code Teile der Datei SpeakableAuftrag java gezeigt Sprachprogrammteil Diese Funktion erzeugt eine Sprach Engine ENGLISH Microsoft Mikes Stimme Wwort pro Minute Rate 170 Volume ganz aufgedreht somit auch den Speicherbereich public Synthesizer CreateSynthesizer Synthesizer synth null EEY SynthesizerModeDesc desc new SynthesizerModeDesc Locale ENGLISH synth Central createSynthesizer desc desc SynthesizerModeDesc synth getEngineModeDesc
112. terface wbmp Wireless Bitmap Graphikformat welches am WAP Handy angezeigt werden kann 4 4 Testdokumentation Um unser Projekt testen zu k nnen bedarf es einiger Einrichtungen wie Internetserver Client PC und einem WAP Handy Da diese Einrichtungen an der Schule nur teilweise vorhanden sind mussten wir eine andere L sung finden unser Projekt testen zu k nnen Der Serverbetrieb wurde dann auf den PC von Herrn Hafner umgelegt Dies hatte zur Folge das bei der Programmierung unseres Projektkernst cks den Java Servlets zwischen zwei unterschiedlichen IP Adressen unterschieden werden musste PC in der Schule PC zu Hause Die Funktionalit t der Servlet konnte in den Unterrichtsstunden probiert werden was wieder ein gro er Vorteil war Konfigurationen der Serverprogramme wurden auch in der Schule entwickelt und am PC der zu Hause stand angepasst Die eigentlich Testumgebung unseres Projektes belief sich auf drei Betriebssysteme Microsoft Windows 98 2000 Advanced Server und SuSE Linux Aufgrund der Plattformunabh ngigkeit der Java Dateien kam es zu keinen erw hnenswerten Problemen Da auch WAP mit im Spiel war wurden die Seiten zun chst nur auf einen WAP Simulator betrachtet In weiterer Folge war dieses Testen nicht mehr m glich da generierte Seiten von Simulatoren nicht richtig dargestellt werden konnten Somit musste zum wirklichen WAP Handy gegriffen werden Dies erschwerte die Arbeit etwas die im ersten
113. tor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 24 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J J Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system 4 2 2 Servlets Die folgenden Servlets werden vom Webinterface aus gestartet und dienen zur Datenein bzw Datenausgabe Da alle Servlets vom Aufbau her ziemlich hnlich sind und sich nur die Namen der Funktionsaufrufe ndern werden folgend nur 2 Servlets n her erl utert n here Beschreibung gt Javadoc auf Projekt CD Servlet NewKellner Dieses Servlet bekommt Kellnerdaten von einer HTML Form schreibt diese Daten in die DB gibt eine Best tigungsmeldung aus und leitet zur Kellnerausgabe weiter import java io import java sql import javax servlet import javax servlet http public class NewKkellner extends HttpServlet public void doGet HttpServletRequest request HttpServletResponse response throws ServletException IOException response setContentType text html PrintWriter out response getWriter String insert INSERT INTO Kellner vorname nachname passwd VALUES request getParameter vorname DI request getParameter nachname I request getParameter passwd try Wapscas update
114. tra e Re Abteilung Elektronik Technische Informatik amp Internet Engineering Projektbezeichnung WAP supported catering accounting system stmt executeUpdate inser values Indianer mit Schlag nsp 35 into Speisekarte De ru TT stmt executeUpdate insert into Speisekarte values Tomatensuppe vsp 40 stmt executeUpdate insert into Speisekarte values Bier OSIN ere 2805 stmt executeUpdate insert into Speisekarte values Cola 0 31 IGELN SSES 40 weitere Inserts folgen noch catch SQLException exc System out println SOLException exc getMessage Zun chst wird eine Verbindung zur Datenbank aufgebaut Anschlie end werden die 3 Tabellen erzeugt Danach folgen 50 aufeinanderfolgende Inserts 4 2 2 Kommunikationsaufwand Mit Hilfe des Fluke Protocol Inspectors wurde der Kommunikationsaufwand der aufgrund der Testapplikation zwischen den Server entstand ermittelt Status Elapsed sec sec Size Destination 5 0080C8B90E0C 000021EC5323 TCP DP 1039 SP 3306 SEQ 306185 ACK 82154196 LEN 181 WIN 8723 PSH 5 GE 0080C8BI0EOC TCP_DP 3306 SP oaa SEQ 62154136 ACK 306366 LEN 0 DE 17170 por MEO Ee 000021EC5323 C SEQ AC 2154196 36 WI 6 00S0CSEI0EOC 000021EC5323 TCP DP 1039 S EN 6 0080C8B90E0C 000021EC5323 TCP DP 1039 SEQ 308812 ACK 82154196 LEN 1460 W DS 6 063108 1518 00
115. u einigen Problemen die nun folgend erl utert werden Am Anfang ergab sich das Problem mit den JAVA Speech APIs Es standen mehrere zur Auswahl doch nur eines davon funktionierte einwandfrei Um die APIs doch zum laufen zu Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 26 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering a Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen bekommen wurden auch verschiedene Versionen der JDK verwendet Letztlich war die JDK 1 2 2 eine guter Kompromiss Die Cloudgarden API wurde somit f r die JAVA Speech Programmierung eingesetzt Zu bemerken ist noch dass die Microsoft SAPI 5 0 installiert werden muss um diese API zu verwenden Diese SAPI ben tigt jedoch mehr als 150 MB Speicherplatz wobei das JAR File der API lediglich 100kByte ben tigt Die zweite API die probiert wurde war jene von IBM Diese st rzte jedoch mit folgender Fehlermeldung immer ab Abbildung 10 Diese Anwendung wird aufgrund eines ung ligen Rasen Vorgangs geschlossen Wenden Sie sich an den Hersteller falls das Problem Abbildung 11 Das Problem lag darin dass bei der Microsoft JAVA Virtual Machine die keine JNI unterst tzte Eine JNI stellt die Verwendung zur Hardware des Systems her Doch auc
116. u ine 27 4 5 Kin rneeesnrseniiniehesenbsssakheshsstabrnanresehiheeshbnaheekenahepsnbehhenrensheskherheprapehhert hhkhnrenhehiossheht nheder n ehe 28 5 Ben tzerdokument tion nH2neetesn ere ankra a aa EDak eE tanari ke ia E aaia ai becker 28 5 1 Installation und Konfiguration f r Win32 Svsteme nennen 28 5 2 Bedienungsanleitung f r das Webunterface nenne none 30 5 3 Bedienungsanleitung f r das WAP Interface A 34 5 4 M gliche Fehlermeldungen Web und WAP Interface 37 5 4 1 KE el EE 37 5 4 2 WAP ee 39 CN DISKUSSION E 40 6 1 Probleme bei der Projektentwicklung AA 40 6 2 Erweiterungsm glichkeiten 4 2 22 22 82 essen Ban Anus 40 6 3 Vorschl ge f r weitere Entotcklung nn 41 EN En ra 42 Anhang A Anhang B Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 2 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system 1 Kurzbeschreibung des Projektes WAPSCAS bedeutet Wireless Application Protocol Supported Catering Accounting System was soviel hei t wie W P unterst tztes Gastronomie Abrechnungssystem WAPSCAS ist ein System dass den Bestell und Abrechnungsvorgang in einem Gastronomiebetrieb beschleunigen soll Jeder Kellner kann mit Hilfe eines WAP f higes Handys die Bestellung d
117. und Fertigstellung III Abbildung 5 Kritische Teile des Zeitplan waren in die ersten Wochen der Projektarbeit St ndig wurde etwas ver ndert Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 14 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik Projektbezeichnung W PSCAS W P supported catering accounting system 3 5 Projekttagebuch Woche Antonitsch Hafner 43 Arbeitseinteilung Arbeitseinteilung 44 LINUX Installation amp Konfiguration WML Editor ausw hlen sowie Einarbeiten mit Visual Age 45 MySQL Installation amp Konfiguration Visual Age 46 Datenbank erstellen Visual Age 47 JDBC Programmierung erste Versuche Visual Age 48 JDBC Programmierung WML WAPTor Programmierung 49 Tomcat Installation amp Konfiguration Java Servlets Grundlagen WAP Seiten Gestaltung 50 Kellner eintragen Webinterface Prototyp Umstellung weg von Visual Age 51 Kellner ausgeben Webinterface 52 Kellner l schen Verbesserung des Webinterface 1 Speisen eintragen Verbesserung des Webinterface Datenbankankopplung Speisen ausgeben Speisen 2 l schen amp updaten Verbesserung des Webinterface Fehlerabfragen Speisen ausgeben Speisen 3 l schen amp updaten Verbesserung des Webinterf
118. undanz der Servet E 6 2 3 1 E de Te E 6 2 32 Datenbankseilis use messe 7 3 Prakuische RE 7 3 1 Allpemeines une el 7 3 1 1 Java AWT Abstract Window Toolkit 2u02222220000nsnnnnnenennnnennnennnnnnennennnn 7 3 1 2 Replikation m NEBOL nee 8 3 2 Grafische Jaya Applikation nassen ee 8 3 3 CheckServer Methode in Wapscas Hauptklasee AAA 11 3 4 Serveruberprunune am Handy ana 11 3 5 KEE een E 12 Er BEE Din Sen ee ee ee 13 4 1 Java Applikaton EE 13 4 2 Bervor Bedudanz 2 sinne 15 4 2 1 Tesepplkalan Eege 16 4 2 2 Kommu nikationsaufwand u a 18 3 elteren 19 Autor Antonitsch Jahrg Erstellt 10 5 2001 Version 1 2 Seite 2 Raimund SAHI Ge ndert 15 09 2006 Datei Diplomarbeit doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering dei Projektbezeichnung WAP supported catering accounting system 1 Aufgabenstellung 1 1 Allgemeines Eine der am h ufigsten gestellten Fragen ber WAPSCAS war Was passiert wenn der Server ausf llt oder die Verbindung zu ihm nicht mehr besteht Die Antwort darauf war dass bei Auftreten dieses Falles das ganze System lahmgelegt ist und keine Bestellungen mehr entgegengenommen werden bzw keine Abrechnung mehr erfolgen k nnte zumindest nicht auf digitalem Wege 1 2 Pflichtenheft Es sollte ein theoretisches Modell erstellt werden wie eine Client Serverkopplung im Internet ausfallsic
119. uptmen wechseln Dienste w hlen dann zu Adresse und folgendes eingeben http 212 186 44 92 9080 wml index wml Zu beachten ist dabei das der am Ende nicht vergessen wird Um nun nicht immer m hselig die gesamte Adresse eingeben zu m ssen kann die Adresse auch als Lesezeichen gespeichert werden Danach sollte nach ein paar Sekunden folgender Bildschirm erscheinen Abbildung 18 Es muss nun auf Weiter geklickt werden klicken in dem Sinn gibt es nicht doch anw hlen mit den Pfeilen am Handy und Optionen Ausw hlen dr cken Danach erscheint z B Folgendes Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 34 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Nr J Abteilung Elektronik Technische Informatik EJ Projektbezeichnung W PSCAS W P supported catering accounting system H Abbildung 19 Kellnernummer und Kellnerpasswort m ssen eingegeben werden um fortfahren zu k nnen Beim richtigen Logindaten wird man zum Hauptmen des WAP Interfaces weitergeleitet bei falschen Daten kommt man zum Anfang zur ck Nun kann mit der Kellnerei begonnen werden Neue Bestellung wird somit angew hlt um Bestellungen aufnehmen zu k nnen Der Bildschirm am Handy sieht dann z B so aus Abbildung 20 Bei einer neuen Bestellung muss
120. ynth DEALLOCATED catch Exception el System out println API wurde heruntergefahren Autor Dietmar Jahrg Erstellt 19 05 2001 Version 1 1 Seite 21 Hafner SAHI Ge ndert 15 09 2006 Datei Diplomarbeitdoku doc HTBL Klagenfurt M ssingerstra e Abteilung Elektronik Technische Informatik amp Internet Engineering Rei Projektbezeichnung Sprachverarbeitung bei elektronischen Bestellsystemen 4 2 Graphische Programmierung JAVA wurde von Anfang an so entwickelt dass eine graphische Oberfl che zur Verf gung gestellt werden kann Die gesamte Graphikbibliothek wird als Abstract Windowing Toolkit AWT zusammengefasst Die F higkeiten von AWT l sst sich in 4 Gruppen unterteilen Einfache graphische Operationen zum Zeichnen von Linien oder F llen von Fl chen und zur Ausgabe von Text Eventhandling f r den Programmablauf Maus Tastatur und Fensterereignisse Dialogboxen Darstellung von Bitmaps und Ausgabe von Sound Ziel ist es auch graphische Anwendungen auf verschiedene Plattformen ann hernd hnlich ablaufen zu lassen Besondere Eventverarbeitung ist notwendig um die Performance von JAVA Programmen nicht zu mindern 4 2 1 Programmteil public static void main String agrs SpeakableAuftrag window new SpeakableAuftrag Objekt erzeugen von Konstruktor der Klasse window setVisible true public Sp
121. zw false zur ck Sie wird beim Kellnerlogin verwendet public static boolean checkKellner String kellner_nr String passwd throws SQLException ClassNotFoundException Diese Query liefert ein Passwort bei geg Kellnernummer zur ck String query SELECT passwd FROM Kellner WHERE kellner_nr kellner_nr ResultSet rs getResultSet query if rs getString passwd equals passwd berpr fung return true OK else return false Fehler Methode generateMenu Diese Methode erstellt WML Code f r das WAP Bestellmen in Abh ngigkeit der aktuellen Speisetabelle Wird immer dann gestartet wenn der Kellner eine neue Bestellung aufnehmen will public static String generateMenu throws SQLException ClassNotFoundException StringBuffer menu new StringBuffer Erzeugen eines Stringbuffers hinzuf gen m glich Querries f r Getr nke Vorspeisen Hauptspeisen und Nachspeisen String selectGtr SELECT name FROM Speisekarte WHERE art gtr String selectVsp SELECT name FROM Speisekarte WHERE art vsp Autor Antonitsch Raimund Jahrg Erstellt 20 4 2001 Version 1 3 Seite 23 Hafner Dietmar SAHI Ge ndert 15 09 2006 Datei Jahresproj Doku HTBL Klagenfurt M ssingerstra e Ne Abteilung Elektronik Technische Informatik a Projektbezeichnung W PSCAS W P supported catering accounting system SELECT n
Download Pdf Manuals
Related Search
Related Contents
50ml マニュアルガン取扱説明書 Kenwood KDC-5026 CD Player User Manual DSO Planner v3.0 Altronix SAV18D power extension 『刀剣乱舞-ONLINE-せりふかるた』 2015年10月6日(火 P372 Licence Plate Recognition Camera User Manual MX49/MX61 Owner`s Manual 大規模共有メモリーシステムでの GAMESSの利点 User`s manual FLIR CM83 Copyright © All rights reserved.
Failed to retrieve file