1. Introduction¶
Accelleran has developed it's very own x/rApp Development Framework which is used to easily create xApps and rApps on top of the Accelleran dRAX RIC platform.
1.1 x/rApp Development Framework¶
The x/rApp Development Framework consists of three main components: 1. x/rApp SDK 2. x/rApp Lifecycle Management 3. x/rApp Template
1.1.1 x/rApp SDK¶
Accelleran has developed the x/rApp SDK. This x/rApp SDK is written as a Python Library which can be installed and imported into Python scripts. The x/rApp SDK is made up of a number of dRAX RIC Functions which abstract the lower level details, such as clients, IP addresses, ports, authentication, etc. This creates abstractions which allow the developers to focus more on the actual x/rApp logic rather then spending time on creating the interfaces towards the dRAX RIC. These abstractions allow for a seamless integration into the dRAX RIC eco-system.
1.1.2 x/rApp Lifecycle Management¶
Accelleran has developed the lifecycle management of x/rApps, so that developers do not need to do ity themselves. Therefore, deploying x/rApps, configuring x/rApps, run-time x/rApp environment as well as deleting x/rApps is all taken care of by the x/rApp and the dRAX RIC system.
1.1.3 x/rApp Template¶
To further avoid a steep learning curve, Accelleran has also packed a number of x/rApp Templates. These are boilerplate Python scripts, with a load of examples that developers can start from. The x/rApp Template covers most of the functionalities and interfaces that the x/rApp has towards the dRAX RIC, allowing the developer to reuse the code for their own specific use case. This allows the developer to jump right into developing the x/rApp logic, and using the x/rApp Dev Guide as a further deep dive into the details.
1.2 What is an x/rApp in the dRAX RIC¶
The x/rApp in the Accelleran dRAX RIC is built using the x/rApp Development Framework and follows the microservice oriented approach. This means that x/rApps are actually containerized Python applications that are deployed on top of Kubernetes using Helm Charts. We, therefore, in the x/rApp Template also include the x/rApp Dockerfile and the x/rApp Helm Chart.
Once the developer develops the x/rApp using the x/rApp SDK, it can be containerized into a Docker Image using the x/rApp Dockerfile. The x/rApp Helm Chart is then prepared and used to deploy the x/rApp in dRAX.
1.3 The x/rApp Development Environment¶
To further simplify the x/rApp development, Accelleran has also built the so called x/rApp Development Environment. This is a pre-built x/rApp Docker Image, which already includes all the necessary pre-requirements installed, such as the x/rApp SDK, but also includes the x/rApp Template. This means that the x/rApp Development Environment is fitted with everything necessary for x/rApp development.
Furthermore, the x/rApp Development Environment also has a pre-built x/rApp Helm Chart, so that it can easily be deployed on top of dRAX. That means that the developer does not need to worry about creating Docker Images and editing Helm Chart for them to start developing x/rApps. This further lowers the learning curve.
Therefore, in the Quick Guide section we will detail how to deploy the x/rApp Development Environment, access it and start developing. Even though this method will cover almost all use cases, there are advanced use cases which will require an advanced approach to x/rApp development. We cover this method in the Build your own x/rApp Development Environment section.