Openslice backend services are mainly implemented with Java 17 or above and Spring boot.
OpenSlice backend services are mainly implemented with Java 17 or above and Spring boot.
Openslice uses various subsystems and depending on the module would you like to work, other subsystems must be present (you can disable them though in the code, e.g. at application.yml file)
OpenSlice uses various subsystems and depending on the module would you like to work, other subsystems must be present (you can disable them though in the code, e.g. at docker-compose.yaml file).
1b - Or alternatively, commend out the respective container from the docker-compose.yaml file, so as to deploy the whole OpenSlice, except the subsystem you want to work on, following the provided installation steps.
### MySQL server
We use mysql as a storage DB. Please make sure that you have it installed in your system. There are instructions on internet how to install it. Check also our docker-compose installation script
2 - Clone the respective repository, e.g. https://labs.etsi.org/rep/osl/code/org.etsi.osl.tmf.api/-/tree/develop
3 - Code :)
## Oauth server
## General requirements
Keycloak is used as the authentication server.
- Docker should be installed in your development environment
- Run the core subsystems (see above sections)
> Note: Please check the Post installation steps -> Keycloak at localhost, at [Deployment/Installation](../deployment.md), if you are developing in a local environment
## Slack
## VNF/NSD Catalog Management and NSD Deployment API service
Feel free to join OpenSlice [Slack](https://openslice.slack.com) for any development oriented questions
Clone the repository: https://github.com/openslice/org.etsi.osl.portal.api
## Examples on developing on specific subsystems
Check the application.yml file. Default port is 13080. Especially the datasource username/password, server port.
### VNF/NSD Catalog Management and NSD Deployment API service
make sure that the General subsystems are up and running as well as the OAuth server
Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.api/-/tree/develop
run it with `mvn spring-boot:run`
Check the docker-compose.yml file. Default port is 13080. Check specifically the datasource username/password, server port.
You can check your consul server if it registered.
Make sure that the core subsystems are up and running.
### Swagger API
Swagger API of the service is at `http://localhost:13000/osapi/swagger-ui/`. You can try there various REST actions and authenticate via the OAuth server
Execute it with
```bash
mvn spring-boot:run
```
For verification, Swagger API of the service is at `http://localhost:13000/osapi/swagger-ui/index.html`.
## VNF/NSD Catalog Management and NSD Deployment WEB UI service
There, you may try there various REST actions and authenticate via the OAuth server without the use of the UI.
The Web UI is written in AngularJS
Clone the repository: https://github.com/openslice/org.etsi.osl.portal.web
### VNF/NSD Catalog Management and NSD Deployment WEB UI service
by default the project org.etsi.osl.portal.api exposes the folder ../org.etsi.osl.portal.web/src/ in a folder testweb (Check class MvcConfig.java in org.etsi.osl.portal.api) for development. (In production nginx is used). Point your browser to `http://localhost:13000/osapi/testweb/index.html/`
The Web UI is written in AngularJS.
Clone the repository: https://labs.etsi.org/rep/osl/code/org.etsi.osl.portal.web/-/tree/develop
---
By default the project org.etsi.osl.portal.api exposes the folder ../org.etsi.osl.portal.web/src/ in a folder testweb (Check class MvcConfig.java in org.etsi.osl.portal.api) for development. (In production nginx is used). Point your browser to `http://localhost:13000/osapi/testweb/index.html/`
## Version/release management
Check this nice article on how we develop and release versions
Check this nice article on how we develop and release versions.
Openslice is a prototype open source, operations support system. It supports VNF/NSD onboarding to OpenSourceMANO (OSM) and NSD deployment management. It also supports TMFORUM OpenAPIs regarding Service Catalog Management, Ordering, Resource, etc.
The ETSI Software Development Group for OpenSlice (SDG OSL) is developing an open source service based Operations Support System (OSS) to deliver Network Slice as a Service (NSaaS) following specifications from major SDOs including ETSI, TM Forum and GSMA. See more details [here](https://osl.etsi.org/about/).
## Usage
Openslice allows Vertical Customers to browse the available offered service specifications and also allows NFV developers to onboard and manage VNF and Network Service artifacts.
The following figure displays the usage of Openslice.
OpenSlice allows Vertical Customers to browse the available offered service specifications and also allows NFV developers to onboard and manage VNF and Network Service artifacts. It also supports TMFORUM OpenAPIs regarding Service Catalog Management, Ordering, Resource, etc.
The following figure displays the usage of OpenSlice.
There are two portals offering UI friendly access to users:
...
...
@@ -18,23 +18,23 @@ There are two portals offering UI friendly access to users:
* The Services portal allows users to access services and service providers to design services.
* The NFV portal allows users to self-manage NFV artifacts and onboard them to a target MANO/NFV Orchestrator.
3rd party applications can use Openslice through TMForum Open APIs.
3rd party applications can use OpenSlice through TMForum Open APIs.
Service Specifications reside into Service Catalogs, grouped in Categories. Openslice offers a Service Orchestrator called [OSOM](./architecture/osom.md). OSOM instantiates Service Specifications by requesting Network Services from target MANOs/NFVOs. NFV artifacts reside into a VNF/NSD catalog and are onboarded to a target MANO/NFV Orchestrator. Service Specifications reference NSD from the VNF/NSD catalog.
Service Specifications reside into Service Catalogs, grouped in Categories. OpenSlice offers a Service Orchestrator called [OSOM](./architecture/osom.md). OSOM instantiates Service Specifications by requesting Network Services from target MANOs/NFVOs. NFV artifacts reside into a VNF/NSD catalog and are onboarded to a target MANO/NFV Orchestrator. Service Specifications reference NSD from the VNF/NSD catalog.
Customers make Service Orders and Openslice instantiates the requested Service Specifications of the Service Order. Running Services instantiated by Openslice, reside in Openslice Service Inventory. The following picture displays how Service Specifications are related to Running Services and how Running Services relate with instantiated running Network Services. (See also [Service Inventory](./service_inventory.md))
Customers make Service Orders and OpenSlice instantiates the requested Service Specifications of the Service Order. Running Services instantiated by OpenSlice, reside in OpenSlice Service Inventory. The following picture displays how Service Specifications are related to Running Services and how Running Services relate with instantiated running Network Services. (See also [Service Inventory](./service_inventory.md))
[](./images/service_specification_instantiation.png)
[](./images/service_specification_instantiation.png)
## Service Lifecycle Rules
Openslice constains support for defining rules of services, affecting their behavior. See [LCM Rules](./lcm.md).
OpenSlice constains support for defining rules of services, affecting their behavior. See [LCM Rules](./lcm.md).
## Multidomain scenarios and federation
Openslice can be used to exchange service specifications/catalogs and make service orders between Organizations as the following figure displays.
OpenSlice can be used to exchange service specifications/catalogs and make service orders between Organizations as the following figure displays.
[](./images/multi-domain-organizations.png)
[](./images/multi-domain-organizations.png)
An Identity federation is also possible since our authentication service is based on Keycloak (see [OAuth](./architecture/oauth.md)).
...
...
@@ -43,9 +43,9 @@ See more on [Consuming Services From External Partner Organizations](./architect
## Live Demo
* Openslice demo: <http://portal.openslice.io/>
* Openslice Service Catalogs and ordering: <http://portal.openslice.io/services/>
*[API for VNF/NSD management](http://portal.openslice.io/osapi/swagger-ui/index.html)
## Source code
Get source code here: <https://labs.etsi.org/rep/osl/code>
OpenSlice source code is available at [OSL GitLab repository](https://labs.etsi.org/rep/osl/code).
## Contributing
[Contributing](./contributing/developing.md)
You may contribute following the guidelines at [Contributing page](./contributing/developing.md).
## Social Media
* Twitter: <https://twitter.com/OpensliceOSS>
* Slack: https://openslice.slack.com
*[Twitter](https://twitter.com/OpensliceOSS)
*[Slack](https://openslice.slack.com)
## History
* The NFV portal part of Openslice was initially developed in H2020 European project 5GinFIRE (https://5ginfire.eu) by University of Patras, Greece
* Openslice services, APIs and current version are actively maintained by University of Patras, Greece in H2020 European project 5G-VINNI (https://5g-vinni.eu/)
* The NFV portal part of OpenSlice was initially developed in H2020 European Research project [5GinFIRE](https://5ginfire.eu) by University of Patras, Greece
* OpenSlice core services, APIs was further developed and maintained in H2020 European project [5G-VINNI](https://5g-vinni.eu/) by University of Patras, Greece
* OpenSlice has been a part off OSM's OSS/BSS ecosystem
[](https://osm.etsi.org/wikipub/index.php/OSS_BSS)
## Ecosystem
Discover the current OpenSlice ecosystem [here](https://osl.etsi.org/ecosystem/).