プリミティブWebサービスとエージェ ントによる商品調達B2Bシステムの 設計と実装 DBWeb2004 2004年11月25日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 博士後期課程 越田 高志 1 発表内容 1.はじめに ・現在のWebサービスの問題点について 2.プリミティブWebサービス(PWS)の提案 ・提案の背景,定義,導入の利点 3.商品調達B2Bシステムの開発 ・ユースケース,システム構成,処理の流れ,機能 (PWS/エージェント),実験 4.おわりに ・まとめ,今後の課題 2 1.はじめに Webサービスの問題点(ビジネス分野で広く利用さ れるためには?) 1. 必要なサービスの検出が難しい. インターネット上でWebサービス情報の登録と検 索を一元化するUDDIがある.しかし,登録情報 の信頼性の問題,検索機能が不十分. 逆に“このサービス”が利用できる企業はどこ か?なども. 3 2.Webサービスの機能や入力データなど,利用 法が分かりにくい. UDDIの登録情報(description要素)を読む. WSDL記述を読む. • message要素,portType要素から判断する. 人手で,Webサービス毎に確認作業が必要であ る. これらを確実に,かつ容易に解決できる方法 は? 4 その解決に向けて, 1,2の問題点解決に加えて,Webサービスの 連携も重要な課題である. それらの解決手法として, プリミティブWebサービス を提案する. 5 2.プリミティブWebサービスの提案 提案の背景 Webサービスをインターネット上で一元的に登録し, 管理する手段として,UDDIレジストリがある. UDDIレジストリをベースに考えたい. Webサービス名や機能に関する統一基準などはな い.各企業が任意にサービスを提供している.ユー ザは,利用するサービス毎にその利用法を確認し なければならない.煩雑であり,使いづらい. Webサービスをもっと容易に利用できないか? 6 その定義 Webサービスをある基準の元に統一する. 様々なビジネス分野で共通に利用可能な,一意に 統一された名称,機能,入出力インターフェースを もつ基本的なWebサービスとして定義する.それを プリミティブWebサービスとする. • 例えば,物品購入の商取引では,物品検索,信用確認, 在庫確認,価格見積り,受注など. そのプリミティブWebサービス(以降,PWS)を組み 合わせて,任意のビジネスプロセスを処理する. 7 導入の利点 ユーザ側の利点 • WebサービスがPWSとして標準化されるので,Web サービスの名称,機能,入出力インターフェースに関す る不統一性や曖昧さがなくなる. • 必要とするWebサービスの的確な検出. • Webサービスの機能や利用法修得の負荷が減少する. 提供企業側の利点 • 独自のWebサービスではなくて,共通のPWSを提供す るので,それに対する開発コストが削減される. • 利用しやすいWebサービスであれば,その使用も増え, ビジネスチャンスが拡大する. 8 3.商品調達B2Bシステムの開発 プリミティブWebサービスとその連携を行うエー ジェントを開発し,システムとしてまとめ,ユース ケースに沿って検証する. ユースケース 商品調達のビジネスプロセスを考える. 商品としてビールを考え,メーカ(3社),卸売業者, 小売業者間の商取引を想定する.卸売業者が中心. 小売業者の与信情報を提供する調査会社も含む. 小売業者から受注したビールを供給するメーカに対 して見積りを行い,最も安価な商品を選択して,発注 する,シナリオである. 9 システム構成 メーカ3社は同じPWSを利用する. 選択 小売業者 受注 発注 (7) (4) (5) (6) 商 品 受 注 Web 信用確認 Web サービス getCredit エ ー ジ ェ ン ト 在 庫 管 理 Web (3) エ ー ジ ェ ン ト client1 与信 (2) エ ー ジ ェ ン ト StockServiceAgent7 (8) CreditServiceAgent1 (1) 卸 売 業 者 サ ー ビ ス サ ー ビ ス メ ー カ getStockdetails getOrders 信用調査会社 商品受注 Web サービス getOrders 選別されたメーカ 要求 応答 10 処理の流れ (1) 商品納品要求:ある小売業者が新規の取引を求めて, 卸売業者に対して商品納品を要求する. (2) 信用確認要求:卸売業者は企業調査会社に対して,その 小売業者の信用調査を依頼する. (3) 信用 確認回答: 信用調査会社は,「信用確認Webサービ ス」を利用してその小売業者の信用確認を行い,返答する. (4) 在庫確認と価格見積り要求: 信用調査結果に問題がなければ,卸売業者は要求があった商品 を製造するメーカに対して,在庫確認と価格見積りを依頼する.こ の際,同じ仕様の商品製造メーカが複数存在すると仮定し,その 中の3メーカに対して同時に在庫確認と価格見積りを依頼する. 11 (5) 在庫確認と価格見積り回答: メーカは「在庫管理Webサービス」を利用して,商品の在庫確認と 価格見積りを同時に行い,卸売業者に返答する. (6) 商品選別と発注: 卸売業者は,3メーカからの価格見積り結果をエージェント (StockServiceAgent7)によって比較し,希望条件(様々な条件が考 えられるが,今回は最も価格が安い条件に設定する)に合致した 商品製造メーカを選別し,商品を発注する. 12 (7) メーカ商品受注完了: 発注を受けたメーカは,「商品受注Webサービス」を利用して受注処 理を行い,その完了後に卸売業者に対して受注完了メッセージを 送信する. (8) 商品受注完了: それを受けて卸売業者は小売業者に納品要求受注完了メッセージ を送信する. 13 PWSの機能:メーカ 在庫管理Webサービス(getStockdetails) 入力データ • 卸売業者ID番号,卸売業者名,希望ビールタイプ,数量, 納品日 出力データ • 回答メーカ名,指定されたビールタイプ,商品名,商品 コード,単価,指定数量,全体価格 商品受注Webサービス(getOrders) 入力データ • 卸売業者ID番号,卸売業者名,数量,納品日 出力データ • 受注完了メッセージ 14 サーバへの配備状況 15 PWSの機能:信用調査会社 信用確認Webサービス(getCredit) 入力データ • 調査対象企業名,電話番号 出力データ • 企業名,代表者名,住所,電話番号,信用結果 (OK/NG) PWSの開発 いずれもApache-Axis-1.0で開発し,httpサーバ Tomcat-4.1.27に配備している.DBMSは Microsoft Access2000を使い,JDBCでPWSと アクセスしている. 16 サーバへの配備状況 17 エージェントの機能 1. 3エージェントが卸売業者サーバで稼動. メーカのPWSを実行するエージェント (StockServiceAgent7) 2. 信用調査会社のPWSを実行するエージェント (CreditServiceAgent1) 3. この2エージェントを連携,制御するエージェ ント (client1) JADE-3.0で開発した. 18 エージェントの稼動状況 今回開発した3 エージェント 19 エージェントの処理の流れ 連携,制御エージェント(client1) 1. 信用調査へのデータ入力を促す. そのデータをCreditServiceAgent1*Aに伝え,*Aは 信用確認PWSを実行し,その結果をclient1に返す. 信用OKならば,小売業者に発注データ入力を促し,そ のデータをStockServiceAgent7*Bに伝える.*Bは メーカ3社への在庫管理と価格見積りPWSを同時に実 行し,その結果をclient1に返す. メーカ3社の見積り結果を比較し,最も安価な商品を選 択し,卸売業者の判断を待つ.OKならば,そのまま*B に発注を依頼する. 2. 3. 4. 20 実験:エージェントの処理の流れ(1,2の実行) getCreditの実行 入力データ 出力結果 21 エージェントの処理の流れ (3の実行) getStockdetailsの実行 入力 データ 22 エージェントの 処理の流れ (3の実行) 3メーカの getStockdetails 実行結果 各メーカから の出力結果 23 エージェントの処理の流れ (4の実行) エージェントによる 選別結果 商品発注を指示 (getOrdersの実行) 24 実験結果 商品調達のビジネスプロセスに沿って,開発し たPWSと3エージェントの機能と連携の正常動 作を確認した. PWSを想定することにより,3メーカに対する在 庫・価格見積りが一括実行でき,その結果から の商品選別処理も効率化される. 今はメーカ毎に異なるWebサービスを使うので, 共通のPWSを利用すれば,比較・選別するメー カ数に比例して,処理が効率化される. 25 4.おわりに(まとめ/今後の課題) まとめ 共通かつ基本的なビジネスプロセスに対応した,プ リミティブWebサービスを提案した. それにより,Webサービスの名称,機能,入出力イ ンターフェースに対する不統一性や曖昧さが解消さ れる. UDDIレジストリから,必要とするWebサービスの 的確な検出と利用法に対する理解が容易になる. 26 まとめ(続き) サービスの名称,機能,入出力データが一意に統 一されることによって,逆にWebサービス名から企 業が検索できる. (例 このPWSが利用できる“企業”はどこか,など) 商品調達B2Bシステムの開発 •PWSとそのPWSの実行と連携を制御するエー ジェントを開発し,システムとして開発した. 27 今後の課題 PWSの粒度,設計について まだ,漠然としている. もっと基本的な定義と設計基準が必要か?→今は 「一意に統一された名称,機能,入出力インターフェー スをもつ」 多様なビジネスプロセスの分析.→「汎用化の範囲」 と「基本的」の意味を明確にする. PWSの実行と連携について 今回は予め,実行するPWSを静的に決めているが, 動的に組み合わせて実行する形式にすべき. 28 そのためには, 入力支援ユーザインターフェースの自動生成 • WSDL記述を解析し,入力データの種類と型を抽出する. • その入力支援のコマンドプロンプトやGUIを動的に生成す る. 入力データは複合型に統一する(メソッド引数の統一). • 複合型を構成する入力データの種類と型は任意にできる, 自由度がある.複合型のデータ名を統一する. • 入力データを扱うJavaBeansクラスを,ユーザ側で用意す る必要がある.出力データに対しても同様. • その動的生成手法は開発済み. 29 複合型 メソッドへの引数は固定される. その内容は任意にできる. <s:element name="GetLatLong"> <s:complexType> <s:sequence> <s:element name="zipcode" type="s:string" /> <s:element name="LicenseKey" type="s:string" /> </s:sequence> </s:complexType> </s:element> <message name="GetLatLongSoapIn"> <part name="parameters" element="s0:GetLatLong" /> </message> 基本型 <wsdl:message name="getTempMakerRequest"> <wsdl:part name="in0" type="xsd:string"/> </wsdl:message> <wsdl:message name="getTempMakerRequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> </wsdl:message> メソッドへの引数は, 入力データ種類に よって変わる.固定 できない. 30 最後に,本論文に対して,貴重な御意見を 頂きました査読委員の方と,事務局の筑波 大学 佐藤先生に感謝致します.有難うご ざいました. 31
© Copyright 2024 ExpyDoc