Using Web Services to Integrate a Documentum
Transcript of Using Web Services to Integrate a Documentum
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
3
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
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
4
Planview Enterprise
5
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
6
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
7
Use Case: Adding a Project
8
Use Case: Adding a Project
9
Use Case: Adding a Project
10
Use Case: Browse Content
11
Use Case: Browse Content
12
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
13
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
14
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
15
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
16
Architecture
17
Implementation Overview
• Web Services
• SBOs
• Binding Documentum and Planview users
• Single Sign-On
• Data synchronization
• Security
• Webtop customizations
18
Web Services
19
Web Services
20
Web Services
21
Web Services
22
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
23
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
24
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
25
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
26
Synchronization Example
27
Synchronization Example
28
Synchronization Example
29
Synchronization Example
30
Synchronization Example
31
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
32
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’
33
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
34
Use Case: Show Locked Documents
35
Use Case: Show Locked Documents
36
Present and Future…
• Current Status
– Generally available
– Completed DfD certification
• Future Directions
– Performance enhancements around security
• Better use of groups
• Clamp down on ACL proliferation
37
Want to learn more?
Come to another Blue Fish presentation (3 left!)
Visit Planview and Blue Fish at Booth 634 (and get a chance to win an iPod Nano!)
See Blue Fish present at the 2006 EMC Developer Conference
Contact us directly:
Joshua Toub
Tim Harmon
Presentations Will Be Available on
the Momentum 2006 Website
www.momentumlive.com
Password: forum