Platform 6 benefits from a responsive-design web user interface called P6 Portal. It provides access to all Platform 6 services and features. It is meant to be used by application developers, publishers and users.
Actions on P6 Portal trigger requests that are sent to a proxy server called P6 Proxy that redirects them to the targeted Platform 6 instance or infrastructure server.
Requests are handled by an authentication and authorisation server named P6 Auth, which relies on the OAuth 2.0 protocol. P6 Auth checks the user’s credentials and if they are correct, sends back an access token to the P6 Portal. This token is then added to the headers of the subsequent requests, granting the user access to a Platform 6 instance.
A Platform 6 instance is actually a P6 Core instance, composed of several specialized services known as Platform 6 built-in services.
If specific features are required that cannot be configured thanks to Platform 6 built-in services, a Developer can develop a custom service. Such a new service shall be registered on a Platform 6 instance. The deployment process requires configuring a few settings: the name, the properties of the menu entry in P6 Portal and the path of redirection made by P6 Proxy to the service’s server. More information is available in the create a custom service section.
Communication between services is possible through a bus connector. This library will send the messages to the Platform 6 instance, which will redirect them to the service recipient. The development of several connectors in different languages (Java, Scala, TypeScript, C#, Golang …) is in progress. If you prefer not to use connectors provided by Platform 6, you will need to integrate directly - i.e. send common message objects encoded in Protocol buffers via Hazelcast.
However, all Platform 6 services are exposed to the outside world through a REST API, therefore you can develop your own user interface on top of it.