ACS is dead since about 2001. The latest incarnation of ACS is OpenACS, available at http://openacs.org
A free and open-source framework for building web services. In prior lives, it was written using Tcl and AOLserver. Now, it's in Java. http://developer.arsdigita.com
It does all sorts of things for you: it has a persistence layer for database independence and to isolate code from changes in schemas; user and session management; a bunch of services such as workflow and search that can be used by applications that use the ACS.
There's also a content management system.
Isn't this just another word for ApplicationServer
The reason I ask is because PhilipGreenspun
traditionally had a big aversion to the concept of application server at all (notably slamming Kiva).
It depends on your definition of application server. Some people view application servers as the environment that runs in the middle of your n-tier architecture e.g., servlet/EJB containers such as WebLogic
, Oracle iAS. ACS is a system that runs on top of this layer (in the same way that AtgDynamo
, Turbine, WebLogic
commerce server, or Oracle portals runs on top of the servlet/EJB containers).
(Note: switched AtgDynamo
to second category above -- WillSargent
So you would classify ACS as an application rather than an ApplicationServer
. This makes sense to me, except that I was under the impression ACS came with its own infrastructure (connection pooling, etc).
I would better name it a application framework. Application servers are hybrids of application framework and application platform. --ManfredSchaefer
ACS does provide a lot of infrastructure, but in a database-independent and application-server-independent way. For instance, it includes a persistence layer that handles mapping objects to relational databases. IIRC, the ACS connection pooling mechanism is a thin wrapper around JDBC so that it integrates with Log4J (Apache project open-source logging system). --RichardLi
It has a pretty cool memoization function that lets you wrap any function call in a memoize function, specifying how long you want to cache the value for. Using it is really quite painless, almost making up for the fact that it's in Tcl.
The ACS "Intranet" module (the part of ACS used by ArsDigita
itself to manage its projects) has been reincarnated and is not part of Project/Open at http://www-project-open.org/