高度なカスタマイズ > Info*Engine ユーザーガイド > Web サービスフレームワーク
Web サービスフレームワーク
以下のトピックでは、Info*Engine で使用できる Web サービス用のツールについて説明し、Web サービスを Windchill で使用するために作成して展開する方法の例を示します。
Web サービスの実装について
Windchill には、SOAL/XML およびセキュリティ関連の Web サービスの詳細を処理するために JAX-WS (XML Web サービス用の Java API) を活用する、同じ Info*Engine ベースの Web サービスの展開を簡略化するツールセットが用意されています。このツールセットは、SimpleTaskDispatcher サーブレットによって提供される Info*Engine ベースの Web サービスに付属しています。Info*Engine タスクおよびタスク委任を基盤とする Web サービスの実装では、ほぼ完全に一貫性が保たれます。ただし、対応する SOAP 操作の XML 表現は、JAX-WS がどのように JAXB (XML にバインドするための Java アーキテクチャ) を使用して Java オブジェクトと Info*Engine データ構造を XML にバインドするかに応じて異なります。下位互換性を提供するため、SimpleTaskDispatcher を使用して同じサービスにアクセスできるようになっています。
このフレームワークを使用する主な利点として、SOAP 関連の詳細を処理するために JAX-WS を活用できるだけではなく、コンフィギュレーション可能で効率的なセキュリティを追加できます。レガシー Info*Engine Web サービスは、セキュリティを確保するために Web サーバー認証に完全に依存しています。つまり、SOAP クライアントは、ユーザー資格証明に完全にアクセスできる必要があり、これらの資格証明を認証要件 (一般的には HTTP 基本認証) ごとに Web サーバーに提供する必要があります。これは、SSO (シングルサインオン) を実装するアプリケーションを開発するうえで、大きな障壁となります。この場合、個々のアプリケーションまたはアプリケーションサーバーがユーザーを個別に認証し、クライアントと Windchill の間に信頼関係が確立されます。Web サーバー認証に完全に依存していると、SSO アプリケーションまたはアプリケーションサーバーが Info*Engine Web サービス内でそのユーザーを再認証するためにユーザーのパスワードにアクセスできる必要があります。
より高度なセキュリティポリシーを活用することには、使用されるメカニズムが複雑であるという難点があります。Web サービスクライアントが設定済みのセキュリティポリシーに準拠できる必要があります。これには、通常、暗号化と SOAP リクエスト内に埋め込まれているセキュリティ情報の複雑な XML 表現が使用されます。当該クライアントが Java である場合は、Info*Engine に付属しているツーリングによってこのような複雑さが解消されるため、セキュリティを確保するための複雑なコーディングを行うことなくクライアントを作成できます。別のサードパーティ SOAP フレームワークを使用して Windchill の Web サービスに接続する場合は、そのクライアントが Web サービスに対して選択されているセキュリティポリシーに準拠する必要があります。
Windchill の Web サービスのセキュリティサポートにより、パブリックキー情報を交換し、SOAP メッセージの交換が適切に署名および暗号化されていることを要求して、Web サービスが信頼できる有効なユーザー名トークンがそれらに含まれていることを要求することで、アプリケーション (ポータルサーバーなど) と Info*Engine Web サービスの間に信頼関係を確立できます。受信 SOAP メッセージがセキュリティ要件を満たし、サーバーのトラストストアにあるパブリックキーを使用して復号化できるかぎり、Web サービスはユーザー名で認証されたリクエストを実行します。同様に、使用されているセキュリティポリシーの要件によっては、クライアントがサーバーのパブリックキーにアクセスして応答を復号化できる必要がある場合があります。
それぞれの Web サービスの終点は、Java サーブレットのインスタンスによって表されます。したがって、JAX-WS ベースの Info*Engine Web サービスは、そのセキュリティを確保するためのセキュリティポリシーが毎回異なる場合は複数回展開でき、展開ごとに一意のサーブレット名を使用します。
オプションとして、追加のコンフィギュレーションを使用して、JAX-WS ベースの Info*Engine Web サービスを Web サーバー認証の背後に配置し、別のセキュリティポリシーを選択するときに暗号関連の要件を満たしていることを要求しないようにすることができます。
* 
これが、Windchill とともにリリースされている JAX-WS ベースの Web サービスに使用されるデフォルトのセキュリティポリシーです。
これは役に立ちましたか?