2011-01-19

Callista Developer's Conference 2011

Vi server trender och erfarenheter inom Java, Arkitektur och öppen källkod.

Presentationer

Foto av Johan Eltes

Uttrycksfulla, stabila domänmodeller – En utopi?

Johan Eltes

Domändriven design handlar om att sätta domänobjekten i första rummet. Ju mer logik som kan kopplas till domänobjekten, desto mer uttrycksfulla blir de, och desto mer domändriven blir vår design.

Tyvärr har det visat sig att uttrycksfulla domänobjekt ofta leder till att domänobjekten blir svåra att underhålla och att domänmodellen ständigt behöver förändras. I större system där flera moduler återanvänder samma domänmodell blir situationen snabbt ohållbar. Det har ibland lett till motsatsen till DDD - att domänmodellen enbart blir ett persistenslager.

En del av förklaringen ligger i begränsningar i Java. Genom att utnyttja möjligheter i nya språk kan uttrycksfullhet nås utan att offra förvaltningsbarhet. Det finns också en ny arkitektur - Data, Context and Interaction (DCI) - som syftar till att lösa problemet. Föredraget beskriver DCI och hur Groovy kan komplettera Java för att ge en pragmatisk implementation av DCI.

Ladda ner presentation
Foto av Magnus Larsson

SOI Toolkit – Turboladdad Mule-utveckling

Magnus Larsson

Mule ESB har på kort tid etablerat sig som den ledande integrationsplattformen baserad på öppen källkod, med över 2500 affärskritiska tillämpningar i skarp drift och miljontals nedladdningar. Några av fördelarna med Mule ESB är möjligheten att med korta ledti- der skapa lättviktiga och flexibla lösningar, utan att ge avkall på robusthet och prestan- da. Men inga produkter fungerar utan en väl genomtänkt arkitektur och ett effektivt verk- tygsstöd. Därför har projektet SOI Toolkit startats. SOI Toolkit är ett öppen-källkodsprojekt för att snabbt komma igång med Mule ESB. SOI Toolkit innehåller bland annat källkodsgeneratorer och färdiga komponenter för ett antal integrationsmönster. Oavsett komplexiteten i en integration ges fullt stöd för testdriven utveckling. Föredraget ger en översikt av SOI Toolkit och visar genom praktiska exempel hur man snabbt bygger lösningar för några vanliga integrationsmönster med Mule ESB.

Ladda ner presentation
Foto av Niklas Gustavsson

Real time web - Eller varför alla behöver en PubSubHub-bubhub

Niklas Gustavsson

Hur går det till när Twitter levererar sin uppdatering i realtid till din klient? Hur låter man sin sökmotor visa uppdateringar i samma sekund som sajten uppdateras?

Den gemensamma lösningen är det som med ett hypat samlingsnamn kallas för The real-time web. I den här presentationen kommer vi titta närmre på tekniken bakom och hur man kan utnyttja vår ökade kunskap om HTTP och REST för att bygga allt mer sofistikera- de lösningar. Vi kommer även utmana demodjävulen genom att tillsammans bygga en realtidsapplikation.

Ladda ner presentation
Foto av Mats Ekhammar

Senaste nytt från QCon 2010

Mats Ekhammar

Vi ger en kort översikt av de senaste trenderna inom arkitektur och mjukvaruutveckling från konferensen QCon San Fransisco, hösten 2010.

Ladda ner presentation
Foto av Björn Beskow

Kod som är värd något

Björn Beskow

Agil projektstyrning och testdriven utveckling (TDD) hjälper oss att leverera väl designad, väl strukturerad, robust och pålitlig kod med hygglig förutsägbarhet och träffsäkerhet - de hjälper oss att bygga mjukvaran rätt. Ändå misslyckas vi ofta med att leverera det kunden vill ha. Vad är det som saknas?

Testdrivet kravarbete, agil acceptanstestning och BDD är olika namn på samma företeelse: Använd styrkorna i det agila arbetssättet (transparens, snabb feedback, kompromisslös automation) för att tillsammans med kund säkerställa det allra viktigaste: Att bygga rätt mjukvara.

Ladda ner presentation
Foto av Magnus Ekstrand

ATDD - Acceptance Test Driven Development

Magnus Ekstrand

Ett framgångsrikt genomförande av agila projekt kräver en aktiv medverkan av representanter från verksamheten, utvecklare och testare. ATDD är en viktig del för att lyckas leva upp till ett projekts förväntningar. Testdriven utveckling (TDD) har under de sista åren blivit en alltmer naturlig och viktig del vid utveckling av mjukvara. Även om det inte är en riktig testmetod utan en design-/konstruktionsmetod, har den positiva effekter allteftersom programvaran växer. Men vad är ATDD och vilka är de kritiska framgångsfaktorerna? Presentationen ger en kort introduktion till ATDD tillsammans med en demonstration av Fitnesse - ett verktyg väl lämpat för automatisering av acceptanstester. I demonstrationen skapas ett acceptanstest, uttryckt som “Given - When - Then”, för att verifiera funktionalitet i ett bibliotek där vi inte har kontroll på källkoden.

Ladda ner presentation

Tutorials

Foto av Anders Asplund Foto av Niklas Gustavsson Foto av Pär Wenåker

Scala

Anders Asplund • Niklas Gustavsson • Pär Wenåker

Scala är ett programmeringsspråk som är designat för att på ett koncist, elegant och typsäkert sätt integrera både objektorienterade och funktionella programmeringsmodeller i ett och samma språk. En del av fokus kommer att ligga på Actors - ett ramverk i Scala som underlättar utveckling av parallella program.

Denna tutorial vänder sig till vana Java-utvecklare som är nyfikna på Scala. Inga förkunskaper i Scala krävs. Däremot förutsätter vi att du tar med egen laptop med Scala installerat (installationsanvisningar kommer separat). Målet är att på 3 timmar ge dig en bra grund för fortsatta utforskningar av språket.

Foto av Håkan Dahl Foto av Magnus Larsson

Mule/SOI Toolkit

Håkan DahlMagnus Larsson

SOI Toolkit är ett öppen-källkodsprojekt som innehåller stöd för att snabbt komma igång med Mule ESB. SOI Toolkit innehåller bland annat källkodsgeneratorer och färdiga komponenter för ett antal olika integrationsmönster, och ger även stöd för loggning och testdriven utveckling.

I denna tutorial gör vi en kort genomgång av Mule och SOI Toolkit, och bygger sedan steg för steg ett större integrationsscenario i praktiska övningar. Testbarhet och testdriven utveckling ingår som ett viktigt moment.

Övningar sker på egen medhavd laptop. Du bör ha baskunskaper i Java och Eclipse. Erfarenhet av Maven och Spring är en fördel, men inte något krav.

Foto av Björn Beskow Foto av Christian Hilmersson

Grails & Groovy

Björn BeskowChristian Hilmersson

Groovy är ett dynamiskt språk för JVM:en som integrerar extremt väl med i princip alla befintliga Java-ramverk. Grails är ett avancerat och innovativt Web-ramverk baserat på Groovy (inspirerat av bl.a. Ruby on Rails) som ger utmärkt produktivitet samtidigt som den naturliga integrationen med Java ger möjlighet till gradvis migrering och återanvändning av befintliga applikationer och ramverk. Denna tutorial vänder sig till dig som har erfarenhet av webutveckling på Java-plattformen och är nyfiken på Groovy & Grails. På din medhavda laptop kommer du under ett antal övningar få bygga, testa och driftsätta en fullvärdig Grails-applikation.