I’ve been working in Maryland for two months–it feels longer–but I drove home today as part of my two days from home every other week. It’s a compromise in the truest sense–it makes me and my client equally unhappy.
My role as architect means limited hands-on, but there’s been time to investigate a few of the features I was eager to check out in D6. Turns out it’s like every other Documentum release of the last ten years, full of promise and compromise.
Oh, Aspects, how you break my heart. When you work, my heart sings. That cross-cutting on-instance functionality is oh-so-tasty. When you don’t, I feel like I ordered you from the back of a comic book, waited six weeks, and discovered you didn’t let me see through walls–or see at all!
<F> has some issues with Composer and their build process, so I looked into doing a manual or old-style-BOF install–not easy or well-documented. In the end, it was too much trouble to hack for a relatively small functional payoff on the project du jour. I hope we get clear, complete documentation and better-integrated packaging in D6.5.
Updated 8-Dec-2008: After some investigation I found that F’s problems with Composer had nothing to do with the product itself and everything to do with the client’s build procedures and comfort level. Apologies to the Composer team for the mistake and for taking so long to correct it.
The quality of the implementation feels like it’s a peek-a-boo on something EMC grew for internal use. There’s a big enough herd of applications in the EMC Software pasture that features may come from needs inside first, then find their way into our greedy little hands after some dressing-up for appearing in public. In this case, think pig in make-up and a dress. Not pretty. Then again … Mmm, bacon inside.
Maybe forced cross-pollenation within EMC’s software factory is an unexpected benefit of their rapacious business practices; it’s an eat-your-own dog food that goes a step further than Howard’s edict to use Smartspace internally back in 2000. It also could be a side-effect of an internal policy that’s moving Documentum further into the background as either a turn-key application or an OEM-only product.
DFS has similar deficiencies like minimal support for workflows and no lifecycles at all. The D6.5 propaganda claims we’ll see almost four times as many services, although I have to wonder what things will look like given some strangeness in how they partitioned things in this release. I sort-of see and sort-of don’t why versioning is a separate service from objects.
It all feels so, well, procedural. That was a dirty word five years ago, back when the scripter in me refused to drink the Gang-of-Four Kool Aid–or would that be eating the yellow snow? I’d grown tolerant of the DFC since then because it resembles the underlying model, and now this?
There are some good points beyond the SOA hype, like being able to create a set of objects and relationships in a single call. Can we hijack this as a de facto way to serialize Documentum objects or transform legacy dumps into read-to-import xml? Anyway, the topic should motivate me to post about the DFC and DFS as promised in DMCL: Language-Neutral API.
Now it’s time to enjoy sleeping in my own bed before waking up and wrestling with a work laptop that is as unhappy to be away from its docking station as I am to be away from my city.