Most people who follow what EMC has been doing with Documentum know that the product currently supports 2 separate application layers: D2 and xCP. They come from different backgrounds, with D2 being more aimed at document centric applications and xCP aimed at case management applications. As they evolve, they are starting to overlap more and more. With the next release, D2 will add more workflow capability and extensibility and xCP will add more document management functionality. If this continues, how will future customers be able to choose between the 2 products?
The answer is, you won’t have to since they are gradually merging.

Even last year, when xCP2 first came out, there were already whispers that over time xCP and D2 will merge and become 1 product. This merge will take a few years, since the two products are built on different technology layers. D2 uses Google Web Toolkit (GXT), xCP uses ExtJS. D2 uses SOAP services, xCP uses REST services. These are major technology differences that make merging these products a long an difficult process.

xD

Let’s look into the future for a bit. I wonder what a product that merges D2 with xCP would be like.
Let’s call this new future product xD (excelerated Documentum). What will this product be? What will convince customers to upgrade to xD?

I think that EMC will create xD with the stongest parts from D2 and xCP:

  • It will have a run time configuration layer taken from D2.
  • It will also have the strong build time configuration taken from xCP.

Creating a merged runtime

To make that combination work, a new runtime will be needed that supports both the D2 and the xCP functionality.
This is where the major technology choices will need to be made. Will it use the Google Web Toolkit, or ExtJS? Will Soap or REST services be used? Time will tell, but currently my money is on ExtJS with REST.
If my guess is right, that would mean that some of the great D2 functions will need to be ported to the ExtJS/REST runtime:

  • auto naming, auto linking
  • lifecycle functionality with state based authorization
  • C2 annotation/mark-up and O2 Office integration

Configuring Applications

Once all of the functionality is available in one runtime engine, the configuration tools can be added on top.
There will be build time configuration with xCP Designer and run time configuration with the D2 configuration matrix. So what things will be configured using each tool?
A paradigm that would work for me, would be that the build time configuration tool could be used to create a sort of template app. A set of types, rules and processes that define an application.
The run time tool can then be used to fill in the run time details to create 1, or more xD applications using the template app.

What things would be configurable at run time?

  • Users, roles, authorization for objects and functions
  • Picklists
  • Document content templates
  • User interface pages and workspaces with widgets that have been configured build-time
  • UI widgets that integrate external data
  • Search experience
  • Viewer and Office integrations
  • Reports

What to configure build time?

  • Object types, relations and aspects
  • Lifecycles and processes
  • UI widgets and page fragments
  • Business events
  • Full-text indexing
  • Content transformation
  • Back-end external system integrations

An application platform that could do all that would be very flexible and I would love to use it to build awesome applications for my customers.

EMC can you make xD happen please?