Platform Components and Architecture

Learn more about the components of the Kinetic Platform.

Overview

The Kinetic Platform is an Enterprise Workflow Platform for building highly scalable and complex apps in record time. It combines low-code and pro-code development to enable the world's top organizations to achieve their digital modernization goals. The platform provides all the common components needed to build an application at an enterprise scale, including authentication, users and groups, data storage, security and permissions, error handling, integrations, and user interfaces.

Platform Components

Like most enterprise request management platforms, the Kinetic Platform uses 20 common components of business software. These components can be separated into four Key Platform Pillars and a list of secondary components used throughout the Platform.

Portals

End users interact with Kinetic-built apps through Portals. Our headless design lets you use any front-end web development toolkit to meet your project's exact needs.

Portals are often designed as collections of forms that end users can submit. In that case, a portal would query Kinetic's Forms API to retrieve and present a list of forms to the user. When a user navigates to a form, the form is rendered inside the portal.

In other cases, your portal may display a list of records the user needs to fill out, such as a list of tasks that need to be completed. In this case, the portal would query the Kinetic Platform's Submissions API to retrieve a list of relevant submissions and present them to the user in a table.

1281

A list of tasks to be completed by end users rendered inside a Kinetic Portal.

Forms

Formsare the Kinetic Platform's primary data storage and rendering mechanism. Forms are used to collect, validate, and store data from end users and workflows. You can even pull data from other systems and display and/or store it in the Platform.

1136

Kinetic Platform Form Designer

Our low-code Form Builder leverages the following enterprise request management components to create and maintain forms:

  • Data management lets you configure form fields to ensure consistency and data integrity. For example, you might configure a field to require emails to use a name@domain format.
  • Rule enforcement lets you enforce rule sets on data records. For example, you might require that users fill in a name, date, and contact number when entering a work order.

Built for Extension

Keeping with our Common Frameworks philosophy, we made Kinetic Forms extendable with languages like JavaScript, CSS, and HTML. This additional flexibility lets you enhance the look and feel of your forms, write custom validations to ensure clean data is being captured, and otherwise customize your forms to fit your needs.

Workflows

When you think about it, most business apps are just a big collection of workflows. A user logs in - something happens. A user submits a web form - something else happens.

The Kinetic workflow builder leverages standard ERM building blocks to let you create flexible, automated business processes, including:

  • Email capabilities: For sending notifications, reminders, and other communications.
  • Tasking: For creating and assigning tasks, such as working on help tickets or reviewing documents.
  • Robots: For scheduling workflows to initiate at scheduled times. This functionality makes it easy to stay on top of tasks that should be completed regularly, such as requiring user password updates or performing routine data synchronization. Learn more about Robots here.
  • Approvals: For sending automatic approval requests to specific individuals based on the type of the request and the person submitting it; for example, a user’s request to purchase new software might require approval from their manager.
  • Alerting: For sending messages to specific individuals based on specified conditions, such as notifying a manager when a new hire is scheduled for onboarding.
  • Scheduling: For assigning events or other blocks of time against a resource to prevent double-booking, such as conference rooms.
  • Calendars: For connecting events, dates, and times that aren’t connected to specific resources, such as establishing lunch hours or office closures for holidays.
  • Surveys: For sending individuals or groups contextually relevant questions based on specific events, such as closing a support ticket. For example, a user whose work order was recently completed might receive a survey requesting feedback on the speed of completion, whether all parts of the work order have been completed, and so on.

Each step in a workflow is given a set of inputs that perform an action and return a predefined set of outputs, which you can then leverage to make business decisions. As processes evolve, you can easily improve them over time using our low-code drag-and-drop designer.

640

Example workflow for tracking submitted service requests

Kinetic Workflows can perform complex tasks like looping, recursion, data manipulation, and string interpolation. Moreover, our emphasis on using common frameworks means you can easily extend a workflow's functionality using your preferred scripting language.

Integrations

Integrations are critical to modernization efforts in large organizations. Upgrading traditional processes to digital equivalents requires a platform designed to connect with any underlying system of record, pushing and pulling data based on the user's needs. No app exists on an island: they need to work with the larger ecosystem, especially when you start getting major adoption.

All integration plugins are built to a standard specification defining, inputs, outputs and connection information. These plugins are built using code to be battle-tested and confidently distributed throughout the Platform.

Plugin code can be customized to import libraries and SDKs, enabling them to work with just about any system. Plugins can be built to use any protocol imaginable, including REST, SOAP, SNMP, RPC, and more. You can also call directly to databases with proprietary languages using imported Java libraries. Oh, and if that's not enough, you can call a command line to reach into other systems too.

Once built, integrations are packaged, tested, and imported into the Platform. After connection information is configured, non-developers in Kinetic's Form and Workflow designers can use integrations in a low-code fashion.

What About Reporting?

The way we store data in Cassandra is designed to drive performance when creating and modifying individual records. This keeps response times quick for both builders and end users, but it presents a challenge when it comes to making that information available for reports. We tackled that challenge by adding webhook capabilities that replicate transactional data to an SQL database optimized for reporting. The Reporting Overview and corresponding documentation in the Documentation Library go into more detail on this subject.

Technical Design and Architecture

The Kinetic Platform comprises a series of microservices that facilitate various platform functionality. The system was designed to be multi-tenanted, meaning multiple customers can securely leverage the same infrastructure. Additionally, each service was designed to scale horizontally independently based on load.

The diagram below illustrates the different platform microservices and separates them into front-end, back-end, and data storage components.

Front-End Components

  • Core: A multi-tenanted service responsible for managing user authentication and authorization, groups, and data storage. This service captures data from end users and feeds it into workflows. This service manages all form submissions and the platform's form-building capabilities.
  • Task: A single-tenanted service responsible for managing workflow-related functionality. This service allows tenant administrators to define process business logic and is the engine responsible for executing workflows.
  • Indexer: A multi-tenanted service that creates and manages indexes used for searching capabilities within the application.
  • Loghub: A multi-tenanted service that acts as a proxy for securely reading logs stored in the Elasticsearch database and providing them to the Space Console for viewing.
  • LogCollector: A multi-tenanted service that moves logs from the application servers to the Elasticsearch database.
  • Agent: A multi-tenanted service that facilitates connections to external systems and manages all bridged resources that are used to pull data from external sources.
  • System Coordinator: This manages the single-tenanted service and all Kubernetes-related APIs needed to provision tenants within the Platform. It also manages certificates and database connections within the platform. The system coordinator can modify most connections to external dependencies (ElasticSearch, Cassandra, RDS).
  • OAS Console: An NGNIX web server that hosts interactive API documentation.
  • System Console: An NGNIX web server that hosts the system administration console. This is where system-level administrators can create new tenants, manage database connections, and rotate system certificates.
  • Space Console: An NGNIX Web Server for hosting tenant-level administrative functions. This is where tenant administrators go to build forms, workflows, etc.
  • Front-end Code: Formerly referred to as "bundles," this is an NGNIX web server for hosting end-user experience portals.

Registration, Authentication and Authorization

The Kinetic Platform leverages Spring Security within the Core service to manage authentication. When a user tries to hit an endpoint that requires authentication, the authentication flow is initiated, and the user is redirected to the configured identity management platform (IDP). Once authenticated, their Kinetic user profile is created or updated to match the attributes defined for the given tenant. More information about configuring single sign-on (SSO) can be found in the following guides:

The Kinetic Platform leverages ABAC (Attribute Based Access Control) to manage authorization. Each accessible resourcein the platform is configured with an ABAC policy that manages what access can be granted to the authenticated user. These policies can combine information about the user, the environment, and the data to determine privileges. This customization lets you configure different policies on who can access, create, or modify users, who can access, create, or modify data collected via forms, etc. These permissions are configured during the application development and tailored to specific use cases and personas. More information on authorization can be found in the following guides:

External Integrations

The Kinetic Platform is designed to work alone but is usually configured to integrate with third-party applications. Our Pre-Built Integrations page contains several resources for integrating the Platform with other applications, but you can also view the Integrations Overview and related guides to learn more about creating custom integrations for your environment.