Any organization willing to use Platform 6 shall first sign up and create its Platform 6 account, to which instances and application profiles will be linked. Accounts are managed in P6 Console.


Designed to perform a group of coordinated functions, tasks, or activities for the benefit of End Users, a Platform 6 application runs on a Platform 6 instance and is composed of:

  • Service items related to built-in services (such as scripts, routes, workflow steps, views, reports…) - and custom services if applicable.
  • Any additional bundled resources such as custom Java JAR files, data files (CSV, Excel…) that are used by service items.
  • Custom services (optional)

Application Publisher

An application publisher or app publisher is any entity creating, packaging and distributing a Platform 6 application.

Application Profile

An application profile is a file with an .app extension that contains a signing key, a unique application key and general information about the application publisher.
The application profile is used to uniquely name all service items created with Platform 6 while developing a given application.
An application profile must be installed on a Platform 6 instance to allow (i) the creation of services items linked to the application and (ii) the packaging of the application. There can be one or more of these application profiles on any P6 Instance.


Some time ago, P6 Core used to be called b2box. As habits tend to stick, don’t be surprise if you hear or read the word (specially when referring to versions inferior to 6.0).

Common Message

The data exchange between Platform 6 services is conducted through what is called common messages. A common message is a generic message with headers and attachments. It consists of a unique identifier, the sender’s identifier and content.

Common Message Bus

Hazelcast is a distributed In-Memory Data Grid platform for Java. It is used as a message bus and allows various Platform 6 services to communicate with each other via common messages.


A P6 instance is the logical deployment unit of Platform 6; it comprises:

  • A P6 Core instance, composed of several specialized services (known as Platform 6 built-in services), communicating via the P6 Common Message Bus and exposed to the outside world via a REST API
  • A PostgreSQL database for persisting service items, transactions and workflow tasks.

P6 Auth

The Platform 6 OAuth2 compliant authentication and authorisation server. It is developed in Java and uses Apache CouchDB for the data replication.
P6 Auth is part of the Platform 6 Infrastructure.

P6 Console

P6 Console (also known as P6 Management Console or P6 MC) is the solution available via (or directly at where any organization using Platform 6 can create and manage its account(s).
P6 MC is part of the Platform 6 Infrastructure.

P6 Core

P6 Core is the basic unit of deployment that any organization using Platform 6 shall install and run (or have installed and run by a third party).

P6 Portal

P6 Portal is Platform 6’s default user interface for administrators, application developers and end users. It’s the easiest unified access to manage one or multiple Platform 6 instances (potentially belonging to different organizations).
P6 Portal is part of the Platform 6 Infrastructure.

P6 Proxy

The proxy (developed in Node.js) used to offer a unified access to all registered Platform 6 instances from P6 Portal.
P6 Proxy is part of the Platform 6 Infrastructure.

P6 Sync

P6 Sync is a utility that can extract configuration (Scripts, Routes, Data Models etc.) from one or more Platform 6 instances and represent them as file(s) on a developer’s desktop filesystem.

Package an Application

Packaging an application means bundling the application’s components in a container for installation on multiple Platform 6 instances or distribution to other companies.

Packaged/Unpackaged Service Item

A packaged item is a service item with an none empty application key, thus belonging to a specific P6 application.

If you do not intend to distribute the items you create locally on your instance, you can leave them un-associated to any P6 application. Hence, an unpackaged item is a service item with an empty application key.


A permission is a string of characters structured as follows feature=action and which allows the user to perform a specific action on a specific feature.

Platform 6 Infrastructure

P6 Infrastructure groups the P6 components that are centralized and hosted by Amalto, i.e. P6 Auth, P6 Proxy, P6 Management Console and P6 Portal.


A route defines one inbound and one or more outbound endpoints for transactions along with mediation rules in-between. Routes are defined using Apache Camel.

Routing Order

When a transaction flows in a route, it creates a routing order which tracks the execution of the route. Routing orders can be monitored, cancelled, replayed…


A service is a discrete unit of functionality that can be accessed remotely via a RESTful API or via P6 Portal. It can be acted upon and updated independently.
Platform 6 offers built-in services (like Scripts, Routes, Workflow Steps…) and supports the creation of custom services.


A transaction is an electronic business document exchanged between different organizations or trading partners. Transactions flow in the system through routes.

A transaction uses the following concepts: - a data model, used to validate the transaction content when conducting operations (ie. saving, importing). - a data type, used to distinguish the transaction using a typology. Used inside the view definition to filter on this data type.