User Story: On 50 individual dataminer systems, I want to combine a subset of the values of individual parameters from 10-12 different elements, each using their own protocol, and display (read) and control the parameters (write) from within a single virtual protocol. This protocol will then be replicated to a primary dataminer system. However, the 10-12 elements/protocols on each of the 50 systems may not be the same, so my virtual protocol must be flexible to retrieve the parameter values from different device elements/protocols depending on location.
This can be implemented using a Virtual Driver and Element Connections, but it could also be implemented by building a "Skyline Generic Virtual Element" that could have a table, similar to a generic HTTP Query driver, to which you could add rows representing elements and parameters from other elements on the system and use parameter subscriptions, InterApp, or some other method to retrieve the data.
My questions are:
Given perhaps 50 parameters coming from 10-12 elements, is using a Virtual Driver and Element Connections more or less resource intensive than using InterApp calls or some other kind of Parameter Subscriptions within a protocol QA?
What is the best way to implement the requirements of this user story?
Hi Michael,
At first glance, I would say that element connection offers the best option to send/receive parameter values between different elements (in terms of performance). However, since DMA version 10.3.12 there has been a significant enhancement in the performance of InterApp calls. Given this improvement, I suggest you consider trying out InterApp calls. In comparison to element connections, InterApp calls provides the following benefits
- Parameter definition: When using element connections, you need to hardcode in the protocol XML file that a parameter will read (or write) from another parameter (see DataMiner Docs). InterApp does not require this setting. However you still need to define two parameters that will be used to send/receive messages across elements.
- Request/Response: Using InterApp you can control when to send data to the target element. For example, it could be the case that you would like to send all the sets done in the last minute in a single message (a bulk message). Element connections will send updates immediately after the source element is updated (as far as I know you cannot control this behavior)
- Configuration: Since your implementation cover several elements/protocols, InterApp calls will give you extra flexibility to retrieve different parameter values.
Hope it helps.