意味
ビジネスオブジェクトテクノロジとプログラミングは、ビジネスオブジェクトの概念に基づいています。従業員や受注などの実際のオブジェクトは、SAPシステムなどのビジネスアプリケーションシステムではビジネスオブジェクトとして表すことができます。
SAPビジネスオブジェクトは、基礎となるデータの構造と実装の詳細を隠しながら、SAPデータとビジネスプロセスをカプセル化します。
構造
このカプセル化を実現するために、SAPビジネスオブジェクトは複数のレイヤーを持つエンティティとして作成されます。
-
SAPビジネスオブジェクトの中核となるのは、オブジェクトの固有のデータを表すカーネルです。
-
2番目の層である整合性層は、オブジェクトのビジネスロジックを表します。これは、環境に一貫して埋め込むためのビジネスルールと、ビジネスオブジェクトに適用される値とドメインに関する制約で構成されます。
-
3番目のレイヤーであるインターフェースレイヤーは、SAPビジネスオブジェクトの実装と構造を記述し、オブジェクトの外界へのインターフェースを定義します。
-
ビジネスオブジェクトの4番目の最外層はアクセス層であり、COM / DCOM((コンポーネントオブジェクトモデル/分散コンポーネントオブジェクトモデル)など、オブジェクトのデータへの外部アクセスに使用できるテクノロジを定義します。
以下の図は、ビジネス・オブジェクトのさまざまなレイヤーを示しています。
統合
ビジネスオブジェクトへのアクセス
図が示すように、インターフェース層は、ビジネス・オブジェクトのデータと、それにアクセスするために使用されるアプリケーションおよびテクノロジーを分離します。外部には、SAPビジネスオブジェクトは、明確に定義されたメソッドのセットで構成されるインターフェイスのみを公開します。アプリケーションは、オブジェクトのメソッドを介してのみビジネスオブジェクトデータにアクセスできます。
SAPビジネスオブジェクトとそのデータにアクセスしたいアプリケーションプログラムは、メソッドを実行するために必要な情報のみを必要とします。したがって、アプリケーションプログラマーは、SAPビジネスオブジェクトを操作して、オブジェクトの基礎となる実装の詳細について何も知らなくても、メソッドを呼び出すことができます。
ビジネスオブジェクトに関連付けられた一連のメソッドは、オブジェクトの動作を表します。メソッドがビジネスオブジェクトで実行されると、メソッドはオブジェクトの内部状態、つまりオブジェクトのデータを変更できます。
たとえば、ビジネスオブジェクトEmployeeで使用できる1つの方法は、「従業員の存在を確認する」ことです。
SAPシステムでは、すべてのSAPビジネスオブジェクトタイプとそのメソッドが定義され、ビジネスオブジェクトリポジトリ(BOR)に記述されます。
オブジェクトタイプとオブジェクトインスタンス
個々のビジネスオブジェクトは、オブジェクトの性質と一般的な特性に応じて、特定のオブジェクトクラスに属します。これらのオブジェクトクラスは、オブジェクトタイプと呼ばれます。たとえば、組織で働く個々の従業員はすべて、従業員オブジェクトタイプの一部です。
オブジェクトタイプは、SAPシステムに存在できる実際のSAPビジネスオブジェクトの説明です。つまり、各SAPビジネスオブジェクトは、そのオブジェクトタイプの表現またはインスタンスです。たとえば、Charlie Jonesという名前で従業員番号1234の従業員は、 Employeeオブジェクトタイプのインスタンスです。
オブジェクト指向アプリケーションプログラムを作成する場合、開発者はプログラムで使用されるオブジェクトタイプを識別します。実行時に、アプリケーションプログラムは定義されたオブジェクトタイプの特定のインスタンスにアクセスします。
アプリケーションプログラムがビジネスオブジェクトのインスタンスを使用する場合、オブジェクトインスタンスは、それ自体のオブジェクトタイプに対して定義された特性とメソッドのセットにのみ応答します。SAPビジネスオブジェクトタイプは、次のように定義されます。
-
オブジェクトタイプ
オブジェクトタイプは、そのオブジェクトタイプのすべてのインスタンスに共通する機能を記述します。これには、オブジェクトタイプの一意の名前、その分類、データモデルなどの情報が含まれます。
-
キーフィールド
キーフィールドは、アプリケーションがオブジェクトタイプの特定のインスタンスにアクセスできるようにする識別キーの構造を決定します。オブジェクトタイプEmployeeとキーフィールドEmployee.Numberは、オブジェクトタイプと対応するキーフィールドの例です。
-
メソッド
メソッドは、ビジネスオブジェクトに対して実行でき、オブジェクトデータへのアクセスを提供するアクティビティです。メソッドは、名前と、メソッドを使用するために呼び出し側プログラムによって提供できる、または提供する必要のあるパラメーターと例外のセットによって定義されます。BAPIはそのようなメソッドの例です。
-
属性
属性は、ビジネスオブジェクトの特定のプロパティを記述します。たとえば、 Employee.NameはEmployeeオブジェクトタイプの属性です。
-
イベント
イベントは、ビジネスオブジェクトのステータスが変更されたことを示します。
継承とポリモーフィズム
オブジェクト指向テクノロジの目的と主な利点の1つは、ソフトウェアの再利用性です。
ソフトウェアコードの再利用は、既存のオブジェクトタイプから新しいオブジェクトタイプを派生させることによって実現されます。オブジェクトタイプが既存のオブジェクトタイプから生成される場合、新しいオブジェクトタイプはサブタイプと呼ばれ、既存のオブジェクトタイプはスーパータイプと呼ばれます。たとえば、オブジェクトタイプEmployeeは、スーパータイプPersonから派生したサブタイプです。同義語のサブクラスとスーパークラスは、サブタイプとスーパータイプに使用されることがあります。
サブタイプは、その子孫であるスーパータイプに対して定義されたすべてのプロパティとメソッドを継承しますが、追加のプロパティとメソッドを持つこともできます。サブタイプは、スーパータイプから継承されたメソッドに対して異なる動作を実装する場合もあります。ポリモーフィズムは、同じメソッドがさまざまなビジネスオブジェクトタイプでさまざまなタイプの動作をトリガーする場合を説明するために使用される用語です。
ビジネスオブジェクトの作成の詳細については、 SAPビジネスワークフローの文書を参照してください。