using web services to integrate a documentum

Post on 19-May-2022

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

joshua@bluefishgroup.com

Tim Harmon

tharmon@planview.com

Presentations Will Be Available on

the Momentum 2006 Website

www.momentumlive.com

Password: forum

top related