web サービスに関する基本用語
DESCRIPTION
Web サービスに関する基本用語. Masatoshi Ohishi / NAOJ & Sokendai 大石雅寿 / 国立天文台 & 総合研究大学院大学 [email protected]. JVO システム図. 逐次実行 〜 などを要素にとる ループ処理 〜 要素を順次実行する 〜 要素を並列実行する 条件判定 〜 . ワークフロー記述言語 (XMLタグの例). 変数定義 - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/2.jpg)
2006/07/31 2006年 VO夏の学校
JVO システム図
![Page 3: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/3.jpg)
2006/07/31 2006年 VO夏の学校
ワークフロー記述言語(XML タグの例 )
• 変数定義– <variables> 〜
</variables>• <variable> を要素にとる
• 外部サービス呼出– <invoke> 〜
</invoke>• <input> ・ <output> を要
素にとる• 属性値でサービスを指定
• 内部コマンド実行– <command> 〜
</command>• <input> ・ <output> を要
素にとる
• 逐次実行– <sequence> 〜
</sequence>• <command> などを要素に
とる• ループ処理
– <for> 〜 </for>• 要素を順次実行する
– <parfor> 〜 </parfor>• 要素を並列実行する
• 条件判定– <if> 〜 </if>
BPEL4WS※ をベースにして天文学解析フローを記述するためのタグを実装 ※BPEL4WS = Business Process Execution Language for Web Services 複数のウェブサービスを連係させ、複雑なフローを記述できる。
![Page 4: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/4.jpg)
2006/07/31 2006年 VO夏の学校
Web Services とは
• インターネットの標準技術を用いて,インターネット上に広く公開し提供されている情報処理サービス
• サーバー同士が会話(通信)してサービスを提供する
• 処理:検索,変換,加工,あるいはこれらの組み合わせを行い,結果を返却する
• ネットショップなどは Web Services の良い例
![Page 5: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/5.jpg)
2006/07/31 2006年 VO夏の学校
Web Services の例
![Page 6: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/6.jpg)
2006/07/31 2006年 VO夏の学校
Web Services を支える技術 (1)
• 標準技術– TCP/IP : Internet/Intranet での標準的プロトコ
ル。 network 層が IP ,トランスポート層がTCP 。 HTTP や FTP のベースとなる。
– HTTP : Web サーバーと Web ブラウザがデータを送受信する非常に単純なプロトコル。
– HTML : Web ページを記述する言語。人間用。– URL : net 上の Web ページの場所を指示する
記述方法。
![Page 7: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/7.jpg)
2006/07/31 2006年 VO夏の学校
Web Services を支える技術 (2)
• 新技術– XML :計算機同士が,その文書のデータ構造と内容を
解析できるようにした表現形式– SOAP : XML 文書を HTTP 上でリクエスト/レスポ
ンス方式でやりとりするプロトコル。 XML 文書をSOAP メッセージという封筒に相当するものに入れ,プログラム間での受け渡しを可能としている。
– UDDI :どのような Web サービスがネット上のどこで提供されているかを登録・検索するために仕組み。電話帳。
– WSDL :プログラムから SOAP プロトコルによりWeb Services を呼び出すためのインターフェース情報。 XML で記述される。
![Page 8: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/8.jpg)
2006/07/31 2006年 VO夏の学校
![Page 9: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/9.jpg)
2006/07/31 2006年 VO夏の学校
XML
• eXtensible Markup Language– タグによる記述
• 1998 年に W3C が XML1.0 を発表• タグは自由に決めることができる• 日本語要素名も使える
< 空港名 > 成田 </ 空港名 >
![Page 10: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/10.jpg)
2006/07/31 2006年 VO夏の学校
XML 文書の構造
• XML 宣言• 文書型定義 = DTD• 実データ = XML
instance
![Page 11: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/11.jpg)
2006/07/31 2006年 VO夏の学校
XML と・・・• スタイルシート
– 表現形式が定義されていない XML 文書を HTML に変換するなどの際に必要な情報を定義: XSL , XSLT
• DOM (Document Object Model) , SAX (Simple API for XML)– XML 文書をプログラムが処理するための標準インターフェース。– DOM—XML 文書のデータをオブジェクトのツリーとしてメモリ
に展開。– SAX— 逐次処理型のインターフェース
• XML 名前空間– 利用する要素名や属性名がどの定義に属するかを指定する
• XML Schema– XML 文書の構造を記述,内容を制約する方法を提供– XML の要素型や属性に関連づけることのできる基本データ型セッ
トを定義
![Page 12: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/12.jpg)
2006/07/31 2006年 VO夏の学校
SOAP
• (Simple Object Access Protocol)
• Web Services においてマシン間通信のデータ構造を標準化
• 情報の型定義の方法と表現方法を提供• プラットフォームに依存しない• 通信プロトコルに依存しない
![Page 13: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/13.jpg)
2006/07/31 2006年 VO夏の学校
SOAP message
![Page 14: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/14.jpg)
2006/07/31 2006年 VO夏の学校
UDDI
• Universal Description, Discovery, and Integration)
• Web Services の電話帳• メタデータを登録しておく
– ビジネス情報(サービス提供者についての情報)
– サービス情報(提供されるサービスの内容や名前)
– バインド情報( Web Services を呼び出すインターフェース情報)
![Page 15: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/15.jpg)
2006/07/31 2006年 VO夏の学校
![Page 16: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/16.jpg)
2006/07/31 2006年 VO夏の学校
WSDL
• Web Services Description Language• Web Services の仕様書
– どのようなメソッド名 ?– 引数の数はいくつ ? 型は ?– 通信プロトコルは ?– etc.
• サービスリクエスタは, UDDI によりリソースを発見し, WSDL によりアクセス方法を知ることができる
![Page 17: Web サービスに関する基本用語](https://reader036.vdocuments.mx/reader036/viewer/2022062517/56812deb550346895d9348da/html5/thumbnails/17.jpg)
2006/07/31 2006年 VO夏の学校
WDSL の構造[WDSL インターフェース記述 ]<type> 送受信メッセージの定義に使用するデータタイプの定義</type><message> 送受信メッセージのデータフォーマットの定義</message><portType> メッセージ群をまとめて論理的な操作のインターフェースを定義</portType><binding> 論理的な操作とプロトコルの結びつけを定義</binding>[WSDL インプリメント記述 ]<service> サービスのエンドポイントの物理的な位置を定義 <port> binding とアドレスの組み合わせでエンドポイントを定義 </port></service>