Blogg

Här finns tekniska artiklar, presentationer och nyheter.

Foto av Peter Larsson

The Revenge of the Quiz - in the cloud Presentation

// Peter Larsson

Presentation från Cadec 2016

Kommersiella molntjänster erbjuder fantastiskt kraftfulla och kostnadseffektiva applikationsplattformar (PaaS), men vad bör man tänka “efter före på” utifrån en applikations livscykelperspektiv och företrädesvis då vad gäller klassiska problemområden som interoperabilitet, portabilitet och informationssäkerhet. Vi utgår från en enkel och typisk applikation och hur denna kan hanteras med avseende på ett urval av populära och kommersiella PaaS.

Foto av Mats Ekhammar

Spring Boot Presentation

// Mats Ekhammar

Presentation från Cadec 2016

Spring Boot erbjuder ett enkelt sätt att snabbt skapa nya Spring applikationer. Dessutom utan att behöva tänka på beroenden till 3:e parts bibliotek, initial konfiguration och paketeringen av applikationen. Vi kommer att gå igenom hur Spring Boot gör för att åstadkomma ovanstående förenkling. Därefter kommer vi att belysa några andra områden där Spring Boot väsentligt förenklar livet för en utvecklare.

Foto av Magnus Larsson

Microservices Presentation

// Magnus Larsson

Presentation från Cadec 2016

Många pratar om microservices och Docker som vägen fram för att bryta isär gamla tröga monoliter till mindre och mer lätthanterliga tjänster. Tjänster som sedan snabbt och enkelt ska kunna driftsättas i Docker containrar både lokalt och ute i molnet. Men hur gör man då? Att bryta isär en monolit i mindre komponenter medför att man börjar bygga distribuerade system och alla som provat på det vet vilka utmaningar det medför. Föredraget kommer handgripligen visa på hur man i en Java värld kan använda Spring Cloud och Netflix OSS för att bygga microservices som kan samverka på ett sunt sätt i en distribuerad miljö samt hur man använda Docker för att exekvera sin microservicar såväl lokalt som i molnet.
Foto av Björn Beskow

Kubernetes Presentation

// Björn Beskow

Presentation från Cadec 2016

"Divide and Conquer" är ingenjörens viktigaste sätt att angripa komplexa problem: bryt isär i mindre, begripliga delar. Objekt/komponent/service-orientering är just precis detta, tillämpat på komplexa, distribuerade mjukvaru-system. Men här finns en paradox: Vi måste kunna lita på att delarna alltid fungerar, för att helheten skall fungera. Och mjukvara är notoriskt opålitlig, hur liten den än är. Det här kan man närma sig på två sätt: Försöka göra de små mjukvaru-delarna ofelbara (i sig en lovvärd ansträngning, men förmodligen omöjlig att lyckas med), eller helt enkelt acceptera att delar ibland slutar fungera, och göra det bästa av situationen. En microservices-arkitektur tar typiskt den andra ansatsen: Isolera delarna från varandra, och försök begränsa effekterna av att delar ibland går sönder. Container-lösningar som Docker möjliggör samma ansats: Om delar ibland går sönder, kasserar vi helt enkelt den trasiga delen och skaffar snabbt en ny (eller ännu hellre många). Men nu ställs vi inför en ny utmaning: Hur håller man reda på väldigt många små delar, som ibland går sönder och måste ersättas, utan att det påverkar övriga delar? Open Source-projektet Kubernetes utgör Google's destillerade erfarenheter av denna utmaning. Detta föredrag belyser via en demo de centrala abstraktionerna i Kubernetes.
Foto av Sedina Oruc

Web Components Presentation

// Sedina Oruc

Presentation från Cadec 2016

För 3 år sedan var WebComponents en stor nyhet, som lovade mycket. Målet var att etablera en samlad bild på specifikationer för: “CustomElements”, “HTML Imports”, “Templates” och “Shadow DOM”. Ramverken Ember och Angular planerade för att integrera dem, till och med basera sig på dem.

Foto av Håkan Dahl

Java 9 Modulsystem (Jigsaw) Presentation

// Håkan Dahl

Presentation från Cadec 2016

Det nya modulssystemet (projekt Jigsaw) är huvudnumret på den rätt omfattande feature-listan för Java 9. Ursprungligen tänkt att ingå i Java 7 har modulsystemet nu tagit form. Modulsystemet ska råda bot på problem relaterade till classpath-röra, svag inkapsling i Java och ett monolitiskt JDK.

Foto av Stephen White

GraphQL Presentation

// Stephen White

Presentation från Cadec 2016

Product driven technology - seems to be the new mantra of current open source initiatives, no waste! just lean clean api’s and technologies. From Netflix to Facebook.

Foto av Magnus Larsson

Microservices Presentation

// Magnus Larsson

Presentation från högre skalbarhet och ökad feltolerans

Många brottas med monolitiska applikationer som medför långa ledtider, är svåra att skala upp och som är känsliga för störningar. På senare tid har begreppet microservices förts fram som en möjlig lösning.

Foto av Magnus Larsson

Microservices Presentation

// Magnus Larsson

Presentation från högre skalbarhet och ökad feltolerans

Många brottas med monolitiska applikationer som medför långa ledtider, är svåra att skala upp och som är känsliga för störningar. På senare tid har begreppet microservices förts fram som en möjlig lösning.

Foto av Björn Beskow

Testautomation tutorial Tutorial

// Björn Beskow

Tutorial från Cadec 2015

Effektiv testautomation stupar ofta på tekniska tillkortakommanden i verktyg och ramverk. Istället för att kunna koncentrera sig på de verkliga utmaningarna inom test, tvingas vi ofta lägga orimligt mycket tid på teknikaliteter kring själva automationen. Här är inte alltid ett traditionellt, starkt typat, språk som Java helt ändamålsenligt, även om den produktionskod som skall testas är Java-baserad.

Foto av Magnus Larsson

Reactive Presentation

// Magnus Larsson

Presentation från Cadec 2015

Med ett ständigt ökande antal uppkopplade enheter (mobiler, plattor, “Internet of things” …) ökar kravet på att kunna hantera många samtidiga anrop till våra system. Traditionellt har Java baserade system använt så kallad ”blocking I/O”, dvs allokerat en tråd för varje inkommande anrop. Detta resulterar i begränsad skalbarhet samt dålig tolerans för fel orsakat primärt av dränerade trådpooler. En nyckelfaktor för att lösa dessa problem är att utnyttja asynkrona mekanismer i underliggande operativsystem som ger möjlighet till så kallad ”non-blocking I/O”. Denna teknik allokerar inte en tråd per anrop vilket leder till betydligt bättre skalbarhet och feltolerans.

Foto av Magnus Larsson Foto av Mats Ekhammar

Reactive Tutorial Tutorial

// Magnus LarssonMats Ekhammar

Tutorial från Cadec 2015

Med ett ständigt ökande antal uppkopplade enheter (mobiler, plattor, “Internet of things” …) ökar kravet på att kunna hantera många samtidiga anrop till våra system. Traditionellt har Java baserade system använt så kallad ”blocking I/O”, dvs allokerat en tråd för varje inkommande anrop. Detta resulterar i begränsad skalbarhet samt dålig tolerans för fel orsakat primärt av dränerade trådpooler.

Foto av Ola Deibitsch

RAML Presentation

// Ola Deibitsch

Presentation från Cadec 2015

Under Cadec 2014 frågade vi oss huruvida RAML, som ett nytt initiativ för att beskriva och uppmuntra till bättre API:er, skulle få momentum. Ett år har gått, men vad har hänt sedan dess? I detta blixtföredrag tittar vi inte bara närmare nyheterna i RAML 1.0, utan även snabbt vad som hänt med verktygslådan.

Foto av Magnus Larsson

Java 8 Presentation

// Magnus Larsson

Presentation från Cadec 2015

Med Java 7 EOL runt hörnet gör att vi snart måste uppgradera till Java 8. På vilket sätt kan vi då passa på att dra fördelar av de nya funktioner som erbjuds?

Foto av Jesper Holmberg

Från Maven till Gradle Presentation

// Jesper Holmberg

Presentation från Cadec 2015

Sedan några år tillbaka är Gradle ett modernt och spännande alterntiv till äldre byggverktyg som Ant och Maven. Gradle lånar många idéer från sina föregångare, men erbjuder använderen en helt ny flexibilitet och uttrycksfullhet. Ett smidigare och mer kraftfullt byggverktyg ger många fördelar när projekten växer och blir mer heterogena, men även för mindre projekt är Gradle ett utmärkt verktyg för att skapa kompakta, läsbara och lättföränderliga bygglösningar.

Foto av Oskar Thunman

FHIR och interoperabilitet i sjukvården Presentation

// Oskar Thunman

Presentation från Cadec 2015

Hälso- och sjukvården hör till de branscher där rätt information vid rätt tillfälle kan vara en fråga om liv och död. Ändå är digitaliseringen av hälso- och sjukvården eftersatt och förutsättningarna för utbyte av information är dåliga. Sedan år 2001 har standardisering av meddelanden (XML via SOAP ) varit det verktyg man använt för att uppnå interoperabilitet. De standardmeddelanden man tagit fram har varit kostsamma och endast kunnat uppnå en minsta gemensamma nämnare mellan de inblandade systemen.

Foto av Stephen White

Ember Presentation

// Stephen White

Presentation från Cadec 2015

Ember “is a framework for creating ambitous web applications” not a framework for creating ambitous frameworks … In this presentation Stephen will show how understanding the MVC pattern as realised by Ember can lead to a productive, structured, testable and maintainble code base.

Foto av Jonas Behmer Foto av Sedina Oruc Foto av Stephen White

Ember Tutorial Tutorial

// Jonas BehmerSedina OrucStephen White

Tutorial från Cadec 2015

I dagens webapplikationer förflyttas allt mer av presentationslogik och rendrering av HTML till klienten för att skapa en mer dynamisk och fullödig upplevelse för användaren. Javascript-ramverk som Backbone, Angular och Ember är tre framstående exempel på denna trend. I denna tutorial får du som funderar på att bygga rika, skalbara och ambitiösa webapplikationer en introduktion i Ember.js och hur dess filosofi med konvention över konfiguration förenklar livet för dig som utvecklare. Teori om ramverkets byggstenar och designprinciper varvas med ett konkret exempel där vi implementerar en applikation. Vi börjar med det grundläggande, dvs. “bootstrapping” av en typisk Ember-applikation, för att därefter bygga upp en modulär applikation som är kapabel att kommunicera med REST-tjänster. Vi räknar med att du som vill delta har med dig en dator samt grundläggande kunskap i JavaScript, CSS och HTML.

Foto av Björn Beskow

Prestandatest i Agila projekt Presentation

// Björn Beskow

Presentation från Cadec 2015

Xtreme Programming satte automatiserad enhetstestning på kartan för den moderna utvecklaren. Test-driven Utveckling (TDD) lyfter värdet av tidig test-automation till sin spets. ATDD gör detsamma för acceptanstester. Mognadsgraden i branchen kring tidig funktionell kvalitets-säkring via automatiserade tester är stor, och utgör en viktig möjliggörare för framgångsrik agil utveckling.