Хорошо и удобно, когда все разложено по полочкам, заранее спланировано с учетом всех мыслимых и немыслимых мелочей. Нельзя сказать, что в жизни такого не встречается. Встречается, особенно, когда имеешь дело с тиражируемыми изделиями, имеющими столетнюю историю совершенствования. Например, с легковыми автомобилями. Сядешь, бывает, в какую-нибудь тойоту, осмотришься общупаешь все, что захочешь, и подумаешь: вот умеют же делать, все для людей!
Но когда мы имеем дело с автоматизацией, да еще с заказной автоматизацией, с автоматизацией некого уникального конкурентного преимущества, ни о каких тиражах, ни о каком массовом производстве речи быть не может. Компания живет, и этого уже достаточно в конкурентной среде. Нет стабильности. Рынок меняется, жизнь меняется, и под новые условия нужно подстраиваться. И нужно что-то заново автоматизировать. Вот позвали меня, а передо мной звали кого-то другого. И нужно интегрировать то, что сделал я с тем, что сделали другие: и мои предшественники, и партнеры заказчика с их API, и вендоры, поставившие «коробочное решение».
Pitti, January 2019. Photograph by Mr Stefano Carloni
И это нормально. Можно мечтать о едином монолитном решении с единой непротиворечивой базой данных: вводит один однажды, пользуются все столько раз, сколько нужно. И даже можно увидеть реализацию таких грез. Я лично видел. Это было в компании, в которой все отточено до идеала, почти как в Макдоналдс, и почти как в Макдональдс, в этой компании были очень стабильные процессы, начиная от производства и заканчивая продажами, 80% продукции брал себе один клиент.
В основном же приходится работать с независимыми приложениями, каждое со своей базой данных. Избыточность данных порой приводит к противоречиям. Но интеграция и модульность позволяют эти противоречия искоренять и сглаживать.
Paris, January 2019. Photograph by Mr Szymon Brzóska/The Style Stalker
Что нужно для интеграции? – нужны интерфейсы из тех приложений, с которыми заказчик хочет наладить взаимодействие новой создаваемой системы. Если есть развитые стабильно работающие интерфейсы, совсем не важно какие изменения делают разработчики той системы, с которой я интегрируюсь. В этом суть модульности. В этой сути рос и расширялся Интернет. И теперь мы можем получить любую информацию из любой системы, из любой точки мира, если есть API.
Продавцы в некоторых крупных компаниях интеграторах - потомственные революционеры: «Весь мир насилья мы разрушим до основания, а затем мы наш мы новый мир построим…» На практике, старый мир до основания разрушить не удается, потому что заказчик вдруг понимает, что еще пара смелых шагов, и его компанию канет в Лету. Ну и новый мир на этапе развертывания и внедрения оказывается не таким уж и райским, как расписывали продавцы на тендере. И нужно как-то интегрировать остатки старого мира с функциональностью новых технологий.
На фоне этих грандиозных компаний «…белеет мой парус, такой одинокий на фоне стальных кораблей…». Я – всего лишь портняжка, который может крепко сшить лоскутки вашего кафтана, чтобы работать было тепло и уютно.
Если вам нужно роботизировать часть процесса, снизить количество ручного труда, и полученное решение интегрировать с другой системой, чтобы еще снизить количество ручного труда - пишите, - обсудим, посчитаем, может быть, даже договоримся…