SlideShare a Scribd company logo
1 of 26
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
CONVERSATIO
N!
#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
APP
AND 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 Mohen
Chief Architect, ECD
Distinguished 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
REST
Simple,
Scalable, In
Demand
CMIS
Standard,
Limited
DFS-SOAP
Heavy, Antiquated
Complete
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
ComparisonCore 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)
Services
Fundamental 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
Authenticatio
n
Basic, Ticketed,
SSO (6)
Same as Core REST Basic, SSO (4) Basic, SSO (1)
Extensibility
Service extensibility
Authentication 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 Architecture
Client
Technologies
Spring Data
Layer
Repository
Documentum Foundation Classes Business Object Framework
Content Server
CRUD Repository
Core Spring Data
Many
Techs
Many
Apps
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 Documentum
Spring Data
JAVA
Web Project (AngularJS,
Express)
WEB
Create your project
18© Copyright 2016 EMC Corporation. All rights reserved.
Maven
Creating 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 Class
In this example, we
have a entity called
Student; this is a
Documentum type
Student entity
– this maps to
a type in
Documentum
21© Copyright 2016 EMC Corporation. All rights reserved.
Interfaces
With 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!
Documentum Spring Data

More Related Content

Similar to Documentum Spring Data

Full Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future ScopeFull Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future ScopeIRJET Journal
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Marc Dutoo
 
How to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native ApplicationsHow to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native ApplicationsSufyaan Kazi
 
Microservices, Data Services and Containers for Cloud Native Architectures (D...
Microservices, Data Services and Containers for Cloud Native Architectures (D...Microservices, Data Services and Containers for Cloud Native Architectures (D...
Microservices, Data Services and Containers for Cloud Native Architectures (D...ragss
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKSPhil Reay
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKSPhil Reay
 
BrightTalk session-The right SDS for your OpenStack Cloud
BrightTalk session-The right SDS for your OpenStack CloudBrightTalk session-The right SDS for your OpenStack Cloud
BrightTalk session-The right SDS for your OpenStack CloudEitan Segal
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patternsKyle Brown
 
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016Amazon Web Services
 
Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Kyle Brown
 
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformOCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformMarc Dutoo
 
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...Docker, Inc.
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development Shean McManus
 
Skillwise Consulting -Technical competency
Skillwise Consulting -Technical competencySkillwise Consulting -Technical competency
Skillwise Consulting -Technical competencySkillwise Consulting
 

Similar to Documentum Spring Data (20)

The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
Full Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future ScopeFull Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future Scope
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
How to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native ApplicationsHow to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native Applications
 
Microservices, Data Services and Containers for Cloud Native Architectures (D...
Microservices, Data Services and Containers for Cloud Native Architectures (D...Microservices, Data Services and Containers for Cloud Native Architectures (D...
Microservices, Data Services and Containers for Cloud Native Architectures (D...
 
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
BrightTalk session-The right SDS for your OpenStack Cloud
BrightTalk session-The right SDS for your OpenStack CloudBrightTalk session-The right SDS for your OpenStack Cloud
BrightTalk session-The right SDS for your OpenStack Cloud
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patterns
 
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
 
Technical Skillwise
Technical SkillwiseTechnical Skillwise
Technical Skillwise
 
Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016
 
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformOCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
 
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
Using the SDACK Architecture on Security Event Inspection by Yu-Lun Chen and ...
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
Skillwise Consulting -Technical competency
Skillwise Consulting -Technical competencySkillwise Consulting -Technical competency
Skillwise Consulting -Technical competency
 
Intro to web dev
Intro to web devIntro to web dev
Intro to web dev
 
test4
test4test4
test4
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Documentum Spring Data

  • 1. 1© Copyright 2016 EMC Corporation. All rights reserved.
  • 2. 2© Copyright 2016 EMC Corporation. All rights reserved. 2© Copyright 2016 EMC Corporation. All rights reserved. JOIN THE CONVERSATIO N! #MMTM16 Sign up for a Complimentary Consulting Session! Connect with us ECD SERVICES Genius Labs Casanova 601
  • 3. 3© Copyright 2016 EMC Corporation. All rights reserved. 3© Copyright 2016 EMC Corporation. All rights reserved. THE EMC WORLD APP AND WIN! VIRTUAL REALITY GIVEAWAYDAILY DRAWING FROM APP MOMENTUM LEADERBOARD 3© Copyright 2016 EMC Corporation. All rights reserved.
  • 4. 4© Copyright 2016 EMC Corporation. All rights reserved. 4© Copyright 2016 EMC Corporation. All rights reserved. Documentum Spring Data Michael Mohen Chief Architect, ECD Distinguished Engineer
  • 5. 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. 6© Copyright 2016 EMC Corporation. All rights reserved. Documentum APIs REST Simple, Scalable, In Demand CMIS Standard, Limited DFS-SOAP Heavy, Antiquated Complete DFC There are a variety of APIs available today; DFC and REST are dominate
  • 7. 7© Copyright 2016 EMC Corporation. All rights reserved. DFS, CMIS, Core REST, D2 REST ComparisonCore 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) Services Fundamental 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 Authenticatio n Basic, Ticketed, SSO (6) Same as Core REST Basic, SSO (4) Basic, SSO (1) Extensibility Service extensibility Authentication extensibility NA Service extensibility NA Note - There are REST interfaces for Captiva and IA
  • 8. 8© Copyright 2016 EMC Corporation. All rights reserved. <Spring Data>
  • 9. 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. 10© Copyright 2016 EMC Corporation. All rights reserved.
  • 11. 11© Copyright 2016 EMC Corporation. All rights reserved.
  • 12. 12© Copyright 2016 EMC Corporation. All rights reserved. <Documentum Spring Data>
  • 13. 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. 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. 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. 16© Copyright 2016 EMC Corporation. All rights reserved. Documentum Spring Data Architecture Client Technologies Spring Data Layer Repository Documentum Foundation Classes Business Object Framework Content Server CRUD Repository Core Spring Data Many Techs Many Apps AnnotationsInterfaces Spring Boot
  • 17. 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 Documentum Spring Data JAVA Web Project (AngularJS, Express) WEB Create your project
  • 18. 18© Copyright 2016 EMC Corporation. All rights reserved. Maven Creating 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. 19© Copyright 2016 EMC Corporation. All rights reserved. Annotations  @DctmEntity  @DctmAttribute  @Content  @Relation Documentum attribute annotation
  • 20. 20© Copyright 2016 EMC Corporation. All rights reserved. Entity Class In this example, we have a entity called Student; this is a Documentum type Student entity – this maps to a type in Documentum
  • 21. 21© Copyright 2016 EMC Corporation. All rights reserved. Interfaces With 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. 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. 23© Copyright 2016 EMC Corporation. All rights reserved. https://github.com/Enterprise -Content-Management
  • 24. 24© Copyright 2016 EMC Corporation. All rights reserved. <Demos>
  • 25. 25© Copyright 2016 EMC Corporation. All rights reserved. 25© Copyright 2016 EMC Corporation. All rights reserved. THANK YOU!

Editor's Notes

  1. Documentum Foundation Services Mature core platform SOAP API Difficult to use, hard to learn Enables custom application and deep integration development Ideal for System to System integration, Strongly typed languages, Explicit contracts(WSDL, policies, security) Content Management Integration Services A standard , “lowest common denominator” API for ECM interoperability 1.0 version supported Resources: REST Core platform services + extended services Actively Developed Targeted to quick multi-device client interface and web development