26
1 © Copyright 2016 EMC Corporation. All rights reserved.

Documentum Spring Data

Embed Size (px)

Citation preview

Page 1: Documentum Spring Data

1© Copyright 2016 EMC Corporation. All rights reserved.

Page 2: Documentum Spring Data

2© Copyright 2016 EMC Corporation. All rights reserved. 2© Copyright 2016 EMC Corporation. All rights reserved.

JOIN THE CONVERSATION!#MMTM16

Sign up for a Complimentary

Consulting Session!

Connect with us

ECD SERVICES

Genius Labs Casanova

601

Page 3: Documentum Spring Data

3© Copyright 2016 EMC Corporation. All rights reserved. 3© Copyright 2016 EMC Corporation. All rights reserved.

THE EMC WORLD APPAND WIN!

VIRTUAL REALITY GIVEAWAYDAILY DRAWING FROM APP MOMENTUM LEADERBOARD

3© Copyright 2016 EMC Corporation. All rights reserved.

Page 4: Documentum Spring Data

4© Copyright 2016 EMC Corporation. All rights reserved. 4© Copyright 2016 EMC Corporation. All rights reserved.

Documentum Spring Data

Michael MohenChief Architect, ECDDistinguished Engineer

Page 5: Documentum Spring Data

5© Copyright 2016 EMC Corporation. All rights reserved.

Thursday May 5th // 8:30am – 12:30pm

Sessions Available

• xCP• D2• Captiva• Docker• Documentum APIs• InfoArchive

Please bring your laptops!

Page 6: Documentum Spring Data

6© Copyright 2016 EMC Corporation. All rights reserved.

Documentum APIs

RESTSimple,

Scalable, In Demand

CMISStandard,

Limited

DFS-SOAPHeavy, An-tiquatedComplete

DFC

There are a variety of APIs available today; DFC and REST are dominate

Page 7: Documentum Spring Data

7© Copyright 2016 EMC Corporation. All rights reserved.

DFS, CMIS, Core REST, D2 REST Comparison

Core REST D2 REST DFS CMIS

Major Users Documentum new clients D2 clients and integration Documentum classic clients Interoperability

API Type REST(XML, JSON) Same as Core REST SOAP

(XML)SOAP, REST (XML, JSON)

ServicesFundamental services,

Extended services (Search, Comment, CTS,

RPS, …)

Core REST + D2 extension (12)

Fundamental services,Extended services

(Search, Comment, CTS, BPM, RPS, …)

Operations for document, folder

and relationship only

Authentication

Basic, Ticketed, SSO (6) Same as Core REST Basic, SSO (4) Basic, SSO (1)

Extensibility Service extensibilityAuthentication extensibility NA Service extensibility NA

Note - There are REST interfaces for Captiva and IA

Page 8: Documentum Spring Data

8© Copyright 2016 EMC Corporation. All rights reserved.

<Spring Data>

Page 9: Documentum Spring Data

9© Copyright 2016 EMC Corporation. All rights reserved.

Spring Data is a high level SpringSource project whose purpose is to unify and ease the access to different kinds of persistence stores, both relational database systems and NoSQL data stores.

Part of the Spring Framework, one of the most widely used frameworks for software development today

– MVC, integration, batch, web, et al Spring Data provides a data access layer

– Transactions, resources, abstraction, exceptions, et al This is an umbrella project contains many subprojects

that are specific to a given database.– JPA, Neo4J, MongoDB and many more

What is Spring Data?

Page 10: Documentum Spring Data

10© Copyright 2016 EMC Corporation. All rights reserved.

Page 11: Documentum Spring Data

11© Copyright 2016 EMC Corporation. All rights reserved.

Page 12: Documentum Spring Data

12© Copyright 2016 EMC Corporation. All rights reserved.

<Documentum Spring Data>

Page 13: Documentum Spring Data

13© Copyright 2016 EMC Corporation. All rights reserved.

Why another API? Spring Data for Documentum provides a

abstraction for the Documentum platform The goal of Documentum Spring Data repository

abstraction is to significantly reduce the amount of boilerplate code required to implement data access layers for various persistence stores.

Uses the same terminaology as Spring Data– Repository, CrudRepository, et al

Based on the Documentum Foundation Classes (DFC)

Spring Data for Documentum

Page 14: Documentum Spring Data

14© Copyright 2016 EMC Corporation. All rights reserved.

Spring Data for Documentum provides full CRUD (create, read, update and delete) operations

– Based on Spring Boot Just like in Spring Data JPA, methods include –

– findAll()– Count()– findOne()– delete()– save()– exists()

Annotations for Documentum objects like relations, content, types

Spring Data for Documentum

Page 15: Documentum Spring Data

15© Copyright 2016 EMC Corporation. All rights reserved.

Spring Data for Documentum • Spring Data for

Documentum also provides seamless interoperability with other Spring modules– Web, Messaging, AOP and

more

• Build your own REST controllers

• Based on DFC, so backwards compatible for Documentum 6.7 SP2

• Runs on Java 7

Page 16: Documentum Spring Data

16© Copyright 2016 EMC Corporation. All rights reserved.

Documentum Spring Data ArchitectureClient

Technologies

Spring Data Layer

Repository Documentum Foundation Classes Business Object Framework

Content Server

CRUD Repository

Core Spring Data

Many Techs

ManyApps

AnnotationsInterfaces

Spring Boot

Page 17: Documentum Spring Data

17© Copyright 2016 EMC Corporation. All rights reserved.

Documentum Spring Data – the Approach

Spring Boot

• Start with Spring Boot

• Build your entities, controllers, et al

Import Dependencies

• Junit tests

• CI

• Expose REST

Build a UI

• Expose to Web framework, like AngularJS, Express

• Great with Node.js

Build Your Spring Project Import

DocumentumSpring Data

JAVA

Web Project (AngularJS, Express)

WEB

Create your project

Page 18: Documentum Spring Data

18© Copyright 2016 EMC Corporation. All rights reserved.

MavenCreating a new project is easy; just import the spring-boot-starter-dctm dependency!

<dependency> <groupId>com.emc.documentum.spring</groupId> <artifactId>spring-boot-starter-dctm</artifactId> <version>0.0.1-SNAPSHOT</version></dependency>

Add this to your POM;

pubic maven repo

now available!

Page 19: Documentum Spring Data

19© Copyright 2016 EMC Corporation. All rights reserved.

Annotations @DctmEntity @DctmAttribute @Content @Relation

Documentum attribute annotation

Page 20: Documentum Spring Data

20© Copyright 2016 EMC Corporation. All rights reserved.

Entity ClassIn this example, we have a entity called Student; this is a Documentum type Student

entity – this maps to a

type in Documentu

m

Page 21: Documentum Spring Data

21© Copyright 2016 EMC Corporation. All rights reserved.

InterfacesWith Spring Data’s repositories, you need only to write an interface with finder methods defined according to a given set of conventions (which may vary depending on the kind of persistence store you are using). Spring Data will provide an appropriate implementation of that interface at runtime.

Page 22: Documentum Spring Data

22© Copyright 2016 EMC Corporation. All rights reserved.

What does this mean for DFS, Core REST and other APIs?

– Not much - DFS will continue to be supported, since we use it in many products today. REST will also be supported and maintained going forward. Spring Data for Documentum provides developers another set of tools for developing applications on the Documentum platform.

In this release, what is not included?– Not all DFC API features are in Spring Data for

Documentum today; workflow and lifecycles are not in the base release. As the community grows, we will add more features!

Can I contribute to the project?– Yes

Key questions

Page 23: Documentum Spring Data

23© Copyright 2016 EMC Corporation. All rights reserved.

https://github.com/Enterprise-Content-

Management

Page 24: Documentum Spring Data

24© Copyright 2016 EMC Corporation. All rights reserved.

<Demos>

Page 25: Documentum Spring Data

25© Copyright 2016 EMC Corporation. All rights reserved. 25© Copyright 2016 EMC Corporation. All rights reserved.

THANK YOU!

Page 26: Documentum Spring Data