Cesta ze závislosti na jediné platformě

V podobě technologie modelem řízené architektury (Model Driven Architecture, MDA) vyvinulo konsorcium Object Management Gr...


V podobě technologie modelem řízené architektury (Model Driven Architecture,
MDA) vyvinulo konsorcium Object Management Group (OMG) iniciativu, která by
měla vývojářům aplikací zajistit větší volnost při návrhu a portování objektově
orientovaných aplikací. V jejím středu stojí platformově nezávislý metamodel, s
nímž lze provádět implementaci a migraci.
Dnešní vývoj softwaru se vyznačuje tím, že uživatel v průběhu analýzy požadavků
a modelování obchodních procesů pracuje ještě nezávisle na konkrétní cílové
platformě. Přitom vzniká platformově nezávislý model Platform Indepedent Model
(PIM), který zobrazuje formální specifikaci struktury a chování systému a který
je takto zobrazen při abstrahování od technických detailů. Avšak při
implementaci modelu začínají problémy: Uživatel se například musí rozhodnout
pro určitý (konkrétní) aplikační server a může prozatím svůj program nechat
běžet pouze na něm. V případě nutnosti změny cílové platformy v průběhu doby je
pak nezbytné vynaložit na ni značné množství času a nákladů.

Zpřesnění modelu
MDA je zde příslibem inteligentního a inovativního mechanismu: Požadavky,
modely a procesy jsou nejprve zohledněny v abstraktním a na platformě
nezávislém modelu. Ten je poté v následujícím kroku zjemněn do platformově
specifického modelu (Platform Specific Model, PSM) pro konkrétní implementační
platformu tou může být kupříkladu J2EE aplikační server nebo CORBA server. Na
základě takového detailního modelu jsou pak generovány proveditelné aplikace.
Důraz je přitom kladen na "generování", s nímž při změně platformy odpovídající
kód nemusí být nově implementován.
Základním účelem MDA je integrovat technologie jako CORBA, J2EE, XML či .Net,
aby mohla být podporována portabilita softwaru na různé platformy. Klíčovým
předpokladem k tomu je modelem řízené nasazení. Pod modelem v tomto kontextu
rozumíme reprezentaci části funkce, struktury nebo chování systému.
MDA popisuje modely za pomoci UML (Unified Modeling Language) a rozděluje je na
PIM a PSM. Nejprve jsou v MDA definovány konzistentní vztahy mezi těmito
modely. PIM modely obsahují formální specifikace struktur a funkcionalit
systémů, které abstrahují od technických detailů. Tzv. Component View popisuje
komponenty a jejich interakce při zachování nezávislosti na platformě. PSM je
odvozen z PIM na základě daných transformačních kroků. Dalším klíčovým
elementem MDA jsou mapy mezi modely.
Architektura MDA je už dnes podporována některými prodejci vývojových nástrojů
(viz tabulka), kteří ovšem standard skupiny OMG implementovali velmi odlišným
způsobem. Tady můžeme rozlišovat tři skupiny produktů: Jednu z nich tvoří čisté
grafické nástroje pro tvorbu UML diagramů, jako např. Aris E-Business Workbench
firmy IDS Scheer nebo Visio společnosti Microsoft. K tomu pak přicházejí
tradiční Case nástroje, které generují kód specifický pro danou platformu
příkladem mohou být Rational Rose od výrobce Rational Software či Innovator
firmy MID. A konečně třetí skupina je postavena převážně na Case nástrojích a
podporuje jak platformově specifické, tak i platformově nezávislé modely, z
nichž se generuje optimalizovaný kód pro určitý server.
Příkladem naposled jmenované skupiny je nástroj Arcstyler firmy Interactive
Objects Software, s nímž lze vyvíjet J2EE systémy podle konceptu MDA. Nástroj
dovoluje vytvářet ihned proveditelné aplikace včetně konfigurace, rychlého
nasazení, jakož i podpory testování a debuggingu pro příslušnou platformu.
Všechny informace pro vytvoření proveditelného kódu jsou obsaženy v modelu při
tom jsou ukládány technologicky a serverově specifické atributy anotace. Má-li
být vygenerován kód pro další aplikační server, mohou být převzata nastavení
specifická pro danou technologii. Vygenerovaný kód může být naladěn
individuálně pro příslušnou platformu. Takto je možné převedení obchodního
modelu na nové technologie bez toho, aby bylo nutné začínat při změně
technologie od začátku.

MDA spoří náklady
MDA by měla představovat standard, který je možné použít s různými typy
middlewaru a objektových technologií a to jak s těmi existujícími, tak i s
těmi, jež se objeví v budoucnu. Při vývoji aplikací mohou být podle OMG bez
velkých nákladů integrovány nové standardy nebo je možné použít současné verze
serverů. K tomu navíc nemusejí znovu být přepisovány velké části kódu, jako
tomu bylo dosud. Samotná změna infrastruktury při přechodu k jinému dodavateli
nebo dokonce celé objektové technologie tak není nemyslitelná a nemožná.
Stejně tak pro MDA mluví podle jejích zastánců i to, že generování kódu
přesahující jedinou platformu ukrývá obrovský potenciál pro snížení nákladů, a
tak mohou být náklady spojené s technologickými změnami výrazně redukovány.
Nejenže dojde ke změně nebo vytvoření zcela nového softwaru, ale také budou
provedeny všechny potřebné změny v modelu vygenerovány nové technologie. Podle
OMG může dojít k redukci nákladů spojených s technologickými změnami až v řádu
dvoumístných procentuálních hodnot. Přitom dojde k současnému zvýšení kvality,
neboť software je vygenerován, a proto mohou být programátorské chyby, jejichž
příčinou bývá zpravidla lidský faktor, do značné míry eliminovány.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.