----- Original Message -----
From: "Leon Rosenberg" <[EMAIL PROTECTED]>
To: "Tomcat Developers List" <dev@tomcat.apache.org>
Sent: Monday, August 20, 2007 10:22 PM
Subject: Re: POJO Application Server for Tomcat
On 8/19/07, Johnny Kewl <[EMAIL PROTECTED]> wrote:
I call it a POJO Application server, I've mentioned before that we
actually popping full java >applications out of browsers, but then it was
very much something only I could use, messy >libraries etc. What I've
done now is (try) make a more professional package, and it would be
>really nice if the guru's just have a little read about this
unbelievable servlet, and let me >know what you think, if just to see how
someone is using your Tomcat, in a very unusual >way.
...
I think its a new way of looking at application servers, it feels like a
discovery to me, but >then who knows maybe there is something out there
like this, I dont know, all I do know is >that when we drop this servlet
into Tomcat, we run POJO applications over the wire as if >they were
right their on the client machine, the same applications that will also
run >standalone on the machine. Its so different that I really struggled
to find the relevent theory >behind this technology, I think I'm close,
but any pointers or corrections would be much >appreciated there as well.
Just one question, what do you need tomcat for?
Remove the tomcat from your app server, add rmi, corba, and, if you
really wish, a http connector (which could be tomcat or a small http
listener with xml parser) , and yeah, you are back to the good old
days...
Well, I thought about that, but not quite in the same way, I thought about
taking it down to the Apache native socket level, but decided TC is a much
better solution. Harbor doesnt use RMI, and it doesnt use SOAP, all the
protocols for Harbor, the required serialization, the Java reflection,
everything was re-done.
Crazy Huh ;)
I wanted a pure fast binary HTTP based protocol, and there wasnt a complete
protocol out there that could do what I needed.
RMI I felt is a little too primative for what I needed, but as you know, the
real problem is that its not HTTP driven, and as soon as firewalls come into
play, guess what, you probably have to use tomcat and a servlet to tunnel
through the firewall, nah! its old technology, ok for EJB servers ;)
Then there is the whole concept of registries, which RMI and just about
every other SUN service specification, EJB, SOAP, all have some place the
thing has to be registered. In this context I felt that it was also
superfluous. Harbor addresses in the same way a web site does. My
application is at http://harbor etc, which is really nice and easy for users
to understand. An EJB client is really a completely separate thing to the
EJB server implementation and needs a discovery mechanism. Harbor houses
full applications, so the client side "knows" about its server side, its
just very different. In coding terms it comes down to,
I want to talk to that Harbor
I want to run that thing
Go!
It literally comes down to that code... have a look at the examples on the
site.
Probably the easiest "RMI" available.
So, to answer your question, the protocol is especially made to be as easy
to set up and run as a web site, and runs on port 80, just like a web site
does, it makes it very easy... you never going to see a user asking how to
get the "RMI" working through their firewall etc.
So to answer your question, Tomcat is essentially a nifty container with
great HTTP communications, thats what this technology needs, why re-invent a
terrific wheel.
The rest is perspective.... if one looks at TC as "nifty container with
great communications", why does an application server do its own thing, and
incorporate TC as an add on.... the reason I think is because they do
exactly that, use "old" RMI, and it sees web technology as an addon.
I decided that there is no better communication protocol than the web based
ones (at binary level), why mess with that, make the application server use
it.
As for SOAP, well any protocol with all that machinery is bound to be slow
and pathetic, it links to non java products, ok thats nice.
Its just philosophy... do you think an servlet container should be a layer
ontop of an application server, or the other way around (this makes more
sense to me).
As for not having a servlet container at all, I wonder how other application
servers are doing their HTML admin consoles...
When I'm working on a site and suddenly realise that an application server
may come in handy, its really nice not even having to consider moving away
from TC, I just keep going...
Hope that answers the question.... Harbor is new, need to give us a little
time to start bench marking etc, but I have a feeling when its delivering
full accounting programs and powerful games to users on the web.... it wont
be seen as the relic container ;)... not even sure a comparison will be
possible.
For example EJB has this whole concept of running local or remote, I thought
about that, but it makes no sense in this container, local just means the
application runs standalone, ie just run the accounting package or game on
the machine.... its very different, and it is difficult to relate older
technology.
I dont think its possible to build Harbor using established specs... need to
have a viscious imagination, and be brave enough to say, that spec sucks ;)
Its working great for us, but only time will tell if my imagination is
actually dangerous ;)
Leon
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]