diff options
Diffstat (limited to 'docs/architecture')
-rw-r--r-- | docs/architecture/NBI_R1_Developer_Guide.rst | 51 | ||||
-rw-r--r-- | docs/architecture/architecture.rst | 17 |
2 files changed, 48 insertions, 20 deletions
diff --git a/docs/architecture/NBI_R1_Developer_Guide.rst b/docs/architecture/NBI_R1_Developer_Guide.rst index 893bfc3..1a421f6 100644 --- a/docs/architecture/NBI_R1_Developer_Guide.rst +++ b/docs/architecture/NBI_R1_Developer_Guide.rst @@ -1,4 +1,5 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. This work is licensed under +.. a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. Copyright 2018 ORANGE @@ -10,12 +11,15 @@ NBI - Developer Guide Introduction ************ -NBI is a Java 8 web application built over Spring Framework. Using Spring Boot 1.5.10 dependencies, it runs as a standalone application with an embedded Tomcat server. +NBI is a Java 8 web application built over Spring Framework. +Using Spring Boot 1.5.10 dependencies, it runs as a standalone +application with an embedded Tomcat server. ************ Dependencies ************ -This project use various framework which are managed with Maven dependency management tool (see *pom.xml* file at root level) : +This project use various framework which are managed with Maven +dependency management tool (see *pom.xml* file at root level) : - Swagger annotations - `Spring Framework <https://github.com/spring-projects/spring-boot>`_ @@ -27,16 +31,23 @@ This project use various framework which are managed with Maven dependency manag ************* Configuration ************* -A configuration file, *src/main/resources/application-localhost.properties* list all the component interface that can be configured depending on the environment were the app is deployed. -By default, the application runs with an embedded both MongoDB and MariaDB local instance. -This file also list configurations of all the REST interface maid from NBI to other ONAP component such as SDC, AA&I and SO. +A configuration file, *src/main/resources/application-localhost.properties* +list all the component interface that can be configured depending on +the environment were the application is deployed. +By default, the application runs with an embedded both MongoDB and MariaDB +local instance. +This file also list configurations of all the REST interface maid from NBI +to other ONAP component such as SDC, AA&I and SO. *********** Source tree *********** -This application provides ServiceOrder, ServiceCatalag and ServiceInventory as main functional resources and HealthCheck. Each resource is implemented independently in a package corresponding to its name. +This application provides ServiceOrder, ServiceCatalag and ServiceInventory +as main functional resources and HealthCheck. Each resource is implemented +independently in a package corresponding to its name. -*commons , configuration, and exceptions* are shared technical classes that provided for all the application. +*commons , configuration, and exceptions* are shared technical classes that +provided for all the application. *********************************** @@ -45,20 +56,25 @@ Running and testing the application **Locally** -Ensure that you have a MongoDB and MariaDB instance running and properly configured in *application.properties* file. +Ensure that you have a MongoDB and MariaDB instance running and properly +configured in *application.properties* file. Run *Application.java* class in your favorite IDE -Or through a terminal, ensure that your maven installation is works and run *mvn spring-boot:run* command to start the application. +Or through a terminal, ensure that your maven installation is works and +run *mvn spring-boot:run* command to start the application. **Docker** -Requirements: `Docker engine <https://docs.docker.com/engine/>`_ and `docker-compose <https://docs.docker.com/compose/>`_. +Requirements: `Docker engine <https://docs.docker.com/engine/>`_ and +`docker-compose <https://docs.docker.com/compose/>`_. To start the application: + 1. Generate the application .jar file: `$ mvn clean package` 2. Configure the **.env** file - 3. Start the *MariaDB* and *MongoDB* services: `$ docker-compose up -d mongo mariadb` + 3. Start the *MariaDB* and *MongoDB* services: + `$ docker-compose up -d mongo mariadb` 4. Build and start the *NBI* service: `$ docker-compose up --build -d nbi` You can view the log output of the application with the following command: @@ -66,7 +82,12 @@ You can view the log output of the application with the following command: `$ docker-compose logs -f nbi` **Testing** -When the app is running, you can access the API at :samp:`http://yourhostname:8080/nbi/api/v1` and fill the url with the name of the resources you asking for (/serviceSpecification, /service, /serviceOrder or /status) +When the application is running, you can access the API at +:samp:`http://yourhostname:8080/nbi/api/v1` and fill the URL with the name +of the resources you asking for (/serviceSpecification, /service, +/serviceOrder or /status) You can run a test by using `VisualStudio RestClient plugin <https://github.com/Huachao/vscode-restclient>`_ -See the *restclient* package at root level to find *.vscode/settings.json* configuration file and */json/* package with samples requests that can be run. -You can also trigger these endpoints with any RESTful client or automation framework. +See the *restclient* package at root level to find *.vscode/settings.json* +configuration file and */json/* package with samples requests that can be run. +You can also trigger these endpoints with any RESTful client or automation +framework. diff --git a/docs/architecture/architecture.rst b/docs/architecture/architecture.rst index dc296ab..f5b03d8 100644 --- a/docs/architecture/architecture.rst +++ b/docs/architecture/architecture.rst @@ -1,4 +1,5 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. This work is licensed under +.. a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. Copyright 2018 ORANGE @@ -11,14 +12,17 @@ Introduction ************ -NBI stands for NorthBound Interface. It brings to ONAP a set of API that can be used by external systems as BSS for example. These API are based on **TMF API**. +NBI stands for NorthBound Interface. It brings to ONAP a set of API that can be +used by external systems as BSS for example. +These API are based on **TMF API**. ******************************************* Global NBI architecture for Beijing release ******************************************* -Following illustration provides a global view about nbi architecture,integration with other ONAP components and API resource/operation provided. +Following illustration provides a global view about NBI architecture, +integration with other ONAP components and API resource/operation provided. .. image:: images/ONAP_External_ID_Beijing.jpg :width: 800px @@ -28,7 +32,10 @@ Following illustration provides a global view about nbi architecture,integration Developer Guide *************** -Technical information about NBI (dependancies, configuration, running & testing) could be found here: :doc:`NBI_R1_Developer_Guide <NBI_R1_Developer_Guide>` +Technical information about NBI +(dependencies, configuration, running & testing) +could be found here: :doc:`NBI_R1_Developer_Guide <NBI_R1_Developer_Guide>` -API Flow illustration (with example messages) is described in this document: :download:`nbicallflow.pdf <../offeredapis/pdf/nbicallflow.pdf>` +API Flow illustration (with example messages) is described in this document: +:download:`nbicallflow.pdf <../offeredapis/pdf/nbicallflow.pdf>` |