入出力データ型に透過な Webサービス動的実行システム 松江工業高等専門学校 情報工学科 越田高志 情報処理学会第68回全国大会

Slides:



Advertisements
Similar presentations
1 WSIF における Web サービス・メソッドの自動設 定 2004 年 3 月 23 日 越田高志 松江工業高等専門学校 情報工学科 電子情報通信学会 2004年総合 大会.
Advertisements

1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
カーリルを利用した 書籍活用 / 蔵書管理システム 研究者: J0639 山中勇太 指導教員:越田高志.
プログラミング第5回 1 while ループ 文字列の操作
シーケンス図の生成のための実行履歴圧縮手法
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
JPAを利用した RESTful Webサービスの開発
IO - 入出力 小西 亨.
Applet 岡部 祐典 鈴木 敬幸.
REST型Webサービスによる 楽曲検索システムの開発
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
情報伝播によるオブジェクト指向プログラム理解支援の提案
卒研:データベースチーム 第4回 DOMを使った処理
変数のスコープの設計判断能力 を育成するプログラミング教育
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
RMI ソフトウェア特論 第6回 /
プログラム実行時情報を用いたトランザクションファンクション抽出手法
第12回 2007年7月13日 応用Java (Java/XML).
第10回 2007年6月29日 応用Java (Java/XML).
SOAP/UDDI/WSDLによるB2Bシステムの開発
SOAP/UDDI/WSDLによるB2Bシステム構築の一事例
細かい粒度で コードの再利用を可能とする メソッド内メソッドと その効率の良い実装方法の提案
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
暗黙的に型付けされる構造体の Java言語への導入
WebサービスII (第7回) 2007年11月7日 植田龍男.
Webアプリケーションの方向性 データベース論 第13回.
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
EclipseでWekaのAPIを呼び出す
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
Webサービスによる 加工工程決定支援システム
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
加工工程決定支援システム 電子情報通信学会 2010年総合大会 2010年3月18日 松江工業高等専門学校  情報工学科 越田 高志.
加工工程決定支援に対する自動化 電子情報通信学会2008年総合大会 松江工業高等専門学校 情報工学科 越田 高志, 牧 聡史
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
電子情報通信学会 2006年総合大会 Webサービス標準化 の提案と実装 2006年3月26日 松江工業高等専門学校 越田高志.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
ソフトウェア制作論 平成30年11月21日.
プリミティブWebサービスとエージェントによる商品調達B2Bシステムの設計と実装
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
RDFの生産工程管理システムへの適用 情報処理学会 第74回全国大会 2012年3月6日 松江工業高等専門学校  情報工学科 越田 高志.
項目間の対応関係を用いた XBRL財務報告書自動変換ツールの試作
コーディングパターンの あいまい検索の提案と実装
アルゴリズムとプログラミング (Algorithms and Programming)
生産工程管理支援システム -検索Webサービスの実行自動化-
高精細計算を実現するAMR法フレームワークの高度化 研究背景と研究目的 複数GPU間での袖領域の交換と効率化
統合開発環境によって表現された 言語機構によるコードのモジュール化
C#プログラミング実習 第3回.
設計情報の再利用を目的とした UML図の自動推薦ツール
地域生活支援システムの開発 越田研究室 j0431 野津洋二.
Javaによる Webアプリケーション入門 第4回
セマンテックWebを利用した加工工程決定支援システム
セマンティックWebの 生産管理システムへの適用
サブゼミ第7回 実装編① オブジェクト型とキャスト.
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
状況に応じて適切な 例外処理が行なえる アスペクト指向分散環境実験の 支援ツール
プログラム分散化のための アスペクト指向言語
オントロジーを利用した Webサービスの実行支援に関する研究
生産工程管理支援 GUIシステム 電子情報通信学会 2014年総合大会 2014年3月19日 松江工業高等専門学校  情報工学科 越田 高志.
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
オブジェクト指向 プログラミング 第四回 知能情報学部 新田直也.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
セマンティックWebの 生産管理システムへの適用
ソフトウェア工学 知能情報学部 新田直也.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
JSFによるWebアプリケーション開発 第7回
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

入出力データ型に透過な Webサービス動的実行システム 松江工業高等専門学校 情報工学科 越田高志 情報処理学会第68回全国大会                2006年3月7日    松江工業高等専門学校 情報工学科 越田高志

1.はじめに Webサービスとは Webサービスの基本技術 Webサービス実用化の問題点 データアクセスプロトコルとしてSOAPを用い,XML形式でデータ交換を行う分散処理プログラムのこと. Webサービスの基本技術 SOAP,UDDI,WSDLである. Webサービス実用化の問題点 1.必要とする適切なWebサービスを検出・連携し,目的と する処理を実行する適切な手段が存在しないこと, 2.ユーザ側でWebサービスの実行を制御するスタブを開発しなければならないこと,及び, 3.入力データ型が複合型であるWebサービスを利用できないこと.

その問題点の解決 プリミティブWebサービスの提案[1,2] 本論文で解決手法を提案する.

2.Webサービスの問題点 Webサービスの入出力データ型について WSのデータ型は大きく2種類ある. 基本型と複合型(基本型を複数個組み合わせたもの) 出力データ型に依存しない,自動化・統合化されたWS動的実行システムは開発済み. 出力データも自動処理可能となった. 現在WSの入力データ型は,全て基本型である. (何故なら,複合型にすると,実行時にユーザ側で複合型に対応したJavaBeansクラスを用意しなければならない.    ⇒ユーザへの負荷が大きい

入力データ型が複数の基本型パラメータをまとめた複合型であれば,  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{

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

3.入出力データ型に依存しないWebサービス動的実行システム

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

定義 様々なビジネス分野で,共通に利用可能な一意に統一された名称,機能,入出力IFをもつ標準化されたWebサービスとして定義する. WSに対する曖昧さ,不確定性が無くなる. 一度,それについて理解すれば良い. 任意のビジネスプロセスに対しても,ユーザ主体で PWSの組合せとして処理できる.

入力データ部分 出力データ部分 <wsdl:types> <schema > <complexType name="Dat1"> <sequence> <element name="name" nillable="true" type="xsd:string"/> <element name="tel" nillable="true" type="xsd:string"/> </sequence> </complexType> <element name="Dat1" nillable="true" type="tns1:Dat1"/> <complexType name="CDat1">   <sequence> <element name="address" nillable="true" type="xsd:string"/> <element name="credit" nillable="true" type="xsd:string"/> <element name="head" nillable="true" type="xsd:string"/> </sequence> </complexType> <element name="CDat1" nillable="true" type="tns1:CDat1"/> </schema> </wsdl:types> 出力データ部分

複合型WSのWSDL記述の一部 <wsdl:types> <schema targetNamespace="http://10.70.51.20:8080/axis/services" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <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>

基本型と複合型の比較 基本型 複合型 そのままデータをWSに送付・実行できる. 実行時に,入力順番を常に確認する必要がある. 全ての入力データ名を指定するので,プログラミングが煩雑になる. 複合型 その複合型データに対応したJavaBeansクラスを用意する必要がある. 実行時に,全ての入力データをJavaBeansクラスのオブジェクトとしてまとめて扱える(入力順番を気にする必要はない.)

基本型の場合 複合型の場合 public class GoodsService6{ public SData6 getStocks(String beertype, int quantity)                           throws Exception{ public SData6 getStocks(GData6 details) throws Exception{ 複合型の場合 GData6クラスを共通に定義すれば良い.

複合型の利点 WSの連携がシンプルになる. 入力データのカプセル化 あるWSの出力を次のWSの入力とする場合など,同じJavaBeansクラスのオブジェクトを利用できる. 入力データのカプセル化 ユーザは入力データの意味さえ分かればよい.その変数名や入力順番などを気にしなくてよい.プログラミングが簡略化される. WSメソッドのシグニチャ(メソッド名と引数)は同じ,でも引数の内容が異なるWSも可能.

3,2 システムの機能

Webサービスの検出 Webサービスの結合 ユーザが必要とする最適なWebサービスを如何に効率良く,検出するか. その機能,出力タイプ,入力パラメータの数とそのタイプをユーザに伝えること. Webサービスの結合 複数のWebサービスをどう結びつけるか? セマンテックWeb.

3.3 実験結果

4.おわりに 本システムを利用することにより, 複合型入力データをもつWebサービスに対しても,動的実行が可能になる.これにより,Webサービス提供側でも複合型入力データをもつWebサービスが提供可能となり,提供側のWebサービス開発工数と処理効率の向上が期待できる.Webサービスメソッドの入力IFの統一が容易になる. 従って,基本的なビジネスプロセスに対応した,一意に定義されたWebサービス名,メソッド名,入力IFをもつWebサービス標準化が実現でき,またWebサービスの動的連携も容易になると考えられる.