Search code examples
bonitabusiness-process-management

Can Bonitasoft (BPM) be used to build an ERP system?


I have gone through the documentations of Bonita and read a book about it. I have also watched almost all the tutorials offered by bonita on YouTube. However, the software limitations are not clear to me yet.

The company that I work for, a consultancy company, wants to use bonitasoft to manage its enterprise resources.

Examples of tasks that we want to implement :

  • Vacation planning for our employees (This a task so it is easy to implement with Bonita)
  • Finance management and generating bills. (This is not a task. I need to link a consultant to a contract and a client. Finally, generate a bill at the end of each month)
  • Manage how bonuses are attributed to different consultants. This depends on their performance. (Not a task)
  • Consultants should be able to see their history and how long they worked for a given client and how much money they have brought in. (Not a task)
  • Managing job applications. (Applications and uploaded files like C.Vs and cover letters).

I was not able to find any demo website made by bonita to see if people tried to build an ERP system based on bonitasoft. Is this possible?

I think that it should be possible to create a form and modify it using JavaScript to implement a non-task functionality.

Is this considered as hack?

Are other people using bonita this way or not?

Also is implementing non-taskfunctionality possible using widgets (HTML, JAVASCRIPT and maybe an external webservice)?


Solution

  • Bonita BPM is a process-based application platform. I'm highlighting the process part of it here as this is a key concept in the platform.

    Basically, the business logic part of any Bonita application is designed using a BPM (Business Process Management) approach. You design a process that represent your business logic and implement its behavior by coding business rules, data processing, integration with third-party systems and so on.

    Then once, the business logic is implemented, you can build reports that will display to the end-user the data resulting from the execution of the different processes.

    If we take the examples you gave:

    • Vacation planning for our employees (This a task so it is easy to implement with Bonita)

      • Typically handle by a process.
    • Finance management and generating bills. (This is not a task. I need to link a consultant to a contract and a client. Finally, generate a bill at the end of each month)

      • Can be handle by a process. The finance manager will have initiate the generation of a new bill from the application. But really, in the backend, it will trigger a new case (process instance), then follow all the steps down to the generation of the bill.
    • Manage how bonuses are attributed to different consultants. This depends on their performance. (Not a task)

      • You're right, not typically process based. Maybe just entering the bonuses value in a DB. If there are business rules associated to the calculation of the bonuses, it could be handled by a process.
    • Consultants should be able to see their history and how long they worked for a given client and how much money they have brought in. (Not a task)

      • Should be a report pulling data from an external DB or the Bonita DB.
    • Managing job applications. (Applications and uploaded files like C.Vs and cover letters).

      • Typically process-based.

    So the short answer is yes, Bonita can be used to build this kind of application.