Service Catalogue
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
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.
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.
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.
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.
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
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
- Vincenzo Savarino: vincenzo.savarino@eng.it
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.