Vzkříšení kódu: Nové evangelium

I ve velkých, organizovaných a ziskových společnostech bývá takřka na denním pořádku, že vyvíjejí, lépe řečeno...


I ve velkých, organizovaných a ziskových společnostech bývá takřka na denním
pořádku, že vyvíjejí, lépe řečeno znovuvyvíjejí aplikace prakticky od nuly. A
to i přesto, že by koneckonců mohly použít kusy kódu z předchozích projektů,
čímž by se práce podstatně zjednodušila a urychlila.

Faktem je, že s myšlenkou opakovaného použití si vývojáři pohrávají takřka po
celou dobu existence softwaru jako takového. Většina podobných snah však
skončila neúspěchem, neboť neexistovaly spolehlivé způsoby pro identifikaci,
katalogizaci, testování, správu a vyhledávání komponent, které už byly jednou
vytvořeny. V poslední době se však začínají sbližovat jednotlivé technologie,
které vývojářům pomáhají při znovupoužití kódu a komponent bez nutnosti
"objevovat Ameriku" pokaždé, když se pouští do nového projektu. Zejména
očekávaný nástup webových služeb znamená, že aplikace musejí být vyvíjeny jako
komponenty, a postupně se bude vytvářet trh už hotových komponent a svoji roli
bude hrát hostování vývojových prostředků. Podle předpovědí GartnerGroup bude v
roce 2003 až 70 % nových aplikací sestavováno s použitím hotových softwarových
komponent a aplikačních rámců. Výhody znovupoužití
K hlavním výhodám samozřejmě náleží zejména rychlejší vývoj, rostoucí kvalita
softwaru a snižování nákladů.
Opětovné použití již existujících vlastních či koupených komponent redukuje
náklady a programátoři jsou ušetřeni neustálého opakování standardních kroků
při vývoji aplikací, jimiž jsou např. byznysové procesy, procesní toky mezi
komponentami v aplikačním rámci, nebo dokonce testování kódu.
Běžně až 40 % času v typickém vývojovém cyklu je vynakládáno na ladění kódu. Je
tedy zřejmé, že pokud bude možné podobně vysoké procento času ušetřit,
produktivita práce se tím úměrně zvýší.

Webové služby
S tím, jak firmy začínají uvažovat o přechodu na vývoj webových služeb a
implementaci platforem, jako např. Microsoft .NET nebo Sun Java 2 Enterprise
Edition (J2EE), je dobré ustanovit plán či program opakovaného používání.
"Většina zasvěcených je přesvědčena, že např. J2EE je platformou, která bude
hrát významnou roli v dlouhém časovém horizontu, což činí myšlenku opakovaného
použití komponent velmi zajímavou," říká Sanjay Sarathy, ředitel produktového
marketingu ve firmě iPlanet E-Commerce Solutions. Analogicky lze uvažovat i v
případě technologie .NET.
Platforma webových služeb má však z hlediska znovupoužití i další výhody.
Protože jsou webové služby realizovány v podobě komponent dostupných
prostřednictvím Webu, mohou firmy nabízet pouze kód potřebný k provedení určité
specifické funkce a zákazníci nejsou nuceni používat celý proprietární kód dané
aplikace.
Kromě toho tvorba zdrojových kódů založených na komponentách přístupných mnohem
širší části vývojářské komunity by mohla vést ke zvýšení jejich užitečnosti a
tím i poptávky po nich. "Webové služby a komponenty se vzájemně doplňují.
Webové služby se zřejmě stanou klíčovým momentem, pokud jde o opakované použití
kódu," říká Peter OKelly, senior konzultant a analytik firmy Patricia Seybold
Group.
Obchodníci s komponentami
Vedle samotných platforem pro webové služby budou hrát významnou roli pro
opětovné použití komponent ještě 3 další elementy: prodejci vývojových
nástrojů, poskytovatelé aplikací a společnosti, které budou obchodovat s
napsanými částmi kódu.
Výrobci vývojových nástrojů, jako např. Rational Software nebo WebGain, už dnes
nabízejí produkty, které zákazníkům pomáhají při správě kódu, který tak může
být znovu využit. Firmy, které hodlají pracovat s hotovým kódem, ale nechtějí
provádět proces jeho správy na své vlastní půdě, se mohou obracet na některého
z hostitelů, kteří fungují na bázi modelu ASP. Už zhruba v průběhu posledního
roku se objevilo několik hostovaných vývojových služeb a to jak start-upů, tak
mezi zavedenými jmény, včetně společností jako Borland, Compuware, Merant či
zmiňovaný Rational. K těm menším náleží kupříkladu CollabNet, OpenAvenue a
Westside.
Ať už firmy svůj program opakovaného používání outsourcují nebo jej realizují
vlastními silami, mohou svoji strategii doplnit pomocí komponent nabízených na
Webu specializovanými brokery (ComponentSource, Flashline.com atd.).
Týmy opětovného použití
Pro snadnější a efektivnější recyklaci zakládají zvláště větší společnosti
speciální týmy, které se možnostmi opakovaného použití komponent zabývají a
objevují se tak i nové funkce či pracovní zařazení reuse manager nebo reuse
engineer. Firma Pitney Bowes, globální poskytovatel řešení pro správu pošty a
dokumentů, patří k těm, které začaly s recyklací aplikačního kódu dá se říci z
donucení už mnohem dříve, konkrétně v roce 1996. Důvody obvykle spočívají v
rozpočtovém omezení a v (často souvisejícím) nedostatku lidského potenciálu. Po
úspěšném ukončení projektu byl na základě této zkušenosti vytvořen speciální
tým, který se stará o správu existujících komponent a současně zaškoluje a vede
programátory k tomu, aby je vytvářeli s vědomím možnosti opakovaného
upotřebení. Tento tým čítá v případě zmíněné firmy 12 zaměstnanců s plným a 4 s
částečným pracovním úvazkem, přitom produktivita stoupá až o 60 %. Hlavním
cílem je snaha o to, aby se opakované použití hotového kódu stalo běžnou
součástí denní praxe vývojářů.
Stupňování výkonnosti
V typickém případě však firmy nevyvíjejí pouze jednu aplikaci, obvykle je jich
několik. Právě zde se nachází pro komponenty, resp. jejich využití, kritické
místo a to nikoliv v původní aplikaci, ale především v těch ostatních. To
dosvědčuje i Maja Tibblingová, softwarová architektka společnosti ConWay: Cesta
k efektivitě neprobíhala zcela hladce. Např. vývojáři pracující na různých
projektech měli málokdy přehled o tom, čím se právě zabývají jejich kolegové.
Snadno se mohlo stát, že dva z nich nezávisle na sobě současně vytvořili pro
různé projekty komponentu provádějící identickou funkci.
Aby bylo možné takovým problémům účinně předcházet, vytvořila ConWay
metodologii opakovaného použití, v níž existují kontrolní body, kdy vývojáři
zjišťují, zda už existuje kód, který je vhodný pro danou funkci a to ještě před
tím, než celý projekt odstartuje. Navíc byly vytvořeny cesty pro výměnu
informací, které zvyšují povědomí o tom, jaké projekty jsou právě realizovány a
v jaké fázi se nacházejí, takže programátoři mohou využívat existující
komponenty i nabídnout ostatním týmům své vlastní.
"Především je třeba si uvědomit, že opakované použití přináší dosud
nepředstavitelné možnosti a to nejen v rámci jediné společnosti, ale i pro
ostatní firmy," dodává Tibblingová.

Standardy pro vývoj komponent
S rostoucí podporou konceptu opakovaného použití kódu ze strany prodejců i
uživatelů vyplouvá na povrch i potřeba standardizace. Standardy webových služeb
(XML, SOAP, UDDI a WSDL) vývojářům umožní popis, vyhledávání a přístup ke
komponentám vhodným k tomuto účelu.
I tak však vývojáři potřebují určitá vodítka pro tvorbu nových komponent, aby
následně mohly být jednoduše opakovaně použitelné. K tomu by měl sloužit nový
standard, na němž se nyní pracuje umožní popis architektury aplikace i
komponent (webových služeb), které jsou aplikací využívány. Vývoj tohoto
standardu podporují i hlavní hráči na trhu, např. Microsoft, IBM, Rational
Software, Objectools, Flashline.com či ComponentSource.
Firma CompuSource ve spolupráci s Rationalem se zabývá tvorbou Reusable
Component Specification, který je klíčovou součástí Reusable Asset
Specification. Jedná se o nástroj pro popis funkce, kategorizaci, oceňování,
licencování a distribuci komponent.
Rational Software oznámila svůj záměr poskytnout části Reusable Asset
Specification, které budou přijaty jako standard organizací OMG (Object
Management Group). Ta se zabývá vývojem a podporou jazyka UML (Unified
Modelling Language) představujícího souhrn osvědčených praktik pro modelování
rozsáhlých systémů. "Tato iniciativa by měla vést k urychlení vývoje aplikací
za pomoci využití existujících softwarových produktů včetně architektury,
obchodních modelů, fragmentů kódu, testovacích plánů a skriptů atd.," říká Eric
Schurr, viceprezident Rationalu pro marketing. Analytikové potvrzují, že tato
specifikace vede nejen k urychlení samotného vývoje aplikací, ale zjednodušuje
jejich údržbu.
Specifikace umožňuje popsat komponenty tak, že zvláště v rámci větších
společností, kde často pracují programátoři v Javě i pod Windows, není problém
vyhledat a opakovaně použít komponenty, bez ohledu na to, pro jaké byly napsány
platformy.
Někteří z odborníků soudí, že přestože standardy pro komponenty a webové služby
se v mnohém překrývají, je pravděpodobné, že i v budoucnu zůstanou samostatnými
entitami. V některých souvislostech jsou totiž modely komponent vhodnější než
webové služby.
1 0952 / wep









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