Download - Формула BizTalk
Click to edit Master title style
Формула BizTalk
Использованы цитаты из телефильма Марка Захарова «Формула любви» по сценарию Григория Горина
Click to edit Master title style
Microsoft BizTalk в Vi сегодня
Более 20 систем (ВИМБ, НВ, OEBS, ЦС, ГКДО, Яндекс,
+SOL, СОТ..)
Около 100 каналов передачи данных
Более 5000 сообщений в день
2 боевых, 2 тестовых и 1 сервер для разработки.
Click to edit Master title style
`
Группа администрирования
Черноухов Никита Валентинович
Внутренний: 2965
Кишечкин Алексей Сергеевич
Внутренний: 2506
Группа администрирования серверов под руководством Осипова Михаила Петровича:
Click to edit Master title style
`
Типичные проблемы
• Не прокачивается!*совершенствуем процесс поддержки (журнал, оповещения, добавляем/обучаем людские ресурсы).
• Потеря данных! Дубли!*дорабатываем (оперативное исправление)
• Срочно!*заводим sla, работаем через tfs, добавляем серверных мощностей
• Почему не предупредили?*согласовываем перевыводы по спискам ответственных
У нас в уезде писарь был. Год рождения в пачпорте одной циферкой записывал — чернила, шельма, экономил. Потом дело прояснилось — его в острог. А пачпорта уж переделывать не стали — документ всё-таки.
Click to edit Master title styleИнтеграция. Цели и стратегии.
Для чего живёт человек на земле? Скажите.
Автоматизация распределенных бизнес-процессов.
Повышение эффективности за счет создания
единого информационного пространства.
Прозрачность процессов.
Снижение вероятности появления ошибок.
Click to edit Master title style
`
Сравнение
Достоинства:ПроизводительностьБолее тесная интеграцияЛегкость внедрения
Недостатки:ВзаимозависимостьСложность измененияДублирование функций управления
«точка-точка»
Достоинства:Слабая связанностьСтандартизацияУниверсальность
Недостатки:Доп. расходы (система, люди)BottleneckBlack Box
Шина данных
Click to edit Master title style
`
Факторы, определяющие выбор
• Режим взаимодействия• Наличие бизнес-процессов• Количество данных• Форматы представления данных• Количество подписчиков
Click to edit Master title style
`
BizTalk как шина данныхНе надо громких слов, они потрясают воздух, но не собеседника.
• Универсальность• Надежность• Безопасность• Масштабируемость• Адаптивность
Click to edit Master title style
`
Универсальность
BizTalk сервер – технология, позволяющая соединять между собою любые публичные интерфейсы систем, обеспечивая безопасность взаимодействия и добавляя практически любую промежуточную бизнес-логику. Если говорить о внутренних ИС, то BizTalk – удобный, достаточно простой, но не дешевый инструмент, позволяющий вашей ИС не заботиться о том, что из себя представляют потребители и источники информации. Исходя из этого, BizTalk идеально вписывается в концепцию построения SOA архитектуры.
Click to edit Master title style
`
Факты
Широкая линейка адаптеров.Адаптеры могут осуществлять как взаимодействие по стандартным протоколам (FILE, FTP, HTTP, etc), так и специфическое для промышленных продуктов (SAP, Tibco, SharePoint, etc).
Единая архитектура сообщенийВсе сообщения, передаваемые через BizTalk в том или ином виде сериализуются в XML, описываемый посредством xsd схем. За счет чего на адаптерной стороне любое сообщение может быть преобразовано с минимальными затратами разработчика как в одну, так и в другую сторону.
Сервер очереди сообщенийМаршрутизация по системе подписки (publish-subscribe). Причем смена подписчика на сообщение может быть изменена без дополнительной разработки.
Мощный инструментарийЯ бы отметил BizTalk mapper – надстройка над xslt преобразованием, сочетающий как преимущество последнего, так и простоту разработки. И, конечно, систему управления процессами (orchestration), реализованными на языке WS-BPEL.
Click to edit Master title style
`
Надежность
Реализованные каналы передачи данных на BizTalk сервере чаще всего должны работать в автоматическом режиме, без участия человека. Поэтому BizTalk – типичная back-end система. Для любой back-end системы, вопрос надежности –главнейший.
Click to edit Master title style
`
Факты
Гарантированная доставка (persistence)Каждое сообщение сериализуется в БД со своими параметрами окружения в критичных точках (конец транзакции, вызов оркестрации, передача в порт отправки и т.д. ). Благодаря этому все сообщения и доходят до подписчиков, даже если в процессе отправки выключить питание сервера. Другой вопрос, что тут речь о подписчиках с точки зрения ядра. То есть, дойдет ли сообщение до внешней системы зависит от конфигурации порта, реализации адаптера и т.д.
ТранзакционностьПри разработке системы управления процессами можно использовать транзакционные механизмы, позволяющие реализовать выполнение методов, компенсирующих неудачное взаимодействие.
ХостыЛогические контейнеры, описывающие правила использования ресурсов и другие ограничения для артефактов, исполняемых службами. Каждому хосту ставятся в соответствие службы, управляемые BizTalk (перезапуск, выделение ресурсов и т.д).
ЛогированиеЕсть, разностороннее, но в меру бессмысленное с точки зрения бизнеса, даже учитывая BAM.
Click to edit Master title style
`
Безопасность
Обычно, BizTalk сервер используется как шлюз, через который происходит общение разных систем, поэтому вопросам безопасности уделено много внимания еще на этапе проектирования.
Click to edit Master title style
`
Факты
SSOЕдиная точка входа. Конфигурирование портов, доступам к BAM (Business Activity Monitor) и т.д. может быть настроен через одну точку.
Подписанные сборкиЛюбые библиотеки, используемые BizTalk должны быть подписаны и помещены в GAC.
Невозможность запуска исполняемых файловВсе сообщения сериализованы. Бинарные данные кладутся отдельно (технология message parts) без возможности использования в бизнес-процессах.
ШифрованиеДля защиты бизнес-критичных данных есть возможность включения механизмов шифрования и использования цифровой подписи на серверном уровне.
Верификация данных и операцийВерификация достигается благодаря строгому описанию сообщений в xsd схемах. Кроме того, на портах отправки должны быть объявлены все разрешенные операции.
Click to edit Master title style
`
Масштабируемость
Интеграционные решения на базе Microsoft BizTalk Server легко масштабируемы. При этом есть возможности как для горизонтального, так и вертикального масштабирования.
Click to edit Master title style
`
Факты
КластеризацияОчень простой механизм создания кластера серверов. Под кластером в данном случае понимается именно набор BizTalk серверов (BizTalk group), осуществляющих совместную обработку данных.
Конфигурация хостовДля распределения затрат процессорного времени и памяти.
64-х разрядная платформаПозволяет эффективно работать на современных ОС и промышленных серверах.
Click to edit Master title style
`
Адаптивность
Любое взаимодействие между системами зачастую сталкивается с проблемой разсинхронизации версий. То есть изменения могут быть как на уровне интерфейсов, так и на уровне платформ. BizTalk сервер предоставляет широкий спектр возможности по оперативному изменению каналов передачи данных.
Click to edit Master title style
`
Факты
Генератор XSD схемАвтоматическая генерация схем взаимодействия для адаптеров, плоских файлов и сервисов.
БайндингРазработка происходит на уровне логических портов, конечная привязка осуществляется администратором и может быть изменена «на лету».
APIСуществует Api для написания адаптеров и использование расширений (например для wcf). Кроме того, могут быть реализованы кастомные pipeline компоненты, осуществляющие трансформацию данных от адаптера к message engine.
Бизнес-правилаИнструмент для маршрутизации на основании правил, определяемых бизнесом (Business Rules Engine).
ДеплоингПубликация как msi проекта целиком, так и отдельных dll.
Click to edit Master title style
`
Выводы
Microsoft BizTalk сервер – мощный инструмент, позволяющий реализовать интеграционное взаимодействие систем по архитектуре «Шина данных». Разработка осуществляется достаточно быстро, взаимодействие надежно, но само решение дорого и требует хорошей квалификации.
Click to edit Master title styleОбзор архитектуры BizTalk
Русская речь не сложнее других. Вон Маргадон — дикий человек — и то выучил.
Click to edit Master title style
`
Источник: BizTalk Server Overview
Visu
al S
tudio
SSO
BizTalk CoreEngine
BizTalk Orchestration
Databases ApplicationsCommunication
ProtocolsTradingPartners
Win FX / Office
BAS BAM
Mic
roso
ft M
an
age
me
nt C
on
sole
Services
Business RulesEngine A
dap
ters /S
QL
Integ
ration
BAS
Accelerato
rs for B
izTalk Server
BAM
.Net F
ramew
ork
LegacySystems
Компоненты
Click to edit Master title style
`
Источник: BizTalk Server Overview
Receive Location
Обработка сообщений
Receive Adapter
Receive Pipeline
Message Database
Message Engine
Orchestration
Map
Send Port
Send Adapter
Send Pipeline
Click to edit Master title style
`
Microsoft Visual Studio
Инструменты разработки— Ну, барин, ты задачи ставишь! За десять дён одному не справиться, тут помощник нужен — хомо сапиенс! — Бери помощников, но чтобы не раньше!
Схемы Карты Сценарии Pipeline
Внешние библиотеки
Click to edit Master title style
`
Редактор схем
Дерево элементов Просмотр схемы Файлы проекта
Свойства схемы
Click to edit Master title style
`
PipeLine
• Любые данные в Xml и обратно• Кодирование/декодирование• Шифрование/подписание
Click to edit Master title style
`
Оркестрация
Сценарий процесса
• Инструмент визуального проектирования
• Шаг процесса – абстрактная форма (shape)
• Сохраняется в WS-BPEL
Компилируется и публикуется на сервере
Среда исполнения• Публикация подписчика• Исполнение сценария
Click to edit Master title style
`
Редактор сценариев
Формы Визуальный редактор сценария процесса Параметры процесса
Свойства
Click to edit Master title style
`
Формы (Shapes)
• Группировки• Управление потоками• Сообщения• Исполняемый код/исключения
Click to edit Master title style
`
Параметры процесса
• Транзакционность/таймауты• Типизированные сообщения• Логические порты• Переменные• Корреляции• Типы портов• Типы сообщений
Click to edit Master title style
`
Компоненты
ПриложенияИмпорт/экспорт/запуск/остановка. Привязка физических портов. Управление артефактами. Оркестрации Группы портов отправки Порты отправки данных Порты получения данных Приемные области
ХостыКонфигурация контейнера с точки зрения использования физических ресурсов, потоков, ниток, скорости и т.д.
СлужбыУправление windows-сервисами, связанными с хостами.
АдаптерыКонфигурирование адаптеров, используемых приложениями.
Click to edit Master title style
`
Вскользь
Логирование HWS Публикация Web Services front-end Параллелизм (+корреляции) Транзакции (атомарные и длительные) Динамические порты ESB Toolkit Dehydrate/ Rehydrate Orchestration Debugger BPM Promotion
Конфигурирование адаптеров, используемых приложениями.
Click to edit Master title styleПланы по развитию
Для бегства у меня хватит мужества!
AdFox/MetaReport/Yandex.
Переход на новую схему.
Интеграция по процессам.
«Точка-точка» для критичных каналов.
BizTalk 2013.
Публичный доступ подписчикам.
Click to edit Master title style
`
Новая схема взаимодействия
• Репликация внешних очередей*записи из внешних очередей реплицируются в единую внутреннюю очередь.
• Ассинхронный механизм обработки*Сканер очередей с приоритетами, параллелизмом
• Маршрутизатор*Вынесение процесса обработки канала в отдельную нитку процесса
• Точки восстановления*Шаг процесса сохраняется, при восстановлении не повторяется
На двух лошадях скакать — седалища не хватит!
Click to edit Master title styleСпасибо за внимание!
Березин Игорь Вячеславович,Группа архитектуры
— От светлейшего князя Потемкина имею предписание задержать господина Калиостро и препроводить его в канцелярию для дачи объяснений.
— Это невозможно. Он в грядущем.
— Достанем из грядущего. Не впервой.