2012-01-29

Callista Developer's Conference 2012

Det var full fart på 10-årsjubilerande Cadec, med tre intensiva tutorials (Introduktion till Git, Enterprise Android och Mobila Tjänster med Mule), och fler än 160 deltagare anmälda till konferensen. Stort tack till alla som var med och bidrog till en utvecklande dag med en skön blandning av teori och praktik.

Frågor och svar från quiz på After Cadec finns att ladda ner här.

Nedan hittar ni beskrivningar och slides för årets presentationer och tutorials.

Vill du veta mer?

Om du är nyfiken på att veta mer om något av ämnena kan vi erbjuda företagsinterna presentationer, workshops och tutorials. Där kan vi gå in i detalj och visa exempel på implementationer, eller diskutera ett ämne med utgångspunkt från dina behov. Kontakta Anders Forssell för mer information.

Presentationer

Foto av Björn Beskow

Web Acceptance Testing Revisited

Björn Beskow

Moderna, dynamiska webbapplikationer blir allt svårare att testa. Utmaningarna är de gamla vanliga - enkelhet, robusthet och repeterbarhet - men ställs på sin spets i en webbapplikation. Skillnader mellan plattformar och webbläsare, godtyckligt strukturerad dynamisk html, asynkron evaluering av javascript mm. Samtidigt som kraven på allt kortare time-to-market leder till ökade krav på automatiserad testning blir applikationerna allt svårare att testa. Traditionella verktyg för webbtester fungerar helt enkelt inte. Den gamla devisen “undvik att testa web-GUIt, testa annat istället” håller inte heller. Det måste finnas bättre sätt!

Och visst finns det. Branschen har hittat en väg framåt i form av (som så ofta tidigare) ytterligare abstraktionslager. I botten en abstraktion över automation av webbläsarna. Ovanpå det ett sepa- rat abstraktionslager för DOM-specifika detaljer. Och därmed finns förutsättningar för domän- specifika specifikationer av förväntat beteende. Enklare, robustare och mer repeterbart.

Detta föredrag går helt kort igenom en sådan ansats, och exemplifierar med Selenium 2.0/WebDriver för browser-automation, Geb för browser-abstraktion och Spock samt EasyB för specifikation.

Ladda ner presentation
Foto av Peter Larsson

(SQL ⊆ NoSQL) != Oracle

Peter Larsson

Moderna, dynamiska webbapplikationer blir allt svårare att testa. Utmaningarna är de gamla vanliga - enkelhet, robusthet och repeterbarhet - men ställs på sin spets i en webbapplikation. Skillnader mellan plattformar och webbläsare, godtyckligt strukturerad dynamisk html, asynkron evaluering av javascript mm. Samtidigt som kraven på allt kortare time-to-market leder till ökade krav på automatiserad testning blir applikationerna allt svårare att testa. Traditionella verktyg för webbtester fungerar helt enkelt inte. Den gamla devisen “undvik att testa web-GUIt, testa annat istället” håller inte heller. Det måste finnas bättre sätt!

Och visst finns det. Branschen har hittat en väg framåt i form av (som så ofta tidigare) ytterligare abstraktionslager. I botten en abstraktion över automation av webbläsarna. Ovanpå det ett sepa- rat abstraktionslager för DOM-specifika detaljer. Och därmed finns förutsättningar för domän- specifika specifikationer av förväntat beteende. Enklare, robustare och mer repeterbart.

Detta föredrag går helt kort igenom en sådan ansats, och exemplifierar med Selenium 2.0/WebDriver för browser-automation, Geb för browser-abstraktion och Spock samt EasyB för specifikation.

Ladda ner presentation
Foto av Johannes Carlén

Ready to Go Mobile!

Johannes Carlén

Appar och mobila anpassningar är ett mycket hett ämne just nu. Många företag vill skapa nya gränssnitt och göra sina äldre system tillgängliga via mobilkanalen, och rusar rakt in i… ja in i vadå?

Om satsningen inte är genomtänkt och planerad finns risken att hamna i kostnadsdrivande fällor, t.ex. vad gäller fördyrad förvaltning och ett fragmenterat systemlandskap. Vi reder ut några av de punkter som bör tas med i planeringen innan en mobilsatsning i en enterprisemiljö påbörjas.

Vi går igenom de väsentligaste skillnaderna mellan olika angreppssätt och plattformar. När skall man välja den ena plattformen framför den andra? Vad kan dessa val innebära med avseende på bland annat säker kommunikation, underhåll och distribution? Hur säkrar man kvaliteten med hjälp av automatiserade funktionella tester av appar?

Ladda ner presentation
Foto av Magnus Larsson

Mobil-enabla ditt systemlandskap med hjälp av Mule ESB

Magnus Larsson

Relationsdatabaser har under de senaste 30 åren varit en framgångsrik tekniknisch helt och hållet baserad på sund vetenskaplig teori och standarder.

Verkligheten har egentligen aldrig varit tillrättalagd för denna välordning, och så länge som rela- tionsdatabaser har funnits har applikationer på egen hand fått hantera dess tillkortakommanden, t.ex. när det gäller stora datamängder, speciella datatyper, många användare och snabb åt- komst. Dessutom har så kallade objektorienterade databaser funnits på marknaden under nästan lika lång tid som fungerande relationsdatabaser.

Vad vi nu ser i företagsvärlden är en explosion av open source-teknik för att hantera verkliga problem som IT-arkitekter och designers dagligen står inför och som man tidigare fick hantera i sina applikationer. Dessa problem löser man inte med formella teorier utan tvärtom - teorierna pekar snarare på behovet av domänkompetens, sunt förnuft och pragmatik.

NoSQL betraktas ofta som en postmodernistisk motrörelse till klassiska relationsdatabaser, men Not only SQL innefattar per definition även SQL, och rörelsen handlar snarare om att en klassisk relationsdatabas inte räcker till för att lösa alla typer av datahanteringsproblem.

Syftet med detta föredrag är att sortera ut några olika typiska datahanteringsproblem och även demonstrera olika open source-baserade lösningar för dessa problem.

Ladda ner presentation
Foto av Pär Wenåker

Play! Framework

Pär Wenåker

Play har seglat upp som ett intressant alternativ för utveckling av web-applikationer i Java. Play är en komplett web-stack som innehåller såväl byggverktyg som web-server. Fokus ligger på att erbjuda en miljö som maximerar produktiviteten i samma anda som Ruby-on-Rails, Django, Grails etc. Samtidigt finns stöd för mekanismer som blir allt vanligare i moderna web-applikationer, exempelvis asynkron hantering.

Play applikationer är skrivna i Java och kräver därmed ingen investering i ett nytt programmeringsspråk.

Föredraget kommer att gå igenom grunderna för Play 1.x samt erbjuda lite live-kodning.

Ladda ner presentation

Tutorials

Foto av Håkan Dahl Foto av Magnus Ekstrand Foto av Magnus Larsson Foto av Mats Ekhammar Foto av Ola Deibitsch

Mule++ - Skapa mobila tjänster med Mule

Håkan DahlMagnus EkstrandMagnus LarssonMats EkhammarOla Deibitsch

Hur når du nya målgrupper som använder mobila enheter? Detta från en befintlig integrations- lösning där du samtidigt vill behålla allt det som en Enterprise lösning ger dig i form av skalbar- het, säkerhet och hög tillgänglighet.

Efter denna tutorial kan du sluta grubbla för då har du själv åstadkommit detta på ett fåtal tim- mar. Om du dessutom vill nå högre höjder med molnteknologi kommer detta också att infrias un- der samma timmar. Denna tutorial består bl a av följande delar:

  • Utveckla integrationskomponenter med SOI Toolkit och visa upp dessa i Mule Studio
  • Utöka en befintlig integrationslösning till att nå mobila enheter
  • Driftsätta utvecklade integrationslösningar i ”Mule-molnet”

Förkunskaper: Baskunskaper i Java och Eclipse samt gärna erfarenhet av Maven och Spring. Övningarna sker på egen medhavd laptop, ta också med din smartphone helst då en Android.

Foto av Björn Beskow Foto av Jan Västernäs

Introduktion till distribuerad versionshantering med Git

Björn BeskowJan Västernäs

Behöver vi ett nytt versionhanteringssystem? Det fungerar ju så bra med CVS/Subversion/Clear- case? Om man tittar närmare på vad verktygen som stöder DVC erbjuder så upptäcker man ofta att de öppnar helt nya möjligheter som påverkar hur man kan jobba i projekt.

Denna tutorial innehåller

  • En översikt av vad DVCS innebär
  • Introduktion till git
  • Introduktion till github
  • Praktiskt arbete med git på prompten och mha ett basalt gui som git-gui/gitk. Övningarna sker på egen medhavd laptop.
  • Kort översikt av vilka grafiska verktyg som finns

Förkunskaper: kännedom om något legacy versionhanteringssystem.

Foto av Anders Asplund Foto av Hans Thunberg Foto av Marcus Krantz

Enterprise Mobile Platforms - Andriod i professionella tillämpningar

Anders AsplundHans Thunberg • Marcus Krantz

De senaste åren har Smartphone-försäljningen exploderat, och så även antalet appar som finns tillgängliga för användarna att ladda ner. Företag väljer allt oftare mobilen som distributionska- nal för sina tjänster, och frågor som snabbt dyker upp är hur man exponerar sina befintliga sy- stem i den mobila kanalen.

Den här tutorialen baseras på Android, som är en av de största mobila plattformarna i dagslä- get. Tutorialen kommer att utgå från ett befintligt system som exponerar vissa tjänster och vi kommer att påvisa hur man kan kommunicera säkert med det befintliga systemet samt hur man på olika sätt kan autentisera sig för att konsumera dessa tjänster.

Tutorialen kommer att besvara följande frågeställningar:

  • Hur kommunicerar vi med ett existerande system på ett säkert sätt?
  • Hur löser vi insynsskyddad kommunikation?
  • Hur autentiserar vi oss mot ett befintligt system?
  • Hur testar vi och integrerar vår app i ett befintligt bygge?

Syftet är att deltagaren ska kunna lämna tutorialen med god insikt i hur man kommunicerar med befintliga system på ett säkert sätt, inklusive olika tillvägagångssätt för autentisering. Vi går även igenom verktyg för automatiska byggen och testning på Android-plattformen.

Förkunskaper: Deltagaren bör ha baskunskaper i Java samt vara bekanta med Android-plattfor- men. Övningarna sker på egen medhavd laptop, ta också gärna med en Android-telefon.