オープンソース イベントレポート
JavaとOSSの最新事情を探る OSC 2007
@IT編集部
平田修
2007/3/26
Apache族最後の戦士Geronimo
日本Apache Geronimoユーザグループの梶山隆輔氏によるセッション「Apache Geronimoってなんだ?」を見てみよう。Apache GeronimoはオープンソースのJava EEサーバであり、多種類のソフトウェアを組み合わせて利用できるのが、大きな特徴だ。
利用できるソフトウェアはTomcat、Axis、DerbyといったApache製のものから、ActiveMQ、TranQL、OpenEJB、Jetty、MX4J、Howlと幅広い。Apache Geronimoはこれらのソフトウェアを開発の状況に応じて自由に組み合わせることができるし、管理機能とWebコンテナだけのLittle−Gという最小限のパッケージとしても利用できる。
セッション中の梶山氏 |
また、Web開発用のEclipseプラグインであるWTP(Web Tools Project)サーバアダプタがApache Geronimoに対応していて、Apache Geronimo自身にもプラグインがある。例えば、スケジューラである「Open Symphony Quartz」、帳票作成ツール「Jasper Reports」、Java製ブログ「JRoller」、LDAPサーバ「Apache Directory」、ポータルサーバ「Liferay」など、Apache GeronimoにはEclipseのようにプラグインを増やす楽しみもあるようだ。
梶山氏はJBossとApache Geronimoについて次のように比較していた。「JBossは1999年から開発が開始されJava EE 5対応が進んでいたり導入実績もありますが、Red Hatの買収により、オープンソースとしての自由度はどうなるか分からなくなりました。一方、Apache Geronimoはソフトウェアやプラグインの組み合わせによる自由度が象徴するように、複数のオープンソースプロジェクトの連合体のため、コミュニティの技術力を最大限に活用できるという利点があります。そして、Apache Geronimoも次期バージョン2.0にてJava EE 5に対応予定です」。
■ 関連リンク
- 連載 Eclipse3.1を使おう 第3回「Webアプリのための標準プラグイン『WTP』」
- @IT NewsInsight 「オープンソースで安価にSOAを実現するJEMS〜課題は日本語による情報不足〜」
Ajax、EJB、JSF、O/Rマッピングを縫い合わす
JBoss関するセッションにも触れてみよう。日本JBossユーザ・グループの皆本房幸氏によるセッション、「JBoss Seamの新機能」だ。JBoss SeamはWeb2.0アプリケーションのためのフレームワークで、Ajax、JSF、EJB 3.0、Javaポートレット、BPM(Business Process Management)といったSOAテクノロジーを統合する。
その特徴としてまず、対話コンテキストが紹介された。
従来のJava Webアプリケーションは、HTTPセッションのスコープ管理にPC単位までという限界があった。しかし、対話コンテキストが導入されたことによって、JBoss Seamで扱えるスコープの種類はもっと豊富にある。Stateless、Event、Conversation、Business ProcessがHTTPセッションにないスコープで、特に、Conversationスコープは単一PCでの複数ユーザーによるブラウザ使用に対応していることが大きな特徴だ。
セッション中の皆本氏 |
セッションでJBoss Seamは「Contextual Componentsを管理するもの」だと定義されていた。Contextual Componentsとは、対話コンテキストによって管理されるコンポーネントのことで、皆本氏いわく「対話コンテキストは今後のWebアプリケーションの本流になると思います」。
また、JBoss Seamのもう1つの大きな特徴として、O/Rマッピングと相性が良い、ステートフル・アーキテクチャが紹介された。
「JBoss Seamは、そもそもO/RマッピングのフレームワークであるHibernateを作成したGavin King氏によって開発されたものです。そのため、従来のO/RマッピングとWebアプリケーションの相性の悪さを克服しています。状態の管理を重視するステートフル・アーキテクチャは、スケーラビリティを優先して状態をなるべく保持しないというステートレス・アーキテクチャと逆の考え方です。しかし、スケーラビリティをまったく無視しているのではありません。O/RマッピングとWebアプリケーションの連携で発生することがある遅延ロードの問題を克服することによって、スケーラビリティを実現しています」(皆本氏)。
JBoss Seamの新機能としては、Springの統合やSeam Application Frameworkが挙げられていた。Seam Application Frameworkは、JPA(Java Persistence API)やHibernateのひな型になるもので、Seamコンポーネントを保護し、単純なCRUD(Create、Read、Update、Delete)操作のソースコードを削減できるという。
■ 関連リンク
Javaのオープンソースコミュニティをのぞいてみよう
サン・マイクロシステムズの岡崎隆之氏は、セッション「オープンソースになった Java のいろいろ」でコミュニティへの参加を呼び掛けた。
セッション中の岡崎氏 |
岡崎氏はJavaのオープンソース化のメリットの1つを「参加」による技術革新だと強調した。Javaの技術は実に広範囲にわたり、成熟してきている。しかし、成熟してきた技術というのは、落ち着いてしまい革新的な技術が生まれにくいものである。その局面を打開するためにも、オープンソース化してユーザーや開発者にコミュニティへ「参加」してもらうことが必要だった。
しかし、オープンソース化の懸念事項としてJDKの互換性のフォーク(枝分かれ)が考えられる。互換性を確認するための手段として、TCK(Technology Capability Kit)という、Javaの互換性を確認するテストプログラムやツール類が挙げられた。
このTCKによるテストと要件を満たしたものだけが、Java互換と呼べるものになる。2006年12月に正式リリースされたJava SE 6のときには、TCKに含まれる約1万2000項目の互換性テスト、現実のアプリケーションを用いた実行テスト、高負荷環境での実行テストなどが24種類のOS、577台のマシンで行われたそうだ。
Javaのオープンソースコミュニティについて具体的に紹介すると、2007年3月現在、Java SE(Standard Edition)の「OpenJDK」コミュニティ、Java ME(Micro Edition)の「Mobile&Embedded」コミュニティ、Java EE(Enterprise Edition)の「GlassFish」コミュニティの3つがある。
岡崎氏は上記3つのコミュニティについて、「いまのところは良くも悪くもサンの者が大多数ですが、いい換えると、商用で使われている製品を開発しているトップエンジニアの集団です。そのメーリングリストには、リリースに向けたバグ管理に関する考え方など、いろいろな議論がされています。ブログには、ガベージコレクションの仕組み、JVMの起動を速くする方法、チューニングに関する話題などがあふれています。また、多くの人がコミュニティに参加することによって、フィードバックが増えるなどして、新しいバージョンのJavaのリリースが早まることがあるかもしれません」と述べていた。実際に、岡崎氏も質問メールを送って活用しているということだった。
■ 関連リンク
Rubyのセッションは減少傾向―― 秋はどうなる?
Java関連の最新技術を中心に紹介してきたが、もちろん、Java関連以外にも多くの技術紹介があった。
各ブースの様子 |
特に多かったのが、仮想化技術、Linux、PHP、MySQL、PostgreSQLに関するものだろう。ほかにも、昨年の秋に比べて、OpenSolarisやMacOSX、さらにセキュアOSに関するセッションの数が増えるなど、多様化するOS技術の紹介も増える傾向にある。また、Rubyのセッションがほとんどなくなり、Java関連のセッションが増えていることも注目すべき点である。
秋に開催予定の「オープンソースカンファレンス 2007 Tokyo/Fall」でも、さらに多様なOS技術やJava関連の技術が紹介されるだろう。
2/2 |
Index | |
イベントレポート JavaとOSSの最新事情を探る OSC 2007 | |
Page1 ExcelからJava、.NET、PHPのソースができる? 拡張機能はHTMLとCSSだけで作れる Web地図サービスはGoogle Mapsだけじゃない |
|
Page2 Apache族最後の戦士Geronimo Ajax、EJB、JSF、O/Rマッピングを縫い合わす Javaのオープンソースコミュニティをのぞいてみよう Rubyのセッションは減少傾向―― 秋はどうなる? |
ご意見、ご感想は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に関する基礎知識を解説する。
|
|