Web サービス・アクセスのサービス・ロケーションの詳細

要求側ソース・コードに Web サービスのサービス・ロケーションの詳細を記述できますが、ベスト・プラクティスは、この詳細を EGL デプロイメント記述子に記述する方法です。

デプロイメント記述子に詳細を記述する場合、いくつかの潜在的なメリットがあります。例えば、デプロイメント記述子に詳細を記述し、サービス・ロケーションの詳細が変更された場合、以下のようになります。
  • コンピューターを再テストする場合、コード変更を処理するために必要な作業に比較し、作業量が減る可能性がある。
  • 必要でない限り、リクエスターがオフラインになることがない。
  • ロジックを少しでも変更するとエラーが発生する可能性があるが、エラーはソース・コードには追加されない。

EGL デプロイメント記述子に詳細を記述する場合、サービス・アクセス変数を宣言するときに @BindService 複合プロパティーを指定します。このプロパティーは、EGL デプロイメント記述子の項目、特に EGL デプロイメント記述子のサービス・クライアント・バインディング・セクションの項目を参照します。

サービス・バインディング・セクションの項目の振る舞いは、アクセスするサービスのタイプによって異なります。
  • SOAP サービスにアクセスする場合、サービス・バインディング・セクションの項目は、サービス・ロケーションを参照する WSDL ファイルを参照します。 サービス・ロケーションが変更される場合、コードまたはデプロイメント記述子を変更する必要はありません。 WSDL ファイルのみを変更する必要があります。
  • その他のタイプのサービスにアクセスする場合、サービス・バインディング・セクションの項目はサービス自体を参照します。
サード・パーティー REST サービスにアクセスするときには、以下のタイプの情報を区別する必要があります。
  • ベース URI。これは、サービス・ロケーションの高位修飾子のセットです。例えば、www.example.com/myproject/restservices/employee です。 ベース URI は次のいずれかの場所に指定します。
    • デプロイメント記述子
    • サービス・バインディング・セクション
    • サービス・アクセス変数を宣言するステートメント
  • URI テンプレート。これは、ベース URI に連結されている下位修飾子のセットです。これは、GET などの操作に固有な詳細であり、サービス・アクセス変数の作成に使用されるインターフェース・パーツに指定します。

    URI テンプレートを変更する場合、インターフェース・パーツで URI テンプレートを変更し、コードをワークベンチに再デプロイする必要があります。ランタイム構成ファイルにこのテンプレートを含めることはできません。これは、このテンプレートには通常、実行時に設定される値が含まれているためです。

サード・パーティー REST サービスにアクセスするには、ベース URI または URI テンプレートのいずれかにすべての詳細を指定します。