IBMのエバンジェリストや研究者達が運営するWiki「IBM ソフトウェア・テクノロジー情報」では、クラウドコンピューティングやマッシュアップ、Ajax、Web2.0、アジャイル開発といった製品固有でない、オープンテクノロジーや先進テクノロジーに関する技術情報を提供している。
CodeZineでは、このサイトのオーナーであるIBMソフトウェア・エバンジェリスト 米持幸寿氏と、開発プロセスプラットフォーム『Jazz』、Web2.0セキュリティ、DHTML/Ajaxライブラリーの『Dojoツールキット』、Javaベースのスクリプト言語『Groovy』といった4種の技術のキーマンたちを取材した。この模様を前編・中編・後編の3回に分けてレポートする。
ソフトウェア技術のトレンドは『クラウド』
「IBM ソフトウェア・テクノロジー情報」は、IBMのソフトウェア関連の技術情報を日本のマーケット向けに伝えるミッションを持つチーム『ソフトウェアテクノロジー推進会議』が運営している。サイトオーナーの米持氏は発足の経緯について「今まで、製品の機能などはもちろん紹介してきましたが、テクノロジーの詳細な紹介まではできていませんでした。また、英語でのワールドワイドな情報提供は行っていますが、日本では一部のエンジニアの方しかご覧になっていないと思います。そこで、テクノロジー情報を日本のエンジニアの皆さんにお届けしたいという形で始めました」と語った。
米持氏は、サイトを通じて現在発信しているテクノロジーは、結果的に“Web系”という共通点を持つという。今回話を伺ったJazzも、Web系以外の開発でも利用されるが、中身はWeb 2.0の技術を使っている。Web 2.0セキュリティとDojoツールキットは両者共に、Ajaxを使ってリッチインターネットアプリケーションを実現するための標準化などを行っている『OpenAjaxアライアンス』のアクティビティーであり、GroovyはアジャイルWebアプリケーション開発のためのスクリプト言語である。
この背景として米持氏は、最近流行りの言葉である『クラウド・コンビューティング』を挙げた。サイト自体にコードを操作・実行できる環境があれば、成果物のファイルを持ってサーバにアップするという開発スタイルではなく、ブラウザを使っての開発が可能だ。ソフトウェア開発においていかにコラボレーションし、生産性を向上させるかという観点でデザインされたプラットフォームであるJazzも、サーバ上にプロジェクトを立ち上げれば、Eclipseを使って開発したとしても、そのコードはすべてサーバ上で管理できる。このため、ローカルのPCにコードを保存したり、そのファイルを共有のため転送したりする必要はない。このほか『Lotus Mashups』などの製品もブラウザでクラウドにアクセスしてマッシュアップの設定を行うものだ。IBM社内ではこうした開発環境の構築をすすめており、これが社外のベンダーまで普及すると、クラウドを通じての開発が本格化していくとした。
またIBMでは、開発環境としてのクラウドだけでなく、運用管理向けの『Blue Cloud』というアーキテクチャーも発表し、2008年8月にクラウド基盤の検証を行う設備「IBMクラウド・コンピューティング・センター@Japan」を晴海に開設している。ここでは、従来であればブレードサーバなどを用意し、そこにシステムを作りこむというようなものを、クラウド上で立ち上げ、管理していくことが可能だ。米持氏は、「例えば、大学入試の集計システムの場合、入試の期間しか使われず、1年のほとんどの期間使われなくてもサーバ上には存在しています。これをクラウドで管理すると、設定した期間にだけシステムを稼動させ、利用しない期間はシステムを消すことができるため、コンピュータの総量を減らして、CPUやメモリの使用量を最適化できます」と運用管理面でのクラウド利用の一例を挙げた。
米持氏には、このほかにもIBMで扱うテクノロジーのポリシーなどについて語っていただいた。この詳細は今回のレポートの結びとなる後編(第三回)で紹介したい。続いて、各テクノロジーのキーマンの話を紹介していく。まずは、和田 洋氏にアジャイル開発プロセスのプラットフォームであるJazzについて聞いた。