The term Web Server causes much confusion in my experience.
In article <[log in to unmask]>, Gary Sielaff
<[log in to unmask]> writes
>what is a web server? I was thinking the answer to my
>linux/mswin2k server problem might be to webify my new
>A400 7.0. ???????
>gary
>
>* To join/leave the list, search archives, change list settings, *
>* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
>
As Mark Bixby has detailed quite succinctly in this thread, a web server
(do not confuse with a web application server) interacts with a client
browser (Netscape, Internet Explorer, and many others), using the HTTP
protocol, basically to serve up HTML pages to the client.
Additional functions can include script processing to handle such as
form data typically via a CGI script which usually runs as a single
process outside the web server.
Apache is the most commonly used (over 50% of all web sites) web server
which can be downloaded from www.apache.org for most common platforms.
Several companies including (IBM Websphere, Lutris Enhydra,
Bluestone/HP, Orion) use the Apache web server in their own products.
A good place to run a web server is actually on a Linux box, which,
because of the efficient design of Linux, can also be used concurrently
as a firewall and comms server/NAT router. TCP/IP and DNS makes this
very straight-forward.
Moving on a stage, dynamic web pages (ie. those created and served in
response to client requests, probably with some form of back-end
database access) will initially be handled by the web server which, in
turn, will pass the request either to a CGI script or to a Java servlet
engine. Enterprise-scalable dynamic web page serving is far too
intensive for CGI scripting since each request spawns a separate
process.
A Java servlet engine, on the other hand, is multi-threaded so all
requests can be handled in the same process. Additionally, servlets
(Java Beans) can be pre-initialised and pooled making the process even
more efficient.
The most commonly used Servlet engine is Tomcat, which again many
organisations (IBM, Lutris, Bluestone/HP, Orion) use in their
webification products. Tomcat, like Apache, is open source and can be
downloaded from
http://jakarta.apache.org/tomcat/index.html
Since Apache develops and supports both products, good integration can
be expected. Once again, a good place to run Tomcat is on a Linux box
although NT or Win2K for an Intranet is also quite practical but will
require more processor memory.
Database access can be provided via JDBC, which, being a Java standard,
is supported on multi-platforms via the J2RE, although, for TurboImage
access, <plug> ADBC from Advanced Network Systems (a set of platform-
independant Java classes) provides direct Image and MPE access without
the JDBC overhead but with the benefits data set and record
locking.</plug>.
The final (currently) stage in webification is the Web Application
Server - WAS (IBM Websphere, Web/iX, Orion) which essentially is a
product that implements the Java Enterprise Edition protocols and
standards (J2EE) as defined by Sun and W3C. (See their web sites).
A J2EE WAS will have an Enterprise Java Beans (EJB) capability whereby
functions such as session management, initialisation, pooling,
persistence, security, and most of those difficult-to-program issues are
handled by the EJB container within the WAS. In essence this is the
epitome of platform-independent, network-based, object-oriented,
reusable software component architecture and, in my opinion, the future
direction of professional software and systems engineering.
Finally, a note of caution. If you are selecting a Java-based server,
make sure that it implements the various Java, Servlet, and EJB
standards and does not instead offer proprietary services that would
lock you in to that particular suppliers implementation.
Also be aware that this is an evolving area - for example XML Schemas
are now preferred to DTD's.
--
Chris Thompson
Technical Director
The Internet Agency
www.the-internet-agency.com
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|