InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

Jetty 7.0 リリース

作者 Alex Blewitt , 翻訳者 鰈崎 義之 - CSKシステムズ 投稿日 2009年10月21日

セクション
運用/インフラ,
デベロップメント
トピック
Java ,
アプリケーションサーバ
タグ
Continuations ,
Jetty

原文(投稿日:2009/10/08)へのリンク

Jetty 7.0 のリリースが本日アナウンスされMaven リポジトリのように、新しいホームである Eclipse.org からダウンロードできるようになった。このバージョンは、Jetty 6.0 のメジャーバージョンアップであり、多くのパフォーマンス改善だけでなく重要なコードベースの再編も行われている。

InfoQ は今年のはじめに Jetty から Eclipse への移管を取り上げた。今後も Jetty 6.0 はサポートされる予定だが、新しい機能は 7.0 をターゲットとする。Jetty 6.0 と 7.0 は両方とも Servlet 2.5 API をベースにしている。実験的な Jetty 8.0 は来年完成予定の Servlet 3.0 API に追随している。

Jetty 6.0の主要な機能の一つは、(Bayeux プロトコルとしても知られる、CometDで利用されるような)長く生存するクライアント接続を可能する、Servlet 層における継続(Continuations)の導入であった。以前 InfoQ は、Jetty 6.0 リリースと(オーバヘッドに繋がる)多くのスレッドに妥協することなしに、多くの同時ユーザへスケールアップするためにどのように使われるかを示す継続のデモを取り上げた。

この技術の成功は、サーブレット 3.0 ドラフト仕様における Jetty の非同期サーブレット提案に通じた。Jetty 7.0 は、これらの継続を Servlet 3.0 実装でも変更せずに動作できる方法で実装している。Jetty でない Servlet 2.5 実装においては、(非同期でなく、ブロックへと)フォールバックする。

Eclipse へ移動してから、コードはリファクタリングされた(org.mortbay プレフィックスは org.eclipse に置換された)。そして一枚岩の server.jar は、構成要素のバンドル(jetty-server.jarjetty-servlet.jarjetty-io.jar その他)に分割された。モジュール性の副次的な利点の一つは、異なるバンドル間での関心の分離がより強調されることである。この事は、よりいっそうの埋め込みへのモジュールアプローチに繋がる。今や Jetty は、有効な OSGi バンドルのセット(と良く定義された依存性) であるが、OSGi 実行環境以外でも動作することができる。

移行ドキュメントは、パッケージの違いについて説明している。多くのクラス名が変更されたので、Jetty 7.0 の新しい名前を使用するように設定ファイルを変換することのできる自動ツールがある。今後パッケージがリネームまたはリパッケージングされることはあまりないだろうから、将来のアップグレード(例えば Jetty 8.0)は、もっとシームレスになるだろう。

古い Jetty 6.0 に基づいた、cometd-jetty プロジェクトは、Jetty 7.0 の cometd-java に基づくことになり非推奨となった。現在、cometd-java は CometD.org にある。多数の AJAX クライアントが提供する非同期な継続の利点を示すデモが利用可能である。それらはバックエンドサーバへの長時間生存している接続を作成するにもかかわらず負荷を向上しない。

最後に、Jetty のメーカである、(先月 Intalio に買収された) Webtide もまた Jetty-Hightide をアナウンスした。オープンソース提供は、以下のような多数のオープンソースのスタックを含んでいる。

  • Glassfish の JSP
  • atomikos からの JTA
  • Maven プラグイン
  • Ant 統合
  • Spring 設定
  • Setuid

ダウンロード可能な現在のバージョンのHightideは、今のところ Jetty 6.0 に基づいている。しかし Jetty 7.0 を付属した、改定されたバージョンは近い将来利用可能となるだろう。

Jetty は Apache ライセンス 2.0 と同じように Eclipse パブリックライセンス 1.0 を含んでいるデュアルライセンスで www.eclipse.org/jetty から利用可能である。さらに、Jetty パッケージは Linux システムのための RPMDeb パッケージのような他プラットフォーム用に Codehaus からも利用可能である。

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。