Store business data in an external database ?

1
+2
-1

Hi all,

I'm curious about the exact reasons storing business data in an external database instead of process variables is a best practice recommended by BonitaSoft.

From what I can read in the documentation and the questions/answers, I see two reasons for this :

  • you have an existing database and you don't want to duplicate your data in Bonita database
  • you don't need to keep track of any change made to data (that's what Bonita engine do) so you might want to avoid a large Bonita database (which implies bad performance ?)

Now let's say you start a project with no existing database. Unless you expect a large number of concurrent users / cases, is there a good reason we should create an external database (and then create a connector for each step you need to read/write your business data) ?

Thanks for your thoughts.

Nicolas

Comments

Submitted by nicolas.dupont_1 on Tue, 03/18/2014 - 16:15

deleted comment

3 answers

1
+1
-1

Thanks for your opinion, Chris. I'm also interested in other opinions.

By the way, my question is incomplete : I meant "why should we store business data in an external database model INSTEAD OF PROCESS VARIABLES". I didn't have a look into Bonita database so I wonder if we could easily query our business data if it was stored as process variables.

1
0
-1

The main reason for me to keep the data in a separate database is to isolate the database from changes caused by patching/upgrading Bonitasoft. Also if a process developer changes the BDM or process variables, what would the impact be to the database if hosted in Bonitasoft verses a separate database which the developer doesn't have permission to change.

Just my two cents.

1
0
-1

You need to look at how the data is used, and whether it is shared with other tools. If you keep your business data in an external database, it can be accessed by other software that you use. For example, suppose you use a Bonita process to manage holiday requests and approvals. This process will update a database that you also use for payroll. If the data manipulated by your processes is not used for anything that isn't a Bonita process, then storing it in the Bonita database might be the right decision for you.

I'm interested to hear what other Community memners have to say about this.

Chris

Comments

Submitted by nicolas.dupont_1 on Tue, 03/18/2014 - 16:14

Thanks for your opinion, Chris. I'm also interested in other opinions.

By the way, my question is incomplete : I meant "why should we store business data in an external database model INSTEAD OF PROCESS VARIABLES". Also : I didn't have a look into Bonita database and I wonder if we could easily query our business data stored as process variables.

Notifications