Java目線でコンパイラの仕組みをのぞいてみよう!

Java イベントレポート

Javaの最新動向を見極める デブサミ2007


@IT編集部
平田修
2007/2/22


主な内容

 Javaから見たデブサミ2007

 今年の「Developers Summit(通称デブサミ)」は2月の14、15日に東京・目黒の目黒雅叙園にて開催された。今年は昨年までの5会場に加え、「コミュニティライブ!」と称したオフィシャルコミュニティによる30分間のミニライブ会場を特設し、ステージ数も6会場へと増えている。全体では、上記の「コミュニティライブ!」を含め、全部で80を超えるセッション(講演)が行われ、100人ほどのスピーカーが熱弁を振るった。

 本稿では、数あるセッションの中から記者が厳選して、Javaに関するものを中心にいくつかレポートしていく。

関連リンク

 あのDukeがリンゴを射抜く?

 まず最初に紹介するのは、サン・マイクロシステムズ(以下、サン)の草薙昭彦氏によるReal-Time System For Javaについてのセッション、『ここまで来たかリアルタイムJava最新事情』だ。

デモの準備をする草薙氏
デモの準備をする草薙氏

 草薙氏によるセッションでは、まず、サンが毎年行っているイベント「JavaOne」において、リアルタイムシステム(以下、RTS)を使ったデモについていくつか(カーレースや重力センサーを使った振り子など)紹介された。簡単にいうと、カーレースはスレッドが走るプログラムを組み込まれたロボットがセンサーを感知して処理をリアルタイムに変えていくものだった。

 そもそも、JavaにおいてのRTSは歴史が古く、RTSJ(The Real-Time Specification for Java)という名前で1998年より策定されていて、組み込み分野での活用が見込まれているそうだ。

 次に、草薙氏はRTSJのAPIを採用することによって、いかに簡単にRTSプログラミングを行えるか、RTSJの主な機能について解説した。その主な特徴としては、リアルタイムGC、優先度継承プロトコル、より正確になったスレッド・スケジューリング、非同期制御転送などが挙げられ、メモリ管理に関しては、ヒープメモリと同時にガベージコレクションの影響を受けないメモリが別に使われるということだった。

 最後に、サンによるJavaのマスコットキャラ、Dukeを使ったRTSプログラムのデモが行われた。本邦初公開となったそのデモは、Dukeが弓矢を構えて待機し、2〜3メートル離れた場所に約2メートルの高さから30センチメートルほどのひもでリンゴを縛り付け、そのリンゴを落とした瞬間に、センサーがリンゴの落下を感知して弓矢で射抜く、というものだった。

あっという間の出来事だが、確かにリンゴは射抜かれている (撮影:@IT編集部 平田)【編集部注:映像が見れない場合はこちらも参照してみてください。】

 リンゴが落下するまでのわずか数ミリ秒の中でリンゴの落下速度、大きさ、弓矢の軌道、速度などを瞬時に計算しているのである。これが100%ピュアJavaのRTSJアプリによるものなのだから、デモとしても効果的でインパクトがあり、会場からも射抜いた瞬間に拍手が起こっていた。

 このように、RTSJの大きな可能性を示した面白いセッションだった。余談だが、セッション後に草薙氏に話を伺ったところ、実際にはJavaでプログラミングするよりも、センサーなどを作ることの方が時間がかかったそうだ。

関連リンク

 MyEclipseならAjaxもええじゃないか♪

 次に紹介するのは、エクリプスの水島和憲氏によるAjaxとJavaの連携についてのセッション、『ええじゃないか AJAX 〜 Javaディベロッパにもええじゃないか♪ 〜』だ。

セッション中の水島氏
セッション中の水島氏

 セッションの中で水島氏は、Ajax+Javaのプログラミングをするのに、MyEclipseを使うことの利点をいくつか述べていた。その中でも特筆すべき特徴は、EclipseでJavaをデバッグするのと同じ操作性でJavaScriptのデバッグができる、ということだろう。デモにおいても、ブレークポイントを置いてデバッグ実行し、1行ずつステップ実行するという、あの普段どおりのJavaデバッギングがJavaScriptで行われていた。

 また、もう1つの大きな特徴として、「Web 2.0ブラウザ」が挙げられていた。MyEclipseの「Web 2.0ブラウザ」は外部のページであっても、どのようにAjaxが動作しているのかを確認することが可能で、上記のようにJavaScriptのデバッグができ、どのように非同期通信が行われているのかも確認できるということだった。これもデモが行われ、実際に外部ページにデバッグが行われていた。

 水島氏いわく、「外部のページをいろいろと見てみたが、GoogleのJavaScriptは1行で記述されているため、ブレークポイントが置けない。」ということだった。どうやら、Googleはあまり自社のJavaScriptを解析されたくないようだ。

 ほかにも、JavaとAjaxを連携させるフレームワークとしてDWR(Direct Web Remoting)の解説が行われた。DWRは2.0になって、クライアントのJavaScriptからサーバのJavaオブジェクトを非同期に呼び出せるだけではなく、逆に、JavaからJavaScriptを非同期に呼び出せるようになったことなどが主に述べられていた。

 Java開発者に敷居が高いと思われているAjaxだが、おそらく、このセッションに参加した人は「Ajaxを使ってみても、ええじゃないか」と思ったことだろう。

関連リンク

1/2

Index
Java イベントレポート Javaの最新動向を見極める デブサミ2007
Page1
Javaから見たデブサミ2007
あのDukeがリンゴを射抜く?
MyEclipseならAjaxもええじゃないか♪
  Page2
アーキテクチャとしてのマッシュアップ
JavaからRubyへ移行する時は今だ?
RubyはJavaの道具として使う!
春闘2007といっても、労働組合ではない
デブサミ2008はどうなる?



Java Solution全記事一覧





Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間