
Geschäftsobjekte
Ein Geschäftsobjekt (BO - Business Object) ist ein Behälter für Anwendungsdaten, wie zum Beispiel Daten für einen Kunden oder eine Rechnung. Durch Geschäftsobjekte werden Daten zwischen Komponenten ausgetauscht. Die zugrunde liegende Struktur eines Geschäftsobjekts ist eine XML-Schemadefinition (XSD).
SCA (Service Component Architecture - Servicekomponentenarchitektur) stellt das Framework für die Definition eines Anwendungsmoduls, der von ihm bereitgestellten Services, der von ihm verwendeten Services und der Zusammenstellung von Komponenten bereit, die die Geschäftslogik des Anwendungsmoduls zur Verfügung stellen. Geschäftsobjekte spielen in der Anwendung eine wichtige Rolle, denn sie definieren die Geschäftsdaten, mit denen die Service- und Komponentenverträge beschrieben werden, sowie die Geschäftsdaten, die von den Komponenten verarbeitet werden.

Ein Geschäftsobjekt enthält Felder, die über einen Namen, einen Typ (Skalartyp oder anderes Geschäftsobjekt), einen Standardwert (für Skalartypen) und eine Kardinalität verfügen. Geschäftsobjekte können andere Geschäftsobjekte durch Überordnungs-/Unterordnungsbeziehungen erweitern (also eine Obergruppe von Feldern definieren). Ein Geschäftsobjekt kann jedoch immer nur Daten von einem einzigen übergeordneten Element übernehmen. Diese Objekte können auch in Kombination miteinander verwendet werden, um eine Task auszuführen.
Geschäftsobjektfelder
Im Wesentlichen sind Geschäftsobjektfelder die Mechanismen, durch die Sie definieren, welche Informationen in einem Geschäftsobjekt gespeichert werden sollen und wie auf diese Informationen zugegriffen werden soll. Geschäftsobjektfelder dienen zur Definition des Inhalts eines Geschäftsobjekts. Jedes Feld hat einen Namen, einen Typ, eine Kardinalität und weitere optionale Eigenschaften. Nachdem Sie ein Geschäftsobjekt erstellt haben, können Sie dessen Felder mit dem Geschäftsobjekteditor erstellen oder ändern. Ein Geschäftsobjekt ist lediglich ein Container für die Daten, die in seinen Feldern angegeben sind. Ein leeres Geschäftsobjekt ohne Felder ist nutzlos, da es keine Möglichkeit besitzt, tatsächlich Daten aufzunehmen.
Wenn Sie jedoch ein Geschäftsobjekt erstellen und ein Feld mit dem Namen "customerName" und dem Typ "string" hinzufügen, können Sie das Geschäftsobjekt zu einem Zweck verwenden. Mit jedem neu hinzugefügten Feld erhöht sich die Zweckmäßigkeit des Geschäftsobjekts. Wenn Sie zum Beispiel ein Feld customerID" vom Typ "int" und ein Feld customerAddress vom Typ "string" hinzufügen, haben Sie ein Geschäftsobjekt mit nützlichen Informationen, das Sie in beliebiger Weise verwenden können. Sie können es zum Beispiel an einen Web-Service übergeben, um eine Bonitätsprüfung für einen Kunden auszuführen. Sie können Ihrem Geschäftsobjekt sogar ein Element "salesContact" vom Typ "Employee", d. h. ein anderes Geschäftsobjekt, hinzufügen. Ein Geschäftsobjekt kann auch andere Geschäftsobjekte als Daten enthalten, sodass Geschäftsobjekte bei entsprechendem Bedarf sehr komplexe Datencontainer darstellen können.
Programmiermodell für Geschäftsobjekte
Das Programmiermodell für Geschäftsobjekte besteht aus einer Reihe von Java-Schnittstellen, die Folgendes darstellen:- Geschäftsobjektdefinition und Instanzdaten
- Gruppe von Services, die die Operationen für die Geschäftsobjekte unterstützen
Definitionen von Geschäftsobjekttypen werden durch die Schnittstellen 'commonj.sdo.Type' und 'commonj.sdo.Property' dargestellt. Das Programmiermodell für Geschäftsobjekte bietet eine Reihe von Regeln für die Zuordnung von XML-Schemainformationen für komplexe Typen zur Typschnittstelle und für die Zuordnung der einzelnen Elemente in der Definition des komplexen Typs zur Eigenschaftenschnittstelle.
Geschäftsobjektinstanzen werden durch die Schnittstelle 'commonj.sdo.DataObject' dargestellt. Das Programmiermodell für Geschäftsobjekte ist nicht typisiert. Dies bedeutet, dass dieselbe Schnittstelle 'commonj.sdo.DataObject' für die Darstellung verschiedener Geschäftsobjektdefinitionen (z. B. 'Customer' und 'Order') verwendet werden kann. Die Definition, welche Eigenschaften in jedem Geschäftsobjekt festgelegt und aus diesem abgerufen werden können, werden durch Typinformationen bestimmt, die in dem jedem Geschäftsobjekt zugeordneten XML-Schema definiert sind.
Das Verhalten des Programmiermodells für Geschäftsobjekte basiert auf der Spezifikation von 'Service Data Object 2.1'. Zusätzliche Informationen enthalten die Spezifikation, die Lernprogramme und Javadocs für 'SDO 2.1 for Java', die Sie im Internet unter der Adresse http://www.oasis-opencsa.org/ finden.
Geschäftsobjektservices unterstützen viele Lebenszyklusoperationen (z. B. Erstellung, Gleichheit, Parsing und Serialisierung) für Geschäftsobjekte.
Spezifikationen zum Programmiermodell für Geschäftsobjekte finden Sie in der Dokumentation zu generierten APIs und SPIs für Geschäftsobjekt.
Bindungen, Datenbindungen und Datenhandler
Wie in Abbildung 1 gezeigt, werden Geschäftsdaten, mit denen von SCA-Anwendungsmodulen bereitgestellte Services aufgerufen werden, in Geschäftsobjekte transformiert, damit die SCA-Komponenten die Geschäftsdaten bearbeiten können. Die von SCA-Komponenten bearbeiteten Geschäftsobjekte werden analog in das Datenformat konvertiert, das von den externen Services benötigt wird.In manchen Fällen (beispielsweise bei der Web-Service-Bindung) transformiert die Bindung, die zum Exportieren und Importieren von Services verwendet wird, die Daten automatisch in das geeignete Format. In anderen Fällen (beispielsweise bei der JMS-Bindung) können Entwickler eine Datenbindung oder einen Datenhandler bereitstellen, von der/dem nicht native Format in Geschäftsobjekte transformiert werden, die durch die Datenobjektschnittstelle (DataObject) dargestellt werden.
Weitere Informationen zum Entwickeln von Datenbindungen und Datenhandlern enthalten die Themen Datenhandler und Datenbindings.