JavaOne – dag 1

JavaOne – dag 1
september 30, 2014 Rikard Thulin

JavaOne – dag 1

Första sessionen var en 2 timmars hands on lab om ”Designing a Beautiful REST + JSON api”.20140929_132748 Verkligen bra session med många matnyttiga tips. Alla känner säkert till att man inte skall döpa sina REST resurser som verb. Anledningen är att API:t kommer att explodera om man gör det och till slut hamnar man i en dåligt RPC liknande röra. Ett annat tips är att man skall döpa sina resurser med plural (../accounts). Det finns olika sätt att hantera versioner av ett REST API, det rekommenderade är med hjälp av Media-Type (accounts+json). Pragmatiskt och enklast är det att använda ett versions prefix (/v1/accounts) med dom risker det innebär, tex om en klient persisterar (eller bookmarkar) URL:en till en resurs.

Ett annat tips är att en klient inte skall känna till ID:n, enbart länkar. När det gäller säkerhet så var det inte så mycket nytt men det tål att repeteras eftersom många har svårt att acceptera att varje request skall autentiseras i och med att REST är stateless. Naturligtvis skall man använda SSL, även internt, om man använder Basic Authentication. Sista tipset var att autentisera på innehåll, inte på URL/resurs. Om man vill titta på ett bra exempel på ett REST API så kan jag tipsa om denna sida.

Rekommenderar att man tittar på presentationen när den publiceras eller tittar på en kortare version som finns här.

Andra sessionen för dagen var ”ZombieTime: JSR 310 for the Undead” där Stephen Chin kommer utklädd till zombie — och låter som en zombi. 20140929_110337Nya Date & Time API:et är verkligen ett steg framåt, bla så är det trådsäkert.
Ett tips som jag snappade upp är att använda classen Clock så att man kan simulera olika tidpunkter vid tex testning. Och om man har bråttom så finns det även en multiplier funktion som gör att man kan snabbspola tiden, även det kan vara väldigt nyttigt vid test och utveckling.

Nästa session presenterades av ingen mindre än Mattias Karlsson (Javaforum Stockholm) från King, ”Create an Agile Learning Organization for Developers”. 20140929_125739En intressant aspekt från King är att linjecheferna är chefer på 20%, dvs dom jobbar som utvecklare till 80%. För att sprida kompetens utanför scrum teamen och linjen har man olika guilds som är en intressegrupp för ett område eller teknik.

Mattias berättade även om Lean Coffee Meeting Format.
Metoden går ut på att man börjar med att var och en skriver upp vilka ämnen man önskar disskutera. När detta är klart gör alla en kort pitch för sina ämnen följt av att man röstar på de olika ämnena (dot voting). Lappen med flest röster vinner och diskussionen om ämnet påbörjas. Efter 5-8 minuter röstar alla tumme upp eller ner för om man skall köra en 5-8 minuters iteration till eller inte. Om det blir tumme ner så fortsätter man med nästa lapp. Ett annat bra tips var att man vid code reviews inte skall kommentera andras kod utan man skall istället ställa frågor.

Modular Architectures Using Microservices
Det är alltid intressant att höra en ny lag, denna gång var det Conways Law: ”organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations”. Några viktiga aspekter för en (micro) tjänst arkitektur är att alla tjänster äger sin egen data. Som en följd av detta bör man undvika transaktioner mellan olika tjänster. Ett problem som ofta uppstår med mico services arkitekturer är problem vid deployment i och med att man får en stor mängd artifakter som skall deployas separat. Detta behöver inte vara något negativt om man använder CI och CD. Två intressanta produkter att kolla vidare på är Amdatu; ”Amdatu is an open source community effort focussed on bringing OSGi to the cloud” och Apache ACE; ”Apache ACE is a software distribution framework that allows you to centrally manage and distribute software components, configuration data and other artifacts to target systems”. Något som slår mig med trenden Micro Services är att det kanske är dags att damma av ”8 Fallacies of distributed computing” vilket är högst relevant om tjänsterna inte köra i en och samma JVM.

På sessionen ”The Anatomy of a Secure Web Application Using Java” gick det undan. Det är helt enkelt omöjligt att förmedla en sammanfattning utan jag hänvisar till tutorialen som är en bra kokbok på hur man säkrar en java web app. Tyvärr så hittar jag inte tutorialen på nätet men det finns en länk i presentationen när den blir tillgänglig efter konferensen.

Dagens sista session var ”When to NoSQL and When to Know SQL”. Mycket bra presentation där de olika typerna av noSQL databaser presenterades. För den som är intresserad av ämnet så finns ett community runt detta här: nosqlknowsql.io
Den tydliga trenden är att man konsoliderar, eller lånar tekniker från varandra, tex så anammar SQL databaserna noSQL tekniker som att spara och söka i XML/JSON blobb. Sql:s with noSQL med andra ord. Även noSQL databaserna börjar kombinera ihop olika tekniker för att täcka bredare användningsområden.

0 Kommentarer

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *

*

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.