home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 December / PCWorld_2004-12_cd.bin / novinky / Interval / clanek10.htm < prev    next >
Encoding:
Extensible Markup Language  |  2004-10-31  |  25.3 KB  |  236 lines

  1. <?xml version='1.0' encoding='windows-1250'?>
  2. <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
  3. <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='cs' lang='cs'>
  4. <head>
  5. <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />
  6. <meta http-equiv='Content-language' content='cs' />
  7. <meta http-equiv='Cache-control' content='no-cache' />
  8. <meta http-equiv='Pragma' content='no-cache' />
  9. <meta http-equiv='Expires' content='-1' />
  10. <meta name='robots' content='index,follow' />
  11. <meta name='googlebot' content='index,follow,snippet,noarchive' />
  12. <meta name='description' content='Interval.cz - Internetov² magazφn o webdesignu, v²voji webov²ch aplikacφ a e-komerci. VÜe podstatnΘ o technologiφch XHTML, HTML, CSS, DHTML, JavaScript, XML, .NET, ASP, PHP, Java, J2ME, SQL, WAP...' />
  13. <meta name='keywords' content='Interval' />
  14. <meta name='ICBM' content='49.1915, 16.626' />
  15. <meta name='DC.Title' content='Interval.cz' />
  16. <meta name='DC.Identifier' content='http://interval.cz' />
  17. <meta name='DC.Language' content='cs' />
  18. <meta http-equiv='pics-label' content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline EN v2.0" l gen true for "http://interval.cz" r (nz 1 vz 1 lz 1 oz 1 cz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://interval.cz" r (n 0 s 0 v 0 l 0))' />
  19. <meta http-equiv='imagetoolbar' content='no' />
  20. <meta http-equiv='MSThemeCompatible' content='no' />
  21. <meta name='MSSmartTagsPreventParsing' content='true' />
  22. <link rel='shortcut icon' type='image/x-icon' href='favicon.ico' />
  23. <link rel='alternate' type='application/rss+xml' title='RSS Interval.cz' href='http://interval.cz/__rss/rss.asp' />
  24. <link rel='home' href='http://interval.cz' />
  25. <link rel='search' href='http://interval.cz/search_ex.asp' />
  26. <link rel='stylesheet' type='text/css' media='all' href='__services/styles/html4.css' />
  27. <link rel='stylesheet' type='text/css' media='all' href='__services/styles/basic_all.css' />
  28. <link rel='stylesheet' type='text/css' media='all' href='__services/styles/homepage_all.css' />
  29. <link rel='stylesheet' type='text/css' media='all' href='__services/styles/articles_all.css' />
  30. <link rel='stylesheet' type='text/css' media='print' href='__services/styles/articles_print.css' />
  31. <title>Interval.cz - webdesign a e-komerce denn∞</title>
  32. </head>
  33. <body class='interval interval-articles'>
  34. <div id='page-header'><div id='interval-logo'><h1 title='Interval.cz - denn∞ o tvorb∞ webu a e-komerci (logo & index link)'><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz'>Interval.cz<span></span></a></h1></div><div id='advertising-page-header'></div><div class='page-maker'> </div></div>
  35. <div id='page-topmenu'><h2 class='textversion'>Navigace</h2><div id='page-mainmenu'><h3 class='textversion'>Hlavnφ menu</h3><ul><li class='first selected'><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz'>Titulnφ strana</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=14'>Webdesign</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=15'>V²voj aplikacφ</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=18'>E-komerce</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=17'>Nßstroje</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=16'>Magazφn</a></li><li class='right selected'><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.inshop.cz'>Knihkupectvφ</a></li><li class='right'><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interforum.interval.cz'>Interforum</a></li></ul></div><div id='page-mainmenu-maker'> </div></div>
  36. <div id='page-body'><div id='page-left'><div id='article'>
  37.  
  38.  
  39. <h2>WebML - tvorba aplikacφ v prost°edφ WebRatio</h2>
  40. <p id='prepend'>WebML pat°φ mezi pom∞rn∞ malou skupinu metodologiφ urΦen²ch pro anal²zu a nßvrh webov²ch aplikacφ, kterΘ byly p°eneseny z oblasti akademick²ch debat a₧ do ·sp∞ÜnΘho vyu₧itφ v praxi. Nemal² podφl na tom jist∞ mß i kvalitnφ CASE nßstroj WebRatio, kter² umo₧≥uje plynul² p°echod od anal²zy a nßvrhu k implementaci samotnΘ webovΘ aplikace. V  n∞kolika p°edchozφch Φlßncφch byl v∞novßn prostor p°edevÜφm metodologii jako takovΘ. Vysv∞tleny byly jednotlivΘ modely, kterΘ se p°i nßvrhu aplikace musφ vytvß°et. Tentokrßt se podφvßme p°edevÜφm na prost°edφ WebRatio.</p>
  41.  
  42. <h3>WebRatio</h3>
  43. <p>WebRatio p°edstavuje komplexnφ CASE nßstroj implementujφcφ metodologii WebML, kter² podporuje cel² ₧ivotnφ cyklus projektu od anal²zy a₧ po implementaci webovΘ aplikace. WebRatio umo₧≥uje <strong>t²movou prßci</strong> zahrnujφcφ sdφlenφ vzdßlenΘ repository projektu, stahovßnφ a upload zm∞n v projektu, v∞tvenφ projektu a dalÜφ vlastnosti znßmΘ vÜem, kte°φ n∞kdy pou₧φvali n∞jak² nßstroj pro sprßvu verzφ software (nap°φklad CVS nebo Visual SourceSafe).</p>
  44. <p>S pomocφ tohoto prost°edφ byly vytvo°eny veÜkerΘ ukßzkovΘ p°φklady, se kter²mi jste se mohli setkßvat v p°edchozφch Φlßncφch. SamotnΘ WebRatio se pom∞rn∞ rychle vyvφjφ. To byl takΘ jeden z d∙vod∙ zpo₧d∞nφ tohoto Φlßnku. V p°φprav∞ toti₧ byla zcela novß verze tohoto software, v po°adφ ji₧ Φtvrtß.</p>
  45.  
  46. <h3>Instalace</h3>
  47. <p>Nejnov∞jÜφ zkuÜebnφ verzi WebRatia si m∙₧ete stßhnout na adrese <a href='http://www.webratio.com'>www.webratio.com</a>. ZkuÜebnφ verze mß kolem 40 MB a je omezena dobou pou₧itφ na t°i m∞sφce.</p>
  48. <p>InstalaΦnφ balφk se sklßdß z n∞kolika souΦßstφ:</p>
  49.  
  50. <div class='list'>
  51. <ul>
  52. <li>samotn² CASE nßstroj</li>
  53. <li>kompletnφ instalace webovΘho serveru Apache Tomcat</li>
  54. <li>nßstroj EasyStyler slou₧φcφ k nßvrhu prezentaΦnφ vrstvy</li>
  55. <li>velice kvalitnφ manußly pro WebML a WebRatio</li>
  56. <li>n∞kolik ukßzkov²ch aplikacφ</li>
  57. </ul>
  58. </div>
  59.  
  60. <p>Instalace probφhß naprosto bezproblΘmov∞. JedinΘ, co pot°ebujete, je nainstalovanß podpora Javy, respektive JRE verze 1.2. WebRatio je kompletn∞ napsanΘ v Jav∞ a dφky tomu je nezßvislΘ na platform∞ (provozovat lze na Windows i Linuxu). Danφ za pou₧itφ Javy je n∞kdy pom∞rn∞ znatelnΘ zpomalovßnφ aplikace. Uvßd∞nΘ hardwarovΘ nßroky (CPU 400 MHz, 256 MB RAM) p°edstavujφ opravdu minimßlnφ konfiguraci, se kterou se dß pracovat. Pro p°φjemnou prßci bych doporuΦoval alespo≥ CPU 1 GHz a 512 MB RAM.</p>
  61.  
  62. <h3>U₧ivatelskΘ rozhranφ</h3>
  63. <p>U₧ivatelskΘ rozhranφ WebRatia bylo dle mΘho nßzoru zpracovßno tradiΦn∞ a velice dob°e. P∙sobφ p°ehledn∞ a pracuje se v n∞m opravdu bezproblΘmov∞.</p>
  64.  
  65. <div class='image'>
  66. <img src='podklady/zelenka/1015/gui-small.png' alt='WebRatio - hlavnφ okno aplikace' title='WebRatio - hlavnφ okno aplikace' />
  67. <br /><span class='comment'>Obrßzek Φ. 1: WebRatio - hlavnφ okno aplikace (<a href='podklady/zelenka/1015/gui.png'>plnß velikost, cca 30 kB</a>)</span>
  68. </div>
  69.  
  70. <p>Hlavnφ okno aplikace je rozd∞leno do Φty° zßkladnφch Φßstφ:</p>
  71.  
  72. <div class='list'>
  73. <ul>
  74. <li><strong>Hlavnφ menu</strong> a nßstrojovß liÜta se do urΦitΘ mφry suplujφ. Odsud jsou standardn∞ p°φstupnß vÜechna nastavenφ, funkce a nßstroje.</li>
  75. <li><strong>Lev² sloupec</strong>
  76.     <ul>
  77.     <li>V hornφ Φßsti levΘho sloupce m∙₧eme pro prochßzenφ projektu pou₧φt takzvan² <strong>Project Tree</strong>, kter² p°edstavuje hierarchickΘ zobrazenφ vÜech souΦßstφ projektu.</li>
  78.     <li>V dolnφ Φßsti levΘho sloupce se zobrazujφ v₧dy vlastnosti p°φsluÜnΘho objektu, kter² je zrovna aktivnφ (nap°φklad vlastnosti vazby mezi dv∞ma entitami v datovΘm modelu).</li>
  79.     </ul>
  80. </li>
  81. <li><strong>Hlavnφ pracovnφ plocha</strong> funguje jako vektorov² grafick² editor pro vytvß°enφ jednotliv²ch diagram∙.</li>
  82. <li><strong>Debug okno</strong>, ve kterΘm m∙₧eme sledovat v²sledky kontroly konzistence a chyb v modelu.</li>
  83. </ul>
  84. </div>
  85.  
  86. <p>S u₧ivatelsk²m rozhranφm se nejlΘpe seznßmφ ka₧d² sßm. Nßs zajφmß p°edevÜφm, jak se s tφmto nßstrojem pracuje a jak²m zp∙sobem se v n∞m dß vyvφjet webovß aplikace.</p>
  87.  
  88. <h3>Transformace modelu na www aplikaci</h3>
  89. <p>Zßkladem pro vytvo°enφ funkΦnφ aplikace je samoz°ejm∞ ·pln² model WebML, kter² se sklßdß z <a href='http://interval.cz/clanek.asp?article=2959' title='Zelenka, Petr: WebML - datovΘ modelovßnφ'>datovΘho</a> a <a href='http://interval.cz/clanek.asp?article=3062' title='Zelenka, Petr: WebML - kompozice webovΘ aplikace'>hypertextovΘho</a> modelu, kterΘ byly popsßny v p°edchozφch Φlßncφch. WebRatio nßm umo₧nφ tyto modely pohodln∞ zakreslit do p°ehledn²ch diagram∙. Do fßze, kdy mßme zakresleny vÜechny modely, se tedy WebRatio v niΦem zßsadnφm neodliÜuje od jin²ch kreslicφch nßstroj∙, jako je nap°φklad MS Visio. WebRatio ovÜem umo₧≥uje z tohoto modelu vygenerovat pln∞ funkΦnφ aplikaci.</p>
  90.  
  91. <h4>Architektura aplikace</h4>
  92. <p>VÜechny aplikace generovanΘ z WebRatia majφ t°φvrstvou architekturu, kterß je zalo₧ena na objektovΘm modelu <strong>Model View Controller</strong> (MVC) a implementovßna v prost°edφ J2EE. V tΘto fßzi odkazuji vÜechny neznalΘ problematiky MVC na Φlßnek <a href='http://www.churchillobjects.com/c/14058.html'>Model-View-Controller Pattern</a>. Pro pohodlnΘ Φtenß°e zjednoduÜen∞ vysv∞tlφm principy architektury MVC. Objekty v aplikaci jsou rozd∞leny na nßsledujφcφ t°i typy:</p>
  93.  
  94. <div class='list'>
  95. <ul>
  96. <li><strong>Controller</strong>: Tyto objekty se starajφ o zpracovßnφ vn∞jÜφch udßlostφ p°ichßzejφcφch od u₧ivatele p°es u₧ivatelskΘ rozhranφ (kliknutφ na odkaz, odeslßnφ formulß°e). Tyto po₧adavky transformujφ na ₧ßdost o provedenφ p°φsluÜnΘ akce pro urΦit² objekt typu model.</li>
  97. <li><strong>Model</strong>: Objekty typu model tvo°φ aplikaΦnφ logiku. P°ijφmajφ po₧adavky od objekt∙ typu controller a zpracovßvajφ pot°ebnΘ operace (dotazovßnφ do databßze a dalÜφ v²poΦty).</li>
  98. <li><strong>View</strong>: Tyto objekty p°edstavujφ grafick² front-end aplikace, starajφ se o vykreslenφ v²slednΘho u₧ivatelskΘho rozhranφ.</li>
  99. </ul>
  100. </div>
  101.  
  102. <p>Pro WebRatio byla tato architektura ΦßsteΦn∞ pozm∞n∞na. Podrobn∞ji znßzor≥uje celkovou architekturu aplikace <a href='podklady/zelenka/1015/architektura.png'>tento obrßzek</a>. Ka₧dß WebML strßnka musφ mφt definovßny nßsledujφcφ Φty°i souΦßsti:</p>
  103.  
  104. <div class='list'>
  105. <ul>
  106. <li><strong>Objekt akce (model)</strong>: Jednß se o instanci javovskΘ t°φdy, kterß p°i po₧adavku na zobrazenφ strßnky, kter² dostßvß od objektu controlleru, dek≤duje http po₧adavek a zavolß p°φsluÜnou slu₧bu strßnky, kterΘ p°edßvß p°φsluÜnΘ parametry. Kdy₧ je v²poΦet dokonΦen, oznßmφ objektu controlleru, ₧e obsah strßnky je p°ipraven k zobrazenφ.</li>
  107. <li><strong>Slu₧ba strßnky (model)</strong>: Starß se o aplikaΦnφ logiku (dotazovßnφ na databßzi, validace formulß°∙ a dalÜφ).</li>
  108. <li><strong>JSP Üablona (view)</strong>: Prost°ednictvφm JSP Üablony je generovßn v²sledn² HTML k≤d.</li>
  109. <li><strong>Mapovßnφ akcφ</strong> Ka₧dß aplikace obsahuje konfiguraΦnφ soubor, ze kterΘho controller Φte informace, jakß akce a jakß Üablona p°φsluÜφ urΦitΘmu po₧adavku od u₧ivatele (URL).</li>
  110. </ul>
  111. </div>
  112.  
  113. <p>Zpracovßnφ ka₧dΘ strßnky probφhß zhruba takto:</p>
  114.  
  115. <div class='list'>
  116. <ul>
  117. <li>Pokud je na server odeslßn po₧adavek na vystavenφ strßnky, je tento po₧adavek zpracovßn pomocφ <strong>Controlleru</strong>, kter² je implementovßn jako javovsk² servlet. Controller se podφvß do konfiguraΦnφho souboru a zavolß p°φsluÜn² objekt akce strßnky.</li>
  118. <li>Objekt akce komunikuje s aplikaΦnφ vrstvou. Transformuje http po₧adavek na javovskΘ objekty a vy₧ßdß si p°φsluÜnou slu₧bu strßnky, kterΘ p°edß pot°ebnΘ parametry.</li>
  119. <li>Objekty aplikaΦnφ vrstvy vykonajφ p°φsluÜnou slu₧bu, v∞tÜinou naplnφ objekty jednotliv²ch units z databßze, p°φpadn∞ provedou dalÜφ akce.</li>
  120. <li>Controller je informovßn o p°ipravenosti strßnky k jejφmu zobrazenφ. Ten se podφvß do konfiguraΦnφho souboru a vybere p°φsluÜnou JSP Üablonu pro danou akci na jejφm₧ zßklad∞ je vygenerovßna v²slednß HTML strßnka.</li>
  121. </ul>
  122. </div>
  123.  
  124. <h3>Generovßnφ aplikace</h3>
  125. <p>Abychom mohli s pomocφ WebRatia vygenerovat v²slednou aplikaci, pot°ebujeme p°edevÜφm konzistentnφ datov² a hypertextov² model. Pokud mßme modely p°ipravenΘ, musφme provΘst jeÜt∞ dva kroky. Prvnφ nepom∞rn∞ jednoduÜÜφ krok p°edstavuje namapovßnφ datovΘho modelu na vybran² databßzov² systΘm. V druhΘm kroku musφme navrhnout design respektive prezentaΦnφ vrstvu aplikace.</p>
  126.  
  127. <h4>Mapovßnφ datovΘho modelu</h4>
  128. <p>Vytvo°en² datov² model aplikace musφme namapovat na konkrΘtnφ databßzov² systΘm. Mßme na v²b∞r ze dvou mo₧nostφ:</p>
  129.  
  130. <div class='list'>
  131. <ul>
  132. <li>Nechßme si strukturu databßze automaticky vygenerovat.</li>
  133. <li>Namapujeme datov² model na existujφcφ databßzi.</li>
  134. </ul>
  135. </div>
  136.  
  137. <p>V obou p°φpadech budeme pot°ebovat nakonfigurovat datov² zdroj. Tφm m∙₧e b²t jedna z podporovan²ch relaΦnφch databßzφ, mezi kterΘ pat°φ Oracle, MySQL, MS SQL, PostgreSQL nebo nap°φklad DB2. Nutnostφ je podpora <strong>JDBC</strong> rozhranφ.</p>
  138. <p>Mo₧nost p°ipojenφ nebo editace datovΘho zdroje nalezneme v Project Tree, pokud si ho p°epneme do takzvanΘho Mapping View:</p>
  139.  
  140. <div class='image'>
  141. <img src='podklady/zelenka/1015/datovy-zdroj.png' alt='WebRatio - vytvo°enφ datovΘho zdroje' title='WebRatio - vytvo°enφ datovΘho zdroje' />
  142. <br /><span class='comment'>Obrßzek Φ. 2: WebRatio - vytvo°enφ datovΘho zdroje</span>
  143. </div>
  144.  
  145. <p>Pokud si chceme nechat datovou strukturu automaticky vygenerovat, staΦφ zvolit volbu "Create Empty Data Mapping" a WebRatio za°φdφ vÜe pot°ebnΘ automaticky, vΦetn∞ vygenerovßnφ primßrnφch a cizφch klφΦ∙ i vazebnφch tabulek.</p>
  146. <p>V p°φpad∞, kdy chceme datov² model namapovat na existujφcφ databßzi, je cel² proces trochu komplikovan∞jÜφ. Pro ka₧dou entitu musφme v jejφch vlastnostech zvolit p°φsluÜnou tabulku z p°ipojenΘho datovΘho zdroje a provΘst propojenφ atribut∙ tabulky na atributy entity.</p>
  147.  
  148. <h4>PrezentaΦnφ vrstva aplikace - design</h4>
  149. <p>PrezentaΦnφ vrstva aplikace generovanΘ z WebRatia je zalo₧ena na technologii XSL. Na model aplikace zapsan² v jazyce XML se aplikujφ XSL Üablony, kterΘ transformujφ model na v²slednΘ Üablony strßnek vΦetn∞ pot°ebn²ch server side tag∙. XSL Üablony samoz°ejm∞ netvo°φme od zaΦßtku sami, WebRatio nßm nabφzφ nßstroje pro ulehΦenφ prßce.</p>
  150. <p>U₧ivatelskΘ rozhranφ vychßzφ z hypertextovΘho modelu, kter² nßm vyΦerpßvajφcφm zp∙sobem popisuje strukturu webovΘ aplikace (obsah a provßzßnφ jednotliv²ch strßnek). Nikde v tomto modelu ovÜem nenφ urΦeno, jak budou jednotlivΘ strßnky vypadat.</p>
  151. <p>Definice prezentaΦnφ vrstvy p°edstavuje dva odd∞lenΘ ·koly:</p>
  152.  
  153. <div class='list'>
  154. <ul>
  155. <li>UrΦit rozlo₧enφ jednotliv²ch prvk∙ (units) v rßmci strßnky.</li>
  156. <li>Definovat design jednotliv²ch units a layout webu.</li>
  157. </ul>
  158. </div>
  159.  
  160. <p>Nejprve musφme definovat rozlo₧enφ jednotliv²ch prvk∙ (units) v rßmci strßnky. Pokud se v Project Tree p°epneme do pohledu "Presentation view", m∙₧eme pro ka₧dou strßnku editovat takzvan² <strong>page grid</strong>:</p>
  161.  
  162. <div class='image'>
  163. <img src='podklady/zelenka/1015/grid.png' alt='WebRatio - page grid' title='WebRatio - page grid' />
  164. <br /><span class='comment'>Obrßzek Φ. 3: WebRatio - page grid</span>
  165. </div>
  166.  
  167. <p>M°φ₧ku vytvß°φme podobn²m zp∙sobem, kter² znßme z tabulkov²ch editor∙. Jednoduch²m ta₧enφm myÜφ urΦujeme rozmφst∞nφ vÜech prvk∙ do vytvo°enΘ m°φ₧ky. Pro jednotlivΘ units dßle musφme zvolit styl, kter² definuje jejich konkrΘtnφ vzhled (barvy, rozm∞ry a podobn∞).</p>
  168. <p>Tφm jsme se dostali k nejd∙le₧it∞jÜφmu kroku v procesu definice prezentaΦnφ vrstvy aplikace - k definici globßlnφho stylu aplikace. Stylem se v terminologii WebRatia myslφ mno₧ina prezentaΦnφch pravidel a definic, k jejich₧ editaci slou₧φ nßstroj <strong>Easy Styler</strong>:</p>
  169.  
  170. <div class='image'>
  171. <img src='podklady/zelenka/1015/styler-small.png' alt='WebRatio - Easy Styler' title='WebRatio - Easy Styler' />
  172. <br /><span class='comment'>Obrßzek Φ. 4: WebRatio - Easy Styler (<a href='podklady/zelenka/1015/gui.png'>plnß velikost, cca 15 kB</a>)</span>
  173. </div>
  174.  
  175. <p>Styl ka₧dΘho webu obsahuje nßsledujφcφ souΦßsti:</p>
  176.  
  177. <div class='list'>
  178. <dl>
  179. <dt>Layout strßnky</dt>
  180. <dd>
  181.     <p>Layout strßnky vytvß°φme velice podobn∞ tomu, jak jsme normßln∞ zvyklφ, tedy pomocφ XHTML a CSS. Nejprve vytvo°φme Üablonu v XHTML a poslΘze ji doplnφme o specißlnφ znaΦky, kterΘ urΦφ v²znam jednotliv²ch Φßstφ XHTML k≤du a upozor≥ujφ generßtor aplikace na to, kam se mß generovat dynamick² obsah prezentace. Takto nap°φklad definujeme oblast, do kterΘ mß b²t generovßna prvnφ ·rove≥ menu: <samp><easystyle:landmark-area-menu level="1"></easystyle:landmark-area-menu></samp>. PovinnΘ je pro ka₧dou Üablonu strßnky uvΘst, kde se bude nachßzet oblast, do kterΘ se vygeneruje hlavnφ obsah strßnky, tedy oblast, kam se vlo₧φ v²Üe popisovan² page grid. Tuto oblast v k≤du jednouÜe vyznaΦφme jako <code><easystyle:grid /></code>.</p>
  182.     <p>Hotovou Üablonu nahrajeme do aplikace Easy Styler v sekci Page Layout. ┌pln² v²Φet specißlnφch znaΦek obsahuje referenΦnφ p°φruΦka k nßstroji Easy Styler. Ke sta₧enφ jsem pro vßs p°ipravil <a href='podklady/zelenka/1015/sablona.zip'>ukßzkov² p°φklad Üablony</a>, kde m∙₧ete nalΘzt dalÜφ specißlnφ znaΦky.</p>
  183. </dd>
  184. <dt>Vzhled jednotliv²ch units</dt>
  185. <dd>
  186.     <p>V tomto kroku definujeme nejprve takzvan² Unit Frame, kter²m specifikujeme, jak bude vypadat p°φsluÜn² prvek (unit) strßnky. Vytvo°φme ho podobn∞ jako layout strßnky s pomocφ XHTML a CSS s dopln∞nφm specißlnφch znaΦek, kterΘ urΦujφ v²znam jednotliv²ch Φßstφ HTML k≤du (kam se generuje obsah unit a podobn∞). Vytvo°enΘ Üablony se poslΘze nahrajφ do nßstroje Easy Styler.</p>
  187.     <p>Dßle musφme definovat takzvan² Look&feel, ve kterΘm popisujeme vzhled vÜech souΦßstφ p°φsluÜn²ch units. Pro tento ·Φel musφme mφt ulo₧en v adresß°i "/html/Resources" soubor "default.css". JednotlivΘ CSS definice z tohoto souboru pak m∙₧eme aplikovat na r∙znΘ vlastnosti ka₧dΘ z units prost°ednictvφm jednoduchΘho nßstroje, obsa₧enΘho v aplikace Easy Styler. Nap°φklad CSS t°φdu ".highlight" pro zv²razn∞n² text m∙₧eme p°i°adit vlastnosti "Scroll link" prvku "scrollerunit".</p>
  188. </dd>
  189. </dl>
  190. </div>
  191.  
  192. <h4>Ov∞°enφ konzistence modelu</h4>
  193. <p>Pokud si chceme ov∞°it, zda mßme p°ipraveno vÜe pro ·sp∞ÜnΘ generovßnφ aplikace, m∙₧eme spustit automatickou validaci konzistence vytvo°en²ch model∙. WebRatio nßs upozornφ na p°φpadnΘ nedostatky, chyby a nekonzistence. NalezenΘ nesrovnalosti jsou t°φd∞ny na varovßnφ (warnings) a chyby (errors). Pokud se v projektu vyskytne chyba, nenφ mo₧nΘ pokraΦovat v generovßnφ k≤du. P°i nalezenφ varovßnφ m∙₧eme aplikaci bez problΘm∙ generovat, ale pozd∞ji nßs m∙₧e p°ekvapit neoΦekßvan²m chovßnφm.</p>
  194. <p>Pokud odstranφme vÜechny chyby a nekonzistence, staΦφ v menu zvolit volbu <strong>Build All</strong> a v²sledn² zdrojov² k≤d aplikace se vygeneruje do vybranΘho adresß°e. Pro b∞h aplikace je potom zapot°ebφ databßzov² server, kter² jsme urΦili ve fßzi mapovßnφ datovΘho modelu, a webov² server s podporou Javy v konfiguraci obdobnΘ serveru Apache Tomcat, kter² je souΦßstφ instalaΦnφho balφku WebRatia.</p>
  195.  
  196. <h3>DalÜφ informace</h3>
  197. <p>Tento Φlßnek p°inesl alespo≥ ΦßsteΦnΘ vysv∞tlenφ, jak se postupuje p°i v²voji webovΘ aplikace v prost°edφ WebRatio. Podrobn∞jÜφ popis jednotliv²ch krok∙ vΦetn∞ p°φklad∙ lze nalΘzt ve velice vyda°en²ch manußlech, kterΘ jsou souΦßstφ instalaΦnφho balφku tohoto nßstroje.</p><div class='refer'><h3><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/serial.asp?serial=16' title='p°ehled Φlßnk∙ vΦetn∞ anotacφ'>WebML -  Web Modeling Language</a></h3><p>SΘrie Φlßnk∙ popisuje zßklady technologie WebML - specißlnφ metodologie pro v²voj web-based aplikacφ, odvozenΘ od UML. Autor poukazuje nejen na v²hody, ale i na slabß mφsta, a radφ, jak je vyu₧φt ve vlastnφ prosp∞ch. Tato sΘrie Φlßnk∙ dosud nebyla ukonΦena!</p><ul><li><strong>WebML - tvorba aplikacφ v prost°edφ WebRatio</strong> (prßv∞ Φtete)</li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3412'>WebML - operace a manipulace s daty</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3297'>WebML - struktura webovΘ aplikace</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3158'>WebML - navigaΦnφ model</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3062'>WebML - kompozice webovΘ aplikace</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2959'>WebML - datovΘ modelovßnφ</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2893'>WebML - projektovßnφ webov²ch aplikacφ</a></li></ul></div>
  198.  
  199. <div id='article-author'>
  200. <a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/autor.asp?author=216'>Zelenka, Petr</a> (29. 10. 2004)
  201.  
  202. </div>
  203.  
  204.  
  205. </div></div>
  206. <div id='page-right'><h2 class='textversion'>Prav² sloupek</h2>
  207. <div id='search'><h3 class='textversion'>Vyhledßvßnφ</h3><form method='get' action='http://interval.cz/search.asp'><div><input type='text' name='hledej' class='text' /><input type='submit' class='submit' value='Najdi!' /></div></form><div><a href='http://interval.cz/search_ex.asp'>RozÜφ°enΘ vyhledßvßnφ</a></div></div>
  208.  
  209.  
  210.  
  211. <div class='page-right-box book'>
  212.     <h3>Kni₧nφ novinka</h3>
  213.     <div class='page-right-box-in'>
  214.         <div class='book-top'>
  215.             <h4><a href='http://interval.cz/__redirect/redirect.asp?what=interval_booknews&url=http://interval.inshop.cz/inshop/scripts/detail.asp?ItemID=274'>phpMyAdmin - efektivnφ sprßva MySQL</a></h4>
  216.         </div>
  217.         <div class='image'>
  218.             <img src='podklady/knihy/image.jpg' alt='obßlka' title='obßlka' /></a>
  219.         </div>
  220.         <div class='book-bottom'>Cena: <span class='book-price-old'>230 KΦ</span> <span class='book-price-new'>207 KΦ</span></div>
  221.     </div>
  222. </div>
  223.  
  224.  
  225.  
  226. <div class='page-right-box reading'><h3 title='NejΦten∞jÜφ Φlßnky za poslednφch 14 dn∙'>NejΦten∞jÜφ</h3><div class='page-right-box-in'><ul><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3619'>PφÜeme pro web - kv∞tinov² p°iklad</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3622'>Odstra≥te bariΘry svΘho webu - co novΘho po dvou letech</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3633'>PSPad - soubory a projekty</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3634'>Kritika webu - principy a doporuΦenφ</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3618'>phpMyAdmin - efektivnφ sprßva MySQL</a></li></ul></div></div><div class='page-right-box cauldron'><h3 title='Nejdiskutovan∞jÜφ Φlßnky za poslednφch 21 dn∙'>Diskuznφ kotel</h3><div class='page-right-box-in'><ul><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3600' title='(314 komentß°∙)'>ProΦ nepou₧φvßm XHTML</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3609' title='(131 komentß°∙)'>ProΦ pou₧φvßm XHTML</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3636' title='(83 komentß°∙)'>H°φchy pro ÜφlenΘho korektora - v²jimky, standardy a data</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3622' title='(67 komentß°∙)'>Odstra≥te bariΘry svΘho webu - co novΘho po dvou letech</a></li><li><a href='http://interval.cz/__redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=3619' title='(42 komentß°∙)'>PφÜeme pro web - kv∞tinov² p°iklad</a></li></ul></div></div>
  227.  
  228.  
  229.  
  230. <div class='page-right-box emailserv'><h3>Email servis</h3><div class='page-right-box-in'><form action='prihlaseni.asp' method='post'><div class='shell'><input class='text' type='text' name='adresa' /></div><div class='shell'><input class='radio' type='radio' value='1' name='co' checked='checked' />T²dennφ p°ehled Φlßnk∙</div><div class='shell'><input class='radio' type='radio' value='2' name='co' />HELP konference</div><div class='shell'><input class='submit' type='submit' value='P°ihlßsit' /></div></form></div></div>
  231. </div>
  232. <div class='page-maker'> </div><div class='page-maker-white'> </div></div>
  233. <div id='page-foot'><div id='page-foot-menu'><a href='http://interval.cz/reklama.asp'>Inzerce na Interval.cz</a> | <a href='http://interval.cz/redakce.asp'>Redakce Interval.cz</a> | <a href='http://interval.cz/autori.asp'>Hledßme novΘ autory</a></div><div id='issn'>ISSN 1212-8651</div><div id='page-foot-zoner'>© Zoner software, s.r.o., vÜechna prßva vyhrazena, tento server dodr₧uje <a href='http://interval.cz/privacy.asp'>prßvnφ p°edpisy</a>o ochran∞ osobnφch ·daj∙.</div></div>
  234. </body>
  235. </html>
  236.