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