ご使用のサーバー内の複数のアプリケーションに再使用可能なロジックを提供するための、サービス・コンポーネントを作成します。
始める前に
この作業では、複数のモジュールで使用できる処理がすでに作成され、特定されていることが前提になっています。
このタスクについて
複数のモジュールで 1 つのサービス・コンポーネントを使用することができます。サービス・コンポーネントをエクスポートすると、インターフェースを介してそのコンポーネントを参照するほかのモジュールが、そのサービス・コンポーネントを利用できるようになります。この作業では、ほかのモジュールがコンポーネントを使用できるように、そのサービス・コンポーネントを作成する方法を説明します。
注: 1 つのサービス・コンポーネントに、複数のインターフェースを設定することができます。
手順
- 呼び出し元とサービス・コンポーネントの間のデータの移動のためのデータ・オブジェクトを定義します。
データ・オブジェクトおよびそのタイプは、呼び出し元とサービス・コンポーネント間のインターフェースの一部となります。
- 呼び出し元がサービス・コンポーネントを参照するときに使用するインターフェースを定義します。
このインターフェース定義で、サービス・コンポーネントを指定し、サービス・コンポーネント内のすべての使用可能なメソッドをリストします。
- サービスの呼び出しを実装するクラスを生成します。
- 生成されたクラスの実装を開発します。
- コンポーネントのインターフェース、およびインプリメンテーションを拡張子が .java のファイルに保管します。
- サービス・モジュールと必要なリソースを JAR ファイルにパッケージ化します。
ステップ 6 から 8 までの詳しい説明については、このインフォメーション・センターの『実動サーバーへのモジュールのデプロイ』のセクションを参照してください。
- serviceDeploy コマンドを実行して、アプリケーションを格納するインストール可能な EAR ファイルを作成します。
- サーバー・ノード上にアプリケーションをインストールします。
- オプション: ほかのサービス・モジュール内のサービス・コンポーネントを呼び出す場合は、呼び出し元とそれに対応するサービス・コンポーネント間のワイヤーを構成します。
このインフォメーション・センターの『管理』セクションに、ワイヤーの構成についての説明があります。
コンポーネントの開発例
この例では、1 つのメソッド CustomerInfo をインプリメントする同期型サービス・コンポーネントを示しています。
最初のセクションでは、getCustomerInfo というメソッドをインプリメントするサービス・コンポーネントに対するインターフェースを定義しています。
public interface CustomerInfo {
public Customer getCustomerInfo(String customerID);
}
以下のコード・ブロックで、サービス・コンポーネントをインプリメントします。
public class CustomerInfoImpl implements CustomerInfo {
public Customer getCustomerInfo(String customerID) {
Customer cust = new Customer();
cust.setCustNo(customerID);
cust.setFirstName("Victor");
cust.setLastName("Hugo");
cust.setSymbol("IBM");
cust.setNumShares(100);
cust.setPostalCode(10589);
cust.setErrorMsg("");
return cust;
}
}
x
以下のセクションは、StockQuote に関連したクラスのインプリメンテーションです。
public class StockQuoteImpl implements StockQuote {
public float getQuote(String symbol) {
return 100.0f;
}
}