Additional details about the three services that make up the OpenChannel service. Each one of these backend services will be made available in their own docker container. Also, attached here is an architecture diagram describing what the OpenChannel service looks like in a high availability setup.

Market API Service

The Market API service is the main web service which contains the majority of the business logic for the OpenChannel service. It is a comprehensive set of API endpoints for all of the OpenChannel features. Some API endpoints are accessible using a Marketplace ID and Secret. Other endpoints are only accessible from internal services like Dashboard API service or Client API service.

The Market API service is the only service to communicate with resources like the MongoDB Database, RabbitMQ broker and S3 file storage.

The Market API Service is built on Java 11 and the Spring Boot framework. The web service runs on embedded Tomcat which in-turn runs within a docker container with an OS composition of openjdk:11-slim. There are no other tools, JVM flags or items required within the docker container. It’s a straight forward web service.

Dashboard API Service

The Dashboard API service is a proxy service that acts as the back end for the OpenChannel Management Dashboard (also known as my.openchannel.io dashboard). The Dashboard API service is mainly responsible for authentication, aggregation and validation of requests made by the Management Dashboard frontend. Requests are then forwarded by Dashboard API service to the Market API service in order to get results or perform actions.

The Dashboard API Service is built on Java 11 and the Spring Boot framework. The web service runs on embedded Tomcat which in-turn within a docker container with an OS composition of openjdk:11-slim. There are no other tools, JVM flags or items required within the docker container. It’s a straight forward web service.

Management Dashboard Frontend

The Management Dashboard frontend is the javascript based front end for the OpenChannel Management Dashboard (also known as my.openchannel.io dashboard). The Management Dashboard frontend allows administrators to login, view and manage the apps in their app marketplace. Requests are sent by Management Dashboard frontend to the Dashboard API service in order to be fulfilled.

The Management Dashboard frontend is built on Angular 11 and the ng-bootstrap framework. The frontend is an Angular project and does not run in a docker container.

Client API Service

The Client API service is a proxy service that acts as the backend for marketplace and partner portal sites. If you have built your own marketplace and partner portal site along with a backend that calls the Market API, then the Client API service is not required. The Client API service is mainly responsible for authentication, aggregation and validation of requests made by marketplace and partner portal sites that have been built using our Angular templates (https://github.com/openchannel/angular-portal-template and https://github.com/openchannel/angular-market-template). Requests are then forwarded by Client API service to the Market API service in order to get results or perform actions.

The Client API Service is built on Reactive Java 11 and the Spring Boot framework. The web service runs on embedded Netty which in-turn runs within a docker container with an OS composition of openjdk:11-slim. There are no other tools, JVM flags or items required within the docker container. It’s a straight forward web service.