Lupapiste an interactive service for citizens



Similar documents
TDAQ Analytics Dashboard


Cloud3DView: Gamifying Data Center Management

Petroleum Web Applications to Support your Business. David Jacob & Vanessa Ramirez Esri Natural Resources Team

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Database FAQs - SQL Server

Avaya Inventory Management System

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

Integration Service Database. Installation Guide - Oracle. On-Premises

KonyOne Server Prerequisites _ MS SQL Server

Copyright 2013 wolfssl Inc. All rights reserved. 2

50 shades of Siebel mobile

Architecture of SAP CRM

Qt and Cloud Services. Sami Makkonen Qt R&D Digia

Jeeves ERP Product Roadmap

HTML5, The Future of App Development

Software Requirements Specification

What is a CMS? Why Node.js? Joel Barna. Professor Mike Gildersleeve IT /28/14. Content Management Systems: Comparison of Tools

A Case Study on. Manage Beauty Salons

Rhomobile cross-platfrom

Web Mapping Application Interface Design: Best Practices and Tools. Michael

CASE STUDY. Enhancing the Patient Experience Harris Mobile Patient Engagement Platform

Open Source Multi-Cloud, Multi- Tenant Automation in the cloud with SlipStream PaaS

MathCloud: From Software Toolkit to Cloud Platform for Building Computing Services

opalang - Rapid & Secure Web Development

VClipse Xtext-based IDE for the SAP Variant Configurator

Legal. Copyright 2016 Magento, Inc.; All Rights Reserved.

Course Outline. Business Analysis & SAP BI (SAP Business Information Warehouse)

Oracle Database Cloud

Open Source Technologies on Microsoft Azure

FI-WARE Based Application Development

How A Powerful SAP UI Strategy Affects Your Business

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

Print to Interactive Roadmap. with Patrick McNeil

Business Intelligence in a Hybrid Cloud Environment

Responsive, resilient, elastic and message driven system

SPAN. White Paper. Enabling Enterprise Mobility. SPAN Solution Engineering Approach. Introduction

Telerik: Develop Experiences

Learning Web App Development

Software development & technologies in Market Research industry

ICON UK 2015 node.js for Domino developers. Presenter: Matt White Company: LDC Via

Pro<DOC/> e-commerce Technology An Introduction

Platform Architecture & Integration with OpenShift

Social Media Analytics Enabled by Big Data Portal using Liferay and MongoDB

Building HTML5 and hybrid mobile apps using cloud services. Andrei Glazunov

EMPLOYEE LOCATION TRACKING SERVICE

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

automated acceptance testing of mobile apps

EPiServer and XForms - The Next Generation of Web Forms

The App Revolution is coming to SCADA or is it? Brad Harkavy General Manager

Design ï Development ï Digital Marketing ï Content

Agile BI With SQL Server 2012

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013

QML and JavaScript for Native App Development

Agenda. Success Stories with OpenShift. 11:15-11:45 am. OpenShift Tech Overview 9:40-10:30 am. Red Hat Mobile on OpenShift 10:45-11:15 am

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

IBM Script Portlet for WebSphere Portal Release 1.1

Introducing. automated functional testing of mobile apps. Karl Krukow, CTO, LessPainful GotoAMS, May, 2012

Toronto 26 th SAP BI. Leap Forward with SAP

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

Software AG TechEd 2015 User Conference Mobile Enabler for Natural

OpenEmbeDD basic demo

CommonTime Making Business Mobile. Enterprise. CommonTime. Mobile Solutions. mdesign Platform.

Leading the next generation of Business Apps. Pinckaers Founder

Minnesota Report Card. A Mobile Friendly Platform for Disseminating School Performance Data. Digital Government: Government to Citizen

BIG DATA ANALYTICS REFERENCE ARCHITECTURES AND CASE STUDIES

SAP Gateway for Microsoft SAP AG or an SAP affiliate company. All rights reserved. I Copyright 2015 Microsoft Corporation. All rights reserved.

Conferences Going Mobile: 2012 Trends

Server based signature service. Overview

Ricardo Perdigao, Solutions Architect Edsel Garcia, Principal Software Engineer Jean Munro, Senior Systems Engineer Dan Mitchell, Principal Systems

Developing a highly dynamic web application for a large bank using rules-based technology

Business Intelligence Using SharePoint 2013 and Office365

September 9 11, 2013 Anaheim, California Spatial Analytics: 3D Models in SBOP Dashboards

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Native mobile apps: The wrong choice for business?

Customer Relationship Mngt A primer

Best Practices for Building Mobile Web

CSCI-UA: Database Design & Web Implementation. Professor Evan Sandhaus sandhaus@cs.nyu.edu evan@nytimes.com

Choosing the Best Mobile Backend

Fact Sheet In-Memory Analysis

Business from Research Innovation at VTT

Transcription:

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