プログラマブルなデータの準備が重要
加えて米持氏は、各種のデータをプログラマブルにしておくことが重要だと主張する。「マッシュアップに使われているサイトの多くは、プログラマブルに作られています。企業の中でマッシュアップするには、既に存在しているたくさんのシステムをマッシュアップ可能なように、例えばフィードを出すことなどが必要で、その都度いちいち手作業でやっていくのは大変です。それを実現するのがエンタープライズ・マッシュアップということで研究をしている」とした。
エンタープライズと言うとJava EEは欠かせない要素だが、「WebSphere Application Server」では、Javaで動作しているオブジェクトをJSONを使って外から見られたり、逆にJSONデータをJavaからアクセスしたり、フィードを作るためのAPIを持っていたりと、Web 2.0に対応した機能を搭載している。
「WebSphere sMash」は、Groovy、PHPといったスクリプト言語でWebアプリケーションを開発するもので、スクリプトなのでコーディングが非常に簡単。「例えば、データベースで検索した結果をJSONに変換する処理のコードは4行で書けます。データベースにアクセスするプログラミングも容易に行えます」と米持氏は、WebSphere sMashの開発環境にブラウザからアクセスし、その画面を操作してJSONのコードを作るなど、アプリケーション開発のデモンストレーションを行なった。
ブラウザ上で行えるクラウド時代のプログラミングスタイル
米持氏は「Wikiのような環境でアプリケーションを開発していくということになっていくのですが、これはある意味クラウド時代のプログラム開発と言えるでしょう。プロジェクトのたびにマシンを買って構築するといった旧来のやり方ではなく、社内にプライベートなクラウドが動いていて、ブラウザでアクセスすればアプリケーションがすぐ動くという環境を用意していこうというわけです」とコンセプトを語った。
フィードを混ぜ合わせて活用する際、データ加工する必要もある。例えば、複数のニュースのフィード集めたときに同じニュースが重複したり、あるいはフィード中に広告が入っている場合もある。米持氏はブラウザでWebSphere sMashのツールを操作しながら、IBMとCodezineのフィードを統合し、フィルタをかけて出力させるといったデモも行なった。
「Lotus Mashups」と「InfoSphere MashupHub」で構成される「IBM “Mashup Center”」は、ブラウザ上のGUIツールを操作することで、プラグラムの必要なくマッシュアップできる環境を提供する。「InfoSphere MashupHub」は、IMSやDB2といった旧来のメインフレームのデータやCSV、Excelなどのファイル類もマッシュアップ可能な形式に変換する機能を持つ。「Lotus Mashups」は、エンドユーザーがウィジェットを作ったりウィジェットの組み合わせでマッシュアップ画面を作ったりできるものだ。
「例えば、顧客リスト、受注リスト、ポートフォリオ、地図などのウィジェットをコンポーネント化して作っておいて、それらを好きなように組み合わせて事業全体を俯瞰してみるといった考え方で使ってもらうためのものです。なかなかイメージが沸かないと思いますが、実際に導入されているお客さまである映画配給会社のFOXさんは、映画コンテンツの管理にマッシュアップを使っています。映画のコンテンツをデジタルで撮影して、ハードディスクの中に入れて、そのコンテンツをマッシュアップして、ある人はライブラリから選んて編集したり…といった用途で実際に使われています」と米持氏は事例を交えて説明した。