Another update. Same disclaimers as before.
-------------------------------------------------------- FAQ's (just an idea, these don't have to be included) Q: Is mod_webapp replacing mod_jk? A: No. See below for links to documentation, then choose the one that best suits your needs. Q: Is Coyote replacing mod_jk? A: Coyote isn't the same sort of thing as mod_jk, see below in the "Coyote" section for more details. Q: It's all very confusing. A: Yes. A good strategy is to read through the summaries below and follow some of the documentation links. If you still have questions, try searching the tomcat-user mailing list archives, someone has probably answered the question already, there may even be a HOWTO already prepared. If that doesn't help, then you might consider posting your question to tomcat-users. non-jakarta howto's: these were culled from recent posts to tomcat-users. i have no way to judge if they are any good. it would be nice to only include the ones that someone can vouch for, but that may be too much work. the list is evolving... http://www.acg-gmbh.de/mod_jk/ Apache 2.0/Tomcat 4/mod_jk/Win32 http://www.pubbitch.org/jboss/ Apache 2.0/Tomcat 4/mod_jk2/JBoss Apache 2.0/Tomcat 4/mod_webapp/JBoss http://bruno.vernay.free.fr/HowTo/bWebServerHowTo/index.html Apache ?.?/Tomcat 4/mod_webapp/Win32 "references" link has list of other HOWTO's mod_jserv although it's probably still in production use at some sites, mod_jserv generally shouldn't be considered for new installations. why it was written: it was there first. where to get the source: jakarta-tomcat repository src/native/mod_jserv/ where to get documentation: http://jakarta.apache.org/tomcat/tomcat-3.3-doc/tomcat-apache-howto.html [ed] In tomcat-3.3-doc/index.html, it looks like mod_jserv is the suggested connector, and mod_jk is optional or alternative or something. It's my understanding that this is incorrect, and mod_jk should be used for new installations. It's a little confusing. unerlying protocol: AJP11 - original protocol Ajp12 - also supported in mod_jk1. works with: servlet containers: JServ Tomcat3.x as well ( which supports ajp12 ) web servers: All apache1.3 versions operating systems: ??? mod_jk why it was written: originally, clean-up of mod_jserv. Refactoring of mod_jserv to better abstract the server and protocol. features: many production users. load balancing with both tomcat 3 and tomcat 4 <[EMAIL PROTECTED]> "Pretty good OO model, good abstraction for server and protocol, etc." future: mod_jk2, as of [30 Apr 2002] still in pre-alpha. status: in production for tomcat 3, 4. see also webapp connector. where to get the source: jakarta-tomcat-connectors/jk where to get documentation: jakarta-tomcat-connectors/jk tomcat-dev mailing list archives http://jakarta.apache.org/tomcat/tomcat-3.3-doc/mod_jk-howto.html http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/jk.html http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/jk2.html works with: servlet containers: jserv? tomcat-3 tomcat-4 web servers: domino apache 1.3 apache 2.0 (HEAD) netscape AOLServer ( not in the main tree ). IIS platforms: many. underlying protocol: AJP, see mod_jserv evolution: AJP12, binary AJP13, better SSL support. the current protocol. AJP14, there is no AJP14, it's a shelved experiment. AJP13 is flexible enough for future growth, and there's the possibility of eventually moving to an industry-standard marshalling protocol like XDR or CDR. see comments below. documentation/mailing-list/cvs comments of interest: Re: [NITPICK] didn't see this one coming... Mon, 29 Apr 2002 07:54:09 -0700 (PDT) <[EMAIL PROTECTED]> ... Note that mod_jk2 is not and will not be ready for 4.1 ... <[EMAIL PROTECTED]> "Also - it's [mod_jk -ed] the area/component of tomcat with the largest number of individual commiters ( by my count at least ). And more important - one of the things that 3.x and 4.x share and seem to bring cooperation from both sides." "Mod_jk v/s mod_webapp" on tomcat-dev: Bill Barker wrote: "mod_jk2 is the next generation of mod_jk. It is currently barely Alpha quality for Apache 2.x (and still subject to major changes from day-to-day)" costin: "Mod_jk works on all web servers and with all tomcat versions. Mod_jk2 will do the same." <[EMAIL PROTECTED]> : "it started with ajp11 and ajp12 ( first text based, second binary ). Ajp12 evolved into ajp13 - using same encoding but with some extensions ( to deal with persistent connections ). "GOMEZ Henri" <[EMAIL PROTECTED]> : using jk instead of warp depend on webserver you want to have it. If need today, or tomorrow IIS/NES/DOMINO, use mod_jk, if you only need to use Apache 1.3/2.0 and have APR ready, you can use also mod_warp. costin: "jk had many developers contributing to it, more than any other tomcat component ( AFAIK ). It's also a matter of evolution - mod_jk started by implementing the ajp12 protocol and being backward compatible with mod_jserv ( actually a lot of code has been refactored from it ). You can still use mod_jserv with 3.x, and you can use mod_jk with anything from jserv to tomcat4." webapp you might see the terms "mod_webapp", "webapp" and "WARP", being used in a confusingly similiar way, but properly: mod_webapp - the apache module portion of webapp, WARP - the underlying protocol features: tight webserver/container integration means simple deployments are very easy, work being done on making things even easier. why it was written: uses APR, tight tomcat 4 intergration status: under active development. where to get the source: jakarta-tomcat-connectors/webapp where to find documentation: jakarta-tomcat-connectors/webapp http://nagoya.apache.org/~pier/ http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/webapp.html works with: tomcat versions: tomcat-4 only web servers: apache 1.3 apache 2.0 <[EMAIL PROTECTED]> "with the "prefork" MPM. We have some experimental code in the repository to add ... Apache 2.0 with the other MPMs." operating systems: OS/X (confirmed by pier) Solaris 8 both X86 and SPARC (confirmed by pier) should work on all other Unix-like O/S's experimental code in repository to support Apache 1.3 under Windows underlying protocol: WARP mailing list/documentation comments: mod_jk vs mod_webapp thread: pier : "Motivation? I don't like mod_jk, I wanted to use APR as a portable runtime for an Apache 1.3 module, I believe that the WARP protocol with built-in support for auto-deployment and web-application configuration is the way to go (rather than using mod_rewrite rules all the way around)," Re: jakarta-tomcat-connectors documentation/summaries pier: "There were some other motivations when it all started... Mod_JK was unmaintained, and nobody knew how to make it work. I didn't like its design and took out the experiences I had while working on mod_jserv and all those nifty ideas, and put them together (note: the WARP protocol is a derivate of AJPv21 which was supposed to be used on JServ.NEXT)" coyote coyote isn't properly a webserver connector like the others listed here. see cvs comments below. it's: coyote - the architecture for the java code that talks to connectors. similiar to code in tomcat 3.3, but adapters are available for both tomcat 3 and tomcat 4. coyote http - an implementation of an HTTP standalone connector. coyote jk - interface to mod_jk (see above) why it was written: costin: "Lots of optimizations ( especially in 4.0 ), better abstractions, etc." status: being phased in as default for tomcat 4.1 costin: "Will also be the main connector for 3.x ( at least for jk2, but also http/1.1 )" where to get the source: jakarta-tomcat-connectors/coyote org/apache/coyote/http11 - standalone http 1.1 connector where to get documentation: user docs: http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/jk2.html http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/coyote.html developer docs: cvs comments, mailing list works with: servlet containers: tomcat-3 tomcat-4 web servers: see mod_jk operating systems pure Java for HTTP standalone same as mod_jk for jk configuration underlying protocol: HTTP, as standalone connector for tomcat 3/4 AJP13, when used with mod_jk. JNI, (ref remm comment below) mailing list/documentation/cvs comments: Re: [VOTE] Release Plan for Apache Tomcat 4.1 Wed, 24 Apr 2002 13:29:22 -0700 (PDT) <[EMAIL PROTECTED]> coyote-Jk2 is stable as a Ajp13/Socket connector - i.e. all that matter for mod_jk1. The Unix socket and all advanced features of jk2/java will not be 'release quality' either ( but with a bit of luck and some help from Nacho and maybe others we can have them working and beta-level). costin: "Coyote is the architecture for the java side - it supports HTTP/1.1 ( as standalone ) and all servers that jk1 supports." coyote announcement? from cvs: Thu Jun 14 01:07:52 2001 UTC (10 months, 1 week ago) by remm "Coyote is a proposal for a "new" connector API for Tomcat. It actually isn't that new, because it is derived from some of the components which are at the core of Tomcat 3.3. Those components were significantly simplified." From: "Remy Maucherat" <[EMAIL PROTECTED]> Subject: Re: Coyote/jk2 - interaction explanations please Date: Thu, 18 Apr 2002 04:45:37 -0700 In Coyote, there's: - the container adapters (for 3.3, 4.0, 4.0-HEAD) - the external API (request, response, and a couple other things) JK 2 and HTTP/1.1 are protocol hand -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>