XMLとHTTP (XML-RPCのもうひとつの母体) <1/9> ◇ XML-RPCは、 XMLとHTTPを使いRPCの概念を拡張しました。 ◇ XML-RPCは、RPC要求をXMLにエンコードし、それを標準の HTTP接続を介してサーバーすなわちリスナー部分に送ることで動 作します。 【特別セッション】 身近な生活のリズムを記録するシステム(Life Style Logger)と、Pythonの分散プログラミングモジュール(xmlrpc) p.0 XMLとHTTP (XML-RPCのもうひとつの母体) <2/9> ◇リスナーは、XMLをデコードし、要求されたプロシージャーを実 行して、その結果をXMLにパッケージし、ネットワークを介してクラ イアントに送り戻します。 ◇クライアントは、XMLをデコードし、結果を標準言語のデータ型 に変換して、実行を続けます。 【特別セッション】 身近な生活のリズムを記録するシステム(Life Style Logger)と、Pythonの分散プログラミングモジュール(xmlrpc) p.1 XMLとHTTP (XML-RPCのもうひとつの母体) <3/9> (get_account_info RPCを要求) (そのプロシージャーの結果を戻す) 【特別セッション】 身近な生活のリズムを記録するシステム(Life Style Logger)と、Pythonの分散プログラミングモジュール(xmlrpc) p.2 XMLとHTTP (XML-RPCのもうひとつの母体) <4/9> ◇図1は、クライアント (get_account_info RPCを要求)とリスナー (そのプロシージャーの結果を戻す)間の実際のXML-RPC変換を 示す図です。 ◇ XML-RPCの扱いが非常に簡単なのは、XML変換の詳細が ユーザーから隠されているからです。 【特別セッション】 身近な生活のリズムを記録するシステム(Life Style Logger)と、Pythonの分散プログラミングモジュール(xmlrpc) p.3 XMLとHTTP (XML-RPCのもうひとつの母体) <5/9> (get_account_info RPCを要求) 【特別セッション】 身近な生活のリズムを記録するシステム(Life Style Logger)と、Pythonの分散プログラミングモジュール(xmlrpc) p.4 XMLとHTTP (XML-RPCのもうひとつの母体) <6/9> (そのプロシージャーの結果を戻す) 【特別セッション】 身近な生活のリズムを記録するシステム(Life Style Logger)と、Pythonの分散プログラミングモジュール(xmlrpc) p.5 XMLとHTTP (XML-RPCのもうひとつの母体) <7/9> ◇ XML-RPCのおもしろい部分は、プログラミング言語とオペレー ティング・システム・プラットフォームにまたがって、クライアントと サーバーを別々の言 語で作成して一緒に動作させることができる 点です。 ◇例えば、Perlクライアントは、Javaサーバーとやり取りすることが できます。 ◇また、例えば、Pythonリスナーは、PHP 要求に応えることができ ます。 【特別セッション】 身近な生活のリズムを記録するシステム(Life Style Logger)と、Pythonの分散プログラミングモジュール(xmlrpc) p.6 XMLとHTTP (XML-RPCのもうひとつの母体) <8/9> ◇ XML-RPC は以下のデータの種別をサポートします。 int 符号付 32 ビット整数 string ASCII 文字列で空バイトも許されます。(実際にはたくさんの XML-RPC の 実装が Unicode をサポートしています。) boolean 真か偽のどちらか double 倍精度浮動小数点実数 dateTime.iso8601 日付と時刻。 base64 任意長の生のバイナリデータ - 通信上 Base64 を使用して エンコードされ ます。 array 値の一次元配列。個々の値はどんな種別でもかまいません struct キーと値の集まり。キーは文字列です - 値はどんな種別 でもかまいません。 【特別セッション】 身近な生活のリズムを記録するシステム(Life Style Logger)と、Pythonの分散プログラミングモジュール(xmlrpc) p.7 XMLとHTTP (XML-RPCのもうひとつの母体) <9/9> ◇ Pythnにおいて、array、および、structに相当するオブジェクトは、 それぞれ何か? 【特別セッション】 身近な生活のリズムを記録するシステム(Life Style Logger)と、Pythonの分散プログラミングモジュール(xmlrpc) p.8
© Copyright 2024 ExpyDoc