документирование долгоживущих веб проектов. г. белогорцев. зал 3
Формула BizTalk
1. Click to edit Master title style
Формула BizTalk
Использованы цитаты из телефильма Марка Захарова «Формула любви» по
сценарию Григория Горина
2. Click to edit Master title style
Microsoft BizTalk в Vi сегодня
Более 20 систем (ВИМБ, НВ, OEBS, ЦС, ГКДО, Яндекс, +SOL, СОТ..)
Около 100 каналов передачи данных
Более 5000 сообщений в день
2 боевых, 2 тестовых и 1 сервер для разработки.
3. Click to edit Master title style
`
Группа администрирования
Черноухов Никита Валентинович
Внутренний: 2965
Кишечкин Алексей Сергеевич
Внутренний: 2506
Группа администрирования серверов под руководством
Осипова Михаила Петровича:
4. Click to edit Master title style
`
Типичные проблемы
• Не прокачивается!
*совершенствуем процесс поддержки (журнал, оповещения,
добавляем/обучаем людские ресурсы).
• Потеря данных! Дубли!
*дорабатываем (оперативное исправление)
• Срочно!
*заводим sla, работаем через tfs, добавляем серверных
мощностей
• Почему не предупредили?
*согласовываем перевыводы по спискам ответственных
У нас в уезде писарь был. Год рождения в пачпорте одной
циферкой записывал — чернила, шельма, экономил.
Потом дело прояснилось — его в острог. А пачпорта уж
переделывать не стали — документ всё-таки.
5. Click to edit Master title styleИнтеграция. Цели и стратегии.
Для чего живёт человек на земле? Скажите.
Автоматизация распределенных бизнес-процессов.
Повышение эффективности за счет создания единого
информационного пространства.
Прозрачность процессов.
Снижение вероятности появления ошибок.
6. Click to edit Master title style
`
Архитектура «точка-точка»
7. Click to edit Master title style
`
Архитектура «шина данных»
8. Click to edit Master title style
`
Сравнение
Достоинства:
Производительность
Более тесная интеграция
Легкость внедрения
Недостатки:
Взаимозависимость
Сложность
изменения
Дублирование
функций управления
«точка-
точка» Достоинства:
Слабая связанность
Стандартизация
Универсальность
Недостатки:
Доп. расходы
(система, люди)
Bottleneck
Black Box
Шина
данных
9. Click to edit Master title style
`
Факторы, определяющие выбор
• Режим взаимодействия
• Наличие бизнес-процессов
• Количество данных
• Форматы представления данных
• Количество подписчиков
10. Click to edit Master title style
`
BizTalk как шина данных
Не надо громких слов, они потрясают
воздух, но не собеседника.
• Универсальность
• Надежность
• Безопасность
• Масштабируемость
• Адаптивность
11. Click to edit Master title style
`
Универсальность
BizTalk сервер – технология, позволяющая
соединять между собою любые публичные
интерфейсы систем, обеспечивая безопасность
взаимодействия и добавляя практически любую
промежуточную бизнес-логику. Если говорить о
внутренних ИС, то BizTalk – удобный, достаточно
простой, но не дешевый инструмент,
позволяющий вашей ИС не заботиться о том, что
из себя представляют потребители и источники
информации. Исходя из этого, BizTalk идеально
вписывается в концепцию построения SOA
архитектуры.
12. 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.
13. Click to edit Master title style
`
Надежность
Реализованные каналы передачи данных на
BizTalk сервере чаще всего должны работать
в автоматическом режиме, без участия
человека. Поэтому BizTalk – типичная back-
end система. Для любой back-end системы,
вопрос надежности –главнейший.
14. Click to edit Master title style
`
Факты
Гарантированная доставка (persistence)
Каждое сообщение сериализуется в БД со своими параметрами окружения в
критичных точках (конец транзакции, вызов оркестрации, передача в порт
отправки и т.д. ). Благодаря этому все сообщения и доходят до подписчиков,
даже если в процессе отправки выключить питание сервера. Другой вопрос, что
тут речь о подписчиках с точки зрения ядра. То есть, дойдет ли сообщение до
внешней системы зависит от конфигурации порта, реализации адаптера и т.д.
Транзакционность
При разработке системы управления процессами можно использовать
транзакционные механизмы, позволяющие реализовать выполнение методов,
компенсирующих неудачное взаимодействие.
Хосты
Логические контейнеры, описывающие правила использования ресурсов и другие
ограничения для артефактов, исполняемых службами. Каждому хосту ставятся в
соответствие службы, управляемые BizTalk (перезапуск, выделение ресурсов и
т.д).
Логирование
Есть, разностороннее, но в меру бессмысленное с точки зрения бизнеса, даже
учитывая BAM.
15. Click to edit Master title style
`
Безопасность
Обычно, BizTalk сервер используется как
шлюз, через который происходит общение
разных систем, поэтому вопросам
безопасности уделено много внимания еще
на этапе проектирования.
16. Click to edit Master title style
`
Факты
SSO
Единая точка входа. Конфигурирование портов, доступам к BAM (Business Activity
Monitor) и т.д. может быть настроен через одну точку.
Подписанные сборки
Любые библиотеки, используемые BizTalk должны быть подписаны и помещены в
GAC.
Невозможность запуска исполняемых файлов
Все сообщения сериализованы. Бинарные данные кладутся отдельно
(технология message parts) без возможности использования в бизнес-процессах.
Шифрование
Для защиты бизнес-критичных данных есть возможность включения механизмов
шифрования и использования цифровой подписи на серверном уровне.
Верификация данных и операций
Верификация достигается благодаря строгому описанию сообщений в xsd
схемах. Кроме того, на портах отправки должны быть объявлены все
разрешенные операции.
17. Click to edit Master title style
`
Масштабируемость
Интеграционные решения на базе Microsoft
BizTalk Server легко масштабируемы. При
этом есть возможности как для
горизонтального, так и вертикального
масштабирования.
18. Click to edit Master title style
`
Факты
Кластеризация
Очень простой механизм создания кластера серверов. Под кластером в
данном случае понимается именно набор BizTalk серверов (BizTalk group),
осуществляющих совместную обработку данных.
Конфигурация хостов
Для распределения затрат процессорного времени и памяти.
64-х разрядная платформа
Позволяет эффективно работать на современных ОС и промышленных
серверах.
19. Click to edit Master title style
`
Адаптивность
Любое взаимодействие между системами
зачастую сталкивается с проблемой
разсинхронизации версий. То есть изменения
могут быть как на уровне интерфейсов, так и
на уровне платформ. BizTalk сервер
предоставляет широкий спектр возможности
по оперативному изменению каналов
передачи данных.
20. Click to edit Master title style
`
Факты
Генератор XSD схем
Автоматическая генерация схем взаимодействия для адаптеров, плоских файлов
и сервисов.
Байндинг
Разработка происходит на уровне логических портов, конечная привязка
осуществляется администратором и может быть изменена «на лету».
API
Существует Api для написания адаптеров и использование расширений
(например для wcf). Кроме того, могут быть реализованы кастомные pipeline
компоненты, осуществляющие трансформацию данных от адаптера к message
engine.
Бизнес-правила
Инструмент для маршрутизации на основании правил, определяемых бизнесом
(Business Rules Engine).
Деплоинг
Публикация как msi проекта целиком, так и отдельных dll.
21. Click to edit Master title style
`
Выводы
Microsoft BizTalk сервер – мощный
инструмент, позволяющий реализовать
интеграционное взаимодействие систем по
архитектуре «Шина данных». Разработка
осуществляется достаточно быстро,
взаимодействие надежно, но само решение
дорого и требует хорошей квалификации.
22. Click to edit Master title styleОбзор архитектуры BizTalk
Русская речь не сложнее других. Вон Маргадон —
дикий человек — и то выучил.
23. Click to edit Master title style
`
Источник: BizTalk Server Overview
VisualStudio
SSO
BizTalk Core
Engine
BizTalk Orchestration
Databases Applications
Communication
Protocols
Trading
Partners
Win FX / Office
BAS BAM
MicrosoftManagementConsole
Services
Business Rules
Engine Adapters/
SQLIntegration
BAS
AcceleratorsforBizTalkServer
BAM
.NetFramework
Legacy
Systems
Компоненты
24. 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
25. Click to edit Master title style
`
Microsoft Visual Studio
Инструменты разработки
— Ну, барин, ты задачи ставишь! За десять дён одному не
справиться, тут помощник нужен — хомо сапиенс!
— Бери помощников, но чтобы не раньше!
Схемы Карты Сценарии Pipeline
Внешние библиотеки
26. Click to edit Master title style
`
Редактор схем
Дерево элементов Просмотр схемы Файлы проекта
Свойства схемы
27. Click to edit Master title style
`
Редактор карт
Источник ПриемникСетка преобразованийФунктоиды
28. Click to edit Master title style
`
PipeLine
• Любые данные в Xml и обратно
• Кодирование/декодирование
• Шифрование/подписание
29. Click to edit Master title style
`
Оркестрация
Сценарий процесса
• Инструмент визуального
проектирования
• Шаг процесса –
абстрактная форма
(shape)
• Сохраняется в WS-BPEL
Компилируется и
публикуется на сервере
Среда исполнения
• Публикация подписчика
• Исполнение сценария
30. Click to edit Master title style
`
Редактор сценариев
Формы Визуальный редактор сценария процесса Параметры процесса
Свойства
31. Click to edit Master title style
`
Формы (Shapes)
• Группировки
• Управление потоками
• Сообщения
• Исполняемый код/исключения
32. Click to edit Master title style
`
Параметры процесса
• Транзакционность/таймауты
• Типизированные сообщения
• Логические порты
• Переменные
• Корреляции
• Типы портов
• Типы сообщений
33. Click to edit Master title style
`
Консоль администратора
Дерево компонент Рабочий стол Действия
34. Click to edit Master title style
`
Компоненты
Приложения
Импорт/экспорт/запуск/остановка. Привязка физических портов. Управление
артефактами.
Оркестрации
Группы портов отправки
Порты отправки данных
Порты получения данных
Приемные области
Хосты
Конфигурация контейнера с точки зрения использования физических ресурсов,
потоков, ниток, скорости и т.д.
Службы
Управление windows-сервисами, связанными с хостами.
Адаптеры
Конфигурирование адаптеров, используемых приложениями.
36. Click to edit Master title styleПланы по развитию
Для бегства у меня хватит мужества!
AdFox/MetaReport/Yandex.
Переход на новую схему.
Интеграция по процессам.
«Точка-точка» для критичных каналов.
BizTalk 2013.
Публичный доступ подписчикам.
37. Click to edit Master title style
`
Новая схема взаимодействия
• Репликация внешних очередей
*записи из внешних очередей реплицируются в единую
внутреннюю очередь.
• Ассинхронный механизм обработки
*Сканер очередей с приоритетами, параллелизмом
• Маршрутизатор
*Вынесение процесса обработки канала в отдельную нитку
процесса
• Точки восстановления
*Шаг процесса сохраняется, при восстановлении не повторяется
На двух лошадях скакать — седалища не хватит!
38. Click to edit Master title styleСпасибо за внимание!
Березин Игорь Вячеславович,
Группа архитектуры
— От светлейшего князя Потемкина имею предписание задержать господина
Калиостро и препроводить его в канцелярию для дачи объяснений.
— Это невозможно. Он в грядущем.
— Достанем из грядущего. Не впервой.