[<<] Industrie Toulouse

I started off the morning looking at Bill Bumgarner's post, "What do I need in a blogging tool?" Bill's post, being written as his Radio account is due to expire in a couple of days, has a pretty good list of different weblogging tools and their strengths and weaknesses according to what he is looking for (hosting, etc). What caught me in the post was WOWebLog, a WebObjects based content management/production system.

I've always been interested in WebObjects, but have never put the time into giving it a serious examination. Partly, I have no real interest in picking up Java again (I touched on it lightly back in the 1.0.2 / 1.1 days). Mostly, I just don't have time to try something new. But WebObjects has always had my respect, and I've long viewed it as the best ideological competitor to Zope. One of WebObject's primary strengths is its use of the powerful Enterprise Objects Framework, a very powerful persistence layer specializing on object-relational mapping (but also works with flat files or LDAP directories). EOF is the most complete O-R mapper I've ever seen. It takes great pains, like a lot of the old NeXT software, to remove the mapping code from the business code. As you model your database tables and how they map to objects, EOF makes a Model that is used to define the communications between business objects and the database - SQL (or LDAP or Flat File) code does not get generated into the user code, a very different approach than what most people do. This allows you to, in theory, completely change out the Model without having impact on the code - ie, an application can be prototyped against a simple flat file system and moved to Oracle or OpenBase later without requiring a rewrite of the application.

Anyways, this document provides a nice introduction to WebObjects 5, covering more of the Enterprise Objects Framework, the Direct-to-Web Framework, the automatic state management, and other layers that make up this powerful system.