Upload
unity
View
35
Download
4
Embed Size (px)
DESCRIPTION
Web サービスの dynamic Invocation に関する研究. 越田研究室 竹田 拓也. 研究目的. 1 . IBM の UDDI レジストリから Web サービスを 検索. 2. Web サービスサーバ上の WSDL ファイルの自 動解析. 3. Web サービスの動的な検出・実行. 必要になった時点で UDDI レジストリから Web サービス を検出する。 スタブプログラムを使用せずにサービスを実行する。. システムの機能. 主な機能. tModelKey( 必須 ) 実行メソッド名 ( 必須 ) 実行メソッドに与える引数. - PowerPoint PPT Presentation
Citation preview
研究目的
1 . IBM の UDDI レジストリから Web サービスを 検索
3. Web サービスの動的な検出・実行 必要になった時点で UDDI からレジストリ Web サービス を検出する。 スタブプログラムを使用せずにサービスを実行する。
2. Web サービスサーバ上の WSDL ファイルの自 動解析
システムの機能
tModelKey( 必須 ) 実行メソッド名 ( 必須 ) 実行メソッドに与える引数
入力パラメータ
主な機能 公開されている IBM の UDDI レジストリか
ら Web サービスを自動検出 Web サービスの WSDL ファイルを自動解析 実行メソッドへの引数の型を自動判別
WSDL ファイル取得の流れIBM UDDI レジストリ
Web サービス
WSDL
サービス提供元
入力パラメータ
クライアント
tModelKey
WSDL ファイル
tModel
WSDL ファイルへのポインタ
WSDL ファイルへのポインタを取得
UDDI のデータ<businessEntity businessKey="E0270900-5C3E-11D51-A58E-0004AC49CC1E“ operator="www.ibm.com/services/uddi" authorizedName="0100003RNH">
<discoveryURLs><discoveryURL useType="businessEntity">http://www-3.ibm.com/services/udd
i/testregistry/uddiget?businessKey =E0270900-5C3E-11D5-A58E-0004 AC49CC1E
</discoveryURL></discoveryURLs><name xml:lang="en">StockQuote</name><businessServices><businessService serviceKey="5D0293D0-5C4 ・ 270
・・・
WSDL ファイルのデータ<message name="getRateRequest">
<part name=“country1” type="xsd:string"/><part name="country2“ type="xsd:string"/>
</message><messageame="getRateResponse">
<part name="Result" type="xsd:float" /> </message><portType name="CurrencyExchangePortType">
<operation name="getRate"> <input message="tns:getRateRequest" /><output message="tns:getRateResponse" />
</operation> </portType>
・・・
メソッド名
引数の型
開発に使用したライブラリ
UDDI レジストリへのアクセスを制御 UDDI の主要タグの登録・検出
UDDI4J
WSDL4J WSDL ファイルのタグ情報を解析
WSIF Web サービスのスタブレスな実行
本システムの構成図
UDDI4J overviewURL を取得
tModel
取得tModelKey
入力パラメータ
引数
メソッド名WSDL4J
解析 メソッド名
引数名
引数の型
指定
入力メッセージの作成
アクセス
WSIF
WSDL ファイル
WSIFサービスの起動
起動
クラスライブラリ
UDDI4J
UDDIレジストリ
検索IBM
IBM UDDI レジストリ
Web サービスサーバ
既存システムとの違い
既存システムにおける実行の流れ1. ローカルな WSDL ファイルの読み込み2. スタブプログラムの作成3. クライアントプログラムの作成4. Web サービスの実行
本システムにおける実行の流れ
完全にスタブレスな実行を実現している
手動
1. リモートな WSDL ファイルの読み込み・解析
2. Web サービスの設定・実行
自動
既存システムの実行の流れユーザ側 ネットワーク
側
スタブプログラムの作成
スタブプログラム
クライアントプログラム
クライアントプログラム
の作成
WSDL ファイル
リモートの Webサービスを実行するために必要
手動で行う
WSDL ファイル
サービス提供元
サービスプログラム
サービスの起動
本システムの実行の流れ
Web サービスの検索
Web サービスの起動
WSDL ファイルのポインタ
提携
クライアントプログラム
UDDI
レジストリ
ネットワーク側
サービスプログラム
サービス提供元
WSDL ファイル
ユーザ側
tModelKey tModelKey
引数入力メッセージ
の作成
入力メッセージ
メソッド名
メソッド名
引数名
引数の型
解析
自動
WSDL ファイル
WSDL ファイルの取得
実験結果1
Web サービス: StockQuote実行メソッド: getQuote引数: IBM戻り値:株価
C:\java DynamicInvocation UUID:F24269F0-3426-11D8-B936-000629DC0A53 getQuote IBMReading WSDL document from‘http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl’
Result:97.7Operation is succeed
C:\java DynamicInvocation UUID:5B9833C0-FDCE-11D6-82AC-000629DC0A7B getRate USA JAPAN
実験結果2Web サービス :CurrencyExchange実行メソッド :getRate引数 1:USA引数 2:JAPAN戻り値 : 換金レート
Reading WSDL document from ‘http://www.xmethods.net/sd/CurrencyExchangeService.wsdl’
Operation is succeedResult:105.94