Sunteți pe pagina 1din 8

EMC Documentum D2

Service Architecture

August, 2016

EMC CONFIDENTIALINTERNAL USE ONLY 1


D2 Browser Client and D2 SOAP Client Stacks
D2FS SOAP Client D2 Browser Client
GWT Async RPC

GWT-RPC / HTTP
Legend:

GUICE servlet dispatch


X3 RPC service impl Custom Client
SOAP / HTTP GUICE injection
X3 proxy service 3rd Party Open Source
spring-ws-interface

Documentum D2
SOAP / HTTP
(development) Function Call
(production) Documentum Platform
spring-ws
D2FS-API

D2FS4DCTM-WEB
D2FS4DCTM-API
D2-API DFS
C6-Common
DFC

Netwise-RPC / TCP

Documentum Content Server

EMC CONFIDENTIALINTERNAL USE ONLY 2


D2FS4DCTM-WEB Layer

This layer is important for the following reasons:

(1) It provides sensitivity to D2 configuration and context

A typical service method implementation will apply one or


more D2 configurations to a given object or to the service
method result based upon context. In many cases, a server
method is executed on JMS in order to apply relevant D2
configuration.

(2) It implements the D2FS service plugin mechanism which allows


any service method in this layer to be overridden and thus
customized

(3) It constructs a D2fsContext object associated with each service


request which implements DFC session management

EMC CONFIDENTIALINTERNAL USE ONLY 3


D2FS4DCTM-WEB Layer Service Plugin Example

C2-Plugin.jar implements the following class:

D2DownloadServicePlugin extends D2DownloadService implements


ID2fsService

with a method

@Override
public List<String> getDownloadUrls(Context context, . . . )
{
. . .
}

By merely putting C2-Plugin.jar in the D2 app server classpath, this


D2DownloadServicePlugin.getDownloadUrls method effectively
overrides the D2DownloadService.getDownloadUrls method
implemented in the D2FS4DCTM-WEB layer.

EMC CONFIDENTIALINTERNAL USE ONLY 4


D2FS4DCTM-API Layer

The D2FS4DCTM-API layer exists primarily to support the 15 or so


services in the D2FS4DCTM-WEB layer that are implemented using
DFS rather than using DFC directly.

The client stack diagram in slide 2 does not quite faithfully capture
the dependencies of this layer since it contains code that calls
directly into C6-Common and DFC in addition to D2-API and DFS.

It is unfortunate that there are services implemented using DFS


rather than DFC directly, as dependency on DFS complicates the
building and deployment of D2. Note that DFS is used only
internally in local mode and is not exposed in any way through the
D2FS4DCTM-WEB layer. In particular, it is not exposed in any way
in the D2FS SOAP API.

EMC CONFIDENTIALINTERNAL USE ONLY 5


D2-API Layer

The D2-API layer defines and implements the interface for


accessing and manipulating D2 configuration objects stored in the
repository. It mainly consists of:

TBOs (Type-Based Objects) that represent D2 configuration types


as java classes using the Documentum Business Object
Framework (BOF).

D2Methods that can be run on the Content Server, either as java


server methods running on the Documentum Java Method Server
(JMS) or in stand-alone java processes launched by the Content
Server or from a scheduled job.

EMC CONFIDENTIALINTERNAL USE ONLY 6


D2 ReST Client Stack
D2 ReST Client

REST / HTTP
Legend:

Custom Client

spring-webmvc 3rd Party Open Source


rest-api-mvc
rest-api-collab-resource d2fs-rest-ext-resource Documentum D2
rest-api-core-resource
rest-api-collab-model d2fs-rest-ext-model
Documentum Core ReST
rest-api-collab-persistence d2fs-rest-ext-persistence
D2FS4DCTM-WEB
rest-api-core-persistence Documentum Platform
D2FS4DCTM-API
collaboration-services
D2-API DFS
C6-Common

DFC

Netwise-RPC / TCP

Documentum Content Server

EMC CONFIDENTIALINTERNAL USE ONLY 7

S-ar putea să vă placă și