facebook LinkedIN LinkedIN - follow
IT SYSTEMS 1-2/2005

Efektivní vývoj aplikací v J2EE



Vývoj aplikací v jazyku J2EE představuje pro každý projektový tým velkou výzvu. Na jedné straně tato architektura nabízí široké možnosti, na straně druhé se musí vývojáři potýkat s celou řadou technologických otázek. Konsorcium Object Management Group (OMG), které má přibližně 800 členů, včetně všech významných IT firem, a jehož hlavním cílem je tvorba specifikací pro podnikové aplikace, klade v současnosti největší důraz na tzv. modelem řízený vývoj (model driven architecture – MDA). I proto OMG vytvořilo standardy pro MDA, jejichž cílem je maximálně zjednodušit a zefektivnit vývoj aplikací v jazyku Java.


Vývojové týmy neustále čelí situacím, jak v krátkém časovém úseku a s omezeným rozpočtem vytvořit komplexní aplikace. Řešením se zdá být jazyk Java, resp. J2EE, s jehož pomocí lze sice vytvářet aplikace se širokými možnostmi využití v rámci podniku, avšak tyto systémy jsou spojeny s řadou technologických problémů. Velké firmy odhadují, že až 80 % času věnovaného vývoji připadá na řešení technologických otázek, čímž se ztrácí drahocenný čas pro samotnou implementaci. Proto je nezbytné hledat řešení, která podstatně zvýší produktivitu vývoje softwaru. A právě zde se otevírá prostor pro přístup MDA. Nezávislý průzkum agentury Middleware prokázal, že při používání této architektury dochází ke zvýšení produktivity při vývoji aplikací v průměru o 35 %, přičemž v určitých fázích je to až o 70 %. Z průzkumu rovněž vychází, že při použití přístupu MDA lze ušetřit až 40 % času potřebného pro vývoj aplikací.

Rozdělení vývoje aplikace do nezávislých fází
Konsorcium OMG svojí standardizací architektury MDA dává vývojářům návod, jak rychleji vyvíjet důležité firemní aplikace, které lze navíc v případě potřeby nejrůznějšími způsoby modifikovat přesně podle aktuálních požadavků. Přístup MDA rozděluje samotný vývoj aplikace do tří samostatných fází a odděluje aplikační logiku od samotné implementace technologie, čímž zajišťuje rychlejší vývoj. Společnosti využívající MDA (resp. standardy MDA) tak snáze překonávají problémy integrace softwaru a nových platforem a zároveň optimalizují investice do stávajících firemních procesů a platforem. Při použití přístupu MDA lze navíc opakovaně využívat a kombinovat různé části různých aplikací, čímž dochází ke snižování nákladů a složitosti při vývoji softwaru. Při vývoji nejdříve vytvoříme model nezávislý na platformě (platform independent model - PIM), v němž se modelují struktury a funkce aplikace a nezohledňuje se, jak bude probíhat technologická implementace. Model PIM se poté převede do modelu závislého na platformě (platform specific model - PSM), ve kterém se již přihlíží k technologickým aspektům platformy, na níž aplikace poběží. Významným aspektem je, že z jednoho modelu PIM je možné odvodit více modelů PSM, což vede ke snižování nákladů a maximálnímu využití použitých zdrojů. Samotná implementace pak probíhá na základě architektur COBRA, .NET nebo J2EE. I na úrovni PSM se ještě pracuje a modeluje pomocí jazyka UML (Unified Modelling Language). Až po dokončení modelu PSM se generuje samotný kód aplikace (code model).




Rychlá transformace pomocí šablon
Vzhledem k tomu, že pro transformaci z modelů PIM do PSM existují přesná pravidla, je možné využít modelem řízený vývoj s využitím šablon (model-driven pattern-based - MDPB). Tím se minimalizuje množství manuálního zadávání a samotný převod je ve vysoké míře zautomatizovaný. Navíc lze prostřednictvím editoru vytvořit vlastní šablony pro generování kódu, které dále zefektivňují celý proces a snižují náklady.

Jako příklad si vezměme řešení OptimalJ společnosti Compuware. To využívá přístup MDA pro vývoj aplikací pro platformu J2EE. Integruje výhody MDA a zároveň využívá šablony, čímž zbavuje vývojáře opakujících se úkolů. S řešením OptimalJ se vytvoří model PIM a také v něm lze provádět import z externích modelových nástrojů na bázi jazyku UML. Generátor pak využívá šablony pro plně automatický převod modelů PIM do PSM a samozřejmě je zde prostor pro další modifikaci podle aktuálních požadavků. Generátor dále vytvoří z modelu PSM kompletní kód modelované aplikace v jazyku Java. I zde se používají šablony, které popisují kompletní převod z modelu PSM na kód. Veškerá modelová data z OptimalJ se ukládají podle standardu OMG na bázi MOF (meta-object facility), čímž se dosahuje podstatného zjednodušení při vytváření nových šablon. Compuware OptimalJ představuje řešení pro komplexní vývoj aplikací na bázi J2EE s využitím přístupu MDA a jeho možnosti použití významně rozšiřuje možnost vytvoření vlastních šablon. Pro podporu integrace mainframových aplikací lze pomocí OptimalJ naimportovat zdrojový kód Cobolu a potom vygenerovat potřebné modelové informace pro modely PIM a PSM. Přístup model driven architecture je jednou z možností, jak maximálně zefektivnit vývoj aplikací v jazyku Java. Díky rozfázování vývoje do relativně nezávislých částí dochází k maximálnímu využití zdrojů a zkrácení samotného procesu. Vytvořené modely navíc nejsou určeny pro jednorázové použití, ale - i díky možnostem jejich modifikace - je lze dále používat. Nasazení šablon dále významně zrychluje vývoj aplikací a vývojové týmy neztrácejí čas manuálním zadáváním dat. Editace šablon podle vlastních požadavků je dalším aspektem pro zjednodušení a zrychlení vývoje.

Článek byl zpracován na základě podkladů společnosti Compuware.
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

Pět způsobů, jak AI změní náš svět k nepoznání

AI_analyzuje_data-PR.jpegUmělá inteligence (AI) a strojové učení (ML) přináší už více než 10 let podnikům i výzkumníkům stále možnosti. Ať už jde o využití prediktivní analýzy k předvídání údržby zařízení, nástroje počítačového vidění, které dávají oči robotům na automatických montážních linkách, nebo digitální dvojčata sloužící k simulaci fungování továren, měst, a dokonce i celých ekonomik, seznam aplikací poháněných AI je dlouhý a stále se prodlužuje.