
Java イベントレポート
Javaの最新動向を見極める デブサミ2007
@IT編集部
平田修
2007/2/22
アーキテクチャとしてのマッシュアップ
続いて紹介するのは、インフラジスティックス・ジャパンの松原晋啓氏によるAjaxについてのセッション、『AJAX アーキテクチャとデザイン』だ。このセッションは、Ajaxについて、「ASP.NET AJAX」という.NETのためのフレームワークの紹介、マッシュアップについて、という3つの解説が主立ったものだった。
![]() |
セッション中の松原氏 |
「ASP.NET AJAX」については.NETの技術ということでレポートは割愛するが、Java開発者にとっても面白い話を聞くことができた。「ASP.NET AJAX」に含まれる「Microsoft Ajax Library」はクライアントサイドの技術で、JavaScript+DHTMLで開発ができる人向けのAjax Libraryだという。サーバサイドの技術がASP.NETだけに限定されないので、PHPやJavaなどでも利用可能ということだ。
Ajaxのデモとしては、UMLのモデリングなどに使いやすいテキストボックスのひも付けが行える「bubbl.us」やインフラジスティックス・ジャパンの製品「NetAdvantage for ASP.NET」が紹介された。
次に、松原氏はマッシュアップについてアーキテクチャの観点から解説していた。「マッシュアップを使うことによって、開発リソースの共有が可能になったり、重いサーバを起動せずに資産を超えてサービスの統合ができたり、一貫性のあるエクスペリエンスを提供できるなど、開発プロセスにおいてより効果的だ」と述べていた。
最後に、「もしもWebのすべてがマッシュアップになれば、Webページはコンポーネントのコレクションとなり、Web・プロダクトを超えて再利用できるなど、アーキテクト面だけでなく投資の活用においても有効であり、より多くのサービスを提供できるだろう」、とWebの今後の方向性についても語っていた。
セッション終了後に松原氏に話を伺ったところ、以下のように述べていた。「私のセッションは『AJAXアーキテクチャとデザイン』と題しておきながら、内容は「ASP.NET AJAX」についてでした。そのため、中には純粋なAjaxについての内容かと期待されていた方もいらっしゃり、内容を聞いて落胆されたと思われます。私としては、「ASP.NET AJAX」というのは今最も最新のAjax技術であり、Ajaxをより効果的に使用するための1つのフレームワークであると考えております(JavaにStrutsやSpringがあるのと同様の考えです)。」
■ 関連リンク
JavaからRubyへ移行する時は今だ?
続いて紹介するのは、永和システムマネジメント/日本Rubyの会の角谷信太郎氏によるJava開発者の視点からRubyについて解説するセッション、『実践『From Java to Ruby』 〜 血があつい鉄道ならば/走りぬけてゆく汽車はいつかは心臓を通るだろう 〜』だ。
![]() |
セッション中の角谷氏 |
角谷氏はJava開発をしていた経験から、Javaの強みと弱みについて述べ、その上でなぜ、Rubyが好きになったかについて熱弁を振るった。Javaの強みとしては、巨大なマーケット、活発なオープンソース・コミュニティ、成熟と安定、スケーラビリティ、豊富な選択肢といった点を挙げている。
逆に弱みとしては、最初は学びやすいがJ2EEサーバやEJBなどある一定のレベルに達すると、複雑になり難しくなることや、選択肢が多過ぎること、オフショアリングなどを挙げていた。その上で、RubyはJavaの弱みを補う言語であり、「プログラミング本来の楽しさ」があり、「プログラマを信頼する言語」で、「初心者には優しく、熟練者には頼もしい」言語だとも述べていた。
また、角谷氏は永和システムマネジメントにおいて現在進行形でRubyの導入を進めているようで、いかにしてRubyという新興テクノロジをSI組織に導入するかの作戦と注意点について、経験則から解説していた。
さらに、Rubyはビジネスとの相性も抜群であるとも述べていた。その理由としては、Rubyはインタプリタを使うことにより、柔軟性があることや、書きやすく簡潔で処理の本質のみをとらえていること、あらゆるクラスが改変可能なオープンクラスであるということだった。
■ 関連リンク
RubyはJavaの道具として使う!
続いて紹介するのは、日本総研ソリューションズの橋本吉治氏によるRubyを道具としてJava開発に使うという視点のセッション、『JavaEEシステム開発をRubyで加速しよう!』だ。
橋本氏は実際に業務でRubyを開発ツールとして使っているということで、開発フェイズごとのRubyの使いどころやJavaとの連携について経験上から述べていた。詳細は下記の表のようになる。
|
![]() |
セッション中の橋本氏 |
確かに、Java開発の補助として上記のようなツールがあれば、開発者の負担は大幅に軽くなるだろう。既存のツールでは手が届かないような細かい操作を実現するには、自分でツールを作るしかないが、Rubyなら容易に素早くツールを作成できるということだった。
また、橋本氏は、「開発ツール自体がJavaのライブラリと連携できる方が便利である」、とも述べた。そのために必要なライブラリとして、既存のRubyをそのまま使ってJavaと連携できるライブラリであるRJB(Ruby Java Bridge)やJavaで実装されたRuby互換の言語であるJRubyについて解説していた。どちらも、Javaのクラスをロードして利用できるそうだ。
■ 関連リンク
春闘2007といっても、労働組合ではない
最後に紹介するのは、日本Springユーザー会によるSpring 2.0についてのセッションだ。冒頭で説明した「コミュニティライブ!」の1つであり、タイトルは『Spring Framework 2.0のクールなところ〜春闘2007へ向けて一致団結』。
![]() |
セッション中の日本Springユーザー会、麻野氏 |
主なセッション内容としては、Spring 2.0の特徴や使い方などが説明された。Springは1.0から2.0へ飛躍的な進歩を遂げ、XMLの記述量が格段に減ったらしく、スライドにコードを交えて丁寧に解説されていた。2.0での主な拡張機能としては、AOP(アスペクト指向)の拡張、動的言語(JRuby、Groovy、BeanShellなど)のサポート、JPA連携などが挙げられていた。
ほかにも、日本Springユーザー会の成り立ちや役割について語られた。日本Springユーザー会は国内のSpringに関する情報交換の場を提供することを目標に2006年に発足して、メーリングリストや勉強会、ドキュメントやサンプルの作成と公開を主な活動としているということだった。
■ 関連リンク
デブサミ2008はどうなる?
![]() |
各ブースの様子 |
今回のイベントでJavaに関してまとめると、やはりJavaだけではなくAjaxやRubyなどほかの言語と連携して開発を行うというのが、全体的に強く感じられた。この動きはこれからもますます加速していくことだろうし、やはりそういった内容の方が参加者も多かったようだ。
マッシュアップに代表されるように、Javaだけではなくアプリケーション開発全体の動きとしてもほかの言語との連携が進む方向に向かっているようなので、来年のデブサミもそういった言語と言語の連携について解説するセッションが増えるのではないだろうか。
![]() |
2/2 |
Index | |
Java イベントレポート Javaの最新動向を見極める デブサミ2007 | |
Page1 Javaから見たデブサミ2007 あのDukeがリンゴを射抜く? MyEclipseならAjaxもええじゃないか♪ |
|
![]() |
Page2 アーキテクチャとしてのマッシュアップ JavaからRubyへ移行する時は今だ? RubyはJavaの道具として使う! 春闘2007といっても、労働組合ではない デブサミ2008はどうなる? |
![]() |
ご意見、ご感想はJava Solution 会議室へどうぞ |
![]() |
Java Solution全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
![]() |
|
|
|
![]() |