[Zope] What's app server on earth and what do we need on earth ? Re: [Zope] Zope vs J2EE Zope vs J2EE

Wei Tao taow@bd748.pku.edu.cn
Fri, 07 Jan 2000 16:35:07 +0800


Chris McDonough wrote:
> 
> 3.  For a good Java/NAS slam, go read Philip Greenspun's
> gracefully-titled "Why the Netscape Application Server Sucks" at
> http://www.photo.net/wtr/application-servers.html
>

### What's app server on earth? ###

Quoted from Locomotive's site:
"""
What exactly is an application server anyway?

All of a sudden it seems everyone's got one to sell or to share,
promising magical scalability, but since it's been so hyped, a
solid definition is hard to find. Essentially, an application
server is a general purpose software server for writing, testing
and executing services. Rather than the old 3-tier architecture
composed of clients, a server, and a database back-end, an
application server allows an n-tier architecture where the server
connects to a database in addition to serving many applications
or services to it's clients. A web application server typically
communicates with one or more relational databases and a web
server to provide a user interface for the client end.  

Java Report printed a great article called "Application servers:
distributed development and deployment made easy," which does a
good job laying out requirements for a legitimate application
server. According to the article, features an application server 
should provide include  

1. State management for HTTP transactions 
2. Pooling of connections to databases 
3. Scaling to handle thousands of simultaneous users by use of multithreading
4. Load balancing across multiple machines 
5. High availability 
6. Management of transactions across multiple distributed systems 
7. Secure communications  
"""

Zope achieves 1(with fs/sql session); 2(native); 3, 4, 5(with linux virtual
server project, possibly with help of ZEO); 6(mostly with RDBMS);
7(with apache-ssl)

And Zope provides more than that:
a. an excellent "visible" OO structure
b. Acquisition, much better than those primitive "include" and "useBean",
   though sometime you will go astray in the namespace :>
c. generic user management with a lot of authenticating methods ( thanks for those 
   *userfolder products)
d. a good security model


### What do we(or just I?) need on earth ? ###

A rapid dynamic web site developing/deploying enviroment!

The developing speed is the first one to consider. Zope's strength is its
OO structure while weakness is that there is no good IDE like JBuilder, especially 
there is no a good debugger for python or DTML yet. I don't know whether Zope-Mozilla 
will include this?

The real runtime speed is not so important, my standard currently is about 
30 dynamic-page requests per sec (coming from the most popular one of my copr's sites,
and I haven't test Zope yet. I will test it after 3 weeks after I finish those exams). 
But there must be some ways to improve the performance when load is higher, 
and failure tolerance is rather important. I think I can use linux virtual server or 
eddie to reach these.


regards,

lenx