JavaOne2014に参加するためサンフランシスコに行ってきました。
過去のレポート記事(関連記事をたどるトップ記事)のリンクは下記になります。
JavaOne参加は、ここ5年で4度目です。毎回サンフランシスコの同じような場所を徘徊するので街の様子も慣れたものです。あまり馴染みのない東京のどこかの駅より、サンフランシスコのほうが土地勘があるぐらいです。
過去3回は自分でホテルも飛行機も予約していましたが、今回は金の力を使ってツアーで行きました。すべて手配してくれます。サンフランシスコ空港から市内へ行くのに、自分で電車に乗る必要がありません。考えてみると最近はそんな海外渡航が多い気がします。1年に1回ぐらいは自分ですべて手配して、現地の移動も公共機関を使わないと、自分がダメ人間になりそうです。
ホテルはユニオンスクエアを見下ろす場所にあるウェスティンでした。実に快適でした。ただ、ユナイテッド航空のサービスはお世辞にも満足とは言えません。3回中2回もバターが溶けた状態で出てきたのは、個人のミスではなく何か構造的な問題がある気がします。乗務員が食事の載ったトレイを軽々しく乗客の頭の上を通過させるのも気になりました。フェイルセーフの発想があればなるべく低い位置を移動させたほうがいいんじゃないかと、見るたびにずっと思っていました。そもそも乗務員のトレーの扱いが雑な印象です。向こうはプロなので自分の感覚が間違っているのかもしれませんが。とは言え、他の航空会社でこんなに何度も、機体が揺れたらあのトレー危ないな、と思うことはこんなにありません。扱いが雑だと感じたのは事実です。
キーノートを中心に今年の全体的な雑感を書きます。
今年のサンフランシスコは暖かったです。例年、昼間は暖かくても夜間が冷えます。今年は滞在した1週間のうち、夜の冷えを感じたのは1日だけでした。いつもは海からの寒風も加わり極寒になるトレジャーアイランドのコンサートも、今年は拍子抜けするほどの暖かさでした。今年が初参加となる何人かの人に、トレジャーアイランドのコンサートは寒いので気をつけろと事前に散々警告してきました。まるで自分が嘘つきだったみたいです。
なお、今年のトレジャーアイランドのコンサートのメインアーティストはエアロスミスでした。洋楽に詳しくない自分でもエアロスミスぐらいは知っています。知っている曲は1曲だけですが(映画アルマゲドンのテーマ曲)。
今年のJavaOneですが、ここ数年の中ではもっとも盛況に感じました。Oracle OpenWorldのキーノートスピーチの中で、スクリーンにJavaOne登録者数が9000人以上と出ていました。去年の入場者数は公式には発表されていないようですが、5000人から6000人という噂を聞いた記憶(あくまで非公式な噂なので正しいかは不明)があります。数字が正しければだいぶ増加しています。数字はともかく、個人の印象で、会場やキーノートにいる人の数が過去3回に比べて多く感じました。
逆にOracle OpenWorldのほうは人が減った印象でした。公式発表では、去年より登録者数が更に増えた(6万人以上)と言っていましたが。真相は不明です。数万の規模の人数になると、印象は当てにならないのかもしれません。
JavaOne初日キーノート
JavaOneのキーノートは、初日の日曜日と木曜日の2回です。初日のほうは公式色が強く、Oracle社の人が中心に登壇します。木曜日のほうはコミュニティキーノートというタイトルにもあるように少し非公式の印象になります。簡単に言って、前者のほうが堅く、後者のほうが緩い感じです。
堅めの初日キーノートは少々評判の悪いものでした。新しい発表がないのも一因ですが、司会が淡々としすぎて会場を盛り上げる感じがなかったからだと思います。Java8リリースという、近年のJavaの一大ニュースすら淡々と語り、会場がたいして沸かない有様です。
カーシミュレータのデモも最初から最後までまったく意味不明のまま終始しました。去年はチェスで盛り上がったけど今年はどう?という振りに、任せとけとばかりに始めた割に、ぐだぐだな印象でした。最初、デモが失敗して再起動しているように見えたのですが、壇上で何が起きていたか詳細は不明です。自分の英語力の問題かもしれませんが。
もっとひどかったのはIBMの発表です。ラジコンカーを会場でレースしてどちらが勝つかをアンケートしているようでしたが、何を言っているのか意味不明でした。Node-REDがスクリーンに載っていたので、この辺が関係していたのかもしれません。後はBlueMixの話をしていました。BlueMixはPivotal社のCloudFoundryをベースにしています。最近のIBMは、MongoDB、Riak、Chef、Node.js、Dockerあたりと提携なのか後押しなのかわからない関係を結んでいます。これらの技術の選定基準は不明瞭です。来るもの拒まずが基本スタンスなのかもしれません。
去年まではJava8のラムダ式を並列プログラミングの文脈で説明することが多かったのですが、今年は下記のように説明していました。このスタンスの変化は興味深いです。
- Generics: abstraction of data
- Lambda: abstraction of behavior
Java SEのロードマップをMark Reihold氏とBrian Goetz氏という最近のJavaの技術の顔の両名が語り始めましたが、時間切れで説明が尻切れとんぼで終わりました。この説明は木曜日に持ち越されました。なお、Java EE8のほうは、HTTP2.0対応、JSON Binding、CDI2.0、MVC1.0あたりが注目です。
Oracle OpenWorldキーノート
初日、JavaOneキーノートの後に同じ会場でOpenWorldキーノートがありました。
OpenWorldのキーノートの会場は例年どおりモスコーニです。去年より会場が狭くなった気がします。もし同じ広さだとしたらスクリーンの大きさや配置の変化で小さくなったと錯覚しているのかもしれません。JavaOneの初日キーノートも同じモスコーニですが、去年までは、JavaOneキーノートとOpenWorldキーノートで明らさまに広さが違いました。今年はあまり違いを感じませんでした。これは結構な驚きです。と言うのも、過去3回の経験では、OpenWorldのキーノートは圧倒的な広さと人の多さが印象的で、それに比べたJavaOneキーノートのしょぼさが際立っていたからです。
OpenWorldのキーノートと言えば、Larry Ellisonです。今年も健在、どころかここ数年で一番元気だった気がします。
今年のOpenWorldの一押しはOracleクラウドです。世間的にはクラウド一押しは別に珍しくもなく、どちらかと言うと遅いぐらいではないかという気がしますが、Larryにかかると違います。IaaS、PaaS、SaaSとクラウド3層すべてを提供しているのはOracleだけだと強調します。GoogleとMicrosoftも3層すべてを提供している気がしますが、Larryいわく、Oracleだけらしいです。何度も何度も自信満々にOracleのみ(we are only one)だと言い張ります。言ったもん勝ちです。たいへん勉強になります。
冷静に考えるとLarry Ellisonの今回のキーノート、意外に内容はありません。にも関わらず引き込まれます。冒頭、Oracleクラウドにより30年前からの約束を果たした、と言います。その約束が何かを明かさないまま話を引っ張ります。ようやく明かした約束は、ユーザアプリのソースコードを変える必要がない約束、というものです。なんじゃそれは、と椅子からずり落ちたくなるほどのネタです。オンプレミス環境とクラウド環境の間でアプリを移動する際、OSもミドルウェアも同じなので、アプリのソースコードを変える必要がないのは自明な気がします。しかしこれを30年前からの約束を果たした、と大きな物語にしてしまうのが流石です。勉強になります。
Oracleクラウドの説明は、SaaS、PaaS、IaaSの順でした。内容がある順に話した印象です。つまりSaaSに話すネタはたくさんありますがIaaSには特にないという感じです。
SaaSはOracleのFusionアプリをクラウド提供する話です。日本だとERPと大きくくくってしまうアプリ領域をOracleは、CX(Customer Experience)アプリ、HCM(Human Capital Management)アプリ、ERP(Enterprise Resource Planning)アプリと3分野に分類します。CRMやSFAなど顧客管理系アプリはCX、人事給与やタレマネなどの人事管理系アプリはHCM、会計やSCMなどがERP、という分類です。これがグローバル基準なのかOracle固有の分類なのかは不明です。
PaaSはWebLogicとOracle DBの組み合わせです。この環境にJava EEアプリをデプロイします。IBMはCloudFoundryベースで行くようですが(後述)、OracleクラウドでCloudFoundry対応の話は出ませんでした。Java EEの次期バージョンにPaaS対応の話題はあります。CloudFoundryと別路線になるのか、あるいはRedHat社と組んでOpenShiftを推すのか、あるいは結局CloudFoundryを取り込むのか、まだ決まっていないようです。
IaaSについてはほとんど言及がありませんでした。後で聞いた話ではまだOracle Linuxしか提供可能OSがないようです。OpenStackの言及はありませんでした。
技術的な話でOpenWorldで興味深いと思った話はSPARCプロセッサのM7の話です。どこまでやるかは不明ですが、JavaやOracleに都合の良い命令セットを持つという話です。一例としてデータ圧縮の復号処理やSQLの日付のbetween処理をハードウェアで実行する話をしていました。前者はともかく(インテルCPUが暗号処理をハードウェアで実行するのを考えると、データ圧縮の復号のハードウェア処理がそんなに奇抜とも思えません)、SQLの日付between処理はだいぶ奇抜に感じます。もちろんCPUがSQLを解釈するわけではなく、整数のbetween相当の処理、が本質だとは思いますが。
火曜日のキーノートにLarry Ellison再登場しました。
基本的にはOracleクラウドの話が中心ですが、SFDC(salesforce.com)への攻撃も忘れません。SFDCもOracle DBとJavaを使っているから、我々のプラットフォームが優れているのだという主張に加えて、しかしSFDCはプロプライエタリなPaaSだとばっさり切り捨てます。
もうひとつ興味深かったのは、Oracle(RDBMS)、NoSQL、Hadoopの3種類のデータソースに対して、どれにもSQLにクエリを投げられるOracle BigData SQLです。実態は不明です。
JavaOneコミュニティキーノート
木曜日のJavaOneコミュニティキーノートは、初日に中途半端だったJava9の話が少しありました。Project ValhallaとProject Panamaです。
この中で今回フォーカスしたのが、Project Valhallaの中のValue typeの話でした。現状のJavaは、intやdoubleなどの基本型を敢えて無視して、オブジェクトと参照という世界に限定すると、ある意味、美しくて説明しやすい世界があります。ただ、ここには、美しさと引き換えに効率さを犠牲にしている側面があるのも事実です。この非効率さはコンパイラやJVMが裏で隠蔽していく流れだと思っていました。ここに来て、メモリレイアウトを意識させる言語仕様になるのは、抽象化の観点から見ると退行に感じます。Javaはアプリケーション記述言語からシステム技術言語へ立ち位置をシフトしていくのかもしれません。あるいは既にとっくにそういう流れかもしれませんが。
JavaOneコミュニティキーノートは去年からIoTが中心テーマです。更に今年目立ったのはロボットです。ALDEBARAN社も登場しました。サンフランシスコの地で、スクリーンにSoftBankグループの文字やPepperを見るとは思っていませんでした。
去年のJavaOneでIoTの連呼を聞いた時、正直、Java MEに未来があるとは思っていませんでした。客観的に見て、組み込み系の世界ではAndroidがJava MEの市場を奪っていると思えたからです。しかし、今年のロボット連呼を見ていると、少し考えが変わりました。ロボットのOSがすべてAndroidになるとは限らず、多様なOSが存在して、その上でJavaというのは、無いことは無い未来だからです。
コミュニティキーノートの後半は様々な事例が駆け足で発表されました。
RoboVMとlodgONによる、Java8とJava FX8をAndroidとiOSで動かす紹介がありました(Java FXPorts)。Dalvik VMはJava7だけど、我々のプラットフォームを使うといち早くJava8でAndroidアプリを書けると自慢していました。
これらに未来があるのか不明です。客観的には、Java FXで書いたアプリは、Windows、GNU/Linux、Macで動き、更にこれに加えてAndroidとiOSで動くので、かなり強力な選択肢と言えそうです。手離しで乗る気になれないのは、GoogleとAppleの両方から無視されている存在だからです。そもそもOracle OpenworldおよびJavaOneに来て思うのがGoogle無視の徹底ぶりです。裁判の関係とは言え、今、Google完全無視でITの世界を語ろうとすると、どうしても無理が生じます。
最近のコメント