Create a Custom Service
Develop a service¶
A Platform 6 business application consists of several services.
A service is a feature of Platform 6 and consists of two parts: a server and a user interface, both of which need an implementation.
If you wish to integrate your service user interface into P6 Portal, it must be developed in React and can use the Platform 6 UI components components. A user can view it on P6 Portal by clicking on the menu entry associated with the service.
If you do not want to integrate your service UI with P6 Portal, you are free to pick any UI framework you want and call the REST API of Platform 6. However, be aware that you would not benefit from any service provided by P6 Portal (authentication…), services you would have to re-develop from scratch.
The server must start and expose an API. One of the API’s endpoint should send the bundled file of the user interface to the Portal.
Platform 6 uses a common message bus based on Hazelcast to manage the connection between its different services.
The data is broadcasted in a unique format: a common message. It is a generic message with headers and attachments. It is characterized by a unique identifier, the sender’s identifier and a content.
For the sake of compatibility between different programming languages, the common messages are compiled into Protocol buffers, a language-neutral and platform-neutral extensible mechanism for serializing structured data.
Configuring a Common Message Bus Connector and serializing/deserializing common messages can be tricky.
Platform 6 connectors have precisely been implemented to abstract all that complexity, letting you focus on higher order tasks like deploying a new service or communicating with other services.
Please read the Platform 6 connectors guide to see examples of services using the clients.
Communicate with existing services¶
The server of a custom service can also exchange data with other deployed services through the Platform 6 instance.
For that, you can do REST API calls.
The REST API of your Platform 6 instance is available on the URL: http://[yourInstanceHostName]:8080/p6/openapi
The resources are used by P6 Portal to perform any action.
To visualize and interact with the API resources, you use the swagger UI available here: Swagger UI
Please read the page Swagger authentication to learn how to get an authentication token.
Platform 6 services share many endpoints. This common resources are fully described in the section REST API guide. It describes the required permissions, the global behaviour and the responses.