home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 October / Chip_1999-10_cd.bin / obsahy / Chip_txt / TXT / 110.txt < prev    next >
Text File  |  1999-08-30  |  17KB  |  85 lines

  1. JBuilder 3
  2. T╪sn╪ p²ed prázdninami uvedla firma Inprise (Borland) na trh novou verzi produktu JBuilder s ƒíslem 3. Stejn╪ jako p²edchozí verze je i JBuilder 3 nástroj pro vizuální v∞voj profesionálních aplikací zaloºen∞ch na jazyce Java, a tedy nezávisl∞ch na platform╪.
  3.  
  4. Stav╪ní z kávy, pot²etí
  5.  
  6. Také JBuilder 3 se dodává v obvykl∞ch t²ech variantách - Standard, Professional a Enterprise - které se liτí p²edevτím v podpo²e pro databázové a distribuované aplikace. Redakce Chipu tentokrát dostala k recenzi verzi Enterprise.
  7. Varianta Standard obsahuje integrované v∞vojové prost²edí (IDE), p²ekladaƒ Javy a ladicí prost²edky. Provedení Professional nabízí krom╪ toho databázové nástroje zaloºené na JDBC, automatick∞ generátor aplikací a knihovny databázov∞ch komponent DataExpress, dbSwing a JBCL. Souƒástí dodávky je i lokální databázov∞ server InterBase.
  8. Testovaná varianta Enterprise nabízí p²edevτím podporu pro tvorbu distribuovan∞ch aplikací podle standardu CORBA pomocí nástroje VisiBroker, kter∞ je integrován do v∞vojového prost²edí JBuilderu. K dispozici je také aplikaƒní generátor pro tvorbu vícevrstv∞ch aplikací, nástroj BeansExpres pro tvorbu komponent Enterprise JavaBeans, integrovan∞ nástroj pro správu verzí PVCS a nelokální databázov∞ server InterBase. K vizuálnímu vytvá²ení rozhraní v jazyce IDL slouºí DataModeler.
  9.  
  10. Co je nového
  11. ¼tená²e, kte²í znají p²edchozí verzi, bude jist╪ zajímat, co nového JBuilder 3 p²inesl. Podívejme se tedy nejprve na n╪které zajímavé novinky.
  12. ? JBuilder podporuje nov∞ standard jazyka oznaƒovan∞ Java 2 (JDK 1.2). Najdeme tu podporu pro p²ekladaƒ JIT a pro komponenty JFC/Swing. Také dbSwing, JBCL a DataExpress a n╪které dalτí komponenty byly aktualizovány tak, ºe je lze pouºívat ve verzi Java 2. Z prost²edí lze ale vyuºívat i starτí verze Javy, pokud je máme na svém poƒítaƒi nainstalovány.
  13. ? Ladicí nástroje pouºívají ladicí rozhraní Javy 2. JBuilder 3 umoºσuje ladit n╪kolik aplikací zároveσ, p²iƒemº vτechny nemusí b∞t napsány ve stejné verzi Javy. Lze ladit i distribuované aplikace b╪ºící na n╪kolika poƒítaƒích v ràzn∞ch prost²edích.
  14. ? Data Modeler je nástroj, kter∞ umoºσuje vizuáln╪ vytvá²et dotazy v jazyce SQL a pak je ukládat do souborà IDL.
  15. ? Application Generator, tedy generátor aplikací, vyuºívá popisu rozhraní v jazyce IDL a umoºσuje vytvá²et kostry vícevrstv∞ch aplikací, HTML front-end servery CORBA pouºívající servlety, a vícevrstvé transakƒní aplikace uºívající ITS.
  16. ? JBuilder 3 obsahuje VisiBroker v nové verzi oznaƒené ƒíslem 3.4.
  17. ? Komponenty dbSwing proτly úpravami, takºe nyní poskytují nové nástroje a standardní swingové modely pro p²ipojení k databázím (data binders) realizované pomocí knihovny DataExpress.
  18. ? K dispozici jsou i dalτí nástroje jako DataStore Explorer, JDBC Explorer, SQL Builder a dalτí.
  19. ? ⁿada drobn∞ch zm╪n a vylepτení se t∞ká IDE. P²ibylo n╪kolik nov∞ch τamanà (wizardà), identifikátory ve zdrojovém textu lze vyuºívat jako hyperlinky pro vyhledávání deklarací, zm╪nila se struktura nabídek atd.
  20.  
  21. Integrované v∞vojové prost²edí
  22. IDE se od prost²edí p²edchozí verze v∞razn╪ji neliτí, alespoσ na první pohled (obr. 1). Skládá se ze dvou oken. V horní ƒásti obrazovky je okno s nabídkou, nástrojov∞mi panely, paletou komponent JavaBeans a stavovou ²ádkou. Pod ním je okno oznaƒované jako AppBrowser, které obsahuje t²i panely. Panel vlevo naho²e zobrazuje strukturu projektu (soubory HTML, zdrojové soubory javovsk∞ch t²íd), pod ním je panel zobrazující strukturu vybrané t²ídy. V panelu vpravo pak vidíme vybranou t²ídu, HTML text apod.; v jeho spodní ƒásti se také zobrazují chyby p²i p²ekladu a jiná hláτení.
  23. Na spodní stran╪ levé i pravé ƒásti AppBroweru je ²ada záloºek, pomocí nichº volíme reºim zobrazení. Màºeme tak nap². p²echázet mezi zobrazením zdrojového textu (záloºka Source) a vizuálního návrhu (záloºka Design). P²ejdeme-li do vizuálního návrhu t²ídy, objeví se napravo od návrhu okna tzv. inspektor objektà, okno, ve kterém màºeme nastavovat vlastnosti komponent a definovat jejich odezvy na ràzné události. V IDE màºeme vedle zdrojového textu programu editovat i HTML soubory.
  24. Celé prost²edí se chová trochu jako HTML prohlíºeƒ. Tomu odpovídají i tlaƒítka nad panelem zobrazujícím strukturu projektu. Na rozdíl od Delphi nebo C++ Builderu zde nemàºeme mít vedle sebe zároveσ zdrojov∞ text a vizuální návrh - musíme se tedy rozhodnout, kter∞ z nich práv╪ pot²ebujeme.
  25. Editor zdrojového textu nabízí komfort obvykl∞ u editorà tohoto druhu pod Windows (vyhledávání a nahrazování v textu, inteligentní odsazování, práce s bloky, zv∞razσování syntaxe atd.). Navíc stiskneme-li klávesu Ctrl a ukáºeme-li kurzorem myτi na identifikátor ve zdrojovém textu, zm╪ní se v hyperlink a po stisknutí tlaƒítka myτi nás IDE p²enese do místa obsahujícího jeho definici (v naτem programu nebo v knihovn╪).
  26. IDE také nabízí dokonƒování kódu. To je bublinová nápov╪da, která poskytuje moºnost dokonƒení identifikátoru, napíτeme-li prvních n╪kolik písmen. Ukazuje také seznamy metod ƒi sloºek t²ídy i seznam parametrà p²i volání metody. Z nabídnutého seznamu si màºeme vybrat a prost²edí za nás dopíτe zbytek.
  27.  
  28. Vizuální programování
  29. Princip vizuálního programování je v JBuilderu podobn∞ jako v analogick∞ch nástrojích pro jiné programovací jazyky. Uºivatelské rozhraní budoucí aplikace a n╪které z jeho základních funkcí, nap². p²ipojení k databázím, vytvá²íme vizuáln╪, tj. sestavujeme je z komponent "kávov∞ch bobà" JavaBeans, které nám prost²edí nabízí na palet╪. Komponentu vybereme z palety tak, ºe klepneme myτí na její ikonu a dalτím klepnutím ji pak vloºíme do vizuálního návrhu aplikace; prost²edí poté vytvo²í odpovídající zdrojov∞ kód. Vlastnosti komponent nastavujeme v inspektoru objektà.
  30. JBuilder je dvoucestn∞ v∞vojov∞ nástroj, coº znamená, ºe zm╪ny vizuálního návrhu se ihned promítají do zdrojového kódu a také zm╪ny provedené ve zdrojovém kódu okamºit╪ ovlivní vizuální návrh.
  31. V aplikacích lze pouºívat i nevizuální komponenty (nap². QueryDataSet, která p²edstavuje databázov∞ dotaz v jazyce SQL, resp. jeho v∞sledek). Ty se - na rozdíl od Delphi - ve vizuálním návrhu nezobrazují.
  32. Jednotlivé komponenty mohou za b╪hu programu reagovat na ²adu událostí, nap². na stisk nebo uvoln╪ní tlaƒítka myτi, zobrazení nebo skrytí komponenty atd. Procedury, které obstarávají odezvu na tyto události, vytvá²íme rovn╪º pomocí inspektoru objektà. Stojí za zmínku, ºe ve verzi Enterprise najdeme po instalaci na paletách p²es 120 komponent.
  33. A snad jeτt╪ poznámku k programování v Jav╪: JBuilder b╪ºí pod Windows, a tak by se mohlo zdát, ºe p²i jeho pouºití je t²eba znát alespoσ základy programování pro toto prost²edí. Avτak i kdyº vytvo²ené aplikace mohou mít okna a reagovat na události, vyuºívají v∞hradn╪ prost²edkà jazyka Java, nebo£ musí b╪ºet i v jin∞ch prost²edích neº pod Windows. To mj. znamená, ºe aplikace màºe b╪ºet i po uzav²ení hlavního okna, ºe zde nemàºeme pracovat se zprávami od Windows apod. 
  34.  
  35. Galerie objektà
  36. P²i vytvá²ení nov∞ch projektà, aplikací, apletà, servletà apod. zaƒínáme zpravidla v tzv. galerii objektà (Object Gallery, obr. 2). Ikony zde p²edstavují zpravidla τamany, kte²í se nás zeptají na vτe pot²ebné a pak za nás obstarají "ƒernou" práci, tj. vytvo²í zdrojov∞ kód, uloºí pot²ebná nastavení do projektového souboru atd.
  37.  
  38. Databáze
  39. Základní podpora pro databáze se opírá o n╪kolik skupin komponent JavaBeans. První z nich jsou komponenty DataExpress, které najdeme na stejnojmenné stránce palety. Ty se starají o p²ipojení programu k databázi a o naƒtení dat do pam╪ti. Druhá skupina komponent slouºí k zobrazení dat v uºivatelském rozhraní programu. Zde máme k dispozici jak starτí knihovnu JBCL, tak i nov╪jτí dbSwing, která je zaloºena na standardní knihovn╪ Swing. Tyto komponenty umoºσují rychle vytvo²it základ databázové aplikace. Komponenta DataStore je nástroj pro vstupní a v∞stupní operace, kter∞ je v aplikacích moºné pouºívat jako transakƒní SQL server.
  40. Poznamenejme, ºe ve srovnání s C++ Builderem nebo Delphi zde chybí komponenty pro p²ímou práci s tabulkou; vτe musíme d╪lat pomocí dotazà v jazyce SQL. Vzhledem k tomu také nemáme moºnost pouºít filtry k v∞b╪ru podmnoºiny dat, která nás zajímá.
  41. Vedle uveden∞ch komponent nabízí JBuilder 3 ²adu nástrojà, které umoºσují snadno zvládnout n╪které rutinní úkoly p²i vytvá²ení rozsáhl∞ch aplikací. Jedním z nich je datov∞ modelá² (Data Modeler, obr. 3), o kterém jsme se zmínili jiº v úvodním p²ehledu novinek. Krom╪ vytvá²ení SQL dotazà umoºσuje také otev²ít a editovat existující soubor IDL. Dalτím nástrojem je generátor aplikací, coº je τaman, kter∞ automaticky vytvo²í formulá² pro vstup a editaci dat. V∞sledkem je komponenta JavaBeans, kterou màºeme pouºít i v dalτích aplikacích.
  42. Spojení s databázemi je zaloºeno na JDBC. Pro n╪které databázové servery (nap². InterBase, Oracle) jsou k dispozici ovladaƒe JDBC, pro ostatní (vƒetn╪ stolních databází) màºeme pouºít most JDBC-ODBC. JDBC Explorer  umoºσuje p²ehledn╪ zobrazit, p²ípadn╪ i vytvo²it spojení s databázemi pomocí JBDC ovladaƒà. Tento nástroj umoºσuje konfigurovat JDBC podobn∞m zpàsobem jako nap². BDE v C++ Builderu. Souƒástí verze Enterprise je i databázov∞ SQL server InterBase 5.5.
  43.  
  44. Distribuované aplikace
  45. K vytvá²ení distribuovan∞ch aplikací zaloºen∞ch na standardu CORBA slouºí v JBuilderu VisiBroker for Java 3.4. Tento nástroj je integrován do verze Enterprise jako sada τamanà, kte²í um╪jí na základ╪ souboru IDL generovat CORBA server, CORBA klient atd. P²ímo u jednotliv∞ch souborà v projektu màºeme p²edepsat, ºe se mají generovat pot²ebné soubory (stub, skeleton atd.). Pro tvorbu databázov∞ch distribuovan∞ch aplikací màºeme také pouºít jiº zmín╪n∞ generátor aplikací, kter∞ umoºσuje mj. generovat klientské aplikace k jiº existujícím serveràm, pokud je popis jejich rozhraní uloºen v Interface Repository.
  46. Chceme-li si prohlédnout jiº existující servery napojené na ORB, màºeme pouºít ORB Explorer. Vedle podpory pro v∞voj distribuovan∞ch aplikací obsahuje VisiBroker i b╪hovou podporu, takºe vytvo²ené aplikace lze v prost²edí JBuilderu i mimo n╪j spustit a ladit.
  47. Pro distribuované aplikace, které jsou celé v Jav╪, lze pouºít standard Remote Method Invocation (RMI). Také podpora pro n╪j je integrována p²ímo do IDE. Také v tomto p²ípad╪ màºeme pro jednotlivé soubory v projektu p²edepsat, ºe chceme p²i p²ekladu generovat soubory pot²ebné pro RMI. Z IDE lze provést i registraci RMI.
  48. JBuilder podporuje také nov∞ standard Enterprise JavaBeans (EJB). I tentokrát nám prost²edí nabídne τamany, kte²í se postarají o vτechny pot²ebné rutinní úkoly p²i vytvá²ení zdrojov∞ch souborà.
  49.  
  50. Servlety
  51. Servlery jsou programy, které b╪ºí na webov∞ch serverech a dynamicky generují HTML stránky. V JBuilderu 3 màºeme vytvo²it servlet pomocí jednoho ze τamanà, jenº jako obvykle vytvo²í základ zdrojového kódu. Pro jeho lad╪ní nabízí JBuilder tzv. Servlet Server, coº je nástroj, kter∞ nahrazuje WWW server a umoºσuje spouτt╪t servlety p²ímo v IDE.
  52.  
  53. Komponenty JavaBeans
  54. Vedle komponent dodávan∞ch s JBuilderem si màºeme vytvá²et i své vlastní komponenty JavaBeans (a pokud budeme v JBuilderu nebo v podobném nástroji programovat delτí dobu, nevyhneme se tomu). P²itom se dá s v∞hodou vyuºít automatick∞ generátor popisà komponent. Je nutno poznamenat, ºe zde jsem narazil na jisté problémy p²i instalaci komponent na stránky palety; povíme si o nich dále.
  55.  
  56. Dokumentace
  57. Dokumentace k produktu je pom╪rn╪ rozsáhlá. V krabici najdeme útl∞ manuál Quick Start, kter∞ vedle seznámení se základními rysy prost²edí obsahuje popis jazyka Java. P²íruƒka Developer's Guide popisuje práci s databázemi, v∞voj distribuovan∞ch aplikací a v∞voj komponent JavaBeans. Velice rozsáhlá je p²íruƒka s referenƒním p²ehledem komponent DataExpress. Samostatn∞ manuál je v╪nován komponent╪ DataStore, jin∞ pak databázovému serveru Interbase.
  58. Dalτí skupina manuálà má téma VisiBroker. Najdeme tu referenƒní p²ehled (Reference), popis sluºeb Event Service, Naming Service a Gatekeeper a p²íruƒku programátora (Programmer's Guide). Tyto publikace ovτem popisují VisiBroker jako samostatnou aplikaci, nikoli jako souƒást JBuilderu.
  59. Elektronická dokumentace je souƒástí instalace a uº o ní byla ²eƒ. Nápov╪da JBuilderu je podobná nápov╪d╪ k jin∞m aplikacím pro Windows; màºeme zde tedy vyhledávat informace podle obsahu, podle rejst²íku nebo podle hledaného slova. Navíc je i kontextov╪ citlivá, tj. vyvoláme-li ji stisknutím F1 v dialogovém okn╪, objeví se informace, které se k n╪mu vztahují. Ukazuje-li kurzor ve zdrojovém textu na identifikátor knihovní t²ídy, vyvoláme stejn∞m zpàsobem informace o ní.
  60. Vybereme-li z vizuálního návrhu komponentu a stiskneme F1, dozvíme se i o ní. Nezískáme tak ale informace o nevizuálních komponentách a nemàºeme hledat ani informace o klíƒov∞ch slovech jazyka Java (i kdyº jejich popis v nápov╪d╪ je). Na rozdíl od Delphi nebo C++ Builderu nelze hledat ani informace podle jména metody nebo podle datové sloºky knihovní t²ídy (musíme zaƒít od jména této t²ídy).
  61. Zb∞vá podotknout, ºe k automaticky generované dokumentaci ke t²ídám a metodám lze p²istupovat i p²ímo z integrovaného prost²edí.
  62. Na záv╪r této ƒásti si neodpustím poznámku, ºe i p²i 128 MB RAM je start nápov╪dy JBuilderu 3 velmi pomal∞.
  63.  
  64. Licence
  65. I kdyº si JBuilder ²ádn╪ koupíte, neznamená to, ºe màºete vytvo²ené aplikace bez problémà τí²it. Pro zdárn∞ b╪h distribuovan∞ch aplikací zaloºen∞ch na standardu CORBA musí b∞t na cílovém poƒítaƒi instalován b╪hov∞ systém VisiBrokeru a na jeho τí²ení je t²eba zvláτtní licence. Podobn╪ je t²eba zvláτtní licence na τí²ení aplikací zaloºen∞ch na komponent╪ DataStore.
  66.  
  67. Problémy
  68. Jak b∞vá u celoƒíseln∞ch verzí tém╪² pravidlem, najdeme i v JBuilderu 3 ²adu nedostatkà. N╪které z nich jsou problémy JDK 1.2, ²ada z nich ale jde na vrub JBuilderu.
  69. První z nich se t∞ká ƒeτtiny - tj. ƒesk∞ch fontà - v aplikacích vτeho druhu. Jak známo, jazyk Java pracuje s abstraktními fonty a jejich p²i²azení konkrétním fontàm daného prost²edí je popsáno v souboru font.properties.xx, kde xx je zkratka oznaƒující národní prost²edí, p²ípadn╪ operaƒní systém. Pro ƒeτtinu je nezbytn∞ soubor font.properties.cs, pro slovenτtinu font.properties.sk. Ani jeden z t╪chto souborà vτak v JBuilderu 3 není, i kdyº v p²edchozí verzi byly oba (ale také teprve ve verzi 2.01). Proto systém pouºije implicitní p²i²azení, které je popsáno v souboru font.properties a které odpovídá angliƒtin╪. 
  70. Pokusil jsem se proto p²enést soubor font.properties.cs z JBuilderu 2.V instalaci JBuilderu 3 pod Windows NT pak Java v konzolovém v∞stupu ohlásila, ºe pot²ebné fonty nemàºe najít, p²esto ale nápisy v oknech zobrazovala správn╪; v instalaci pod Windows 95 to nepomohlo - Java op╪t hlásila, ºe pot²ebné fonty nemàºe najít, a tentokrát nelhala: písmena s diakritick∞mi znaménky v nápisech prost╪ vynechala.
  71. O dalτích problémech alespoσ heslovit╪:
  72. ? Nápov╪da dosti ƒasto padá, obƒas s sebou vezme i Windows.
  73. ? Prost²edí ze záhadn∞ch p²íƒin odmítá generovat handler pro událost calcFields, která se stará o v∞poƒet hodnot poƒítan∞ch polí v databázích; handler je nutno napsat cel∞ ruƒn╪.
  74. ? P²i vytvá²ení nov∞ch komponent JavaBeans si prost²edí neobnovuje n╪které z pomocn∞ch souborà umíst╪n∞ch v podadresá²i .PME. To znamená, ºe po první instalaci komponenty na paletu tam zàstává tato poƒáteƒní verze. Chceme-li instalovat novou verzi, musíme pomocné soubory (cel∞ obsah jejich adresá²e) smazat ruƒn╪.
  75. ? P²i pokusu o spuτt╪ní apletu v IDE ohlásil JBuilder chybu - nedokázal najít soubor appletviewer.policy, kter∞ je uloºen v podadresá²i lib domovského adresá²e JBuilderu. Zde pomohlo otev²ít soubor JBuilder.ini, kter∞ je v adresá²i bin, najít v n╪m ²ádku AppletviewerPolicy= a nahradit tam relativní cestu k souboru appletviewer.policy cestou absolutní.
  76.  
  77. Nároky
  78. Pro instalaci JBuilderu 3 pot²ebujete PC vybavené procesorem Pentium/166 MHz nebo lepτím, grafickou kartou SVGA podporující rozliτení alespoσ 800 x 600, mechanikou CD-ROM a myτí. Na poƒítaƒi musí b∞t operaƒní systém Windows 9x nebo Windows NT vylepτené o Service Pack 3. Pro kompletní instalaci je t²eba cca 150 MB diskového prostoru (p²esné ƒíslo závisí na velikosti alokaƒních blokà, tedy na velikosti disku a na souborovém systému).
  79. Podobn╪ jako jiné v∞vojové nástroje zaloºené na Jav╪ i JBuilder 3 je pom╪rn╪ nároƒn∞ na operaƒní pam╪£. Na krabici si p²eƒteme, ºe minimum je 96 MB RAM, doporuƒená hodnota je 128 MB. Podle naτich zkuτeností JBuilder p²i 128 MB RAM jiº b╪ºí docela dob²e, avτak p²i p²epnutí z reºimu zdrojového kódu do reºimu vizuálního návrhu prost²edí "p²em∞τlí" i n╪kolik vte²in a také nápov╪da je pom╪rn╪ pomalá. Zkusil jsem JBuilder 3 provozovat i p²i pouh∞ch 64 MB RAM; mohu-li vám radit, ned╪lejte to. V tom p²ípad╪ totiº musí JBuilder b╪ºet jako jediná aplikace a stejn╪ zeτedivíte z pohledu na zvolna se p²ekreslující okénka a z v╪ƒného chrast╪ní pevného disku.
  80.  
  81. Dojem
  82. Prost²edky, které JBuilder 3 Enterprise nabízí pro rychl∞ v∞voj aplikací zaloºen∞ch na jazyku Java, jsou zhruba srovnatelné s podobn∞mi nástroji pro jiné jazyky. I p²es uvedené problémy - které budou, doufejme, v co nejkratτí dob╪ odstran╪ny prost²ednictvím n╪jaké záplaty (patch) - je to siln∞ nástroj, kter∞ lze úsp╪τn╪ pouºít k v∞voji podnikov∞ch aplikací.
  83. Miroslav Virius
  84.  
  85.