Почему API
Ситуация изменилась с появлением заказчиков, выразивших желание использовать централизованную базу проектов без приобретения нашего клиентского ПО – Сметно-аналитического комплекса А0: «Нам нравится ваша идея централизованного хранилища данных, но приложения для работы с данными мы хотим разработать сами: у нас есть особенности, которые не представлены в вашей коробке, нам интересен другой интерфейс, в частности, web».
Другой запрос был связан с заказом приложения, извлекающего сметы из базы данных, предоставляющего интерфейс для фильтрации, структуризации этих данных и их выгрузки в Excel для последующей внутрифирменной обработки. Но при этом предъявлялось условие: предоставить исходные коды. Это проблематично, учитывая, что код коробки шифруется через ключ. И это было только начало. Запросы аналогичного характера продолжали поступать.
Подобного рода запросы очевидно отражают реальные потребности рынка: оптимальным образом использовать в информационных системах предприятий и организаций то хорошее, что создано другими разработчиками. Что касается Комплекса А0, речь идет о мощных возможностях систематизации, структурирования, фильтрации, обеспечения прав доступа к данным по всем проектам, находящимся в централизованной базе проектов, - возможностях, организующих и поддерживающих сложные многостадийные процессы коллективной работы с этими данными.
Этими запросами была инициирована работа по созданию API – программного интерфейса приложений, т.к. именно с помощью API приведенные выше запросы можно естественным образом удовлетворить.
Что нам дает API
- Создание собственных приложений
- Возможность для организаций создавать собственные приложения и обращаться из них через API к централизованной базе сметных проектов.
- Передача исходного кода
- Для разработчика снимается проблема передачи прав на ПО при заключении договоров с организациями, обязательным условием сотрудничества с которыми является предоставление исходного кода. Мы передаем незашифрованное приложение, но шифруем API.
- Гибкость в выборе среды разработки
- Наш API выполнен с использованием технологий COM, это позволяет пользователям API при создании собственных приложений использовать любую среду разработки, которая умеет взаимодействовать с COM-серверами.
- Многопоточность
- Упомянутые COM-технологии позволяют организовать многопоточность без вмешательства в код. А многопоточность – это производительность.
- Снижение требований к шифрованию кода
- Реализация отдельных частей ПО через API позволяет четко отделить участки кода, требующие шифрования, от тех, шифровать которые не надо. Меньше шифрования - меньше объем кода, выше производительность.
Примеры использования API
- Интеграция портала строительной организации с Комплексом А0 Это пример «из жизни». Сотни подрядчиков вводят, в том числе с мобильных устройств, через свои личные кабинеты фактически выполненные объемы за месяц. Утвержденные сметы, в которые должны попасть эти объемы, находятся в централизованной базе Комплекса А0. Введенные объемы проверяются, согласуются, на их основе рассчитываются итоговые стоимости выполненных работ и формируются документы по выполнению – акты по форме КС-2. Этим занимается модуль учета выполненных работ, входящий в состав портала и являющийся частью единой среды проектов для участников строительства. Данные передаются в Комплекс А0, который рассчитывает остатки, при необходимости выполняет план-фактный анализ и передает результаты обратно на портал в модуль бизнес-анализа.
- Подготовка данных для определения начальной максимальной цены контракта Крупная компания заказала приложение для оценки начальных максимальных цен при проведении закупок на выполнение работ по капитальному строительству, на поставку материально-технических ресурсов, выполнение прочих работ и оказание услуг. Решение этой задачи сопряжено с необходимостью помечать ресурсы как давальческие или ресурсы подрядчика, фильтровать и группировать их по заданным условиям и в итоге выполнять выгрузку в Excel в соответствии с внутренними формами, принятыми в организации. Выгруженная в Excel информация затем подвергается дополнительной обработке по внутрифирменным методикам, в результате чего и определяются искомые начальные цены для тендеров.
- Мы реализовали это приложение через API, который использовался для чтения смет из централизованной базы проектов организации. Принципиальным моментом для нас являлось условие предоставления исходного кода, которое было удовлетворено за счет поставки незашифрованного приложения при том, что API – собственный продукт Компании ИнфоСтрой – зашифрован.
- Использование структуры сводных итогов для анализа итогов в произвольных разрезах
- Одним из ключевых аналитических механизмов Комплекса А0, на основе которого уже разработан ряд интеграционных решений, является структура сводных итогов (ССИ). Идея ССИ состоит в том, чтобы группировать строки локальных смет по узлам произвольных структур, создаваемых пользователями – сметчиками, экономистами, аналитиками, а не только в соответствии со стандартными структурами итогов, такими как разделы ЛС. Привязывая строки ЛС к узлам таких произвольных структур, можно получать разнообразные итоги для последующего анализа.