CPN: Towards the creation of an Open Virtual Platform

The main goal of the CPN project is to create innovation in the way content creators can structure content production, distribution and in-depth interaction with audiences. To do this, CPN will realize an innovative Open Virtual Platform. This means that the platform will be 'open' to future third-party integrations and that it is not intended to be a physical system which media companies should install, but as a 'virtual' platform which can be adapted to the needs of media companies by connecting different services together.

These characteristics are very important because they will allow the platform to be reused even outside the CPN project and above all they will give the opportunity to enrich the CPN platform with more features in the future.

Reference Architecture

A reference architecture is a 'template solution' for an architecture implementation. It consists of a list of functions, indications and rules for interactions among the components within the architecture and with external services.

It is defined at different layers of abstraction and it is described through some 'views' that allow a better understanding of the architecture.

In CPN, the Reference Architecture document contains the guidelines and the template of the architecture that will be used to develop this Open Virtual Platform.

In particular the document describes the design and implementation choices to obtain a flexible and extensible architecture, and the guidelines for implementation, deployment and communication among components.

Microservices Architecture

To talk about microservices, we must probably start talking about Service-Oriented Architecture (SOA). A service-oriented architecture is essentially a collection of web services, usable independently, that collaborate with each other to satisfy a business process.

Microservices architecture is a variant of standard SOA, that structures an application as a collection of loosely coupled services (microservices).

Microservices is an approach to application development in which a large application is built as a suite of modular services. Each module supports a specific business goal and uses a simple, well-defined interface to communicate with other sets of services.

  CPN Platform - Microservices architecture

CPN Platform - Microservices architecture

After a thorough analysis and comparison of different architecture candidates, we have chosen the microservices architecture, which offers a series of benefits that are well suited for the CPN platform requirements:

  • The microservices can be independently developed and deployed. This allows for the smooth integration of different components for platform functionalities, even if these are developed by different project partners, which will be the case in CPN.
  • The microservices are designed to offer a range of 'micro' capabilities that group themselves to cover a variety of platform use scenarios.
  • The microservices do not bind the platform to the use of a given technology stack*, but makes it interoperable with different operating systems.
  • The microservices architecture lends itself well to both the creation of new services and the implementation of new processes, even after the deployment of the architecture. This meets the criteria of interoperability, flexibility and openness of the platform.

* A technology stack is a set of software providing the computers' infrastructure (for example the operating system)

Implementation of the microservices architecture

The image below is the 'Implementation View' of the CPN platform. This view is one of the possible views that allows to describe the architecture. In particular, it describes a possible implementation of the platform through microservices architecture. In addition to microservices, we can see the communication modules (Orchestrator for synchronous communication and Message Broker for async one) and the API Gateway, that allows external client applications to interact with the platform.

Finally, a blockchain instance is represented, which is used by some modules on the platform.

  CPN Platform - Implementation View

CPN Platform - Implementation View

The implementation of the microservices architecture will follow specific design patterns to ensure the efficiency, stability and scalability of the system.

Furthermore, strong and popular open source tools, as Docker, Kubernetes and Apache Kafka, will be adopted, to reinforce the concept of openness.

These tools, indeed, besides being open source, have a large community behind them and this will allow to make the platform more easily extensible.

Conclusions

In this article, we have seen the main goals of the CPN Platform and as a Reference Architecture document, it can be useful to reach them.

In particular, we have described the benefits of a Microservices Architecture and a possible implementation of the platform through this architecture.

Following this document and the instructions it provides, in the next steps of the project we will implement the first version of the platform.

Do you want to stay up to date about our activities and results? Subscribe here for the project newsletter and blog posts. Or follow us on Twitter!

3… 2… 1… Project CPN has taken off!

  Group photo of the consortium members, taken at the CPN kick-off meeting.

Group photo of the consortium members, taken at the CPN kick-off meeting.

Welcome to the CPN project (Content Personalisation Network)! With a team of broadcasters, media companies and technology providers, we work towards a new approach for personalising digital content, enabling economic impact for large and small news publishers.

cpn challenge.png

Vision

Europe is scattered with media companies, large and small, that represent an enormous amount of cultural diversity. On a daily basis, millions of news content items have to find their way to millions of users. The CPN project takes up the challenge of developing a new approach to personalise the daily news offer, allowing both large and small media companies to better target their content to media consumers. As a media consumer, you will be able to better receive news, in the right format at the right time, and in a fitted context.

CPN quote.png

Objectives

With CPN, we will provide media users with a seamless and reliable news experience on different platforms and provide media companies with effective news distribution solutions. Therefore, we will develop a virtual open platform (with reference architecture) where on the one hand, media professionals are able to receive faster and more targeted cross-channel news and information distribution solutions, and on the other hand, users are able to experience more attractive and engaging news and information.

To make this happen, we aim to create novel services targeting content personalisation and real-time analytics on the platform. This will provide users with personalised news feeds, insights into the impact of news and information in their daily lives, while at the same time break them free from the filter bubble, which can contribute to more nuanced and factual opinions in larger society.

Throughout the duration of the project, we will iteratively test and validate the solution in operational real-life environments in different countries (Belgium, Germany, Cyprus, and Italy) by setting up large scale pilots.

Workplan

Take a look at our project website. There, you will find more information about the CPN project and a detailed description of the different work packages.

Do you want to stay up to date about our activities and results? Subscribe here for the project CPN newsletter and blog posts. Or follow us on Twitter!

Project Partners

CPN project partners.png