MULTIDIMENZIONÁLNÍ DATABÁZE JAKO INTEGRÁTOR APLIKACÍ

© InterSystems CZ, 2004

 

Co je Ensemble

Ensemble je novým produktem firmy InterSystems. Je určen firmám, které provozují mnoho různých, více či méně specializovaných softwarových řešení pro řízení dílčích procesů v rámci svých obchodních procesů. Skoro každá větší firma používá zpravidla více než jeden produkt pro řízení svých aktivit. Mnohdy je to výsledek postupného růstu firmy a rozšiřování portfolia jejích aktivit a produktů, jindy firmě přibývají systémy tak, jak polyká v průběhu akvizic jiné firmy s jejich vlastními systémy řízení. Po určité době správci aplikací musí čelit několika výzvám:

  • Jak spravovat různé systémy založené na různých platformách
  • Jak zajistit jejich komunikaci
  • Jak zajistit aby systémy spolu nekolidovaly a tak podobně

Zatímco spravovat různé aplikace v počtu jednotek kusů je s jistými obtížemi možné, začne-li se jednat o desítky (a to je ve velkých firmách poměrně běžná situace) stav se stává neúnosným.

Tyto situace se snaží s různým úspěchem řešit různé integrační nástroje, jmenujme například Tibco, SeeBeyond, IBM MQSeries, WebMethods. A právě do tohoto segmentu je umístěn produkt Ensemble.

 

Ensemble vs. Caché

Ensemble se podobně jako Caché, s nímž jsme se seznamovali v průběhu celého seriálu, opírá o objektovou technologii, spojenou organicky s vícerozměrnou databází a virtuálním strojem v jeden vysoce funkční celek. Nicméně Ensemble má rysy, které Caché nemá a mít nebude.

Zatímco Caché je produkt určený k rychlému vývoji především serverových komponent aplikací, Ensemble je určen k rychlému návrhu a implementaci obchodních procesů. Tedy, pracuje na mnohem více abstrakční úrovni a jinými prostředky.

 

Třídy v Ensemble

Základem veškeré funkcionality Ensemble jsou třídy. Třídy se dělí do několika skupin podle jejich určení. Těmito skupinami jsou:

Adaptéry (adapters)

Firemní Služby (business services)

Firemní Procesy (business processes)

Firemní Operace (busines operations)

Transformace (data transformations)

Zprávy (messages)

Konfigurace (productions)

Třídy tvořící obsah uvedených skupin jsou plnohodnotné presistentní třídy, tedy definují objekty schopné ukládat data do databáze. Mají však, v porovnání se třídami v Caché, kromě vlastností, metod, parametrů apod., možnost definovat nové elementy zvané Xdata. XData si lze představit jako XML parametry. XData jsou v průběhu kompilace třídy parsována a výsledný kód je dán obsahem elementu XData.

Obr. 1 Ukázka definice elementu XData

 

Systémové události

Dalším rozdílem enginu Ensemble proti Caché je možnost z procesu vyvolávat jiné procesy pomocí systémových událostí. Systémové události jsou implementovány třídou $System.Event. Procesy v Ensemble mohou definovat zdroje a takto definované zdroje pak čekají na události směřované k nim z různých procesů (tedy nejen z procesu, který daný zdroj vytvořil).

 

Grafický návrh procesů

Popsat složité firemní procesy tak, aby byly srozumitelné různým stranám zúčastněným v integračním projektu, vyžaduje použití formalizovaného jazyka. V současnosti se jeví jako nejpokročilejší jazyk BPML, respektive jeho varianta BPML4WS, z níž vychází i Ensemble.

Je mimo rámec tohoto článku popisovat jednotlivé elementy jazyka BPML, nicméně alespoň stručně. Jednotlivé prvky firemního procesu jsou v BPML reprezentovány grafickými symboly, které jsou mezi sebou propojeny čarami. S jistou mírou nepřesnosti se BPML diagramy podobají známým vývojovým diagramům, se kterými se setkal prakticky každý ve svých programátorských začátcích.

Proces, popsaný v Ensemble Studiu, což je nástroj pro návrh integračních komponent, vypadá například takto:

Obr. 2

Každý takto graficky popsaný proces je v Ensemble studiu definován pomocí elementu XData příslušné persistentní třídy.

 

Obr. 3

Jak je patrné z obrázků, lze obchodní procesy modelovat jak graficky, tak “psát” pomocí XML.

 

Grafický návrh transformací

Jednotlivé bloky volání uvnitř firemního procesu očekávají na vstupu určitý druh zprávy. K vytvoření zprávy ve správném formátu slouží element BPML jazyka Transformace. Podobně jako samotný proces lze znázornit graficky, i tranformaci lze definovat v grafické podobě.

Obr. 4

Opět i v tomto případě je možno transformaci popsat pomocí XML elementů.

Obr. 5

Kompozitní aplikace

Pomocí definic tříd a implementace metod je možno v Ensemble nejen propojit stávající aplikace, ale též vytvářet nové aplikace nad aplikacemi, metaaplikace či kompozitní aplikace. K dispozici je plný aparát objektů, od abstraktních přes registorvané po persistentní, včetně skriptovacích jazyků pro psaní aplikační logiky. (viz Caché Studio č. 1 a 4)

 

Shrnutí

Díky použití persistentních tříd pro definici jednotlivých komponent integračního řešení nabízí Ensemble to, co žádný jiný konkurenční produkt nenabízí, totiž možnost automaticky zaznamenávat každou přenesenou zprávu, sledovat stav každého procesu zapojeného do dané konfigurace. Díky tomu je možno v reálném čase provádět analýzy a statistická vyhodnocení toku informací a provádět audit.

 

Úplně na závěr

Tímto dílem se uzavírá seriál Caché Studio jenž Vás provázel po celý tento rok. Doufám, že se Vám seriál líbil a že Vám pomohl seznámit se se zajímavými produkty z dílny InterSystems. Naší snahou bylo, je a vždy bude přinášet inovativní řešení která Vám, vývojářům, pomohou v maximální možné míře urychlit a zjednodušit vývoj Vašich aplikací a to v celém rozsahu spektra, od nejjednodušších jednouživatelských až po komplexní vícevrstvá řešení pro tisíce uživatelů.

Budeme rádi, pokud Vás náš seriál inspiroval a rádi Vám též pomůžeme při hledání nejefektivnějších cest využití našich technologií.

Na info@intersystems.cz jsme vždy připraveni Vám pomoci.