Cyclops framework is made available as a set of docker images, and full source code is available licensed under ASL 2.0.
You will need following software packages to be installed before you start the build and setup process from source files:
Dependencies | Supported Version |
---|---|
Java | Oracle Java 8 and higher |
Maven | 3.0.5 or higher |
Git | 2.x.x or higher |
When deploying, additionally you will need the following services installed and reachable by the Cyclops framework components.
Dependencies | Supported Version |
---|---|
RabbitMQ | 3.6 |
Postgresql | 9.6 |
During configuration and setup phase of all the microservices, it is assumed that the RabbitMQ management plugin is enabled in the service. Post configuration and installation, this plugin can be disabled if not needed elsewhere.
Note: the default package version available under your linux/unix distribution for the above listed dependecies may be different that listed. In that case, please make sure you get the specific versions directly from the respective developer's website.
Download the full source code via Git clone :
git clone https://github.com/icclab/cyclops.git
Once source code download finishes, check the folder structure and you should see all the microservices in their separate subfolders. We will now proceed with building every microservice individually.
Cyclops framework comprises of these micro services:
- usage data record generation microservice (udr)
- rating and charging microservice (cdr)
- billing microservice (billing)
- rule engine (coin)
Each one of the above needs to be built individually. Before proceeding with the build phase of any component, make sure your JAVA_HOME environment variable is properly set. On Ubuntu 16.04 machine, this can be normally be done through -
source /etc/environment
export JAVA_HOME="/usr/lib/jvm/java-8-oracle"
Make sure you change the path appropriately.
Change directory to UDR subfolder within cyclops folder. :
mvn dependency:tree
mvn package assembly:single
mv target/cyclops-udr-3.0.0-jar-with-dependencies.jar target/udr.jar
The java binary file is located within cyclops/UDR/target/ as udr.jar
Change directory to CDR subfolder within cyclops folder. :
mvn dependency:tree
mvn package assembly:single
mv target/cyclops-cdr-3.0.0-jar-with-dependencies.jar target/cdr.jar
The java binary file is located within cyclops/CDR/target/ as cdr.jar
Change directory to Billing subfolder within cyclops folder. :
mvn dependency:tree
mvn package assembly:single
mv target/cyclops-billing-3.0.0-jar-with-dependencies.jar target/billing.jar
The java binary file is located within cyclops/Billing/target/ as billing.jar
Change directory to Coin subfolder within cyclops folder. :
mvn dependency:tree
mvn package assembly:single
mv target/cyclops-coin-1.1-jar-with-dependencies.jar target/coin.jar
The java binary file is located within cyclops/Coin/target/ as coin.jar