Поддержка BizTalk Server 2010: полезные советы
Некоторое время назад нам передали на поддержку сервер BizTalk 2010. Наш клиент — оптовый поставщик продукции, и он использует BizTalk Server для обмена информацией между своей учетной системой и учетными системами своих клиентов. В частности, например, это получение заказов, выгрузка, отправка прайс-листов и накладных, электронный документооборот. Какие полезные советы мы вынесли из практики, рассказываем далее.
Немного о Microsoft BizTalk Server
Microsoft BizTalk Server — сервер интеграции приложений и создания их информационной инфраструктуры. Он работает в среде Windows и в качестве хранилища требует Microsoft SQL Server. Этот сервер — своего рода посредник, который позволяет независимым друг от друга приложениям обмениваться между собой информацией в виде сообщений, преобразуя их форматы и используя заложенную в него бизнес-логику.
Сценарии использования Microsoft BizTalk Server таковы:
Развертывание среды разработки
Чтобы начать разрабатывать приложения для BizTalk Server, нужна среда разработки. Тут всё очень просто: так как BizTalk Server использует MS SQL Server в виде хранилища, то сначала может показаться логичным скопировать служебные базы Biztalk Server, чтобы быстро его воспроизвести, но этот вариант не подходит. Его проблема в том, что в процессе настройки нового сервера BizTalk с базами другого сервера, вы столкнетесь с тем, что придется вручную искать и стирать следы старого сервера, записывая туда информацию о новом. Всё это займет немало времени, но успех при этом не гарантирован. Наиболее правильным решением будет настройка среды разработки с нуля. Главное, чтобы версии важных компонентов совпадали с продуктивным сервером.
Специально для разработчиков существует версия Biztalk Server 2010 Developer Edition. Она бесплатная и скачать её можно с сайта Miсrosoft.
Возможно, вам и не покажется логичным копировать служебные базы BizTalk Server, но в Интернете полно форумов, где люди настойчиво пытаются это сделать. Не в целях бэкапа, а в целях дублирования сервера.
Развёртывание среды разработки с нуля более быстрый и гарантированно рабочий вариант по сравнению, например, с копированием баз данных BizTalk и продуктивной среды.
Быстрая настройка приложений
Одной из острых проблем может стать настройка новых разработанных приложений на продуктивном сервере заказчика. Как правило, администраторы сервера BizTalk на стороне заказчика хорошо знакомы с тем, как настраивать приложения сервера BizTalk и управлять ими. Тут важно добавить, что BizTalk-приложение — обычная dll-ка и в среде разработки: для того, чтобы протестировать работу приложения, необходимо его установить и настроить вручную. Соответственно, при передаче приложения можно написать инструкцию по настройке, которая подробно, со скриншотами, должна показать, как нужно настроить приложение. Вот только писать инструкцию утомительно, но главное — для создания хорошей подробной инструкции нужно много времени, а это непозволительная роскошь. Тем более в настройках, как правило, много нюансов, которые очень важны. Упустить что-нибудь при настройке не составляет большого труда, а поиск решения неприятности занимает зачастую немалое время.
Но BizTalk предоставляет возможность сохранить настройки приложения в отдельный файл. В BizTalk Server это называется Bindings Files или, попросту говоря, «бинды». Это обычный XML-файл, фрагмент приведён на рисунке ниже:
Создать файл с настройками приложения очень просто, достаточно в контекстном меню нужного приложения выбрать Export→ Bindings, выбрать путь и имя файла.
А для импорта воспользоваться все тем же контекстным меню приложения, выбрать Import→ Bindings, указать файл с настройками, экспортированный ранее, и приложение будет настроено.
Преимущества такого метода очевидны:
- не нужно тратить время на написание подробной инструкции;
- риск ошибиться в настройках практически исключён;
- ускоряется процесс запуска приложения на продуктивном сервере;
- многоразовое использование файла с настройками при переносе или запуске приложения на других BizTalk-серверах.
Автоматическая установка и настройка приложений
Рано или поздно вы к этому придёте. Будете искать инструменты/методы/скрипты (нужное подчеркнуть) для автоматизации своих проектных процессов. Проекты по поддержке BizTalk Server не исключение. Но первое, чего должна коснуться автоматизация, — получение на продуктивном сервере готового к работе приложения с использованием минимального набора действий. К счастью, изобретать ничего не нужно. В любой редакции BizTalk Server присутствует консольное приложение BTSTask. Это инструмент, который запускается из командной строки и имеет широкие возможности управления приложениями BizTalk Server. На MSDN есть подробная статья: BTSTask Command-Line Reference.
Основные возможности BTSTask, которые автоматизируют настройку и установку приложений:
- создание приложения в консоли администрирования;
- добавление в созданное приложение сборки для BizTalk Server;
- импорт Bindings-файла.
Все команды можно использовать в одном .bat файле. Скрипт в общем случае может выглядеть так:
1) Объявляем переменные;
2) Создаём приложение — контейнер в консоли администрирования BizTalk;
3) Добавляем в созданное приложение-контейнер сборку;
4) Импортируем файл с настройками приложения.
Сборка с приложением BTS.AppName.dll, AppNameBindings.xml и Install.bat для удобства лучше положить в одну папку и из командной строки запустить Install.bat.
Замечателен такой способ ещё тем, что если немного модернизировать скрипт, оставив в секции определения переменных SET AppName=BTS.AppName и SET LibName=BTS.AppName.dll и удалив секции 3 и 4, а копию сохранить как Update.bat, то получится вот такой файл:
Таким скриптом можно обновить сборку в приложении, не затронув настройки, если в сборку уже были внесены изменения. В результате использования таких скриптов получаем настроенное и готовое к запуску приложение.
Если ваша компания использует BizTalk Server и вам довелось его поддерживать, то данные советы существенно упростят вам жизнь. Нам, по крайней мере, упростили!
Автор — DenisVetlugin