Documentum’s xCelerated Composition Platform (xCP) is the hot new thing at EMC World this year. I attended John McCormick’s xCP Roadmap presentation to learn what’s new in xCP and what’s coming.
So what is xCP does and why ECM feel it’s necessary? xCP is trying to solve two problems:
- It’s hard to upgrade Documentum solutions because there are so many customizations that need to be migrated to the new version
- There is a class of important ECM challenges (managing what EMC calls “cases”) that are not being well served with traditional ECM solutions
What is a Case?
A case is the term EMC is using to describe the collection of information (structured and unstructured) that goes through a business process in order to reach a business decision. It might include multiple documents, some data from an external system, and some data captured from participants in the process. All this data has to come together in order for some important decision to be made.
Case Management is the creation, routing, collaboration on, and monitoring of these case materials. It includes the orchestration of various interactions that are needed to make an optimal business decision. If a case is a file folder full of documents, case management is the set of processes that makes sure the folder goes to the right people and gets filled up with the right documents.
For example, imagine that you are a mortgage company and someone applies for a loan. They fill out a form and give it to a loan administrator. Based on the type of loan being requested and the amount, the load administrator requests a credit report, tax documents and other financial information. Once all of that has been gathered, the loan administrator passes the file over to the loan approver with the ability to approve a loan of that amount. This person looks over all the information, requests some additional documents (maybe a survey or an appraisal) and then approves or denies the loan. There are lots of other steps in the process – you get the picture.
Collecting all these documents and forwarding them to the right people so that the best decisions can be made is what xCP is trying to automate.
Case-related processes have some unique attributes that make them challenging to automate:
- They are non-deterministic – You can’t predict ahead of time the exact process that a case will follow
- They are driven by human decision making – the next step in the process is often decided by the person performing the current step
- They are also driven by content status – cases can’t proceed to the next step in the process until all the necessary information has been provided, and often the next step is determined by some attribute of the content (or metadata about the case itself)
Case management fits in a gray area between ad-hoc collaboration where pre-defined workflows just aren’t effective and transactional document management with strict, linear processes like scanning invoices. When you have a process with lots of variation and lots of pieces of information coming together, you probably have a case management problem.
How Does xCP Help Companies Manage Cases?
EMC’s vision is to make it easy for companies to design and deploy custom case management solutions that are tailored for their specific business processes. With xCP,
the idea is that you can easily define a case (with all its metadata and associated content), design forms that are need to capture structured data, and model the business processes that the case goes through.
Once you have completed these design and modeling activities, xCP will automatically assemble a custom application with work queues, custom forms, work flows, and every thing else needed for your users to create and manage cases. In effect, you are building a custom application without writing any code.
And this is where the other key goal of xCP comes in – making it much easier to upgrade Documentum without breaking your custom application.
Preventing Upgrade Headaches Using a Declarative Model
One of the common complaints about Documentum is that when you customize it to meet your needs, it’s likely that your customizations will not work when the next version of the product comes along. This problem isn’t unique to Documentum – it’s common to all enterprise software applications.
This is a problem I know a lot about. Blue Fish builds custom applications on top of Documentum all the time (it’s our sweet spot), and while we have developed best practices to insulate our customizations from changes in the platform, sometimes it simply can’t be avoided. If you write an application in WDK and a couple of years later, EMC gets rid of WDK, you are pretty much screwed.
EMC’s approach to eliminating customization-related upgrade hassles is to eliminate the customizations themselves. They do this in xCP with what’s called a declarative model. WIth a declarative model, you express what you want the system to do, not how it should go about doing it.
Here’s how it works. Let’s say you need a form to capture the loan application we described earlier. With xCP, you use Forms Builder to drag the various fields onto a form and click various checkboxes to specify which fields are mandatory and such. Forms Builder saves this layout in an internal format that xCP interprets at runtime when it’s time to display the form.
A year or two later, imagine that EMC completely changes the architecture of xCP, migrating it from a WDK application to a rich internet application like CenterStage. You shouldn’t have to redefine your form, because the new version of xCP will be able to read that same form layout file, and even though the form will look completely different in the new version of xCP, it will have all the same fields in the same layout.
By the way, this example isn’t that far-fetched. EMC is in the process of doing this very thing! When xCP 2.0 is released next year, it will be completely re-implemented using a rich internet application toolkit like ExtJS. But John promises that you won’t have to change any of your forms definitions, process definitions, data models, or any of the other xCP components that define your case management solution.
It’s important to note that this approach means you can’t customize xCP. If there isn’t a form control that you need, you’ll be out of luck. If the xCP designers didn’t anticipate your use case, you’re probably out of luck. If you don’t like the look and feel of the UI or the performance of the system, you’re out of luck. And while that might be scary for a crotchety old developer like me, for most of EMC’s customers, it’s a tradeoff they will gladly accept if it means fewer upgrade headaches.