The Documentum Web Development Kit (WDK) is a rich component library developers can use to build Documentum-centric web applications. All of Documentum’s web clients–Documentum Administrator, Documentum Webtop, Documentum Web Publisher, Documentum Digital Asset Manager, etc.–are all built on the WDK.
The WDK is similar to JavaServer Faces(JSF) but it is not JSF. Although EMC Documentum was a contributor to the JSR-127 JavaServer Faces specification which went to “Final Release” on March 11, 2004, the WDK continues to be a proprietary framework.
Why do I care? In my personal opinion, there are two main reasons why Documentum should open up the WDK. First, although the WDK makes it easy to make simple changes (often requiring nothing more than editing an XML file), more complex extensions are often hampered because, ironically, some pieces of the library just weren’t built to be extended. If you are an engineer at EMC, this isn’t a hurdle for you–you have the source code. But for third-party developers, determining exactly what’s going on behind-the-scenes can be a time-consuming and frustrating task.
Second, experienced WDK developers are hard to find. This resource scarcity results in increased development and maintenance costs. (A related problem is that companies invest time and money in developing WDK talent and end up with resources that are not perfectly transferrable across other, non-WDK projects).
My first choice to solve this problem would be to migrate the WDK to JavaServer Faces. EMC Documentum would then supply any Documentum-specific JSF components that are needed, along with the source. This would address both of my issues. Everyone would have access to all of the source. And it opens up the resource pool to the larger population of developers familiar with open, standards-based component frameworks.
Here’s an idea. If Documentum doesn’t do it, maybe the open source community could be rallied to do so. I know companies are already building Documentum web applications using JSF–why not build those apps on some open building blocks the entire community can leverage?
In the short-term, I would settle for some tweaks to the existing WDK and the distribution of the source code for every single WDK class. Progress has been made in this area with the release of 5.3 sp1. Some of the previously private and protected methods have been made public. I haven’t compared the 5.3 release to 5.2.5 to see if any additional source code has been provided.
At the Documentum Developer Conference this past Fall I spoke to Howard Shao, Documentum’s CTO, about opening the source. He responded positively, saying that he wished it had been done already. So, I’m hopeful. But, I’m also realistic. I realize a tremendous investment has been made in the WDK and I know it would take a lot of work on behalf of EMC and their customers to move to an open framework. Compounding the problem is that the business users may not see the bigger picture benefits of an open framework. As EMC and its customers continue to invest in the WDK, the cost of switching only goes up. Why not move now?