Using Web Services to Integrate a .NET solution with EMC Documentum  Tim Harmon SVP of Corporate Development  Planview Jos...
About Planview <ul><li>Recognized Industry Leader  </li></ul><ul><ul><li>Pioneered in 1989 what is now Portfolio Managemen...
Planview Enterprise
Drivers <ul><li>Leverage the industry’s premium content and collaboration management for content-intensive Planview Enterp...
Planview Enterprise + EMC Documentum ECM <ul><li>Manage portfolio metrics (Targets and Progress) in Planview </li></ul><ul...
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 <ul><li>Integration approach </li></ul><ul><ul><li>Application level integration (WDK) </li></ul></ul><u...
Implementation Challenges <ul><li>Data synchronization </li></ul><ul><li>Object naming problems </li></ul><ul><li>Cross-pl...
Integration Approach <ul><li>Initial plan: Webtop customizations fetch folder hierarchies from Planview </li></ul><ul><ul>...
Why Web Services? <ul><li>Loosely coupled integration </li></ul><ul><ul><li>Enabled separate development teams to build th...
Architecture
Implementation Overview <ul><li>Web Services </li></ul><ul><li>SBOs </li></ul><ul><li>Binding Documentum and Planview user...
Web Services
Web Services
Web Services
Web Services
Web Services: WSF and Basic Integration WS <ul><li>WSF: </li></ul><ul><ul><li>Could not use WSF because of 5.2.5 compatibi...
SBOs <ul><li>Integration extensively leverages SBOs </li></ul><ul><ul><li>Requirement to support Content Server 5.2.5 prec...
User Binding & Single Sign-On <ul><li>Authenticating Planview users in Documentum </li></ul><ul><ul><li>How do we associat...
Data Synchronization <ul><li>Data synchronization: a classic enterprise integration challenge </li></ul><ul><ul><li>How ca...
Synchronization Example
Synchronization Example
Synchronization Example
Synchronization Example
Synchronization Example
Security Challenges <ul><li>How to reconcile different security models? </li></ul><ul><ul><li>Planview: implied rules-base...
Security: Modified Solution <ul><li>Compress synchronization message with ‘hints’ </li></ul><ul><ul><li>Hints specify how ...
Webtop Customizations <ul><li>Auto-navigation to a specific folder </li></ul><ul><ul><li>Subclassed the Main component to ...
Use Case: Show Locked Documents
Use Case: Show Locked Documents
Present and Future… <ul><li>Current Status </li></ul><ul><ul><li>DfD certified </li></ul></ul><ul><li>Future Directions </...
Upcoming SlideShare
Loading in …5
×

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

7,114 views
6,854 views

Published on

Momentum 2006 Presentation

Published in: Economy & Finance, Technology
2 Comments
7 Likes
Statistics
Notes
  • Stylish presentation. I like this one.

    Roy Jan
    http://be.freepolyphonicringtones.org/ http://dk.freepolyphonicringtones.org/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Excellent slideshow about the need to innovate business models; how you can represent them succinctly; together with the need to make invention initiatives actionable. Superb use of photos together with clear to see illustrative samples.
    Teisha
    http://dashinghealth.com http://healthimplants.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
7,114
On SlideShare
0
From Embeds
0
Number of Embeds
53
Actions
Shares
0
Downloads
0
Comments
2
Likes
7
Embeds 0
No embeds

No notes for slide
  • Using Web Services To Integrate a .NET Solution with EMC Documentum

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

    ×