そもそもWebサービスとは

ここに、ほぼ毎日、何かしらを書いています。それは、XMLがらみのことを書くことにしているのですが、どうもXMLとは関係ないような話が多い。DOMとかSAXとか、そういう話は皆無。唯一、Relaxerくらいでしょうか、本当に技術的なのは。とにかく関係ない話ばかりをしているようですが、実は大半がXMLにつながっているのです。XMLといっても、その応用技術であるWebサービスにね。そこで、Webサービスってそもそも何かということを書きたいと思います。

基本的には、WebサービスはRPC(Remote Procedure Call)です。あるプログラムの中で、特定の処理を行うために、ネットワーク接続されている他のコンピュータで動作しているプログラムを呼び出して使うという。今までもRPCのやり方はいくつかありました。CORBAとか、MicrosoftだったらCOMとか。Webサービスも結局は、その中の一つになります。しかし、WebサービスがCORBAとかCOMと決定的に違う部分があって、それはXMLを使っていることなのです。RPCで必要な様々なメッセージの交換をXML(具体的にはSOAP)を使ってやっている。そして、そのXMLのやり取りを主にHTTPでやる。XMLは単なるテキストファイルだし、HTTPは普及しきっていて、そもそも外部への情報公開が得意。だから、RPCが疎結合で実現できる。今までのは密結合であることが多かったんだけど、Webサービスは疎結合だから、サービスを使っているほうは柔軟に対応できる。つまり、同じ内容のWebサービスがあったときに、その時々によって柔軟にサービス提供者を選択することが可能なのです。

というか、「サービス提供者を選択」するということ自体が、Webサービスとともにやってきた概念なのかもしれませんが。Webサービスには、サービス提供者の情報を蓄積したり、それを見てサービス使用の契約をするとかいったことも、ちゃんと定義されてる。一種のマーケットでもあるわけだ。

私はよく仮想本屋の話をしますが、Webサービスの使い方の一つとして、仮想本屋は良いサンプルだと考えています。つまり、本屋の機能を、陳列の仕方をいろいろ考えてより売れる方法を見つけようとしている営業部分と、お客さんが買う本を決めたあとに始まる決済と納品の機能、あとは本を在庫としてストックしたり、卸の業者とつながったりしている仕入れや管理の機能に分けるとする。とりあえず本屋とすれば本が売れればいいから、最もコストがかからないのは、お客さんが買いたい本の名前を言ってくれて、その度に応対してやること。この部分は、仕入れ~在庫管理~決済~納品までとして切り分けることができる。で、この部分をWebサービスとして提供したらどうかと・・・。このWebサービスを、本屋をやりたがっている人に提供すればいい。純粋に本が好きだから本屋がやりたい人もいるだろうし、今はCDとDVDを売っているけど、本も一緒に売りたいという店舗経営者もいるだろうし、社内ポータルに社員や、各部署が本を買うシステムを付けたいと思う企業もあるだろうから、そういうところがこのWebサービスを使う。さらに、こうしたWebサービスは複数社がやっていて、Webサービスを使う側は、各社の条件によって自分にあったところを選択する。他に良い条件を出すところがあるからといって変更することも出来る。

ここで重要なのは、このサービスが単にWebサービスというIT技術だけでなくて、お金の流れ、商品の流れといったビジネスプロセスも含まれていることです。つまり、新たな書籍販売の方法が生まれる。そして、それは今、あちこちがやっているような、本の販売ページに、ただリンクを張るだけの方法とは明らかに違う何かだということです。こうしたことが容易に考えられるのが、Webサービスの素晴らしいところであって、商売を変えてしまうかもしれない革命なのです。

この記事を書いた人

井上 研一

株式会社ビビンコ代表取締役、ITエンジニア/経済産業省推進資格ITコーディネータ。AI・IoTに強いITコーディネータとして活動。画像認識モデルを活用したアプリや、生成AIを業務に組み込むためのサービス「Gen2Go」の開発などを行っている。近著に「使ってわかった AWSのAI」、「ワトソンで体感する人工知能」。日本全国でセミナー・研修講師としての登壇も多数。