How does P6 work?

A P6 instance is the logical deployment unit of Platform 6. It is composed of a P6 Core instance (several services communicating via a message bus and exposed to the outside world via a REST API) and a PostgreSQL database for persisting service items, transactions and workflow tasks.

Any organization using Platform 6, to develop or run applications, can install and operate as many P6 instances as they wish.

In order to provide easy access to the instances and allow Platform 6 clients to manage their account, online components hosted on platform6.io and referred to as P6 Infrastructure are also part of the solution:

  • P6 Console, also known a P6 Management Console or P6 MC, a web interface where P6 clients can create and manage their account(s), including:
    • Provide and maintain account information (Client name, billing address, logo…);
    • Create and maintain user accounts of P6 MC users (users with access to the P6 Management Console and related permissions);
    • Declare and manage P6 Instances (name, description, URL, type of environment, first instance admin email address…);
    • Create and maintain Application Profiles
  • P6 Portal, the responsive-design web UI allowing developers and end users to interact with their P6 Instances
  • P6 Auth, the OAuth2 compliant authentication and authorisation server handling Platform 6 users, organizations and permission sets
  • P6 Proxy, a reverse proxy used to offer a unified access from P6 Portal to all registered Platform 6 instances

P6 High Level Architecture

Platform 6 also offers a lot of flexibility to application developers.
They can create custom services and plug them to the Message Bus so they can communicate with the P6 Built-in Services.
They can include various types of bundled resources in their apps, for example Jar files. And they also can develop a custom web user interface for their application and use Platform 6 as the engine of their app, leveraging the REST API exposed by each P6 instance.