Co je to BizTalk?
- je to Enterprise Service Bus (ESB) - jde tedy o integrační server, který dovoluje vývoj, nasazení a správu integrovaných obchodních procesů (business processes) a webových služeb založených na XML
- jinými termíny Enterprise Application Integration (EAI) a Business-To-Business (B2B) Integration
- můžeme vytvářet řešení pro obchodní procesy a integraci - Business Process and Integration Solutions
- cílem je maximální automatizace procesů
Vlastnosti
- Dovoluje propojit různé aplikace a graficky vytvářet a upravovat obchodní procesy, které využívají služby poskytované danými aplikacemi.
- Můžeme definovat specifikaci dokumentů a transformací. A také monitorovat a logovat běžící procesy.
- Poskytuje standardní bránu pro odesílání a přijímání dokumentů skrze internet. Zařizuje datovou integritu, doručitelnost, bezpečnost a podporu pro BizTalk Framework.
- Pro interní zpracování využívá BizTalk engine XML, ale jinak podporuje velké množství datových formátů (DB, XML, formátovaný text) a vstupních adaptérů.
- Pro řadu účelů poskytuje integraci s SharePoint serverem.
- Je škálovatelný, může se využít více serverů se společnou konfigurační DB
Architektura
- Funkce na principu publish/subscribe. Zpráva je publikována do BizTalku, upravena do požadovaného formátu a přesměrována jednomu nebo více příjemcům (subscribers)
- Zpracování zpráv je bezpečné, dochází k serializaci, kdy se zprávy ukládají do DB ve chvíli, kdy čekají na nějakou událost.
- Microsoft dělí jednotlivé prvky (komponenty) do dvou kategorií:
- Messaging Architecture - ports, secure messaging, adapters, content-based routing, messaging patterns
- BizTalk Artifacts - schemas, maps, pipelines, orchestrations, orchestration bindings, correlation, messages

Komponenty
- Message - zpráva v XML odpovídající definovanému schématu
- Schema - schéma zpráv vychází z XSD, existuje vizuální návrhář
- Receive port - jak se informace dostane do BizTalku, inicializuje orchestraci, napojují se k němu adaptéry
- Adapter - implementace přenosů v Biztalku (transport), pro komunikaci s různými protokoly, formáty zpráv a určitými SW produkty. Takže nejen http, SMTP, SOAP, SQL, EDI, ale také SAP, Oracle DB, Siebel Systems
- Receive Pipeline - operace na vstupních zprávách (dekódování, rozdělení, ověření)
- Message Box - úložiště zpráv (SQL Server DB, zaručené doručení) - dehydratace (uložení zprávy) a hydratace (vyzvednutí zprávy)
- Transformation map - převádí jeden typ zprávy na jiný, využívá se XSLT standard
- Orchestration - jak jsou implementovány business procesy, vizuální reprezentace, obdoba vývojových diagramů, jsou implementovány pomocí WS-BPEL kompatibilního jazyka xLANG
- Business rule engine (BRE) - obchodní pravidla, která ovlivňují orchestraci, může je definovat analytik, jejich změna se okamžitě projeví
- Send Pipeline - pro odchozí zprávy (kódování, sestavení, podepsání)
- Send Port - odesílání informací, stejně jako receive ports řada transportů
Další vlastnosti (komponenty)
- Business Activity Monitoring (BAM) - poskytuje real-time informace o různých operacích, procesech a transakcích nad různými systémy a aplikacemi, tedy pohled jak jsou zpracovávány zprávy a naplňovány procesy
- Entreprise Single Sing-On (ESSO) - propojení uživatelských účtů mezi systémy, s požadavkem cestuje i kontext uživatele
- Health and Activity Tracking (HAT) - zpracovává shromážděné logy
- Tracking Profile Editor - určuje místa v orchestraci pro logování
- Business Process Configuration (BPC) - různé parametry pro různé kontexty
- Electronic Data Interchange (EDI) - výměna dat mezi organizacemi
- Radio Frequency Identification (RFID) - využití RFID zažízení
Verze BizTalk serveru
- BizTalk Server 2000 - XML B2B
- BizTalk Server 2002 - EAI (partner adapters)
- BizTalk Server 2004 - BPM, více adaptérů, Human Workflow Services (HWS)
- BizTalk Server 2006 - SOA/ESB, BAM, HAT
- BizTalk Server 2007 - Extended B2B, RFID, .NET 3.0
- BizTalk Server 2009 - ESB 2.0, BAM+, spolupracuje s Visual Studio 2008 SP1, Microsoft .NET 3.5
- BizTalk Server 2010 - spolupracuje s Visual Studio 2010, Microsoft .NET 4.0
- BizTalk Server 2013 Beta - integrace s cloud službami, nové technologie a adaptery
BizTalk Server 2009 závislosti
- vyžaduje
- Windows Server 2003 nebo 2008
- Internet Information Services 6.0 nebo 7.0
- Microsoft .NET Framework 3.5 with Service Pack 1
- SQL Server 2005 SP2 or 2008 Enterprise nebo Standard
- SQLXML 4.0 with Service Pack 1
- volitelně pro určité komponenty
- Windows SharePoint Services - pro WSS Adapter
- Microsoft Office Excel 2007 - pro Business Activity Monitoring
- Microsoft Visual Studio 2008 - pro vývoj a debug
- SQL Server 2005 Notification Services - pro BAM Alerts

Vývoj pro BizTalk
- provádí se pomocí Visual Studia a .NET
- pro schémata, mapy, pipelines a orchestrace je k dispozici grafický vizualizační nástroj
- pro BizTalk Server 2009 je třeba Visual Studio 2008 SP1
- Visual Studio 2010 podporuje pouze BizTalk Server 2010
- pro vývoj jsou třeba Developer Tools a SDK z instalace BizTalku
Nasazení aplikace
- Microsoft doporučuje používat několik prostředí
- vývojové (development environment)
- testovací (test environment)
- vynášecí (staging environment)
- produkční (production environments)
- Pro různá prostředí se provádí různé nasazení
- pomocí příkazu Deploy z Visual Studia - pro vývojové prostředí, z assemblies se vytvoří aplikace
- pomocí konzole BizTalk Server Administration - vytváří a konfiguruje položky (artifacts), vznikne funkční řešení
- pomocí export, import a instalačního průvodce - nasazení do testovacího a pozdějí staging a produkčního prostředí

Jednoduchá aplikace pro BizTalku
Microsoft dává k dispozici tutorial, kde se vytváří jednoduchá aplikace. Pomocí XML souborů se předává požadavek ze skladu o nové zboží, pokud je počet položek menší než zadaná hodnota, tak dojde k automatickému schválení a požadavek je předán do ERP. Pokud je hodnota větší, tak je zamítnut a vrací se do skladu.
Následující obrázek zobrazuje vývojový diagram tohoto procesu.

Když jej překreslíme do logiky BizTalk serveru, dostaneme schéma.

Pokud začneme vytvářet aplikaci ve Visual Studiu, tak nejprve vytvoříme nový projekt.

Do projektu přidáme schéma pro zpracovávané soubory schéma pro soubory - Request.xsd, RequestDecline.xsd, tedy XSD šablony.

Schéma tvoříme pomocí grafického rozhraní, kde přidáváme jednotlivé elementy a atributy.

Dalším krokem je vytvoření mapy pro transformace zdrojového na cílové schéma - MapToReqDecline.btm.

Pak se již dostáváme k tomu hlavnímu, vytvoření orchestrace, která řeší celý proces - EAIprocess.odx.

Když máme aplikaci hotovou, tak ji nasadíme na BizTalk server. Nasazení můžeme provést přímo z Visual Studia volbou Deploy. Ale následně se musíme přihlásit do administrace BizTalk Server Administration. Zde nalezneme nasazenou aplikaci, které musíme vytvořit fyzické porty a napojit je na orchestraci. Potom celou aplikaci zapneme.

Materiály na internetu
- BizTalk Server 2009 - oficiální dokumentace
- BizTalk Server 2010 Developer Training Kit - výukový kit pro vývojáře
- BizTalk Server 2010 Tutorials - video tutorial pro vývojáře
- BizTalk Server 2009 Installation and Upgrade Guides - instalační příručky
- BizTalk 2010 Installation and Configuration - návod k instalaci
- Walkthrough: Deploying a Basic BizTalk Application - popis nasazení
- Using Business Activity Monitoring - postupy k BAMu
Díky autorovi,
je to hezké základní seznámení.