Hi,

We should put a page on aolserver.com with some details.  We've moved
the version to 4.5 from 4.1 to reflect the scope of changes.
Scanning the ChangeLog and from what I can recall:

* New connection management features including the ns_limits and
ns_pools commands:

-- ns_limits: control # of threads executing and/or waiting for
execution by method/URL
-- ns_pools: map method/URL's to specific thread pools

The idea is to use the two together, e.g., map slow-running db
requests to specific pools and set limits to avoid overload. The
result would be to trap cases where impatient folks press reload when
things are slow, generating quick "try later" responses instead of
gumming up the server.


* I/O features including:

-- A new "Ns_QueueWait" API to enable event-driven callbacks in the
driver thread before dispatching to pools for processing.  The model
is to augment data received from the client (headers, request,
content) with additional data fetched over the network (likely stored
in the new Ns_Cls "connection local storage" API's) before
dispatching to the connection threads. An example would be to add
certain personalization data received via a web service. The
rationale here is that I/O events are cheap so do those upfront
instead of having expensive connection threads burdened with wasteful
blocking I/O.  This is a somewhat obscure and technical interface.

-- Ability to manage larger file uploads by spooling to a temp file.
This keeps many of the useful functions folks utilize from working
for these large files, in particular auto-parsing of input available
via ns_conn form, but is available for custom apps willing to deal
with the complexity.


* ADP improvements including:

-- A new execution caching technique at the ns_adp_include level
which allows you to save the results of execution of an included ADP
(and includes below that) for reuse on subsequent connections up to a
specified time.  Embedded ns_adp_include's with the -nocache flag at
lower levels allow you to still execute dynamic code within cached
blocks if necessary.  The goal is to improve performance of pages
which are nearly dynamic, i.e., pages where underlying data really
isn't personalized but instead may change every few minutes or so.
We prototyped this technique at AOL for an app which had these
characteristics and drove transaction throughput from less than 50/
second to well over 400 while still maintaining certain personalized
features of the page.

-- New "singlescript" config option which turns ADP pages into a
single script enabling syntax such as "<% foreach e $list { %>
element < %=$e%> here <% } %>" and treating an error anywhere on the
pages as an error for the full page.  Evidently this is more similar
to other execution environments such as JSP.  It's a matter of
opinion whether this is a better or worse approach to ADP execution -
the default is off.


* Output buffer improvements via new Ns_ConnFlush:

-- Automatic UTF-8 to output charset encoding

-- Gzip compression

-- Streaming output in chunked-encoding format instead of the
previous "response with no length" HTTP/1.0 method.

Much of the code for Ns_ConnFlush was previously private to ADP.  ADP
has been modified to use Ns_ConnFlush and will also automatically
switch into streaming mode when output buffer limits are exceeded
(the previous behavior is to simply keep buffering without limit).
Ns_ConnFlush could be useful to simplify and standardize output from
other execution environments as well, e.g., PHP and Java servlets.


* Tcl improvements including:

-- Cleaned up and well commented core code so folks can understand
the arcane config/resource management approach of Tcl within AOLserver.

-- A new Ns_TclRegisterTrace API to enable callbacks at key state
transition points in a much more natural way.  The ns_ictl command
has been updated to support script-level traces.


* A new Ns_Task API designed to replace the old Ns_SockCallback API
which didn't do a very good job at managing timeouts along with I/O
events.  The ns_http command has been modified to use Ns_Task (the
old Ns_SockCallback-based ns_http is also still available via
configuration for the paranoid).


* Numerous bug fixes.


Unfortunately, no comprehensive list is maintained of these changes
and the documentation is not yet up to date.  Actually, the
documentation hasn't been up to date since version 2.3 which is a
great disappointment for me.  However, the ChangeLog has been
maintained quite well so it's possible to get an overview of the
various bug fixes and other minor updates from there.

Dossy and Zoran may recall other new features as they've been active
on the release as well.  Overall, I believe we're done with 4.5 and
should tag it, complete the documentation, produce some quality
release notes, and move on to 5.0.


-Jim





On Jun 25, 2005, at 8:37 AM, Ramesh Venkitaswaran wrote:

If I understand correctly, AOLServer 4.1 is currently under
development. What features, fixes will be delivered for that release?
And, when is the proposed delivery date? Is there a location which
contains the above information?

Thank you
--
Ramesh


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Reply via email to