Apache Software Foundation | Jakarta Project | Apache Tomcat
JK とは何 ?

JK は、古くなった mod_jserv からの代替手段です。 Tomcat と Apache のコミュニケーションを担うのは、完全に新しい Tomcat-Apache plug-in でした。

新しい JK2 は、 JK を書き直したものです。 ネイティブな部分は完全に再構築され、設定は非常に簡単になりました。

JK is more than just an apache module, since it could be used with majors WebServer :

  • mod_jk is an Apache module to be used with Apache 1.3 and 2.0 Webservers.
  • isapi is a redirector to be used with IIS .
  • nsapi is a redirector to be used with Netscape/iPlanet .
  • dsapi is a redirector to to be used with Domino but there is less active support on it.

なぜ JK を使うのか ?

JK は、元の mod_jserv の多くの制限を克服するためにつくられました。

mod_jserv は、Apache/JServ から開発されていて、JServで定義されていてApacheに必要のないビットを多く持っているので、大変劣っています。

mod_jserv は、Unix OS上のApache Webサーバしかサポートしていませんが、 JK は、 JK library という互換レイヤを持つことにより、より多くのWebサーバやOSをサポートしています。 レイヤ型の手法をとる事で、JKライブラリが簡単に多くの種類のWebサーバとOSをサポートすることができます。

JK offer better support for SSL, that's was a problem with mod_jserv which couldn't reliably identify whether a request was made via HTTP or HTTPS.

JKは、新しいAjpv13 プロトコルを使う事で、servlet 2.2 と 2.3 で必要な多くのSSL情報を扱うことができます。

JK offers a lot of different and flexible communications between a Web Server and the Tomcat Servlet Engine and could be used today with all of the ASF Tomcat Engines, 3.2.x , 3.3.x , 4.0.x , 4.1.x and 5.x


JK と JK2 の違いは ?

JK2 は JK の完全な書き直しで、JKよりパワフルです。

Even if it works with Apache 1.3, JK2 has been developed with Apache 2.0 in mind, and sus is better suited for multi-threaded servers like IIS, NES/iPlanet.

JK2 has a better separation between protocol and physical layer. As such JK2 support fast unix-socket, and could be extended to support others communications channels. Better it's suited for JNI and JDK 1.4 fast IO APIs

JK2 could be monitored via special URLs (like mod_status)


Apache と Tomcat をつなぐ代替手段は ?

代替手段は、 mod_webapp ドキュメンテーションによりよい記述があります。

Check webapp site for it and then decide if you want to go on reading.

The big advantage of mod_webapp is that is very easy to configure, has a well defined protocol named WARP , does not care about the old crappy protocols used in Tomcat-3.x and so. But it would be possible to implement the WARP protocol in JK2 ;-))

The disadvantage is that it requires the Apache Portable Library which is still only easily available via Apache 2.0 and that it didn't support webservers like IIS, NES/iPlanet or Domino.