Skip to content

ARCHITECTURE

Gino Carrozzo edited this page Jan 25, 2019 · 7 revisions

The functional high-level design of the 5G App and Service Catalogue is depicted in Figure below

5G App and Service Catalogue functional high-level architecture

The main Catalogue’s building blocks are:

  • North-Bound Interface (NBI): With the purpose of being standard-aligned also in terms of interfaces specification and implementation, the NBI of the Catalogue is designed and developed following the REST API defined in ETSI GS NFV SOL005 v2.4.1 specification for the Os-Ma-Nfvo reference point. In particular, implementing the interfaces for NSD Management and VNF Package Management operations (e.g. upload, fetch, update, delete and query), see section [6.1].
  • Admin Interface and Policy Engine: The Admin Interface is intended to be used by the Catalogue owner for the management of the user’s subscription and policies configuration.
  • Dispatch Engine: The Dispatch Engine is the functional module representing the Catalogue’s inner logic for implementing the different workflows related to NSDs and App/VNF Packages management, for instance coordinating the NSD validation, persistency and translation.
  • Notification Dispatch Interface: The Notification Interface maps to the Catalogue’s message bus handler used for notifying events or distribute specific NSD or App/VNF Package information to external consumers (e.g. information from monitoring descriptors), but also for the intra-Catalogue communication between the different sub-modules.
  • MANO Plugins: A MANO Plugin can be considered as a connector to a specific underlying MANO framework. In particular, a MANO Plugin is responsible for the translation of descriptors in the MANO-specific format, for the uploading of the package’s images and for actuating the NSD and VNF Package CRUD operation on top of the MANO SO.
  • SDN Plugins: An SDN Plugin is a component capable of deploying SDN Applications in a specific SDN Controller type.

Software requirements

The 5G App and Service Catalogue is developed as a Java Spring Boot application and adopts Maven as build automation tool, PostgreSQL as SQL database (DB) and Apache Kafka as message broker.

  • Oracle-Java8, Java Development Kit version 8 is preferred.
  • Apache Maven, tool for software project management that is based on the concept of project object model (POM).
  • PostgresSQL, SQL-based open source object-relational database system.
  • Apache Kafka, distributed streaming platform that allows to publish and subscribe to streams of records.
  • NfvManoLibsSol001Common, Java library developed in the context of the http://www.5gmedia.eu/ project and implementing the SOL 001 base datatypes.
  • NfvManoLibsSol001Descriptors, Java library developed in the context of the http://www.5gmedia.eu/ project and implementing the SOL 001 NSD and VNFD information elements.
  • J-OSMClient, open source Java library implementing a client for operating on top of the OSM Service Orchestrator (SO) NBI.
  • OpenStack4j, open source Java library implementing a client which allows provisioning and control of an OpenStack instance.

Simplified software architecture

5g-catalogue simplified software architecture

NAVIGATION

Clone this wiki locally