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.
SOA
-
· 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
DFS
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
SOAP/WSDL:
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
AtomPublishing
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 (?)
CMIS at EMC
http://community.emc.com/community/labs/cmis
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
Goals
-
· 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
Component-based
-
· 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)
Batching
Scoping
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>
FROM (
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
Pagination
-
· 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
Atmos
Massively scalable infrastructure
Policy based management
Integration in 6.6
Atmos Store -> Restful Services
D6.6
-
· 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
Evolution
(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
Principles
-
· 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
History:
-
· 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)
Disclaimer
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.