Oracle OpenWorld 2010現地レポート ~JavaOneの新たなステージ

新しいJavaOne―JavaOne 2010レポート(その1)

2010年9月20日から4日間にわたってサンフランシスコで開催されたJavaOneは、オラクルが主催する初めてのJavaOneとなりました。今回のJavaOneはJavaにとって転機となるカンファレンスであったと感じます。

そこで、JavaOneのフォローアップとして、2回にわたり筆者が感じたJavaOneをレポートしていきます。今回は、JavaOneの様子とTechnical General Sessionのレポート、次回はJava SE 7/8の主要な技術とJavaFXについて紹介していきます。

JavaOneツアー

今年のJavaOneはOracle OpenWorldとの同時開催ということになりました。同時開催ということで、今までのJavaOne、OracleWorldに比べると参加者が格段に増えています。

OpenWorld開催前日のキーノートにおいて登録者が41,000人であったことが発表されました。すべての登録者が参加しているわけではないはずですが、それでも世界最大の開発者会議であることは確かです。

このように多くの人が集まるため、OpenWorld/JavaOneはMoscone CenterのNorth、South、Westだけでは収まりきらず、Hilton、Hotel Nikko、Parc 55の3つのホテルも会場として使われています。

図1 Moscone West
図1 Moscone West

OpenWorldがMoscone Center、JavaOneがHiton、Hotel Nikko、Parc 55を会場としています。

しかも、Moscone NorthとSouthの間のHoward Streetと、HitonとHotel Nikkoの間のMason Streetを封鎖し、テントを設置しています。このテントは期間中ずっと設置したままになっており、ラウンジとして利用されていました。

図2 Howard Streetに設置されたテント。右側の建物がMoscone South、左側がMoscone North
図2 Howard Streetに設置されたテント。右側の建物がMoscone South、左側がMoscone North
図3 Mason Streetに設置されたテントの内部
図3 Mason Streetに設置されたテントの内部

Mocone CenterとJavaOne会場のホテルは歩いて10分ほどの距離にあるため、その経路となる歩道には道案内がいたるところに貼られています。

図4 歩道に貼られた道案内
図4 歩道に貼られた道案内

Moscone Northのロビーにはヨットのアメリカスカップのトロフィーが飾られています。これ以外にも、優勝したBMW Oracleレーシングのヨットの模型などが飾られており、ITのカンファレンスとはちょっと違う雰囲気を醸しだしています。

図5 アメリカスカップのトロフィー
図5 アメリカスカップのトロフィー

このトロフィーが飾られている地下でほとんどのキーノートが行なわれました。地下に降りる階段のところには、Larry Ellison氏も出演したアイアンマンが飾られています。

図6 アイアンマン
図6 アイアンマン

キーノートの会場は図7に示したように非常に広大なホールを使用します。

図7 キーノート会場
図7 キーノート会場
図8 キーノートでプレゼンテーションを行うLarry Ellison氏
図8 キーノートでプレゼンテーションを行うLarry Ellison氏

朝のキーノートが終った後、朝食が提供されます。朝食はペストリーです。ランチはサンドウィッチにサラダ類とケーキがついたランチボックスが出されます。

図9 朝食の様子
図9 朝食の様子
図10 ランチボックスが並んでいる様子
図10 ランチボックスが並んでいる様子
図11 ランチボックス
図11 ランチボックス

テクニカルセッションは午後6時ぐらいまで、その後はBOFが行われます。BOFが終るのは夜中の10時過ぎ。本当にJava漬けの毎日です。

しかし、それ以外の楽しみもあります。開催前日の夜にはオクトーバーフェストが開催され、初日の夜はOTN Nightというパーティが開催されています。

図12 オクトーバフェスト
図12 オクトーバフェスト

また、午後のセッションの休憩時間にはCandy Barというイベントが行なわれます。このイベントではグミやジェリービーンズといったお菓子が取り放題。セッションで疲れた頭には、甘いお菓子はうれしいところです。

図13 Candy Bar
図13 Candy Bar

そして、3日目の夜はOracle Appreciation Eventというイベントがありました。トレジャーアイランドという島を借りきり、そこでライブが行なわれます。そのライブの出演がすごいのです。ステージは2個所あり、野外ステージのメインはBlack Eyed Peas、屋内ステージのメインはDon Henleyです。

Black Eyed Peasは昨年のビルボードの常連。今一番売れているグループといっても差し支えないと思います。そのようなグループのライブを見られるわけですから、すごいことです。

図14 Black Eyed Peas
図14 Black Eyed Peas

JavaOneでは、このようにイベントもはさみながらも、Java漬けの4日間をすごすのです。

JavaOne Technical General Session

JavaOne初日の9月20日に行われたThomas Kuris氏のキーノートが中長期的な展望を述べているのに対し、9月21日に行われたTechnical General Sessionは現状から直近の未来を示すセッションになります。

Technical General SessionはJava SE、Java EE、Java MEの3つのパートからなり、それぞれのチーフアーキテクトもしくはスペックリードが登壇します。

Java SEはMark Reinhold氏、Java EEはRoberto Chinnici氏、Java MEはGreg Bollella氏が担当しました。

図15 Mark Reinhold氏
図15 Mark Reinhold氏
図16 Roberto Chinnici氏
図16 Roberto Chinnici氏
図17 Greg Bollella氏
図17 Greg Bollella氏

ここでは、主に筆者の専門であるJava SEについてリポートします。

革命と進化

1996年のJava 1.0のリリースはとても革命的なできごとでした。その後のJavaのバージョンアップは革命的なものと、進化的なものに分けることができます。たとえば、5.0は大幅な言語仕様の変更があるなど革命的と考えられます。一方、1.1や1.4、6は進化的なものでした。

問題となるのは、これからリリースされるJava SE 7が革命的なのか、進化的なのかということです。

もともとJava SE 7ではクロージャの採用や、新しいモジュラリティの導入など大きな変更を伴うリリースになるはずでした。しかし、クロージャもモジュラリティも混迷を深め、Java SE 7のリリース予定は何度も延期されてきました。

現在、クロージャはProject Lambda、モジュラリティはProject Jigsawとして活動しており、徐々に議論も収束に向かっています。

しかし、今年中というリリース予定を達成することは難しくなってきていました。

そこで、JavaOneに先駆けてReinhold氏がブログで現在のリリース予定を伸ばさざるをえないと説明し、これに対して今後の取り得る2つの案を提案したのです。

  • Plan A:現行の仕様のまま、リリースを2012年中旬に伸ばす。
  • Plan B:現行の仕様からProject Lambda、Project Jigsaw、Project Coinの一部の仕様を取り除いたものをJava SE 7として2011年中旬にリリースする。残った仕様をJava SE 8として、2012年後半にリリースする。

これに対し、blogのコメントやOpenJDKのMLで様々な意見が述べられています。筆者が見た範囲では、Plan Bに賛成する意見が大半をしめているようでした。

なお、Project Coinは、Java言語の冗長な表現などを簡単に表記できるようにするためのプロジェクトです。

この2つの提案の決着がついたのが、このTechnical General Sessionでした。その結果は、Plan Bの採用です。

このため、もともと革命的と考えられていたJava SE 7は、進化的なバージョンアップとなります。その一方でJava SE 8が革命的なバージョンアップとなったのでした。

Java SE 7の機能、Java SE 8の機能

そこで、気になるのが、どの機能がJava SE 7に入り、どの機能がJava SE 8に入るかということです。

Reinhold氏はJava SE 7に入る代表的な機能として、次に示す3つの機能を示しました。

  • Project Coin
  • JSR 292 InvokeDynamic
  • JSR 166y Fork/Join Framework

また、他の機能として以下の機能を列挙しました。

  • Strict Verification
  • Parallel Class Loaders
  • Phasers
  • Transfer Queues
  • JSR 203 More New I/O
  • Unicode 6.0
  • Enhanced Locales
  • SDP & SCTP
  • TLS 1.2
  • ECC
  • JDBC 4.1
  • XRender Pipeline
  • Swingg JLayer
  • Swing Nimbus

Java SE 8の代表的な機能は次の2つの機能です。

  • Project Jigsaw
  • Project Lambda

これ以外に、現在では次に示す機能が導入予定です。

  • JSR 308 Type Annotations
  • Bulk-Data Operations
  • Swing JDatePicker
  • Collection Literals

代表的な機能については次回紹介します。

このようにJava SEの方向性が示されました。しかし、まだ不安は残ります。最も不安なのが本当に2012年にJava SE 8がリリースできるのかということです。

とはいえ、少なくともJava SE 7のリリースに関しては、先が見えてきたというのも事実です。このまま来年のリリースまで順調に開発が進むことを望むばかりです。

Java EE

昨年の12月にJava EE 6がリリースされたことをうけ、Java EEのパートはJava EE 6の説明から始まりました。とくに時間をかけて説明したのが、RESTful Webサービスを実現するJAX-RSです。

JAX-RSでは、URIに対応したリソースをJava Beanとして表し、アノテーションによってGET、POSTなどの操作に対応したメソッドを指定することができます。また、JSONにも対応しています。

そして、次に言及したのが、Java EEの未来に関して。そこで、欠かせない要素として浮かび上がるのがクラウドです。クラウドに必要な技術として、アプリケーションの隔離やモジュラリティなどの説明が加えられました。

Java ME

Technical General Sessionの前日のThomas Kuris氏のキーノートでは、引き続きモバイルデバイスに対して注力していくことが発表されています。

これをうけて、次世代のJava MEの仕様策定するプロジェクトとしてJava ME.Nextが立ち上がっています。

Java ME.Nextは既存のCLDC、CDCのコンフィギューレションを拡張し、HTMLやJavaScriptとの親和性を高めるとしています。

Technical General SessionではJava SEの方向性は示されたものの、Java EEとJava MEはまだその方向性を模索しているように筆者には感じられました。

クラウドにしろスマートフォンにしろ、すでに時代が先行しています。そこに追いつくためには、狙うべき方向を定め、スピードアップしていく必要性があると筆者は感じています。

OpenWorldとJavaOne

1996年にはじまったJavaOneは非常に変わった立ち位置のカンファレンスでした。というのも、ビジネスの匂いがまるでないカンファレンスだったのです。

JavaOneの参加者の大半は技術者。つまり、Javaを使ったシステムを作る人たちです。こういったシステムが市場に出たとしても、Javaを提供していたSun Microsystemsにはほとんどお金は入ってきません。Javaはフリーで使用できたからです。

しかも、参加者が技術者のため、製品の紹介的なセッションは極端に少なかったのです。技術者の人たちに製品を紹介しても、製品は売れないのですからしかたありません。

こういうカンファレンスであるため、営利企業であるSun Microsystemsが主催していたにも関わらず、JavaOneはとてもコミュニティ色の強いカンファレンスであったといえます。

JavaOneに参加してみるとわかるのですが、JavaOne開催中はさまざまなコミュニティのパーティがサンフランシスコで催されています。各地のJava User Group(JUG)や、JCPなどコミュニティのパーティ。また、ApacheやGlassFishなどのオープンソースプロジェクトのパーティも行なわれています。

つまり、JavaOneというのはJavaの開発者会議であるともに、Javaを核としたさまざまなコミュニティのためのお祭りでもあったのです。

JavaOneとは逆に、OpenWorldは非常にビジネス色の強いカンファレンスです。参加者の多くは顧客もしくはパートナーです。

このようにまったく性格の異なるカンファレンスが同時に開催されることになったのです。

その結果はどうなったでしょう。筆者の知人だけなのでサンプル数はすくないのですが、OpenWorldに参加していた方はおおむね満足、JavaOneに参加していた方は不満を感じる方が多かったようです。

たとえば、OpenWorld開催の前日に行われたLarry Ellison氏のキーノートにJavaOne参加者は入れませんでした。事前の告知があれば問題にはならなかったはずですが、十分な情報共有が行われていませんでした。

これ以外にも、人気があるセッションであっても狭い部屋しか割り当てられていないとか、キーノートの行われるMoscone CenterとJavaOne開催会場のホテルの間を何度も往復しなくてはいけないなどの問題があったことも確かです。

そして、避けて通れないのがGoogleのAndroidに対する訴訟の問題です。

この訴訟のためGoogleに関連するセッションはすべてキャンセルになってしまいました。なお、このセッションキャンセルはGoogleによる報復措置ではなく、純粋に訴訟に対応するためのようです。このため、GoogleはJavaOneのスポンサーを継続しています。

とはいうものの、Java PuzzlersのようなJavaOneの名物セッションもキャンセルになってしまったことは、とても残念です。また、AndroidやApp Engineに関するセッションもすべてキャンセルになってしまいました。

現在のJavaを語る上で欠かすことのできないAndroidやApp EngineがないJavaOneは、その魅力がかなり削がれてしまったのではないでしょうか。

今年はOracleが主催する初めてのJavaOneということで、Javaのコミュニティとの齟齬が目立ってしまいました。来年は、今回の反省をふまえて、よりよい形での開催になることを望んでいます。

さて、次回はJava SE 7/8で採用される代表的な技術と、JavaFXに関するセッションの様子を紹介します。

おすすめ記事

記事・ニュース一覧