SlideShare a Scribd company logo
1 of 29
DSpace 7: Open for Integration
Andrea Bollini, 4Science
Luigi Andrea Pascarell, 4Science
Open Repositories 2019, Hamburg, June 10-13
To adopt a Repository-as-a-Service model, support
different users and communities, it is crucial to be able to
interact with the repository with different, unanticipated
patterns and modalities embedding the repository in
existing workflows, connecting and combining tools.
About
Why a new REST API?
Covers only a subset of
DSpace functionality
Not based on current
REST best practices
or standards
Handcrafted in Jersey,
while most DSpace code uses
Spring technologies
4.x - 6.x
No search
No submit / workflows
Limited admin operations
Limited write / delete
(4.x was read only)
All features MUST
be in REST API
(for Angular UI)
Defined REST Contract.
HATEOAS, ALPS,
HAL format
Built using Spring technologies
(Spring Boot, MVC, HATEOAS)
Bonus: better third-party
app integration!
7.x
{ REST }
Why a new REST API?
REST Maturity Level
Image from: https://martinfowler.com/articles/richardsonMaturityModel.html
{ REST }
HATEOAS = Hypertext As The Engine Of Application State
Allow the client to discover the “next step”
HAL = Hypertext Application Language (JSON or XML)
Talk a simple standard language
ALPS = Application Level Profile Semantics
Be specific about your expectation and promise
You can use the command line…
curl "https://dspace7.4science.cloud/dspace-spring-rest/api"
But, there are better ways… using a REST client
Interacting with a REST API
• The Official REST Demo public instance (provided by 4Science)
– https://dspace7.4science.it/dspace-spring-rest/
• Navigate to the link above to explore
HAL Browser
Request + Headers
Response Headers
HTTP Status code
Response Body
RAW JSON Response
The HAL Browser will parse the key
elements:
_links
_embedded
Everything else
HAL Document
Response Properties
Links: All endpoints are available from the
Entry Point
Communities Endpoint Response
Communities
endpoint
Pagination
properties
Links - A generic approach to paginated
results
Embedded Community Properties
Embedded Community Links
On a COLLECTION Endpoint (“set of all” items, communities, etc.)
- POST Adds a new element to the collection
- GET Returns the first page of the resources in the collection
On a single RESOURCE Endpoint (specific item, collection, etc)
- GET Returns a single entity
- HEAD Returns whether the item resource is available
- PUT Replaces the state
- PATCH Similar to PUT but partially updating the resources state
- DELETE Deletes the resource exposed
Right use of the HTTP Verbs
● uniform, consistent and self-documented behaviour
● full functional coverage, both for anonymous user and privileged
users
● stable, well documented and fully tested solution so that
integration will not easily break from one version to another
○ Test-Driven Development
○ Contract first approach
Reliable, stable and automatically tested
76% Test Coverage, mainly Integration Test
{ REST }
Supported Integration Scenarios
Reuse of the information
{ REST }
Embedding Javascript code
“Badge” in personal websites
List of departments and research
group publications
Complete backend integration
with search, browse, editing
capabilities
Data acquisition
{ REST }
Data acquisition
{ REST }
raw
Wide Institutional Process - Theses
Fill form to request Thesis
assignation in the Student
Management System
{ REST }
Student completes the
submission uploading the
Thesis in the repository
{ REST }
An external Anti-Plagiarism
system will analyze the
Thesis
Advisor approves
{ REST }
Graduation
recorded in the
Student
Management
System
1. quick prototyping end users functionalities
a. notification services of pending tasks, unfinished submissions, …
b. reporting tools: usage, content and workflow statistics
2. extraction and external batch processing of the data in the
developer preferred programming language
3. data crawling and enrichment
More and more
… there are indeed no limits to the integrations that can be
implemented
«Alexa, ask DSpace demo for
the number of items»
Do you want to talks with DSpace?
«Alexa, ask DSpace demo to search
for molecular »
«Alexa, ask DSpace demo for information about John Smith»
Andrea Bollini, 4Science
andrea.bollini@4science.it
https://orcid.org/0000-0002-9029-1854

More Related Content

What's hot

ORCID Adoption & Integration in DSpace
ORCID Adoption & Integration in DSpaceORCID Adoption & Integration in DSpace
ORCID Adoption & Integration in DSpaceORCID, Inc
 
Data Science with the Help of Metadata
Data Science with the Help of MetadataData Science with the Help of Metadata
Data Science with the Help of MetadataJim Dowling
 
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...Amazon Web Services
 
Cenitpede: Analyzing Webcrawl
Cenitpede: Analyzing WebcrawlCenitpede: Analyzing Webcrawl
Cenitpede: Analyzing WebcrawlPrimal Pappachan
 
Gateways 2020 Tutorial - Automated Data Ingest and Search with Globus
Gateways 2020 Tutorial - Automated Data Ingest and Search with GlobusGateways 2020 Tutorial - Automated Data Ingest and Search with Globus
Gateways 2020 Tutorial - Automated Data Ingest and Search with GlobusGlobus
 
Fifth Elephant Apache Atlas Talk
Fifth Elephant Apache Atlas TalkFifth Elephant Apache Atlas Talk
Fifth Elephant Apache Atlas TalkVimal Sharma
 
Gateways 2020 Tutorial - Large Scale Data Transfer with Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with GlobusGateways 2020 Tutorial - Large Scale Data Transfer with Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with GlobusGlobus
 
Open Metadata and Governance with Apache Atlas
Open Metadata and Governance with Apache AtlasOpen Metadata and Governance with Apache Atlas
Open Metadata and Governance with Apache AtlasDataWorks Summit
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commonsJesse Wang
 
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012Amazon Web Services
 
ACS 248th Paper 108 NIST-IUPAC Solubility Data
ACS 248th Paper 108 NIST-IUPAC Solubility DataACS 248th Paper 108 NIST-IUPAC Solubility Data
ACS 248th Paper 108 NIST-IUPAC Solubility DataStuart Chalk
 
A Data API with Security and Graph-Level Access Control
A Data API with Security and Graph-Level Access ControlA Data API with Security and Graph-Level Access Control
A Data API with Security and Graph-Level Access ControlBarry Norton
 
London HUG
London HUGLondon HUG
London HUGBoudicca
 
Mining a Large Web Corpus
Mining a Large Web CorpusMining a Large Web Corpus
Mining a Large Web CorpusRobert Meusel
 
Hybrid Enterprise Knowledge Graphs
Hybrid Enterprise Knowledge GraphsHybrid Enterprise Knowledge Graphs
Hybrid Enterprise Knowledge GraphsPeter Haase
 
Visual Ontology Modeling for Domain Experts and Business Users with metaphactory
Visual Ontology Modeling for Domain Experts and Business Users with metaphactoryVisual Ontology Modeling for Domain Experts and Business Users with metaphactory
Visual Ontology Modeling for Domain Experts and Business Users with metaphactoryPeter Haase
 

What's hot (20)

hlit resource roster
hlit resource rosterhlit resource roster
hlit resource roster
 
Shaun-Ellis-feb25
Shaun-Ellis-feb25Shaun-Ellis-feb25
Shaun-Ellis-feb25
 
ORCID Adoption & Integration in DSpace
ORCID Adoption & Integration in DSpaceORCID Adoption & Integration in DSpace
ORCID Adoption & Integration in DSpace
 
Data Science with the Help of Metadata
Data Science with the Help of MetadataData Science with the Help of Metadata
Data Science with the Help of Metadata
 
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
AWS Public Data Sets: How to Stage Petabytes of Data for Analysis in AWS (WPS...
 
Cenitpede: Analyzing Webcrawl
Cenitpede: Analyzing WebcrawlCenitpede: Analyzing Webcrawl
Cenitpede: Analyzing Webcrawl
 
Gateways 2020 Tutorial - Automated Data Ingest and Search with Globus
Gateways 2020 Tutorial - Automated Data Ingest and Search with GlobusGateways 2020 Tutorial - Automated Data Ingest and Search with Globus
Gateways 2020 Tutorial - Automated Data Ingest and Search with Globus
 
Fifth Elephant Apache Atlas Talk
Fifth Elephant Apache Atlas TalkFifth Elephant Apache Atlas Talk
Fifth Elephant Apache Atlas Talk
 
Gateways 2020 Tutorial - Large Scale Data Transfer with Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with GlobusGateways 2020 Tutorial - Large Scale Data Transfer with Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with Globus
 
Open Metadata and Governance with Apache Atlas
Open Metadata and Governance with Apache AtlasOpen Metadata and Governance with Apache Atlas
Open Metadata and Governance with Apache Atlas
 
The Web of data and web data commons
The Web of data and web data commonsThe Web of data and web data commons
The Web of data and web data commons
 
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
AWS Customer Presentation: Freie Univerisitat - Berlin Summit 2012
 
ACS 248th Paper 108 NIST-IUPAC Solubility Data
ACS 248th Paper 108 NIST-IUPAC Solubility DataACS 248th Paper 108 NIST-IUPAC Solubility Data
ACS 248th Paper 108 NIST-IUPAC Solubility Data
 
A Data API with Security and Graph-Level Access Control
A Data API with Security and Graph-Level Access ControlA Data API with Security and Graph-Level Access Control
A Data API with Security and Graph-Level Access Control
 
Rdbms
RdbmsRdbms
Rdbms
 
London HUG
London HUGLondon HUG
London HUG
 
Multi model-databases
Multi model-databasesMulti model-databases
Multi model-databases
 
Mining a Large Web Corpus
Mining a Large Web CorpusMining a Large Web Corpus
Mining a Large Web Corpus
 
Hybrid Enterprise Knowledge Graphs
Hybrid Enterprise Knowledge GraphsHybrid Enterprise Knowledge Graphs
Hybrid Enterprise Knowledge Graphs
 
Visual Ontology Modeling for Domain Experts and Business Users with metaphactory
Visual Ontology Modeling for Domain Experts and Business Users with metaphactoryVisual Ontology Modeling for Domain Experts and Business Users with metaphactory
Visual Ontology Modeling for Domain Experts and Business Users with metaphactory
 

Similar to OR2019 DSpace 7: Open for integration

ITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul ServicesITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul ServicesOrtus Solutions, Corp
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Julie Allinson
 
Alfresco WCM Case Study: National Academy of Sciences
Alfresco WCM Case Study: National Academy of SciencesAlfresco WCM Case Study: National Academy of Sciences
Alfresco WCM Case Study: National Academy of Sciencesrivetlogic
 
SPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx WebpartSPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx WebpartJenkins NS
 
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptxTransform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptxkmani5
 
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).ppt
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).pptTransform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).ppt
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).pptHusseinWassof
 
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web ServicesAzure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web ServicesBob German
 
XSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata TutorialXSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata Tutorialmarpierc
 
Sword Or2008 Julieallinson
Sword Or2008 JulieallinsonSword Or2008 Julieallinson
Sword Or2008 JulieallinsonJulie Allinson
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fuseboxnascomgenk
 
Portfolio interoperability progress in the UK
Portfolio interoperability progress in the UKPortfolio interoperability progress in the UK
Portfolio interoperability progress in the UKSimon Grant
 
Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29Julie Allinson
 
Replicating FLOSS Research as eResearch
Replicating FLOSS Research as eResearchReplicating FLOSS Research as eResearch
Replicating FLOSS Research as eResearchAndrea Wiggins
 
PoolParty Thesaurus Management Quick Overview
PoolParty Thesaurus Management Quick OverviewPoolParty Thesaurus Management Quick Overview
PoolParty Thesaurus Management Quick OverviewAndreas Blumauer
 

Similar to OR2019 DSpace 7: Open for integration (20)

ITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul ServicesITB2016 - Building ColdFusion RESTFul Services
ITB2016 - Building ColdFusion RESTFul Services
 
Shruti Kulkarni (1)
Shruti Kulkarni (1)Shruti Kulkarni (1)
Shruti Kulkarni (1)
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29
 
Sword Cetis 2007 06 29
Sword Cetis 2007 06 29Sword Cetis 2007 06 29
Sword Cetis 2007 06 29
 
Alfresco WCM Case Study: National Academy of Sciences
Alfresco WCM Case Study: National Academy of SciencesAlfresco WCM Case Study: National Academy of Sciences
Alfresco WCM Case Study: National Academy of Sciences
 
SPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx WebpartSPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx Webpart
 
Library cloud abcd
Library cloud   abcdLibrary cloud   abcd
Library cloud abcd
 
Vaibhav_Jain
Vaibhav_JainVaibhav_Jain
Vaibhav_Jain
 
Getting Started with API Management
Getting Started with API ManagementGetting Started with API Management
Getting Started with API Management
 
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptxTransform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx
 
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).ppt
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).pptTransform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).ppt
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).ppt
 
Azure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web ServicesAzure for SharePoint Developers - Workshop - Part 3: Web Services
Azure for SharePoint Developers - Workshop - Part 3: Web Services
 
Enterprise REST
Enterprise RESTEnterprise REST
Enterprise REST
 
XSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata TutorialXSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata Tutorial
 
Sword Or2008 Julieallinson
Sword Or2008 JulieallinsonSword Or2008 Julieallinson
Sword Or2008 Julieallinson
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fusebox
 
Portfolio interoperability progress in the UK
Portfolio interoperability progress in the UKPortfolio interoperability progress in the UK
Portfolio interoperability progress in the UK
 
Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29
 
Replicating FLOSS Research as eResearch
Replicating FLOSS Research as eResearchReplicating FLOSS Research as eResearch
Replicating FLOSS Research as eResearch
 
PoolParty Thesaurus Management Quick Overview
PoolParty Thesaurus Management Quick OverviewPoolParty Thesaurus Management Quick Overview
PoolParty Thesaurus Management Quick Overview
 

More from 4Science

From Digital Records to Digital Cultural Landscapes. Beyond Digital Library b...
From Digital Records to Digital Cultural Landscapes. Beyond Digital Library b...From Digital Records to Digital Cultural Landscapes. Beyond Digital Library b...
From Digital Records to Digital Cultural Landscapes. Beyond Digital Library b...4Science
 
“Adoption DSpace 7 and 8 Challenges and Solutions from Real Migration Experie...
“Adoption DSpace 7 and 8 Challenges and Solutions from Real Migration Experie...“Adoption DSpace 7 and 8 Challenges and Solutions from Real Migration Experie...
“Adoption DSpace 7 and 8 Challenges and Solutions from Real Migration Experie...4Science
 
DSpace-CRIS design & Implementation
DSpace-CRIS design & ImplementationDSpace-CRIS design & Implementation
DSpace-CRIS design & Implementation4Science
 
Status of discussions with repository platforms_ DSpace.pdf
Status of discussions with repository platforms_ DSpace.pdfStatus of discussions with repository platforms_ DSpace.pdf
Status of discussions with repository platforms_ DSpace.pdf4Science
 
DSpace GLAM Infographic.pdf
DSpace GLAM Infographic.pdfDSpace GLAM Infographic.pdf
DSpace GLAM Infographic.pdf4Science
 
DSpace CRIS EFS Miami.pdf
DSpace CRIS EFS Miami.pdfDSpace CRIS EFS Miami.pdf
DSpace CRIS EFS Miami.pdf4Science
 
IIIF and DSpace 7 - IIIF Conference 2023.pdf
IIIF and DSpace 7 - IIIF Conference 2023.pdfIIIF and DSpace 7 - IIIF Conference 2023.pdf
IIIF and DSpace 7 - IIIF Conference 2023.pdf4Science
 
DSpace-CRIS, anticipating innovation
DSpace-CRIS, anticipating innovationDSpace-CRIS, anticipating innovation
DSpace-CRIS, anticipating innovation4Science
 
DSpace 7 ORCID Integration
DSpace 7 ORCID IntegrationDSpace 7 ORCID Integration
DSpace 7 ORCID Integration4Science
 
Bringing IIIF to the DSpace community
Bringing IIIF to the DSpace communityBringing IIIF to the DSpace community
Bringing IIIF to the DSpace community4Science
 
Implementing the Notify protocol and standard practices in DSpace
Implementing the Notify protocol and standard practices in DSpaceImplementing the Notify protocol and standard practices in DSpace
Implementing the Notify protocol and standard practices in DSpace4Science
 
The EOSC DIH "ELD Advance" project
The EOSC DIH "ELD Advance" projectThe EOSC DIH "ELD Advance" project
The EOSC DIH "ELD Advance" project4Science
 
DSpace implementation of the COAR Notify Project - status update
DSpace implementation of the COAR Notify Project - status updateDSpace implementation of the COAR Notify Project - status update
DSpace implementation of the COAR Notify Project - status update4Science
 
Convegno Stelline 2020 - 4Science -16 settembre _ pubbliche
Convegno Stelline 2020 - 4Science -16 settembre _ pubblicheConvegno Stelline 2020 - 4Science -16 settembre _ pubbliche
Convegno Stelline 2020 - 4Science -16 settembre _ pubbliche4Science
 
Convegno Stelline 2020 - 4Science -16 settembre _ accademiche
Convegno Stelline 2020 - 4Science -16 settembre _ accademicheConvegno Stelline 2020 - 4Science -16 settembre _ accademiche
Convegno Stelline 2020 - 4Science -16 settembre _ accademiche4Science
 
Convegno Stelline 2020 - 4Science
Convegno Stelline 2020 - 4Science Convegno Stelline 2020 - 4Science
Convegno Stelline 2020 - 4Science 4Science
 
DSpace-CRIS 7: What is Coming? OR2020
DSpace-CRIS 7: What is Coming? OR2020DSpace-CRIS 7: What is Coming? OR2020
DSpace-CRIS 7: What is Coming? OR20204Science
 
News about DSpace-CRIS Anwendertreffen 2020
News about DSpace-CRIS Anwendertreffen 2020News about DSpace-CRIS Anwendertreffen 2020
News about DSpace-CRIS Anwendertreffen 20204Science
 
Digital library: riflessioni su scelte e obiettivi. Visibilità delle collezio...
Digital library: riflessioni su scelte e obiettivi. Visibilità delle collezio...Digital library: riflessioni su scelte e obiettivi. Visibilità delle collezio...
Digital library: riflessioni su scelte e obiettivi. Visibilità delle collezio...4Science
 
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...4Science
 

More from 4Science (20)

From Digital Records to Digital Cultural Landscapes. Beyond Digital Library b...
From Digital Records to Digital Cultural Landscapes. Beyond Digital Library b...From Digital Records to Digital Cultural Landscapes. Beyond Digital Library b...
From Digital Records to Digital Cultural Landscapes. Beyond Digital Library b...
 
“Adoption DSpace 7 and 8 Challenges and Solutions from Real Migration Experie...
“Adoption DSpace 7 and 8 Challenges and Solutions from Real Migration Experie...“Adoption DSpace 7 and 8 Challenges and Solutions from Real Migration Experie...
“Adoption DSpace 7 and 8 Challenges and Solutions from Real Migration Experie...
 
DSpace-CRIS design & Implementation
DSpace-CRIS design & ImplementationDSpace-CRIS design & Implementation
DSpace-CRIS design & Implementation
 
Status of discussions with repository platforms_ DSpace.pdf
Status of discussions with repository platforms_ DSpace.pdfStatus of discussions with repository platforms_ DSpace.pdf
Status of discussions with repository platforms_ DSpace.pdf
 
DSpace GLAM Infographic.pdf
DSpace GLAM Infographic.pdfDSpace GLAM Infographic.pdf
DSpace GLAM Infographic.pdf
 
DSpace CRIS EFS Miami.pdf
DSpace CRIS EFS Miami.pdfDSpace CRIS EFS Miami.pdf
DSpace CRIS EFS Miami.pdf
 
IIIF and DSpace 7 - IIIF Conference 2023.pdf
IIIF and DSpace 7 - IIIF Conference 2023.pdfIIIF and DSpace 7 - IIIF Conference 2023.pdf
IIIF and DSpace 7 - IIIF Conference 2023.pdf
 
DSpace-CRIS, anticipating innovation
DSpace-CRIS, anticipating innovationDSpace-CRIS, anticipating innovation
DSpace-CRIS, anticipating innovation
 
DSpace 7 ORCID Integration
DSpace 7 ORCID IntegrationDSpace 7 ORCID Integration
DSpace 7 ORCID Integration
 
Bringing IIIF to the DSpace community
Bringing IIIF to the DSpace communityBringing IIIF to the DSpace community
Bringing IIIF to the DSpace community
 
Implementing the Notify protocol and standard practices in DSpace
Implementing the Notify protocol and standard practices in DSpaceImplementing the Notify protocol and standard practices in DSpace
Implementing the Notify protocol and standard practices in DSpace
 
The EOSC DIH "ELD Advance" project
The EOSC DIH "ELD Advance" projectThe EOSC DIH "ELD Advance" project
The EOSC DIH "ELD Advance" project
 
DSpace implementation of the COAR Notify Project - status update
DSpace implementation of the COAR Notify Project - status updateDSpace implementation of the COAR Notify Project - status update
DSpace implementation of the COAR Notify Project - status update
 
Convegno Stelline 2020 - 4Science -16 settembre _ pubbliche
Convegno Stelline 2020 - 4Science -16 settembre _ pubblicheConvegno Stelline 2020 - 4Science -16 settembre _ pubbliche
Convegno Stelline 2020 - 4Science -16 settembre _ pubbliche
 
Convegno Stelline 2020 - 4Science -16 settembre _ accademiche
Convegno Stelline 2020 - 4Science -16 settembre _ accademicheConvegno Stelline 2020 - 4Science -16 settembre _ accademiche
Convegno Stelline 2020 - 4Science -16 settembre _ accademiche
 
Convegno Stelline 2020 - 4Science
Convegno Stelline 2020 - 4Science Convegno Stelline 2020 - 4Science
Convegno Stelline 2020 - 4Science
 
DSpace-CRIS 7: What is Coming? OR2020
DSpace-CRIS 7: What is Coming? OR2020DSpace-CRIS 7: What is Coming? OR2020
DSpace-CRIS 7: What is Coming? OR2020
 
News about DSpace-CRIS Anwendertreffen 2020
News about DSpace-CRIS Anwendertreffen 2020News about DSpace-CRIS Anwendertreffen 2020
News about DSpace-CRIS Anwendertreffen 2020
 
Digital library: riflessioni su scelte e obiettivi. Visibilità delle collezio...
Digital library: riflessioni su scelte e obiettivi. Visibilità delle collezio...Digital library: riflessioni su scelte e obiettivi. Visibilità delle collezio...
Digital library: riflessioni su scelte e obiettivi. Visibilità delle collezio...
 
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
How to enhance your DSpace repository: use cases for DSpace-CRIS, DSpace-RDM,...
 

Recently uploaded

Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 

Recently uploaded (20)

Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 

OR2019 DSpace 7: Open for integration

  • 1. DSpace 7: Open for Integration Andrea Bollini, 4Science Luigi Andrea Pascarell, 4Science Open Repositories 2019, Hamburg, June 10-13
  • 2. To adopt a Repository-as-a-Service model, support different users and communities, it is crucial to be able to interact with the repository with different, unanticipated patterns and modalities embedding the repository in existing workflows, connecting and combining tools. About
  • 3. Why a new REST API? Covers only a subset of DSpace functionality Not based on current REST best practices or standards Handcrafted in Jersey, while most DSpace code uses Spring technologies 4.x - 6.x No search No submit / workflows Limited admin operations Limited write / delete (4.x was read only)
  • 4. All features MUST be in REST API (for Angular UI) Defined REST Contract. HATEOAS, ALPS, HAL format Built using Spring technologies (Spring Boot, MVC, HATEOAS) Bonus: better third-party app integration! 7.x { REST } Why a new REST API?
  • 5. REST Maturity Level Image from: https://martinfowler.com/articles/richardsonMaturityModel.html { REST } HATEOAS = Hypertext As The Engine Of Application State Allow the client to discover the “next step” HAL = Hypertext Application Language (JSON or XML) Talk a simple standard language ALPS = Application Level Profile Semantics Be specific about your expectation and promise
  • 6. You can use the command line… curl "https://dspace7.4science.cloud/dspace-spring-rest/api" But, there are better ways… using a REST client Interacting with a REST API
  • 7. • The Official REST Demo public instance (provided by 4Science) – https://dspace7.4science.it/dspace-spring-rest/ • Navigate to the link above to explore HAL Browser
  • 8.
  • 11. Response Body RAW JSON Response The HAL Browser will parse the key elements: _links _embedded Everything else
  • 14. Links: All endpoints are available from the Entry Point
  • 16. Links - A generic approach to paginated results
  • 19. On a COLLECTION Endpoint (“set of all” items, communities, etc.) - POST Adds a new element to the collection - GET Returns the first page of the resources in the collection On a single RESOURCE Endpoint (specific item, collection, etc) - GET Returns a single entity - HEAD Returns whether the item resource is available - PUT Replaces the state - PATCH Similar to PUT but partially updating the resources state - DELETE Deletes the resource exposed Right use of the HTTP Verbs
  • 20. ● uniform, consistent and self-documented behaviour ● full functional coverage, both for anonymous user and privileged users ● stable, well documented and fully tested solution so that integration will not easily break from one version to another ○ Test-Driven Development ○ Contract first approach Reliable, stable and automatically tested 76% Test Coverage, mainly Integration Test { REST }
  • 22. Reuse of the information { REST } Embedding Javascript code “Badge” in personal websites List of departments and research group publications Complete backend integration with search, browse, editing capabilities
  • 25. Wide Institutional Process - Theses Fill form to request Thesis assignation in the Student Management System { REST } Student completes the submission uploading the Thesis in the repository { REST } An external Anti-Plagiarism system will analyze the Thesis Advisor approves { REST } Graduation recorded in the Student Management System
  • 26. 1. quick prototyping end users functionalities a. notification services of pending tasks, unfinished submissions, … b. reporting tools: usage, content and workflow statistics 2. extraction and external batch processing of the data in the developer preferred programming language 3. data crawling and enrichment More and more … there are indeed no limits to the integrations that can be implemented
  • 27. «Alexa, ask DSpace demo for the number of items» Do you want to talks with DSpace? «Alexa, ask DSpace demo to search for molecular » «Alexa, ask DSpace demo for information about John Smith»
  • 28.