BizTalk и развитие систем

Рассмотрю пример, показывающий, чем нам может быть полезен BizTalk Server.

На нашем виртуальном предприятии есть несколько связанных между собою основных систем: Бухгалтерия, Склад, CRM. Есть еще система отчетов.

Система отчетов получает данные из основных систем и генерирует разнообразные отчеты.
Основные и дополнительные системы были разработаны разными компаниями, были они закуплены в разное время.  К примеру, Склад и Система отчетов работают уже больше десяти лет.

Предприятие развивается, сейчас как раз наступил момент, когда потребовалось заменить старую и неповоротливую систему отчетов на более новую.
Только вот незадача, делать этого совсем нельзя. Вернее можно, но чревато это простоем компании.
Не можем мы БЫСТРО перейти на новую систему. Старая система намертво «вшита» в предприятие. За много лет она успела подстыковаться к другим системам. Были определены специальные форматы обмена данными. И ПРОСТО перейти на новую, хорошую систему отчетов не получится.

Представьте себе комбайн, к которому подключено многочисленное навесное оборудование. Соединяется комбайн с оборудованием разными проводами с разнообразными разъемами. Выдернуть все провода, заменить старый комбайн на новый и заново воткнуть все провода не получится. Все разъемы на новом комбайне другие, некоторых просто нет, другие разъемы объединенные и т.п. Сигналы управления, идущие от нового комбайна тоже изменились.
Что же делать? Неужто придется менять и комбайн, и все оборудование вместе с ним?

Есть стандартный метод. Заключается он в использовании промежуточного слоя в передаче данных.
Между комбайном и оборудованием ставится система согласования. Все провода сначала стыкуются с ней, все сигналы идут только через нее.
В простейшем случае сигналы просто копируются со входа на выход.
Для чего тогда этот промежуточный слой нужен?
А вот как раз при замене любой из систем с любой стороны слоя, как раз в этом случае этот слой и незаменим.

Возвратимся к нашей системе отчетов. Все данные соединим через промежуточный слой. Теперь поставим новую систему рядом со старой и начнем потихоньку, без спешки переключать один разъем за другим. В порядке готовности. Сделать это просто, так как данные могут с одного входа подаваться сразу на несколько выходов. К одному выходу подключена старая система в рабочем режиме, к другому выходу подключаем новую систему и отлаживаем ее. Я сильно упрощаю реальность, но мне главное объяснить, как мы с помощью промежуточного слоя передачи данных добиваемся отмены требования «менять систему сразу и безошибочно«.

Немаловажно и то, что в промежуточном слое мы можем получить данные в промежуточном формате, который свободен от «особенностей реализации».
Как это часто бывает, данные часто передаются в крайне специализированном формате, в котором учтены особенности передающей системы (например, форматы чисел, характерные для процессоров определенного типа), особенности транспортного протокола (разнообразные контрольные суммы, данные, специфические для определенного протокола) и т.п. Принимающая данные система тоже может требовать специализированный формат. А логически данные могут сильно отличаться как от входного, так и от выходного форматов. Если мы сначала преобразуем данные в логический формат, отбросив все «особенности реализации», нам будет много проще добавлять другие входные и выходные форматы. Поэтому много проще будет и замена систем за нашим промежуточным слоем.
Вот такой простенький пример, который помогает нам понять, как BizTalk решает проблемы интеграции. BizTalk Server и есть система «промежуточного слоя», система для интеграции.

1 комментарий

Filed under BizTalk

One response to “BizTalk и развитие систем

  1. хорошо бы изначально указать, на кого рассчитана подобная информация.

    если на фиников и прочих манагеров, то явно не хватает практической цифири. скажем, при каких масштабах бедствия оправдано привлечение таких тяжёлых технологий, как bt, включая прикидки на стоимость софта, его внедрение, сопровождение, возможные риски и прочий столь мелодичный ихому слуху «возврат на инвестиции».

    если же на технарей, то пара сладеньких примеров систем (1С, аксапта, босс-кадровик), форматов (EDI, xml) и широчайших функциональных настроечных и административных возможностей бестолки. чисто для возбуждения аппетита.

    в любом случае не повредила бы картинка, дающая парадигму middle ware, а также ссылка на конкретный проект с соответствующими деталями (для фиников и технарей соответственно).

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s