「PCの進化が止まった」。Windows XPのサポート終了をきっかけに、Windows 7やWindows 8.1などに切り替えたはいいが、ユーザーはそれほど大きな変化を感じていない。混乱なく現場のIT環境を変えることができたのはありがたいけれど、ユーザー満足度の点でいえば、投じたコストがムダだったと感じてしまう。であるなら、クライアント環境に依存しないようにするのが、あるべき姿ではないか。「ブラウザがあれば十分」というブラウザ関連ソリューション(ブラソル)が、その答えだ。ブラソルは、ITをもっと自由にする。(取材・文/畔上文昭)
【Prologue】WebSocketを採用したオークネット
B2Bの中古車オークションマーケットなどを手がけるオークネットは、インターネット上にマーケットプレイスを用意し、市場参加者にサービスを提供している。ITはビジネス基盤そのものであり、同社のIT戦略はビジネス戦略そのものでもある。
「クラウドが世の中を変える」。IT戦略を決める社内会議で、鈴木廣太郎・常務執行役員IBS事業部門ジェネラル・マネージャーは、そう断言した。2年ほど前のことだという。「クラウド時代にあっては、クライアント端末にウェブブラウザさえあればいい。オークションなどでは、入札価格が常に変動するので、リアルタイム通信が必要となるが、ウェブブラウザで実現できる環境が整った」と説明した。その背景として、鈴木常務は次の三つを挙げた。
一つ目は、ウェブブラウザの高機能化。標準技術であるHTML5にウェブブラウザが対応したことによって、ベンダーに依存するクローズドなテクノロジーを利用しなくても、高機能なサービスを提供できるようになった。これは、ウェブブラウザのバージョン依存からの脱却も意味する。
二つ目は、通信プロトコルのWebSocket。タブレット端末やスマートフォンのアプリでは、複数端末間でリアルタイムのプッシュ型通信が可能である(全二重の双方向通信)。例えば、LINEなどのメッセージングアプリでは、ユーザーの側から情報を取得にいかなくても、メッセージが届いていることを知らせてくれる。これと同様の機能を実現するのが、WebSocketである(写真1)。多くのウェブアプリは、ある一定の間隔で情報を取得することで、疑似的にリアルタイム通信を実現しているが、WebSocketではその処理を不要にする。PCやタブレット端末などのクライアント側にウェブブラウザさえあれば、複数端末間のリアルタイム通信を可能にする。
「オークションでは複数の参加者が入札するので、画面には常に最新の入札価格が表示されなければならない。タブレット端末やスマートフォンのネイティブアプリは、端末やOSのバージョンに依存している。常に最新の環境で使えるようにするためのメンテナンスが不可欠だ。また、App StoreやGoogle Playなどでは、配布をコントロールできないうえ、審査にも時間がかかる。だからこそ、アプリの配布が不要で、ウェブブラウザと通信環境さえあれば当社のサービスを利用できるようにしたかった」(鈴木常務)。
そして、三つ目がパブリッククラウドの普及である。SaaSはウェブブラウザで利用するのが一般的で、IaaS/PaaS上に構築したシステムも同様である。ユーザーは、ウェブブラウザ経由でシステムを利用することに慣れている。
以上の鈴木常務の説明により、クラウド時代に何が必要かを把握したオークネットは、国内ではあまり実績のないWebSocketを活用したシステム構築に取り組むことになる。
●WebSocketでウェブアプリの処理スピードがアップする オークネットは、WebSocketを活用して「爆速検索」という中古車の検索システムを構築した。もちろん、このシステムを利用するには、ウェブブラウザさえあればいい。そこで実感したWebSocketのメリットは、リアルタイム通信だけではなかった。
「今までのシステムは、ウェブブラウザに表示するためHTMLファイルなどの情報をすべてサーバー側で用意してから配信していた。一方、WebSocketは、HTMLでフレームだけを送って、次にデータを送るというイメージだ。フレーム情報は1回送ればいいのと、WebSocketでは通信におけるヘッダーの情報量が小さいので、結果として処理スピードが速くなる(写真2)」と鈴木常務は実感している。

オークネットの鈴木廣太郎・常務執行役員IBS事業部門ジェネラル・マネージャー。WebSocketやHTML5を活用したウェブアプリに積極的に取り組んでいる オークネットは、WebSocketを活用したシステムを自社開発したが、参考にできる活用事例がなかったことから、作業は困難を極めた。そうしたなかで出会ったのが、米KAAZING(カズィーン)の「Kaazing Gateway」だ。Kaazing Gatewayは、WebSocketを活用するためのAPIなどで構成するソリューションである。WebSocketを活用しやすくするだけでなく、例えば、WebSocketに対応していない古いウェブブラウザに対しても、エミュレーション機能によって、WebSocketの通信を可能にする。オークネットでは、一部のオークションシステムでKaazing Gatewayを導入している。「Kaazing Gatewayは、米JPモルガン・チェースや米HSBCといった大手金融機関のトレーディングシステムをはじめ、小売業や運送業などでも実績がある。日本で活用しているのは、まだ当社だけだが、こうした先端技術は積極的に活用してほしい」と、鈴木常務は自社に導入したノウハウとともに、Kaazing Gatewayを日本のSIerなどへ紹介していきたいと考えている。

写真1 WebSocketの活用例。オークネットが試験的に開発した写真を操作するウェブアプリ。ある端末で写真を動かすと、すべての端末の画面にリアルタイムで反映する。すべての端末で同時に操作することもできる
写真2 WebSocketを採用した中古車検索システム「爆速検索」。WebSocketでは最初にフレーム情報を送信し、後は検索結果のデータのみを送信する。そのため、ページ送りをしても、クライアント側に送られるのは検索結果のデータだけなので、高速表示することができる。HTMLファイルなどを生成して送るのと比較して、ウェブサーバーの負荷は10分の1ほどになるという祝! HTML5勧告 今さら聞けないキーワード ブラソル編
【ウェブブラウザ】 ウェブサイトやファイルなど、ネットワーク上のコンテンツを閲覧するためのソフトウェア。Microsoft Internet Explorer(IE)、Google Chrome、Apple Safari、Mozilla Firefoxなど、さまざまなウェブブラウザが使われている。
【ウェブ標準技術】 ウェブブラウザに依存しない技術。ウェブで利用する技術仕様の標準化団体、W3C(World Wide Web Consortium)が「勧告」というかたちで標準化した技術を指すのが一般的である。
【ウェブアプリ/ネイティブアプリ】 ウェブブラウザ上で実行されるアプリが「ウェブアプリ」。クライアント端末のOS上で実行されるアプリが「ネイティブアプリ」。ウェブアプリはOSに依存しないが、ネイティブアプリはOSに依存する。
【HTML5】 HTMLは、ウェブページ上で表示する文章や画像などの構造をウェブブラウザに理解させるために用いる言語。現在では、W3Cが仕様を標準化している。HTML5は、2014年10月28日にW3Cの勧告となったばかり。ただし、すでに多くのウェブブラウザがHTML5に対応していることもあって、事実上、HTMLの最新バージョンとして扱われてきた。HTML5では、フォームのチェック機能を実装できたり、動画データを扱うことができたりするので、標準機能だけで業務システムに求められる要件のほとんどに対応できる。
【シンクライアントとブラソル】 シンクライアントのシステムでは、ユーザー端末にネットワーク接続や入力/表示などの基本機能だけを盛り込み、OSやアプリの管理やデータの処理などはサーバー側で行う。一方、ウェブアプリは、多くの処理がサーバー上で行われるものの、ウェブブラウザ上での処理もあることから、従来のシンクライアントとは分けて扱っている。なお、シンクライアントの端末側の機能をさらに絞った「ゼロクライアント」という方式もあるが、シンクライアント端末と同様、サーバー側で端末を認識する必要がある。自由度では、ウェブブラウザさえあればいいというブラソルに軍配が上がる。
[次のページ]