Senior Software Designer Timo Lehtonen timo.lehtonen@solita.fi Lupapiste an interactive service for citizens with HTML 5 JS + Clojure + MongoDB Nääsvillen oliopäivät 13.12.2012
Top 100-list of Javala: Gamification - apply game-like features to a (often boring) non-game thing.
2012 Solita an ICT company from Nääsville Finlayson 2012: Copyright: Tampereen kaupungin kuva-arkisto Finlayson 1962: Thousands of people in manufacturing business 200 people manufacturing Online businesses, BI solutions, ERP systems,
Solita has one value: Care
ERP Source: levikintarkastus.fi
Customer: environmental administration (Ympäristöministeriö) Released: in march 2013.
Aloitus
Aloitus Aamulehti 23.8.2012 Lupapiste handles 16 permit types in 20 pilot municipalities in the first phase
Keynote by Cockburn at Oliopäivät 2008
Haikala, I., and J. Märijärvi. "Ohjelmistotuotanto. 11. p." Jyväskylä: Gummerrus Kirjapaino Oy (2006).
Haikala, I., and J. Märijärvi. "Ohjelmistotuotanto. 11. p." Jyväskylä: Gummerrus Kirjapaino Oy (2006). A similar circle of do, make a theory, do (fail?) again! Pekka Abrahamsson at Oliopäivät 2012: Be ready to fail. Create a theory. Pasi Kovanen, Jarkko Järvenpää, Vincit at Oliopäivät 2012: try, measure and learn, try again
Keynote by Cockburn at Oliopäivät 2008
Keynote by Cockburn at Oliopäivät 2008
Application Architecture POST /rest/command: { command : add-comment applicationid : 123 text : Autotallin räys } Command MongoDB Clojure back-end MongoDB
Application Architecture POST /rest/command: { command : add-comment applicationid : 123 text : Autotallin räys } Command MongoDB Clojure back-end
Application Architecture POST /rest/command: { command : add-comment applicationid : 123 text : Autotallin räys } { ok : true } Command Clojure back-end MongoDB
Application Architecture POST /rest/command: { command : add-comment applicationid : 123 text : Autotallin räys } { ok : true } GET /rest/application Command Clojure back-end MongoDB
Application Architecture POST /rest/command: { command : add-comment applicationid : 123 text : Autotallin räys } { ok : true } GET /rest/application Command Clojure back-end MongoDB
Application Architecture POST /rest/command: { command : add-comment applicationid : 123 text : Autotallin räys } { ok : true } GET /rest/application Command Clojure back-end MongoDB
Application Architecture POST /rest/command: { command : add-comment applicationid : 123 text : Autotallin räys } { ok : true } GET /rest/application Command Clojure back-end MongoDB
4 Be slow design the schema first. Design it using a UI demo. A new foundation added at Oliopäivät 2012.
Be slow - schema first Schema - Greek word skhēma - shape, diagram, or more generally plan. Source: Uusi sivistyssanakirja freely translated 4 Be slow design the schema first. Design it using a UI demo.
Be slow - schema first Schema - Greek word skhēma - shape, diagram, or more generally plan. Source: Uusi sivistyssanakirja freely translated 4 Be slow design the schema first. Design it using a UI demo. Plan 1. Lupapiste data model diagram
Be slow - Proof the schema with real data Schema - Greek word skhēma - shape, diagram, or more generally plan. Source: Uusi sivistyssanakirja freely translated 4 Be slow design the schema first. Design it using a UI demo. Plan 1b. Data model with explanation.
Database schema is a service interface. The only specification that matters.
1. Design the schema first. Big Data
Then build an app on top of it JSON HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON Int 1 Int 2 Int 3 HTML 5 JS SPA UI Clojure back-end BI Big Data
Then build an app on top of it JSON Integration 1 Integration 2 HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end Big Data
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end BI Big Data
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end BI Big Data
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end BI Database Relational database has a schema. It has a plan with constraints.
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end BI Database Relational database has a schema. It has a plan with constraints.
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end BI Database Relational database has a schema. It has a plan with constraints.
Then build an app on top of it JSON Integration 1 Integration 2 Integration 3 HTML 5 JS SPA UI Clojure back-end BI Database Relational database has a schema. It has a plan with constraints.
1. The society has constraints, because people make errors You can not build a sauna everywhere, because its unsafe of would ruin the beautiful lake scenes 4 Be slow design the schema first. Design it using a UI demo. 2. Use database schema with constraints, because people make errors You cannot refactor data model field names easily, so use a schema and a validator to prevent future errors 3. Then build an app on top of it
Choose any technology to get from A to B - cycle or sail. or swim :) B A
Thank you Questions, comments? Feedback: timo.lehtonen@solita.fi