オブジェクト情報

ビジネスオブジェクト情報ステージでは、プロセス情報ステージと非常によく似た一連の構成オプションと追加のオプションを使用できます。

グローバルコード

グローバルコードセクションでは、コードステージで記述されたさまざまなコードをビジネスオブジェクト全体で結び付けることができます。

グローバルコードセクションに書かれたコードは、Microsoft VB.NETクラスを形成します。ここで宣言されている関数とメンバー変数の有効範囲はビジネスオブジェクト全体にわたり、コードステージから参照できます。個々のコードステージで宣言されたメソッドは同じクラスにコンパイルされ、グローバルコードセクションと他のコードステージの両方から参照できます。

COMオブジェクトを使用している場合は、ここで宣言、インスタンス化、破棄して、複数のコードステージで状態が保持されるようにできます。

グローバルコードセクションでは、外部のダイナミックリンクライブラリ(dllファイル)を参照してクラス関数を宣言できます。これを行うには、[外部参照]に行を追加して外部ライブラリの場所を参照します。

Microsoft .NETクラスライブラリ(System.Xml名前空間など)を参照するときは、2つのことを行う必要があります。まず、適切な外部参照を参照し、上の手順に従って追加する必要があります。次に、名前空間のインポートを追加する必要があります。たとえば、System.Xml.dllをインポートするときは、System.Xmlを名前空間のリストビューに追加する必要があります。

利用できる言語:Microsoft VB.NETまたはMicrosoft C#.NET。各言語の言語仕様については、Microsoftのリファレンスマニュアルを参照してください。言語を選択したら、その言語を現在のビジネスオブジェクト内のすべてのコードステージで一貫して使用する必要があります。1つの言語を使用していくつかのステージを作成し、別のステージに異なる言語を使用することはできません。

[チェックコード]ボタンを押すと、コード(とすべてのコードステージ)の有効性をチェックできます。

ビジネスオブジェクトの実行モードを設定することもできます。プロセスの実行モードは、使用される各ビジネスオブジェクトの最も制限的な実行モードによって決まります。ビジネスオブジェクト実行モードは、バックグラウンド、フォアグラウンドまたは排他的のいずれかです。

  • 排他的プロセスを他のプロセスと同時に実行することはできません。
  • フォアグラウンドプロセスはバックグラウンドプロセスと並行してのみ実行でき、一度に実行できるフォアグラウンドプロセスは1つだけです。
  • バックグラウンドプロセスは、排他プロセスを除く他のプロセスと一緒に実行できます。

共有オブジェクトと共有可能オブジェクト

ビジネスオブジェクトを共有可能としてマークすると、そのアプリケーションモデルを他のビジネスオブジェクトと共有できます。他のモデルを共有するビジネスオブジェクトは、共有と呼ばれます。

共有可能または共有ビジネスオブジェクトが複数回参照されると、それらはビジネスオブジェクトの単一インスタンスとやりとりできます。

共有ビジネスオブジェクト内のアクションを参照するためにアクションステージがプロセス内で使用される場合、各呼び出しはモデルと関連付けられたアプリケーションの単一のインスタンスに送信されます。

例:以下の図は、オブジェクトCという名前の共有可能オブジェクトが、アクションステージを使用してさまざまな場所から参照されていることを示しています。主なプロセスは次のとおりです。メインプロセスがオブジェクトA内とオブジェクトB内にあり、オブジェクトCは共有可能なビジネスオブジェクトであるため、関連付けられているアプリケーションの初期化は1回だけ行われ、オブジェクトAから要求されたログインもオブジェクトBで使用できます。

図1:共有/共有可能なビジネスオブジェクトの単一インスタンスを示します

対象アプリケーションの個別のインスタンスを起動する必要がある場合は、ビジネスオブジェクトが共有アプリケーションモデルで設定されている場合、サブプロセスを使用してのみ実現できます。

例:以下の図は、自動化ルートノードがプロセスかオブジェクトかに関係なく、共有可能/共有ビジネスオブジェクトの個別のインスタンスが各サブプロセス内に提供されることを示しています。

図2:サブプロセスを使用して共有/共有可能ビジネスオブジェクトの複数のインスタンスを開始するプロセス

図3:サブプロセスを使用して共有/共有可能ビジネスオブジェクトの複数のインスタンスを開始するビジネスオブジェクト

上の振る舞いは、共有されていないまたは共有できないビジネスオブジェクトとは対照的です。ビジネスオブジェクトが共有できない/共有されていない場合は、アクションステージを使用するたびに、モデルとそれに関連付けられたアプリケーションの新しいインスタンスが作成されます。この振る舞いによって、特定のアプリケーションの複数のインスタンスが必要な場合、特にそれらと同時にやりとりする場合のシナリオをより簡単に実現しやすくなります。

例:以下の図は、オブジェクトCという名前の共有できないオブジェクトがアクションステージを使用して参照されるたびに、そのオブジェクトと関連するアプリケーションの個別のインスタンスが発生することを示しています。これは、オブジェクトAが要求したアプリケーションのログインアクションを、オブジェクトBが使用できないことを意味します。以下の例では、オブジェクトCと関連アプリケーションのインスタンスが3つあります。

図4:共有できない/共有されていないビジネスオブジェクトの複数のインスタンス