ビジネス・インテグレーション・アプリケーションを開発するときに、 JSP ファイル、JAR ファイル、Web プロジェクト、Java™ プロジェクト、 および J2EE プロジェクトなどのリソースとを操作する必要がある場合があります。 このトピックでは、プロジェクトとリソースをセットアップして、 これらを正常にビルドし、WebSphere® プロセス・サーバーにデプロイできるようするために役立つ情報を提供します。
Web プロジェクトが別の EAR ファイルに存在する場合、JSP ファイルは別のモジュールにあり、 JSP ファイルが別のモジュールのサービスと連動するにはインポートとエクスポートが必要です。
モジュール・アセンブリーでスタンドアロン参照を使用するサンプルの JSP コードを以下に示します。
com.ibm.websphere.sca.Service bankService = (com.ibm.websphere.sca.Service)com.ibm.websphere.sca.ServiceManager.INSTANCE.locateService("BankServicePartner"); => "BankServicePartner" 参照名はモジュールの sca.references ファイルから付けられています (例えば、<reference name="BankServicePartner">...)。. このファイルは、配線エディターでスタンドアロン参照を作成した後で存在します。 com.ibm.websphere.sca.scdl.OperationType operationType = bankService.getReference().getOperationType("openAccount"); => 操作タイプを使用して、呼び出し操作に渡す必要がある DataObject タイプを取得します。 com.ibm.websphere.bo.BOFactory factory = (com.ibm.websphere.bo.BOFactory) new com.ibm.websphere.sca.ServiceManager().locateService("com/ibm/websphere/bo/BOFactory"); => ビジネス・オブジェクトを作成するためのファクトリーを取得する標準的な方法です。 commonj.sdo.DataObject input = factory.createByType(operationType.getInputType()); => 操作が入力として予想する正しい種類のデータ・オブジェクトを作成します。 commonj.sdo.DataObject customer = input; => ここでは、ラップ済み入力はないものと想定します。 if(operationType.isWrapperType(operationType.getInputType())) { => この場合に参照を呼び出すには、インターフェースの WSDL ファイルで定義したラッパーを受け渡す必要があります。そのため、ラップ済みデータ・オブジェクトを作成し、これをラッパー上に設定します (プロパティー名は WSDL ファイルのインライン・スキーマから付けられます)。 customer = factory.createByType(operationType.getInputType().getProperty("customer").getType()); input.set("customer", customer); } customer.setString("firstName", "Bob"); customer.setString("lastName", "Smith"); customer.setString("address", "7 Holly Drive"); customer.setBoolean("isGold", true); customer.setInt("birthYear", 1976); => 上記の 5 行は Customer に属性を設定します。 commonj.sdo.DataObject output = (commonj.sdo.DataObject)bankService.invoke("openAccount",input); commonj.sdo.DataObject account = null; if(operationType.isWrapperType(operationType.getOutputType())) account = output.getDataObject("account"); else account = output; => 戻された出力はラップ済みの場合もあり、ラップされていない場合もあります。
ベスト・プラクティス: ビジネス・インテグレーション・モデルで使用される Java アプリケーションを開発したり、JAR ファイルをインポートする必要がある場合は、 そのコードの Java プロジェクトを作成し、その Java プロジェクト上で、Java コードを使用するモジュールに依存関係を追加します。
ビジネス・インテグレーション・ライブラリーまたはモジュールの Java プロパティーは変更しないでください。 変更するとデプロイメント・コードの作成で問題が生じることがあります。 このため、使用を目的とした、複雑な Java アプリケーションの開発、 あるいはライブラリーまたはモジュールへの JAR ファイルのインポートはお勧めしません 。また、アセンブリー図でコンポーネントの Java 実装を生成するとき、生成される Java 実装は、 他の Java クラスを呼び出すための起動点として使用する必要があります。
「ビジネス・インテグレーション」ビューには、アセンブリー図で使用される Java 実装とインターフェースのみが表示されることに注意してください。 これらの実装とインターフェースは、これらを使用するモジュールの下にリストされます。 Java プロジェクトを操作する必要がある場合、 「Java」™ パースペクティブでの作業に切り替えることができます。
「Java」パースペクティブへの切り替え
以下のステップに従って、「Java」パースペクティブを開きます。
「Java」パースペクティブで、ワークベンチ・ウィンドウの右上隅に 2 つの開いたパースペクティブが表示されます。 次のイメージにされている、「ビジネス・インテグレーション・パースペクティブ (Business Integration perspective)」ボタンをクリックすることにより、 「ビジネス・インテグレーション」パースペクティブに切り替えることができます。
ベスト・プラクティス: アセンブリー図でインポートおよびエクスポートを使用する場合は、 インポートおよびエクスポートで使用されるビジネス・オブジェクトおよびビジネス・インターフェースをライブラリーに入れて、それらを共用できるようにするのが良い方法です。 次に、ライブラリーへの依存関係を、これらの共通リソースを使用するすべてのモジュールに追加します。 同じビジネス・オブジェクトとビジネス・インターフェースを異なるモジュールにコピーして使用することは避けてください。
モジュールで WSDL ファイルを使用する必要がある場合は、 これをモジュールにコピーします。 オプションで、WSDL ファイルをライブラリーにコピーし、モジュール内において、 ライブラリーへの依存関係を設定します。これで、ライブラリーのリソースを使用できるようになります。 別のタイプのプロジェクト、例えば Web プロジェクトから WSDL ファイルをドラッグしようとすると、 モジュールまたはライブラリーに WSDL をコピーするように促すエラー・メッセージが表示されます。
依存関係エディター以外でのモジュール依存関係の変更は避ける必要があります。
ライブラリー、Java プロジェクト、または J2EE プロジェクトへの依存関係を追加すると、 モジュールのプロパティーが変更されます。 モジュールのプロパティーは以下のように変更されます。
モジュールおよびライブラリーのプロパティーを編集する代わりに、 依存関係エディターを使用してご使用のモジュールおよびライブラリーのプロジェクトの依存関係を管理します。 モジュールおよびライブラリーのプロパティーには重要な Java 前提事項が設定されているため、Java プロパティーを変更すべきではありません。 例えば、ソース・フォルダーや出力フォルダーを変更しないでください。