Client-Server Aplikation mit Java
Aus ProgrammingWiki

Inhaltsverzeichnis |
Client-Server Aplikation mit Java
Mit Hilfe des relationalen Datenbank-Management-System Apache Derby lassen sich mit Java und der Java SQL-API ,Client-Server Anwendungen realisieren.Das Java Programm importiert das java.sql Paket,dadurch lassen sich SQl-Anweisungen in Java Programmen ausführen.Desweiteren muss bei der Arbeit mit Eclipse ,die Bibliothek derbyclient.jar im Classpath referenziert werden. Die realisierte Applikation besteht aus drei Clients die unabhängig voneinander auf eine Server-Datenbank des Apache-Derby Servers zugreiffen.Die verwendete Programmiersprache ist Java und die dazugehörige Java-SQL API.Es gibt einen Client der den Ticketverkauf als Geschäftsprozess realisiert und einen Client der den Produktverkauf eines Kinos realisiert.Desweiteren einen Client zum Administrieren der gesamten Datenbank der Kinokette,er realisert die Gesamte Datenverwaltung und Auswertung für die Kinokette.Jeweils ein Kino besitzt daher für die Umsetzung seines Geschäftsprozesses ,den Client für den Ticketverkauf und den Client für den Produktverkauf in einfacher oder mehrfacher Anzahl aber mit den gleichen Netzwerk und Verkaufseinstellungen.
Ausführen von SQL-Anweisungen
Mit der Java SQL API lassen sich SQL Anweisungen ausführen. Dieses Beispiel verdeutlicht die Anweisungsfolge zum Ausführen einer SQL-Anweisung. Es muss immer ein Statement Objekt angelegt werden,welches den SQL-Text ausführt. Hierbei ist es Statement s
Updates werden mit der folgenden Anweisung ausgeführt:
Ausführen von SQL-Inserts
Durch folgende Anweisungsfolge lassen sich am besten Inserts,in bestehende Tabellen realisieren. Die Anweisungsfolge setzt vorraus das ein Connection Objekt existiert.Beim Insert werden die jeweiligen Spalten der Tabelle direkt angesprochen,man beginnt immer mit Spalte eins.
Auswerten von SQL-Selects
Die Auswertung von einem Select ist zum Beispiel nötig um die ID's von Tabellen dynamisch bei jedem Insert generieren zu lassen.Man bestimmt die Anzahl der ID's und generiert anhand dessen die folgende ID für den nächsten Insert,in die Tabelle.Das folgende Beispiel zeigt wie Inserts in die Tabelle Kino gemacht werden.Dabei werden die Daten des Selects immer vorher in einem Resultset zwischengespeichert.
Geschäftsprozess
Das Geschäftsprozessmodell verdeutlicht den gesamten Geschäftsprozess einer Kinokette als Datenbankverwaltung.Dieser besteht aus der Verwaltungsplanung und dem Auswerten der Daten .Zur Verwaltungsplanung gehört es die bestehenden Kinodaten erstmal nacheinader mit gegenseitigem Bezug einzutragen ,in die angelegte Datenbank.Zur Auswertung der Daten gehören die Prozesse der Datenerfassung,Datenauswertung und Datenänderung .Die Datenerfassung erfolgt durch die Clients Ticketverkauf und Produktverkauf Parallel .Die Datenauswertung erfolgt anhand der erfassten Daten und liefert dem Administrator bzw. dem Manager Daten als Anschaugsobjekte in Tabellenform.Die Datenänderung erfolgt optional für die vom Administrator oder Manager ausgewählten und erfassten Datenobjekte.
Use Cases
USE-Cases für den Client Ticketverkauf
Der Ticketverkauf umfasst das Erfassen der Besucherdaten den Verbindunsaufbau zum Datenbankserver,das Ausstellen der Tickets durch den Verkeufer und den Verkaufstransfer der Daten zum Datenbankserver ,wobei nebenbei eine Belegausgabe der Tickets für den Besucher erfolgt.Desweiteren ermöglicht der Client eine Rückgabe der Tickets ,anhand erfasster Besucherdaten.
USE-Cases für den Client Produktverkauf
Der Produktverkauf umfasst das Erfassen der Besucherdaten und Datenbankeinstellungen zur jeweiligen Vorführung,durch den Produktverkeufer.Der Produktverkeufer initiiert den Produktverkauf an den Besucher und den Verkaufsdatentransfer an die Datenbank sowie die Belegausgabe an den jeweiligen Besucher.
USE-Cases für den Client Administrator
Der Administrator Verwaltet und legt die Datenbank an.Er verwaltet alle dem Datenbankschema entsprechenden Datentabellen.Und wertet die Daten nach bestimmten Kriterien aus indem er sich ausgewälte Daten anzeigen lassen kann bzw. löschen kann.
Das Datenbankschema der Datenbank auf dem Server
Die Clients Administrator,Ticketverkauf und Produktverkauf bauen zur folgenden Datenbank eine Verbindung während des Geschäftsprozesses auf.
Folgende Verbindungseinstellungen werden dabei von den Clients verwendet:
Das Datenbankschema besteht aus mehreren Tabellen,diese werden innerhalb des Clients Administrator, beim Aufruf erzeugt.Wenn aber schon eine Datenbank auf dem Server besteht,so wird diese nicht nochmal erzeugt.Sondern es wird die erzeugte Datenbank mit den gespeicherten Daten verwendet.Die SQL -Anweisungen zur erzeugung sind als Stringvariablen im Client Administrator folgendermassen definiert:
Zu jeder Tabelle definiert der Client Administrator alle notwendigen SQL-Anweisungen innerhalb von Methoden.Eine Anweisungsfolge zum Einfgen von Kinos:
Löschen von Kinos mit einem bestimmten Namen:
Eine Anweisungsfolge zum Löschen der Verkaufsdaten :
Der Umsatz zum Warenverkauf pro Kino:
Der Gesamtumsatz pro Film:
Mittlere Auslastung pro Saal:
Saal mit einem bestimmten Namen Löschen:
Einfügen eines Films:
Löschen eines Films:
Einfügen einer Vorführung:
Update des Preises für die Vorführungen eines Films:
Löschen einer bestimmten Vorführung:
Verkaufte Tickets in einem bestimmten Zeitraum:
Verkaufte Tickets pro Monat:
Gesamtumsatz durch Ticketverkauf:
Verkaufte Tickets pro Kino,Film und Monat:
Einfügen eines Produktes:
Löschen eines bestimmten Produktes:
Löschen von Produkten ohne Verkauf:
SQL-Anweisungen des Clients Ticketverkauf
Der Verkaufstransfer bei einem Ticketverkauf geschieht nachdem die Besucherdaten und die Ticketdaten erfasst worden sind.Es wird bei jedem Ticketkauf ,eines Besuchers zu einer Vorührung ,ein Warenkorb ,nebenbei angelegt.Und Inserts in die Tabellen Besucher,Ticket und Warenkorb gemacht,dazu wir aber vorher geprüft ob es genug freie Plätze im Saal gibt ,dazu wird die Ticketanzahl mit der bestimmten Anzahl der freien Platze im betroffenem Saal vergliechen,sollte es freie Plätze geben so wird ein Insert in die Besucher und Tickettabelle gemacht,wobei die Ticketnummer aus den Daten zum Ticketkauf generiert wird.
Folgende SQL-Anweisungen werden beim Ticketkauf verwendet:
Bei der Rückgabe der Tickets werden die Tickets zum Besucher und Vorführung aus der Tickettabelle gelöscht.Dazu werden folgende SQL-Anweisungen verwendet:
SQL-Anweisungen des Clients Produktverkauf
Beim Produktverkauf wird jeweils in die Tabelle ProdInKorb eingetragen und eine Rechnung im Client Produktverkauf ausgegeben.Zu jedem Kunden wird beim Kauf eine Rechnung dynamisch erstellt und ausgegeben,am Ende wird immer die Gesamtsumme ausgegeben.
Dazu werden folgende SQL-Anweisungen verwendet:
Die GUI des Clients Administrator
Die Graphische Benuzeroberfläche des Clients Administrator ermöglicht es dem Manager oder dem Administrator der Kinokette alle Verkaufsdaten der einzelnen Kinos zu verwalten.Zur Verwaltung der Daten sind nur die Tabellen Kino,Film,Vorführung,Ticket,Saal interessant da nur diese Tabellen direkt vom Administrator bei der Verwaltung angesprochen und beschrieben werden.Weitere Tabellen dienen nur zur Speicherung der Zwischenergebnisse.Zur GUI des Clients Administrator gehören die Klassen Administrator,AdminTable,EinstAdmin,WwdUtils.Die Klasse Administrator Enthält die eigentliche Benutzeroberfläche.Diese besteht aus einzelnen TabedPane's zu den einzelnen Tabellen.Zu jedem Tabed Pane gibt es ein Panel auf dem die einzelnen Bedienelemente wie Buttons und Textfelder angeordnet sind. Auf die Klasse AdminTable wird zugegriffen um die Daten der Tabellen darzustellen oder um einzelne Werte aus diesen sichtbar auszuwählen durch linksklick der Maustaste.Zu Begin des Geschäftsprzesses werden die Tabellen Kino,Saal,Film,Vorführung mit Daten nacheinander beschrieben ,da z.Bsp. das Beschreiben der Tabelle Vorführung durch Auswahl der Daten aus den Tabellen Saal und Film uber die Methoden der Klasse AdminTable geht.Vor jeder Bedienung muss aber einmalig die IP des Datenbankservers im Menüpunkt Einstellungen gesetzt werden.
Verwalten von Kinos
Kinos können eingefügt und gelöscht werden.Zum Einfügen wird der Name in ein Textfeld eingetragen,danach wird der Button Einfügen gedrückt.Das Löschen funktioniert analog. Weitere Buttons führen die auf ihnen stehenden Funktionen aus.Diverse Fehlermeldungen werden im großen Textfeld angezeigt.
Verwalten von Sälen
Die Attribute eines Saal werden nacheinander eingetragen in die Textfelder danach wird das Button mir dem aufgeschriebenem Befehl gedrückt.In die Textfelder für Datumswerte kommen nur Datewerte ohne Zeitangabe rein.
Verwalten von Filmen
Das Verwalten von Filmen benötigt nur den Eintrag eines Filmnamens in die benötigten Textfelder.
Verwalten von Vorführungen
Zum Verwalten von Vorführungen sind Eintragungen in die beschriebenen Textfelder nötig.Über die Buttons Säle werden die SID's per Mausklick aus der geöffneten Tabelle gewählt,genau so wie die FID's mit dem Button Filme.Zum Update der Preise für die Vorführungen eines Film ist die SID,FID und die neue aktuelle Preisnagabe notwendig.
Verwalten von Tickets
Die Verkauften Tickets in einem bestimmten Zeitraum können mittels Button Anzeige angezeigt werden.Und der Gesamtumsatz des Ticketverkaufs kann mit dem Button Gesamtumsatz zu einem bestimmte Zeitraum angezeigt werden.
Verwalten von Produkten
Produkte können angezeigt,gelöscht und eingefügt werden.Zum Löschen ist die Eingabe des Namens notwendig.
Die GUI des Clients Ticketverkauf
Zur GUI Des Clients Ticketverkauf gehören die Klassen Ticketverkauf,StartTV,EinstTV und TicketTable.Mit der Klasse Ticketverkauf ruft der der Benutzer alle anderen Klassen auf ,fals erforderlich.Zu Beginn des Ticketverkaufs stellt der Benutzer im Menüpunkt DB-Einstellungen die Verbindungseinstellungen zum Server und seinen Kinonamen ein.Anhand folgender Benutzeroberfläache werden die Daten des Besuchers erfasst ,die Tickets ausgestellt oder zurückgegeben,beim Zurückgeben ist die Angabe der Ticketanzahl unnötig. Die Klasse Tickettable dient zum Darstellen der für den Verkauf notwendigen Ticketdaten.Die Klasse StartTV dient zum Starten der GUI.
Die GUI des Clients Produktverkauf
Zur GUI des Clients Produktverkauf gehören die Klassen Produktverkauf,ProduktTable,StartPV,TicketEinst.Mit der Klasse Produktverkauf ruft der Benutzer alle anderen Klassen fals erforderlich auf.Die Klasse StartPV dient zum Starten der GUI.Ist die Benuzeroberfläche sichtbar so werden im Menüpunkt DB-Einstellungen alle notwendigen Einstellungen gemacht wie die Enstellung der aktuellen Vorführung und des Kinonamens.Beim Produktverkauf wird der Name des Besuchers der die aktuellen Tickets vorweist erfasst,um den Produktkauf für diesen zu machen.Die Produkte werden danach ausgewält anhand der GUI von der Klasse ProduktTable und damit,mit dem Klicken der Linken Maustaste eingetragen.Beim Produktkauf wird nebenbei die aktuelle Rechnung im Textfeld erstellt.
Darstellung eines Verkaufs an den Kunden bob mit seiner Rechnung als
Ausgabe:
Tabellendarstellung der Daten
Alle Cleints verwenden eine Tabellendarstellung der Daten zur Ansicht oder zum Auswählen bestimmter Objekte.Diese Tabellendarstellung beruht bei allem auf ein und demselben Prinzip.Das Zugreifen auf Zellen einer Graphischen Tabelle wird ermöglicht und der MouseListener der JTable dieser Klassen wird aktiviert. Somit kann auf die Inhalte der Zellen durch Mausklicks zugegriffen werden und eine Auswahl der Inhalte als Stringobjekte erfolgen.Ein Ausschnitt der Klasse ProduktTable verdeutlicht dieses Prinzip.
Ausführbare Versionen und Quellcode
![]() | Siiggeig_Ausfürbare_Versionen.zip (6.3 MB) |
![]() | Siiggeig_Quellcode.zip (0.2 MB) |
![]() | Siiggeig_Beleg.pdf (0.4 MB) |