Project structure

This page defines the elements used to compose a Bonita Automation project.

Bonita Automation project elements

Bonita Automation projects are based on processes but also data, user interfaces, identity management and extensions.

bonita project elements

Using all the concepts in a projet allows to take the full advantage of the Bonita platform. However, it is not required to use all the concepts to create a valid Bonita Automation project.

Process Elements

Element Description Create/Provided Tool Alternative

Diagrams

BPMN diagram that describes your business processes

Create

Studio

 — 

Forms

Web interfaces to interact with processes (to instantiate a process and for human tasks)

Create

UI Designer

Use BPM REST API

Actor filter

Filters users that can access a human task in a process

A couple are provided in the Marketplace and you can create custom actor filters

Studio or Dedicated SDK (custom actor filters)

-

Connectors

Web interfaces used for human interactions with your processes

A dozen connectors are provided in the Marketplace and you can create custom connectors

Studio or Dedicated SDK (custom connectors)

-

Data

Element Description Create/Provided Tool Alternative

Business Data Model (BDM)

Structure of the business data used by your processes

Create

Studio

External data base w/ provided connector

Identity Management

Element Description Create/Provided Tool Alternative

Organization (for "Actors" and "Profiles")

The definition of the user base that will use the processes (includes users, roles and groups)

Example provided/Create

Studio/Admin Application/LDAP synchronizer(Enterprise Edition only)

 — 

Living Applications

Element Description Create/Provided Tool Alternative

Application descriptor

Defines the living applications: group of pages with a specific them for a given user profile

Create

Studio/Admin Application

xml editor

Application pages

Web pages used within your applications

Create

UI Designer

Front-end framework

Layout

Used to define the main frame of an application.

Provided

UI Designer

Front-end framework

Theme

Defines the look and feel of your application

A default theme is provided and you can create custom theme

Studio or Dedicated SDK (custom theme)

 — 

The concepts of Application descriptors, Application pages, layouts and themes are only used by Application. A Bonita Automation project without applications won’t use those concepts.

Extensions

Bonita Automation project can be extended by creating custom components. These are called extensions.

Some extensions are used to add elements to those provided while others are used to enforce the Bonita platform possibilities.

Extensions can be developed outside of the Studio with your favorite IDE.

Extension When to use Tool

Connector

When the provided connector do not cover your requirements

Dedicated SDK

Actor Filters

When the provided actor filter do not cover your requirements

Dedicated SDK

Theme

When the provided theme do not cover your requirements

Dedicated SDK

REST API Extension

To interact with third party system outside processes, to make advanced BDM queries or API calls (read only)

Dedicated SDK or in the Studio (when Business Data is manipulated)

Bonita Project Composition

Extensions are re-usable elements, they can be shared between projects. Extensions are added to Bonita Automation projects as Maven dependencies.

In the Studio, extensions are managed in a dedicated view.

Even if it is possible to manually import extensions in Bonita Studio, it is highly recommended to publish your extensions on public or private maven repositories. Here is an example on how to deploy an extension on Github packages.