Microsoft biztalk server що це таке, biztalkien
Що таке Microsoft BizTalk Server?
Питання здається простим. але на нього ви навряд чи знайдете чітку відповідь. Вам будуть довго і красиво розповідати. Скоро у вас закрутиться голова і ви будете радісно кивати, слухаючи гарні розповіді нічим, розповіді людей, які в кращому випадку зробили пару простеньких проектів, але зазвичай просто - добре змащені сейлзи. Перші жодного разу не бачили, як це все працює з реальними даними. Другі не розуміють практично нічого, про що з таким запалом розповідають.
Інтеграція?
BizTalk позиціонується, як пакет для інтеграції систем.
Що Microsoft вкладає в поняття «інтеграція», стосовно BizTalk?
Тут три головних аспекти:
- обмін даними
- перетворення форматів даних
- бізнес процеси
Обмін даними
Обмін даними в різних форматах і по різних протоколах і стандартам. Маються на увазі формати даних. такі, як численні текстові формати, SQL, Xml. Протоколи. такі, як HTTP, SOAP, SMTP, POP3, FTP, MSMQ, які зазвичай включають в себе і стандарти форматів даних. Формати додатків. таких, як, SAP / R3, Siebel і індустріальні стандарти. такі як EDI, SWIFT, HL7, HIPPA, які включають в себе формати даних, протоколи, системи аудиту, захищеності.
Іноді в поняття обміну даними вкладається структурне перетворення даних між форматами (наприклад, дані треба перетворити з текстового формату в формат Xml) плюс використання потрібного протоколу обміну (приклад, дані треба передати по протоколу SOAP, що означає перетворення даних в формат Xml, упаковку цих даних в SOAP-пакети і використання протоколу SOAP для відправки цих пакетів).
Іноді поняття обміну даними розширено настільки, що включає в себе стандарти безпеки, засоби аудиту, архівування, синхронізації даних і т.п. Наприклад, модулі, відповідальні за обмін EDI даними, вдають із себе цілі системи, що складаються з безлічі частин і задовольняють безлічам EDI стандартів. Одних тільки схем EDI в складі BizTalk поставляється кілька тисяч. Для обміну даних BizTalk включає в себе велику кількість адаптерів, як простих (File, SOAP, FTP), так і складних (SAP, J.D.Edvards, HL7 ...).
BizTalk генерує XML схеми для інегріруемих систем за допомогою візард або адаптором, автоматично при підключенні до інтегрованої системі.
Зазвичай операція отримання схем недооцінюється, особливо в BizTalk. Але спробуйте самі створити парсер для перетворення csv файлу в XML. Спробуйте знайти утиліту, яка це зробить коректно. Те ж стосується і SQL процедур і таблиць.
BizTalk робить дуже багато, щоб надати або створити девелоперу якісні XML схеми.
перетворення форматів
Бізнес процеси
Microsoft додало в BizTalk кошти, які мають більш широке використання, ніж просто обмін даними. Це Business Process Orchestration - бізнес процеси «між системами». Тут потрібно відзначити, що велика частина бізнес процесів повинна відбуватися всередині систем, не між ними, не між інтегрованими системами. Але це в ідеалі. У реальному житті, доводиться вбудовувати бізнес процеси між системами. Але завжди пам'ятайте, що це не зовсім правильний підхід.
Як бачите, можуть бути вирішені завдання об'єктивно трудомісткі, що неминуче і призводить до того, що на цьому ринку конкурують лише кілька пакетів.
інструментарій розробника
Середовище виконання
З іншого боку - це середовище виконання. забезпечує роботу процесів обробки даних. При цьому Виконавча забезпечує дуже високу надійність обробки даних і високий ступінь масштабованості. Оптимальні системи працюють і на одному комп'ютері, і на серверних фермах, що складаються з десятків і сотень серверів. BizTalk Server працює в середовищі Windows і як сховище вимагає Microsoft SQL Server.
детальніше
Середовище виконання частково складається з .NET коду, що працює на декількох Windows services (це - BizTalk application servers), частково з SQL баз даних. таблиць, процедур, jobs і багато іншого (це - SQL Servers). Обидві частини можуть працювати в кластерах, або все - на одному комп'ютері. Сервера додатків кластеризуються засобами самого BizTalk. Додати сервер - тривіальна задача. Весь код створений для роботи в повністю автоматичному режимі. Система восстанавліваетсяавтоматіческі після збоїв харчування, мережі та інших неприємностей.
BizTalk може працювати під навантаженням різного типу. Можуть оброблятися маленькі кілобайтні повідомлення, великі багато-мегабайтні, пакети повідомлень. Можуть оброблятися пікові одномоментні навантаження з десятків тисяч повідомлень, може підтримуватися постійна навантаження з сотень повідомлень в секунду.
Один з нюансів використання BizTalk складається в тому, що він використовується перш за все для інтеграції систем в автоматичному режимі. для інтеграції програм з мінімальною участю людини. Одні додатки постачають дані, інші їх споживають. У проміжку розташовується BizTalk Server, який погоджує формати обміну, координує обмін даних і їх обробку. Зазвичай система на базі BizTalk працює без участі людини. BizTalk - це типова back-end система. Її численні і потужні засоби для розробника контрастують з мінімальним набором засобів для оператора, якому треба лише в обмежених межах спостерігати за працюючою системою, підлаштовувати її. У BizTalk є чіткий розподіл між середовищем розробки (development) і середовищем виконання (runtime).
Щоб продемонструвати надійність BizTalk, я демонструю просту операцію. Я запускаю на обробку побільше даних, після чого просто вимикаю сервер. Висмикую вилку з разетки. Ще жодного разу не було такого, щоб після включення сервера пропало хоч одне повідомлення. Пробував я таке і на кластері BizTalk серверів. Результат той же, 100% надійність.
Підсумовуючи вищевикладене, BizTalk - це інтеграційна система, що забезпечує обмін даними в різних форматах і протоколах, перетворення даних і виконання бізнес процесів, плюс всеосяжна середовище розробки.
Типові приклади використання BizTalk:
Синхронізація даних між системами
Додаток або оператор викладає готові дані в певному форматі в файли. BizTalk процес із заданим проміжком переглядає потрібний каталог і забирає файли. Дані з файлів перетворюються у внутрішній формат (Xml). Інші додатки, підписані на ці дані, отримують їх. Дані попередньо перетворюються в формат цих програм. Дані зберігаються в BizTalk до тих пір, поки приймаюча сторона не буде готова прийняти їх.
Синхронізація даних між додатками в реальному масштабі часу
BizTalk процес з певною періодичністю запитує SQL базу на предмет появи нових даних. Процес стартує, коли виявляються нові дані. Процес розсилає ці дані в інші програми і чекає від цих додатків відповіді, що дані оброблені. Коли всі відповіді отримані, дані в SQL базі позначаються, як оброблені.
Композитний розподілений сервіс
Додаток звертається до Web-сервісу за даними. Web-сервіс запускає BizTalk процес, який звертається до інших Web-сервісів за додатковими даними, після чого консолідує дані і видає їх першому з додатком. (Це типовий приклад створення композитних Web-сервісів.)
Складська система на базі RFID (радіо кодів). BizTalk процеси отримують дані з RFID зчитувачів встановлених на воротах складу і носяться зчитувачів, фільтрують їх і передають дані в численні складські додатки для обліку та моніторингу руху товару.