Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

This is a continuation in series started with "Distribution Modeling in Data Orchestration Engine - 1 ".

In this article will go through the distribution rules aspect of Data Orchestration Engine, in particular "Bulk Rules".

First will try to define the abstract parameters, with in the context of any rule, for ease of understanding and then will build on to it.

i- Set-A - {I}, represent the instances of data objects. This corresponds to generated CDS table entries.

ii- Set-B - {(CF, Op)}, represent the criteria field value for the statically modeled criteria field and operator. The criteria fields are from data object.

iii- Set-C - {R}, represent the list of receivers participating in the rule

iv- Set-D - {(I,R)}, represent the list of instance-receiver pairs stating identified instances for the receiver. This corresponds to generated AT table.

Purpose of evaluating distribution model is to build the set-D.

For the ease in calculation, first a subscription set, Set-S, is prepared by operating on Set-B and Set-C, that appears like {((CF, Op), R)}, i.e. it contains subscription information for the entire participating receiver.  {The Set-S corresponds to generated DRDS and DR tables}.

And then this Set-S is operated against Set-A by using the parameter values of CF and Operators for each individual elements of the sets, and thus to prepare the final result Set-D.

This is the same approach for most rule kinds. The difference comes in how the set-B and set-C are defined & populated.

 

Bulk Rule

In the case of bulk rule, the Set-B is empty, that is no criteria field, and hence no operator on them, is modeled. And so the set-S turns out to be similar to Set-C {R. And so when set-s is operator with set-A, set-D turns out to be a cross product between set-s and set-A finally resulting in Set-D.

 

Let us take an example and see the same. In the example, the users are supposed to meet customer and address the customer's concerns. Each user gets an update on their device about the customer, based on the update user goes and meet the customer, update the customer status. Further for simplicity assume each device is having one and only one user, and similarly each user is assigned to one device only.

Let the following list represent the available users/receivers in the system:

Receiver

Location(say one of attribute for receiver

RCVR-A

LOC-B

RCVR-B

LOC-C

RCVR-C

LOC-C

RCVR-D

LOC-D

All receivers are assigned the DM-SWCV where the rule is modeled.

 

Let the records of customer object are having following fields: Name, Address, and Location.

So suppose the set-A, as identified by CDS table entries look like:

Name

Type

Location

CUSTOMER-A

T2

LOC-B

CUSTOMER-B

T3

LOC-C

CUSTOMER-C

T4

LOC-D

 

As there is no criteria field required for bulk rule, the Set-B is empty.

The Set-C, containing list of participating receivers in the rule, is prepared based on the modeled binding options.

 

If the option ‘None' is chosen: Then system does not identify the receivers as participating in the rule. Rather now administrator needs to explicitly assign receiver to rule. Suppose in this case, administrator assigns only RCVR-A & RCVR-B to rule. So the set-C will now look like:

RCVR-A

RCVR-B

So in this case, the set-D, final output will look like:

CUSTOMER-A

RCVR-A

CUSTOMER-B

RCVR-A

CUSTOMER-C

RCVR-A

CUSTOMER-A

RCVR-B

CUSTOMER-B

RCVR-B

CUSTOMER-C

RCVR-B

 

 In this case, the evaluation will take place

i- whenever rule is activated or de-activated, or

ii- when administrator assign or un-assigns receiver from rule, or

iii- Whenever the DM-SWCV for the assigned receiver is changed.

 

If the option ‘All' is chosen: as all the receivers are assigned the DM-SWCV, system will identify all of them for participation in the rule. The set-C will now look like:

RCVR-A

RCVR-B

RCVR-C

RCVR-D

 

So, in this case, the set-D will appear as follows:

CUSTOMER-A

RCVR-A

CUSTOMER-B

RCVR-A

CUSTOMER-C

RCVR-A

CUSTOMER-D

RCVR-A

CUSTOMER-A

RCVR-B

CUSTOMER-B

RCVR-B

CUSTOMER-C

RCVR-B

CUSTOMER-D

RCVR-B

CUSTOMER-A

RCVR-C

CUSTOMER-B

RCVR-C

CUSTOMER-C

RCVR-C

CUSTOMER-D

RCVR-C

CUSTOMER-A

RCVR-D

CUSTOMER-B

RCVR-D

CUSTOMER-C

RCVR-D

CUSTOMER-D

RCVR-D

 

In this case, the evaluation will take place

i- whenever rule is activated or de-activated, or

ii- Whenever the DM-SWCV for the assigned receiver is changed.

 

If the option "Receiver Attribute" is chosen:

(a) Then modeler needs to identify the receiver's attribute and its value based on which to assign receivers to rule. Suppose the modeler has decided - Location = "LOC-D". In this case, system will identify only RCVR-D to be participating in the rule. So the Set-C will look like

RCVR-D

 

And hence the final result in Set-D will look like:

CUSTOMER-A

RCVR-D

CUSTOMER-B

RCVR-D

CUSTOMER-C

RCVR-D

 

In this case, the evaluation will take place:

i- whenever rule is activated or de-activated, or

ii- whenever the DM-SWCV for the assigned receiver is changed, or

iii- When the receiver's attribute is changed. In this example whenever the Location attribute's value is changed.

 

(b) Instead of statically defined value of Location=LOC-D, one can use the subscription generation data object to fetch the value of attribute Location to be considered.

Supposing a subscription generation data object is used having following values for field used for describing receiver's attribute ‘Location':

LOC-B

LOC-E

 

So in this case, system will identify only Receiver - Rcvr-A to be participating in the rule. The set-C will look like:

RCVR-A

 

And so the final result in the Set-D in this case will look like:

CUSTOMER-A

RCVR-A

CUSTOMER-B

RCVR-A

CUSTOMER-C

RCVR-A

 

In this case, the evaluation will take place whenever:

i- rule is activated or de-activated, or

ii- when administrator assign or un-assigns receiver from rule, or

iii- whenever the DM-SWCV for the assigned receiver is changed, or

iv- when the receiver's attribute is changed or

v- Whenever the attribute value gets changed in subscription generation data object.

 

In all the above cases,  after the rule is activated in the portal, any insert or delete message for the data object will be evaluated for updating mapping information to relevant receivers.

Well that's it on the bulk rules as part of this article.