[新製品・サービス]

Web 2.0技術へのIBMの取り組み

2008年1月31日(木)

ここ数年、インターネットにおけるWeb 2.0的な技術の台頭により、新しいサービスが登場している。IBMでも、Web 2.0にかかわる技術を利用して、コミュニケーション、コラボレーションの分野において、企業内のビジネスエキスパートたちが利用可能なツールを提供しているが、ここでは、現在のITシステムの抱える課題と、その解決策としてマッシュアップを使った、ユーザー自身による課題の解決手段について紹介する。

ITシステムの課題

現在のITシステム課題が何かといえば、それは企業が自らのビジネスのために保持している膨大なデータ、そしてそのデータを活用して実際のビジネスを回すビジネスユーザー、この両者をどのように活性化していくかということだ。

●企業が自らのビジネスのために保持している膨大なデータ
●そのデータを活用して実際のビジネスをまわすビジネス・ユーザー

これらをいかに活用するかがITシステムの課題

ドメイン・エキスパートの力の活用

・Collaboration … blog, wiki, social bookmark, messaging…
・Technology … service, mash-up, ajax, browser tool…

従来のソリューションでは、ITシステム部門がシステムとユーザーの間に入って、データをユーザーに利用させるという形をとってきているが、使えるデータと使うユーザーの間にIT部門が入るため、多かれ少なかれ提供されるサービスとユーザーのニーズには、必要要件や時間、タ イミングといった点でギャップが生まれてしまい、時間や生産性といった観点でもロスが発生する。従来のITシステム部門が主体となるソリューションを補填する形で、そのギャップを埋めることがユーザーの生産性を高めるうえで大事なのではないだろうか。つまり、実際にデータを使う人が使いやすい環境を用意すること、言い換えればユーザー自身がデータ を活用できるシステムを作ることが重要ではないかということだ。

Situationalアプリケーション

次の図が示しているのは、これまでのアプリケーションのあり方とDIYによるアプリケーションのあり方の違いを示している。

図 Situationalアプリケーション開発

アプリケーションあたりの利用者の数が非常に多く、利用頻度の高いものは、長い時間をかけてアプリケーション開発者が作り上げるシステムだ。それに対して、利用頻度は多くないが、さまざまな要件が求められるようなケースも日常では数多く存在しており、そうした課題には、IT部門が即座に対応できない。ビジネスエキスパートが日々解決する課題を解くためのITツールが「アドホック」なITツール、「Situationalアプリケーション」だ。

IBMでは、3年くらい前から社内で「Situationalアプリケーション」という言葉をよく用いている。この「Situational」は 「ad hoc」とも言い換えることができ、臨機(ad hoc)にアプリケーションを開発を行うという概念である。また、「Situational」は「D.I.Y」(Do It Yourself:セルフサービス)とも言い換えることができ、こちらもセルフサービスでアプリケーションを開発していく概念とも表現できる。

たとえば、今日、明日中に処理しなければならない課題があり、今必要な要件のみが満たせればよい、同じ要件を持つ仲間で共有したい、状況に応じてどんどん改変していきたい、といったニーズが存在する。こうしたニーズに対応するには、Excelでマクロを組むような簡単な操作で、かつ管理という観点からもガバナンスに従った、より高度な要件にも対応できるようなシステムが必要になってくるだろう。もちろん、これまでのアプリケーションのあり方を否定するものではなく、あくまでも追加・補填するソリューションとして支援されることが求められる。

Situationalアプリケーションの要件

こういうシステムを作り上げるには、どういうことが必要になってくるだろうか。まず、開発者的な観点から考えてみよう。

利用する人間が自分の必要なものを作っていくという環境を構築するには、いままでのように、IT部門のスタッフが開発しているだけでは間に合わな い。そのため、階層的な開発レベルが要求される。利用者自身が開発できればベストだが、そうしたところまでにすぐには到達できないので、その手前にある程度ITに詳しい人であれば作れるような環境というのが考えられる。そういう人の数は、開発者の数と比較すれば圧倒的な数にのぼる。

図 アプリケーションに対する役割の変化

図に示した一番左側は、プロフェッショナルな開発者である。インフラを開発するIT部門の開発者はこれまでどおり存在して、その右側にマッシュアッ プのためのコンテンツとしてWidgetsやGadgetsを作成するような開発者がおり、部門レベルでは、パーツを組み上げる、つまりマッシュアップによってビジネスを加速する人達、ここではアセンブラーと呼んでいる人達が存在することを想定している。数としては、アセンブラーレベルの人が比率としては非常に大きく、この人達がアプリケーションを作れるような環境ができれば、最初に述べたような アドホックな課題への対応が可能になるだろう。プログラマには、インフラレベルの開発を担ってもらい、アセンブラーの人達にアプリケーションを作ってもらうという役割分担が行われる。

こうしたビジネスエキスパートがマッシュアップ・テクノロジーを活用したWeb 2.0アプリケーションを利用して、インターネット上でGoogleやYahooが公開しているWeb APIを利用してデータを取得し、企業内の公開された情報と組み合わせて、さまざまな事例に対処することができるようになるだろう。

図 マッシュアップの企業内での活用

次の図は、マッシュアップの開発環境をビジネスエキスパートが利用する仮想的な損保会社の例を挙げてたものだが、社内のデータだけでなく、社外のデータもうまく利用していきながら、臨機応変な対応を行うことができることを示している。

図 企業内での活用:例えば損保会社では

まとめ

システム構築が仕事のITシステム部門と日々のビジネスをまわすことが仕事の実際の現場のエキスパートとの間にはコミュニケーション・ロスなどにより少なからずギャップが生じる。多くのユーザーに対して汎用的な機能を提供するITシステムに日々刻々と起こるような急激な変化に対して柔軟に対応することを求めることは難しい。それを、RESTのような軽量なWeb API化やマッシュアップなどの技術を取り込むことにより、現場レベルで柔軟性を持ったアプリケーション開発ができるのではないか。そうした技術を利用することで、新しいビジネス要件に素早く対応可能になり、結果として、アプリケーション開発に必要な時間やコストを削減し、ビジネスユーザーに必要なアプリケーションが臨機に開発可能になると考えられる。

・RESTのような軽量なWeb API化によって
→再利用性が高く、外部・内部からの多様なデータやサービスが利用可能となり、さまざまな情報ソースを簡単に結合できる仕組み(AJAX、Dojo、ブラウザ・ツール)によって、新しいビジネス要件への対応を素早く行うことができるようになる

・その結果、自分で必要なものを作ることができるセルフ・サービス開発 (Situationalアプリケーション)が実現
→アプリケーション開発に必要な時間やコストの削減
→ビジネス・ユーザーに必要な機能と直感的なインターフェースを持ったアプリケーションの開発が可能となる

IBMの取り組み

マッシュアップを使い、ユーザーが簡単に自分の必要なアプリケーションを作るためには、マッシュアップできるようにデータを開放する必要がある。その際、軽量な手法であるREST的なWebAPIとして開放することが求められる。IBMでは、例えば次のような製品で、保持するデータをWeb API経由でアクセスすることを可能にしている。

  • Lotus Connections
  • OmniFind REST API
  • Jazz(Rational)

※実際にどんなRESTのAPIを提供しているかは、以下のURLを参照


-Lotus Connections (Blog, Social Bookmarkなどの情報をREST APIで取得可能)
http://publib.boulder.ibm.com/infocenter/ltscnnct/v1r0/index.jsp?topic=/com.ibm.help.lotus.connections.api.doc/html/lcapi_welcome.html
-OmniFind REST API
http://www-06.ibm.com/jp/developerworks/db2/library/techarticle/dm-0704choi/
-Jazz
http://jazz.net

・新しいアイデアの実現
-Lotus Connectionのプロフィール情報のWebAPI化
他者との関係図、地図へのマップなど
コンセプト・デモ→IBM社員情報
・カスタマイズ
-製品をまたがったカスタム・アプリケーションをユーザー自身が作成することができる
-製品が提供しているユーザー・インターフェースでないものをユーザー自身が容易に生成することができる

Lotus Connectionsという製品はブログやソーシャル・ブックマークなどの人と人とのコラボレーションをサポートする製品群である。このような製品から例えば登録されているユーザーの情報をRESTのAPIで取得し、その情報をGoogle Mapsのようなブラウザ上の地図とマップするだけで、ある特定の分野に強い人間がどのようなところにいるのかなどということが視覚的に把握できるようになる。今までの企業システムでは、1つの会社で地図を作るなどということは到底できることではなかったが、外部の提供される地図情報と社内システムから取得できる社員情報を組み合わせると、 簡単に自社の社員のマップが出てくるというようなものも実現できるわけである。

社内と社外のデータやサービスを組み合わせることだけではなく、もちろん社内のアプリケーション間のインテグレーションにも活用できる。SOAではシステム・レベルの統合を実現しているが、製品がWeb API化されていれば、ユーザーに近いレベルで、マッシュアップを使って、システムから提供されるサービスやデータを組み合わせたカスタマイズされたアプリケーションをユーザー自身が作成できるようになる。

提供されたWeb APIをマッシュアップする側の4つの技術

Web API化するための技術、アセンブルするための技術やアセンブルを容易にするためのツールも開発が進んでいる。下記に紹介する技術のいくつかはalphaWorksで公開されており、すぐに入手できるものも多い。

マッシュアップを推進するための環境


・Web API化を支援するテクノロジーやツール
-Web 2.0 Starter Toolkit for IBM DB2(alphaWorks)
http://www.alphaworks.ibm.com/tech/web2db2
-Project Zero
http://www.projectzero.org/
-IBM Mashup Starter Kit (alphaWorks)
http://www.alphaworks.ibm.com/tech/ibmmsk

・Web APIのカタログ・サービス
-IBM Mashup Starter Kit (alphaWorks)

・アセンブルするためのテクノロジー(開発者向け)
-JavaScriptツールキット
Dojo Toolkit
-IBM WebSphere Application Server Feature Pack for Web 2.0 Beta Program
https://www14.software.ibm.com/iwm/web/cc/earlyprograms/websphere/ibmajaxw/

・アセンブルを容易にするツール(アセンブラー向け)
-Project Zero
-IBM Mashup Starter Kit (alphaWorks)
・QEDWiki
-大和研究所で開発中のブラウザ・ツール

Web API化を支援するテクノロジーやツールの一つである 「Web 2.0 Starter Toolkit for IBM DB2」は、DB2のデータをRESTフルなインターフェイスで開放するものだ。「Project Zero」は、Web API化を支援する技術でもあるし、マッシュアップ・ツールも持っている。現在のところ製品というよりは技術レベルで一般に公開されている。

「IBM Mashup Starter Kit」は、QEDWikiやMashup HubというツールをalphaWorksがパッケージ化してダウンロードできるようになっているものだ。さまざまなWeb APIやWidgetをカタログ形式で提供し、利用者が簡単に欲しいサービスなどを探し出せる機能、サービスをサーバー・サイドで組み合わせて新たなサービスとして提供する機能、らさにサービスやWidgetをブラウザ上でアセンブルする機能など、さまざまな機能を提供する。 マッシュアップを行うための開発環境にも、その対象とする開発者によっていくつか存在する。いわゆる開発者向けとしては、JavaScriptプログラミングによってマッシュアップを行うオープンソースのDojo Toolkitなどがあり、IBM WebSphere Application Server Feature Pack for Web 2.0は、そのDojoなども含んだIBMから提供されているパッケージである。

QEDWikiは、開発者でなくてもマッシュアップを行うことを実現するブラウザベースのアセンブリツールだ。図に書いてあるとおりWikiスタイルで開発を行い、ドラッグ&ドロップでWidgetを画面に貼り付け、Widgetの関係を記述することでアセンブルつまりはマッシュアップを行う。QEDWikiは、alphaWorksからFlashのデモが公開されていたり、YouTubeでもビデオが公開されていたりしているので、以下のURLを参照していただきたい。

・ブラウザベースのアセンブリー・ツール


・Wikiスタイルで開発
ページを共有
コラボレーション
・Widgetを配置し、Widget間の関係を記述することによるアセンブル
WidgetはPHPおよびJavaScriptを利用して記述する
WidgetはMashupHubに登録しておけば再利用が可能
・ポートレットを配置していく感覚でマッシュアップ・ページを作成
・Widgetの品揃えがキー
・デモ・ムービー
“alphaworks QEDWiki flash” を検索

 

This is a sample application showing how terms and tags can be correlated on a single page to create a unique view of available data. http://www.alphaworks.ibm.com/demo/flash/display/qedwiki0

Introductory demonstration of QEDWiki http://www.alphaworks.ibm.com/demo/flash/display/qedwiki1

REST的サービスを活かすブラウザツール

日本の大和研究所でも新しいマッシュアップツールを開発している。開発中のマッシュアップツールについてQEDWikiとの違いを若干説明しておくと、 QEDWikiはまずはWidgetを作成、登録しておき、ユーザーはWidgetを組み合わせることによってマッシュアップを実現するのに対して、大和研究所の開発ツールはREST呼び出しを直接マッシュアップする。REST的なサービスを登録して、ユーザー インターフェイスであるボタンをサービスの呼び出しと結びつけたり、サービスが提供するデータをGoogleの地図に結び付けたりするという手法をとる。

ポータルの考え方に照らし合わせると、QEDWikiがポートレットを組み合わせてポータルのページを作成することに対応するのに対して、大和のツールはポートレットの中身をアセンブルによって作成するツールであると言える。コンポーネントを組み合わせてマッシュアップを実現するツールとコンポーネント自体をマッシュアップで実現するツールであるとも言える。これらのツールがさらに統合されていくおことも考えられる。


・ブラウザ・ベースのアセンブリー・ツール
・RESTful APIをアセンブルする
・スプレッド・シートUIでデータ変換などを記述
・Dojo Toolkitを活用
-生成されるものはDojoマークアップ
dojo.widget, dojo.wire, dojo.data などを活用
-UIはDojoによって拡張
・Webページを作成する感覚でマッシュアップ・ページを作成
・参照
http://www-06.ibm.com/jp/software/academic/event/scp07/tool.pdf

今後の課題

こういう簡単な開発環境が登場することで、さまざまなアプリケーションが生まれる可能性はできつつあるが、まだ多くの課題も残されている。

ガバナンス

ガバナンスが確立していない。たとえば、隣のサービスを信頼して使ってよいのか、社員が勝手に作ったものを他の人が使って大丈夫なのか? Excelと違ってサーバー単位で管理はできるので、そういう意味では管理はしやすくなっているともいえるが、いろいろなデータをリミックスしてし まうので、どこかにセキュリティホールがあるとデータが一気に流れ出してしまう可能性がある。

セキュリティおよびサービスの保証

イントラネットなら、ある程度セキュリティ的にも融通が利くかもしれないが、特にインターネットで提供されているサービスを使う場合には、問題が起こる可能性は高くなる。Webページに対してはスクリプトレベルでいろいろなことができてしまうので、今現在ある問題と同じことが、マッシュアップ ツールにも当てはまる。 そもそも外部のサービスを使うメリットは大きいが、そのサービスが保障されているのか、またライセンスもいろいろな形態があるので、簡単には使える形になっていない。たとえば、Google Mapひとつとっても、一般のユーザーが自分のサイトのために使うには何の問題もないが、企業内での利用に関しては検討されていない課題も多い。

標準化

たとえば、マッシュアップを行う単位の一つとなると考えられるWidgetにはいまのところ標準といえるものはない。QEDWikiのWidgetは独自のものであり、QEDWiki用に作ったWidgetはQEDWikiの上でしか使えない。それでは他の環境で再利用ができなくなってしまう。Widgetの標準化を行う動向としてほとんどのWeb系の企業が参加しているOpen Ajax Allianceというところで、標準化の活動をしているので、将来的に共通化されることが期待されている。

社内システムのサービス化

これは問題というよりは、サービスを提供しないとマッシュアップはできないので、マッシュアップの環境を使うとなると、まず今のイントラのシステムをサービス化しなければならない。「社内のシステムをサービス化する」ということ自体が難しい可能性がある。サービス化することによって、会社がどれだけ のメリットが得られるのかという判断をするだけの材料はそろっていない。 たとえビジネスエキスパートの人達が利用したいサービスであっても、管理しているのはIT部門のスタッフであり、サービス化することによるリスクがないと 検証できるか、リスクをとってもサービス化する意味が認められるまで、サービス化は難しいだろう。

・セキュリティ、ガバナンス
–隣のサービス信頼できるのか?
–社員が勝手に作ったものを他の人が使ってて大丈夫?
・サービスの保障
–外部のサービスは使えるのか?
–誰が保障するのか?
・標準化
–今作ったものいつまで使える?
–他のところで作ったものとつながらないじゃない
→ Open Ajax Alliance - Widget の標準化
・社内システムのサービス化
–技術的問題
–会社としての方針

 

関連記事

Web 2.0技術へのIBMの取り組みここ数年、インターネットにおけるWeb 2.0的な技術の台頭により、新しいサービスが登場している。IBMでも、Web 2.0にかかわる技術を利用して、コミュニケーション、コラボレーションの分野において、企業内のビジネスエキスパートたちが利用可能なツールを提供しているが、ここでは、現在のITシステムの抱える課題と、その解決策としてマッシュアップを使った、ユーザー自身による課題の解決手段について紹介する。

PAGE TOP