「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

eXtensible Markup Language Remote Procedure Call

pointこの用語のポイント

point通信するときの お約束事だよ

pointXML形式のデータをやり取りするよ

pointHTTPでやり取りするよ

pointPOSTメソッドを使ってやり取りするよ

point「XML-RPC」と表現されるのが一般的だよ

スポンサーリンク

簡単に書くよ

eXtensible Markup Language Remote Procedure Call(読:エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)とは

いわゆる「XML-RPC」のこと。
用語の中身としては

XML形式のデータをHTTP(ホームページのファイルを受け渡しするときに使うお約束)でやり取りするための お約束事(のひとつ)
です。
もう少しざっくり書くと

インターネットでのやり取りをXML形式でやるときに使う お約束事(のひとつ)
です。


image piyo

詳しく書くよ

最初に留意事項です。
XML-RPC」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
XML-RPCの正式名称(?)が「eXtensible Markup Language Remote Procedure Call」です。
「eXtensible Markup Language Remote Procedure Call」を何となく省略したのが「XML-RPC」ね。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)

※「eXtensible Markup Language Remote Procedure Call」を何となく日本語にすると「XML遠隔手順呼び出し」となります。[詳細]

以上が「XML-RPC」の意味を知っている人向けの説明です。

「XML-RPCって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩3

それでは、いってみましょう。
まずは予備知識として

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」の説明を ご覧ください。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)2

通信プロトコルプロトコルは「通信するときに使う お約束事」です。

通信するときは足並みを揃える必要があります。
片方が日本語で話しかけたのに、もう一方が英語で お返事したのでは、コミュニケーションが成立しませんよね。
それと同じです。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)3

そこで「○○通信をするときは ××というお約束事に従って やり取りしようね」と事前に決まっています。
言い方を変えると

通信するときは、お約束事が必要

なのです。

この「通信するときに使う お約束事」を「通信プロトコル(プロトコル)」と言います。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)4

HTTPは「ホームページファイルを受け渡しするときに使う お約束事」です。
よく分からない人は「インターネットをするときに使う お約束事」と解釈しても かまいません。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)5

あなたがホームページを見るとき、まず、ホームページを見るときに使うソフトWebブラウザがホームページのファイルが置いてあるコンピュータWebサーバに「このページをおくれ」と お願いを出します。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)6

そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)7

お返事を受け取ったWebブラウザさんは、受け取ったページを画面上に表示します。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)8

これがホームページを見るときの流れです。

この流れにおける「このページをおくれ」「ほれ、そのページだよ」のやり取りで使う お約束事がHTTPです。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)9

以上を踏まえて

XML形式データをHTTPでやり取りするための お約束事(のひとつ)

が「eXtensible Markup Language Remote Procedure Call」です。
上でも書きましたが、一般的には「XML-RPC」と表現されます。
※本ページでも以降は「XML-RPC」と表現します。

先ほどの例では、WebブラウザさんとWebサーバさんの間で「あのページをおくれ」「ほら、そのページだよ」のやり取りが発生しました。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)10

実は、WebブラウザさんとWebサーバさんの間でできるやり取りは「あのページをおくれ」「ほら、そのページだよ」だけでは ありません。
詳細の説明は省きますが、もっといろいろな情報をやり取りできます。

それを踏まえて、例えば、WebブラウザさんがWebサーバさんに対して「ばかー!」と送ったとしましょう。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)11

それに対して、Webサーバさんが「あほー!」と返事しました。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)12

このやり取りはHTTPのルールに従って行われます。
ホームページのファイルの受け渡しと同じです。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)13

さて、ここでやり取りした内容「ばかー!」と「あほー!」に注目してください。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)14

このやり取りする内容を、ちょっと気取って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>


のような形です。

eXtensible Markup Language Remote Procedure Call(エクステンシブル・マークアップ・ランゲージ・リモート・プロシージャ・コール)15

全体として、やりたいことは

XML形式のデータをHTTPでやり取りする

です。

これをやるときのお約束事(のひとつ)がXML-RPCです。

なお、やり取りはPOSTメソッドを使って行われます。
POSTメソッドが分からない人は、用語「POSTメソッド」の説明を ご覧ください。


image piyo2

一言でまとめるよ

まぁ「eXtensible Markup Language Remote Procedure Call」って単語が出てきたら「XML-RPC(XML形式のデータをHTTPでやり取りするときに使う お約束事)のことなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像003
書籍画像077

おまけ

■訳してみるよ

「extensible(エクステンシブル)」の意味は「広げられる」とか「伸ばせる」とかです。
今回は「拡張できる」と解釈してください。
「mark(マーク)」の意味は「印」とかです。
「up(アップ)」の意味は「上へ」とかです。
「mark up(マーク・アップ)」で「印をつける」的な意味になります。
「language(ランゲージ)」の意味は「言語」とか「言葉」とかです。
「remote(リモート)」の意味は「遠い」とか「遠方の」とか「遠隔の」とかです。
「procedure(プロシージャ)」の意味は「手順」とか「手続き」とかです。
「call(コール)」の意味は「呼ぶ」とか「名前をつける」とか「電話をかける」とかです。
何となく くっつけると

拡張できる印を付ける言語遠隔手順呼び出し

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック