Presentation is loading. Please wait.

Presentation is loading. Please wait.

電子情報通信学会 2006年総合大会 Webサービス標準化 の提案と実装 2006年3月26日 松江工業高等専門学校 越田高志.

Similar presentations


Presentation on theme: "電子情報通信学会 2006年総合大会 Webサービス標準化 の提案と実装 2006年3月26日 松江工業高等専門学校 越田高志."— Presentation transcript:

1 電子情報通信学会 2006年総合大会 Webサービス標準化 の提案と実装 2006年3月26日 松江工業高等専門学校 越田高志

2 1.はじめに Webサービスとは Webサービスを構成する基本技術 Webサービスの問題点
データアクセスプロトコルとしてSOAPを用い,XML形式でデータ交換を行う分散処理プログラムのこと. Webサービスを構成する基本技術 SOAP,UDDI,WSDLである. Webサービスの問題点 ユーザが必要とする,または利用したいWebサービスの検出が難しい. ユーザがWebサービスを利用する際に,その機能や入出力インターフェースなど利用法について短時間で正確に知ることが難しい.

3 Webサービスに関して,その名称,機能説明,入出力IFに関する規約などはなく,全て提供者に委ねられている.
    従って, ユーザは利用するWS個々に機能,入出力データの確認と理解が必要である. 標準化することによって,理解と確認を容易にする. 解決 Webサービスの標準化 プリミティブWebサービスの提案[1]

4 プリミティブWebサービス 定義 : 様々なビジネス分野で,共通に利用 可能な一意に統一された名称,機能,入出力IFをもつ標準化されたWebサービスとして定義する. WSに対する曖昧さ,不確定性が無くなる. 一度,それについて理解すれば良い. 任意のビジネスプロセスに対しても,ユーザ主体で PWSの組合せとして処理できる. PWSを実現するためには,どうすれば良いのか?  (入出力IFの統一,スタブレス実行が必要)

5 Webサービス実行の流れ UDDIレジストリ Webサービス提供者 ユーザ クライアント・プログラムの作成と①~④を自動化した.
WSDLファイル Webサービスに関する情報 ・Webサービス,WSDLのアドレス Webサービスの登録 ②情報 ①検索 ④結果 ユーザ ③実行 クライアント・プログラムの作成 クライアント・プログラムの作成と①~④を自動化した.

6 2.Webサービスのデータ型について 入力IFの統一とスタブレス実行が必要! WSの実行を動的,かつ自動化したい.
基本型と複合型(基本型を複数個組み合わせたもの) 複合型の場合,実行前にそのデータ型に対応したJavaBeansクラスの開発が必要. それを自動化した出力データ型に依存しない,自動化・統合化されたWS動的実行システムは開発済み. 現在のWSは,入力データ型は基本型である. (何故なら,複合型にすると,実行時にユーザ側で複合型に対応したJavaBeansクラスを用意する必要がある.)

7 入力データ型が複合型の利点 →  1つのオブジェクトとして操作できるので,コードが  シンプルになり,開発と処理操作が容易になる.データ内容がカプセル化できるので, 入出力データ型の一元化も可能になる. public class GoodsService6{ // (A) 基本型入力データ  public SData6 getStocks(String btype, Stirng id, String gcode, int quantity, int price) throws Exception{ public class GoodsService6{ // (B) 複合型入力データ  public SData6 getStocks(GData6 details) throws Exception{ データ型と順番!

8 入出力データ型に依存しないWebサービス動的実行システム
WSの入力データ型に複合型を使いたい.そうなれば,入力データ型の一元化 → WSの標準化 ユーザ側でその複合型WSが容易に利用できることが必要である. その入力複合型に対応したJavaBeansクラスを動的に生成し,かつスタブレスで実行可能にすれば良い. 入出力データ型に依存しないWebサービス動的実行システム 開発

9 入出力データ型がともに複合型であるWSに対する処理の流れ

10 複合型入出力データをもつWSのWSDL記述の一部
<wsdl:types> <schema targetNamespace=" xmlns=" <import namespace=" /> <complexType name="GData6"> <sequence> <element name="beertype" nillable="true" type="xsd:string" /> <element name="quantity" type="xsd:int" /> </sequence> </complexType> <element name="GData6" nillable="true" type="tns1:GData6" /> <complexType name="SData6"> <sequence> <element name="beercode" nillable="true" type="xsd:string" /> <element name="beername" nillable="true" type="xsd:string" /> <element name="casevalue" type="xsd:int" /> <element name="totalcost" type="xsd:int" /> <element name="unitvalue" type="xsd:int" /> <element name="SData6" nillable="true" type="tns1:SData6" /> </schema> </wsdl:types> <wsdl:message name="getStocksRequest"> <wsdl:part name="in0" type="tns1:GData6" /> </wsdl:message> <wsdl:message name="getStocksResponse"> <wsdl:part name="getStocksReturn" type="tns1:SData6" /> </wsdl:message> 入力データ部分 出力データ部分

11 3.標準化されたWebサービスの開発 RosettaNetの製品調達PIPsに対応したPWSを開発し,  ビジネスプロセスに沿ってその実行を確認した. PIPの種類 説明 3A1 製品見積もりの要求 3A4 製品発注の要求 3A10 製品見積もり受領通知 3A13 製品発注の受領通知 バイヤー セラー

12 3.1 製品調達ビジネスプロセスの流れ (1) バイヤーから 製品見積もり要求(3A1) → セラーに送信する.
3.1 製品調達ビジネスプロセスの流れ (1) バイヤーから 製品見積もり要求(3A1) → セラーに送信する. (2) セラーはそれを受けて,指定された項目に対して供給が可能か否か   を回答する.この回答送信に対しては,セラー側で用意した伝票番   号が新たに出力データに追加されて,返信される. (3) バイヤーから 見積もり受領通知(3A10) → セラーに送信する. (4) その後,バイヤーから 製品発注要求(3A4) → セラーに行う. (5) セラーはこの製品発注要求を受けて,その伝票番号をチェックして,   既に製品見積もりプロセス(3A1)が完了していることを確認した後,受  注完了通知をバイヤーに返す. (6) バイヤーは,セラーからの受注完了通知を受取った後に,→ 受注受  領通知(3A13) → セラーに送信する.

13 3.2 プリミティブWebサービスの設計と実装
PIPsに対応したPWSを設計・開発した. PIP PWS名 メソッド名 入出力データ型 3A1 DataManage1 requestQuote Order 3A4 DataManage2 requestOrder 3A10 DataManage3 requestReply 3A13 入出力データ型OrderのWSDL記述を示す.

14 入出力データ型OrderのWSDL記述 <complexType name="Order"> <sequence>
  <element name="customerID"   type="xsd:int"/>   <element name="customerName" type="xsd:string"/>   <element name="message"     type="xsd:string"/>   <element name="orderDate"    type="xsd:string"/>   <element name="orderID" type="xsd:string"/>   <element name="passwd"   type="xsd:string"/>   <element name="price" type="xsd:int"/>   <element name="productCode" type="xsd:string"/>   <element name="quantity" type="xsd:int"/>   <element name="receiptDate" type="xsd:string"/>   <element name="sellerID“ type="xsd:int"/>   <element name="sellerName" type="xsd:string"/>   <element name="totalPrice“ type="xsd:int"/>   <element name="unit" type="xsd:int"/> </sequence> </complexType> 入出力データ型OrderのWSDL記述

15 図2 セラーにおける PWSの配備状況

16 図3 DataManage1 PWSの実行結果

17 4.まとめ ・複合型入出力データを利用することで,入出力IFが 統一されたWS標準化(PWS)が実現できる.
・その標準化されたWSの利用促進には,入出力デー タ型に依存しないWS動的実行システムを利用する 必要がある(それも併せて開発済み). ・標準化されたWS(PWS) ⇒ RosettaNetの商品調  達ビジネスプロセスに対応したPWSを開発・実装・ 動作実験を行い,提案の有効性を確認した.


Download ppt "電子情報通信学会 2006年総合大会 Webサービス標準化 の提案と実装 2006年3月26日 松江工業高等専門学校 越田高志."

Similar presentations


Ads by Google