« Android Now and Future : ある技術ジャーナリストのアプローチ(講演資料) | Main | Androidタブレットと主婦向けサービスをバンドル、NTT西×イオン×シャープ「A touch Ru*Run」の発表会に行ってきた »

日本オラクルが開催したプレス向け「Javaテクノロジー説明会」の報告と感想

日本オラクルは、2012年2月20日にプレス/アナリスト向けに「Javaテクノロジーに関する説明会」を開催しました。JavaOne Tokyo2012の説明会も兼ねる内容です。

この説明会のレポートを兼ねて、感想を記してみます。

Javaはどこへ向かって「動いている」のか?

まず、昨年2011年秋にサンフランシスコで開催されたJavaOne2012のテーマは"Moving Java Forward"を、今回のJavaOne Tokyo2012でも引き継ぎます。

このテーマを、説明にあたった一人である伊藤敬氏(日本オラクル Fusion Middleware事業統括本部 ビジネス推進本部シニアマネージャー)は次のように表現します。
「今までのJavaOneにないまじめさ、固いを感じた」。Javaは前進しなければならない、という、ある意味で「固い」メッセージを感じた訳です。その背景として、「正直いって、Javaテクノロジはここ数年停滞気味だった。そのような評価があったことを我々自身認識していた」ということがあったのだと思います。

IMG_20120220_140237

今、情報システムや情報機器(組み込み機器)を取り巻く環境は、Javaテクノロジが登場した1995年から比べると劇的に変わっています。エンタープライズ分野ではクラウド対応がもはや最優先課題となっています。組み込み分野ではデバイスがよりスマートに(賢く)なっています。

こうした状況に対するJavaの役割は、以下の3点だといいます(ここはスライドから引用)。


  • 新しい時代の"Write Once Run Anywhere"を実現
  • 開発者に新たな次元の生産性と容易な開発環境を提供
  • コミュニティーとのシナジーを強化し、Javaテクノロジーの進化を促進

これらの方針に基づく具体的な動きとしては(ここは私がサマリーしました)、


  • エンタープライズでは次世代のJava EE7で本格的にクラウドへ対応。
  • デスクトップでは、新機能群により生産性向上を図りつつ、次世代のJava SE8で統合するJavaFX3.0により、Web(HTML5/CSS3/JavaScript)、マルチメディア(音声、動画フォーマットに対応)、そして高度なグラフィックス(アニメー書値フェクト、3D)に対応。
  • 組み込み機器では、次世代のJava SE8にCDC Profileを統合しつつ、同じ世代のテクノロジとしてJava ME8を提供。組み込みJava環境のバージョンをデスクトップと同水準に。

という形になります。

2年ごとに新しいJDKを出す

そして、Javaテクノロジーの本流となるJava SEは2年ごとにメージャーバージョンアップ。2011年にJava SE7がリリースされていますが、2013年にはJava SE8、といった具合になります。2年ごとに新しいJDKが出る形です。

これら個別の新バージョンで取り入れる機能は、なかなか説明が難しいものばかりです。

寺田佳央氏(日本オラクル Fusion Middleware事業統括本部 ビジネス推進本部 シニアJavaエバンジェリスト)は、最新版であるJava SE7の特徴を次のように説明します。


  • Project Coin(生産性を高めるための新たな言語仕様)
  • Fork/Join Framework(Java SE8で導入するラムダ式と合わせ、マルチコア、マルチCPU対応への布石となる機能)
  • Java NIO.2
  • InvokeDynamic(JRuby、Jython、JavaScriptなど動的言語を動かすことができるプラットフォームへ進んでいくための機能)

それぞれのトピックスは、おそらくJavaテクノロジーにある程度関心を持って追いかけている人でない限り、聞き慣れない内容だと思います。

ただ、その中でもマルチコア対応、つまり並列化は、クラウドを背景とした大規模並列化では必須となる機能です。特にエンタープライズ分野での大量データ処理(いわゆる「ビッグデータ」ですね)をしようと試みたとき、マルチコアを生かせる機能の重要性は高まっていくことは間違いありません。
IMG_20120220_142921


寺田氏は「(次世代の)Java EE7の方向性は、クラウド環境下で扱いやすくすること」と述べています。例えば「マルチテナンシー」の取り入れなどです。

組み込みJavaは、Java SE8登場時にバージョンアップ

組み込み分野のJavaテクノロジーは、実は停滞が続いていた分野でした。この分野ではJavaCard、Java ME CLDC、Java ME CDCというそれぞれのプロファイル(ここでいう「プロファイル」は、「メモリ容量や用途に合わせそれぞれ特化してサブセットとして切り出した開発・実行環境」といった感じでしょうか)は、JDK1.4という古い世代のJavaテクノロジーに基づいています。

2013年に予定されている「Java SE8」に合わせ、「Java ME8」をリリースします。これにより、JavaテクノロジーのバージョンをデスクトップJavaと同水準にする計画です。

なお、組み込みJava分野の説明にあたった関谷和愛氏(日本オラクル Java Embedded Global Business Unitプリンシパル・セールス・コンサルタント)によれば、最近はJava SEに基づく組み込み環境「SE Embedded」の採用が、スマートフォン、タブレット、医療/工業機器、組み込みサーバーなどの用途で増えているそうです。古い組み込みJavaが想定していたものとは違う需要が生まれている訳です。

また、今のJavaテクノロジーの実装は、OpenJDKというオープンソースプロジェクトを「本流」としています。「今のJavaテクノロジは、完全にオープンなメーリングリストの上で情報公開しつつ開発されています」と寺田氏は説明しています。

ただし、Javaテクノロジーの場合はJCP(Java Community Process)という、一種の委員会方式による仕様策定プロセスが機能しているので、メーリングリストに良い実装を投げればJavaテクノロジーに採用される、という訳ではないそうです。JCPでの仕様の提案、検討、承認を経て「Javaテクノロジー」として認められる形です。それともう一つ、ライセンスの関係でJavaテクノロジーのすべてのコードがオープンソースになっている訳でもないそうです。こうしたJavaテクノロジー固有の事情をある程度理解していないと、このあたりは理解に戸惑う部分かもしれません。

こうした情報を得られたのが、今回の説明会でした。

この説明会は、1時間という時間で、また専門性もまちまちなプレス/アナリスト向けということもあって、内容は相当なダイジェストとなっていました。その分見通しよく把握できた部分もあり、逆に今のJavaテクノロジーが持つ「わかりにくさ」を感じる部分もありました。登場する用語は専門性が高いものが多く、短い言葉では説明しきれないためか、「説明抜きで用語を列挙する」という種類のプレゼンテーションになっていたきらいがあります。

今どきはキーワードさえ伝わればGoogle検索で調べるという人も多いでしょうから、そういう伝え方もあるのかもしれませんが。この「多数派にとっては聞き慣れないキーワードが多い」ことが、成熟が進み、過去の経緯の積み重ねが多いJavaテクノロジーの特性の一つかもしれません。

全体の感想は、「Javaテクノロジーは、今も現代のニーズに対応して変化しようとしている」というものです。様々な事情を抱えながらも、未来へ向かって「動いて」いることを、この説明会では訴えていたように思います。

|

« Android Now and Future : ある技術ジャーナリストのアプローチ(講演資料) | Main | Androidタブレットと主婦向けサービスをバンドル、NTT西×イオン×シャープ「A touch Ru*Run」の発表会に行ってきた »

Comments

The comments to this entry are closed.