facebook LinkedIN LinkedIN - follow
IT SYSTEM 10/2002

Integrace podnikových aplikací v praxi

Příklady použití integrační platformy Microsoft BizTalk Server



Představme si organizaci, která má alespoň některé procesy řízeny pomocí informačních technologií. Takových organizací je u nás jistě většina. Ty "modernější" budou mít nejenom ekonomický informační systém, ale budou mít pomocí různých podnikových aplikací řízeny i sklady, správu lidských zdrojů (HR), zákazníků (CRM), dokumentů apod. Jen málo firem ovšem má všechny programy na řízení podniku (ERP systémy) z jednoho zdroje, tedy od jednoho dodavatele. Typicky pocházejí tyto systémy od několika softwarových firem s tím, že některé programy si firma vytváří sama "na míru". Problém vzniká, když chceme tyto většinou heterogenní systémy (heterogenní jak po stránce hardware, tak software) propojit - dostáváme se do fáze, kdy začínáme mluvit o integraci aplikací ve firmě (Enterprise Application Integration - EAI).


Integrace interních podnikových procesů
Propojení je nutné, například lidské zdroje nelze oddělit od mzdového účetnictví: přijetí nového zaměstnance se jistě projeví v účetnictví firmy, nákup nového materiálu se projeví jak v účetnictví, tak ve skladech, ovlivní i výrobu. Provádět všechny změny ručně ve všech systémech, které firma používá, je v současné době nemyslitelné.

Integrace aplikací je důležitá i z jiného důvodu. Jenom díky ní jsme schopni získat celkový obraz o stavu firmy a jenom tak lze provádět nějaké rozhodování o budoucnosti (mimochodem, tady se dostáváme do dalších "moderních" odvětví a to jsou správa znalostí a plánování - BI, KM a EPM - Business Intelligence, Knowledge Management a Enterprise Project Management). I na tuto oblast existuje řada systémů od renomovaných softwarových producentů, tyto systémy ale musíme k ostatním aplikacím připojit, nebo do nich alespoň "napumpovat data".

Elektronická výměna dat - integrace externích procesů
Žádná firma, tím méně státní instituce a jiné organizace, ovšem nežije ve společenském vakuu. Každý má někde partnerské firmy a instituce, dodavatelské a odběratelské firmy, zákazníky, občany atd. Každá firma nutně potřebuje komunikovat s okolím. A tak se dostáváme k mezifiremní komunikaci, která bývá zjednodušeně a nepříliš správně označována zkratkou - B2B (Business to Business). Nemluvíme při tom o telefonu, faxu ani elektronické poště. Jsme mnohem dál - jsme na úrovni automatizované elektronické výměny dokumentů, jako jsou objednávky, faktury, dodací listy apod.
 
Technicky zůstává princip propojení dvou firem stejný jako u propojení dvou aplikací, do popředí ale výrazně vystupuje faktor bezpečného a spolehlivého přenosu dat. Takový přenos bylo nutné donedávna provádět pouze prostřednictvím EDI po privátních VAN sítích.
 
A2A: any to any
V posledních letech došlo k bouřlivému vývoji celosvětových standardů jako je XML, SOAP, S/MIME (Secure/Multipurpose Internet Mail Extensions) a PKI (public key infrastructure - infrastruktura veřejných klíčů), umožňujících bezpečnou a spolehlivou výměnu dokumentů. Značně se tak zjednodušilo spojení s velkým množstvím neslučitelných technologií a dnes můžeme s hrdostí zapomenout všechny zkratky jako B2B, B2C (Business to Customer), P2P (Person to Person) a podobně. Vystačíme s jedinou: A2A (Any to Any), která vystihuje fakt, že naší snahou je, aby cokoliv dokázalo automaticky komunikovat s čímkoliv.

V zásadě jsou dvě možnosti jak propojení A2A udělat.

Za prvé je možné vytvořit několik vlastních "integračních aplikací", které budou realizovat přenos dat z jednoho systému do druhého. Takové řešení si zvolí menší firma, která má dostatek levných programátorů, kteří jsou schopni udržet "v hlavě" a "na uzdě" všechny vztahy, které mezi jednotlivými aplikacemi existují.
 
Že je takové řešení složité a nebezpečné? Jistě. Jakákoliv změna v oběhu dat uvnitř firmy při této variantě většinou znamená zásah do několika programů, tento zásah přitom musí být synchronní a konzistentní - musí se projevit najednou v celém systému a nesmí narušit již existující vztahy ani s nimi nesmí být v konfliktu. S růstem firmy a s růstem počtu obíhaných dokumentů se ale stejně dříve nebo později stane situace neudržitelnou. A co víc, programátor, který aplikace píše, se pro firmu stane klíčovou osobou, mnohem důležitější než všichni manažeři. Bez něho nelze provést jakékoliv změny v automatizovaném řízení podniku nebo instituce. Představa, že programátor někde udělal chybu je příliš katastrofická na to, abychom ji zde rozebírali.

Druhou možností je použít obecný integrační nástroj, integrační platformu.

BizTalk
Na trhu je dnes k dispozici řada platforem pro integraci podnikových aplikací od různých dodavatelů. Mezi nejvýznamnější patří například BEA Systems (řešení BEA WebLogic a BEA eLink), IBM (MQ Series/WebSphere MQ), Sybase (Enterprise portal) nebo SAP (mySAP.com).

Relativně nedávno vstoupil na trh integrace podnikových aplikací (nebo, chcete-li, podnikových procesů) také Microsoft se svým produktem BizTalk Server. Postavení Microsoftu v oblasti serverových technologií pro budování podnikové informační infrastruktury rozhodně není tak silné jako v oblasti desktopů. Přesto jsme mohli v posledních letech zaznamenat nesporný vzestup serverových technologií Microsoftu. BizTalk je toho klasickým příkladem.

Na webu Microsoftu se dozvíme, že "BizTalk, je určen ke snadné integraci vnitřních podnikových aplikací, bezpečnému spojení s obchodními partnery přes internet a k rychlé automatizaci obchodních procesů".
 
To je klasická marketingová formulace, která hezky zní, ale o skutečných vlastnostech produktu mnoho nevypovídá. Jak tedy integrace s BizTalkem vypadá v praxi? Lze ji v podstatě rozdělit do tří fází:

1. Napojení na jednu z aplikací - od ní převezmeme nebo do ní ukládáme data.

2. Přenos dat neboli doručení dat na místo (místa) určení - tam jsou data převzata druhou aplikací. Před vlastním přenosem lze data zakryptovat a digitálně podepsat.

3. Do procesu se doporučuje zapojit i tzv. Orchestration, které umožňuje synchronně nebo asynchronně sladit několik procesů, větvit procesy (bez znalosti paralelního programování) a nastavit řešení krizových situací (co se stane například při přerušení komunikace s partnerem). Potřebujeme-li v procesu integrace cokoliv změnit, například zapojit další faktory, jako je například schvalovací proces, zaznamenávání (logování) toku dokumentů, lze to v BizTalku provést jednoduše.

Integrace v praxi
Pro "napojení" na jiné aplikace má BizTalk řadu možností, od předávání informace prostřednictvím souborů přes sdílené databáze, message queueing až po webové služby, COM+ objekty atd.

Pro přenos dat na jiné místo, kryptování a podepisování - ať již v rámci jedné firmy, nebo na dálku - se BizTalk podřizuje posledním internetovým standardům. Pro jednoduché kryptování, podepisování, dekryptování a ověřování podpisů (jeden konkrétní odesílatel a jeden konkrétní příjemce, kteří používají certifikační autoritu) lze přímo použít vizuální nástroje BizTalku, pro složitější scénáře je možné dokumenty zabalit do "obálek" a kromě toho lze zařídit, aby byl dokument v průběhu transportu zpracován různými komponentami, které existují nebo si sami naprogramujeme.

Pomocí již zmíněného Orchestrationu se dá nastavit složitější workflow, tedy složitější oběh dokumentů s rozhodováním, větvením, s cyklením apod. K nastavení workflow využívá BizTalk grafický nástroj Microsoft Visio, se kterým může pracovat i člověk, který viděl programování z velké dálky. Jednoduchou formou vývojových diagramů na papíře nebo ve Visiu načrtne, jak má oběh dokumentu vypadat (vytvoří design oběhu). Tento diagram potom předá programátorovi. Ten k původnímu designu doplní vlastní implementační část. Příklad je uveden na obrázku 1.
 


Obr. 1: Jednoduchý příklad Orchestration: Levá část diagramu představuje náčrtek oběhu
dokumentu a je vytvářena laikem na IT, pravou (a prostřední) část vytváří programátor.
V případě potřeby je možné Orchestration pružně měnit.

Součástí BizTalk Serveru jsou kromě Orchestration také další doplňky jako například:
. Editor - slouží k definování schémat dokumentů - jak XML, tak "flat file", tedy EDI),
. Mapper - pro transformace jednoho formátu dokumentu do druhého,
. SEED - pro přenos řešení z vývojových serverů na produkční servery s Application Centrem,
. nástroje na monitorování BizTalku pomocí Operation Manageru atd.

Akcelerátory a adaptéry
Pro urychlení integračního procesu je možné si k BizTalku pořídit akcelerátory a adaptéry.

Akcelerátor (urychlovač) je, jak sám název napovídá, prostředek, který urychlí nasazení integračního procesu. Jedním z prvních akcelerátorů bylo například Řešení Microsoft pro podporu dodavatelů (MSSE - Microsoft Solution for Supplier Enablement), o kterém se ještě zmíníme. Dále existují např. akcelerátory pro připojení k EDI serverům, akcelerátory pro zdravotní pojišťovny, pro chemický a elektrotechnický průmysl, pro bankovnictví atd.

Adaptér pro BizTalk je ve své funkčnosti o něco jednodušší než akcelerátor. Pod adaptérem se rozumí jakýsi konektor do jiné aplikace, pomocí kterého jsme s aplikací prostřednictvím BizTalku schopni komunikovat. Takový adaptér ušetří programátorům ohromné množství práce, protože se nemusejí starat ani o specifikace dokumentů, ani o způsob komunikace s aplikací. Adaptéry pro BizTalk vytváří mnoho firem ke svým aplikacím nebo k aplikacím třetích stran. V současné době jich existuje více než 350.

Příklady
Abychom se stále nepohybovali jen v obecné rovině, ukažme si možnosti integrace na bázi BizTalku na několika příkladech. První dva budou jistě velmi zajímat organizace, které používají systém SAP. Demonstrují, jak lze SAP propojit prakticky s libovolným jiným řešení - v našem případě jsme viděli Commerce Server a Microsoft Excel.

Propojení Excelu s webovou službou a systémem SAP
je pěkným příkladem, jak mohou do systému SAP zadávat požadavky lidé, kteří SAP neznají nebo k němu nemají přímý přístup. Představme si, že si zaměstnanec (nebo partner firmy) chce objednat nějaké zboží.

Otevře v Excelu šablonu objednávky a odešle jí tlačítkem "Odeslat" (obr 2.). (Šablona může být umístěna i na webu - například na intranetu.) Co se po odeslání děje?

1. Objednávka je automaticky přetransformována do XML formátu a odeslána na webovou službu. Tu pro nás vytvořil instalační program Microsoft Office XP Resource Kit for BizTalk Server Version, jinými slovy adaptér k MS Office.
2. Webová služba objednávku přijme, nastaví stav objednávky na "ve zpracování" a odešle jí do BizTalk Serveru.
3. BizTalk Server provede transformaci objednávky na objednávku odpovídající struktuře objednávek v systému SAP.
4. Objednávka je poslána ke schválení nadřízenému a poté pomocí konektoru BizTalk Adapter for SAP do systému SAP.
5. V systému SAP je vygenerováno potvrzení objednávky, které je následně posláno přes BizTalk Adapter a BizTalk Server zpět webové službě.
6. Webová služba nastaví stav objednávky na "potvrzeno", na základě tohoto stavu Excel aktualizuje informaci o stavu objednávky také na listu Excelu s příslušnou objednávkou.


Obr. 2: Propojení Excelu s webovou službou a systémem SAP.

Propojení Commerce Serveru se SAP
je, dá se říci, opačným příkladem. V tomto scénáři je pracovníku, který je zodpovědný za udržování katalogu v systému SAP, umožněno katalog přenést na Commerce Server, kde se zboží nebo služby nabízí široké veřejnosti k výběru. Po vytvoření katalogu v SAPu nebo po provedení změn stačí opět stisknout jediné tlačítko. Automaticky se provedou následující činnosti:

1. ze systému SAP je odeslán katalog produktů,
2. katalog se přetransformuje do formátu IDoc (SAP Intermediate Document),
3. IDoc je přijat konektorem BizTalk Adapter for SAP, který jej pošle do BizTalk Serveru,
4. BizTalk Server převede IDoc do XML formátu a provede transformaci SAP katalogu na katalog odpovídající struktuře katalogu Commerce Serveru,
5. pomocí rozhraní mezi BizTalk Serverem a Commerce Serverem je přidán nebo aktualizován katalog produktů v Commerce Serveru.
 


Obr. 3: Katalogy zboží a služeb je možné udržovat na jediném místě
a stiskem jediného tlačítka jej distribuovat do libovolného systému.

Celý proces má i zpětnou vazbu - nákup zboží na Commerce Serveru se automaticky promítá do SAPu.

Jestliže koncový uživatel provede přes internet výběr zboží:

1. Commerce Server vytvoří objednávku,
2. objednávka je přes rozhraní mezi BizTalk Serverem a Commerce Serverem poslána do BizTalk Serveru, který provede transformaci objednávky na objednávku odpovídající struktuře objednávek v systému SAP,
3. objednávka je následně poslána pomocí konektoru BizTalk Adapter for SAP do systému SAP,
4. v systému SAP je objednávka zpracována a je vygenerováno potvrzení objednávky, které je posláno zpět přes BizTalk Adapter for SAP do Commerce Serveru, který zaktualizuje stav objednávky.

K výhodám celého řešení nesporně patří to, že proces je plně automatizován bez nutnosti pracných a časově náročných ručních transformací, exportu a importu dat. Databáze katalogů a objednávek jsou udržovány pouze na jednom místě.

Propojení Commerce Serveru s jinými prodejními systémy
nám umožní již dříve zmíněné řešení MSSE. Ten, kdo nabízí své služby a produkty zákazníkům, jistě potvrdí, že objem prodeje je silně závislý od počtu oslovených potenciálních nakupujících subjektů. To je základní idea MSSE: řešení umožňuje napojit obchod založený na Commerce Serveru na libovolné množství existujících elektronických tržišť a e-procurementových systémů, které si zřizují velké (a pro prodejce zajímavé) firmy.

Nebudeme zabíhat do velkých detailů, konstatujme jenom, že tentokrát jde o tzv. řešení "out of the box", tedy přímo z krabice. Po instalaci je třeba se správcem tržiště, ke kterému se připojujeme, pouze vyřídit legislativní záležitosti (kolik dostane za zprostředkování obchodu apod.), vyměnit si hesla, případně certifikáty, a celou záležitost můžeme spustit. Při takovém propojení je jedno, kde se výběr zboží provede, jestli na našem webu, nebo na webu partnera.
 

Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

Konec papírování, digitalizujte a usnadněte si práci!

IT Systems 3/2024V aktuálním vydání IT Systems jsme se zaměřili na vývoj digitalizace ve světě peněz, tedy v oblasti finančnictví a pojišťovnictví. Dozvíte se například, proč je aktuální směrnice PSD2 v inovaci online bankovnictví krokem vedle a jak by její nedostatky měla napravit připravovaná PSD3. Hodně prostoru věnujeme také digitalizaci státní správy a veřejného sektoru, která nabírá obrátky.