You are on page 1of 4

ATG Dynamo + Interwoven vs.

ACS

I have a client who has purchased (but not yet deployed) ATG Dynamo and Interwoven
Teamsite. They are interested in building an (internal) community site, portal, and
knowledge sharing system. There is some political muscle behind the current tool choice
and, since they've already spent the money, I think they'll be difficult to dislodge.

A few questions:

1. How good is ATG...really? 2. What are the shortcomings of the ATG/Interwoven


combination? 3. How hard would it be to integrate ATG with the ACS? What sorts of
general issues might there be? (Assume we could run both off of an Oracle database.) 4.
Will it be easier to integrate the two once ACS Java is a real product? Or does it matter?

-- Michael Feldstein, January 26, 2001

Answers

1. How good is ATG...really?


I'm using it in my current job, but I don't like it that much. The good things about it you
can read in their marketing literature. I'll tell you about my biggest gripes are (regarding
Dynamo version 4.5):

• the separation of functionalities and presentation that you should


achieve using both Java classes and JHTML pages isn't possible on
significant projects: you will invariably end up mixing Java code into
JHTML pages using the <java></java> tags
• the development cycle is incredibly slow: you have to restart the
Dynamo server
o each time you add one Java class or fix a bug in one of the
existing classes
o each time you add/modify a properties file
o each time you add/modify a relational view definition

you can imagine how difficult is to develop any project of significant size when
you have more than 5 developers NOT working in the same room and
coordinating the restarts between them

• expect to dedicate at least 128MB of real RAM to each instance of


the Dynamo server (for development purposes only)
• given massive amounts of RAM, Dynamo is pretty good at caching
the results of database SELECTs... but it's so good at it that unless
explicitly told otherwise it caches even Oracle sequence values!!
• the SQL queries aren't particularly optimized for Oracle, given that
they support many different DB architectures (such as Informix, SQL
Server and Solid)
• the documentation is scarce in some aspects and just plain wrong
in others (especially the Dynamo Commerce Server documentation)

2. What are the shortcomings of the ATG/Interwoven combination?


We have a guy who worked for the past 2 months in integrating ATG and Interwoven.
He's on sick leave today, so I couldn't ask him for precise details: however, he explicitly
told me that Interwoven is a product that fails to keep many of its promises, and that he
considers the ATG/Interwoven integration still an unsolved problem.
-- Sebastiano Pilla, January 26, 2001
It's amazing to me how much leverage folks can get out of a technically uncomplex
product. Interwoven appears to be a file storage module that stores metadata in the
RDBMS but actual file content in the operating system's native filesystem. This is exactly
what Ben Adida and I have discussed in regard to the content repository module for
OpenACS 4.1, i.e. store non-text content in the filesystem rather than BLOBS in the
database. This is how the old bboard module stored photos, at least when first deployed
on photo.net (I haven't looked at recent versions).

ATG calls this the "next-generation" approach. That fits in with Ben's creation of a "new-
file-storage" module for OpenACS 3x that also stores content in the native filesystem - it
is newer than "file-storage" so it is at LEAST next-generation, no? :)

Ha! And y'all think I know nothing about marketingspeak!

Interwoven seems to be combined with a content management system. As to how that


compares to the 4.1 CMS I'll defer to others.

Dynamo seems to be all about e-commerce. It's not clear to me how this fits in with your
client's plans or needs since e-commerce isn't listed as one of the things they're interested
in doing ...
-- Don Baccus, January 26, 2001

I haven't gotten the full scoop on why they chose ATG yet. I think they are planning on
using the general application server functionality and possibly the personalization server,
which could be very useful for creating individualized job/knowledge portals.
-- Michael Feldstein, January 26, 2001
"AdidaWoven"... sorry, couldn't help myself.
-- Adam Farkas, January 26, 2001
One of the things Dynamo claims to do is to make it possible for non-techies to define
personalization rules that can be driven by existing corporate databases.

They speak of three ways to build personalization into the site:


• business rules defined by a simple graphical UI
• custom markup language
• third-party plug-ins (or homebrews, I suppose)

It's clear that personalization is a big part of their story. As to how effective and useful it
is in practice, well, maybe Sebastiano has an opinion. I'd guess there's more to building a
site in practice using their stuff than their cheery marketing blurbs imply.
-- Don Baccus, January 26, 2001

Hi. I use ATG/Interwoven, and I used to use the ACS. Here are my comments:

2. What are the shortcomings of the ATG/Interwoven combination?

Interwoven Teamsite is actually a couple different products. It is a templating system,


and a version control system. I have not used the templating system, so I don't have any
comments. The version control system is ok, but isn't really any better than using CVS. It
has a nice java applet interface which makes it easy for html editors to update static pages
and integrate them into the site, without having to know anything about logging into a
shell and issuing CVS commands. There is also a nice feature called "openDeploy" which
makes it easy to upgrade an entire web server farm with one command.

The downside with TeamSite's version control system is that it is hard to figure out what
is going on behind the scenes. When a problem occurs, it takes a while to figure out what
is really wrong. For this reason, I'm migrating off of TeamSite's version control and
moving to CVS. There is a nice CVS java applet which replicates all the functionality of
TeamSites applet, but using CVS, a product I already understand. In summary, I don't
recommend using TeamSite's version control system, and recommend using CVS instead.

sidenote: If more than 20 developers are working on the same system, you might want to
take a long look at using Bitkeeper as your source control system instead of CVS or
TeamSite. BitKeeper was designed to overcome some of the problems CVS has in
dealing with large development teams. I can't really recommend TeamSite OR CVS if
you are coordinating a large development effort. Both tend to collapse with a team of
more than 20 people.

ATG's Dynamo is a java based web application "framework." It is essentially a bunch of


java classes which make building a web application "easy." If you are familiar with ACS,
think of it as the ACS plus the AOLserver API, minus all the ACS modules. The API isn't
quite as nice as AOLserver's; AOLserver makes it quite straightforward to do things like
"grab a webpage from a foreign server." You can do that with Dynamo, also, but will be
writing more code than just "ns_httpget http://www.foobar.com/index.html." Database
access is done with JDBC, which is a nightmare to work with, especially if you are used
to AOLserver's nice database API (PHP's interface is even much better than JDBC). That
brings up the huge shortcoming (or benefit, depending on your perspective) of using
Dynamo, the fact that it is java-based. Dynamo (and any other java framework) I've seen
do not scale very well. If you have a moderately high amount of traffic, prepare to have a
server farm round robining between 8-21 dynamo instances. Prepare to write a bunch of
caching code.

3. How hard would it be to integrate ATG with the ACS? Integrating anything is a pain.
If you are building an application from scratch, it might be possible to use some of the
ACS data model with Dynamo...if you are using Oracle. Using any of the ACS api will
probably be impossible, since it is all in TCL.

You might also like