On Fri, 29 Mar 2002, Sam Ewing wrote:

> Thank Constin,that really helped. Are there any
> advantages of WARP over APJ? I mean why would I want
> to use one over the other?

I have no idea :-) If you care how strings and ints are encoded,
or what's the packet structure probably you would pick
one. 

I don't like either - the only reason I use ajp13 is 
backward compatibility and the fact that all versions of 
tomcat supports it. 

Ok, the history is a bit complicated, 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 ).

Looking back - and forward - I think using CDR or XDR would
have been ( or will be ) much better choices for marshalling, 
and a subset of RPC or IIOP for protocol. Jk2 supports multiple 
protocols, and one of the reasons is to allow a future 
migration to a more standard protocol. 

We're not the only one inventing protocols - look at DCOP :-)
And it seems full IIOP ( or at least using an existing ORB ) does 
have performance impact, or did for KDE people. Plus 
it would not easily allow the kind of transports we are using
or want to use ( unix sockets, JNI, doors, etc ). 

However using a minimal subset ( we only deal with strings,
ints, arrays of string and very simple method calls ) would
eliminate most of the confusion and maybe even provide more
interoperability. Anyway - ajp13 is here to stay - but 
I hope it'll be the last binary protocol we invent for
jk.

Costin

> 
> Sam
> 
> --- [EMAIL PROTECTED] wrote:
> > On Thu, 28 Mar 2002 [EMAIL PROTECTED] wrote:
> > 
> > > Maybe I've not kept up on the docs enough but ... 
> > > 
> > > I do think this thread, highlights a general
> > confusion around tomcat. 
> > > Over the last couple of years, there have been
> > many 
> > > mod_jk/jk2/webapp/warp/?? implementations, ajp
> > versions etc, and even 
> > > when the discussions are on the list, it's still
> > hard to be able to say 
> > > (for lowly thread lurkers/tomcat users like
> > myself), tomcat X.x can use 
> > > mod_??, on ajp?.? because they provide xyz..
> > 
> > The problem is I have no time and I'm not good at
> > writing docs.
> > 
> > Mod_jk works on all web servers and with all tomcat
> > versions. Mod_jk2 
> > will do the same.
> > 
> > The core of the confusion is the distinction between
> > "protocol", "API", 
> > "implementation".
> > 
> > A protocol is something like IIOP, RPC, HTTP. The
> > API is a set of 
> > functions - for forwarding the request, getting
> > response, config, auth, 
> > etc. 
> > 
> > Mod_jk is an implementation that supports  multiple
> > communication 
> > protocols and multiple APIs. Different versions of
> > tomcat also support 
> > multiple protocols and APIs.
> > 
> > There are 4 protocols we use:
> >  - ajp12 ( in tomcat3.x, jserv )
> >  - ajp13 ( in tomcat3.x, tomcat4.x )
> >  - jni ( in tomcat3.x - and 4.x as soon as jk2 is
> > ready )
> >  - WARP  ( in tomcat4.x )
> > 
> > There are several APIs:
> > - request forwarding APIs - usually one method
> > signature for each protocol
> > - configuration methods - in warp and what used to
> > be called ajp14 ( very 
> > confusing, since it was a set of new methods
> > implemented with ajp13 
> > protocol )
> > - auth, shutdown, etc - again 2 or 3 if you count
> > the 4.0 shutdown 
> > protocol.
> > 
> > And several implementations of those protocols:
> > - mod_jserv implements ajp12
> > - mod_jk implements ajp12, ajp13, jni
> > - mod_jk2 implements ajp13 ( and one of my goals for
> > a future version is 
> > to implement one 'real' protocol - a minimal subset
> > of RPC/XDR or IIOP or 
> > similar ) ( with jni replaced with ajp13 - and
> > multiple channels - tcp, 
> > unix, jni )
> > - mod_webapp implements WARP
> > - tomcat3.x implements ajp12, ajp13, jni
> > - tomcat4.x - ajp13, WARP
> > 
> > And several implementations of the APIs ( similar
> > matrix ). The basic 
> > request forwarding APIs used in jk is common to all
> > servers and should be 
> > fully interoperable. Extended APIs ( config, etc)
> > are supported only in 
> > new versions of tomcat/jk.
> > 
> > Load balancing is one extra feature in mod_jk and
> > mod_jserv, on top of the 
> > forwarding API. 
> > 
> >  
> > 
> > Costin
> > 
> > 
> > --
> > To unsubscribe, e-mail:  
> > <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Greetings - send holiday greetings for Easter, Passover
> http://greetings.yahoo.com/
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> 


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to