Difference between revisions of "SDI Library"

From Gcube Wiki
Jump to: navigation, search
(Static Clients)
Line 17: Line 17:
  
 
== Static Clients ==
 
== Static Clients ==
 +
Static clients are directly defined in '''sdi-library''', so no dynamic loading is needed.
 +
They are implemented as gCube-fw-clients towards [[[SDI Sevice]]] REST interfaces and cover most common use cases such as :
 +
 +
* Manage SDI configuration (instances, credentials, IS Resources)
 +
* Manage Application Profiles
 +
* Instantiate '''Dynamic clients'''
 +
* Common basic publish logic
 +
 
=== SDI Management ===
 
=== SDI Management ===
 +
 +
==== Instantiate specific client ====
 +
SDI Management should be used to dynamically instantiate client implementations against runtime configuration.
 +
It deals with
  
 
== Dynamic Clients ==
 
== Dynamic Clients ==

Revision as of 18:02, 22 February 2021

SDI Library is a java library designed to help developers interact with gCube SDI. It is the main entry point for developpers wanting to exploits client implementations towards the SDI subsystems (i.e. SDI-Service, GeoNetwork, GeoServer ). It offers static gCube-fw-clients that communicate with SDI-Service for the management of gCube SDI and common publication features. It also manages client implementation for third-parties SDI technologies, allowing for direct communication with these subsystems.

Design

Following diagram illustrate the relations between the various clients components in gcube-sdi-suite.

SDI Clients


To external users, the main component of interest is sdi-library, built on top of the sdi-interface which contains common classes definition. SDI Library exposes basic gCube clients towards [[[SDI-Service]]] REST interfaces. SDI Library also exposes means to dynamically load and instantiate client implementations for specific SDI subsystems (e.g. GeoServer, GeoNetwork).

Philosophy

The library has been designed to maximize isolation of dependencies : common complex logic is supported on services and client implementations are discovered at runtime.


Static Clients

Static clients are directly defined in sdi-library, so no dynamic loading is needed. They are implemented as gCube-fw-clients towards [[[SDI Sevice]]] REST interfaces and cover most common use cases such as :

  • Manage SDI configuration (instances, credentials, IS Resources)
  • Manage Application Profiles
  • Instantiate Dynamic clients
  • Common basic publish logic

SDI Management

Instantiate specific client

SDI Management should be used to dynamically instantiate client implementations against runtime configuration. It deals with

Dynamic Clients

GeoServer

GeoNetwork

Use Cases

Migrating from legacy GIS - Interface

Migrating from legacy Geonetwork library