EMC World 2010: Documentum Architecture Overview

Victor Spivak gave his annual overview of the architecture, and I missed it.  I was chatting with people, got to the room late, and realized that there was no room.

Never fear! Chris Campbell took notes and is going to guest post a few session notes here at the Word.  Happy to have him.  If you see him, thank him.  Same disclaimer will apply.


  • · DFS
  • · Service Composition
  • · Content Management Interoperability services
  • · CenterStage

DFS & CMIS layer on top of -> DFS –which layers on top of -> Content Server

DFC should be considered more as a low-level API

Exposing Documentum functionality as services

· 30 core services

· Examples:

o SchemaService

o ObjectService

o VersionControlService

o QueryService

o SearchService

o WorkflowService


Exposes APIs as Web Services

Content Services delivered first

Deconstruct functionality and re-aggregate APIs at higher level

Standards based

Greatly shortens time to develop

DFS is ideal for

  • · System to system integration
  • · Strongly typed languages
  • · Applications that need an explicit contract
  • · WSDL, policies, security
  • · Example Applications: Business Process Management

Service composition

Process Builder is powerful configuration tool enabling rapid, agile deployment of composite services and applications

Large number of built-in services

Publish composite services WSDL and RESTful web services

Configure, not code, composite services and orchestrated business processes

What is CMIS?

A web-based protocol layer interface for content repository

OASIS Standard 1.0 in March 2010.

What it is NOT

Expose all capabilities of an EM repository or application

  • · Integrated ECM suites may still use propriety interfaces for “better together” functionality where appropriate.

Standardize designer/admin-type operations, e.g.

  • · Defining object types
  • · Controlling security


Service oriented

MIS specified XML schema

Capable for system to system access

Use MTOM to transfer binary content stream

WS-security 1.1, username token profile 1.1


Resource based

CMIS Objects

CMIS objects are typed

  • · Supports type hierarchy with single inheritance

Each object has a number of metadata properties

  • · Defined by object type

There are four root types:

  • · Document
  • · Folder
  • · Relationship
  • · Policy

A repository may define subtypes

  • · Inherit property definitions from parent type
  • · May have additional property definitions

CMIS Query model

SQL based query

  • · Multi-valued properties
  • · Full-text search
  • · Search scoping by folder

Table – object type, inheritance

Row – Object

Column – attribute (?)



Early access release 4 (conforms to CMIS 1.0)

Documentum 6.7

CenterStage Design Philosophy

Application design

Clean separation of Presentation application and business logic


  • · Keep UI layer thin, oriented around UI goals
  • · Provide re-use in the service layer to enable broader consumption

o Don’t need to use CenterStage UI to re-use application layer

Provide a rich internet application experience for document

Use DFS where possible

  • · Services use java client library

Direct web remoting (DWR)

  • · Need a mechanism to invoke RPC type services from the browser
  • · No realistic soap support
  • · Services are built without DWR dependences
  • · Glue code hooks DFS services and data model into DWR

CenterStage UI

No server side page generation

  • · Support a rich internet application style
  • · UI generated in code within the browser

ExtJS is the chosen toolkit

  • · Comparisons between dojo, Flex, JSP

ExtJS has a robust widget library and an elegant architecture

Look and feel defined in XML

  • · Uses a subset of Mozilla XUL
  • · Translated in ExtJS code in the browser via XSLT


  • · Layout xml defines visual “boxes” which host components
  • · Components are pieces of JS code and data
  • · Depend on internal and external services

Enterprise Readiness

  • · High volume services
  • · DQL enchantments (Ed Note: It was spelled this way on the slide, although he meant “enhancements”.  Personally, I liken DQL to magic because if you know DQL, you truly are a wizard.)

  • · Document Search server
  • · Atmos
  • · Enhancements

High Volume Server (6.5)



Lightweight system objects

Object range (data) partitioning

High volume server 6.6

Further reduce the database footprint per objects

True null support on specified attributes

Support small int (2 bytes) and tiny int (1 byte)

On SQL server, store ID as char (16) instead of NCHAR(16)

Store Boolean as number(1) on Oracle and Tiny Int on SQL server and Sybase

Increase the batch ingestion performance

Allow grouping related objects within a batch

Transaction support for batching groups

On dfBatchManager class new API

  • · To control groups
  • · Retrieve list of groups, failed groups

New interface: IDfBatchGroup

  • · Allows advanced error handling

Complete database partition feature on Oracle and SQL server

Introduce a partition scheme object as a vehicle to manage partitions across types and registered tables

Add online partition operation support

Provide add, delete, split and merge partitions operations

Support two way partition exchange

DQL Enhancements

Inline View

  • · A runtime definition of a view which can appear anywhere a table/type appears.

SELECT X.* <select_list_2>


Select <select_list)1>

From <type or table or inline view list 1>

Where<predicate_1> …

Left Outer Join

  • · A left outer join is an outer join which always contains all records of the “left” table, even if the join-condition does not find any matching record in the “right” table


  • · To retrieve results in the desired row range without the need of physically exhausting the rows before them

SELECT * from <table_name> where <predicate>

ENABLE (RETURN_RANGE <startrow> <endrow> [<optimize top rows>] ‘<the sorting clause>’

DSS: history

2.0 used Verity from 1996 to 2005

5.3 used Fast from 2005 to 2010

5.3 SP4 OEM used Lucene starting in 2007

xDB + Lucene

  • · Provides structured and unstructured search leveraging best-of-breed xml database and XQuery standards
  • · Designed with enterprise readiness, scalability, ingestion throughput and high quality of search as core features
  • · Advanced data management functionality necessary for large scale systems
  • · Enables EMC to continue to develop and provide search services

DSS leverages Documentum indexing open architecture

  • · Indexing server
  • · Query plug-in

DSS is much more than a simple replacement of the full-text engine

  • · Low cast HA
  • · Disaster Recovery
  • · Data management
  • · VMware support
  • · NAS support
  • · New administration framework (GUI and Web Services)

DSS Design Principals

  • · Flexible scalability
  • · Easy to install and maintain
  • · Greater productivity and lower costs
  • · Native security
  • · Enterprise readiness DR and HA

Current state

In Controlled Release

DSS General Availability in July/August


Massively scalable infrastructure

Policy based management

Integration in 6.6

Atmos Store -> Restful Services


  • · Documentum Administrator changes
  • · Atoms plugin to leverage restful web services to support Write, Read and Delete operations

Post D6.6

Atmos metadata for policy-based management

Support for content migration to Atmos store

File store -> Atmos store

  • · Support for leveraging

Platform improvements in 6.6

  • · JMS Failover
  • · DMS Failover
  • · Kerberos support
  • · UCF.NET (maybe 6.7)

Complexity reduction


(Graphic) From BPM to TCM to xCP

xCP 2.0 top priorities (end of 2011)

  • · Improve case worker productivity – deep insight into cases; content viewing experience; integrated capture and correspondence
  • · Accelerate case application construction – rapid case modeling; integrated, collaborative composition
  • · Decrease deployment cost


  • · Model driven (full declarative environment)
  • · Business users configure the model to adapt to changing business conditions
  • · Rapid process and application composition and configuration
  • o Iteratively validate debug and prototype process and application
  • · Manage all information types
  • · Agility in production

More slides available later online

Bonus Material Not In Slides


  • · XML Store as part of 6.5
  • · Built DSS next

People then ask the question “Does it make sense to replace relational database with XML?”

Victor: “There are zero promises… This is all next-gen products… maybe in next two or three EMC worlds to not have relational database.” (Chris Note: Close as I could get to a direct quote. It’s fun to read it in a heavy Russian accent.)

(Chris Note: Seriously, Victor needs his own keynote. His knowledge is ocean deep. His delivery is fun, a flood of information and the highlight of the conference. What I wouldn’t give to spend another hour with this guy and just pick his brain. Yes, I’m a fan… could you tell?) (Ed Note: Agreed)


All information in this post was gathered from the presenters and presentation. It does not reflect my opinion unless clearly indicated (Italics in parenthesis). Any errors are most likely from my misunderstanding a statement or imperfectly recording the information. Updates to correct information are reflected in red, but will not be otherwise indicated.

All statements about the future of EMC products and strategy are subject to change at any time due to a large variety of factors.

One thought on “EMC World 2010: Documentum Architecture Overview

Comments are closed.