Using Web Services to Integrate a .NET solution with EMC Documentum Tim Harmon SVP of Corporate Development Planview Joshua Toub Practice Manager Blue Fish Development Group
About Planview Recognized Industry Leader Pioneered in 1989 what is now Portfolio Management Recognized leader by major analyst firms Customer Base of Market Leaders 400+ customers across all industries Global enterprises as well as mid-market customers Global Presence and Financially Strong Headquartered in Austin, TX Presence in 30+ countries 30% year-over-year growth since 2002 Profitable since 1993
Planview Enterprise
Drivers Leverage the industry’s premium content and collaboration management for content-intensive Planview Enterprise projects and initiatives Provide EMC Documentum users with a portfolio management solution for New Product Development and IT Project Management Enable users to consolidate Planview Enterprise content and related content in a single repository Enforce regulatory compliance on Planview-related content
Planview Enterprise + EMC Documentum ECM Manage portfolio metrics (Targets and Progress) in Planview Store, access, and manage Planview-related content in Documentum Apply Planview Lifecycle processes to content in Documentum Apply Planview Access Control rules to content in Documentum Planview Enterprise + EMC Documentum ECM Unified ECM Platform Advanced Content Features Regulatory Compliance Portfolio Management Structured Processes Best Practices
Use Case: Adding a Project
Use Case: Adding a Project
Use Case: Adding a Project
Use Case: Browse Content
Use Case: Browse Content
Design Challenges Integration approach Application level integration (WDK) Model layer integration (data synchronization) Disparate security models .NET and Java intercommunication Handling Planview’s distributed modification architecture Externalizing Planview’s content management functionality
Implementation Challenges Data synchronization Object naming problems Cross-platform Cryptography Web Services Creating and maintaining user mappings Testing across multiple platforms and isolated development teams
Integration Approach Initial plan: Webtop customizations fetch folder hierarchies from Planview Disadvantages with this approach: Pervasiveness of folders in Webtop—many independent customization points Webtop customization required for basic integration features—prevents other Documentum tools from leveraging the integration Revised plan: Web services perform background data synchronization Few integration points Planview data available to all Documentum-based tools and applications
Why Web Services? Loosely coupled integration Enabled separate development teams to build the .NET and Java integration components in relative isolation from one another Avoided the prerequisite of having full end-to-end environments setup for both development teams The Documentum (Java) side of the integration tested against stubs Forward compatibility WSF Simple to create and deploy Good tools for both .NET and Java
Architecture
Implementation Overview Web Services SBOs Binding Documentum and Planview users Single Sign-On Data synchronization Security Webtop customizations
Web Services
Web Services
Web Services
Web Services
Web Services: WSF and Basic Integration WS WSF: Could not use WSF because of 5.2.5 compatibility requirements Comparison to WSF: Both use Axis Similar authentication procedures WSF deploys web services via the global BOF registry; we deploy independent of the Content Server Basic Integration Web Services Was not available yet Planview web services used as inspiration for BIWS
SBOs Integration extensively leverages SBOs Requirement to support Content Server 5.2.5 precluded the use of the global registry SBO listing: IBindUserService: maps Planview users to Documentum users IContentService: retrieves content-related information ICreateUserService: creates Documentum users IDQLPassthroughService: transparent DQL passthrough ResultSet translated into XML return value Supports both read and modify queries IFolderSynchronizationService: structure synchronization IRecycleBinService: methods for soft deletion and cleanup of recycle bin ISnapshotService: generates DOM snapshots of structure and security ISyncService: interleaved structure and security synchronization
User Binding & Single Sign-On Authenticating Planview users in Documentum How do we associate Documentum users with Planview Enterprise users? How do we streamline authentication? User binding “ Just in Time” binding Binding persisted in Planview Single Sign-On Custom SSO implementation No dependencies on third party SSO libraries Uses Documentum principal authentication Integrated into binding operation
Data Synchronization Data synchronization: a classic enterprise integration challenge How can we ensure the integrity and “freshness” of mutable data across multiple systems? Our approach: Planview is the master Use multiple synchronization services to maximize integrity while maintaining performance Full Sync: A complete graph of all Planview data stored in Documentum Used initially for population and then periodically to ensure consistency Incremental Sync: Individual per-element modifications performed within the scope of a Planview transaction Lots of unit testing
Synchronization Example
Synchronization Example
Synchronization Example
Synchronization Example
Synchronization Example
Security Challenges How to reconcile different security models? Planview: implied rules-based security Documentum: explicit ACL-based security Initial solution: Planview precomputes security for each node and sends explicit security for each and every node Complications: Creates extremely verbose messages Certain security scenarios would have been difficult/prohibitively expensive to precompute Planview ‘portfolios’ widen security access
Security: Modified Solution Compress synchronization message with ‘hints’ Hints specify how security settings are propagated to children Recursive mode and direct mode Apply some rules within Documentum Expand security to every node in the hierarchy Logically merge security settings for multiply-linked objects Merges permissions from multiple ACLs into a new ACL Interesting semantics that sometimes dictate a ‘maxi-merge’ and sometimes dictate a ‘mini-merge’
Webtop Customizations Auto-navigation to a specific folder Subclassed the Main component to override onInit() Recycle bin DeleteFolder and DeleteDocument component extensions intercept deletion requests Soft deletes are performed for content within the Planview folder hierarchy Handled by the RecycleBin SBO Hard deletes for all other objects Handled by the stock DeleteFolder and DeleteDocument components RecycleBinCleaner Asynchronous thread that removes empty folders from the recycle bin Show Locked component Retrieves locked documents URL interface for direct invocation from Planview Subclasses the Search component
Use Case: Show Locked Documents
Use Case: Show Locked Documents
Present and Future… Current Status DfD certified Future Directions Performance enhancements Better use of groups Clamp down on ACL proliferation

Using Web Services To Integrate a .NET Solution with EMC Documentum

  • 1.
    Using Web Servicesto Integrate a .NET solution with EMC Documentum Tim Harmon SVP of Corporate Development Planview Joshua Toub Practice Manager Blue Fish Development Group
  • 2.
    About Planview RecognizedIndustry Leader Pioneered in 1989 what is now Portfolio Management Recognized leader by major analyst firms Customer Base of Market Leaders 400+ customers across all industries Global enterprises as well as mid-market customers Global Presence and Financially Strong Headquartered in Austin, TX Presence in 30+ countries 30% year-over-year growth since 2002 Profitable since 1993
  • 3.
  • 4.
    Drivers Leverage theindustry’s premium content and collaboration management for content-intensive Planview Enterprise projects and initiatives Provide EMC Documentum users with a portfolio management solution for New Product Development and IT Project Management Enable users to consolidate Planview Enterprise content and related content in a single repository Enforce regulatory compliance on Planview-related content
  • 5.
    Planview Enterprise +EMC Documentum ECM Manage portfolio metrics (Targets and Progress) in Planview Store, access, and manage Planview-related content in Documentum Apply Planview Lifecycle processes to content in Documentum Apply Planview Access Control rules to content in Documentum Planview Enterprise + EMC Documentum ECM Unified ECM Platform Advanced Content Features Regulatory Compliance Portfolio Management Structured Processes Best Practices
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    Design Challenges Integrationapproach Application level integration (WDK) Model layer integration (data synchronization) Disparate security models .NET and Java intercommunication Handling Planview’s distributed modification architecture Externalizing Planview’s content management functionality
  • 12.
    Implementation Challenges Datasynchronization Object naming problems Cross-platform Cryptography Web Services Creating and maintaining user mappings Testing across multiple platforms and isolated development teams
  • 13.
    Integration Approach Initialplan: Webtop customizations fetch folder hierarchies from Planview Disadvantages with this approach: Pervasiveness of folders in Webtop—many independent customization points Webtop customization required for basic integration features—prevents other Documentum tools from leveraging the integration Revised plan: Web services perform background data synchronization Few integration points Planview data available to all Documentum-based tools and applications
  • 14.
    Why Web Services?Loosely coupled integration Enabled separate development teams to build the .NET and Java integration components in relative isolation from one another Avoided the prerequisite of having full end-to-end environments setup for both development teams The Documentum (Java) side of the integration tested against stubs Forward compatibility WSF Simple to create and deploy Good tools for both .NET and Java
  • 15.
  • 16.
    Implementation Overview WebServices SBOs Binding Documentum and Planview users Single Sign-On Data synchronization Security Webtop customizations
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
    Web Services: WSFand Basic Integration WS WSF: Could not use WSF because of 5.2.5 compatibility requirements Comparison to WSF: Both use Axis Similar authentication procedures WSF deploys web services via the global BOF registry; we deploy independent of the Content Server Basic Integration Web Services Was not available yet Planview web services used as inspiration for BIWS
  • 22.
    SBOs Integration extensivelyleverages SBOs Requirement to support Content Server 5.2.5 precluded the use of the global registry SBO listing: IBindUserService: maps Planview users to Documentum users IContentService: retrieves content-related information ICreateUserService: creates Documentum users IDQLPassthroughService: transparent DQL passthrough ResultSet translated into XML return value Supports both read and modify queries IFolderSynchronizationService: structure synchronization IRecycleBinService: methods for soft deletion and cleanup of recycle bin ISnapshotService: generates DOM snapshots of structure and security ISyncService: interleaved structure and security synchronization
  • 23.
    User Binding &Single Sign-On Authenticating Planview users in Documentum How do we associate Documentum users with Planview Enterprise users? How do we streamline authentication? User binding “ Just in Time” binding Binding persisted in Planview Single Sign-On Custom SSO implementation No dependencies on third party SSO libraries Uses Documentum principal authentication Integrated into binding operation
  • 24.
    Data Synchronization Datasynchronization: a classic enterprise integration challenge How can we ensure the integrity and “freshness” of mutable data across multiple systems? Our approach: Planview is the master Use multiple synchronization services to maximize integrity while maintaining performance Full Sync: A complete graph of all Planview data stored in Documentum Used initially for population and then periodically to ensure consistency Incremental Sync: Individual per-element modifications performed within the scope of a Planview transaction Lots of unit testing
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
    Security Challenges Howto reconcile different security models? Planview: implied rules-based security Documentum: explicit ACL-based security Initial solution: Planview precomputes security for each node and sends explicit security for each and every node Complications: Creates extremely verbose messages Certain security scenarios would have been difficult/prohibitively expensive to precompute Planview ‘portfolios’ widen security access
  • 31.
    Security: Modified SolutionCompress synchronization message with ‘hints’ Hints specify how security settings are propagated to children Recursive mode and direct mode Apply some rules within Documentum Expand security to every node in the hierarchy Logically merge security settings for multiply-linked objects Merges permissions from multiple ACLs into a new ACL Interesting semantics that sometimes dictate a ‘maxi-merge’ and sometimes dictate a ‘mini-merge’
  • 32.
    Webtop Customizations Auto-navigationto a specific folder Subclassed the Main component to override onInit() Recycle bin DeleteFolder and DeleteDocument component extensions intercept deletion requests Soft deletes are performed for content within the Planview folder hierarchy Handled by the RecycleBin SBO Hard deletes for all other objects Handled by the stock DeleteFolder and DeleteDocument components RecycleBinCleaner Asynchronous thread that removes empty folders from the recycle bin Show Locked component Retrieves locked documents URL interface for direct invocation from Planview Subclasses the Search component
  • 33.
    Use Case: ShowLocked Documents
  • 34.
    Use Case: ShowLocked Documents
  • 35.
    Present and Future…Current Status DfD certified Future Directions Performance enhancements Better use of groups Clamp down on ACL proliferation