2011年4月11-13日、ロンドンの中心部に位置するPark Plaza Victoria London HotelにおいてJAX London 2011が開催された。3日間でアジャイル、Java、OSGiに関する様々なセッションがあり、初日には全日チュートリアルが2つ実施された。さらに、JAXイノベーションアワードが発表された。この賞は、最も革新的なJava技術、Java企業、そして、Java大使と呼ばれるJavaエコシステムに貢献した人やグループをノミネートする提出フォームがあり、JAXConfの前にコミュニティによって受賞者が選ばれていた。
2日目はDan North氏の基調講演である効果的な納品のパターン(Patterns of Effective Delivery)から始まった。内容は以下の通りだ。
- スパイクを打って、安定させる (テストせずにコードを書いて、それから洗練して、後でテストする)
- ジンジャーケーキ (コピー/ペーストを正当化して、後で取り除く)
- 緊急性を作り出す (様々な技術を学ぶ)
- ソクラテス的テスト (テストがコード設計を説明する)
- 頭にうまく入れる (設計を十分小さくしておく)
基調講演後の議論の多くは、コピー/ペーストコーディングを正当化することであった。全体的に合意したのは、コピー/ペーストコーディングは素早く始める手助けにはなるが、技術的な負債を持つというものであった。
OSGiトラックは、OSGiの世界で何が起きているかについて様々なことを扱っていた。Peter Kriens氏は、以前発表したトピックであるμServicesについて発表した。サービスを表すのに基本図形を用いながら、様々なデザインパターンをモデル化し、OSGiサービスが相互に連結している方法を考慮すれぱ、全体としてシステムについて論じることができるだろう。
OSGiアラカルト(OSGi a la carte)は、オープンソースOSGiプロジェクトを短時間で知ることができるツアーであり、以下の内容が含まれている。
- OSGiランタイムを持ち出すためのブートストラップシステムとしてのApache Karaf。Apache Karafがどのように動くかを知るためのプレゼンテーションはこちらから参照できる。
- Pax URLは、mvn: や wrap:プロトコルを含む、たくさんの異なるソースからバンドルをインストールできるようにするものだ。mvnは、Mavenリポジトリからバンドルをインストールできるようにするもので、wrapは自動的にラップされたバンドルとしてインストールするように計画されたJARを可能にする。
- Pax Examは、OSGiバンドルの自動テストフレームワークだ。
- BndToolsは、Eclipseツールのセットであり、ラウンドトリップOSGiバンドルの開発と展開を可能にする。
- Eclipse Virgo と Apache Aries も同様に言及されたが、デモは実施されなかった。
部分的にプロジェクト間で重なってはいるが(Apache KarafはApache AriesとPax URLの一部を使い、Apache Tuscanyもまた、OSGiコンポーネントのセットを含む)、これによってOSGiアプリケーションのモジュールの性質を目立たせ、ランタイムプラットフォームとしてOSGiで達成できる再利用を強調する。
ParemusのRichard Nicholson氏が、クラウドの中のモジュール方式についてParemus Service Fabricのデモと共に発表した。これらのサービスの中でどれくらいのOSGiサービスをインスタンス化する必要があるかというリソースと制約について述べることで、サービスの基本構造を示し、サービスを一緒に結び付ける。そして、ノードが消えても、要求はまだ他のノードで処理できるだろう。
Neil Bartlett氏は、動いているOSGiランタイムに配置されたアジャイルOSGiバンドル開発と展開のためのツールであるBndToolsのデモを行った。簡単なIDEのリスタート以外で、同じOSGiインスタンスがアプリケーションの全てのバンドルをインストールして動かすために使われた。また、Vaadinで書かれたGUIアプリケーションの開発も含まれていた。
その日の最後にJAX London Community Nightがあり、この催しはStephen Colebourne氏のユーザビリティに関するセッションで始まった。残念ながら、これはUXのプレゼンテーションではなく、MavenとGitに関する一連の文句であった。これらはユーザビリティの問題自体に関するものではなく、矛盾した期待に基づくものであった。InterSystems (無償でGlobalsDBデータベースを提供している)のプレゼンテーションは、BIRT 2.6 と JavaEE ハッキングだった。
最終日はAdrian Colyer氏から始まり、CloudFoundryやCloudFoundryを録画したビデオを紹介した。
Chris Aniszczyk氏は、Eclipse、Git、Mylyn、Gerritについてまとめて発表した。多くの統合は、私のGerritとJenkinsのプレゼンテーションと似ていた。その時から、MylynはGitHub issueに伝えることと同様に、直接Gerritに伝える能力を手に入れていたのだ。
John Stevenson氏は、Javaのlisp実装であるClojureの始め方の素晴らしい紹介を行った。Stevenson氏が指摘したリソースの1つは、ビルトインチュートリアルのあるウェブベースのClojure REPL(ページを進んでいくためにtutorial
と next
をタイプする)のTry Clojureだ。また、ClojureのビルドシステムとしてLeiningenを挙げた。
他にもたくさんの興味深いプレゼンテーションがあった。AdobeはFlex 4.5がiOSをサポートすることを発表し、事前公開されたBlackBerry PlayBookとiPadのライブデモが行われた。Martijn Verburg氏は、Java 7の最新情報の概要を説明し、Alex Heneveld氏とAled Sage氏は、CloudsoftのMonterey Studioのプレゼンテーションを行った。最後には、定期的に利用したい人たちのために無償のJAXmagが紹介されていた。