2016年07月20日
できるだけわかりやすく説明してみるという実験:ウェブサービス=ネットサーフィンする機械
ある切ない物語。
あるブログを始めた男は、毎日記事を書き続けた。
毎日毎日がんばって記事を書き続けるのであるが、アクセスはまったく伸びなかった。
彼は毎日アクセスログを眺めては、「あー、今日も誰も見てくれなかったなあ」と溜息をつく。
いつもあるアクセスは、自分の家のアドレスからのみ。内容確認のために自分でアクセスしたものだけ。
あるブログを始めた男は、毎日記事を書き続けた。
毎日毎日がんばって記事を書き続けるのであるが、アクセスはまったく伸びなかった。
彼は毎日アクセスログを眺めては、「あー、今日も誰も見てくれなかったなあ」と溜息をつく。
いつもあるアクセスは、自分の家のアドレスからのみ。内容確認のために自分でアクセスしたものだけ。
ブログを始めて一週間後、ようやく自分以外からのアクセスがあった。
彼は大喜びし、毎日記事を書き続けた。
その彼ではないもうひとりからのアクセスは毎日ではないが、時々見に来てくれている。
それ以外のアクセスは、、、ない。
「この人のためだけでも僕は毎日ブログを書こう」
彼はそう思って毎日ブログを書き続けた。
彼ではないもうひとりのアクセスが、Googleがデータを集めるために定期的に巡回しているロボットであると知らずに。
んー、切ないねえ。
人間向けに書かれたウェブのページを巡回して自動的に検索エンジン用のデータを集めるものを"ロボット"という。
ウェブページは手書き文字ではないので、その内容を自動的に集めることも容易で、データベース上にインデックスを作ることも簡単にできる。
ロボットが巡回するとき、それは機械どうしがやりとりをしている、ということである。
これと同じように、人間を介さずにウェブでデータをやりとりする、ということが行われる。
これを「ウェブサービス」と言う。
ブログやショッピングサイトを見るのと同じように、ウェブサーバーというサーバーでデータが配信される。
なので当然のことながら「ウェブサービス」は、ChromeやIEなどのブラウザーで見ることもできる。ただし、機械どうしでデータをやり取りするものなので、「ウェブサービス」にブラウザーで開いてみても、人間に分かるようなものではないが。
わざわざブラウザーで見られるようにしてデータをやり取りすることは明らかに効率が悪い。それまでのデータ通信は独自のやりかたでデータのやりとりをするので効率が良く、高速にデータをやりとりできた。
ではなぜ効率性を無視してまで「ウェブサービス」でデータをやりとりすることが最近のはやりになっているのか?
ひとつは、プラットフォームに依存しない、ということがあげられる。
独自のやりかたでデータ通信する場合は、サーバー、クライアントの双方が、そのデータの扱い方を知っている必要があり、そのことは、そこで使われるOSに制限をかけてしまうことが起こりえる。
ブラウザーでウェブのページを見るのと同様、ウェブサービスでは、そこで使われるOSに制限を設けない。
もうひとつは、ウェブはだいたいどこでもアクセスできる、ということが挙げられる。
セキュリティが厳しい会社では、インターネットに出て行くのはウェブだけ、と制限している場合が多い。
「それでもメールは見れる」と思うかもしれないが、そのメールサーバーも社内にあり、社外のメールサーバーにはアクセスできなくなっている、ということが一般的である。
データのやりとりをウェブサービスにしておけば、そのような環境であってもデータを受け渡すことが可能になる。
さらにもうひとつウェブサービスにすることのメリットを挙げるとすれば、プログラマーがデータのやり取りの確認をする際に、普通にブラウザでできる、ということが挙げられる。
先ほど、「人間が見ても分からない」とは書いたが、それをプログラムした者にとっては、そこでやり取りされているデータがブラウザで見られる、というのは大きなメリットである。
以上のような理由により、最近のシステムではウェブサービスでデータをやり取りすることが普通に行われている。
彼は大喜びし、毎日記事を書き続けた。
その彼ではないもうひとりからのアクセスは毎日ではないが、時々見に来てくれている。
それ以外のアクセスは、、、ない。
「この人のためだけでも僕は毎日ブログを書こう」
彼はそう思って毎日ブログを書き続けた。
彼ではないもうひとりのアクセスが、Googleがデータを集めるために定期的に巡回しているロボットであると知らずに。
んー、切ないねえ。
人間向けに書かれたウェブのページを巡回して自動的に検索エンジン用のデータを集めるものを"ロボット"という。
ウェブページは手書き文字ではないので、その内容を自動的に集めることも容易で、データベース上にインデックスを作ることも簡単にできる。
ロボットが巡回するとき、それは機械どうしがやりとりをしている、ということである。
これと同じように、人間を介さずにウェブでデータをやりとりする、ということが行われる。
これを「ウェブサービス」と言う。
ブログやショッピングサイトを見るのと同じように、ウェブサーバーというサーバーでデータが配信される。
なので当然のことながら「ウェブサービス」は、ChromeやIEなどのブラウザーで見ることもできる。ただし、機械どうしでデータをやり取りするものなので、「ウェブサービス」にブラウザーで開いてみても、人間に分かるようなものではないが。
わざわざブラウザーで見られるようにしてデータをやり取りすることは明らかに効率が悪い。それまでのデータ通信は独自のやりかたでデータのやりとりをするので効率が良く、高速にデータをやりとりできた。
ではなぜ効率性を無視してまで「ウェブサービス」でデータをやりとりすることが最近のはやりになっているのか?
ひとつは、プラットフォームに依存しない、ということがあげられる。
独自のやりかたでデータ通信する場合は、サーバー、クライアントの双方が、そのデータの扱い方を知っている必要があり、そのことは、そこで使われるOSに制限をかけてしまうことが起こりえる。
ブラウザーでウェブのページを見るのと同様、ウェブサービスでは、そこで使われるOSに制限を設けない。
もうひとつは、ウェブはだいたいどこでもアクセスできる、ということが挙げられる。
セキュリティが厳しい会社では、インターネットに出て行くのはウェブだけ、と制限している場合が多い。
「それでもメールは見れる」と思うかもしれないが、そのメールサーバーも社内にあり、社外のメールサーバーにはアクセスできなくなっている、ということが一般的である。
データのやりとりをウェブサービスにしておけば、そのような環境であってもデータを受け渡すことが可能になる。
さらにもうひとつウェブサービスにすることのメリットを挙げるとすれば、プログラマーがデータのやり取りの確認をする際に、普通にブラウザでできる、ということが挙げられる。
先ほど、「人間が見ても分からない」とは書いたが、それをプログラムした者にとっては、そこでやり取りされているデータがブラウザで見られる、というのは大きなメリットである。
以上のような理由により、最近のシステムではウェブサービスでデータをやり取りすることが普通に行われている。