Client-Server Aplikation mit Java
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
== 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'''
<code>
static Statement s;
public static void DfKI(String name ){
try {
Create (if needed) and connect to the database
conn = DriverManager.getConnection(connectionURL);
System.out.println("Connected to database " + dbName);
s = conn.createStatement();
s.execute("DELETE FROM Kino WHERE Name= "+"'"+name+"'");
s.close();
conn.close();
} catch (SQLException e) {
errorPrint(e);
System.out.println(" . . . exception thrown:");
String a=e.getMessage();
tex3.setText(a);
}
}
</code>
==== 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.
<code>
static Connection conn = null;
public static void SetInSaal(int id,String name,int kid,int pl){
try {
// Create (if needed) and connect to the database
conn = DriverManager.getConnection(connectionURL);
System.out.println("Connected to database " + dbName);
psInsert = conn.prepareStatement("INSERT INTO Saal(SID,Name,KID,Plaetze) values (?,?,?,?)");
psInsert.setInt(1,id);
psInsert.setString(2,name);
psInsert.setInt(3,kid);
psInsert.setInt(4,pl);
psInsert.executeUpdate();
conn.close();
psInsert.close();
} catch (SQLException e) {
errorPrint(e);
System.out.println(" . . . exception thrown:");
String a=e.getMessage();
tex3.setText(a);
}
}
</code>
== 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.
[[Bild:Siiggeig_GeschaftsPrzs.PNG]]
=== 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.
[[Bild:Siiggeig_UsecTverk.PNG]]
==== 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.
[[Bild:Siiggeig_PVUSE.PNG]]
==== 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.
[[Bild:Siiggeig_Mu.PNG]]