InfoQ

News

インタビュー:IBM CTOのJerry CuomoがREST & Project Zeroを語る

作者 Floyd Marinescu, 翻訳者 編集部 投稿日 2008年1月22日 午後6時31分

コミュニティ
Java,
SOA
トピック
スクリプティング,
REST,
Web 2.0
タグ
IBM,
PHP,
Groovy,
マッシュアップ
以前InfoQに紹介されましたが、Project Zero(source)は、スクリプト言語(Groovy又はPhp)ベースで迅速にRESTベースのアプリケーションを作成・組み合わせ、動かすための開発と実行の環境です。典型的にはインターネット上にすでに存在する情報やサービスをマッシュアップするサーバー環境です。 Project ZeroはIBMでは初めて、開発状況をインターネットに公開しながら行っています(オープンソースではありませんが)。Zeroではダイナミックな言語を使った非常に優れた開発ツールであると同時に、SOAのRESTfulな側面に注力しています。InfoQはRESTに対するIBMの見解とProject Zeroのビジョンの詳細について、WebSphereのCTOであるJerry Cuomo氏にインタビューしました。

Jerry Cuomo:REST & Project Zero(32:48)(記事・英語)

インタビューにおいてCuomo氏は、Javaは多分10年先まで好調でしょうが、Zeroでは一歩後ろに下がってもらっています。 Javaは、現在ではむしろシステム・プログラミング言語に近いと思います。 Project Zeroでは、内部の緻密な部分を実装するためにJavaを使っていますが、一般の人が最初に使う言語として、又アジャイルな意味合いからも、Javaではなく、ダイナミックなスクリプト言語であるGroovyもしくはPHPが最適であると思っています。  (同様に、ZeroでRubyを使用する方法を解説した入門記事もWebサイトに出しています)。

Zeroでの開発に関してCuomo氏は下記のように述べています。
Project Zeroは、SOAアーキテクチャの周辺の技術と位置づけられるRESTによるサービス技術を中心に構築されています。私達はこのRESTの考え方を中心に、単純な設計を強く推し進めてきました。Project Zeroでは、基本的なプロトコルはHTTPです。Zeroでは、(HTTPで)サービスを表現する時には通常はRESTに合致した、あるいは多少の変形した様式で表現します。またそれをRSSのフィードかATOMのフィードとして表現します。 Webは、Project Zeroで作るプラットフォームの中心です。そしてRESTは、サービスを呼び出し呼び出されるスタイルであり、私たちがZeroで作るものです。 サービスのやり取りは、PHPかGroovyというスクリプト言語によるプログラミングか、もしくは(Zeroで作っている)ビジュアル・エディタを使って作ります。 それらによって作る新しいアプリケーションは、Web指向のサービスとしてWeb上に公開できます。多くのものは最初から作りこむのでなく、Webから取り込むか、自社内の既存のものから再利用すればよいのです。
RESTそれ自体においてJerry氏は下記の引用を含めて長々と語りました。

 RESTのいい部分は、私達の吸っている空気みたいなもの、つまりWebにおいて自然なところです。 Webはそれで作られており、私達の周りに存在します。RESTに注目すると色々な面白いことがありますし、必要なスキルやインフラは、すでに存在します。 既存のアプリケーションをどのようにしてSOA化するのかを考えるのは結構大変ですが、Zeroを使えばSOA化は簡単に始めれます。そして、Zeroを使いこなしてしまえば、きっとあなたはWebサービスの色々な仕様・機能が欲しくなるでしょう。それまではZeroがあなたのスタート・ポイントになります。 さて世間一般に、80対20の法則というものがあります。 80%の人々が使っている機能やサービスは20%のもので十分だ、というのが相当しますが、RESTもそれに該当するのでしょうか。実はミッションクリティカルな事柄の色々なものが、RESTで表現できるのです。そのことは、実にエキサイティングであり、RESTとSOAのつながりなのです。 RESTもまた疎結合の概念に基づくアーキテクチャスタイルです。例えば、JavaScriptで書かれたAjaxアプリケーションが、インターネット上でHTTPを通してサービスを呼び出し、実行する様子を見ると、それは疎結合で作られたシステムの素晴らしい一例であることが分かります。ですから私はSOAの例としてAjaxベースのアーキテクチャに関して話しだすとと興奮してしまうのです。あなたがエンタプライズの人間であろうがなかろうがRESTを通してSOAを理解し始めることが可能になるのです。
クラウドコンピューティングに関して尋ねられたCuomo氏は、Web上で増加するデータ量という観点からそれを論じた。
”私達は企業の方々には、ファイヤーウォールの場所に関係なく、コンテンツをRESTのスタイルで出して行くことを勧めています。なぜならRESTはデータに自由を与えるものだからです。” Cuomo氏は、その事を、データを色々な繋がりを作りながら、データに関係する新しく興味深いアプリケーションの構築を可能にする、素晴らしく破壊的な変化であると見なしています。”

Cuomo氏は、RESTを強調しつつも、IBMはWS-*への注力に変化は無いこと、またRESTを介したメッセージキューとの統合を例に挙げながら、RESTがIBMの製品戦略を前進させるものであるという事を明確にしました。 ”MQの最新のリリースでは、REST を通してMQの機能が使えるようになりました。MQの機能を使う際に、特殊なMQクライアントが必要ではないのです。メッセージをキューしたい時に必要なのは、RESTを通してメッセージを送信するJavaScriptのアプリケーションか、もしくはPHP、又はZeroのアプリケーションだけです。そのように、今ではRESTを通してMQに接続することが可能になりました。もしキューの中身を検査したければ、それも同様のRESTインターフェースがあります。 RESTは将来的に同じような様式でIBMの製品全てに備えられるでしょう。これによって私達は、プログラム可能なWebという考え方に近づくのです。”

原文はこちらです:http://www.infoq.com/news/2008/01/rest-project-zero
ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

Jean Tabaka氏による「Collaboration Explained--真のアジャイルチームのためのファシリテーションツール」

Jean Tabaka氏の書いた書籍では、会議などのチーム活動において、ファシリテーションの手法とツールについて具体的かつ実践的に説明しています。8/8(金)、Agile2008の最終日の朝のセッションでは、Jean Tabaka氏自身が本の内容をベースとしたセッションを行いました。

Hubert Smits氏による「ゲーム・デザイン・ワークショップ」

Agile2008の4日目となる8/6(木)の8:30から、Hubert Smits氏による「ゲーム・デザイン・ワークショップ」がおこなわれました。ゲームと言っても単なる遊びではなく、「フレームゲーム」と呼ばれる、グループでの情報収集や意志決定、また教育やトレーニングの教材として使えるいろいろなゲームです。

スケーラビリティに関するベストプラクティス:eBayからの教訓

eBayが日々挑んでいる主要なアーキテクチャの勢力は、スケーラビリティです。これはアーキテクチャや設計に関するあらゆる意思決定を特徴づけたり、駆り立てたりします。

インタビュー: Emmanuel Bernard氏にBean Validation仕様について聞く

Bean Validationフレームワークの初期ドラフトに関する以前の記事に続き、InfoQは専門家グループが求めているコミュニティの関与と提案について理解を深めるため、Emmanuel Bernard氏と対談しました。

ポーカーに学ぶ、ソフトウェア開発のレッスン

ポーカーは他のトピックにも広く適用できるような数少ない教えを私にもたらしてくれたと信じています。実際私はソフトウェアを開発すればするほど、これら二つの仕事は非常に似ていると言う確信の度合いを深めています。

InfoQがBPEL4PEOPLEの代表と対談

恒例の「バーチャルパネルセッション」で、InfoQは新しいOASIS BPEL4People技術委員会の代表と対談をし、この作業が何故必要であるかについて彼らのフィードバックを得る機会を得ました。

CLR上でのドメイン特化言語の構築

ドメイン特化言語は最近非常に人気が高まっている話題です。これは恐らく、Rails現象に起因していると考えられます。Railsの人気と、Railsにおけるドメイン特化言語(以降、DSL)の大規模な使用は、DSLに対する広範な関心を呼び起こしました。

Rubyのデバッガを調査

Rubyには、Rubyコミュニティの内外で広く知られている誤解が一つある。Rubyにはデバッガがないという誤解だ。しかし、Rubyにデバッガが無いということは誤解なのだ。実際のところ、Rubyにはデバッガ用のツールがある。