アーキテクチャを再構築、高速に生まれかわる - Jetty 6 Comming soon

    後藤大地  [2005/11/22]

    Jettyは21日現在、最新の開発ブランチを6系(旧 Jetty Experimental)とし、開発段階にある。Jettyは100% Javaで開発されたHTTPサーバおよびServletコンテナ。Apache License Version 2.0のもとオープンソースソフトウェアとして公開されている。Jettyには軽量で高速に動作するという特徴がある。

    オープンソースソフトウェアにおけるServletコンテナとしては実質的にTomcatがデファクトスタンダードの位置づけにある。WebサーバにはApacheを採用し、ServletコンテナにはTomcatを採用。お互いをApache Tomcat mod_jkサーバコネクタで接続して運用するというスタイルをとることが多い。

    JettyではJettyでWebサーバとしての特徴もServletコンテナとしての特徴も兼ね備えることで、サーバコンテナ間の通信から生じるオーバーヘッドがかからないとされている。JettyはライセンスがApache License Version 2.0であることから、いくつかの製品には組み込まれて使用されている。

    現在開発が進められているJetty 6 (旧Jetty Experimental)は、アーキテクチャを見直し、最初からビルドされた新しいJettyの実装。ひとつ前のバージョンであるJetty 5からはほんの少しのコードが移植されただけにすぎない。Jetty 6ではServletにおけるフィルタやコンテキストのコンセプトにより適したアーキテクチャに変更されることになる。

    開発中のJetty 6はJava 1.4およびJava 1.5を対象としている。Jetty 4.2およびJetty 5.0がJava 1.2からJava 1.4まで、Jetty 5.1がJava 1.2からJava 1.5までで動作するが、Jetty 6では1.4以降のサポートになる点に注意されたい。対応しているHTTPはHTTP/1.1 RFC2616、Servletは2.4以降に対応している。

    Jetty 6で提供されることになる機能のうち主なもは次のとおり。

    • コードベースアーキテクチャの完全な再構築
    • AJAXポーリングを効率よく行うためのContinuations APIの導入
    • DIやIoCに関する改善
    • ハンドラの通信に関する設計の改善
    • 効率のよい非同期フラッシュおよびチャンキングを回避するためのスマートスプリットバッファデザインの導入
    • 様々な機能改善のためにNIO APIのオプションナルユース

    Jettyは10年をこえる開発とメンテナンスの経験をもって再構築されることになった。その間、JavaのコアAPIが提供する機能や、サードベンダが提供するAPIはより協力し、そして迅速に動作するようになっている。Jetty 6の成果物がどのようなものになるか、注目する価値はあるといえる。

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン