On Fri, Oct 24, 2008 at 09:56:49AM +0200, Zdenek Tronicek wrote: > Cituji Oto Buchta <[EMAIL PROTECTED]>: > >>> >>> Az bude chtit smenarna webovou sluzbu, tak se prida webova sluzba. Proc by >>> se kvuli tomu melo prepisovat JSP opravdu nevim. >> >> a) JSP vracejici SOAP Envelope je SOAPova WebServisa, JSP vracejici XML >> je mozno povazovat za XML WebServisu >> b) pokud bude implementace pomoci JAXB, JavaWS ci neceho podobneho, ano, >> nebude se prepisovat JSP, ale "copy&paste z JSP" do nove vzniknuvsi Java >> tridy asi delat budes, ne? Nebo to budes znova vymyslet a psat? >> > > Ahoj Tapiku, > > musim priznat, ze nechapu jak se bod a) vztahuje k tomu, co jsem napsal a
Protoze pises: "Az bude chtit smenarna webovou sluzbu, tak se prida webova sluzba". JSP vracejici data automaticky zpracovatelne a ktera vyhovuje elementarni definici WebServisy (napr viz http://tapikuv.blogspot.com/2008/06/webservisovn-dl-prvn-webservisa.html ) je mozno za WebServisu povazovat. Ale ot jen tak na okraj. > JSP vracejici SOAP jsou pro me novinkou. Pokud jde o JSP vracejici XML, tak SOAP v doclitu neni nic jineho nez XML podle SOAPoveho schematu. > to samozrejme jde. Ale proc by se kvuli tomu prepisovalo puvodni JSP jsi mi > nevysvetlil. Kdyz chces misto HTML vracet XML, asi ho prepises, ne? Mozna bys udelal jiny postup, ja nikoli ;-) > Ohledne implementace v Java WS: zadne copy&paste tady nebude. Tedy krome > SQL prikazu, pokud bych pouzil JDBC. Pri pouziti JPA ovsem ani to ne. Ono C&P bylo v uvozovkach. Ja osobne bych si v jendom okne otevrel JSP, v druhem Java tridu, zobrazil okna vedle sebe a "prepisoval" bych logiku presne podle toho, co mam uz jednou napsano v tom JSPcku. > > To JSTL SQL, ktere jsem pouzil v predchozim mailu, melo 13 radku. Opravdu > mas pocit, ze je efektivni vytvaret sofistikovane reseni, abys budoucnu pri > souhre nekolika okolnosti (ktere mohou, ale nemuseji nastat) nemusel tech > 13 radku zahodit? Problem natava, kdyz tech 13 radku zahazujes poseste a poseste musis vse znova odladovat. Ale i ono "sofistikovane" reseni lze napsat jednoduse. >>> Nehlede na to, ze vytvareni slozitejsiho reseni na zaklade >>> vlastni uvahy (v zadani to neni) "co kdyz nekdy mozna...", je ekonomicky >>> jen tezko zduvoditelne. >>> >> >> Bohuzel mam pro tebe spatnou zpravu: naopak je to velice JEDNODUSE >> zduvodnitelne. Ono totizto "co kdyz mozna..." v sobe zahrnuje i neco, jako je >> nasledny vyvoj aplikace. Rozsirovani a udrzba software zabere vetsinou vice >> casu nez prvotni vytvareni. A neustalym psanim stejneho software znovu a >> znovu >> si jiste ve vysledku nic neusetris. >> > > K tomuhle mam jednu poznamku: vyvoj "univerzalnich" komponent, ktere jdou > nad ramec zadani, je pomerne castym duvodem selhani projektu. Tady je jadro pudla. Neexistence definice jakekoli univerzalni knihovny v ramci zadani od zakaznika. Jemu je burt, jestli ti nakodujes vsechno do jendoho servletu nebo to bude bezet ve dvaceti abstraktnich vrstvach. Pro nej je dulezite: a) aby to fungovalo a nepadalo b) aby to bylo hotovo co nejrychleji c) aby nebyl problem do toho v budoucnu sahout Je tedy ciste na tvem rozhodnuti, co zvolis za technologii, co si napises sam, co hotoveho pouzijes a jakym stylem to napises. Ja osobne prosazuju deleni na co nejmensi autonomni samostatne testovatelne jednotky a vrstvy. V prvni fazi si to naprototypuju a behem prototypovani mi vypadnou pozadavky na dalsi modularizaci. V principu je mi jedno, jestli jsou onemi jednotkami metody, tridy, EJBcka, JSPcka ci cele aplikace. V ramci prototypovani tveho prikladu bych si asi udelal jednoduchou beanu, ktera mi bude vracet to, co chces tahat s databaze, napsal bych si jednoduchy testik, ze to opravdu vraci, a pak bych si hral s xichtem. Minimalne bych predesel tomu, ze bych nekde neco spatne zazobakoval a pak pracne hledal, proc mi to vraci neco jineho... Oto 'tapik' Buchta PS: Ale je take treba rict, ze jit s kanonem na vrabce je taky nanic. Viz onen priklad s Hello,World!. Pred 15 lety koloval mailem vtip, ve kterem se ukazoval prave na Hello,World! aplikaci rozdil mezi ruznymi pristupy. Nejtrivialnejsi byla aplikace v shellu, ktera obsahovala jenom echo "Hello, World!" Na druhe strane pak stala 7 stranek dlouha aplikace v Borland Pascalu, ktera wrapovala vystup z TurboVision a retezec Hello, World! posilala ven pres bufferovany stream, na kterem byly povesene nejake hooky... Oba dva to jsou extremy.