XML-RPC
通信するときの お約束事だよ
XML形式のデータをやり取りするよ
HTTPでやり取りするよ
POSTメソッドを使ってやり取りするよ
「eXtensible Markup Language Remote Procedure Call」の略だよ
簡単に書くよ
XML-RPC(読:エックスエムエル・アールピーシー)とは
XML形式のデータをHTTP
(ホームページのファイルを受け渡しするときに使うお約束)でやり取りするためのお約束事(のひとつ)。
もう少しざっくり書くと
インターネットでのやり取りをXML形式でやるときに使う お約束事(のひとつ)
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・XML
・通信プロトコル(プロトコル)
・HTTP
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
XMLは「ファイルの書き方ルールのひとつ」です。
マークアップ言語と呼ばれる種類で、HTMLの親戚みたいなものです。
例えば
<?xml version="1.0" encoding="Shift_JIS" ?>
<staff>
<member>
<name>ピヨ太</name>
<position>社長</position>
<age>40代のおっさん</age>
</member>
<member>
<name>ピヨ子</name>
<position>営業部長</position>
<age>永遠の美少女</age>
</member>
</staff>
みたいな書き方をします。
詳細は、用語「XML」の説明を ご覧ください。
通信プロトコル(プロトコル)は「通信するときに使う お約束事」です。
通信するときは足並みを揃える必要があります。
片方が日本語で話しかけたのに、もう一方が英語で お返事したのでは、コミュニケーションが成立しませんよね。
それと同じです。
そこで「○○通信をするときは ××というお約束事に従って やり取りしようね」と事前に決まっています。
言い方を変えると
通信するときは、お約束事が必要
なのです。
この「通信するときに使う お約束事」を「通信プロトコル(プロトコル)」と言います。
HTTPは「ホームページのファイルを受け渡しするときに使う お約束事」です。
よく分からない人は「インターネットをするときに使う お約束事」と解釈しても かまいません。
あなたがホームページを見るとき、まず、ホームページを見るときに使うソフト(Webブラウザ)がホームページのファイルが置いてあるコンピュータ(Webサーバ)に「このページをおくれ」と お願いを出します。
そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。
お返事を受け取ったWebブラウザさんは、受け取ったページを画面上に表示します。
これがホームページを見るときの流れです。
この流れにおける「このページをおくれ」「ほれ、そのページだよ」のやり取りで使う お約束事がHTTPです。
以上を踏まえて
XML形式のデータをHTTPでやり取りするためのお約束事(のひとつ)
が「XML-RPC」です。
「eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)」の略で「XML-RPC」ね。
気が向いたら、覚えてあげてください。
※「eXtensible Markup Language Remote Procedure Call」を何となく日本語にすると「XML遠隔手順呼び出し」となります。[詳細]
先ほどの例では、WebブラウザさんとWebサーバさんの間で「あのページをおくれ」「ほら、そのページだよ」のやり取りが発生しました。
実は、WebブラウザさんとWebサーバさんの間でできるやり取りは「あのページをおくれ」「ほら、そのページだよ」だけでは ありません。
詳細の説明は省きますが、もっといろいろな情報をやり取りできます。
それを踏まえて、例えば、WebブラウザさんがWebサーバさんに対して「ばかー!」と送ったとしましょう。
それに対して、Webサーバさんが「あほー!」と返事しました。
このやり取りはHTTPのルールに従って行われます。
ホームページのファイルの受け渡しと同じです。
さて、ここでやり取りした内容「ばかー!」と「あほー!」に注目してください。
このやり取りする内容を、ちょっと気取ってXML形式のデータにしたいとします。
例えば
<?xml version="1.0"?>
<methodCall>
<methodName>piyoMethod</methodName>
<params>
<param>
<value><string>ばかー!</string></value>
</param>
</params>
</methodCall>
や
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><string>あほー!</string></value>
</param>
</params>
</methodResponse>
のような形です。
全体として、やりたいことは
XML形式のデータをHTTPでやり取りする
です。
これをやるときのお約束事(のひとつ)がXML-RPCです。
なお、やり取りはPOSTメソッドを使って行われます。
POSTメソッドが分からない人は、用語「POSTメソッド」の説明を ご覧ください。
一言でまとめるよ
まぁ「XML-RPC」って単語が出てきたら「XML形式のデータをHTTP
(ホームページのファイルを受け渡しするときに使うお約束)でやり取りするときに使う お約束事なんだな~」と お考えください。
おまけ
■訳してみるよ
「XML-RPC」は「eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)」の略です。
「extensible(エクステンシブル)」の意味は「広げられる」とか「伸ばせる」とかです。
今回は「拡張できる」と解釈してください。
「mark(マーク)」の意味は「印」とかです。
「up(アップ)」の意味は「上へ」とかです。
「mark up(マーク・アップ)」で「印をつける」的な意味になります。
「language(ランゲージ)」の意味は「言語」とか「言葉」とかです。
「remote(リモート)」の意味は「遠い」とか「遠方の」とか「遠隔の」とかです。
「procedure(プロシージャ)」の意味は「手順」とか「手続き」とかです。
「call(コール)」の意味は「呼ぶ」とか「名前をつける」とか「電話をかける」とかです。
何となく くっつけると
拡張できる印を付ける言語遠隔手順呼び出し
となります。
■検索してみる?






