home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 March / Chip_2002-03_cd1.bin / obsahy / Chip_txt / txt / 146-149.txt < prev    next >
Text File  |  2002-02-03  |  16KB  |  75 lines

  1.  
  2. Forte for Java 3 Enterprise Edition
  3. Silnß kßva
  4. NestaΦφ jen p°ivΘst dφt∞ na sv∞t, je t°eba se o n∞ i dßle starat. P°φkladnou rodiΦovskou pΘΦi o jazyk Java je nutno p°iznat firm∞ Sun Microsystems, kterß zaΦßtkem zß°φ 2001 p°edstavila sv∙j dalÜφ nßstroj pro v²voj javovsk²ch aplikacφ: Forte for Java 3.
  5.  
  6. Forte for Java (FFJ) je produktem pra₧skΘ softwarovΘ firmy NetBeans, kterou nynφ zcela vlastnφ Sun Microsystems. Program existuje ve t°ech provedenφch, to zßkladnφ se vÜak nejmenuje Forte for Java, ale NetBeans, je k dispozici zdarma vΦetn∞ zdrojovΘho k≤du a lze si ho stßhnout z internetu. Obsahuje integrovanΘ v²vojovΘ prost°edφ vΦetn∞ vizußlnφch v²vojov²ch nßstroj∙, nßstroje pro lad∞nφ, nßstroje pro vytvß°enφ distribuovan²ch aplikacφ podle standardu CORBA a dalÜφ. 
  7. RozÜφ°enΘ provedenφ, oznaΦenΘ Forte for Java Community Edition, je takΘ zdarma; za sv∙j vznik ·dajn∞ vd∞Φφ tomu, ₧e n∞kte°φ investo°i necht∞jφ svΘ podnikßnφ zaklßdat na produktech typu open source. Jeho v²vojovΘ prost°edφ je prakticky toto₧nΘ s prost°edφm NetBeans (navφc jsou tu p°edevÜφm nßstroje pro tvorbu internetov²ch aplikacφ a databßzov² server PointBase), avÜak v²robce pro n∞ zaruΦuje veÜkerou podporu. Je samoz°ejm∞ takΘ vhodnΘ pro v²uku programovßnφ v Jav∞.
  8. Teprve za provedenφ Enterprise Edition se platφ. (V materißlech firmy Sun se °φkß, ₧e FFJ je i v tomto provedenφ zdarma a platφ se pouze za p°idanΘ funkce, jako je modul pro EJB.) Je urΦeno pro tvorbu podnikov²ch aplikacφ a k p°edchozφmu p°idßvß WebServices, J2EE a nßstroje pro tvorbu Enterprise JavaBeans. 
  9. Tento Φlßnek vychßzφ ze zkuÜenostφ s 60dennφ zkuÜebnφ verzφ Forte for Java 3 Enterprise Edition.
  10.  
  11. V²vojovΘ prost°edφ
  12. IntegrovanΘ v²vojovΘ prost°edφ (IDE) p°edstavuje vlastn∞ u₧ivatelskΘ rozhranφ v²vojovΘho nßstroje a jeho kvality Φasto rozhodujφ o pou₧itelnosti celΘho produktu. IDE FFJ se sklßdß z °ady oken, kterß lze zobrazovat bu∩ jako aplikaci s rozhranφm SDI (jednotlivß "volnß" okna) nebo MDI (jedno hlavnφ okno v sob∞ obsahuje vÜechna ostatnφ). Hlavnφ okno obsahuje nabφdku, paletu s vizußlnφmi a nevizußlnφmi komponentami JavaBeans, nßstrojov² panel atd. DalÜφ okna obsahujφ editor zdrojovΘho k≤du, vizußlnφ nßvrh aplikace, inspektor komponent (okno, v n∞m₧ lze nastavovat vlastnosti komponent), nßstroje pro navigaci v projektu atd.
  13. Editor zdrojovΘho k≤du pochopiteln∞ zv²raz≥uje syntaxi, a to nejen v Jav∞, ale i v IDL, XML, HTML a v dalÜφch jazycφch, s nimi₧ se lze v projektech ve FFJ setkat. Barevn∞ takΘ odliÜuje Φßsti k≤du, kterΘ lze editovat, a automaticky generovanΘ Φßsti, kterΘ editovat nelze. Mezi drobnosti zp°φjem≥ujφcφ prßci s tφmto editorem pat°φ nap°. Φφslovßnφ °ßdk∙, kterΘ usnad≥uje orientaci ve zdrojovΘm k≤du. NapφÜeme-li v tomto editoru jmΘno instance n∞jakΘ t°φdy a za n∞ p°ipojφme teΦku, nabφdne nßm v "bublin∞" seznam metod a datov²ch slo₧ek, kterΘ m∙₧eme pou₧φt. P°φmo z IDE si lze takΘ prohlφ₧et dokumentaci generovanou pomocφ programu javadoc.
  14. Poznamenejme, ₧e zßkladem IDE je vφce·ΦelovΘ jßdro, kterΘ se mj. starß o sprßvu soubor∙ a oken. K tomuto jßdru lze p°es otev°enΘ aplikaΦnφ rozhranφ (open APIs) podle pot°eby p°ipojovat dalÜφ moduly. Standardn∞ je takto p°ipojen editor, p°ekladaΦ Javy, ladicφ modul, nßstroje pro prßci s JSP, program javadoc, program pro sprßvu verzφ (CVS) a dalÜφ. Lze tak p°ipojit i u₧ivatelsky vytvo°enΘ moduly; existuje pr² nap°. modul (vyvinut² jako studentskß prßce), kter² umo₧≥uje pracovat v tomto IDE s jazykem C++. AplikaΦnφ rozhranφ umo₧≥uje integrovat do IDE mj. i populßrnφ editor Emacs, znßm² p°edevÜφm z prost°edφ Linuxu.
  15. Toto jßdro lze vyu₧φt samostatn∞ a vytvo°it si tak vlastnφ IDE; lze je ale vyu₧φt i k ·pln∞ jin²m ·Φel∙m, t°eba i jako aplikaΦnφ platformu - tedy jako zßklad vlastnφch aplikacφ. (Kdosi nad nφm nap°. vybudoval nßstroj CASE zalo₧en² na modelovacφm jazyku UML.)
  16.  
  17. Vizußlnφ a nevizußlnφ v²voj
  18. Princip vizußlnφho v²voje aplikacφ pomocφ komponent JavaBeans ve FFJ je v podstat∞ stejn² jako ve v∞tÜin∞ podobn²ch nßstroj∙. To znamenß, ₧e na palet∞ v hlavnφm okn∞ vybereme myÜφ po₧adovanou komponentu a klepnutφm ji vlo₧φme do vizußlnφho nßvrhu okna. Vlastnosti komponent (barvu, polohu, velikost, pφsmo a dalÜφ) pak m∙₧eme upravit v okn∞ inspektoru komponent. 
  19. IDE FFJ ihned generuje odpovφdajφcφ zdrojov² k≤d. To znamenß, ₧e neuklßdß kroky vizußlnφho v²voje do pomocn²ch soubor∙, z nich₧ by se teprve pozd∞ji - nap°. p°i ulo₧enφ nebo p°ed p°ekladem - vytvß°el k≤d. (Tak to d∞lß nap°. PowerJ nebo VisualAge for Java.) IDE zobrazuje existujφcφ k≤d, a to cel² - co₧ bohu₧el o n∞kter²ch konkurenΦnφch nßstrojφch °φci nelze. P°i prßci s udßlostmi vytvß°φ IDE kostry handler∙ (obslu₧n²ch metod) a takΘ registruje p°φjemce udßlostφ. 
  20. IDE takΘ umo₧≥uje automaticky generovat nejΦast∞jÜφ operace. K tomu pou₧φvß tzv. propojenφ: Vybereme komponentu a v hlavnφm okn∞ stiskneme tlaΦφtko, kter²m vyvolßme propojovacφho Üamana (Connection Wizard). Ten se pomocφ n∞kolika dialogov²ch oken vyptß na vÜe pot°ebnΘ a pak vytvo°φ odpovφdajφcφ k≤d. Tak lze nap°. bez napsßnφ jedinΘho °ßdku k≤du naprogramovat, ₧e po stisknutφ tlaΦφtka se z textovΘho pole, tj. z komponenty JTextField, p°enese napsan² text do seznamu, tj. do komponenty JList. (S podobn²m nßstrojem je mo₧nΘ se setkat ve VisualAge for Java od IBM, kterΘ ale p°i generovßnφ k≤du vyu₧φvß pomocnΘho souboru.)
  21. U₧ bylo °eΦeno, ₧e IDE barevn∞ odliÜuje automaticky generovanΘ Φßsti k≤du, kterΘ nelze  editovat, a Φßsti, kterΘ jsme napsali "ruΦn∞" a kterΘ editovat lze. Chceme-li automaticky generovanΘ Φßsti k≤du zm∞nit nebo odstranit, musφme k tomu pou₧φt vizußlnφch nßstroj∙. FFJ tedy nenφ dvoucestn² v²vojov² nßstroj.
  22.  
  23. Generovan² k≤d
  24. Zdrojov² k≤d se tedy p°i vizußlnφm programovßnφ v IDE generuje ihned a editor jej cel² zobrazuje. Vytvo°en² k≤d je zalo₧en na b∞₧n²ch nßvrhov²ch vzorech pro Javu 2. To znamenß, ₧e nap°. o ukonΦenφ aplikace p°i uzav°enφ hlavnφho okna se postarß metoda anonymnφ instance anonymnφ vnit°nφ t°φdy, kterß je potomkem standardnφ t°φdy WindowAdapter. (Pokud vßm to p°ipadß samoz°ejmΘ, pak v∞zte, ₧e nap°. JBuilder - i kdy₧ vyu₧φvß JDK 1.3 a knihovnu Swing - generuje k≤d z JDK 1.0: nejprve povolφ vznik udßlostφ v okn∞ a pak p°edefinuje chrßn∞nou metodu processWindowEvent(). V PowerJ zase t°φda okna implementuje rozhranφ WindowListener a registruje se jako p°φjemce udßlostφ. V d∙sledku toho obsahuje t°φda okna zpravidla °adu prßzdn²ch metod uvedenΘho rozhranφ.)
  25. Obsluha b∞₧n²ch udßlostφ - nap°. stisknutφ tlaΦφtka - je ve FFJ op∞t zalo₧ena na anonymnφch vnit°nφch t°φdßch, jejich₧ metody volajφ skuteΦn² handler (typicky metodu okna). Ani tento postup nenφ ·pln∞ samoz°ejm², nebo¥ nap°. v PowerJ implementuje t°φda okna pot°ebnΘ rozhranφ, nap°. ActionListener, a okno se registruje jako p°φjemce udßlostφ.
  26. ╚eskΘ znaky s diakritick²mi znamΘnky (nap°. nßpisy na komponentßch) se do zdrojovΘho k≤du v₧dy uklßdajφ v podob∞ °φdicφch sekvencφ UNICODE, co₧ nenφ p°φliÜ p°ehlednΘ, zaruΦuje to vÜak kompatibilitu p°i p°echodu do jin²ch prost°edφ.
  27. Dopl≥me, ₧e vytvo°en² k≤d je pom∞rn∞ velmi p°ehledn²; nejspφÜ jde o v²sledek tlaku danΘho tφm, ₧e IDE k≤d zve°ej≥uje ihned a cel².
  28.  
  29. Java
  30. FFJ pochopiteln∞ podporuje JDK 1.2. ZajφmavΘ ale je, ₧e JDK nenφ souΦßstφ instalace, musφme si je instalovat zvlßÜ¥. Pro instalaci IDE je nezbytnΘ mφt na cφlovΘm poΦφtaΦi nejprve instalaci Java 2 SDK verze 1.3.1.
  31. Pokud mßme na cφlovΘm poΦφtaΦi n∞kolik instalacφ JDK, m∙₧eme si ve FFJ kdykoli p°edepsat, kterou z nich chceme p°i v²voji pou₧φvat. Vytvo°enΘ aplikace bez problΘm∙ zvlßdajφ ΦeÜtinu; nenφ tedy t°eba upravovat soubor font.properties.
  32.  
  33. Databßze
  34. Podobn∞ jako jinΘ vizußlnφ v²vojovΘ nßstroje zalo₧enΘ na jazyce Java, i FFJ obsahuje prost°edky, kterΘ usnad≥ujφ v²voj databßzov²ch aplikacφ. Jejich zßkladem jsou p°edevÜφm komponenty vyu₧φvajφcφ JDBC, a to vizußlnφ a nevizußlnφ; najdeme je na strßnce JDBC palety komponent. 
  35. Vizußlnφ databßzovΘ komponenty jsou "obyΦejnΘ" komponenty Swing (JCheckBox, JTable, JList aj.), kterΘ prost°ednictvφm p°ipojenΘho datovΘho modelu zobrazujφ informace z databßzov²ch tabulek a umo₧≥ujφ s nimi manipulovat. 
  36. Nevizußlnφ databßzovΘ komponenty jsou komponenty JavaBeans, kterΘ zachßzejφ s daty ulo₧en²mi v databßzφch. P°edstavujφ p°ipojenφ k databßzi, sdφlenΘ p°ipojenφ (pooled connection), ulo₧enΘ procedury, databßzov² navigßtor, r∙znΘ varianty datovΘ mno₧iny (rowset) a dalÜφ. Poznamenejme jeÜt∞, ₧e jedna z variant tΘto komponenty umo₧≥uje import a export dat ve formßtu XML.
  37. Pro vytvß°enφ oken databßzov²ch aplikacφ ve FFJ pomßhß Üaman (JDBC Form Wizard), kter² se postarß o navßzßnφ spojenφ, zprost°edkuje volbu databßzov²ch tabulek a pohled∙, urΦφ ·rove≥ izolace v transakcφch, zeptß se, kterΘ sloupce z tabulek chceme zobrazovat atd., a na zßklad∞ toho vytvo°φ odpovφdajφcφ k≤d.
  38. Vedle toho je ve FFJ k dispozici transparentnφ perzistence (Transparent Persistence); za tφmto oznaΦenφm se skr²vß mo₧nost zobrazovat data v relaΦnφch databßzφch dostupn²ch pomocφ JDBC jako objekty jazyka Java a tak s nimi i manipulovat, ani₧ bychom museli znßt SQL, JDBC API atd. Pomocφ transparentnφ perzistence se jednotlivΘ sloupce z tabulky zobrazφ do javovsk²ch objekt∙ p°eddefinovan²ch t°φd. Vztahy mezi daty v r∙zn²ch tabulkßch zalo₧enΘ na vn∞jÜφch klφΦφch se p°evedou na vztahy mezi objekty zalo₧enΘ na referencφch nebo vytvo°enΘ ulo₧enφm v jednom kontejneru.
  39. Dodejme, ₧e souΦßstφ instalace FFJ (u₧ i v Community Edition) je relaΦnφ databßzov² server PointBase Network Edition 3.5 spolu s administraΦnφmi nßstroji. Tento server lze pou₧φt p°edevÜφm pro ·Φely v²voje a testovßnφ databßzov²ch aplikacφ.
  40.  
  41. CORBA
  42. Podpora tvorby distribuovan²ch aplikacφ podle standardu CORBA je souΦßstφ vÜech verzφ FFJ vΦetn∞ NetBeans. Jak je obvyklΘ, obstarajφ v∞tÜinu prßce Üamani, kte°φ vytvo°φ pot°ebn² k≤d. Vedle toho IDE vyu₧φvß slu₧eb objektovΘ sb∞rnice (ORB) k p°ipojenφ ke jmennΘ slu₧b∞ a k Interface Repository. Implicitn∞ pracuje s implementacφ OpenORB, lze ho vÜak p°epojit na libovolnou implementaci vyhovujφcφ standardu OMG CORBA 2.3.
  43. Vzhledem k tomu, ₧e r∙znΘ implementace objektovΘ sb∞rnice nejsou v₧dy navzßjem zcela kompatibilnφ, nabφzφ FFJ kompatibilitu se 13 nejΦast∞ji pou₧φvan²mi; z nich uve∩me alespo≥ (v abecednφm po°adφ) CORBA J2EE, JavaORB 2.2.x, JDK 1.2 a JDK 1.3, Orbix, VisiBroker 3.4 a 4.x.
  44.  
  45. Enterprise JavaBeans
  46. Na komponenty Enterprise JavaBeans (EJB) se m∙₧eme dφvat jako na panely, z nich₧ jsou budovßny dneÜnφ vφcevrstvΘ podnikovΘ aplikace. S trochou zjednoduÜenφ m∙₧eme °φci, ₧e to jsou komponenty JavaBeans, kterΘ implementujφ jistß p°edepsanß rozhranφ. Obsahujφ aplikaΦnφ nebo prezentaΦnφ logiku, starajφ se o spoluprßci s databßzemi, servery, o p°φstup ke klient∙m atd. Komponenty EJB lze pou₧φvat jedin∞ tak, ₧e je spolu s dalÜφmi souvisejφcφmi komponentami ulo₧φme do modulu EJB a umφstφme v tzv. aplikaΦnφm serveru.
  47. Typick² aplikaΦnφ server funguje jako kontejner pro EJB, zprost°edkovßvß komunikaci prost°ednictvφm standardu CORBA a funguje takΘ jako webov² server s podporou Javy (tj. umo₧≥uje i b∞h servlet∙ a JSP). P°φkladem takovΘho serveru je iPlanet od firmy Sun Microsystems, kter² ale nenφ souΦßstφ dodßvky FFJ. (Pro v²voj a lad∞nφ EJB ovÜem nenφ aplikaΦnφ server nezbytn².) 
  48. SouΦßstφ FFJ Enterprise Edition je i referenΦnφ implementace EJB pro J2EE, co₧ je kontejner pro EJB, kter² pro lad∞nφ EJB pln∞ dostaΦuje. Vedle toho ovÜem obsahuje IDE plug-in pro server iPlanet, tak₧e pokud je k dispozici, m∙₧eme jej vyu₧φt.
  49.  
  50. Aplikace pro web
  51. Mezi aplikacemi pro web se dnes t∞Üφ asi nejv∞tÜφ popularit∞ servlety a strßnky JSP. Je tedy pochopitelnΘ, ₧e FFJ podporuje jejich v²voj (vΦetn∞ nap°. vytvß°enφ knihoven u₧ivatelsk²ch znaΦek). SouΦßstφ instalace je webov² server Apache Tomcat 3.2, kter² lze pou₧φvat bu∩ jako mal² samostatn² webov² server, nebo jako dopln∞k k webovΘmu serveru Apache. P°i lad∞nφ servlet∙ a JSP ve FFJ jej lze vyu₧φvat p°φmo z IDE.
  52. Ve skuteΦnosti se servlety, strßnky JSP a jinΘ webovΘ komponenty (javovskΘ komponenty b∞₧φcφ na stran∞ webovΘho serveru) sdru₧ujφ do webov²ch aplikacφ (modul∙). FFJ umφ vytvo°it nezbytnou strukturu webovΘ aplikace a takΘ zabalit vytvo°enΘ a p°elo₧enΘ t°φdy jako archiv ve formßtu WAR (Web Archive) spolu s deskriptorem ve formßtu XML. Jist∞ nep°ekvapφ, ₧e pro vÜechny tyto operace jsou v IDE p°ipraveni Üamani.
  53. SouΦßstφ Enterprise Edition je takΘ modul zvan² Web Services. P°edstavuje nßstroj pro v²voj webov²ch slu₧eb zalo₧en²ch na protokolu SOAP a jazyku WSDL, kter² umo₧≥uje dßt vlastnφ komponenty s aplikaΦnφ logikou k dispozici prost°ednictvφm WWW. V²voj webov²ch slu₧eb ve FFJ je zalo₧en na Üamanech, kte°φ se postarajφ o vÜe pot°ebnΘ vΦetn∞ vytvo°enφ pot°ebnΘ infrastruktury, tak₧e nenφ pot°eba psßt prakticky ₧ßdn² k≤d.
  54. Jak znßmo, webovΘ slu₧by zalo₧enΘ na SOAP vyu₧φvajφ komunikace prost°ednictvφm jazyka XML a protokolu http, kter² firewally bezpeΦn∞ propouÜt∞jφ. Fungovßnφ webovΘ slu₧by vyvinutΘ ve FFJ lze ve struΦnosti popsat takto: Kdy₧ webovß slu₧ba p°ijme vstupnφ dokument, tj. klientsk² po₧adavek ve form∞ dokumentu XML, p°edß jej odpovφdajφcφ metod∞. Tato metoda analyzuje dokument a p°evede jeho prvky na parametry metod, kterΘ dßle zavolß. V²sledky, kterΘ tyto metody vrßtφ, p°evede do jazyka XML, tj. vytvo°φ v²stupnφ dokument a ten odeÜle klientovi. WebovΘ slu₧by typicky spolupracujφ s komponentami EJB umφst∞n²mi ve vhodnΘm aplikaΦnφm serveru a jejich prost°ednictvφm pak vyu₧φvajφ dat v databßzφch.
  55.  
  56. SystΘmovΘ po₧adavky
  57. U₧ vφme, ₧e chceme-li instalovat FFJ Enterprise Edition, musφme si nejprve samostatn∞ instalovat JDK 1.3.1, Standard Edition. Na instalaΦnφm CD instalaci JDK samoz°ejm∞ najdeme; p°i instalaci z internetu si jej musφme stßhnout zvlßÜ¥. 
  58. FFJ lze instalovat v prost°edφ operaΦnφch systΘm∙ Linux Red Hat 6.2+, Mac OS X, OS/2, HP-UX, OpenVMS, Solaris 8 for Sparc, Windows 98 a vyÜÜφch. Pro Windows NT 4.0 je nutn² Service Pack 6, pro Windows 2000 je po₧adovßn Service Pack 2. 
  59. Minimßlnφ hardwarovΘ po₧adavky p°edstavuje poΦφtaΦ s procesorem Pentium III/866 MHz a 384 MB RAM, pro Linux t²₧ poΦφtaΦ s 512 MB RAM a se swapovacφm prostorem 128 MB. Dodejme ale, ₧e p°i takovΘto konfiguraci u₧ lze FFJ opravdu pou₧φvat. Na disku zabere instalace ve vÜech p°φpadech cca 110 MB.
  60. Proces instalace FFJ je bez problΘm∙; pokud jsme na svΘm poΦφtaΦi m∞li n∞jakou p°edchozφ verzi tohoto produktu, m∙₧e instalaΦnφ program p°evzφt jejφ nastavenφ.
  61.  
  62. Dojem
  63. Ve srovnßnφ s konkurenΦnφmi produkty, s nimi₧ se lze setkat na naÜem trhu, m∙₧e b²t p°ednostφ Forte for Java nabφdka webov²ch slu₧eb v provedenφ Enterprise, podpora standardu CORBA ve vÜech provedenφch, ale takΘ snadnΘ ovlßdßnφ a p°ehlednost generovanΘho k≤du. Mo₧nß vßm to bude p°ipadat nepodstatnΘ, nicmΘn∞ za velkou p°ednost takΘ pova₧uji, ₧e mi prost°edφ ukazuje v₧dy vÜechen vygenerovan² k≤d a nic p°ede mnou neskr²vß.
  64. Za nev²hodu FFJ lze pova₧ovat znaΦnΘ nßroky v²vojovΘho prost°edφ a skuteΦnost, ₧e nejde o dvoucestn² nßstroj (nelze modifikovat automaticky generovan² k≤d). P°i rozhodovßnφ o koupi m∙₧e svou roli hrßt i skuteΦnost, ₧e mnohΘ konkurenΦnφ produkty obsahujφ jako souΦßst provedenφ Enterprise takΘ aplikaΦnφ server - i kdy₧ jen v²vojß°skou licenci. Nic to vÜak nem∞nφ na faktu, ₧e Forte for Java 3 Enterprise Edition je bezpochyby velice siln² a kvalitnφ produkt.
  65.  
  66. Miroslav Virius
  67.  
  68. Forte for Java 3 Enterprise Edition
  69. Nßstroj pro v²voj javovsk²ch aplikacφ pod Windows 98 a vyÜÜφmi, Linux Red Hat 6.2+, Mac OS X, OS/2, HP-UX, OpenVMS a Solaris 8 for Sparc.
  70. HardwarovΘ nßroky: PC s Pentiem III/866 MHz a 384 MB RAM, (pro Linux 512 MB RAM a 128 MB swapovacφho prostoru), 110 MB na disku.
  71. V²robce: Sun Microsystems Inc., USA (www.sun.com).
  72. Poskytl: Sun Microsystems Czech, Praha (www.sun.cz).
  73. OrientaΦnφ cena: licence 2060 USD, mΘdia 26 USD.
  74.  
  75.