Software Architecture Community Day 2011
Välkommen till en Community Day med Software Architecture i fokus. Vi har bjudit in Jimmy Nilsson, Jonathan Worthington, Andreas Krohn och Carl Mäsak. De kommer att dela med sig av sina kunskaper om DDD, CQRS, API:er och mycket mycket mer.
PLATS
Malmö - 17 jun 2011
Informator, Dockplatsen 1
Läs mer om dagen och talarna här
Följ Community Day på Twitter #comday
PRIS & BOKNING
I priset 1.695 kr exkl moms, ingår en lätt frukost, lunch och eftermiddagsfika. Eventet omfattas ej av avtalsrabatter.
OBS! Din bokning är bindande. Om du får förhinder kan du överlåta din utbildningsplats till en kollega.
AGENDA
08.00 - 08.30 Registrering och frukost
08.30 - 08.35 Introduktion
08.35 - 09.20 The Role of Language in Software Development Jonathan Worthington
Our use of language is part of what makes us human. To know a language is to be part of the culture that speaks it, and it's through language that knowledge is passed down from generation to generation. For many, language is a source of fascination.
While the role of mathematics and engineering is often discussed in the realm of software development, the role of language has been given less attention. In this talk, we'll see what happens if start to take language seriously. From domain analysis to API design, from multi-paradigm development to security, we'll discover some new ways of looking at familiar things, which will help us to design and develop better solutions, and provide a better framework for understanding some of the challenges we face as architects and developers. Föreläsning på engelska
09.25 - 10.10 Introduktion till DDD Jimmy Nilsson
I denna presentation kommer vi att jämföra ett databasdrivet sätt att utveckla mjukvara med ett mer DDD-inspirerat sätt. På vägen kommer vi att beröra olika DDD-begrepp: de grundläggande byggstenarna, det gemensamma språket och strategisk design. Vi kommer också att fokusera på frågan "varför?" genom att diskutera motivationen bakom dessa begrepp.
10.10 - 10.25 Paus
10.25 - 11.10 CQRS: Slutet för CRUD? Carl Mäsak
Som industri har vi investerat stort i ramverk och arkitekturer som är uppbyggda runt endast fyra verb: "Create", "Read", "Update" och "Delete" (CRUD). Med detta tänkesätt i ryggmärgen hamnar vi ofta i banor där vi substantiverar verb kors och tvärs, kastar bort information om operationers syfte, och bygger användargränssnitt runt en viss lagringsmodell istället för runt de uppgifter användaren bryr sig om.
CQRS - "Command/Query Responsibility Segregation" - är en arkitektur som utmanar oss att tänka annorlunda. Istället för att utgå ifrån "redigering" av ett antal entiteter, uppmanas vi att tänka i termer av semantiska operationer. Istället för CRUD-baserade användargränssnitt, uppmanas vi att bygga uppgiftsbaserade gränssnitt (task-based UIs). Istället för att förvänta oss att data skickas in i ett system på samma sätt som användaren vill ha den presenterad, och samtidigt försöka skala OLTP för en stor mängd läsoperationer, ser vi till att skilja helt på läs- och skrivarkitekturerna.
Resultatet är system som fungerar bättre för användare, är lättare att skala och ger högre avkastning.
11.15 - 12.00 DDD i praktiken Jimmy Nilsson
Om du har bestämt dig för att komma igång med DDD, kommer den här presentationen att föra dig i rätt startriktning. Vi kommer att utforska ett exempelprojekt och ta en närmare titt på olika aspekter: processen, arkitekturen, koden, de automatiserade testerna och persistens.
12.00 - 13.00 Lunch
13.00 - 13.45 Varför API:er är viktiga Andreas Krohn
API-er är ett fantastiskt sätt att förmedla data. Med API-er är det lätt att bygga system som är löst kopplade, både internt och externt, och att låta andra vara innovativa på ens plattform. Företag som Salesforce, Twitter, Facebook och Netflix bygger mycket av sin verksamhet och framgång på API-er, och det blir alltmer tydligt vilken konkurrensfördel det är att ha ett populärt API. I det här föredraget kommer vi att gå igenom varför API-er är viktiga ur en teknologisk såväl som affärsmässig synvinkel.
13.50 - 14.35 10 ways to fail it at architecture Jonathan Worthington
Heaps of code that's sufficiently hard to test that nobody really knows how. Error handling designs that seem optimized for letting problems go unnoticed. Logic in Data Transfer Objects. Tens of thousands of lines of generated data access code that doesn't know what a join is. So many different frameworks in a single application that new developers take months to get up to speed. And that's just the start of it...
In this talk, we look through a range of architectural problems spotted in real world applications, try to get to the heart of what's really wrong, and consider how to avoid falling into the same traps. Föreläsning på engelska
14.35 - 15.00 Eftermiddagsfika
15.00 - 15.45 Introduktion till Event Sourcing Carl Mäsak
Konceptet "events" har blivit alltmer populärt inom IT, och det är inte konstigt. De kopplar isär den delen av ett system som vet att någonting har hänt, från de delar som vill reagera på händelsen. Detta skapar en naturlig modell för att bygga användargränssnitt, men har också funnit en stor mängd andra tillämpningar.
Vi brukar tänka på events som någonting med en kort livslängd. Användaren klickar på en knapp, ett event skapas, handlers triggas... och det är allt. I det här föredraget utgår vi från vad som händer om man slutar att betrakta events som flyktiga, och istället ser dem som vår primära datakälla. Istället för att registrera en ny Order genom att skapa en ny rad i en databastabell, lagrar vi ett OrderPlacedEvent. Istället för att registrera att ett hotellrum har avbokats genom att ta bort en rad i en databastabell, lagrar vi ett RoomCancelledEvent.
Denna approach -- känd som Event Sourcing -- blir alltmer uppmärksammad, inte minst för att det gör tidigare ganska utmanande scenarion triviala. Naturligtvis är det avvägningar inblandade, och ett antal nya frågeställningar -- till exempel "hur ska jag kunna ställa frågor överhuvudtaget?" -- som vi också kommer att ta upp under föredraget.
15.50 - 16.35 API Best Practices Andreas Krohn
Att bygga ett framgångsrikt API innebär att man bygger en stabil, säker, och lättanvänd lösning, och förser utvecklare med de verktyg de behöver för att få jobbet gjort. Det är viktigt att följa de ständigt förnyade de facto-standarderna och att undvika att återuppfinna hjulet. REST, OAuth och JSON är några av de viktiga teknologierna, men viktigare än någon specifik teknologi är att bygga en lösning som inbjuder utvecklare att använda ens API. För om ingen använder ens API, varför bygga det överhuvudtaget? Fokus i detta föredrag ligger på att bygga öppna API-er, men samma tips kan även tillämpas på interna API-er.
16.35 - 17.00 Frågor. Öppet hus
OBS! Agendan kan komma att uppdateras.
Avtalsrabatter eller andra erbjudanden så som t ex Training Cards kan ej nyttjas i samband med bokning av denna dag.
Registrering Stängt
Kommande event
-
Tillbaka Snart
Tidigare event
2012 Events
-
1 feb
2011 Events
-
2 sep
-
1 sep
-
17 jun
-
14 jun
-
11 feb
-
10 feb
2010 Events
-
26 nov
-
18 nov
-
10 sep
-
Inga händelser detta år