API (Application Programming Interface – интерфейс программирования приложений) является наиболее часто неправильно понимаемым и чрезмерно разрекламированным аспектом физической безопасности. Хотя применение API действительно может обеспечить большую выгоду, однако их использование намного сложнее того, что часто упоминается в рекламных звонках по телефону или журналах.
Целью API в системах физической безопасности является создание условий для совместной работы различных приложений. Примерами сказанного являются:
Наиболее часто можно услышать обсуждение API в предпродажных ситуациях, когда клиент или интегратор спрашивает продавца: "Ваша система работает с Х?", где в качестве Х может быть любое количество систем безопасности любого производителя.
Стандартный ответ менеджера по продажам: "Конечно, ведь у нас есть API".
Этот ответ я слышу на протяжении всего времени, пока работаю в индустрии безопасности.
Это самое опасное и лживое заявление по поводу систем физической безопасности вообще. В силу того, что подобное происходит довольно часто и является столь рискованным, стоит более подробно остановиться на API.
Урок №1. Нет такого понятия, как API
Не существует такого понятия, как API вообще. Имеется множество различных API. В больших системах существуют сотни API. В общем случае, для каждой функции в системе имеется свой API. Хотите смотреть живое видео – используйте API живого видео. Хотите устанавливать расписание – используйте API установок времени. Хотите увеличить частоту кадров при записи – используйте API частоты кадров при записи и т.д.
Урок №2. Не у всех функций есть API
Вот здесь первый подводный камень. Не для всех функций есть API.
Скажем, требуется получить список всех уведомлений о работоспособности из другого приложения. Это приложение в общем случае может иметь API, но не специальный API, который предусматривает отправку извещений о работоспособности. Легко понять: поскольку у большинства систем в настоящее время сотни функций, то нередко десятки таких функций оказываются недоступны через API.
Урок №3. Наличие API не означает, что он будет работать с данной системой
Предположим, что у Вас NVR от "Genetec" и система контроля доступа от "Software House". В продуктах обеих этих компаний, конечно, имеются API, однако нет никаких гарантий, что указанные два продукта будут работать совместно. Для интеграции продуктов обеих компаний наличие API является необходимым, но недостаточным условием. Как минимум, обе компании должны совместно работать для обеспечения интеграции.
Многие компании заявляют, что их API работает с продуктами партнерских компаний, однако зачастую оказывается, что именно данная комбинация не поставляется изначально.
Урок 4. Интеграция требует времени
Нередко продавцы заявляют, что интеграция займет несколько недель. Так бывает, однако зачастую реализация технических деталей может потребовать значительно большего времени. Следует быть осторожным в отношении времени и денег, отпускаемых на такие проекты. Чаще всего, это непрогнозируемый риск, который невозможно оценить, пока не углубишься в технические детали того, как каждый продавец разрабатывает свои API. В общем, в конечном итоге эти проекты заканчиваются успешно, однако время и стоимость их реализации могут меняться.
Урок 5. Изменения API могут все сломать
Подобно любому продукту, с течением временем API претерпевают изменения. Разница в том, что изменения API могут вывести из строя до этого работающую систему. Причины изменения API могут быть различными: устранение ошибок, повышение производительности, добавление новых функций. При этом другая система, работа которой зависит от API, остается без изменений.
Пусть какая-то система безопасности работает с неким программным обеспечением "Vendor B" версия 3.1. Теперь, допустим, выходит "Vendor B" версии 3.2, в которой, однако, изменен API. Другими словами, новая версия несовместима со старой версией. Поэтому, если обновить "Vendor B" версия 3.1. до версии 3.2, система может неожиданно прекратить работать. В результате на экране центра управления перестает отображаться видео, или пропадает информация от системы контроля доступа либо какой-то другой системы, получившей обновление.
Урок №6. Вы заложник того, что API делаетЕсли только вы не сверхкрупный клиент, то вы заложник всего того, что бы API ни делал и того, каким бы способом он это ни делал. Чаще всего, все, что вам нужно, работает прекрасно. Однако, если для в каком-то специальном случае потребуется изменение - выполнение его может оказаться непростым делом. Убедитесь, что ваши специалисты точно знают, что может и чего не может делать API, чтобы заранее предвидеть любые потенциальные проблемы. Если изменение все-таки выполнить необходимо, то, как правило, оно требует много работы и времени на тестирование. Это происходит не из-за того, что программисты такие медлительные, а потому что продавец ПО должен гарантировать, что это изменение не повредит системам безопасности на тысячах других объектов, где используется данный API.
Использование API в системах физической защиты безусловно выгодно, и их применение определенно будет расти. Понимание реалий использования API в конечном счете поможет максимально увеличивать ценность системной интеграции.
Источник: Security-bridge