Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Page Properties
hiddentrue

Status

Status
colour

Yellow

Blue
title

progress

review

Priority1
Note
AssigneeMax (+DEV), Inga

Resources

Remarks


Excerpt

A better way of understanding our yuuvis® Momentum microservices - graphical overviews of the architecture and basic use case flows 

...

By chunking up the system into microservices it can be tough to keep the overview of all available services, their relationships and dependencies to each other. The following graphical overview of our microservice architecture offers you a first entry point into the yuuvis® Momentum landscape. By providing further and more detailed examples based on special use cases (flows) you'll get a better and easy way of understanding our entire landscape.

Graphical Overview

For visualizing the topology of our microservices the following overview shows - on a higher level - many of our core microservices. 
For understanding various flows - on a more granular level - check out the detailed diagrams visualizing special use case. 

Login to the Core API - Authentication (Browser / Application)

...

Expand
titleClick here to show the content retrieval flow by ID >>


Image Modified

1. - HTTP get request to object URL

2. - Enrichment of request with authentication Token

3. - Check for User Authorization using search service query

4. - Query elastic search for object ID

5. - Elasticsearch metadata

reponse

response (if user is authorized)

6. - Repository url of objectId

7. - Request content of objectID

8. - Query objectId in Storage Provider

9. - Storage Provider metadata response

10. - Return metadata object metadata

11. - Write CONTENT_ACCESSED audit entry

12. - Create API response from metadata

13. - Return HTTP metadata response

Webhook entry points

*1 - dms.response.objects



Expand
titleClick here to show the content retrieval flow by ID (older version) >>


1. - HTTP get request to object URL

2. - Enrichment of request with authentication Token

3. - Check for User Authorization using search service query

4. - Query elastic search for object ID

5. - Elasticsearch metadata response (if user is authorized)

6. - Verify that user has object access rights

7. - Retrieve metadata version using Registry Service

8. - Query object metadata version from database

9. - Return metadata including Repository URL of content

10. - Return content Repo URL

11. - Request content of objectID

12. - Query objectId in Storage Provider

13. - Storage Provider metadata response

14. - Return metadata object metadata

15. - Write CONTENT_ACCESSED audit entry

16. - Create API response from metadata

17. - Return HTTP metadata response

Webhook entry points

*1 - dms.response.objects


...

Expand
titleClick here to show the search queries flow >>


1. - HTTP get request to object URL

2. - Enrichment of request with authentication Token

3. - Request query execution

4. - Translate and send ES query

5. - Recieve Receive ES query results

6. - Return metadata object list

7. - Create API response from metadata

8. - Return HTTP metadata response

Webhook entry points

*1 - dms.request.search

*2 - dms.response.objects


Update Content

xxxThe content of an already imported document into the yuuvis® Momentum system can be updated using the provided core API's HTTP requests for updating the content (POST /api/dms/objects/{objectId}/contents/file).

>> Updating Documents via Core API

Expand
titleClick here to show the update content flow >>


1. - HTTP post request to content url of object

2. - Enrichment of the Request with authentication token

3. - Verify user has writing permissions on object using Search Service

4. - Query object in Elastic Search

5. - Return ElasticSearch query results

6. - Return User Authorization Verification results

7. - Infer analysis of new content item

8. - Commit new content to storage

9. - Content Storage Handling

9.1 - Using custom storage via Archive Service

9.2 - Using s3 interface of repository

10. - Update object metadata contentstream attribute

11. - Commit updated metadata to database and index

12. - Index the updated metadata in ES

13. - Write CONTENT_UPDATED audit entry

14. - Return updated metadata

15. - Create API response from metadata

16. - Return updated metadata

Webhook entry points

*1 - dms.response.objects


Update Metadata

...

The metadata of an already imported document into the yuuvis® Momentum system can be updated using the provided core API's HTTP requests for updating the metadata (POST /api/dms/objects/{objectId} / PATCH /api/dms/objects/{objectId}).

>> Updating Documents via Core API

Expand
titleClick here to show the update metadate flow >>


1. - HTTP post request to object id URL

2. - Enrichment of request with authentication token

3. - Query for objectId using Search Service to verify user Authorization

4. - Query Elasticsearch for object

5. - Elasticsearch object response (if user is properly authenticated)

6. - Authorization Test query response

7. - Infer metadata validation and update

8. - Commit updated metadata to index

9. - Index updated metadata in ES

10. - If Expiration Date has changed: update content storage via Archive Service

11. - Update metadata in Database

12. - Write METADATA_UPDATED audit entry

13. - Return updated metadata

14. - Create API response from metadata

15. - Return metadata HTTP response

Webhook entry points

*1 - dms.request.update.metadat

*2 - dms.response.objects


Deletion

...

An already imported document into the yuuvis® Momentum system can be deleted using the provided core API's HTTP requests for deleting documents (DELETE /api/dms/objects/{objectId}).

>> Deleting Documents via Core API

Expand
titleClick here to show the deletion flow >>


1. - HTTP delete request to object id URL

2. - Enrichment of request with authentication token

3. - Query object using Search Service to verify user Authorization

4. - Query object in ElasticSearch

5. - ElasticSearch object reponse

6. - Authorization Verification Results

7. - Infer deletion of content

8. - Flag as deleted in ElasticSearch via Index

9. - Flag as deleted across Storage Providers

10. - Flag as deleted in Database

11. - Return deletion Status Code

12. - OBJECT_DELETED audit entry

13. - Return Deletion Results

Webhook entry points

*1 - dms.response.objects


...

Info
iconfalse

Read on

Section


Column
width25%

Another Tutorial

Brief summary of the article linked.


Column
width25%

Another Concept Article

Brief summary of the article linked.


Column
width25%

Another interesting Tutorial

Brief summary of the article linked.