W3C home > Mailing lists > Public > www-talk@w3.org > January to February 1996

Speaking of servers with API's...

From: Doug McKee <doug@navisoft.com>
Date: Fri, 26 Jan 1996 21:44:34 -0800 (PST)
Message-Id: <199601270544.VAA24211@navisoft.com>
To: www-talk@w3.org
Cc: jimbo@navisoft.com

Luke Gonze writes:
> If performance is an issue, binding C code directly into the server is a
> major win over cgi.  Spyglass has a toolkit to do this for $75000.  Netscape
> has a set of api's that come with any server.  Cern, of course, comes with
> source code, although it's _highly_ inscrutable.  I dont know about the use
> of visual basic, though.  If you can make a dll with it, it should be doable. 
Tony Sanders writes:
> The Apache server has an API, and you can have it for $0.  And it's
> one heck of a server with an open development group to boot.

If you're interested in web servers with API's, you may want to check
out NaviSoft's NaviServer.  I am admittedly a little biased (being one
of the developers), but you sure can do a lot more with it than any
other server API's I've seen.  Among other things, you can write:

	* Custom request functions to handle HTTP request to a
	  single METHOD/URL combination, or a whole hierarchy.

	* Custom URL-to-file translation routines to convert an HTTP
	  URL to a file in the local filesystem. This can be used to
	  map URLs to one or more filesystem directories as required 
          for maintenance or load balancing. 

	* Your own communications driver so NaviServer can implement
	  HTTP over a new underlying protocol, e.g., IPX or DECNet. We
	  use this interface ourselves to implement sockets and SSL.

	* Trace functions which run after every HTTP request. A
	  trace can be used to implement logging - in fact, this is
	  how the our Common Log Format logging module works. 

	* Schedule procedures which runs at regular intervals. A
	  scheduled procedure can be used in conjunction with a trace
	  function to implement a statistics gathering system.


Since the NaviServer is multithreaded, your functions can share memory
easily.  And you a platform-independant thread interface (Windows NT,
Solaris, Digital Unix, SGI Irix 5.3, HP-UX, Linux) to help you stay
out of trouble. The NaviServer embeds a Tcl interpreter, and you can
use our C API to add commands to it.

The NaviServer C API also includes several database access functions
that work with the ODBC data sources on Windows NT and the Illustra
database management system on Unix and NT.  And you can write your own
database driver interface -- we give out the source code to a
Postgres-95 database driver.

There's more information (including examples and online documentation)
on our web site (http://naviserver.navisoft.com/).  Feel free to join
our beta program and try out the software!

doug

-- 
----------------------------------------------------------------
Doug McKee                         NaviSoft, Inc.
Email: doug@navisoft.com           511 Bath Street 
Voice: (800) 529-9166              Santa Barbara, CA 
       (805) 882-2350              93101
Fax:   (805) 899-4316              http://info.navisoft.com
----------------------------------------------------------------
Received on Saturday, 27 January 1996 00:44:37 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 27 October 2010 18:14:19 GMT