You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@costin.dnt.ro on 2000/01/22 20:08:51 UTC

Apache+Tomcat - open projects

Hi,

As you know, there are still many things to do for tomcat, and it is great
to work with so many smart people.

Please check the RELEASE-PLAN and Todo list, and add your own ideeas and
requirements. I'm still working on cleaning up tomcat architecture and
fixing bugs, plus a simpler configuration and better integration with
Apache. Also, I re-started work on apache2.0 and mod_embjava, and I hope
to have them running for the next milestone ( experimental, of course).

There are few things I would like to add to the Todo list for the next
release. If you are interested to help please let me know.

- Load balancing. mod_jserv supports it, and it's just a matter of fixing
the requestId processing ( easy ), testing it and writing the "howto"(
hard). I think it will be great to have it.

- SSL - sending the certificates is easy, but we need a good documentation
on "howto" and we need to test it and propagate the informations to
ServletRequest. 

- Automatic startup. There is a good documentation on how to
do it (http://satori.com/~avm/tomcat.html), but it has to be added/linked  
to the tomcat documentation, we need to test if restart works ( probably
not), and maybe move the "wrapper" functionality in a standalone module (
it's something very userfull, not only for tomcat). 
Also, a reverse restart is needed ( tomcat to ask Apache to restart if a
config changes).

- Callbacks. That's a very hard one, we have an experiment ( mod_ajp23),
but it's far away from the stability of mod_jserv. ( hard one) 

- Packaging - the scripts are still far from perfect, and installing
tomcat and apache are still hard.

There are probably many other features/ideas to add to the todo list, but
it would be great to also have some names next :-)

What do you think?

Costin


Re: Apache+Tomcat - open projects

Posted by Dan Janowski <da...@3skel.com>.
jon * wrote:
> 
> on 1/24/00 7:43 PM, Dan Janowski <da...@3skel.com> wrote:
> 
> > I have been wondering why we are packaging mod_jserv in a half-assed way,
> > i.e. no Makefile, configure, etc, when ApacheJServ seems to be centered
> > around just such developement and distribution.
> >
> > Please accept that my comment is not to be critical. I say it that way
> > because what I ended up doing was copying our source into a post ./configure
> > ApacheJServ c/ in order to build it for FreeBSD. It was a bit funky
> > to say the least.
> >
> > Dan
> 
> Because it is a ROYAL pain in the a** to create autoconf/automake/libtool
> stuff.
> 
> I did most of the hard testing work for the Apache JServ 1.1 stuff with
> major help and kudo's to Vadim. Let me tell you, I spent probably about 2
> weeks solid working on just that issue alone. It sucked.
> 
> ;-(
> 
> If you would like to volunteer to help do it for Tomcat, I'm sure that it
> would be appreciated, but the above statements will probably turn you off
> from doing it. It is dirty, nasty work.

Sounds as nasty as I would imagine. I have a few questions:

1. Do we maintain a separate mod_jserve code base from
  ApacheJServe, or does stuff flow bi-directionally, or only one way.

2. It does not seem that we (or I) would have to start over since
  the AJS autoconf generates a largely usable result. An adaptation
  based on the AJS should be a strong enough, if not perfect, usable
  result.

3. Is ApacheJServ done? Will it stop and Tomcat take its place entirely?

4. I have no clue how libtool works. Where the hell did this thing
  come from? lo, la... I feel like I've been asleep. Any pointers?

Dan


--
Dan Janowski     danj@3skel.com       Triskelion Systems, Inc.     Bronx, NY

Re: Apache+Tomcat - open projects

Posted by co...@eng.sun.com.
On Tue, 25 Jan 2000, Dan Janowski wrote:
> I just tried that. That is about as easy as it gets. Compile, install,
> run.
> However it is: (add the -c)
> apxs -c -o mod_jserv.so *.c
> 
> It seems to me that this is the correct way to do it for
> the two most obvious reasons: 1) it's REALLY easy;
> 2) Apache has already figured out what has to be done, as advertised.

But it has the Perl problem.
A very good solution would be for Apache to generate one extra file
containing the "guessed" compile flags ( which are now inside APXS), so we
can use it as include in a Makefile.
IT's easier than writing another configure that just duplicates (again)
what Apache just detected.

( it seems Apache 2.0 might use autoconf)

> I've not looked at Ant, but even a simple (4.5 second) Makefile in 
> the CVS tree would have averted trying to figure out how source code
> with no makefile, configure/Makefile.in gets built ;)

It should be somewhere :-) ( used to be in the nighly build scripts )

> BTW, how do the Makefile.{am,libdir,tmpl} files get used at all in
> the current situation? Additionally what is the general role of
> a Makefile.am?

Makefile.am is used by Automake ( another tool that is too much for
tomcat - IMHO). 

> It will take me a little longer to understand what is in tools
> and watchdog, as well as what is being referred to as Catalina. It
> is my intent to contribute. I am currently using Tomcat for a real
> development project and I really like the architecture.

tools is no longer used, watchdong is the test suite, Catalina is a new
architecture ( the big difference is in how a request gets processed ).

Costin


Re: Apache+Tomcat - open projects

Posted by Dan Janowski <da...@3skel.com>.
costin@costin.dnt.ro wrote:
> 
> > Because it is a ROYAL pain in the a** to create autoconf/automake/libtool
> > stuff.
> 
> mod_jserv is very clean code, with almost no special C in it.
> It should compile on any platform Apache compiles, without any need for
> magic autoconf guessing.
> 
> Also, it is just an Apache module - we should't re-do the guessing that
> Apache did. I know people don't like APXS because it's Perl, but IMHO the
> right way to compile Apache modules is using an Apache tool.
> 
> All mod_jserv in tomcat can be compiled with only one statement, and
> probably will be automated as a <ant> task.
> ( apxs -o mod_jserv.so *.c )

I just tried that. That is about as easy as it gets. Compile, install,
run.
However it is: (add the -c)
apxs -c -o mod_jserv.so *.c

It seems to me that this is the correct way to do it for
the two most obvious reasons: 1) it's REALLY easy;
2) Apache has already figured out what has to be done, as advertised.

It seems correct that coding of mod_jserv should be kept consistent
with the Apache configuration so that apxs can be used in just this way.

I've not looked at Ant, but even a simple (4.5 second) Makefile in 
the CVS tree would have averted trying to figure out how source code
with no makefile, configure/Makefile.in gets built ;)

APACHE_ROOT=/HTROOT/opt/apache-1.3.9

SRC= \
    autochange.c        \
    jserv_ajpv11.c      \
    jserv_ajpv12.c      \
    jserv_balance.c     \
    jserv_image.c       \
    jserv_mmap.c        \
    jserv_protocols.c   \
    jserv_status.c      \
    jserv_utils.c       \
    jserv_watchdog.c    \
    jserv_wrapper.c     \
    jserv_wrapper_unix.c        \
    jserv_wrapper_win.c \
    mod_jserv.c

mod_jserv.so: $(SRC)
        ${APACHE_ROOT}/bin/apxs -c -o $@ $(SRC)

clean:
        rm *.so *.o



Now I am very happy. I was trying to get the default mounts and zone
stuff worked out, and it was a pain to do a hack job for compilation.

BTW, how do the Makefile.{am,libdir,tmpl} files get used at all in
the current situation? Additionally what is the general role of
a Makefile.am?

It will take me a little longer to understand what is in tools
and watchdog, as well as what is being referred to as Catalina. It
is my intent to contribute. I am currently using Tomcat for a real
development project and I really like the architecture.


Thanks a ton (or a metric ton, depending on your location),

Dan


--
Dan Janowski     danj@3skel.com       Triskelion Systems, Inc.     Bronx, NY

Re: Apache+Tomcat - open projects

Posted by co...@costin.dnt.ro.
> Because it is a ROYAL pain in the a** to create autoconf/automake/libtool
> stuff.

Plus: 

mod_jserv is very clean code, with almost no special C in it.
It should compile on any platform Apache compiles, without any need for
magic autoconf guessing.

Also, it is just an Apache module - we should't re-do the guessing that
Apache did. I know people don't like APXS because it's Perl, but IMHO the
right way to compile Apache modules is using an Apache tool.

All mod_jserv in tomcat can be compiled with only one statement, and
probably will be automated as a <ant> task. 
( apxs -o mod_jserv.so *.c )

Costin



Re: Apache+Tomcat - open projects

Posted by jon * <jo...@clearink.com>.
on 1/24/00 7:43 PM, Dan Janowski <da...@3skel.com> wrote:

> I have been wondering why we are packaging mod_jserv in a half-assed way,
> i.e. no Makefile, configure, etc, when ApacheJServ seems to be centered
> around just such developement and distribution.
> 
> Please accept that my comment is not to be critical. I say it that way
> because what I ended up doing was copying our source into a post ./configure
> ApacheJServ c/ in order to build it for FreeBSD. It was a bit funky
> to say the least.
> 
> Dan

Because it is a ROYAL pain in the a** to create autoconf/automake/libtool
stuff.

I did most of the hard testing work for the Apache JServ 1.1 stuff with
major help and kudo's to Vadim. Let me tell you, I spent probably about 2
weeks solid working on just that issue alone. It sucked.

;-(

If you would like to volunteer to help do it for Tomcat, I'm sure that it
would be appreciated, but the above statements will probably turn you off
from doing it. It is dirty, nasty work.

-jon 

-- 
Come to the first official Apache Software Foundation
Conference!  <http://ApacheCon.Com/>



Re: Apache+Tomcat - open projects

Posted by Dan Janowski <da...@3skel.com>.
costin@costin.dnt.ro wrote:
> ...
> 
> - Packaging - the scripts are still far from perfect, and installing
> tomcat and apache are still hard.

I have been wondering why we are packaging mod_jserv in a half-assed way,
i.e. no Makefile, configure, etc, when ApacheJServ seems to be centered
around just such developement and distribution.

Please accept that my comment is not to be critical. I say it that way
because what I ended up doing was copying our source into a post ./configure
ApacheJServ c/ in order to build it for FreeBSD. It was a bit funky
to say the least.

Dan


--
Dan Janowski     danj@3skel.com       Triskelion Systems, Inc.     Bronx, NY