> Inhalt: JavaScout Fat-Client-Framework (FCF)

> Verzeichnis der Dokumente mit den theoretischen Grundlagen 

Business-Object – Überblick über die Funktion zum Abfragen und Speichern von Daten

* Bitte beachten Sie die Hinweise und Bestimmungen bezüglich Urheberrecht, Haftungsausschluß und geschützte Marken oder Warenzeichen die für dieses Web-Dokument und möglicherweise auch für 'verlinkte' Dokumente gelten.

  • Der Betreiber dieser Web-Site (www.javascout.biz) ist nicht verantwortlich für den Inhalt von Web-Sites, die innerhalb dieses Web-Dokumentes oder anderer Dokumente von www.javascout.biz verlinkt sind.

  • Wenn dieses Web-Dokument oder andere Dokumente dieser Web-Site (www.javascout.biz) Rechte von Ihnen verletzen, oder sie glauben, daß Rechte Anderer (Dritter Personen) dadurch verletzt werden, informieren Sie bitte den Betreiber dieser Web-Site.
    Eine E-Mail können Sie ganz einfach durch anklicken des Symbols oder Textes im Frame rechts oben senden.

Dieses Dokument drucken.

 Letzte Bearbeitung dieses  Dokuments:
2008-04-10


Voraussetzungen für das Verständnis dieses Dokuments:

* Kenntnisse über relationale Datenbanken.
* Kenntnisse über die Funktion von Klassen und Methoden in Java.

Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:

Das ist ein Dokument zur Erklärung des theoretischen Hintergrundes über das Konzept von Business-Objects (Geschäfts-Objekten), die Daten aus mehreren Datenbank-Tabellen zusammenfassen.
Der Zeitaufwand hängt stark von Ihren Vorkenntnissen ab und reicht von 5 Minuten für ein Überfliegen des Inhaltes bis zu mehr als 1 Stunde für eine intensive Auseinandersetzung mit der Materie.

Dieses Dokument gibt einen Überblick wozu ein Business-Object (BO) sinnvoll verwendet werden kann.

Ein BO enthält eine Datenstruktur in der Form, wie sie bei der Abwicklung eines Geschäftsfalles sinnvoll angewendet werden kann.
Das bedeutet, daß die Daten aus mehreren Datenbank-Tabellen im BO zusammengefaßt sind.

Als Beispiel für die Erklärungen in diesem Dokument wird die 'Rechnung' verwendet.
Dies deswegen, weil sich die Daten einer Rechnung nicht in einer Datenbank-Tabelle abbilden lassen ohne alle Regeln für den Entwurf relationaler Datenbanken zu verletzen.

Inhaltsverzeichnis

Vorbedingungen 
Warum ist die Verwendung von BO (Business-Objects) sinnvoll ? 
* Warum nicht gleich Objekt-Datenbanken (statt relationale Datenbanken) ? 
* BO können Methoden enthalten, die die Datenintegrität prüfen 
* Java kann die komplexe Struktur eines BO über ein Netzwerk übertragen 
Wie werden die Daten eines BO über das Netzwerk 'kopiert' 
Weitere Schritte und verwandte Dokumentation
 

Vorbedingungen

Keine speziellen; Sie sollten aber Grundkenntnisse über den Entwurf von relationalen Datenbank-Tabellen und die Variablen und Methoden in Java-Klassen haben.

zum Inhaltsverzeichnis

Warum ist die Verwendung von BO (Business-Objects) sinnvoll ?

. . . . und nicht die Verwendung von 'Etwas', das mehr Rücksicht auf die entworfenen Datenbank-Tabellen nimmt ?

Tabellen in relationalen Datenbanken müssen – grob gesprochen - den Regeln folgen, daß der Wert von Attributen, die nicht als Schlüssel definiert sind, eindeutig von dem jeweiligen Schlüssel abhängen und die Kombination der Werte, die den Schlüssel bilden, nur einmal vorkommen darf.

Am Beispiel einer Rechnung:

Die Grafik zeigt, in welchen Datenbank-Tabellen die Daten für ein einfaches BO für eine 'Rechnung' gehalten werden.

zum Inhaltsverzeichnis

Warum nicht gleich Objekt-Datenbanken (statt relationale Datenbanken) ?

Mit der Weiterentwicklung und Einsatzreife objekt-orientierter Datenbanken stellen Sie sich vielleicht jetzt die Frage, warum überhaupt BO entworfen werden sollen.

Ich will Ihnen nicht abraten, gleich eine objekt-orientierte Datenbank einzusetzen – aber einige Überlegungen auflisten, die Sie bei der Entscheidung berücksichtigen sollten.

zum Inhaltsverzeichnis

BO können Methoden enthalten, die die Datenintegrität prüfen

In den BO können Methoden programmiert werden die komplexe Prüfungen auf Datenintegrität durchführen können.

Zum Beispiel kann beim Löschen eines Produktes geprüft werden, ob eine Bestellung für dieses Produkt an einen Lieferanten gesendet wurde.
In diesem Fall kann das Löschen verweigert werden solange die Bestellung nicht storniert wurde.

Ähnliche Prüfungen sind auch über 'Stored Procedures' bei relationalen Datenbanken möglich.
Ich persönlich habe aber die Erfahrung gemacht, daß die Suche von Fehler in 'Stored Procedures' ungleich schwieriger ist als das 'Debuggen' einer Methode in einem BO.

zum Inhaltsverzeichnis

Java kann die komplexe Struktur eines BO über ein Netzwerk übertragen

Java hat die Fähigkeit, ein beliebig aufgebautes Java-Objekt (und damit auch ein Objekt einer BO-Klasse) über ein Netzwerk mit TCP/IP-Protokoll zu übertragen.
Diese Technologie von Java wird als RMI (Remote Management Invocation) bezeichnet.
Die Methoden von RMI müssen aber nie explizit aufgerufen werden – sie sind in den Klassen für das Aufrufen von EJB (Enterprise Java Beans) enthalten.

Die graphische Darstellung eines Beispiels zeigt, wie die Variationen eines BO auf Client- und Server-Seite zusammen arbeiten.

Zuerst das Abfragen von Daten:

Dann das Ändern von Daten:

zum Inhaltsverzeichnis

Wie werden die Daten eines BO über das Netzwerk 'kopiert'

Java bietet mit der Remote Management Invocation (RMI) die Möglichkeit, ganze Objekte über ein TCP/IP-Netzwerk zu übertragen und eine Methode auf dem entfernten Computer auszuführen.

Diese Möglichkeit wird genutzt, um beim Lesen von Daten das passende BO auf der Server-Seite zu konstruieren, die Methode zur Abfrage auf der Datenbank aufzurufen und dann den jenen geerbten Teil des BO, der hauptsächlich die Variablen mit den Werten enthält (General Class) auf die Client-Seite zu übertragen und die Daten auf das BO der Client-Seite zu übertragen.

Beim Schreiben passiert das Übertragen der Daten in der Gegenrichtung (Client-Seite zu Server-Seite) und dann wird beim passenden BO auf der Server-Seite die Methode zum Ändern der Daten auf der Datenbank aufgerufen.

Hier eine schematische Darstellung der Zusammenarbeit der verschiedenen abgeleiteten Arten der Business Objekte.
Kursiv geschriebene Teile der Klassen-Namen sind symbolische Namen und werden durch den Namen der Anwendung (app) und den Namen des BO (entity) ersetzt.

zum Inhaltsverzeichnis

Weitere Schritte und verwandte Dokumentation

Dokument

Inhalt

JavaScout Fat-Client-Framework > Theoretische Grundlagen der Datenspeicherung mit Business-Objects (Geschäfts-Objekten)

Liste der Dokumente mit detaillierten Beschreibungen. 

zum Inhaltsverzeichnis