Business-Objekt-Technologie und -Programmierung basieren auf dem Konzept der "Business-Objekte". Reale Objekte, wie z. B. ein Mitarbeiter oder ein Kundenauftrag, werden in betriebswirtschaftlichen Anwendungssystemen, wie den SAP-Systemen, als Business-Objekte abgebildet.
SAP-Business-Objekte kapseln die SAP-Daten und Geschäftsprozesse und verbergen auf diese Weise die Struktur- und Implementierungsdetails der zugrundeliegenden Daten.
Um diese Kapselung zu erzielen, sind die SAP-Business-Objekte als Entitäten aus mehreren Schichten angelegt:
Die innerste Schicht des SAP-Business-Objekts ist der Kern, der die eigentlichen Daten des Objekts darstellt.
Die zweite Schicht, die Integritätsschicht, stellt die betriebswirtschaftliche Logik des Objekts dar. Sie umfasst Geschäftsregeln ("Business Rules") zur konsistenten Einbettung in das Umfeld und Einschränkungen ("Constraints") bezüglich Werten und Domänen, die für das Business-Objekt gelten.
Die dritte Schicht, die Schnittstellenschicht, beschreibt Implementierung und Struktur des SAP-Business-Objekts und definiert die Schnittstelle des Objekts zur Außenwelt.
Die vierte und äußerste Schicht eines Business-Objekts ist die Zugriffsschicht. Sie definiert die Technologien, mit denen externer Zugriff auf die Objektdaten möglich ist, z.B. COM/DCOM (Component Object Model/Distributed Component Object Model).
Die nachfolgende Grafik illustriert die verschiedenen Schichten eines Business-Objekts:
Zugriff auf Business-Objekte
Wie in der obenstehenden Grafik zu sehen ist, trennt die Schnittstellenschicht die Daten eines Business-Objekts von den Anwendungen und Technologien, mit denen auf diese Daten zugegriffen wird. Nach außen zeigen die SAP-Business-Objekte nur ihre Schnittstelle, die aus einer Reihe klar definierter Methoden besteht. Anwendungen können auf die Daten des Business-Objekts nur über dessen Methoden zugreifen.
Ein Anwendungsprogramm, das ein SAP-Business-Objekt und seine Daten nutzen möchte, benötigt nur die Informationen zur Ausführung der Objektmethoden. Auf diese Weise kann ein Anwendungsprogrammierer mit den SAP-Business-Objekten arbeiten und ihre Methoden aktivieren, ohne die zugrundeliegenden Implementierungsdetails des Objekts zu kennen oder in Betracht ziehen zu müssen.
Die Methoden, die einem Business-Objekt zugeordnet sind, stellen das Verhalten des Objekts dar. Wird eine Methode mit einem Business-Objekt ausgeführt, kann sie den internen Status des Objekts, d. h. die Daten des Objekts, ändern.
Ein Beispiel für eine Methode, die für den Business-Objekttyp Employee (Mitarbeiter) ausgeführt werden kann, ist die Methode "Existenz des Mitarbeiters prüfen".
Innerhalb eines SAP-Systems sind alle SAP-Business-Objekttypen und ihre Methoden im Business Object Repository (BOR) gekennzeichnet und beschrieben.
Objekttypen und Objektinstanzen
Jedes einzelne Business-Objekt gehört, abhängig von der Art und den allgemeinen Merkmalen des Objekts, zu einer spezifischen Objektklasse. Diese Objektklassen werden als Objekttypen bezeichnet. So gehören beispielsweise die einzelnen Mitarbeiter in einem Unternehmen alle zum Objekttyp Employee.
Die Objekttypen sind Beschreibungen der tatsächlichen SAP-Business-Objekte, die in einem SAP-System existieren können, d.h. jedes einzelne SAP-Business-Objekt ist eine spezifische Darstellung oder Instanz seines Objekttyps. So ist beispielsweise der Mitarbeiter mit dem Namen Karl Müller und der Mitarbeiternummer 1234 eine Instanz des Objekttyps Employee.
Beim Schreiben von objektorientierten Anwendungsprogrammen definieren Anwendungsentwickler die Objekttypen, die von ihren Programmen verwendet werden sollen. Während der Laufzeit greift das Anwendungsprogramm dann auf die spezifischen Instanzen der definierten Objekttypen zu.
Wenn eine Instanz eines Business-Objekts von einem Anwendungsprogramm verwendet wird, spricht die Objektinstanz nur auf die Merkmale und Methoden an, die für ihren eigenen Objekttyp definiert wurden. Die SAP-Business-Objekttypen werden durch folgende Eigenschaften definiert:
Objekttyp
Dieser beschreibt die Merkmale, die alle Instanzen dieses Objekttyps gemeinsam haben. Hierzu gehören Informationen wie z.B. der eindeutige Name des Objekttyps, seine Klassifizierung und das Datenmodell.
Schlüsselfelder
Die Schlüsselfelder eines Objekttyps bestimmen die Struktur eines Kennzeichnungsschlüssels, der einer Anwendung einen eindeutigen Zugriff auf eine spezifische Instanz des Objekttyps gewährt. Der Objekttyp Employee und das Schlüsselfeld Employee.Number sind Beispiele eines Objekttyps und eines entsprechenden Schlüsselfelds.
Methoden
Eine Methode ist eine Operation, die mit einem Business-Objekt ausgeführt werden kann und Zugriff auf die Objektdaten ermöglicht. Eine Methode ist durch einen Namen und eine Reihe von Parametern und Ausnahmen definiert, die zur Nutzung der Methode vom aufrufenden Programm bereitgestellt werden können oder müssen. BAPIs sind Beispiele für derartige Methoden.
Attribute
Ein Attribut enthält Daten über ein Business-Objekt und beschreibt daher ein bestimmtes Objektmerkmal. Employee.Name ist beispielsweise ein Attribut des Objekttyps Employee.
Ereignisse
Ein Ereignis signalisiert, dass in einem Business-Objekt eine Statusänderung eingetreten ist.
Vererbung und Polymorphismus
Ein Ziel und der Hauptvorteil der objektorientierten Technologie ist die Wiederverwendbarkeit der Software.
Die Wiederverwendung von Softwarecode wird durch die Ableitung neuer Objekttypen von vorhandenen Objekttypen erzielt. Wenn ein Objekttyp aus einem vorhandenen Objekttyp generiert wird, wird der neue Objekttyp als "Subtyp" (oder Subklasse) und der vorhandene Objekttyp als übergeordneter Typ ("Supertyp" oder Superklasse) bezeichnet. Der Objekttyp Employee ist beispielsweise ein Subtyp, der vom übergeordneten Typ Person abgeleitet wurde. Für die Begriffe "Subtyp" und "Supertyp" werden manchmal auch die Synonyme "Subklasse" bzw. "Superklasse" verwendet.
Ein Subtyp erbt alle Eigenschaften und Methoden, die für den übergeordneten Typ gültig sind, von dem der Subtyp abgeleitet wurde. Der Subtyp kann jedoch auch über zusätzliche Eigenschaften und Methoden verfügen oder die Methoden, die er vom übergeordneten Typ geerbt hat, mit einem anderen Verhalten implementieren. Die Tatsache, dass dieselbe Methode verschiedene Verhaltensarten in unterschiedlichen Business-Objekttypen auslösen kann, wird als Polymorphismus bezeichnet.
Weitere Information zu Business-Objekten finden Sie in der Dokumentation zum SAP Business Workflow.