異なるサービス・タイプを実行するための callService 構成

IBM® Process Portal は、callService サーブレットおよび tw.coach.callService JavaScript API を使用してサービスを呼び出します。このサーブレットは、デフォルトで Ajax サービスを実行するように構成されています。Ajax サービス以外のサービスを呼び出す際に callService に依存するカスタム・クライアント・アプリケーションを使用する場合は、IBM Process Center または IBM Process Server100Custom.xml ファイルに構成プロパティーを追加して、呼び出し可能なサービスのホワイトリストを指定します。

重要: callService でさまざまなタイプのサービスを実行できるようにすると、セキュリティー上の問題が発生する可能性があります。認証済みユーザーがサービスの詳細を把握している場合、Ajax サービスを使用して攻撃を行うことさえ可能になります。サービスの開発者は、有害な使用法を防ぐために、その可能性のあるサービスを再設計する必要があります。

管理者は、callService 構成を変更して、実行する各種サービスのタイプや組み合わせを指定できます。callService の構成を変更するには、callservice-valid-services プロパティーを 100Custom.xml に追加します。このプロパティーには、実行するサービスのタイプを指定する valid-service-entry エレメントを 1 つ以上含めます。

IBM Process Portal のデフォルト設定では、Ajax サービスのみが実行されます。以下の例は、Ajax サービスを実行する構成を示しています。
<properties>
     <server>
         <portal>
             <callservice-valid-services merge="replace">
                      <valid-service-entry>ajax service</valid-service-entry>
             </callservice-valid-services>
         </portal>    
      </server>
</properties> 
以下の例は、統合サービスのみを実行する構成を示しています。
<properties>
     <server>
         <portal>
             <callservice-valid-services merge="replace">
                      <valid-service-entry>integration service</valid-service-entry>
             </callservice-valid-services>
         </portal>
     </server>
</properties> 
以下に、100Custom.xml ファイルの valid-service-entry フラグ内で許容される既存のサービスおよび値をすべてリストします。
  • すべて
  • なし
  • 標準サービス
  • ルール・サービス
  • Ajax サービス
  • Human サービス
  • 統合サービス
  • インストール・サービス
  • 一般システム・サービス
  • SCA サービス
  • Case Manager 統合サービス
  • Undercover Agent Passthrough Service

サービス ID の任意の組み合わせを使用して、callService で特定タイプのサービスを実行できるようにできます。リスト内に特別なキーワード「all」または「none」が検出されると、その他のすべてのエントリーは無視されます。

以下の例は、標準サービス、Ajax サービス、および SCA サービスを除くすべてのサービスをブロックする構成を示しています。

<properties>
     <server>        
        <portal>
             <callservice-valid-services merge="replace">
                      <valid-service-entry>regular service</valid-service-entry>
                      <valid-service-entry>Ajax service</valid-service-entry>
                      <valid-service-entry>SCA service</valid-service-entry>
             </callservice-valid-services>
        </portal>    
      </server>
</properties>