Зеленов Сергей Архитектор информационных систем
DESCRIPTION
Интеграция бизнес-решений с использованием Microsoft BizTalk Server 2004. Зеленов Сергей Архитектор информационных систем. Повестка:. Описание проблем и задач интеграции Обзор продукта Microsoft BizTalk Server Роль Microsoft SQL Server в архитектуре решения. Проблемы интеграции. - PowerPoint PPT PresentationTRANSCRIPT
Зеленов СергейАрхитектор информационных систем
Интеграция бизнес-решений с использованием
Microsoft BizTalk Server 2004
Повестка:
• Описание проблем и задач интеграции
• Обзор продукта Microsoft BizTalk Server
• Роль Microsoft SQL Server в архитектуре
решения
Проблемы интеграции
Что такое интеграция бизнес-решений?
Автоматизация бизнес-процессов (BPM)Автоматизация бизнес-процессов (BPM)
Интеграция корпоративных приложений (EAI)Интеграция корпоративных приложений (EAI)
Business-to-Business
Цели интеграции: Надежность связей «Прозрачность» процессов Управляемость
Цели интеграции: Надежность связей «Прозрачность» процессов Управляемость
Архитектура «точка-точка»
CRM System
Purchasing
SCM System
OrderEntry
Marketing
Financial Systems
Достоинства Производительность Более тесная
интеграция Легче во внедрении
(не всегда)
Недостатки Сложность управления Сложность изменения Изменения затрагивают
большое количество систем
Достоинства Производительность Более тесная
интеграция Легче во внедрении
(не всегда)
Недостатки Сложность управления Сложность изменения Изменения затрагивают
большое количество систем
ERP
«Корпоративная шина данных»
CRM System
Purchasing
SCM System
OrderEntry
ERP
Financial Systems
Marketing
Шина
Достоинства Независимость отправителя и
получателя сообщения Преобразование документов Относительная простота
интеграции
Недостатки Требуется дополнительное ПО Более сложные механизмы
взаимодействия Требует наличия у приложения
универсального интерфейса
Достоинства Независимость отправителя и
получателя сообщения Преобразование документов Относительная простота
интеграции
Недостатки Требуется дополнительное ПО Более сложные механизмы
взаимодействия Требует наличия у приложения
универсального интерфейса
Что такое BizTalk Server?
BizTalk Server BizTalk Server – это набор инструментов для – это набор инструментов для решения широкого круга задачрешения широкого круга задач::
Интеграция корпоративных Интеграция корпоративных приложенийприложений (EAI) (EAI)
Системы Системы Business to Business (B2B)Business to Business (B2B) Управление бизнес-процессамиУправление бизнес-процессами (BPM) (BPM)
История развития
BizTalk Server 2000BizTalk Server 2000 BizTalk Server 2002BizTalk Server 2002 BizTalk Server 2004BizTalk Server 2004
Компания БКомпания Б
Компания AКомпания A
BizTalk Server 2004 Обзор продукта
Internet
Internet
ПриложениеПриложение
ПриложениеПриложение
ПриложениеПриложение
ПриложениеПриложение
ПриложениеПриложение
BizTalk ServerBizTalk ServerBizTalk Server 2004 включает:
Обработчик сценариев Подсистему обмена сообщениями Средства интеграции с веб-сервисами Структуру бизнес-правил Систему единого входа (Single sign-on) Службу мониторинга и отладки Встроенные средства разработки
BizTalk Server 2004 включает: Обработчик сценариев Подсистему обмена сообщениями Средства интеграции с веб-сервисами Структуру бизнес-правил Систему единого входа (Single sign-on) Службу мониторинга и отладки Встроенные средства разработки
Шина обменаданными
HTTPHTTP SMTPSMTP MSMQMSMQ АдаптерАдаптер Файл Файл Вебсервис
Вебсервис
XMLXML EDIEDI FlatFlat CustomCustom
HTTPHTTP SMTPSMTP MSMQMSMQ АдаптерАдаптер ФайлФайл Вебсервис
Вебсервис
БезопасностьБезопасность СопоставлениеСопоставление ОтслеживаниеОтслеживание
BusinessProcessБизнес-процесс
Получение информации
Анализ
Маршрутизация
Преобразование
Отправка информации
Зависимость отсодержимого
Зависимость отсодержимого
МеханизмПубликации/Подписки
МеханизмПубликации/Подписки
ДинамическаямаршрутизацияДинамическая
маршрутизация
Архитектура решения
Как BizTalk обрабатывает сообщения
XML
Message Database
XML,Flat File
ReceiveAdapterReceiveAdapter
ReceivePipelineReceivePipeline
Receive Location1
Бизнес процесс
Mapping
Orchestration
<tag> <tag><tag> <tag>
XML 23
XML,Flat File
XML
SendPipelineSend
Pipeline
SendAdapterSend
Adapter
Send Port4
Получение сообщений
Receive Location
XML orFlat file
Message Database
Для получения сообщений необходимо настроить источник (receive location)
Настройка и управление источниками производится системным администратором
Обработка входящих сообщений происходит в принимающем канале (pipeline)
Копии всех сообщений сохраняются в БД
Для получения сообщений необходимо настроить источник (receive location)
Настройка и управление источниками производится системным администратором
Обработка входящих сообщений происходит в принимающем канале (pipeline)
Копии всех сообщений сохраняются в БД
ReceiveAdapterReceiveAdapter
ReceivePipelineReceivePipeline
Что такое адаптер?
CRM SystemCRM System
ERPERP
DatabaseDatabase
SCMSCM
MainframeMainframe
Financial SystemFinancial System
Адаптеры
Прикладные адаптеры Интеграция с бизнес-приложениями Используют API
Технологические адаптеры Интеграция приложений на уровне
платформы Для приложений, не имеющих программных
интерфейсов
Прикладные адаптеры Интеграция с бизнес-приложениями Используют API
Технологические адаптеры Интеграция приложений на уровне
платформы Для приложений, не имеющих программных
интерфейсов
Адаптеры Соединение целевых систем с шиной данных Быстрая интеграция «без строчки кода»
Адаптеры Соединение целевых систем с шиной данных Быстрая интеграция «без строчки кода»
BizTalk Server 2004 – Встроенные адаптеры и поддерживаемые протоколы
АдаптерАдаптер ОписаниеОписание
EDIEDI Обмен сообщениями с системами, поддерживающими формат Обмен сообщениями с системами, поддерживающими формат
электронного обмена данными (электронного обмена данными (EDIEDI))
FileFile Передача сообщений с использованием Передача сообщений с использованием URI-URI-путипути
HTTPHTTP Прием/передача сообщений с использованием Прием/передача сообщений с использованием URLURLFTPFTP Обмен сообщениями с мейнфреймами и другими системамиОбмен сообщениями с мейнфреймами и другими системами
MSMQTMSMQT Передача сообщений при помощи транспорта Передача сообщений при помощи транспорта MSMQMSMQ Механизм гарантированной доставкиМеханизм гарантированной доставки
SMTPSMTP Передача сообщений по почтовому протоколуПередача сообщений по почтовому протоколу
SOAPSOAP Передача сообщений путем вызова методов веб-сервисовПередача сообщений путем вызова методов веб-сервисов
SQLSQL Прямой обмен данными с СУБД Прямой обмен данными с СУБД MS SQL ServerMS SQL Server
Поддерживаемые типы схем данных
Тип схемыТип схемы ОписаниеОписание
XMLXML Поддерживаются «родные» типы Поддерживаются «родные» типы XMLXML--сообщенийсообщенийДля описания используется Для описания используется XSDXSD
Flat FileFlat File
Поддержка позиционных файлов и файлов с Поддержка позиционных файлов и файлов с разделителемразделителем
PropertyPropertyТип схемы для особых нуждТип схемы для особых нуждОпределяет поля схемы, публикуемые в базуОпределяет поля схемы, публикуемые в базуДоступ к опубликованным полям возможен Доступ к опубликованным полям возможен посредством различных компонентов посредством различных компонентов BizTalkBizTalk
NodeNode StructureStructure StartStart LengthLengthDescriptionDescriptionDelmitedDelmited 00 5050UnitPriceUnitPriceDelmitedDelmited 5050 1010QuantityQuantityDelmitedDelmited 6060 1010TotalPriceTotalPriceDelmitedDelmited 7070 1010ItemIDItemID DelmitedDelmited 8080 1010StatusStatus DelmitedDelmited 9999 11
ItemIDQtyUnitPrice
ItemDescriptionStatus
Date
ItemIDQtyUnitPrice
ItemDescriptionStatus
Date
PropertyStatusQty
Преобразование данных
XSLTMap
XSLTMap
ItemIDQuantityUnitPrice
RecordPOStatus
OrderPO Number
DateQuantityItem No
Status
Итоговая схемаИсходная схема
Date
Карта преобразования в BizTalk: Описывает соответствие записей и полей
двух разных XML-схем Используется для преобразования и
нормализации данных Создается при помощи BizTalk Mapper Компилируется в файл XSLT
Карта преобразования в BizTalk: Описывает соответствие записей и полей
двух разных XML-схем Используется для преобразования и
нормализации данных Создается при помощи BizTalk Mapper Компилируется в файл XSLT
XSLTMap
XSLTMap
Сложные преобразования
Выполнение вычислений и других операций над данными Данные из одного сообщения автоматически вставляются в
другое в процессе выполнения
Выполнение вычислений и других операций над данными Данные из одного сообщения автоматически вставляются в
другое в процессе выполнения
ItemID
UnitPrice
RecordPOStatus
OrderPO Number
DateTimeItem NoWeight
OrderStatus
Итоговая схемаИсходная схема
Date
Char to Numeric
Total AmtSum
+TimeQty
Использование функтоидов
Функтоид – средство выполнения операций над Функтоид – средство выполнения операций над данными непосредственно в процессе данными непосредственно в процессе преобразованияпреобразования
Функтоид – средство выполнения операций над Функтоид – средство выполнения операций над данными непосредственно в процессе данными непосредственно в процессе преобразованияпреобразования
ItemID
Qty
UnitPrice
Record
PO
Status
Order
PO Number
Date
Item No
Quantity
Order Status
Итоговая схемаИсходная схема
Date Total Price
X
(..)
Более 70 встроенных функтоидов Добавление и изменение данных Изменения даты и времени Конкатенация значений полей Сложные преобразования
Собственные функтоиды Обеспечение специфических
функций Возможность использования
универсального функтоида скриптинга
Можно использовать Visual Basic, C#, Jscript или XSLT
Более 70 встроенных функтоидов Добавление и изменение данных Изменения даты и времени Конкатенация значений полей Сложные преобразования
Собственные функтоиды Обеспечение специфических
функций Возможность использования
универсального функтоида скриптинга
Можно использовать Visual Basic, C#, Jscript или XSLT
Functoids
Перевод данных
ПереводПереводДвоичные данныеДвоичные данные
МетаданныеИмя поля, тип данных,
размер и т.д.
МетаданныеИмя поля, тип данных,
размер и т.д.
XMLXML
Ben, Smith, 4521,Sales<?XML version = “1.0”?><Employee><FName>Ben</FName><LName>Smith</LName><EmpNo>4521</EmpNo><Dept>Sales</Dept>
Сообщение в одном формате преобразуется в сообщение в другом Пример: двоичный файл переводится в формат XML Для перевода двоичного файла в XML необходимы метаданные
Сообщение в одном формате преобразуется в сообщение в другом Пример: двоичный файл переводится в формат XML Для перевода двоичного файла в XML необходимы метаданные
Введение в сценарии BizTalk
Редактор сценариев (orchestrations)
Визуальная среда разработки Предоставляет набор
инструментов для моделирования бизнес-процессов
Модель бизнес-процесса может быть сохранена для последующей компиляции
Редактор сценариев (orchestrations)
Визуальная среда разработки Предоставляет набор
инструментов для моделирования бизнес-процессов
Модель бизнес-процесса может быть сохранена для последующей компиляции
Port Surface << >> Port Surface
Receive POReceivePOPort Operation_1 -> Request
Check Quantity
Denied Else
Denied Msg
Transform
SendDeniedPort Operation_1
<- Request
Send_ApproveSendApprvPort Operation_1
-> Request
Send_Denied
!
СохраненныйсценарийBizTalk Orchestration
Среда периода выполнения Выполняет модели бизнес-
процессов
BizTalk Orchestration Среда периода выполнения Выполняет модели бизнес-
процессов
«Движок» Orchestration
Как работает среда BizTalk Orchestration
Создает экземпляры сценариев
Хранит данные о состоянии всех сценариев (в БД SQL)
Выполняет оптимизацию ресурсов
Обеспечивает надежность при выключении и вынужденном восстановлении информации
Создает экземпляры сценариев
Хранит данные о состоянии всех сценариев (в БД SQL)
Выполняет оптимизацию ресурсов
Обеспечивает надежность при выключении и вынужденном восстановлении информации
MessageBox
Dehydrate
Rehydrate
Работа с редактором сценариевPort Surface << >> Port Surface
Поле редактирования
Поле редактирования
Поле размещения
портов
Поле размещения
портов
Поле размещения
портов
Поле размещения
портов
Receive_POReceivePOPort Operation_1 -> Request
CheckQuantity
Denied Else
Const_Denied
Transform_1 SendDeniedPort Operation_1 <- Request
Send_Approve SendApprvPort Operation_1 -> Request
Панель инструментов
Панель инструментов
Send_Denied
Опрос и публикация веб-сервисов
Публикация схемы Предоставление удаленного доступа к
XML-схеме Выбор между схемами запроса и отклика Не привязана к сценарию
Публикация схемы Предоставление удаленного доступа к
XML-схеме Выбор между схемами запроса и отклика Не привязана к сценарию
Опрос веб-сервиса Веб-сервис может быть вызван напрямую
из сценария Для получения информации о сервисе
используется UDDI Только запрос, либо запрос-отклик
Опрос веб-сервиса Веб-сервис может быть вызван напрямую
из сценария Для получения информации о сервисе
используется UDDI Только запрос, либо запрос-отклик
Web Service
Сценарий
Публикация сценария Предоставление удаленного доступа к
бизнес-процессу Входящие порты представляются в виде
веб-методов Для публикации используется WSDL Доступен любому Web-клиенту
Публикация сценария Предоставление удаленного доступа к
бизнес-процессу Входящие порты представляются в виде
веб-методов Для публикации используется WSDL Доступен любому Web-клиенту
Web Service
Сценарий
Web Service
Схема
Мониторинг приложений BizTalk
Действия Мониторинг сообщений
и служб Закрытие, остановка и
возобновление процессов
Отладчик сценариев
Настройка Выбор уровня
журналирования Изменение
представлений
Действия Мониторинг сообщений
и служб Закрытие, остановка и
возобновление процессов
Отладчик сценариев
Настройка Выбор уровня
журналирования Изменение
представлений
ОтладчиксценариевОтладчиксценариев
Health and Activity Tracking (HAT)Health and Activity Tracking (HAT)
Отслеживание сообщений
Отслеживание запуска и остановки служб Отслеживание отправки и получения
сообщений Отслеживание прохождения сообщений через
каналы и сценарии Создание фильтров для ограничения
отображаемых результатов
Отслеживание запуска и остановки служб Отслеживание отправки и получения
сообщений Отслеживание прохождения сообщений через
каналы и сценарии Создание фильтров для ограничения
отображаемых результатов
Подсистема Business Rules
Использование Business Rules
СценарийСценарийBusiness RulesEngine
Business RulesEngine
RulesRules
Rules
Business RulesComposer
Business RulesComposer
Подсистема Business Rules Связывает бизнес-политики со сложными бизнес-процессами Облегчает использование бизнес-правил в сценариях Обеспечивает динамическое обновление правил и политик Предоставляет графический интерфейс для обновления правил
Подсистема Business Rules Связывает бизнес-политики со сложными бизнес-процессами Облегчает использование бизнес-правил в сценариях Обеспечивает динамическое обновление правил и политик Предоставляет графический интерфейс для обновления правил
Rules
Бизнес-правила (Business Rules)
Business Rules Условия, влияющие на ход выполнения бизнес-процессов Обеспечивают отделение правил от прикладной логики Дает бизнес-пользователям контроль над приложением
Преимущества Уменьшение времени разработки Быстрая реакция на изменения Возможность повторного использования Снижение стоимости разработки и владения
Business Rules Условия, влияющие на ход выполнения бизнес-процессов Обеспечивают отделение правил от прикладной логики Дает бизнес-пользователям контроль над приложением
Преимущества Уменьшение времени разработки Быстрая реакция на изменения Возможность повторного использования Снижение стоимости разработки и владения
Примеры бизнес-правил: Сегодняшняя ставка = 6.5% Размер скидки на этой
неделе - 20% Заказы на сумму свыше $250k должны отправляться в финансовый отдел для утверждения
RulesRulesRules
Business RulesEngineBusiness RulesEngine
RulesRulesRules
Business UserBusiness Process
Описание бизнес-правил ПолитикиПолитики
СловариСловари
Редактор правил
Редактор правил
ОпределенияОпределения
Создание версий словарей
Создание определений
Создание политик Публикация
словарей и политик
Создание версий словарей
Создание определений
Создание политик Публикация
словарей и политик
Host AHost A
Host CHost C
Host BHost B
Host AHost A
Что такое BizTalk Host?
BizTalk Host Логическое хранилище
объектов BizTalk Server Используется для
разграничения прав доступа
Может организовывать объекты по функциям
BizTalk Host Логическое хранилище
объектов BizTalk Server Используется для
разграничения прав доступа
Может организовывать объекты по функциям
Источник данных
Исходящий порт
Сценарий
Источник данных
Исходящий порт
СценарийФункцияФункция ОбъектОбъект
ПолучениеПолучение Источники Источники данныхданных
ОбработкаОбработка СценарииСценарии
ОтправкаОтправка Исходящие Исходящие портыпорты
Масштабируемость решения
Сервер AСервер AСервер BСервер B
Сервер CСервер C
Сервер DСервер D
MessageBox
Host
Сценарии
F G
Host
E F
Сценарии
Host
АдаптерИсходящийканал
Host
АдаптерИсходящийканал
Host
Адаптер Входящийканал
Масштабируемость решения
Сервер AСервер A Сервер BСервер B Сервер CСервер C
Сервер DСервер D
MessageBox
Host
Сценарии
F G
Host
E F
Сценарии
Host
АдаптерИсходящийканал
Host
АдаптерИсходящийканал
Host
Адаптер Входящийканал
Сервер HСервер H
MessageBox
Средства обеспечения безопасностиФункцияФункция ИспользованиеИспользование
Инфраструктура Инфраструктура открытых ключей (открытых ключей (PKIPKI))
• Аутентификация и шифрование данных, Аутентификация и шифрование данных, передаваемых бизнес-партнерами друг другупередаваемых бизнес-партнерами друг другу
ЭЦПЭЦП• Верификация отправителя входящих сообщенийВерификация отправителя входящих сообщений• Верификация исходящих сообщенийВерификация исходящих сообщений
Шифрование с помощью Шифрование с помощью сертификатовсертификатов
• Расшифровка входящих сообщенийРасшифровка входящих сообщений• Шифрование исходящих сообщенийШифрование исходящих сообщений
S/MIMES/MIME• Расшифровка входящих сообщенийРасшифровка входящих сообщений• Шифрование исходящих сообщенийШифрование исходящих сообщений
Integrated logonIntegrated logon • Аутентификация пользователей Аутентификация пользователей WindowsWindowsKerberosKerberos • Аутентификация пользователей интранетАутентификация пользователей интранетSecured Sockets LayerSecured Sockets Layer • Безопасный обмен данными по протоколу Безопасный обмен данными по протоколу HTTPSHTTPS
Роли Роли SQL ServerSQL Server• Контроль доступаКонтроль доступа• Предоставление только необходимых привилегийПредоставление только необходимых привилегий
Хранилища сертификатов Хранилища сертификатов WindowsWindows
• Хранение открытых и закрытых ключей для каждого Хранение открытых и закрытых ключей для каждого из экземпляров из экземпляров BizTalk HostBizTalk Host
Платформа Microsoft для автоматизациибизнес-процессов
BizTalk Server 2004 EngineПримерсценария: EAI
OrchestrationOrchestration
Инвентарная система
ERP система
Запрос формы заказа
Запрос формы заказа
Получение формы заказа
Получение формы заказа Система
контроля поручений
Размещение заказа
Размещение заказа
2 3
4MessagingMessaging
Отправка заявки
Отправка заявки
1
Поставщик A
Система контроля поставок
Поставщик B
ERP система
ЗакупщикСистема управления закупками
InternetInternet
Примерсценария: B2B
Источники информацииИсточники информации http://www.microsoft.com/BizTalkhttp://www.microsoft.com/BizTalk BizTalk Server 200BizTalk Server 20044 Newsgroups Newsgroups and Blogs and Blogs
http://www.microsoft.com/BizTalk/community/newsgroupshttp://www.microsoft.com/BizTalk/community/newsgroups
BizTalk Server 2004 BizTalk Server 2004 CommunityCommunity http://www.microsoft.com/BizTalk/communityhttp://www.microsoft.com/BizTalk/community
Sites of InterestSites of Interest http://www.topxml.com/b2b/http://www.topxml.com/b2b/ http://http://www.gotdotnet.com/team/entserverswww.gotdotnet.com/team/entservers//
Вопросы?Вопросы?
Зеленов СергейАрхитектор информационных системE-mail: [email protected]
Интеграция бизнес-решений с использованием
Microsoft BizTalk Server 2004