Back to: Advanced Physical Security Integration (APSI)
Lesson 6.2: Software Integration (API & SDK)
Module: 6 – Unified Integration Logic Prerequisites: Lesson 2.1 (OSI Model) & Lesson 6.1 (Hardware Integration) Estimated Time: 45–60 Minutes
1. Learning Objectives
By the end of this lesson, you will be able to:
- Distinguish between an API (Application Programming Interface) and an SDK (Software Development Kit).
- Explain how software integration allows for “Data Exchange” (e.g., names, photos) which hard-wired integration cannot do.
- Identify the role of the “Driver” or “Plugin” in VMS/ACS unification.
- Troubleshoot basic integration failures by checking port availability and user permissions.
2. Why Move Beyond Wire? (Data vs. Pulse)
In Lesson 6.1, we used a relay wire to say “Alarm!” or “Open!” This is simple, but “Dumb.” A wire can tell you that a door opened, but it cannot tell you who opened it.
Software Integration allows systems to send complex Metadata:
- Hardware (Relay): “Door 1 Open.”
- Software (API): “Steve Smith (Card 5555) opened Front Lobby Door at 09:02 AM. Here is his photo.”
3. The Translator: API vs. SDK
When two software platforms (e.g., Milestone VMS and Lenel Access) need to talk, they need a common language.
A. API (Application Programming Interface)
- The Menu: Think of an API like a menu at a restaurant. The VMS publishes a list of commands it accepts (e.g.,
GET /video/camera1orPOST /ptz/move/preset1). - The Interaction: The Access Control system sends a request to the VMS API. The VMS replies with the video.
- RESTful API: The modern standard. It uses simple web traffic (HTTP/HTTPS) just like a web browser.
B. SDK (Software Development Kit)
- The Toolbelt: An SDK is a box of code tools given by the manufacturer to developers.
- The Interaction: It allows the integrator to build a deep, native plugin.
- Example: When you see an Access Control button inside the VMS interface that looks exactly like the rest of the VMS buttons, that was built with an SDK.
4. The “Driver” or “Plugin”
You don’t usually write code in the field. You install Drivers.
- Scenario: You want your VMS to record video when a specific badge is swiped.
- The Setup:
- Install the “Access Control Plugin” on the VMS Server.
- Enter the IP Address, Username, and Password of the Access Control Server.
- The Handshake: The VMS logs into the Access Control system and asks: “Give me a list of all your doors.”
- Mapping: You drag “Door 1” from the list and drop it onto “Camera 1” in the VMS.
- The Result: The logical link is formed. The VMS now listens for messages from Door 1.
5. Unification vs. Integration (Revisited)
Now we can technically define the difference.
- Integrated (Connected): Two databases. Two servers. They talk occasionally via API.
- Pros: Modular. If one breaks, the other still works.
- Cons: Data sync issues. (e.g., You delete a user in Access Control, but their name is still stuck in the VMS metadata).
- Unified (One Platform): One database. One server.
- Example: Genetec Security Center. The Video and Access control live in the same SQL database. There is no API handshake to fail.
- Pros: Seamless. Instant sync.
- Cons: Single point of failure.
6. Troubleshooting Software Integration
When the systems stop talking, it’s usually Layer 3 or Layer 7 (OSI).
- Check the Link (Ping): Can the VMS server ping the Access Control server?
- Check the Ports (Firewall):
- Different systems talk on different ports. (e.g., HTTP is 80, HTTPS is 443, Proprietary might be 22334).
- Test: Use a “Port Checker” or Telnet command to see if the port is Open.
- Common Fail: Windows Firewall often blocks these custom ports by default.
- Check Credentials:
- The integration service uses a “Service Account” (Username/Password) to log in.
- Did the password expire? If the IT department forces password changes every 90 days, your integration will break every 90 days. Always set Service Accounts to “Password Never Expires.”