the Design Experience Weblog Archive

There has been a bunch of conversation regarding OpenACS (more on the OpenACS forums) and the differences between Ruby on Rails and OpenACS. It is very interesting and brings up some very good points on both sides.

Lars worked on OpenACS and came from the original Arsdigita Community System. Few people have more experience with OpenACS than Lars, so he has built more than a few web applications with OpenACS and its predecessor.

If the applications you are building are not very similar at a domain level, then reuse is very hard. That is, OpenACS is not a generic web platform that will work for every web application. Here is where some people diagree with Lars, that because many web applications are not appropriate for OpenACS, perhaps reuse of OpenACS components is not a good fit for web applications.

There is another side to this.Reuse can occur on a more domain specific level. If you are developing sites that are very similar, reuse makes more sense. The unit of reuse is really all that is different. That is, Rails is obviously a reusable framework, so it has common components that are needed for web applications. It sets the domain very narrowly and is successful, everyone would agree. If we just look at the OpenACS core, which is still huge, compared to Rails, it still has a limited set of features, and no applications per se, in the core. It also has a set of reusable components for web applications. It just sets a different domain, a different kind of web application that requires closer control of data, and more specific requirements on auditing and control of interaction with the application.

This is the idea that struck me the most. In a comment from Mark Aufflick:

Just to return us to the topic to finish off, letメs see what Glass has to say about whether reuse-in-the-large is at all feasable:
Mark posts a quote from Richard Glass
OK, so reuse-in-the-large is a difficult, if not intractable, problem. Is there any way in which we can increase the odds of making it work?

The answer is "yes." It may be nearly impossible to find components of consequence that can be reused across application domains, but within a domain, the picture improves dramatically

...

Software people speak of "families" of applications and "product lines" and "family-specific architectures." Those are the people who are realistic enough to believe that reuse-in-the-large, if it is ever to succeed, must be done in a collection of programs that attacks the same kinds of problems.

So if you are building a application for a certain domain, reusing it is possible, and even makes sense. This is where we think of OpenACS and systems built on it less as a framework, and more as a domain-specific language. Rails simiarly is definitely a domain-specific langauge. OpenACS and Rails just are targeting different domains.

I agree there are places in OpenACS where reuse is not the best plan, but for the projects I have worked on the core of OpenACS has helped me build an application that works well for the clients needs. And that is what it is all about, getting people the software they need.

09:06 AM, 17 Nov 2005 by dave bauer Permalink | Comments (0)
categories: OpenACS , Open Source Content Management

XML

Notifications

You may
request notification for the Design Experience Weblog.

Syndication Feed

XML