Blogg

Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på Twitter

Callista medarbetare Sofia Jonsson

Intryck från TheServerSide Java Symposium - dag 1

// Sofia Jonsson

TheServerSides första europeiska Java-konferens, TheServerSide Java Symposium Europe (http://javasymposium-europe.techtarget.com/ ), inleddes igår i Barcelona, Spanien. Konferensen håller på till på fredag och har lockat någonstans kring 260 deltagare. Dagen inleddes med välkomsthälsning följt av ett Key Note om hur Java används inom Investment Banking-industrin. Inte det mest inspirerande inledningstalet kanske men förutom det har alla dagens föredrag hållt väldigt hög kvalitet. Vissa av föredragen är, iaf på pappret, upprepningar från JavaPolis-konferensen i vintras, men eftersom konferensen har 3 spår har det ändå inte varit något problem att hitta intressanta föredrag att gå på, snarare tvärtom.

Nya open source-projekt

Konferensen är fullspäckad med dragningar om mer eller mindre nya och intressanta open source-projekt. Gårdagen inleddes med två sådana, Direct Web Remoting (DWR) och Seam. DWR, som presenterades av dess grundare, Joe Walker, är ett ramverk som syftar till att förenkla användandet av AJAX ihop med Java. DWR innehåller bland annat ett antal färdiga JavaScript-funktioner som ihop med viss kod-generering ska göra den JavaScript-kod man själv behöver skriva betydlig mer lätthanterlig.

I DWRs nästa version, 2.0, kommer det också finnas stöd för så kallad Reverese AJAX, dvs att från Java-kod på servern trigga JavaScript-anrop på klienten. Demo-exemplet för Reverese AJAX var en webbaserad chat-klient där klienten alltså inte behöver ligga och polla servern efter uppdateringar, utan servern anropar klienten när en uppdatering dyker upp (under ytan löste DWR det på lite olika sätt, varav ett av dom trots allt var poll). För egen del så tror jag att användningsområdena för Reverse AJAX är betydligt färre än för vanlig AJAX, men på det stora hela såg DWR mycket lovande ut och kan vara värt att kolla upp om man är intresserad av det AJAX kan erbjuda men inte av att själv skriva och underhålla stora mänder JavaScript-kod.

Seam, som presenterades av Gavin King, är ett nytt ramverk som ska ta hand om “allting mellan JSF 1.2 och EJB 3.0”, dvs fungera som ett klister och sy ihop JSF komponenter med EJB 3.0 bönor. Presentationen fokuserade mycket på problematiken med “conversations” och “page flows”, dvs hur man håller state mellan requests och skapar en konversation med klienten. Seam använder sig (bland annat) av Stateful Session EJBs (SFSBs) för att lösa detta. En stor del av föredraget ägnades därför åt att motivera användandet av SFSBs för de tillfällen då man faktiskt behöver hålla state i en applikation genom att framhålla att alternativen, främst att hålla state i http sessionen, är precis lika illa ur ett resurs/klustrings-perspektiv, och sämre ur ett användar/utvecklar-perspektiv.

Seam verkar intressant men innan man riktigt har kommit igång med JSF och EJB 3.0 är det svårt att avgöra om det verkligen behövs något som “syr ihop” dem och om Seam isåfall är det bästa ramverket för det.

Under slutet av dagen presenterades ett tredje open source ramverk, denna gången med inriktning på test. TestNG är ett relativt nytt test-ramverk som har utvecklats för att komma runt de brister som finns i Junit (brister enligt föredragshållaren, som dock var öppen med att vissa kanske snarare skulle kalla dem för features). Bland den funktionalitet som TestNG tillför kan bland annat nämnas:

  • Möjlighet att konfigurera vilka tester som skall köras via en xml-fil.
  • Möjlighet att låta vissa tester eller grupper av tester bero på andra tester. Dvs Test B körs endast om Test A lyckades.
  • Använda annoteringar (finns även i JUnit sedan version 4).
  • Möjlighet att skicka in parametrar till testmetoderna.
  • Möjlighet att köra viss kod före och efter inte bara ett enskilt test utan även en test klass eller en hel testsvit.

Det fanns också enkla verktyg för att konvertera befintliga JUnittester till TestNG-tester.

###SOA - Same Old Architecture? Ett föredrag med “SOA” eller “Service Oriented” i titeln och farhågorna finns direkt där att ännu en timme av ens tid som kommer kastas bort på floskler och buzzwords. Till min glädje visade sig Gregor Hohpes dragning, Developing in a Service Oriented World, vara ett undantag. Att han är en av författarna till boken Enterprise Integration Patterns kanske har något med saken att göra. Föredraget innehöll väl inget nytt och revolutionerande men vinklingen, att tala om SOA ur ett utvecklarperspektiv, dvs vad innebär SOA för oss som utvecklare, vilka nya utmaningar ställs vi inför, vilka nya design patterns gäller osv, var intressant.

Och så lite EJB 3.0…

Nu när vår evighetslånga väntan äntligen är över och specen har släppts hade jag hoppats att det “obligatoriska” EJB 3.0 föredraget skulle innehålla någonting utöver den mest grundläggande informationen som man har hört ett otal gånger vid det här laget. Tyvärr fick mina förhoppningar stå tillbaka, kanske för att 99% i publiken på frågan om de hade börjat titta på EJB 3.0 och kände att de kunde det mest grundläggande inte räckte upp handen. Så föredragaren, Mike Keith från Oracle, gav väl helt enkelt publiken vad den ville ha.

Hoppas att Java Persistence API-föredraget idag, torsdag, går mer in på detaljerna!

Tack för att du läser Callistas blogg.
Hjälp oss att nå ut med information genom att dela nyheter och artiklar i ditt nätverk.

Kommentarer