Struts-gänget har tydligen skrivit om planerna för Struts framöver. Ett nytt underprojekt, ”Shale”, är öppnat, och befintliga Struts kallas numera ”Struts Classic”.
Kortfattat har jag fattat nyheten såhär:
- Struts (Classic) går nu in i underhålls-läge. Inga stora förändringar är planerade och vidare arbete kommer bara att handla om felrättningar och liknande.
- Som det verkar nu kommer Struts Classic därför aldrig att komma i en ”version 2.0″.
- Shale är ett projekt med en helt ny kodbas, och med Java Server Faces som grund. Det är nog tänkt att det ska lösa samma typ av problem som Struts Classic, men med annat API och annat angreppssätt. (Det är förstås JSF-kopplingen som är den viktigaste aspekten här.)
Naturligtvis framkallar ett sådant här meddelande reaktioner, och i blogvärlden är det som vanligt inga problem att hitta negativa inlägg… (Exempelvis här.) Själv har jag väl ungefär de här tankarna i den här frågan:
- Om Struts var ett kommersiellt projekt skulle det här aldrig hända! Tänk om Microsoft sa att ”Word är nu färdigt, och behöver inga fler funktioner. Vi kommer att fortsätta fixa alla buggar, men ni behöver inte köpa några fler uppgraderingar.” Yeah, right…
- Det här är på något sätt ett fantastiskt tillfälle att bevisa att open source fungerar. Om Struts-projektet missbedömt behovet av en ny version av ”Struts Classic”, så kommer den att skapa sig själv. Struts användarskara är stor nog att underhålla och vidareutveckla produkten själva.
- Själv tycker jag helt krasst att det är rätt beslut. Struts löser redan det problem som det designats för att lösa. Snarare har det flytit ut för mycket på sidorna och försöker lösa närliggande problem också, men det tycker jag är feltänkt. Bättre att lösa ett väldefinierat problem bra än att vara halvbra på lite av varje. Jag skulle inte ha något emot att använda ”Struts Classic” på ett problem där jag vet att det uppfyller kraven — även om det finns ett nyare projekt med ett annat angreppssätt. Och jag är inte orolig för att de projekt där jag redan använt Struts (”Classic”) ska plötsligt bli obsoleta och sluta fungera bara för att någon tycker att Struts är ”färdigt”.
- Det roliga är att om det skulle visa sig att användarna av Struts verkligen skriker efter en ny version med någon nu okänd funktion, så kommer den att komma! Antingen som en open source-fork av Struts, eller (troligare) som ett kommersiellt tillägg. Det är ju just det som är det intressanta med open source: någon kan ta upp facklan om den tappas för tidigt.
Slutligen: med den lilla osäkerhet som finns nu med Struts (i alla fall på kort sikt) så känns det skönt att det finns gott om fullgoda alternativ, när man blir tvungen att välja. Jag tänker i första hand på Webwork och Spring, som är mina favoriter.
Gruppen som utvecklar Hibernate har släppt en första version av en plugin för att stödja användningen av Hibernate3 inifrån Eclipse. Bl a finns stöd för att generera mappingsfiler och POJO’s direkt från databastabeller. Observera att pluginen kräver Hibernate3.
Craig McClanahan, pappa till Struts och numera djupt involverad i JSF på Sun beskriver hur du går till väga för att använda Struts tillsammans med JSF i en artikel här
Oracle ligger långt framme vad det gäller JSF bland leverantörer. Här finns en intervju med två av frontfigurerna på Oracle, Ted Farrel och Adam Winer.
Data Access with the Spring Framework beskriver hur Hibernate kan användas tillsammans med Spring.
Skriven av Juergen Hoeller, som är ”release manager” för Spring-projektet.
Går igenom hur du använder Templates såväl som AOP för att kombinera Hibernate och Spring.
Det är ingen överdrift att säga att objektorienterad systemutveckling är det helt dominerande synsättet för programkonstruktion, och det har det också varit de senaste åren. Men utvecklingen har inte stått stilla för det. Ett exempel på nya hjälpmedel i OO-verktygslådan är designmönster vilka syftar till att ge utvecklaren en katalog med generella lösningar på vanligt återkommande designproblem.
Ett annat sådant hjälpmedel, som ännu inte fått lika mycket uppmärksamhet som designmönster, men som i min åsikt har ännu större potential, är aspektorienterad systemutveckling (Aspect-Oriented Programming). Läs mer >>
Ett nedladdningsbart utdrag ur boken SpringLive beskriver problemen med att kombinera ActionForms och POJO’s (Plain Old Java Objects) och ger ett förslag på lösning. Källkod för nedladdning finns.
Denna artikel beskriver den populära opensourcekomponenten Hibernate. Hibernate är ett s.k. Object Relational Mapping (ORM) verktyg som används för att möjliggöra persistens. Hibernate är ett av de mest aktiva och populära javaprojekten på Sourceforge och kommer garanterat dyka upp mer och mer i javabaserad systemutveckling framöver. Läs mer >>
Apache-projektet, som drivs av The Apache Software Foundation, är helt klart mest kända för sin marknadsdominerande webbserver (67% av marknaden i januari 2004). De flesta som utvecklar i Java är också väl bekanta med Jakarta-projektet som fungerar som ett paraply över en mängd av Java-projekt under Apache.
I den här artikeln kommer vi att gå igenom de flesta av Apaches Java-projekt. Syftet är att få fler att få upp ögonen på vilken hög med guldklimpar som rymmer sig där… Ja, rena guldgruvan, faktiskt!
Denna artikel är även publicerad i Datormagazin nr 11, 2003.
Läs mer >>
I denna avslutande del i min artikelserie beskriver jag det slutliga elddopet för mitt försök att implementera en design där persistensmekanismen kan bytas ut utan att klientkoden behöver skrivas om.
Ambitionen var att flytta persistenshantering till en J2EE-server och ge webappen tillgång till denna via en fasad i form av en sessionsböna. Servern jag valde var JBoss 4.0, en open-source server, flitigt använd av Javautvecklare och med en ökande marknadsandel.
Läs mer >>