Szia,

ami az elso kerdest illeti...

erre altalaban un. "staging" szerverek szolgalnak (hogy a fejleszto gepen vagy fejleszto szerveren az reszletkerdes). A modell lehet tobbfele, pl. egylepcsos de altalaban ketlepcsos (fejlesztoi, amin a fejlesztok kontroll nelkul barmolnak, i-teszt amin kontrollalt korulmenyek kozott integraciotesztelnek, fejlesztok nem fernek hozza es eles amit szinten csak az uzemeltetes "lat").

Tovabba, szerintem ha a fejleszto "harombetus metodusokat probalgat" az appServeren, azt en eleve rossz fejlesztesi "taktikanak" minositenem. Foleg a mai napokban, amikor a "vaskalapos" J2EE technologiat teljesen k.o.-zta a "tavaszi szel' es azok lightweight container-jei (Spring, Plexus, Pico container, HiveMind, stb.). Itt 100%-ban POJO (plain old java objects - tehat sima J2SE osztalyok) osztalyokat hasznalva kodolhatsz, ergo 100% lefedheto JUnit tesztekkel + Mock osztalyokkal melyekhez NEM KELL AppServer. Ezzel termeszetesen senki sem mondja azt hogy dobjuk az EJB-ket, csak azt, hogy "toljuk ki" azokbol a BL (business logic-ot) POJO osztalyokba, mert azok egyszeruen fejleszthetok, egyszeruen tesztelhetok, atlathatoak es kornyezetfuggetlenek (AppServeren kivul is eletkepesek).

Viszont, a "managers inertion" miatt a tech-menedzserek tovabbra is a (halado fejleszto korokben kozismerten rosszkent ismert) J2EE, EJB, entity bean, stb un. "hype" szavakra gerjednek: "minel tobb <hype -- csereld amire akarod>, annal [jobb|cool-abb|mittudomen] a projekt", holott ez bizonyitottan nem igaz.

Tehat ha AppServeren fut a cuccosod, akkor valojaban mar i-tesztrol (integration teszt)-rol beszelunk, es azt (a kozhiedelemmel ellentetben) sosem szabad a junit tesztekkel "kiegyenliteni".

Tovabba, hasznalva valamilyen "continous integration server"-t mint pl. a Continuum vagy a Cruisecontrol (ezek OSS szoftverek), lefedhetsz minden fele tesztet, Junittol (reszben az) i-tesztig. Ezen kivul termeszetesen lehet meg szukseg valos AppServer i-tesztre, kontrollalt korulmenyek kozott.


Summa summarum, a (leegyszerusitett) modell, hogy (Subversion + fejlesztok POJO osztalyokat csinalgatnak) siman maradhat, es kell is hogy maradjon.

Miert bonyolitani ha lehet egyszeruen is?

Udv,
~t~

On 8/23/06, javalist@javasite.bme.hu <javalist@javasite.bme.hu > wrote:
*** Felado: Böszörményi Péter < zmblevlist@gmail.com> ***

Udv a listanak!

Eddigi munkahelyemen amikor valami fejlesztes volt, mindig a kovetkezo
volt a felallas: cvs-ben a forras, az ember leranotta maganak, tovabb
heggesztgette, probalgatta, foltozgatta, majd a modosult forrasokat
visszarakta. Amig az ember egyszeru programokat ir (ez alatt ertem azt,
hogy semmilyen appszerver nem jatszik), hasznalhato a model, mert ki van
a gepen alakitva egy kornyezet, ahol tudja futtatni a programot. De mi
van akkor, ha az ember appszerver ala fejleszt, es megprobalja az ossze
harom betus roviditest felhasznalni benne? Minden gepen ott fut egy
lokalis appszerver, ami ala berakja a kodot, es probalgatja (Oracle AS
eseten pl ez igen erdekes lenne :)), vagy van egy kozponti szerver, ami
ala mindenki orrba-szajba hajigalja be a felkesz cumokat? Tehat: j2ee
fejlesztes soran hogyan oldjak meg a fejlesztok a kodolas kozbeni
probalgatast?