Всем привет! Решил просто с нифига начать рассказывать про "выкрутасы" на работах. Сразу оговорюсь - сфера информационных технологий, поэтому и термины будут тут юзаться регулярно из этой сферы и англицизм будет присутствовать.
Итак, одна из работ предполагала работу с ПО семейства SAP, а именно - SAP IBP (Integrated Business Platform) - типа для бизнес-планирования всяких разных процессов, там можно моделировать спрос и предложение (сколько сможем произвести, чтоб как можно к 100% удовлетворить спрос без перерабатываний продукции, которая останется без спроса и без недоработок (без неудовлетворения спроса))
Так вот, было собеседование изначально, где я честно признался - у меня не было опыта работы с SAP, но говорят что это стильно модно молодежно, и мне тоже захотелось с этим поработать - бизнес процессы налаживать с технической стороны, т.к. я технарь. За бизнес-процессы не расскажу, не подскажу, но обеспечу техническую реализацию бизнес идеи (процесса)
И вот я пришел. Первый же клиент говорит - мы хотим SAP IBP с интегрировать с 1С. Им говорят - да конечно без базару, все будет четко!
Предоставляют нам доступ к тестовой 1С и тут выясняется внезапное - прямой интеграции с SAP нет. А мы слышали, что коллеги из других компаний интегрировали их между собой. Связываемся - выясняется, что они из 1С формировали файлы, а файлы уже подкидывали SAP'у, т.е. односторонняя связь и вручную это все делается, т.е. "на лету" по нажатию кнопочки данные из 1С за несколько секунд не улетят в SAP.
Жопа. А клиенту уже обещана реализация интеграции прямой. Че делать? Мой архитектор связывается с клиентом говорит вот такая проблема, файликами обмен будет. Они - не вы че какие файлы, вы с дубу рухнули? Такое делали в 2005 году, сейчас нужен обмен на лету!
Архитектор сам не знает че делать, идет ко мне говорит - Леха, проведи работу над тем как можно еще их между собой подружить.
И ВОТ ТУТ КЛЮЧЕВОЕ - я сидел и думал про себя - я чел, который еще месяц даже не отработал, должен буду найти способ интеграции SAP'а, малоизвестной мне программы, с 1С, которую более-менее щупал, но не так чтоб профессионально? Епт, а по хорошему разве не архитектор должен был предусмотреть схему интеграции ДО того, как браться за проект \ заказ, или если он был причастен к продаже - то ДО продажи, не? Ладно, если он это упустил, то разве не ОН должен выкручиваться сейчас? Я ж как бы обычный работяга, которому скажи с помощью чего синтегрировать и как оно по идее должно работать - я сделаю.
Ладно, отставить нытье и спихивание проблем на других, главный вопрос щас - ЧТО ДЕЛАТЬ? Вместе с ним искать варианты или самостоятельно? А как здесь процесс обсуждения найденных вариантов интеграций устроен? Если щас я найду, начну делать, а оно не взлетит - меня ж выкинут с работы, ибо обычно у бизнеса ключевой сотрудник (архитектор) априори никогда не виноват, виноват исполнитель мелкий... Ладно, а если щас заявить, что мол это ваши проблемы, раз нет прямых интеграций, нужно продавливать клиента под обмен файликами - я тогда гарантированно вылечу с работы, ибо никому не нужен "вякающий" работник.
Ну и я решился все-таки сам найти интеграцию и найденную интеграцию сам и реализовать, хуй с ним, если не взлетит - то я хотя бы опыт набью, который применю на следующей работе.
В итоге проходит примерно неделя, я нашел такой интересный инструмент как SSIS - SQL Server Integration Services, он может автоматически забирать из API данные и складывать в файл, базу данных и много чего еще может. Реализация автоматического сбора информации из 1С (нескольких) бухгалтерии вроде решена, SSIS по кнопочке сможет забрать данные сразу из нескольких 1С и собрать их воедино для отправки в SAP.
Далее пошел в сам SAP. Увидел обмен файликами это да, но я сразу по опыту знаю, что люди, желающие интеграцию, они сначала захотят простой обмен, а потом начнут навешивать всякие логики сложные. Например, если из первой 1С ("А") будет приходить число, превышающее число из второй 1С ("Б"), то числа "А" скорректировать на числа "Б" (чтоб "А" = "Б" стало), а иначе - берем число "А" как есть и число "Б" тоже как есть.
Поэтому нужно какой-то другой вариант. Желательно единого хранилища, где и будут вот такие взаимосвязи осуществляться. Сразу на ум приходит база данных. Я на тот момент работал только с Oracle и слышал только про другие БД. Немного покопавшись, вижу что SAP отлично дружит с SQL Server (Microsoft). Видел и другие поддерживаемые БД, но интерфейс SQL Server Management мне очень понравился (это ПО работающее с БД SQL Server) и я сразу после этого пошел к архитектору, говорю:
- Давай схему интеграции сделаем так - будет SQL Server, стоящий отдельно от всех 1С. Туда будет поступать информация из всех 1С автоматически с помощью SSIS. Запускаться сбор данных будет из SQL Server. А в SAP будут поступать данные по инициации самой SAP, она забирать данные из SQL Server уже. Если дашь побольше времени, я исследую на тему "А можно ли запускать джобики SQL Server'а из SAP" и скорее всего понадобится инфа "а как из SAP обратно в SQL Server положить"
Он - а SQL Server платный? Лицензия нужна?
Я - (я всегда не любил платить за ПО, любил все бесплатное или максимально хакнуть прогу) щас посмотрю.
В итоге выясняется что есть бесплатные версии и платные. Бесплатные - для домашнего пользования и для разработчиков. Давай выяснять а с чем SSIS умеет работать. Оказалось, что для разработчиков в бесплатной версии, а в платной - со всеми.
Крч, как вы понимаете, бизнес решил пойти бесплатным путем.
Я говорю - дайте мне контакты разработчика 1С, мы с ним обсудим интеграцию с SQL Server.
Туда-сюда, дали контакты, пошла работа... с SSIS до этого не работал, как и со SQL Server, как и с SAP, но я решил пойти ва-банк - либо попробовать реализовать и меня возможно наградят, либо выкинут с позором.
Короче, что по итогу. Я сам нашел способ интеграции, я сам разрисовал схему интеграции - приходил регулярно к архитектору за одобрением. Я ее (интеграцию) реализовал, в обе стороны. По 1 кнопочке в 1С или в SAP проходила интеграция туда-сюда, со сложной, очень сложной логикой преобразования данных, но бизнес получил что хотел - он начал успешно планировать производство, спрос и предложение. То, на что уходило часы - стало уходить минуты.
Мой архитектор, несколько месяцев спустя, сказал:
- Блин, Алексей меня удивил конечно. Я в начале думал мы капец в тупиковой ситуации, начал тоже исследовать как подружить все эти 2 системы - а Алексей взял нашел и начал реализовывать. Я сначала было думал - надо ему помочь, направить, тоже что-то разработать, а смотрю - он и сам все делает, вообще все. Я даже в какой-то момент перестал следить за его работой - потому что стал уверен, что он все сделает как надо и ведь сделал же! Абсолютно все довольны работой Алексеем, спасибо тебе!
Это были лучшие для меня слова, никогда не забуду, но черт возьми, через что мне пришлось пройти - от полного непонимания как работает SAP до полной интеграции и настроек всяких разных фич. Вся эта работа, главная составляющая заняла месяца эдак 3 (вместе с согласованиями, доступами, разработками, подключением других 1С-ок...)
А потом еще месяца 3-4 это доработки приятные - чтоб по 1 кнопке шла только нужная информация, ускорение интеграции, доработка логики преобразования данных...
Короче вот такая история вышла