Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai 大石雅寿 / 国立天文台 & 総合研究大学院大学 [email protected] JVOシステム図 2006/07/31 2006年 VO夏の学校 ワークフロー記述言語 (XMLタグの例) • 変数定義 – <variables> 〜 </variables> • 逐次実行 – <sequence> 〜 </sequence> • <variable>を要素にとる • • <command>などを要素にとる 外部サービス呼出 – <invoke> 〜 </invoke> • • <input>・<output>を要素にとる • 属性値でサービスを指定 • 内部コマンド実行 – <command> 〜 </command> • <input>・<output>を要素にとる ループ処理 – <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を発表 • タグは自由に決めることができる • 日本語要素名も使える <空港名> 成田 </空港名> 2006/07/31 2006年 VO夏の学校 XML文書の構造 • XML宣言 • 文書型定義 = DTD • 実データ = XML instance 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の要素型や属性に関連づけることのできる基本データ型セット を定義 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夏の学校
© Copyright 2025 ExpyDoc