Client-Server Aplikation mit Java
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 de�niert:
Zu jeder Tabelle de�niert 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 betro�enem 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:
