using web services to integrate a documentum

38

Upload: others

Post on 19-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Using Web Services to Integrate a Documentum
Page 2: 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

Page 3: Using Web Services to Integrate a Documentum

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

Page 4: Using Web Services to Integrate a Documentum

4

Planview Enterprise

Page 5: Using Web Services to Integrate a Documentum

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

Page 6: Using Web Services to Integrate a Documentum

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

Page 7: Using Web Services to Integrate a Documentum

7

Use Case: Adding a Project

Page 8: Using Web Services to Integrate a Documentum

8

Use Case: Adding a Project

Page 9: Using Web Services to Integrate a Documentum

9

Use Case: Adding a Project

Page 10: Using Web Services to Integrate a Documentum

10

Use Case: Browse Content

Page 11: Using Web Services to Integrate a Documentum

11

Use Case: Browse Content

Page 12: Using Web Services to Integrate a Documentum

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

Page 13: Using Web Services to Integrate a Documentum

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

Page 14: Using Web Services to Integrate a Documentum

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

Page 15: Using Web Services to Integrate a Documentum

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

Page 16: Using Web Services to Integrate a Documentum

16

Architecture

Page 17: Using Web Services to Integrate a Documentum

17

Implementation Overview

• Web Services

• SBOs

• Binding Documentum and Planview users

• Single Sign-On

• Data synchronization

• Security

• Webtop customizations

Page 18: Using Web Services to Integrate a Documentum

18

Web Services

Page 19: Using Web Services to Integrate a Documentum

19

Web Services

Page 20: Using Web Services to Integrate a Documentum

20

Web Services

Page 21: Using Web Services to Integrate a Documentum

21

Web Services

Page 22: Using Web Services to Integrate a Documentum

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

Page 23: Using Web Services to Integrate a Documentum

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

Page 24: Using Web Services to Integrate a Documentum

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

Page 25: Using Web Services to Integrate a Documentum

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

Page 26: Using Web Services to Integrate a Documentum

26

Synchronization Example

Page 27: Using Web Services to Integrate a Documentum

27

Synchronization Example

Page 28: Using Web Services to Integrate a Documentum

28

Synchronization Example

Page 29: Using Web Services to Integrate a Documentum

29

Synchronization Example

Page 30: Using Web Services to Integrate a Documentum

30

Synchronization Example

Page 31: Using Web Services to Integrate a Documentum

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

Page 32: Using Web Services to Integrate a Documentum

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’

Page 33: Using Web Services to Integrate a Documentum

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

Page 34: Using Web Services to Integrate a Documentum

34

Use Case: Show Locked Documents

Page 35: Using Web Services to Integrate a Documentum

35

Use Case: Show Locked Documents

Page 36: Using Web Services to Integrate a Documentum

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

Page 37: Using Web Services to Integrate a Documentum

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

[email protected]

Tim Harmon

[email protected]

Page 38: Using Web Services to Integrate a Documentum

Presentations Will Be Available on

the Momentum 2006 Website

www.momentumlive.com

Password: forum