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