本記事は、アーカイブに保存されている過去の記事です。最新の情報は、公益社団法人日本印刷技術協会(JAGAT)サイトをご確認ください。

BtoBをスムーズにさせるWebサービス

Webサービスの概説

一般のWebシステムでは,HTML,HTTP,ブラウザ,Webサーバなどを使って,コンピュータの中のデータを人間に見せているだけである。例えば,Yahoo!の検索結果を見て,それが気に入ったかどうかを判断するのは,人間である。
結果の処理まで機械化すると,例えば,インターネットでつながれたホテルと宿泊客の関係はB2Cであり,ホテルと旅行会社の関係はB2Bになる。その間には,手続きとデータフォーマットを決める必要がある。
ところが,ホテルAと旅行会社Bが規約を決めてしまうと,ホテルCが入ろうとしたときに,その規約に合わせなければならなくなる。特に規約が,ホテルAの特徴に特化されている場合は,なかなか入りづらい状況になる。

Webの世界は,ブラウザやHTMLの規格があり,どういうデータを流したらどう見えるかが決まっている。したがって,人間がある程度理解できる範囲に情報を集約することができる。
それに対し,XMLはデータ構造を決めるための言語なので,決められたデータはどんな構造でもいい。このため,適当に決めたもの同士を合わせるのは難しく,何か決め事が必要である。そこで出てきたのが,Webサービスである。2000年くらいから,インターネットを使い,B2Bを行うための基本的な枠組みがいくつか考えられた。

UDDIとSOAPとWSDL

例えば,一般消費者が旅行会社のホームページを見る。旅行会社は,そこで売る商品(ホテルの部屋や航空券など)を各ホテルや電車会社,航空会社と契約する。旅行会社とこれらの会社の関係がB2Bになる。
今までは,既に契約済みのホテルとしか取引をしなかったが,Webの世界では,今までの閉じた世界よりも消費者に対するサービスが向上する。またサービス提供側でも競争が発生するので,品質の向上やコストの面で利益が出る。

UDDIは,Universal Description, Discovery and Integration の略である。人間のための検索サイトがあるように,B2Bの世界でも,検索が必要であると考えたのが,UDDIである。情報を溜める,取り出す,登録するなど,ある程度の規格を決めて,機械でもできるようにするためである。

B2Bの仕組みでは,アプリケーション同士が情報交換をするが,Webの世界では,それをサービスと呼んでいる。サービスにどう接続し,どうデータを渡したら,どんなデータが返ってくるかを,サービスごとに記述する必要がある。この世界には,ブラウザという単一規則は存在しないので,アプリケーションごとに決める必要がある。その代表的なものがSOAP,UDDI,WSDLである。UDDIは,機械のための検索エンジンのようなものである。

例えば,紙で納品書を作れば,それを封筒に入れて切手を貼って出すこともできるが,XMLデータを渡すと言っても,なかなかうまくいかない場合がある。
XMLでは,B2Bの納品書を実際のインフラで使おうとすると,そこには「○×会社御中」と書いてあるだけで,担当者の誰に渡すか分からない。そのために封筒を考える。それがSOAP(Simple Object Access Protocol)である。

SOAPは言わば封筒で,中に送りたい文書も入れられるし,ヘッダと呼ぶ宛名書きも後付けで定義できる。そのような便利な構造を使い,インターネット上でデータ交換を行う。SOAPという封筒のやりとりだけを決めて,実際の通信プロトコルは,封筒が最終的に渡ればいい。データは,HTTPでも電子メールでも,フロッピーディスクに入れて渡してもいい。
渡された封筒を開けると,何をすれば良いかが書いてある。戻りも,何をすべきかをまた別の封筒に入れて渡す。渡すメカニズムは,また別に考えるというやり方である。

WSDL(Web Service Description Language)は,どのようなXMLのデータを受け取り,何をするかを規定している。例えば,「注文書.xml」を受け取って,「注文請書.xml」を返すというようなことが書いてある。WSDL形式で,自分のサービスはこういうものだと書き,それを検索サイトであるUDDIに登録しておく。

これは,Webの世界と全く同じである。Webサービスは,人間のためにあるWebのインフラを最大限に使い,モデルも全く同じである。ただし,機械のための文章ではなく,XMLを利用したデータフォーマットを決めている。

もう一つは,相手のプログラム言語やプラットフォームを一切考えなくてもつながる仕組みで,そのために封筒を使う。封筒がA社からファイアーウォールを通って外に出て,B社のファイアーウォールを通過して中のアプリケーションまで到達する。届いた封筒を開けて中を見れば,やりたいことが書いてある。そういう仕組みの話である。

実際,インターネットの部分はHTTP,あるいは,HTTPSという暗号化のプロトコルがある。Webサーバ,ブラウザが作り上げてきたインフラをそのまま使う。企業の中に入れば,イントラネット,バックエンドシステムにつながっていく。そこからは,好きなネットワークでつなぎ,自由自在に行える。ただし,SOAPという封筒は,入り口で開けてもいいが,中身は最後まで伝える。そうすれば,エンドtoエンドでつながる。

SOAPは封筒なので,非常に単純な規約である。誰でもそれを実装できる。開発環境では,Javaの世界でApacheSOAPというものが,かなりメジャーである。The Apache Software Foundationという団体が推奨している。これはオープンソースなので,誰でもソースコードを手に入れることができる。他にも,C/C++/c,VisualBasic,インターネットではPerl,日本ではRubyなどがあり,今や50種類以上あるようだ。いろいろなものが出てきている。

Webサービスの今後の展開

インターネットを使う際には,セキュリティが非常に重要になる。特にB2Bでは,かなり高額の取引がなされる可能性があり,セキュリティは,非常に大きな問題である。
例えば,Webサービスの世界で電子署名をどのように使うかとか,暗号化するか,という問題が出てくる。今,ある情報を特定の人にしかアクセスさせないような仕組みを,Webサービスの世界でどうやって構築していくべきかを進めている。また電子署名などの認証,信頼性も重要である。

もう1つ重要なのは,信用である。例えば,この会社は本当に発注したものを納品するのか,途中で逃げたりしないか。これは,Webサービスのメカニズムというより,社会的なインフラとして信用調査会社のサービスなどをWebサービス化して組み込む必要があるだろう。

まずは,コンポーネントのつながり易さから始め,今後は,業界の中でUDDIを立ち上げ,業界の中で決めた文書をやりとりする。機械化することにより,人為的なミスが省ける。さらに,リードタイムが短くなり,コストが安くなる。ひいては,最終的な品質も良くなるはずである。そういうことを考えていくと,機械化は重要であり,Webサービスを考えてみてもいいのではないか。

■出典:通信&メディア研究会 会報 VEHICLE 通巻155号(抜粋・文責編集)

2002/04/07 00:00:00


公益社団法人日本印刷技術協会