EMC Documentum Foundation Services (DFS) tutorial

In response to the DFS area within the EDN forums, Sergey at DFS Notes has been kind enough to post a three-part tutorial as follows:

  1. Part 1 – Environment setup for DFS SDK and (“Hello World”) service creation
  2. Part 2 – Java client creation
  3. Part 3 – .NET remote client

Here are a few more details to complement this tutorial:

  • In DFS 6.0 (v1), BEA Weblogic Server 9.2 (plus BEA Smart Update-based patches) is supported and the unit of deployment is an EAR file. In DFS 6.0 SP1, supported JEE application servers were increased to also include Oracle Application Server 10g Release 3 (10.1.3.x) and IBM WebSphere Application Server V6.1, Fix Pack 11. Certified JEE application server support will continue to grow in future releases (e.g. JBoss) as well as support both for application servers biased toward EAR files and toward WAR files.
  • The version of Ant used during DFS 6.0 development was 1.6.5; however the version of Ant required for use with the DFS SDK is 1.7.0. Ant 1.7.0 is the first version of the Apache open source project to formally support Ant libraries (or antlibs), and DFS SDK 6.0 SP1 has a dependency on Antlib for .NET 1.0 in order to build .NET productivity layer support for your custom services. (You can also leverage NAnt, if you prefer.) So, before you commence a build using the DFS SDK 6.0 SP1, you should verify the version of Ant that will be applied, by typing “ant -version” in a Command Prompt window, for example, is “1.7.0.” If you forget to do this or proceed despite not seeing “1.7.0” and you encounter a “java.lang.NoSuchMethodError: org.apache.tools.ant.util.FileUtils.getFileUtils()” exception while attempting to build your custom service EAR file–even though you’ve installed Ant 1.7.0, you may need to verify that ant.jar is referenced before dctm.jar is referenced on your active ClassPath.
  • Java 5 Standard Edition is required for EMC Documentum 6.0 where platform development is concerned (e.g. using the DFS SDK). EMC Documentum 6.0 SP1 certifies support for Java 6 Standard Edition only on the browser host, not on the application server. You may encounter deployment issues if you build your custom service with Java SE 6.0.
  • Versions of JAX-WS and JAXB included in the DFS SDK 6.0 SP1 are as follows: JAX-WS 2.1.2 reference implementation from Sun and JAXB 2.1.4 reference implementation from Sun. If you encounter a “java.lang.LinkageError” exception while building your custom service EAR, then you may need to employ standard “endorsed” library techniques to ensure proper JAXB class loading.

Thanks to Sergey for posting his tutorial, and thanks to Saša at Pexim Content Manaqement Solutions for sharing his development experience with me, which contributed to the above content.