Tutorialdagen på Jfokus 2014

Nu är tutorialdagen på Jfokus avslutad. Jag har insett att Jfokus för mig brukar ge lika mycket innehåll som JavaOne. Men JavaOne ger visserligen mer i runt-omkring-upplevelse eftersom det också innebär en Kalifornienresa och att man slipper snöblandat regn en stund.

På förmiddagen gav Oliver Gierke ett seminarium From Database into the Web, end-to-end REST Web Services with Spring2. Seminariet var en heldagslabb avkortat till halvdagsseminarium och sedan ihoptryckt en gång till drygt 3 timmar som fanns tillgängliga. Det blev en rasande snabb och säker genomgång av hur man numera bygger en Spring webapp med REST-gränssnitt. Allt är numera automatiskt, till och med DAO-implementationerna. Spring gissar sig själv till implementationen av

public interface OrderRepository extends ... {
   List findOrderByStatus(OrderStatus status):
}

Någon i publiken frågade varför man överhuvudtaget behövde deklarera metoden i interfacet, kunde inte Spring göra det själv också?

Med @EnableAutoConfiguration gissar Spring helt själv vad du egentligen vill. Tar du t.ex. med en dependency till hsqldb antar Spring att att du vill använda den också och gör nödvändiga initieringar.

Oliver gick igenom spring-boot-starter-parent och hur man integrationstestar REST-tjänster utan att gå via nätverket och uppta en serverport.

Mot slutet kom Oliver över till HATEOAS (en sadistisk akronym som inte går att kommunicera verbalt på något språk jag känner till) som betyder ungefär att klienten inte känner till URL-er till resurser utan navigerar REST-api:et genom att följa länkar i det. Finessen är att en del av tillståndshanteringen kan då kan förenklas och flyttas till servern, till exempel behörighetshantering, och dessutom ökar möjligheterna att evolvera gränssnittet gradvis och dynamiskt utan att absolut behöva ha ett versionsnummer i URL-en.

En nyckelfiness i Spring för att stödja detta är möjligheten att konstruera länkar till resurser via en metodreferens.

  Link link = linkTo(methodOn(PersonController.class).show(2L)).withSelfRel();

Det är navigering i motsatt riktning. Det normala hittils i Spring har varit att navigera från ett http-request till ett objekt och en metod. Nu har vi alltså också stöd för motsatt riktning, objekt och metod till URL.

På eftermiddagen körde Angela Caicedo och Stephen Chin IoT Hackerspace där vi fick varsitt kit med en Raspberry Pi, en touchscreen och en hel låda med sensorer som vi pratade med över I2C-bus. Som vanligt var det krångligt att ens komma i läget att kunna exekvera ett java-program på Pi:n. En timme tog det mig bara att få scp att fungera från Mac:en eftersom den RPi-image just jag hade råkade ha fått en hårdlödd IP-adress, förmodligen en rest sedan någon tidigare övning. Labbar som involverar hårdvara är alltid tidsödande och struliga, men ack så kul. Vi körde Java 8 på raspberryn.

Jag personligen hade hoppats på att få labba med nåt annat än Raspberry Pi eftersom jag gjort det så många gånger förut. Raspberryn är vädigt lik ett vanligt Linuxsystem, det är nästan fuskigt praktiskt. På det här viset blir embedded nästan ingen sport längre.

Ett chip som jag blev nyfiken på redan på förra årets Jfokus är Cinterion EHS6 men någon representant hittar jag inte att köpa ett experimentkit av så vår bekantskap får vänta ytterligare ett tag.

Efteråt pratade jag med Simon från Yanzi om deras kommande IoT-lösning som använder de underbara små IPV6-radiosensorerna som Joakim Eriksson från SICS visat oss tidigare. Under att vi pratar om interopabilitet i allmänhet och inkoppling av värmepumpar i synnerhet så ansluter Joachim från SUST diskussionen och berättar om deras projekt för intelligent energianvändning som löser precis detta: XML-schema ovanpå XMPP och Jabber gör att ditt brandlarm kan bli kompis med din värmepump eller att din luftkonditionering kan kolla med hemlarmet om du är hemma eller inte och anpassa temperaturen därefter – coolt!

IT Consultant at CAG Edge. Cloud and Continuous Delivery specialist, software developer and architect, Node.js, Java.

Publicerad i Java, Linux

Kategorier

WP to LinkedIn Auto Publish Powered By : XYZScripts.com