Java a webové služby

Jak již bylo mnohokrát řečeno, webové služby představují velkou naději pro podniky, které hledají lepší strategii...


Jak již bylo mnohokrát řečeno, webové služby představují velkou naději pro
podniky, které hledají lepší strategii pro integraci svých aplikací a dat a
jejich provázání s aplikacemi a daty svých obchodních partnerů. Kombinace jedné
ze silných stránek Javy její platformové nezávislosti s technologií XML pak
představuje poměrně hladkou cestu k rychlému zapojení webových služeb do
reálného provozu.
V dnešním tématu se hodláme blíže věnovat moderním vývojovým nástrojům
konkrétně se v tomto případě bude jednat právě o platformu zmiňované Javy a jak
dokazují všechny popsané nástroje, jejich výrobci jsou na podporu webových
služeb v podnikové infrastruktuře dobře připraveni a mohou nabídnout vysoce
produktivní a z hlediska nákladů přijatelná řešení.
To potvrzuje i bližší pohled na zde podrobněji popisované nástroje JBuilder 6,
JDeveloper 4, a Forte for Java 3.
Stejným směrem se ubírají i další výrobci: Trend webových služeb následuje
kupříkladu SilverStream se svým nástrojem eXtend Workbench 1.1, v němž lze pro
zjednodušení tvorby webových služeb využívat wizardů.
To vše jsou příklady na Javě založených řešení, která jsou už dnes dostupná a
umožní firmám okamžitě začít s webovými službami pracovat. Všudypřítomnost
javové platformy ve spolupráci s nástroji, které výrazně zvyšují produktivitu
(mezi ně patří i ty, které si popíšeme zde), dávají jasnou odpověď těm, kdož se
ptají, proč je kombinace Javy a webových služeb ve světě byznysu smysluplná.

Moderní nástroje pro rychlý vývoj
Platforma Javy si získává v podnikovém prostředí stále větší popularitu a proto
je jenom logické, že vývojáři potřebují nástroje odpovídající kvality, které
jim pomohou využít její potenciál pro zrychlení obchodních procesů firem.
Následující řádky napoví mnohé o tom, jak mohou současné vývojové nástroje
přispět ke zvýšení produktivity a snížení nákladů na vývoj podnikových aplikací.
Java i webové služby patří k fenoménům, o kterých lze bez nadsázky říci, že
měly, mají a nepochybně ještě budou mít výrazný vliv na vývoj světa aplikačního
softwaru. Tomu odpovídají i snahy výrobců nabízejících nástroje, které
programátorům pomáhají k dosažení vyšší produktivity při vývoji aplikací:
Jedním ze společných rysů posledních verzí vývojových nástrojů je proto právě
podpora pro rychlý a snadný vývoj a implementaci web services.
Následující popis některých populárních řešení pro vývoj aplikací v Javě od
předních firem v této oblasti leccos napoví o tom, kterým směrem se obecně
vývojové nástroje pro tuto platformu ubírají.

Borland JBuilder 6
Vedle dobrého editoru kódu, překladače a debuggeru potřebují vývojáři taktéž
nástroje, které jim umožní navrhovat, testovat a vytvářet dokumentaci ke svému
kódu. Použití několika samostatných (neintegrovaných) nástrojů může výrazně
zvýšit dobu potřebnou pro dokončení vývojového projektu informace musejí být
vždy přenášeny z jednoho nástroje do druhého.
Borland odvedl dobrou práci zejména pokud jde o integraci nejrůznějších
nástrojů do své poslední verze javového IDE (integrated development enviroment)
JBuilder 6 Enterprise. S touto verzí mohou vývojáři psát kód, debuggovat jej a
nasazovat jako obvykle. Mohou však rovněž využívat vestavěných UML (Unified
Modeling Language) nástrojů pro posílení fáze návrhu projektu, integrovaných
nástrojů pro tvorbu a provádění testů nebo wizardů, které pomáhají při
generování javové dokumentace (Javadoc souborů) z kódu.
Borland v JBuilderu nabízí velké množství detailní on-line dokumentace, která
tak vlastně doplňuje dokumentaci, jež je součástí celého balíku. Zkušení
programátoři i vývojáři, kteří s Javou teprve začínají, mají k dispozici
množství informací a tutoriálů týkajících se problematiky IDE prostředí, jazyka
Java a různých souvisejících oblastí, jako je např. vývoj databázových a XML
aplikací.
Podpora UML je v JBuilderu integrována přímo do IDE a znamená přímou konkurenci
např. pro zde popisovaný Oracle9i JDeveloper 4, který možnosti UML taktéž
nabízí. Po zkompilování kódu testovací e-commerce aplikace jsme jednoduše
kliknutím na UML pole v pracovním prostoru JBuilderu mohli procházet všechny
části aplikace prostřednictvím vestavěného UML browseru. UML prohlížeč
programátorům umožňuje procházet UML diagramy a browsovat balíky a třídami.
Další zajímavou novinkou (dostupnou z UML diagramů a z editoru) je podpora pro
refactoring kódu. JBuilder umožňuje tzv. rename a move refactoring. Rename
refactoring dává vývojářům možnost měnit jméno balíku, třídy, pole, lokální
proměnné nebo metody a ujistit se, že veškeré reference k nově pojmenovaným
položkám byly korektně aktualizovány. Move refactoring je dostupný pouze pro
třídy a dává programátorům možnost přemístit top-level public class do nového
balíku. Obě popisované funkce při našem testování pracovaly bezchybně.
Tvorba kódu pro unit testing se může snadno stát jednou z časově
nejnáročnějších částí vývojového cyklu. Borland do JBuilderu 6 integroval
testovací framework JUnit (www.junit.org) a připojil několik užitečných
testovacích funkcí, které mohou podstatně snížit dobu strávenou tvorbou a
prováděním testů. Poté, co jsme definovali testovací případy, využili jsme
wizard Test Suite, s jehož pomocí jsme vytvořili sestavu testů pokrývajících
všechny případy. Přitom jsme mohli testy spouštět z IDE JBuilderu a přezkoušet
jejich výstupy. K užitečným funkcím patří zejména Comparison Fixture umožňující
srovnávání výsledků po několikerém provedení testů.
Významnou vlastností je také podpora vývoje aplikací s využitím komponent
Enterprise JavaBeans (EJB 1.1 a 2.0), které lze spouštět a ladit přímo v IDE.
Pro tvorbu komponent jsou zde nové vizuální nástroje, které ji podstatně
usnadní a urychlí.
Vývojáři mají dále možnost svůj kód kvalitně zdokumentovat, JBuilder 6 má totiž
integrovánu podporu pro Javadoc, nástroj vytvořený společností Sun Microsystems
za účelem generování dokumentace do souborů formátovaných jazykem HTML.
Podniky, které mají v úmyslu používat JBuilder pro tvorbu webových služeb, si
mohou z webu výrobce (www.borland.com/jbuilder/webservices) stáhnout Web
Services Kit for Java. Kit, který je v současnosti volně dostupný v předběžné
verzi, podporuje standardy SOAP, UDDI a WSDL. Vyzkoušeli jsme jeho použití při
generování WSDL z javového kódu a poté jsme webové služby zveřejnili a
alokovali pomocí vestavěného UDDI Exploreru.
Závěrem lze říci, že JBuilder bude dobrou investicí pro firmy, které chtějí
zvýšit produktivitu programátorů a snížit náklady na vývoj. K jeho silným
stránkám patří zmiňovaná integrovaná podpora pro UML, vestavěné testovací
nástroje JUnit, podpora pro tvorbu Javadoc dokumentace a refactoring kódu, ale
i kvalitní dokumentace.

Oracle9i JDeveloper 4
Jestliže počítáte s webovými službami jakožto s důležitou součástí vaší IT
strategie pro následující období, budete především potřebovat vhodné nástroje,
které vašim vývojářům umožní jejich rychlý vývoj a implementaci. Pro podniky,
které využívají platformu Javy, existuje už dosti slušná nabídka takových
produktů patří mezi ně jak výše uvedený JBuilder, tak Oracle9i JDeveloper 4,
který je součástí balíku Oracle9i Developer Suite společnosti Oracle.
Nejnovější verze javového IDE nabízí kromě podpory tvorby a implementace
webových služeb i mnohá další vylepšení.
Krokem ke snazšímu přijetí JDeveloperu ze strany většího počtu vývojářů je to,
že IDE bylo v nové verzi přepsáno v Javě (což např. Borland učinil již v
JBuilderu 4). V IDE je však integrováno tolik funkcionality, že snadno může
dojít k situaci, kdy méně zkušení vývojáři nebudou vědět, kde začít. Oracle by
měl v budoucnu zaměřit větší pozornost i na vývojáře, kteří jeho IDE neznají.
Metafora používaná v JBuilderu s možností rychlých skoků ve zdrojovém kódu,
dokumentace, diagramy atd. umožňují rychlejší práci než v JDeveloperu použitá
Document Bar a stromová metafora.
Jestliže si však odmyslíme problémy s navigací v JDeveloperu, najdeme v této
verzi několik příjemných novinek. Za nejdůležitější lze považovat podporu
tvorby a nasazení webových služeb. IDE obsahuje Web Services Publishing wizard,
který vývojářům usnadňuje tvorbu deskriptorů nasazení a WSDL nezbytné pro
publikování webových služeb. Je tak možné rychle definovat, které třídy chcete
veřejně publikovat jako webové služby avšak byli jsme schopni je použít jen v
prostředí Oracle9i Application Server a Apache SOAP Server s defaultními
volbami v IDE.
Podobně jako JBuilder i JDeveloper 4 zahrnuje integrovanou podporu pro UML
diagramy, lze tak rychle vytvářet diagramy aktivit a tříd. Zkonstruovali jsme
několik diagramů tříd a zjistili jsme, že podpora UML v JDeveloperu je na
stejné úrovni jako podpora v JBuilderu, vývojáři proto mohou používat UML
funkce pro zefektivnění návrhu aplikací i webových služeb.
JDeveloper také obsahuje užitečné nástroje pro programátory zabývající se
tvorbou EJB (Enterprise JavaBeans) ti mohou např. jednoduše provádět reverzní
inženýring databázových tabulek do CMP (Container Manager Persistence) Entity
Beans. Líbila se nám především možnost testovat Enterprise JavaBeans v
prostředí IDE. JDeveloper dále obsahuje i funkce, s nimiž lze provádět
optimalizaci výkonu díky třem vestavěným profilovacím nástrojům se nám naše
aplikace podařilo výrazně zrychlit.
Vývojové týmy pravděpodobně ocení také vestavěnou podporu pro kontrolu zdrojů
zajišťovanou IDE JDeveloperu. Oracle dodává svůj vlastní nástroj pro management
zdrojů, ale podporuje i jiná řešení, např. ClearCase společnosti Rational a
všudypřítomný CVS (Concurrent Versioning System). Nastavení a použití veškerých
nabízených funkcí spojených s kontrolou zdrojů nám nečinilo žádné problémy.
Oracle9i JDeveloper 4 opět podporuje Javadoc pro generování dokumentace
zdrojového kódu formátované v HTML, který umožňuje generování Javadoc souborů
přímo v IDE. JDeveloper obsahuje také funkce pro rename a move refactoring
jejich úroveň jsme opět shledali srovnatelnou s JBuilderem.
Jak možná očekáváte, JDeveloper je dobře vybaven i pro vývoj databázových
aplikací. Dostupné funkce jsme vyzkoušeli pro připojení k několika zdrojům dat.
Oracle poskytuje podporu JDBC (Java Database Connectivity) pro svoji vlastní
databázi a stejně tak podporu JDBC driverů třetích stran nebo JDBC-ODBC most.
Méně zkušení vývojáři, kteří dosud nebyli zvyklí používat IDE, asi s
JDeveloperem zažijí několik těžších chvilek, avšak nabízené funkce, podpora
webových služeb, XML, SQL a J2EE jsou zase přesvědčivými faktory mluvícími ve
prospěch Oraclu. K jeho kladům dále patří podpora UML či optimalizační
nástroje, omezení pak představuje zmiňovaná podpora aplikačních serverů.

Sun Forte for Java 3.0
Také poslední verze produktu Forte for Java 3.0 Enterprise Edition, javového
IDE společnosti Sun Microsystems, přináší mnoho užitečných funkcí, vlastností a
nástrojů, které firemním vývojářům usnadní práci na podnikových projektech
realizovaných v Javě.
Zřejmě největší novinkou je (stejně jako u předchozích IDE) modul pro tvorbu
webových služeb, který umožňuje jednoduše provázat javové technologie s XML
použitím wizardů tvorba (i dosti komplexních) web services je tak poměrně
nekomplikovaná. S Forte for Java lze sestavovat webové služby definováním uzlů
a následným přidáním XML operací, Java archivů a dokumentů pro jejich podporu.
Po jejich zkonstruování lze s pomocí příslušných funkcí vygenerovat kód
potřebný pro jejich spouštění, nechybějí ani nástroje pro zařazení služeb do
webových registrů.
V poslední verzi Forte je třeba ocenit také podporu transparentní perzistence
(založenou na standardu JDO, Java Database Object), která vývojářům umožňuje
přístup a manipulaci s daty použitím konstruktů Javy namísto specifických
databázových metod jako SQL, což by mělo přispět k výraznému zjednodušení
tvorby databázových aplikací.
Samozřejmostí je i ve Forte podpora rychlé tvorby EJB pomocí wizardů včetně
schopnosti iterativního testování EJB komponent. Je možné také jednoduše a
rychle vytvářet a nasazovat testovací aplikace pro ověření EJB. Nechybí ani
možnost jednoduché tvorby Javadoc dokumentace. Vytknout bychom tomuto nástroji
mohli to, že pro méně zkušené vývojáře možná nebude nejjednodušší se v IDE ze
začátku zorientovat.
Ať už Forte běželo pod Solarisem, Windows nebo Linuxem, vždy jsme museli ocenit
jeho rychlost. Podobně jako JBuilder i Forte for Java podstatně zjednodušuje
nasazení aplikací a služeb na aplikačních serverech ve střední vrstvě
podporováno je několik serverů včetně např. iPlanet.









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