Upload
michael-mohen
View
300
Download
8
Embed Size (px)
Citation preview
1© Copyright 2016 EMC Corporation. All rights reserved.
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
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.
4© Copyright 2016 EMC Corporation. All rights reserved. 4© Copyright 2016 EMC Corporation. All rights reserved.
Documentum Spring Data
Michael MohenChief Architect, ECDDistinguished Engineer
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!
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
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
8© Copyright 2016 EMC Corporation. All rights reserved.
<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?
10© Copyright 2016 EMC Corporation. All rights reserved.
11© Copyright 2016 EMC Corporation. All rights reserved.
12© Copyright 2016 EMC Corporation. All rights reserved.
<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
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
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
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
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
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!
19© Copyright 2016 EMC Corporation. All rights reserved.
Annotations @DctmEntity @DctmAttribute @Content @Relation
Documentum attribute annotation
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
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.
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
23© Copyright 2016 EMC Corporation. All rights reserved.
https://github.com/Enterprise-Content-
Management
24© Copyright 2016 EMC Corporation. All rights reserved.
<Demos>
25© Copyright 2016 EMC Corporation. All rights reserved. 25© Copyright 2016 EMC Corporation. All rights reserved.
THANK YOU!