Why use Platform 6?

Platform 6 is the best platform to develop, package, distribute and run business applications involving business-to-business transactions with automated processes and user actions.

More specifically, build applications that:

  • receive and send structured data from remote computer systems, including IOT devices and blockchain
  • transform and enrich the data
  • orchestrate a business process
  • trigger workflow events with notifications to users and custom forms
  • offer a comprehensive, modern and responsive user interface to users, suppliers and customers to process workflow events, query data or view charts and reports

In addition, the platform offers an extensive permissions systems which control in details what users can do on the user interface or what remote systems can perform via the exposed API.

Examples

Following are two examples of typical applications built on the platform.

Automated Material Master Quote System

The application would typically:

  1. Recover a Bill Of Material (BOM) in different formats (CSV, XML, JSON, etc.) from a manufacturing application using a shared directory on the file system (SFTP connections, HTTPS call, etc.).
  2. Transform each line of the BOM into a Request For Quotation (RFQ) in XML. This transformation could use calls to a Customer Relationship Management (CRM) system to determine which suppliers to send the RFQ to, or a simple lookup table directly loaded on the platform.
  3. Propagate the RFQs to the suppliers using a smart contract running on a blockchain.
  4. Receive the suppliers quotes from the blockchain smart contract.
  5. Aggregate and process the quotes and trigger a user workflow to review the quotes and accept/reject them.

IOT triggering work orders

The application would typically:

  1. Receive via Message Queuing Telemetry Transport (MQTT) a stream of readings from Internet of Things (IoT) devices monitoring the health of selected equipment.
  2. Process the readings and trigger an alert when the readings meet certain criteria.
  3. Trigger a user workflow with notification to a maintenance technician.
  4. Generate in parallel a work order in a customized Intermediate Document (IDoc) format to be pushed to an existing SAP system.
  5. Offer a custom form to be filled by the technician with work details on its mobile device.
  6. Convert the details entered to IDoc for integration in the SAP system.

Configure your user interface

Responsive and fast

Built with the latest technologies (React, Bootstrap, etc.), the web user interface automatically adjusts to the size of the viewing device and optimizes its rendering for ultimate speed.

Responsive user interface

Highly configurable

Parametric search criteria can be customized as well as search result display columns. Users can customize their home page from dashboards pre-configured by your administrator.

Home page

Custom forms and pages

Create your own forms and pages to display Workflow Work Items, Messages, Service Configuration, etc.

Custom form

Manage users and permissions

All features of the platform expose a set of permissions which can be combined to create detailed roles to be assigned to users. These permissions are enforced for all actions performed either via the user interface or via the exposed REST API.

The grouping of these permissions into permissions sets and the availability of wildcards facilitate the creation of precise roles to be granted to the users.

User's permissions

Connect anything, anywhere

The platform comes with ready made connectors and a large REST API.

As an application developer, you also have the possibility to develop your own additions to the API and new specific connectors.

REST API

The platform exposes a REST API which is fully documented and easily tested using a Swagger UI. The user interface leverages the API, so anything that can be performed via the user interface, can be performed via an API call.

Swagger UI

Connectors

To perform outbound connections from the platform or handle specific protocols inbound and outbound, the platform comes with ready made connectors.

Those connectors include:

Store and query transactions

The platform provides all the necessary tools to manipulate and generate structured data in many formats: CSV, XML, XLS, X12, EDIFACT, IDoc, etc. Once transformed into a canonical XML model, the data can be validated, stored and indexed.

The platform can accept any XML model expressed in the form of an XML Schema Definition (XSD).

Native XML indexing provides the ability to efficiently query documents using the power of XPath expressions, in order to:

  • configure custom parametric search screens,
  • extract data from the database in tabular format,
  • transform data to another format, XML or others.

XML search

Data manipulation and UI components

The platform leverages powerful scripting through a data manipulation DSL and readily available UI components.

Groovy scripting

For back-end data processing and process orchestration. A rich DSL has been added to the language to enable one-liner complex data transformation, such as running an XSLT, parsing a CSV or manipulating extremely large XML documents.

Numerous JVM libraries are also available to Groovy scripts to perform complex cryptography, JSON manipulation, etc.

def messageInfo = new XmlSlurper().parseText(message)

def SIRET_Fournisseur = messageInfo.KeyValue.find{it.Key == "SupplierID"}.Value.text()
def SIRET_Destinataire = messageInfo.KeyValue.find{it.Key == "BuyerID"}.Value.text()
def Code_Service_Destinataire = messageInfo.KeyValue.find{it.Key == "Code Service"}.Value.text()
def Num_Engagement_Destinataire = messageInfo.KeyValue.find{it.Key == "Num Engagement"}.Value.text()


def model = [
    supplierSiret: SIRET_Fournisseur,
    buyerSiret: SIRET_Destinataire,
    serviceCode: Code_Service_Destinataire,
    engagement: Num_Engagement_Destinataire
]

You can also include your own libraries or resources if those provided are not enough.

JavaScript scripting

To develop custom forms and pages in React. Powerful components that respect the look and feel of the platform are readily available to accelerate application development and delivery.

However, you can also build your own frontend with the framework of your choice and consume Platform 6’s REST API.

Develop custom services

When scripting within Platform 6 is not enough or when you want to keep the source code closed, you can develop your own service using your favourite language: Java, Scala, C#, JavaScript, etc.

Your custom service can communicate with all services already offered by your Platform 6 instance.

A service combines server side code, usually including a REST API, its own set of permissions and front-end code as needed.

Sample custom service projects are provided to get you quickly started. Choose your language:

Others will follow.

Build and distribute an application

The platform comes with a packager which lets you bundle data from most services of the platform into an application.

This application includes:

  • Data Models
  • Tables
  • Scripts
  • Routes
  • Services Configurations

Once packaged, your application can be distributed to your customers, partners, business units, etc. and run on their instance of the platform.

Scale vertically and horizontally

The core platform is designed to leverage all the processors available on a machine.

When adding more processors is not possible, the platform can be scaled horizontally by spreading the services on multiple machines, interconnected using a fast in-memory bus.

These machines can run either a JVM, .NET or Node.js based custom services, allowing these services developed in a mixture of languages to coexist on the same instance.

Horizontal scaling