「Project Zero ナイトセミナーvol1@秋葉原」に参加してきました
先週の金曜日(9月28日)に, 「Wakhok Night Seminar」の「Project Zeroコース」の第1回に参加をしてきた。Project ZeroはIBMが始めたアプリケーション開発用のプラットフォーム。話の流れは,Project Zeroの背景として,Web1.0からWeb2.0への移り変わり,Webサービスの変革,そしてRESTという流れの紹介と整理が前半。後半はProject Zero自体の紹介という構成だった。 前半の背景の話は,想定している聞き手の想定が「RESTって何?」ってレベルなのか,直球での説明ではなく,免許センターに例えて説明がなされていた。正直,変に例えられてしまったために,個人的には直感的に頭に入ってこない説明だった。また,RESTと言えば,リソースに着目した設計論という,今までのWebアプリケーション設計とは異なる捉え方が求められると思うので,その辺の紹介を期待していたのだが,残念ながらRESTに関する説明はほとんどされず。 後半のProject Zeroの紹介は,Project Zeroのインストールから,アプリケーションの動作確認までを実演してくれたため,前の日に実際に自分でやってみていたものの,やはりちゃんとした説明付きでデモを見ると違うなぁ,と。自分でやったときは半信半疑で試したのだが,IBMの方のデモの手順を見ると,Project ZeroはやっぱりRuby on Railsに見えてきてしまう。Ruby on Railsでも,URLマッピング次第でREST的な実装も可能だし,Zeroアプリケーションのディレクトリ構造も何となくRoRに似ている。うーん,聞いてみるしかない。 me「Ruby on Railsにとても似ていると思ってしまうのですが,Project Zeroが狙っている層はどういうところなのでしょうか?」 IBMの中の人「Ruby on Railsはデータエントリ機能を大量に低コストで作ることを狙ったものですが,Project ZeroはWebサービスをマッシュアップしてアプリケーションを構築することを狙っています。」 なるほど,確かにProject Zeroでは,Yahoo Pipeに似たマッシュアップ用のリッチなフローエディタ(Webブラウザ上で結線しながらWebサービスの呼び出しやフローを定義できる)が付いていたり,簡易ESBが搭載されていたりすることからも,マッシュアッププラットフォームという位置づけのものであることが見てとれる。ただし,IBMの中の人も認めていたが,Ruby on Railsとかぶっている点も多々ある。「RoRに巻かれたくないけど,Pythonはなぁ」と考えている人には,うってつけの環境かもしれない。 今回の話を総合すると,Project Zeroの特徴としては,
-
いろんなサービスをマッシュアップすることにフォーカスしている。
-
スレッドモデルではなく,軽量プロセスモデルな仕組みである。
-
RESTfulな設計が求められるけど,RoR的でもあることは確か。
-
IBMは本気だ。 という理解で個人的には妥当だと思っている。特に,2点目は興味深い。マルチコアなCPUは,スレッドモデルをいかに効率的に捌くか,にチューニングされたものだと思っていたので,「え?プロセスっすか」という印象を持ってしまった。Project Zero向けの軽量VMを開発しているらしく,そのVMは起動スピードがめっちゃ速いらしい。つまり,プロセスの生成&初期化処理をできるだけ軽くしてプロセスの欠点を減らしたほうが,マルチコアでマルチプロセスの方が性能がでる,ということなのか。うーん,知識が足りなくて,どっちがいいのかわからない。。。 第2回目以降は,Project Zeroの実践に入っていくそうなので,次回も参加するつもり。あ,丸山先生に「Ustreamで配信しようよ。やって。」って頼まれてたんだった。。。