Підтримка BizTalk Server: корисні поради. Частина 2

Ми продовжуємо цикл статей, в яких ділимося з вами своїм досвідом підтримки MS BizTalk Server 2010. У даній статті ми розповімо про інструмент, який заощадить вам купу часу! Мова піде про пайплайнах (Pipelines), а точніше про пайплайн-компонентах (Pipeline components). Посилання на першу статтю знаходиться тут. У ній ви знайдете трохи загальної інформації про те, що таке MS BizTalk Server і для чого він може знадобитися.

image

Пайплайн – це елемент (частіше говорять артефакт) інфраструктури додатки BizTalk Server, який містить в собі .Net — або COM-компоненти для обробки вхідного повідомлення в певній послідовності.

imageBizTalk Server надає великий набір компонентів для пайплайнов, так би мовити, «з коробки». Для невеликих програм його буває цілком достатньо. Але коли мова йде про великих корпоративних рішеннях без компонентів власної розробки не обійтися.

Для тих, хто знайомий з цією темою, я впевнений, не буде новиною, що на msdn є статті на тему «Як розробляти власні пайплайн компоненти». Там детально розписано типи компонентів, процес створення проекту в Visual Studio, простору імен, які слід підключити, які інтерфейси реалізувати і т. п. Тут важливо зрозуміти, що зробивши один компонент, інший ви будете розробляти кожен раз аналогічно. Знати це важливо, але є варіант, який дозволить вам заощадити час на підготовку проекту і зосередити свою увагу на написання коду. І це BizTalk Server Pipeline Component Wizard (сторінка проекту на codeplex). Додаток для VS 2010 (є і для більш свіжих версій), яке в кілька простих кроків дозволяє створити проект пайплайн-компонента, готовий до виконання вашого коду, залишається лише його туди додати.

І так є завдання:

Наша компанія отримує від клієнтів замовлення у вигляді файлів різних форматів. BizTalk Server має стандартний набір компонентів для роботи з файлами у форматі XML і текстові файли, але для файлів інших форматів доведеться розробляти пайплайн-компонент, який буде конвертувати його в XML.

Але ближче до справи:

1. Зі сторінки проекту на codeplex скачайте архів plcwsrc2.20.

2. Для установки розархівуйте plcwsrc2.20 і ви отримаєте проект Visual Studio. Відкрийте і зберіть проект і з папки the PipelineComponentWizard Setup project, запустіть setup.exe.

3. Запустіть Visual Studio 2010 і створіть новий проект BizTalk Server Pipeline Component Project.

image

4. Далі відкриється Wizard, який запропонує нам заповнити деякі поля.

image

5. В наступному віконці нам пропонується внести ім'я компонента, версію і опис

image

Так само подвійним кліком на imageможна змінити іконку компоненти (розмір 16х16). Власна іконка компоненти полегшить її пошук у списку компонентів. Виберемо одну з стандартних іконок BizTalk

image

6. Далі пропонується додати параметри компоненти. Параметри необов'язкові, але для прикладу додамо одне. Параметри так само доступні з Visual Studio для встановлення значень за замовчуванням.

image

7. Далі натисніть Next, потім Finish. Wizard створить проект пайплайн-компоненти. У проекті буде два файлу: cs − кістяк нашого компонента і ..resx містить властивості з ім'ям, описом і версією. У створеному класі у вас буде кілька секцій:

• публічні змінні параметри компоненти;
• IBaseComponent members – визначає властивості, які надають відомості про компоненті;
• IPersistPropertyBag members – визначає методи підготовки, завантаження і збереження властивостей компонента;
• IConponentUI – визначає значок компоненти і метод, який перевіряє, що всі властивості задані правильно;
• IComponent – визначає метод, який запускає обробку компонентою вхідного повідомлення.

Приклад коду, який буде виконуватися метод Execute() цієї компоненти:

image

У нашому випадку це головний і єдиний метод, у якому відбувається обробка вхідного повідомлення. Так само важливо, щоб вихідні дані, які ви запишете в pInMsg.BodyPart.Data були стримом, є XML. Для цього можна використати звичайний XmlWriter. Більше того, так має бути .xsd схема повідомлення, яке виходить із компоненти.

image

8. Зберіть проект і скопіюйте отриману DLL C:\Program Files (x86)\Microsoft BizTalk Server 2010\Pipeline Components, але це необов'язкова умова, можете вибрати будь-яку іншу папку і закрийте проект.

9. В Visual Studio відкрийте проект з пайплайном, у який ви хочете помістити свою компоненту, далі в контекстному меню Toolbox -> Choose items-> BizTalk Pipeline Components, виберіть зі списку свій компонент і перенесіть його на пайплайн.

Так само нам доступно єдино нами створене властивість. Ми можемо встановити його значення за замовчуванням перед деплоем складання на BizTalk Server.

image

10. Зберіть і задеплойте збірку з пайплайном на BizTalk Server.

Готово! Ось так, в кілька простих кроків у своєму додатку можна використовувати пайплан з компонентою власної розробки.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.