De bedoeling van dit topic is om een aantal ervaringen in j2ee webapplicaties uit te wisselen. Met J2EE bedoel ik hier eigenlijk niet louter J2EE maar natuurlijk ook de frameworks die bij de ontwikkeling van een webapplicatie komen kijken.
Verder kan je het hebben over de hardnekkige problemen die je al tegengekomen bent en de sublieme manier waarop je deze opgelost hebt.
Ik werk voornamelijk met ANT, Struts/Tiles, Hibernate, JUnit en Log4J. En als IDE IntelliJ natuurlijk
En dan vergeet ik het Spring framework nog even.. waar ik de afgelopen tijd mee aan het stoeien ben, maar nog veel van moet leren 
ANT: Fantastische tool die het build/deploy proces zoveel vereenvoudigd!! Ik vraag me overigens wel af ofdat ik de enige ben die het totaal niet leuk vind om deze build-scripts te schrijven? Als ze eenmaal geschreven zijn, ben ik er echter wel altijd heel blij mee
Grote problemen heb ik eigenlijk nog niet echt gehad met Ant, buiten een aantal dependency problemen, maar deze waren dan ook wel vrij snel opgelost.
Struts/Tiles: Ben ik over het algemeen zeer tevreden over, al stuit ik soms wel op een aantal probleempjes. Zo kan je bvb in je tiles geen key-values gebruiken die naar je i18n-messages verwijzen. De enige oplossing die ik hiervoor kan verzinnen is JSTL maar dat is zo crap dat ik het niet eens aan de gang krijg
Ik zou eigenlijk ook wel willen weten hoe jullie de gebruikersinput afvangen? Om te beginnen met de bekende problemen met internet explorer, gebruik saved, gaat terug, saved opnieuw .. fouten! Ik weet dat dit af te vangen is met tokens, maar het gebruik van deze tokens lijkt me eigenlijk niet zo heel straight-forward te zijn.. je kan langs de andere kant ook wel werken met redirects, maar in hoeverre zijn deze effectief?
Hibernate: ORM framework die het persistentie gedeelte een stuk makkelijker maakt. Ik zou me hier nog graag in willen verdiepen, vooral betreffende caching & transactions. Ik heb soms wel de indruk dat Hibernate téveel queries wil uitvoeren, terwijl dit niet altijd nodig is (te wijten aan de mapping files die de objecten aan elkaar linkt). De enige optie hiervoor is om custom-SQL te schrijven maar daarmee gaat het ORM principe wel een beetje verloren.. Zijn er hier personen die zich al échte Hibernate guru's durven noemen overigens
?
JUnit: Het schrijven van unit-testen voor je applicatie. Heeft al meermaals zijn voordelen bewezen en je ziet onmiddelijk of je ergens je code breekt. Het 'moeilijke' aan JUnit vond ik vooral het verzinnen van de testcases. Soms had ik echt het gevoel van: "Zouden dit alle testen zijn.. of vergeet ik er nog wat?" waarop de betrouwbaarheid van je testen wel wat achteruit gaat imho.
Log4J - Logging mechanisme: Volgens sommigen nodeloze complexiteit, maar ik ben er wel voor te vinden. Al vind ik ook wel dat het niet nodig is om alles te gaan loggen. Vooral op het gebied van runtime logging, kan dit framework zijn nut wel bewijzen denk ik. Een andere leuke feature zijn de e-mail appenders, die bij het optreden van een fout de developpers op de hoogte brengen (zij krijgen dan een e-mail met een leuke stacktrace/foutboodschappen, en kunnen dan ook dadelijk aan de slag). Maar ikzelf heb dit nog nooit gebruikt, al zou ik het in de toekomst wel eens willen overwegen als het opzetten ervan niet té complex is.
Spring: Weet ik nog niet zoveel over te vertellen, too much to find out! Maar ism een ORM framework als Hibernate is het wel leuk in gebruik. Daar waar Hibernate soms vreemde exceptions throwt, worden deze nu mooi gewrapt in Spring runtime exceptions. Voor de rest handelt Spring ook voor een groot deel je Hibernate code af, waardoor je code er weer een stuk cleaner uitziet.
IntelliJ IDEA: Just a nice tool...
Verder kan je het hebben over de hardnekkige problemen die je al tegengekomen bent en de sublieme manier waarop je deze opgelost hebt.
Ik werk voornamelijk met ANT, Struts/Tiles, Hibernate, JUnit en Log4J. En als IDE IntelliJ natuurlijk
ANT: Fantastische tool die het build/deploy proces zoveel vereenvoudigd!! Ik vraag me overigens wel af ofdat ik de enige ben die het totaal niet leuk vind om deze build-scripts te schrijven? Als ze eenmaal geschreven zijn, ben ik er echter wel altijd heel blij mee
Grote problemen heb ik eigenlijk nog niet echt gehad met Ant, buiten een aantal dependency problemen, maar deze waren dan ook wel vrij snel opgelost.
Struts/Tiles: Ben ik over het algemeen zeer tevreden over, al stuit ik soms wel op een aantal probleempjes. Zo kan je bvb in je tiles geen key-values gebruiken die naar je i18n-messages verwijzen. De enige oplossing die ik hiervoor kan verzinnen is JSTL maar dat is zo crap dat ik het niet eens aan de gang krijg
Ik zou eigenlijk ook wel willen weten hoe jullie de gebruikersinput afvangen? Om te beginnen met de bekende problemen met internet explorer, gebruik saved, gaat terug, saved opnieuw .. fouten! Ik weet dat dit af te vangen is met tokens, maar het gebruik van deze tokens lijkt me eigenlijk niet zo heel straight-forward te zijn.. je kan langs de andere kant ook wel werken met redirects, maar in hoeverre zijn deze effectief?
Hibernate: ORM framework die het persistentie gedeelte een stuk makkelijker maakt. Ik zou me hier nog graag in willen verdiepen, vooral betreffende caching & transactions. Ik heb soms wel de indruk dat Hibernate téveel queries wil uitvoeren, terwijl dit niet altijd nodig is (te wijten aan de mapping files die de objecten aan elkaar linkt). De enige optie hiervoor is om custom-SQL te schrijven maar daarmee gaat het ORM principe wel een beetje verloren.. Zijn er hier personen die zich al échte Hibernate guru's durven noemen overigens
JUnit: Het schrijven van unit-testen voor je applicatie. Heeft al meermaals zijn voordelen bewezen en je ziet onmiddelijk of je ergens je code breekt. Het 'moeilijke' aan JUnit vond ik vooral het verzinnen van de testcases. Soms had ik echt het gevoel van: "Zouden dit alle testen zijn.. of vergeet ik er nog wat?" waarop de betrouwbaarheid van je testen wel wat achteruit gaat imho.
Log4J - Logging mechanisme: Volgens sommigen nodeloze complexiteit, maar ik ben er wel voor te vinden. Al vind ik ook wel dat het niet nodig is om alles te gaan loggen. Vooral op het gebied van runtime logging, kan dit framework zijn nut wel bewijzen denk ik. Een andere leuke feature zijn de e-mail appenders, die bij het optreden van een fout de developpers op de hoogte brengen (zij krijgen dan een e-mail met een leuke stacktrace/foutboodschappen, en kunnen dan ook dadelijk aan de slag). Maar ikzelf heb dit nog nooit gebruikt, al zou ik het in de toekomst wel eens willen overwegen als het opzetten ervan niet té complex is.
Spring: Weet ik nog niet zoveel over te vertellen, too much to find out! Maar ism een ORM framework als Hibernate is het wel leuk in gebruik. Daar waar Hibernate soms vreemde exceptions throwt, worden deze nu mooi gewrapt in Spring runtime exceptions. Voor de rest handelt Spring ook voor een groot deel je Hibernate code af, waardoor je code er weer een stuk cleaner uitziet.
IntelliJ IDEA: Just a nice tool...