CAs it was described above, at the beginning of our work we had to build the solution for integration (proposed technical solution - API, SDK, direct connection, etc.). The vendor didn't have any integration experience in the past and they asked us to suggest and describe the best practices.
Our business analysis team considered the vendor's solution, data interchange architecture and data interaction principles between native software and hardware and suggested an optimal solution for the implementation of version #1, which wouldn’t take years. Moreover, the vendor had to get the system certified again after the integration because the core of their system was supposed to be changed.
After the solution was approved by both parties (our team and the vendor's team), the vendor's team started API implementation on their side.
At the same time, our team started two other activities:
- Implementation of a driver application;
- Discussion with the police security system department (together with the vendor) of how the client's security system would receive alarm signals simultaneously with the police security office, which signal would have higher priority and how to solve collisions;
During the driver application implementation, we could implement the protocol only using a prepared project of the protocol without real hardware (theoretically), because the vendor was working on the implementation of the protocol on their side. For internal use, we developed an emulation of the hardware and vendor's software part for the testing. Actually, later , we had some problems with the communication to real software, but we had a budget for its stabilization and we reserved the time for that as well.
The vendor's existing software also has strong encryption and signal/transaction confirmation inside their internal ecosystem. e implemented the same level of protection and complexity for external integration. It means that our driver which is connected to the vendor's system uses the same level of encryption/decryption and supports necessary transactions handshaking.
At the business analysis stage together with the vendor, we prepared a list of available for events, equipment/devices states and commands. We mapped available events and commands to the API. In this case, our integrated security system can monitor and control the vendor's alarm security system almost with the same functionality as the vendor's native software. The major difference is that the integrated security system cannot program/administrate alarm security system, i.e. configure devices, set up properties, save the program in the controllers’ memory.