コネクターには階層を持つビジネス・オブジェクトが必要です。トップレベルのビジネス・オブジェクトには属性が格納されています。その値は、宛先 URL ストリング、データの MIME タイプ、ビジネス・オブジェクトのプレフィックス、さらには要求および応答のビジネス・オブジェクトです。
図 6 は、WebSphere Business Integration Server Express Adapter for XML のトップレベルのビジネス・オブジェクトに必要な基本構造を示したものです。
例えば、2 つのビジネス・オブジェクト XMLApp_CustCreateRequest および XMLApp_CustCreateResponse を作成する場合、コネクター用のトップレベルのビジネス・オブジェクト定義は次のようになります。
XMLApp_CustCreate URL String MimeType String BOPrefix String Response XMLApp_CustCreateResponse Request XMLApp_CustCreateRequest
Business Object Designer Express を使用して、要求および応答のビジネス・オブジェクトを作成します。トップレベルのビジネス・オブジェクト定義を作成し、必須属性を要求および応答ビジネス・オブジェクトに追加します。次に、トップレベルのビジネス・オブジェクトをサポートするようにコネクターを構成します。
トップレベルのビジネス・オブジェクトには、URL ストリング、MIME タイプ、BOPrefix、要求ビジネス・オブジェクト、および応答ビジネス・オブジェクトに対応した属性が 1 つ以上必要です。これらの各属性を IsRequired = True としてマークする必要があります。
表 9
に、トップレベルのビジネス・オブジェクトの必須属性の説明を示します。詳細については、以降のセクションを参照してください。
表 9. トップレベル XML ビジネス・オブジェクトの必須属性
属性 | タイプ | 説明 |
---|---|---|
URL | ストリング | 宛先の URL。 |
MimeType | ストリング | トランザクションに使用される MIME タイプ。 |
BOPrefix | ストリング | MIME タイプとともに、XML データ・ハンドラーのインスタンス作成に使用されます。 |
応答 | ビジネス・オブジェクト | 応答メッセージを表すビジネス・オブジェクト。"要求ビジネス・オブジェクトと応答ビジネス・オブジェクト"を参照。 |
要求 | ビジネス・オブジェクト | 要求メッセージを表すビジネス・オブジェクト。トップレベルのビジネス・オブジェクトでは、応答ビジネス・オブジェクトに対応する属性の後に、この属性を設定してください。 |
URL ストリングは、ビジネス・オブジェクト内のデータの宛先と、データを渡すときに使用されるプロトコルを定義します。このストリングには、プロトコル (HTTP や HTTPS など) を含む宛先全体が設定されるため、プロトコルを指定する別の属性は必要ありません。
コネクターは、URL ストリングを使用して、宛先 URL との接続を開設します。接続が開設されると、コネクターは URL ストリングを使用して、適切なプロトコル・ハンドラーのインスタンスを作成します。
例えば、http://www.ibm.com というストリングは、HTTP プロトコルが使用されること、および HTTP プロトコル・ハンドラーのインスタンスが作成されることを指定します。
MIME タイプは、URL に渡されるデータの内容タイプと形式を定義します。コネクターは MIME タイプを使用して、適切なデータ・ハンドラーを起動します。メタオブジェクトは、その MIME タイプと BOPrefix の組み合わせを処理するデータ・ハンドラーのインスタンスを指定するものです。実装されたデータ・ハンドラーで処理できる MIME タイプが 1 つだけである場合、子メタオブジェクトでの BOPrefix 属性の指定は任意です。トップレベルのビジネス・オブジェクトの場合、BOPrefix は必須です。
特に指定しない限り、コネクターは MIME タイプを text/xml と見なしますが、コネクターの設定によって他の MIME タイプを使用することもできます。
コネクターは、BOPrefix と MimeType 属性の組み合わせに基づいて適切なデータ・ハンドラーを起動します。この属性は、ビジネス・オブジェクト名の一意性を保証するために必要な属性です。例えば、2 つのアプリケーション AppA_PO および AppB_PO に対応して 2 つの仕入れ注文ビジネス・オブジェクトを設定できます。
URL から XML ストリームが戻ると、XML データ・ハンドラーは XML ストリームのルート・エレメント名を、ビジネス・オブジェクト定義 BOPrefix_name にマップします。ルート・エレメント名の値は、必ず BOPrefix の値の後に置かれます。
例えば、XML 文書のルート・エレメントが <Customer> で、BOPrefix=AppA の場合、BOPrefix_Name は AppA_Customer となります。
要求と応答のビジネス・オブジェクトには、宛先 URL に渡される実際のデータが格納されています。コネクターがトップレベルのビジネス・オブジェクトを受け取ると、要求ビジネス・オブジェクトのみが取り込まれます。応答ビジネス・オブジェクトは、宛先 URL から戻されたデータとともに取り込まれます。
トップレベルのビジネス・オブジェクト内の要求および応答のビジネス・オブジェクトを定義するとき、次のガイドラインに従ってください。
コネクターに対応するトップレベルのラッパー・ビジネス・オブジェクトには任意の WebSphere Business Integration Server Express Adapter ビジネス・オブジェクトを格納できますが、格納されたビジネス・オブジェクトのデータは、データの変換に使用されるデータ・ハンドラーの要件に準拠した形式でデリバリーされることが必要です。
例えば、BySize データ・ハンドラーの場合、ビジネス・オブジェクト定義は、各ビジネス・オブジェクトの MaxLength 属性プロパティーに対して値を指定することが必要です。XML データ・ハンドラーの場合、ビジネス・オブジェクト定義には、データ・ハンドラーによる XML 文書の生成を可能にするアプリケーション固有情報が必要です。
したがって、処理されるデータの型ごとに、専用のビジネス・オブジェクトを作成しておくことが望ましいやり方です。ビジネス・オブジェクトには、アプリケーションが必要とするデータとデータ・ハンドラーが必要とする情報のみを設定します。こうして作成されたビジネス・オブジェクトをトップレベルのコネクター・ビジネス・オブジェクトに格納することができます。