/Service-Catalogue

Primary LanguageJavaGNU Affero General Public License v3.0AGPL-3.0

Service Catalogue

License badge Docker Pulls Documentation badge

Service Catalogue provides all functionality to register, model, map and publish and manage all the information needed to support the uses of service (public&private) according to the following three points of view:

  • Informational
  • Service Invocation
  • Semantic interoperability & Personal Data Governance

The catalogue enables the storage and publishing of service by providing general, technical and data processing information based on standard models ( e.g. ISA2 CPSV-AP ).

Service Catalogue is an open source software developed by Engineering Ingegneria Informatica SpA inside the EU founded project ACROSS.

📚 Documentation 🐳 Docker Hub

Table of Contents

  1. Introduction
  2. Installation
  3. Usage
  4. API
  5. License
  6. Libraries

Introduction

The Service Catalogue is a layered application implementing the Service Registry (front-end and backend) and Metadata Catalogue features, to provide APIs for programmatically interaction with other components of ACROSS platform and dashboards and a graphical editors supporting users to manage service descriptions and related Service Model adaptation.

alt tag

The Backend is implemented as Spring Boot Java microservice, and will be deployed with a tightly coupled storage service (MongoDB 4.2+). The Front-end,named Service Catalogue Manager, is an Angular portal based on Nebular framework.

alt tag

The two layers can be deployed as Docker containers, based on Tomcat Alpine image and paired with a MongoDB container. This adoption of several reliable and production ready technologies guarantees robustness and modularity of the solution.

alt tag

Service Catalogue architecture implementation is completed by integrating Spring Security and Keycloak that supports OpenId Connect and OAuth2 authorization framework. The Service Catalogue uses the Open Id Connect protocol upon the OAuth2 Authorization workflows, in order to perform User authentication and obtain an Access Token (JWT), which will be used to grant access.

alt tag

Similarly, a client application/service wanting to interact with the Service Catalogue, will perform OAuth2 Authorization, obtaining an Access Token to be used in the request to APIs.The choice of Keycloak provides an out of box solution for a rapid security layer development of application with supporting features such as Single-Sign-On (SSO), Social Login, User Federation, Client Adapters, Admin Console and Account Management Console and finally Identity Brokering

alt tag

This last aspect will facilitate the integration of the Service Catalogue with multiple and specific identity Systems.

Installation

The instruction to install Service Catalogue modules can be found at the corresponding install section

Usage

The User Guide for Service Catalogue Manager can be found at the corresponding usage section

API

The Service Catalogue APIs Introduction can be found at the corresponding section of API.

Support / Contact

Any feedback on this documentation is highly welcome, including bugs, typos and suggestions. You can use GitHub issues to provide feedback.

Contacts

License

Service Catalogue is licensed under AGPLv3 License.


Libraries

Service Catalogue Suite uses following libraries and frameworks.

Name Version License
Spring Boot 2.4.5 Apache License 2.0
Springdoc Openapi 1.5.8 Apache License 2.0
Spring Data 2.4.5 Apache License 2.0
Lombok 1.18.12 MIT
Apache Commong Lang 3 3.11 Apache License 2.0
JSONSchema2Pojo Plugin 1.01 Apache License 2.0
Angular 11.2.12 MIT
Nebular 7.0.0 MIT
Json-Editor 2.8.0 MIT
Bootstrap 4.6.0 MIT
Ngx-configure 9.0.0 ISC License
Ng2-smart-table 1.7.2 MIT
Rxjs 6.6.7 Apache License 2.0
Ngx-translate 13.0.0 MIT
TypeScript 4.1.5 Apache License 2.0
jQuery 3.5.1 MIT
D3 6.6.2 BSD
Material-design-icons 3.0.1 Apache License 2.0
Fontawesome-free 5.15.3 CC-BY-4.0
Fontawesome-svg-core 1.2.35 MIT
Java OpenJDK >= 15 GNU General Public License Version 2.0
Apache Tomcat >=9.0 Apache License v.2.0
MongoDB Community Server >=4.2.9 Server Side Public License (SSPL)
Maven >=3.5.0 Apache License 2.0
JsonEditor 9.10.0 Apache License 2.0
Lodash 4.17.21 MIT
urlencode 1.1.0 MIT

External Components

Service Catalogue uses the Keycloak IdM (Apache License 2.0).


© 2021-2023 Engineering Ingegneria Informatica S.p.A.