Design Tips

Calling Another Process from ActiveVOS

In ActiveVOS you may have many processes some which interact with each other. If you are calling another ActiveVOS process there are two invoke types available Process and Sub process. The most efficient way to call another process from a process is using the Process invoke.

images/download/thumbnails/129180821/image2018-4-5_10-3-16.png

If you are not waiting for a response from the child process, there is less overhead in ActiveVOS for the REST api if you call requestResponse and send back an immediate acknowledgement. This is as of version 9.2.4.3.

If you call a process from another process, this does not prevent you from calling the same process from other sources Soap/Rest/JMS.....

For example you can call the same process directly from PIM, from Soap ui and from another ActiveVOS process.

Consuming PIM Messages and grouping them.

Reason

We may want to group incomming triggers in order to increase performance

We may want to update data only when we have a full set of data to update

We may want to implement business rules on a set of data rather than one value

In the case where Pim cannot exclude some data from creating triggers but we do not want to perform an action on that trigger

To lessen the number of processes started

Considerations

We do not want to cause any extra potential failure points between Pim and ActiveVOS

We do not want to delay the consumption of messages by ActiveVOS

We need to be able to consumer different types of messages.

Suggestions

Have a process that consumes all messages at an endpoint without correlation.

Have an API that includes a payload to represent the actual data being sent over the wire and a header with correlation information

Create a new object with the header and payload and call another process that will group the data by the specific correlation needed

Put the correlation on the new object rather than the rest service.

P360Metrics.bpr

P360Common.bpr