EMC World 2010: DFS Real World Examples, Best Practices

I had planned to go to a session around the Documentum Roadmap but it was totally full so we had to go to another session. We split up and went to the BPM Fundamentals and the Documentum Foundation Services (DFS) Best Practices session by Michael Mohen instead. I am not a developer so this is a little from the 500ft level

He started by discussed the complementary nature between DFS and CMIS depending on how focused development is to only Documentum or not. CMIS is of course the new standard recently approved by OASIS. He argued that some applications like Records Management is still best done using DFS but I guess that also has to do with how people want CMIS to develop. As I understand it is not intended to contain ALL feature and the COMPLETE set of features in all ECM-systems and rather focus on the interoperabiltiy aspect of building ECM-apps based on multiple repositories.

When it comes to Content Transfer when using DFS the key considerations are latency, size of the file, formats and caching needs. Some of the ways to do content transfer is:

  • HTTP
  • Base64
  • UCF
  • MTOM

Most use UCF or MTOM  but it is important to remember that BOCS/ACS requires UCF to work. The message is to don’t be afraid to mix between HTTP, MTOM and others. In our solution we do use a mix but because we sometimes have rather large content size this of course an issue.

Notable changes in D6.5/D6.6

  • JBoss 4.2.0 is the new methods server
  • Apache Tomcat support
  • Aspect Support
  • LWSO support
  • Native 64-bit support and UCF Improvements
  • Kerberos is coming D6.6

Remote and local calls in Java – .Net does only provide remote calls

There are some applications that customers may not be aware of such as DFS Utilities developed by John sweeney, EMC and DFSX (Extension)

  • Provides utility classes
  • Based on DFS Object MOdel
  • Java-based 1.5 or greater
  • Only EAR-files today

Test Harness is JMeter extension which has custom JMeter Sampler built to invoke DFS using the Java Productivity Layer

Responsetimes collected for:

  • CreateObject
  • Get Object
  • Checkout object
  • Check in Object
  • Delete Object

Over a WAN DFS speeded up DFC especially when you have 300-400 ping times…use DFS because it is state-less. Relevant when using satellite links and such.

Sizing Calculator is soon available for DFS. It is an Excel spreadsheet. The sheet is sased on WSDL and SOAP so if we are using other designs results may vary of course.

In a speed test etween UCF and MTOM upload speeds under 50 Mb were similar. However, UCF was slightly faster. The cool part of UCF is that it is asynchronous which for instance mean that you can show one page of a document and continue loading the rest of it.

When it comes to ESB-implementations the message was that the majority of implementions is point-point for clients apps. However some have SAML for added security in their ESB implementation which affects speed a bit.

It seems that DFS is used a lot in a .Net environment and together with Sharepoint.

MOSS and DFS Examples

.Net 3.3

SDF and xCP

Webpart with an inbox rendered and Xform inside Sharepoint.

Another example is the use of DFS and Windows Explorer where some want custom integration for the Windows Desktop and essentially provides something like the old Document Desktop client. It is called DFS Explorer.

DFS Adobe Flex Example

There is an white paper available to provide a quickstart…read more about the session at the community page.

Adobe does not talk directly to DFS but through Java. Restful would much easier to use for Flex as well as most AJAX-implementations.

Best Practices

  • Leverage the SDK (.Net/Java interop layers)
  • Use UCF for BOCS/ACS
  • If you expected your query to exceed 500 you must cache and cycle through results.
  • DFS is better on WAN with poor latency.

A feature which is not well documented is to set requiresAuthentication=”false” on your annotated services implementation to browse through repositories and basic info such as data dictionary.

There is also a less known Services Catalog Viewer which is an optional install

  • Explore services available within the internet
  • DSCR is registry for consumer discover.
  • UDDI v2 standard
  • Standard Web app
  • Default port is 9010
  • Judy open source UDDI

You can also compare this with the notes from last conference by Word of Pie.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.