Both implementations have their own pros and cons when it comes to maintainability, performance, support of multiple firmware versions, peer-programming, etc.
When should we choose for one approach or the other?
Brecht Deconinck [SLC] [DevOps Advocate] Selected answer as best 20th March 2023
Hello,
First of all:
- There will always be multiple solutions to achieve the same result, the "best solution" for the job is specific to the use-case itself.
- And in most cases using the existing DVE functionality will suffice
When setting up the design and analyzing the work approach, the following questions / topics will be of help to determine the best development solution.
- Capabilities of the device's interface
- Is it possible to get a filtered set of data (get data per card from controller)? And is this the most efficient way for the device? (avoid overload / delays)
- What are the communication speed & load limits? (multiple connections / requests at the same time)
- What is the number of different card types?
- Large number will cause a big DVE driver and increase complexity + load in DataMiner
- What is the number of elements on 1 agent
- How many slots does the frame have? And how many frames will be active?
- How big will the driver be (functionality, params, …)
Brecht Deconinck [SLC] [DevOps Advocate] Selected answer as best 20th March 2023
I think it’s also important to consider a way to disable the DVEs if SRM resources are required to avoid similar, if not equal, objects when the reservations activate these resource functions.