Answered

Best practice working with external source large database tables

Hi! We're implementing Bizagi in our company for the first time, and we have a couple of question about working with external source data tables that have a considerable amount of rows.

We need this external data to be shown and selectable. We've been told that we necessarily need to replicate that data in the Bizagi database (Even if we use web service to fetch the data), is that the only way?

Because this data should be in a parametric entity, the Bizagi documentation says that we need to replicate, because Virtualization is just for master entities.

What we are looking for is the possibility to not store the external source data again in the Bizagi Database. This is only for the parametric entities that have a lot of rows.

Thanks in advance.

Best Answer
photo

Dear Juan Carlos,

You are correct that Replication is for parameter entities and virtualization is for Master Entities. If you want to use replication, you need to use a scheduler in order to set the time when you entity will be updated (Every day, Every week, Every Month, and so on). There is another way to replicate data. It is implementing a method called saveEntity or saveEntityAsString of web services.

This Web method is used to update information in an Entity in Bizagi's data model (from an external application).Updating information in an Entity involves: inserting new records, modifying existing ones, or disabling (logical deletion) existing records. This method is specially used for Parameter Entities in Bizagi; given that such records (lists of values) are never modified from a Process instance.This method receives a single input having the values to insert, modify or disable, for the attributes and relations in a start-point Entity.It is up to you which one you want to implement. For further information, please check the following articles:

Regards

Comments (3)

photo
0

Dear Juan Carlos,

You are correct that Replication is for parameter entities and virtualization is for Master Entities. If you want to use replication, you need to use a scheduler in order to set the time when you entity will be updated (Every day, Every week, Every Month, and so on). There is another way to replicate data. It is implementing a method called saveEntity or saveEntityAsString of web services.

This Web method is used to update information in an Entity in Bizagi's data model (from an external application).Updating information in an Entity involves: inserting new records, modifying existing ones, or disabling (logical deletion) existing records. This method is specially used for Parameter Entities in Bizagi; given that such records (lists of values) are never modified from a Process instance.This method receives a single input having the values to insert, modify or disable, for the attributes and relations in a start-point Entity.It is up to you which one you want to implement. For further information, please check the following articles:

Regards

photo
0

Thanks for your answer, but I have one question left.

Concretely, for what I understand, all these solution make me having to have the same data replicated (in the original source and in Bizagi) There's no way for me to just ask for the data in the external source without having to copy them from the source to the Bizagi Model?

Thanks again.

photo
0

Dear Juan Carlos,

The best way to implement as you need is invoking an external web service. You need to create a method to search data according to some parameters and then response with the answer. Please, visit this article to invoke external SOA layer: http://help.bizagi.com/bpmsuite/en/index.html?invokingsoap.htm

Another way to do it is to implement REST service. The modus operandi is the same, but using REST. Check this article: http://help.bizagi.com/bpmsuite/en/index.html?invokingrest.htm

Best Regards