接続を介してサーバーすなわちリスナー部分に送ることで動作します
Download
Report
Transcript 接続を介してサーバーすなわちリスナー部分に送ることで動作します
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