Forum OpenACS Development: OACS application framework draft paper

We just finished a draft paper that describes OACS as an application framework.
From the abstract:
In this paper we examine the architecture of OpenACS and evaluate its success and feature-set as a web application framework. We firstly provide a brief historical overview of the development of OpenACS. We then describe application frameworks and enterprise frameworks and cite key criteria for evaluating the success of enterprise frameworks. We describe the key features of the OpenACS architecture, with specific focus on request processing, the template system, the data model and the workflow package. Finally we assess the current implementation of OpenACS against the established criteria for evaluating enterprise frameworks and identify strengths of OpenACS as a web application framework and also opportunities for further development.
I would very much appreciate your feedback!
Posted by carl garland on
I commend your work and a little feedback but I may bee and am often wrong.
  • I'm not sure if AOL was actually a customer of Arsdigita at any time and World Bank was a later day client not an early adopter.
  • "OACS is independent of the RDBMS" should probably be reworded to something like "OACS is not dependent on a particular RDBMS"
  • "The OpenACS 4x became the Arsdigita codebase for its ACS TCL" I'm pretty sure its the other way around that the current OACS was initially based on the ACS 4.x TCL version which was a reworking of some core kernel implementation.
These items are all from the introduction.
Posted by carl garland on
In your Platform Independence section you point out that Apache
compliance is not receiving a significant level of attention by the
OACS community and proceed to state that it desperatly needs this
attention. While that pov may be held by some in the community it
probably is not the place to request/discuss virtues/tradeoffs considering
that it may sway adopters that are using paper to consider the
framework. You also don't address the reasons for this dependence or
the fact that AOL proper has demonstrated the scalability, performance
of the AOLserver engine by migrated recently purchased properties
(Mapquest, Moviephone, etc) to AOLserver. AOL has demonstrated
their support for the product and their is a vibrant opensource community
enhancing, adding to AOLserver. While giving up AOLserver may
attract outsider attention, support IMO it costs the community more
than it gains.  Although I don't discourage anyone from attempting
to create a new/better mod_nsd that will allow integration I think
its important to realize/point out AOLserver is the high performance
engine in the car that is OACS and while some may desire to rip
out the engine and replace it with a steam engine because most of
the mechanic shops are steam based, there will always be those that
want to use the most highly engineered and not be willing to give
that up.
Posted by Jun Yamog on
Hi Rafael,

Great work.... here come the critic... please dont get mad.

I have just scanned over the document.  On impression that I got is that is a little too biased on OpenACS.  Like "other platform suffer that too".  We may leave out the details on the RP, acs_objects, etc.  Maybe break down the document into 2.  Like 1 an overview and another that goes more into the technical details.  So the document can be more focused on its topic.

Please take the above positively.  We are all volunteers and we hope to give the best for the community.


Posted by Matthew Burke on

Nice paper.  I think the finished version will be a useful bit of literature to help explain OACS.

A few points:

1. You don't really explain what an enterprise framework is and how it differs from an application framework

2. You should define web application framework in section 2 rather than later on in the document.  In fact, you define web application framework two different ways, once in section 3.1 and again in section 4.

3. On a related note: "Exhibiting more than web-readiness, OpenACS is a web-centric application framework designed specifically for interaction with users via the web environment."  Sounds like marketing gobbledy-gook to me.  I would think that every web-centric application framework had been designed specifically for interacting with users via the web.  What is the difference between a "web-centric application framework" and a "web application framework" (which you use in the next sentence).  Also, and it may make more sense to someone who reads your reference 3, I'm not so sure about this "web-readiness" criterion.  It would seem to me that any web application framework would by definition be web-ready.

4. Slightly new topic: the distinction between an application framework that is "general in focus" and one that is developed to solve the "specific challenges of a particular application domain" seems a little suspect to me.  What exactly is a framework that is "general in focus"? A library, perhaps?  How does an application framework that "solve[s] specific challenges of a particular application domain" differ from an application?  My point, basically, is that you seem to be implying that if something is geared towards a particular domain, it is not general.

5. The majority of your concluding section is concerned with one paragraph in the body of your 13 page paper.  There is certainly a fine line concerning how much information to put in a conclusion, especially for a short paper.  My feeling, however, is that you need to assume that a reader who has been given your paper is going to look at the intro and the conclusion.  Therefore you need to briefly repeat the definition of a (web) application framework, list the key criteria, and indicate how OACS satisfies all/some of them.

6. Another point about the conclusion: I wouldn't call Tomcat a platform.  Rather, it's an implementation of a platform.  At least in theory, an application that runs on Tomcat should run on any of several other implementations such as Resin, etc.

Finally, as this is just a draft, it's not worth going into, but there are a number of grammatical, etc. problems that should be cleared up before releasing the document.  I would be more than happy to edit the penultimate version when you get there.


Posted by Jade Rubick on
Rafael, after you finish up this document, would you mind making it available? Perhaps we can put it on the website or in the documentation.
Posted by Rafael Calvo on
Thanks for your comments.

I did some more proofreading and corrected some of the gramar, the missing definitions,... please check the same links as above for the lates version.

Carl: The first two have been corrected. The 3rd reworded, OACS became ACS Tcl codebase when aD stopped maintaining it. Of course OACS comes from ACS and not the otherway around. The 4th comment (about AOLserver caused a bit of a flame so I rewrote it). In fact it was a mistake to have it in "portability" AOLserver is portable and has been ported to many platforms.

Jun: You are right. In fact this an academic paper so I am trying to be objective 😊

Mathew: 1+2+3) I have clarified some of the definitions (uhps I need to add the one for "Enterprise..") I left them aside b'cause they are in the references but I agree that the should be here. The one on Web app. framework was later in the text.

Your feedback has been useful and if you are able to do it again, it will be welcome.

Jade: The paper is already available on the OACS site.

thanks again

Posted by Don Baccus on
The paper's already available on the OACS site, my question is whether or not you'd mind if we paraphrased part of the "background/history" stuff in our documentation, which currently has a blank page in that slot.  With due credit and all that, of course.
Posted by Rafael Calvo on

Please go ahead. Hopefully the document as whole will also be useful to the community.

Posted by Don Baccus on
Oh, I'm sure it will!
Posted by Jonathan Marsden on
I feel left out... I seem to be unable to read this file!

I get a "You can't read this file" error page when I try to access it.  I remember new file storage having permissions issues months back, but I thought they were taken care of.  Is anyone else experiencing this?  Any ideas on how to work around it?

Posted by Don Baccus on
Try it now, Jonathan ...