ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. ソフトウェア
  3. WebOTX
  4. アプリケーションサーバ
  5. 特長/機能
  6. 機能一覧
  7. Webサービス対応
ここから本文です。

WebOTX Application Server - Webサービス対応

「機能一覧」へ戻る

WebOTXでは、Webサービスの基盤機能を提供しています。

Webサービスで用いられる技術

Webサービスで用いられる技術として、SOAP、UDDI、WSDLがあります。次にこれらの関係について説明します。

Simple Object Access Protocol (SOAP)

SOAPはXMLメッセージを交換するためのプロトコル仕様です。既存のHTTPやSMTPといったインターネットに親和性のあるプロトコルに乗せて使います。Webサービス用のXMLの記述方法(コンテンツ)とその交換手順(プロトコル)と考えると良いでしょう。次にSOAPメッセージの構造を示します。

SOAPメッセージの構造の図SOAPメッセージの構造の図

Universal Description, Discover and Integration (UDDI)

人間が目的のホームページを見つける時には「検索エンジン」を使うことが多いですが、XMLのやり取りができるサービスもインターネット上で簡単に探せたら便利です。その検索エンジンの機能を持ったものを「UDDIレジストリ(UDDIディレクトリ)」と言います。UDDIは、UDDIレジストリにアクセスして検索・登録・登録の削除を行うことの総称です。

UDDIレジストリには次の図に示す4つのXML要素でサービスを登録します。

UDDIレジストリ4つのXML要素UDDIレジストリ4つのXML要素

UDDIレジストリの機能については、WebOTX UDDI Registryが提供しています。

WebOTX UDDI Registry
WebOTX UDDI Registryは、Webサービスにおけるディレクトリサービス機能を実現するUDDIレジストリです。これを用いることでWebサービスのアクセスに必要なサービス情報やWSDLファイルの格納と検索をオンラインで実行することができます。

UDDI RegistryUDDI Registry
  • UDDI Version 3.0対応
    UDDI Version 3.0仕様に準拠したUDDIレジストリを主要アプリケーションサーバベンダとしては世界で初めて製品化しています。また、マルチバージョンレジストリ機構を提供し、UDDI Version 2.0仕様に対応したUDDI4Jや.NETなどの他のクライアントから、本製品のサーバにアクセスすることも可能です。
  • Webブラウザを用いた管理ツール
    UDDIレジストリ管理者向け、Webサービス発行者向け、Webサービス利用者向けのWebブラウザベースの管理ツールである、「UDDI Registry 管理コンソール」によって、ユーザ情報やレジストリ情報の管理を簡単に行えます。
  • レプリケーション機能の提供
    複数のUDDIレジストリの間でデータの同期をとるレプリケーション機能を提供しています。これによってUDDIレジストリの可用性を向上しています。
  • レジストリ間データ連携機能の提供
    ファイヤウォールを跨って外部レジストリとのデータ連携ができるため、外部レジストリのプロキシレジストリとして利用できます。
  • 電子署名機能の提供
    電子署名機能により、レジストリに格納されたデータが改ざんされていないことを保障し、Webサービスベースのシステム全体の信用性を高めます。

UDDIレジストリの電子署名機能UDDIレジストリの電子署名機能

Web Service Description Language (WSDL)

WebサービスをUDDIレジストリに登録するときや、サービス提供者がサービス利用者にWebサービスを参照させるときに、相手が理解できるように仕様を公開する必要があります。この公開仕様の記述形式がWSDLです。WSDLはXML文書でサービスやインターフェースの記述を行うときのフォーマットや規格のうちの一つです。次のような要素で構成されます。

名前空間の定義名前空間の定義

SOAP、UDDI、WSDLの相関

SOAP、UDDI、WSDLの相関は次のようになります。

SOAP、UDDI、WSDLの相関図SOAP、UDDI、WSDLの相関図

WebOTXは、SOAP1.2/1.1仕様とWSDL1.1に準拠したエンジン、UDDI 2.0/3.0仕様に準拠したUDDIにアクセスするクライアントAPIであるUDDIクライアントライブラリを提供します。また、UDDI 2.0/3.0仕様に対応したプライベートレジストリをUDDIをWebOTX UDDI Registryとして提供しています。

WebOTXではDOPG(分散オブジェクト推進協議会)やXMLコンソーシアムなどで多くのベンダー製品での相互運用性も報告してきました。

WS-I Basic Profile仕様への対応
Webサービスは、企業間や企業内での情報交換をインターネットの標準手順を活用して行なうことで、ビジネス連携の効率化や自動化を目指すものです。しかしWebサービスにおける基本仕様となる、SOAP、WSDL、UDDIなどは、その仕様そのものや仕様中に使われている例に曖昧性や誤り、矛盾などがありました。また、SOAPやWSDLは、XML Schemaに従わない独自のエンコーディング(SOAPエンコーディング)を利用していました。そのため、これまで各ベンダーの提供するWebサービスのプラットフォーム(APサーバなど)ごとに、仕様の解釈が異なっており、サポート範囲が異なっていたため、相互運用性の面で問題となっていました。

そのため、Webサービスの普及促進を図る業界団体「WS-I」によって、「WS-I Basic Profile」が策定されました。これは異なるメーカ製品を使用して相互接続性のあるWebサービスを実現するためのガイドラインであり、WebOTXは「WS-I Basic Profile Version 1.0」に対応しています。

Webサービスセキュリティ(WS-Security)の対応 (V6.2で提供)

WebOTXは、Web サービス間通信におけるセキュリティ技術である、Web Services Security(WS-Security)に対応しました。また、ユーザ認証データを安全に交換するための標準仕様である「Web Services Security SAML Token Profile 1.0」に業界で初めて対応しています。また、安全なデータ交換を可能とする標準仕様である「OASIS Web Services Security 1.0 (WS-Security 2004)」にも対応しています。

SOAPメッセージの暗号化、およびユーザ認証SOAPメッセージの暗号化、およびユーザ認証

WebOTXでは、ユーザネームトークンとデジタル署名による認証機能を提供しています。クライアントとサーバでやり取りされる双方向のSOAPメッセージに対して、それぞれのSOAP Body要素、あるいはその中の特定の要素を対象としてデジタル署名をすることができます。これにより、メッセージの改ざん、なりすまし、否認を防止します。

開発ツールでWebサービスAP生成の際の署名構成の設定WebOTX開発環境(Eclipse)でWebサービスAPを生成する際の署名構成設定画面。

加えてWebOTXでは、クライアントとサーバでやり取りされる双方向のSOAPメッセージに対しても、それぞれのオペレーション要素の内容、あるいはその中の特定のパラメータ要素の内容を暗号化することができます。これにより、メッセージ自身の盗聴も防止します。

クライアントとサーバでやり取りされる双方向のSOAP メッセージに対して、それぞれにタイムスタンプを付与することができます。これにより、不正なリプレイ攻撃などを防止します。タイムスタンプに署名したり、暗号化することもできます。

開発ツールでWebサービスAP生成の際の暗号化方式の設定WebOTX開発環境(Eclipse)でWebサービスAPを生成する際のメッセージ暗号化方式設定画面。

さらに、WebSAM SECUREMASTER と連携して、SAML(Security Assertion Markup Language) Assertion の付与、検証機能を提供します。

上述の物流サービスを例に考えてみましょう。ある商品をあるWebサイトから注文する場合、いくつかの物流会社の在庫管理Webサービス、および銀行の決済Webサービスが連携して一連の手続き行います。その際、それぞれのサービスでそれぞれの認証チェックをさせられるとなると利用者にとってはかなり面倒です。Webサイトで何度もIDやパスワードの入力をするなんて考えるだけでうんざりしそうです。逆にこれらのデータが不正利用されないかと不安にもなるでしょう。

SAMLでは、それらを解消するためのシングルサインオン、およびセキュアな認証データ管理の仕様について定義されています。よってWebOTXのようなSAMLに準拠した製品間では認証データの相互引き継ぎが可能です。

WebSAM SECUREMASTER/DS V4.0からの認証アサーションの取得&Webサービス間での連携モデルWebSAM SECUREMASTER/DS V4.0からの認証アサーションの取得、およびWebサービス間での連携の流れ。

EJBエンドポイント

EJBのアプリケーションをWebサービス経由で呼ぶ際に、従来ではWebサービスの形式で送られてきた要求をEJBアプリケーション側で理解できるように変換する必要がありました。そのためにサーブレットなどWebアプリケーションを新たに開発し、それを介して処理要求を行うようにする必要があり面倒でした。

従来のWebサービスからEJBへのアクセス従来のWebサービスからEJBへのアクセス

EJB2.1、およびJSR921(Implementing Enterprise Web Services 1.1)の仕様では、EJBアプリケーションをWebサービスとして扱えるような規定が加わっており、WebOTXでも対応しています。Webアプリケーションを介することなく、EJBアプリケーションがWebサービス形式の要求の直接処理が可能です。Webアプリーションの介入が不要になったことは、同時に業務処理要求のオーバーヘッドを軽減でき、性能向上が図れることも意味しています。

WebサービスからEJBへのアクセスWebサービスからEJBへのアクセス

WS-Reliability/WS-ReliableMessaging (WS-R/WS-RM) (V7.1で提供)

WS-Reliability/WS-ReliableMessaging はSOAP メッセージの送受信における送達保障を行う機能などを規定しています。これにより、メッセージの欠落を回避するための再送や再送によって発生する同一メッセージの重複および送信順序と異なって到着する現象である順序の乱れの防止機能を提供します。

なお、WS-Reliability/WS-ReliableMessaging を利用することで、Web サービスで以下のような機能を利用することができます。

機能 概要
シーケンスの状態管理 メッセージ送信シーケンスの生成、削除、メッセージナンバーの割り振りを行います。シーケンスの生成、削除は、WS-Rでは送信側が、WS-RM では受信側が行います。
シーケンスの有効期限管理 送受信する処理シーケンスの有効期限を管理します。有効期限を超過したシーケンスには自動的に後処理を行います。これにより、送信中メッセージが滞留することなくシステムを運用できます。
メッセージの状態管理 メッセージが未送信か、送信中か、あるいは送信済みか、などの状態を管理します。
メッセージの有効期限管理 送受信するメッセージの有効期限を管理します。有効期限を超過したメッセージには自動的に後処理を行います。これにより、送信中メッセージが滞留することなくシステムを運用できます。
Ack 送信、受信、再送
(配送保障)
受信側はメッセージを受信し、データストアに格納したら、送信側へAck を送信します。送信側はAckを受信するまで、再送を試みます。これら一連の処理により配送保障を実現します。
重複防止/順序保障 重複防止機能を有効にすることで受信側は、すでに受信済みのメッセージと同じメッセージを受信した場合、そのメッセージを捨て重複処理を行わないようにすることが可能です。また、順序保障機能を有効にするとメッセージナンバーの順にメッセージを配信することも可能です。もし先に後続のメッセージが到着したとしても、次のメッセージが到着するまで待つことで処理順序を保持することができます。

Webサービス適用例

Webサービスを利用した一般的なモデルの1つとして、次のような業務システムが考えられます。

Webサービス適用例Webサービス適用例

旅行会社のアプリケーションは、UDDIレジストリからホテル予約、航空機予約、列車予約といったサービスを検索し、それらを利用して業務要求を発行します。このように点在したサービスを連携してシステムを運用するのに、Webサービスは適していると言えます。


ページの先頭へ戻る