Cadec 2017 i Göteborg

2017-01-25

Cadec 2017 i Göteborg

Cadec 2017 i Göteborg

Det blev det mest välbesökta evenemanget i cadecens 15-åriga historia. Programmet innehöll detta.

Presentationer

Callista medarbetare Sedina Oruc

Typescript - den vackra sidan av javascript

Sedina Oruc

Om man frågar Google vad TypeScript är så kommer svaren bli många, men det högst rankade blir följande: “TypeScript är ett kostnadsfritt programmeringsspråk och öppen källkod som har utvecklats och underhålls av Microsoft. Det är ett strikt superset till JavaScript, och lägger till valfri statisk typning och klass-baserad, objekt-orienterad programmering till språket.”

Jag vill påstå att TypeScript är den vackra sidan av JavaScript. TypeScript möjliggör tillämpning av OOP i JavaScript på ett sätt som vi är vana vid från exempelvis Java eller C#.

I denna presentation tänker jag visa med kodexempel att ovanstående beskrivning av TypeScript är riktig. Vi kommer att visa på nära och varför det är värt att satsa på TypeScript i din kodbas.

Ladda ner presentation
Callista medarbetare Peter Larsson

Dumpa servern - serverless är det nya svarta

Peter Larsson

Serverless-arkitektur och funktion som tjänst (FaaS) är den senaste trenden bland molntjänsterna. Det innebär bland annat att traditionella långlivade virtuella maskiner och processer ersätts med funktioner som endast konsumerar resurser under den korta tid som exekveringen sker.

Presentationen demonstrerar en typisk serverless-applikation och även de begränsningar och möjligheter som den nya arkitekturen för med sig.

Ladda ner presentation
Callista medarbetare Anders Asplund Callista medarbetare Pär Wenåker

Reaktiv programmering med RxJava

Anders AsplundPär Wenåker

RxJava är en specifik implementation av ReactiveX (Reactive Extensions) för Java och Android och är influerad av funktionell programmering. Den bygger på funktionell komposition, undvikande av globala tillstånd och sidoeffekter och en idé om att betrakta reaktiva system som dataströmmar.

ReactiveX bygger på Observer Pattern med producenter och konsumenter som genererar och konsumerar dataströmmar och erbjuder därifrån metoder för komposition, transformering, schemaläggning, felhantering, throttling och livscykelhantering av dessa dataströmmar.

ReactiveX kommer från Microsoft och RxJava byggdes initialt av Netflix. Idag är RxJava en mogen implementation som används av många av de stora internetföretagen. Detta föredrag kommer att ge en introduktion till ReactiveX med fokus på RxJava.

Ladda ner presentation
Callista medarbetare Jesper Holmberg

Kotlin - ett elegant nytt programspråk för JVM:en

Jesper Holmberg

2016 har varit ett intressant år för Kotlin - ett relativt nytt, statiskt typat språk för JVM:en. I februari nåddes version 1.0 av programmeringsspråket och i maj meddelade Gradle och JetBrains att man tillsammans skulle göra det möjligt att skriva gradle-byggscript i Kotlin. I den här presentation kommer jag att presentera Kotlin som programmeringsspråk och visa på vilken nisch det försöker hitta i floran av JVM-språk. Jag kommer också att visa vad användningen av Kotlin betyder för gradle-användare.

Ladda ner presentation
Callista medarbetare Björn Beskow

Java 9 Footprint

Björn Beskow

Ekosystemet kring JVM:en är svårslaget vad gäller rikedom och mognad i APIer. Men är det verkligen rimligt att minsta lilla Java-program skall ta 256 Mb och flera sekunder bara för att starta?

I den gamla världen, där applikations-servern var kung, spelade JVM:ens fotavtryck kanske inte så stor roll i det stora hela. I ett Microservice-landskap med hundratals mikro-tjänster blir det däremot snart en showstopper. Java 6 skulle ha kommit med en modulär JVM. Så blev det inte, och inte Java 7 eller Java 8 heller.

Kommer Java 9 och dess modulsystem Jigsaw till sist lösa denna knut, och ge oss en slimmad JVM där bara det som behövs laddas vid uppstart? Eller är det kanske dags att börja se sig om efter alternativ?

Ladda ner presentation
Callista medarbetare Erik Lupander

Lean & Mean - Go-based microservices on Docker Swarm

Erik Lupander

Programmeringsspråket Go blir ett allt vanligare val för utveckling av tjänster där runtimekaraktäristik är en viktig faktor med avseende på exempelvis resursutyttjande och skalbarhet.

I den här presentationen kommer vi belysa olika aspekter kring att utveckla sina microservices i Go och vilka runtime-mässiga fördelar som föreligger. Vi kommer bl.a. titta på hur det är att utveckla i Go, siffror kring resursutnyttjande och prestanda samt se hur vi får Go-baserade tjänster att integrera väl i ett typiskt microservice-landskap baserat på Spring Cloud och Netflix OSS.

Ladda ner presentation
Callista medarbetare Magnus Larsson

Erfarenheter från discovery services i ett microservice-landskap

Magnus Larsson

En av de viktigaste komponenterna i ett microservice landskap är en service discovery tjänst. Under de senaste åren har ett antal alternativ för service discovery utvecklats, särskilt när det gäller containerbaserade lösningar.

Denna presentation kommer, baserat på mina erfarenheter, gå igenom några av alternativen. Vi kommer att titta på service discovery tjänster i Netflix OSS, Docker Swarm, Amazon ECS och Google Kubernetes. Presentationen kommer också täcka in hur man kan skriva microservices som är oberoende av vald service discovery tjänst, dvs som kan användas med de olika alternativen utan att kräva ändringar i källkoden.

Ladda ner presentation
Callista medarbetare Andreas Tell

DDD och mikroservices - stora fördelar med små tjänster

Andreas Tell

I takt med att fler organisationer än startups och internationella internetjättar ser nyttan med mindre applikationer/tjänster kommer ett antal utmaningar. Inte minst; hur skall man dela upp befintliga applikationer till fristående tjänster på ett bra sätt?

Denna presentation, garanterat fri från demos, belyser hur koncept från Domain-Driven Design (DDD) kan hjälpa till på resan.

Efter en kortfattad introduktion av koncepten kommer bland annat följande att avhandlas;

  • För- nackdelar med mikrotjänster för traditionella organisationer.
  • Vilka förutsättningar måste finnas på plats för att lyckas?
  • Hur kompletterar DDD och Microservices varandra?
  • Hur kan Bounded Context, Context Mapping och Aggregates underlätta
  • modularisering?
  • Hur hantera databaser; från ACID till Eventual Consistency?
Ladda ner presentation