Integrace podnikových aplikací (2. část)

Ve druhé části studie odpovíme na otázku, jak fungují a co nabízejí moderní integrační platformy. Zhodnotíme také možnost využití datových skladů při integraci podnikových aplikací.

Možnosti integrace podnikových aplikací se vyvíjejí řadu let společně s rozvojem nových technologií a změnami požadavků zákaznických organizací. Z technologického hlediska zasáhl do tohoto procesu nevýrazněji nástup osobních počítačů, zavádění architektury klient/server a využití internetu v podnikové sféře. Požadavky zákazníků se měnily společně s rostoucí konkurencí, globalizací trhu a rozvojem podnikání v rámci dodavatelských řetězců.

Otázky pro manažery

Integraci podnikových aplikací (EAI) můžeme charakterizovat jako propojení původně nezávislých dílčích řešení či informačních systémů, které jsou vzájemně nekompatibilní a jejichž správa a údržba probíhá nezávisle. EAI jako jednotná aplikační platforma pak logicky musí obsahovat soubor nástrojů a technologií, které umožní kompaktní správu a efektivní spolupráci doposud nezávislých aplikací.

Může nám EAI nabídnout i další služby? Nejde přece jenom o náklady na implementaci, provoz a údržbu, trápí nás často celková efektivita zavádění nových aplikací a procesů. Nedokážeme posoudit, jak jsou tyto procesy monitorovány a kolik na ně vynakládáme lidských a systémových zdrojů. Chybí nám konkrétní informace o tom, jak dlouho např. trvá vyřízení obchodního případu. A pokud bychom takovouto informaci získali, dokážeme rychle dané procesy změnit podle aktuálních požadavků?

Jaká je role datových skladů při integraci podnikových aplikací?

Jedním z hlavních problémů současných podnikových informačních systémů je řízení jejich integrace. Pro řešení tohoto problému je dnes k dispozici řada přístupů a softwarových nástrojů. Jak při integračním procesu mohou pomoci datové sklady?

Datový sklad (Data Warehouse) představuje ucelené řešení poskytující nejen prostředky pro ukládání dat, ale rovněž sadu nástrojů pro jejich analýzu. Jeho stěžejním úkolem je podpora plánování a řízení firmy, a to nejen na strategické úrovni. Datový sklad získává svou obsahovou náplň především z tzv. OLTP systémů, tedy z ERP, CRM či APS řešení. Využívá také externí data, a to v podobě katalogů, telefonních a jiných seznamů, obchodních adresářů apod.

Kvalita na prvním místě

O plnění dat do databáze se starají datové pumpy, nebo-li ETL nástroje. Tyto nástroje získávají data ze vzájemně nekompatibilních zdrojů, následně je transformují do nových odpovídajících struktur a ukládají do databáze datového skladu. Data jsou tak připravena k pozdějším analýzám.

Datové pumpy pracují v dávkovém režimu, přenášejí tedy data v určitých časových intervalech (dny, týdny měsíce). ETL nástroje mají také za úkol "čištění" dat. Kvalita ETL nástrojů tedy přímo ovlivňuje kvalitu dat uložených v datovém skladu a tím pádem také kvalitu informací, které můžeme z něj získat.

Jiný pohled na data

V databázi datového skladu jsou uložena především historická data. Analýzy dat pak na základě historického srovnávání nabývají smysl. Díky systematickému přístupu k budování datového skladu lze také nalézat vztahy mezi daty, které byly získány z různých zdrojů a které by jinak uživatel pravděpodobně nikdy neodhalil.

Datový sklad obsahuje data na různých úrovních podrobnosti. Ta bezprostředně ovlivňuje podrobnost získaných informací. S narůstajícím množstvím dat se zvyšují požadavky na stabilitu výkonu, administraci a škálovatelnost databáze. Problémem datových skladů bývá aktuálnost získávaných informací, a také jejich bezprostřední dostupnost. Pro EAI platformy je naopak zabezpečení dostupnosti dat v reálném čase kritickým úkolem. Proto také není možné přímo využít datových skladů jako integračního prvku EAI platformy.

Datové sklady v EAI

Datové sklady tedy nejsou přímo integračními nástroji. Zabezpečují však podporu EAI platforem, nebo jsou přímo jejich součástí. Jednou z možností řešení problému integrace je aplikace dnes již klasických možností propojení různorodých dat z různého databázového prostředí na bázi stále výkonnějších ETL nástrojů, jako součásti řešení datových skladů. Nezbytným předpokladem nadále zůstává velké množství analytické práce, jejíž kvalita je vždy rozhodujícím faktorem úspěšné nasazení datových skladů a v konečném důsledku i úspěchem integrace celého informačního systému. Datové sklady se tedy při integraci aplikací uplatní tam, kde jsou nástroje EAI využity pro přenos dat do datových úložišť v reálném čase. EAI tak doplňuje dávkový přenos a umožňuje vznik nové generace datových skladů. Podstatné širší a zajímavější je při integraci aplikací využití tzv. operačního datového skladu (ODS).

Jak pomáhá ODS?

Mnoho organizací se potýká s tím, že tatáž informace (např. adresa zákazníka) pochází potenciálně z více zdrojových systémů. Jak ale řešit konflikty v případě, že se data z těchto zdrojů rozcházejí? Abychom získali celostní pohled na důležité objekty (klíčoví zákazníci) a podnikové procesy (servisní služby), je třeba přistupovat k více systémům zároveň, aniž by byla garantována kvalita takto získaných dat. Aplikace se často přímo dotazují na data vlastněná jinými aplikacemi, přičemž využívají znalost databázového schématu jiné aplikace a předpokládají, že je toto schéma neměnné. Tím však pěstují vzájemnou těsnou integraci, která neprospívá flexibilitě celého systému.

Zavedením ODS, implementací řízených mechanismů, jak do datového skladu přispívat a jak z něj data získávat, včetně jeho zapojení do EAI lze problémy tohoto typu velice efektivně řešit. Využití ODS eliminuje provázanost přes podniková data a umožňuje tak integraci na úrovni obchodní logiky nebo aplikačního rozhraní.

Přínosy datových skladů

Kromě zmíněných podpůrných integračních efektů přináší datové sklady především zvýšení produktivity v oblasti analýz podnikových dat, což bezprostředně podporuje strategické řízení podniku. Datové sklady se tak stávají stále častěji samozřejmou součástí architektury podnikového informačního systému. Pokud jsou integrovány v rámci EAI platformy, pak snižují celkové náklady na vlastnictví. K dosažení uvedených přínosů je třeba při implementaci věnovat velkou pozornost navrhovanému rozsahu a struktuře celého datového skladu.

Kudy nelze jít

Začněme ale nejprve u způsobů integrace podnikových aplikací. Existují v podstatě dva. Ten první, se nazývá "point-to-point" - každý s každým. Spočívá ve vytváření účelových propojovacích řešení zabezpečujících synchronní komunikaci mezi aplikacemi. Tento přístup je v praxi doposud hojně využívaný, avšak není příliš efektivní. Generuje nadbytečné náklady na vývoj každého jednotlivého komunikačního řešení a předpokládá značnou pracnost s rozdílnými komunikačními protokoly či zdrojovými kódy nestandardních aplikací. Dále také počítá s připraveností aplikací na synchronní komunikaci. Pokud však aplikace dostupná není, transakce nemůže být provedena.

Jak funguje EAI řešení?

EAI platforma umožňuje uskutečnit propojení na principu middlewaru. Slouží jako sdílené místo, na nějž jsou zasílána data z jednotlivých aplikací a kde jsou také transformována a předána ke zpracování ve srozumitelném formátu. EAI řešení zabezpečuje přenos dat asynchronně. Data jsou totiž umístěna "ve frontě" middlewaru. Příslušná transakce se pak může uskutečnit bez nároku na okamžité propojení zdrojové a cílové aplikace.

Samotná integrace prostřednictvím EAI platformy pak může probíhat na několika úrovních - datové, uživatelského a aplikačního rozhraní a obchodní logiky. Využití integrace na konkrétní úrovni by pak mělo být odrazem potřeb zákaznické organizace a vlastností integrovaných aplikací.

Propojení přes data

Integrace aplikací na datové úrovni využívá úložišť dat a možností jejich přesunu. Přitom v podstatě ignoruje existenci aplikací jako takových. Tento přístup nemusí být na škodu, neboť většina aplikací funguje obdobně - ukládá data do relačních databází. Data z jedné databáze jsou pak za pomocí ETL nástrojů automaticky čištěna, transformována a uložena v požadované struktuře do databáze sloužící jako datové úložiště jiné aplikace. Jde o docela dobré a rychlé řešení s jasně čitelnými přínosy spočívající zejména v úspoře nákladů v porovnání s ostatními způsoby integrace. Hodí se také k budování operačních datových skladů (ODS). Může však narazit na obtíže s udržováním velkého množství databázových tabulek. Pokud od EAI požadujeme vysokou flexibilitu a schopnost práce v reálném čase, pak integrace na datové úrovni není příliš šťastné řešení.

Model zabezpečení distribuce ve výrobním podniku prostřednictvím EAI (CVIS 2005) (Klikněte na obrázek pro zvětšení)



Uživatelské rozhraní a portál

Zatímco "datový přístup" ignoroval existující aplikace, propojení přes uživatelské rozhraní jde přesně opačným směrem. Snaží se automatizovat práci uživatele a to tak, že odpovědi systému na vznesený požadavek jsou výsledkem simulací uživatelského postupu. Jedná se o způsob využívaný především tehdy, kdy je potřeba integrovat velmi staré aplikace, u nichž není k dispozici zdrojový kód, a kdy nelze využít jiného integračního postupu. V jiných případech by ale toto řešení bylo velmi neefektivní. Je totiž závislé na neměnnosti aplikace, s čímž můžeme u modernějšího softwaru jen velmi těžko počítat.

K integraci přes uživatelské rozhraní lze jistě zařadit také moderní trend nasazování portálových technologií - jednu z klíčových součástí EAI řešení. Portál však neslouží primárně k tomu, aby zabezpečoval výměnu dat mezi aplikacemi. Jeho úkolem je sjednotit uživatelské rozhraní a zabezpečit intuitivní přístup k aplikacím, aniž by byl uživatel zatěžován jejich sledováním v rámci svého podnikového procesu.

Příliš těsné propojení

Při integraci je možné využít také aplikačního programového rozhraní (API), které poskytuje výrobce konkrétní aplikace. Pomocí API lze přistupovat jak k datovým zdrojům, tak k obchodní logice jednotlivých aplikací. Propojení pomocí API se využívá u složitých, nestandardních aplikací. Je však zcela závislé na výrobci daného API. Integrace na bázi obchodní logiky znamená způsob zasahující do struktury stávajících podnikových aplikací. Cílem propojování na této úrovni je sdílet klíčové postupy sloužící při řízení celé organizace. Operace prováděné různými aplikacemi pak budou vykonávány stejně. Tento přístup také zjednodušuje správu a aktualizaci jednotlivých komponent. Na druhé straně je také nositelem mnoha rizik. Především vytváří velmi těsnou vazbu mezi aplikacemi a vzájemnou závislost. Ve své podstatě je příliš složitý, nákladný a pracný pro vývojáře či servisní podporu. Podobná rizika přináší integrace na úrovni dat, uživatelského i aplikačního rozhraní. Předpokládá totiž sdílení interních charakteristik jednotlivých aplikací.

Orientace na služby

Východiskem z příliš těsné a složité integrace je koncept SOA. Tato architektura je zaměřena na opakované a sdílené poskytování služeb za použití takových standardů, které tuto spolupráci umožní. Služba, je autonomní část softwaru, která slouží k plnění přesně definované úlohy a je dostupná po síti. Konkrétně může jít například o zadání faktury do ERP systému nebo získání údajů o zákazníkovi z CRM systému.

SOA jako ucelený koncept vede společně s webovými službami k vývoji tzv. kompozitních aplikací, které slučují dosud dvě oddělené součásti - vývoj aplikací a jejich integraci. Propojováním heterogenním systémů jsou zároveň definovány nové obchodní procesy.

Tvorba kompozitních aplikací spočívá v převedení stávající funkcionality do podoby webové služby a v koordinaci jejího využívání. To má za důsledek výraznou redukci nákladů na vývoj a provoz systému a rychlé zavádění nových služeb do praxe. Samotná koordinace webových služeb pak představuje asynchronní i synchronní formu komunikace na úrovni, která je pro daný přenos dat nejvhodnější. Pro popis těchto nově definovaných procesů se používá standardní jazyk (BPEL), přijatý předními IT dodavateli jako standard.

Co nabízí moderní EAI?

Výběr EAI platformy, která nám pomůže vyřešit otázky položené na začátku, závisí tedy na její schopnosti využít SOA a webové služby, vytvářet a integrovat nové procesy. Významný podíl na EAI představují rozsáhlá komponentová řešení. Na českém trhu je reprezentují zejména platformy SAP NetWeaver a Oracle Integration, ve světě pak kupříkladu webMethods Fabric.

Základním stavebním kamenem těchto řešení jsou otevřené standardy plně spolupracující s jinými platformami jako je např. Microsoft.NET. Jednotlivé komponenty EAI jsou pak orientovány vždy na specifický problém integrace. Nasazují se např. za účelem integrace různorodých prostředí, aby zajistily rychlý přenos dat a dokumentů (Oracle InterConnect). Nelze opomenout ani podporu vrcholového rozhodování. Může fungovat buď na základě využití nástrojů Business Intelligence, tedy na hloubkových analýzách dat (SAP BI), nebo může vycházet z kontinuálního sběru dat ze všech integračních komponent a jejich přiřazování definovaným ukazatelům (KPI). Pomocí KPI pak mohou zodpovědní manažeři sledovat chod celého podniku (OracleAS Integration BAM).

Analýza EAI trhu (Gartner 2004) (Klikněte na obrázek pro zvětšení)



Specializované platformy

Pro fungování podniku v dodavatelském řetězci je podstatná podpora B2B komunikace, resp. konkrétních standardů sloužících k výměně dat (EDI, XML atd.). Na tento integrační problém jsou orientovány produkty, jako je např. Microsoft BizTalk Server, GE Global eXchange Services nebo TradeXpress Enterprise. V rámci dodavatelského řetězce je standardizace elektronické komunikace mimořádně důležitá. V některých případech, jako je např. komunikace centrály s distribučním centrem nebo s pobočkami, je výhodné její přenesení právě do platformy EAI.

Na druhé straně existuje skupina EAI platforem, které kladou důraz např. na schopnost automaticky vytvářet aplikace se specifickou funkčností na základě integrace stávajících aplikací. Silnými nástroji pro modelování podnikových procesů a následný vývoj aplikací disponují např. Versata Process Logic Engine nebo TIBCO Software.

Nabídka pro všechny

K zajímavým EAI platformám patří Ensemble od společnosti InterSystems. Ensemble sám o sobě tvoří samostatnou skupinu EAI řešení. Jde o jednolitý produkt bez výrazného rozčlenění do specializovaných modulů. Zatímco mnohé ostatní produkty vznikly postupným propojováním původně samostatných úzce zaměřených řešení (např. IBM WebSphere), Ensemble byl navržen jako ucelená platforma opírající se o postrelační databázový stroj Caché. K jeho hlavním konkurentům patří rozsáhlá komponentová řešení, jako jsou SAP NetWeaver nebo Oracle Integration.

Všechny tři skupiny EAI platforem si pak navzájem konkurují nabídkou speciálních nástrojů umocňujících jejich praktické využití v podnikové architektuře. Jde především o podporu podnikového portálu, mobilních řešení a možnost automatické identifikace (čárové kódy i RFID). Moderní EAI řešení si dnes nedovedeme představit také bez kompozitních aplikací, které dokáží nahradit nepraktická rozhraní mezi jednotlivými softwarovými systémy a bez rozsáhlé sady adaptérů pro napojení podnikových aplikací, jako jsou Siebel nebo SAP.


V poslední části naší studie přineseme diskusi odborníků nad nejdůležitějšími otázkami integrace podnikových aplikací.


04.07.2005 - Petr Sodomka, Jaromír Habáň