+ Javascript as a data processing language & htlm5 integration - - PowerPoint PPT Presentation

javascript as a data processing language htlm5
SMART_READER_LITE
LIVE PREVIEW

+ Javascript as a data processing language & htlm5 integration - - PowerPoint PPT Presentation

+ Javascript as a data processing language & htlm5 integration Qcon London 2013 Quentin ADAM + Who I am ? n Quentin ADAM n @waxzce on twitter n CEO of Clever Cloud, the most powerful PaaS in Europe ;-) clever c l o u d + Why


slide-1
SLIDE 1

+

Javascript as a data processing language & htlm5 integration

Qcon London 2013 – Quentin ADAM

slide-2
SLIDE 2

+Who I am ?

n Quentin ADAM n @waxzce on twitter n CEO of Clever Cloud, the most

powerful PaaS in Europe ;-)

clever c l o u d

slide-3
SLIDE 3

+Why we have to talk about

data processing ?

slide-4
SLIDE 4

+Big change in software industry

n One instance n One organization n One data repository n One instance (distributed) n Multiple organization + a lot of

users

n One data repository

Yesteday Now

Multi-tenant

slide-5
SLIDE 5

+

Instance for one Organization

ACID

  • Atomicity
  • Consistency
  • Isolation
  • Durability

Powerful data management

  • Transaction
  • User

management

  • One above one

Take advantage of ACID database

slide-6
SLIDE 6

+

But it designs a bottleneck

slide-7
SLIDE 7

+Example : e-shop on classic mode

slide-8
SLIDE 8

+Example : e-shop on classic mode

User A buy a hdd

Database Transaction :

  • Stock management
  • Order management
  • Invoice generation
  • Customer Account reward

Transaction user A is processed

Stock & Order are just perfectly synchronize

slide-9
SLIDE 9

+Example : e-shop on classic mode

User A buy a hdd

Database Transaction :

  • Stock management
  • Order management
  • Invoice generation
  • Customer Account reward

Transaction user A is processed

Stock & Order are just perfectly synchronize

User B buy a hdd Transaction user B is processed

then

slide-10
SLIDE 10

+Example : e-shop on multi-tenant mode

n i.e. : Multiple shop of various sellers on the same instance

slide-11
SLIDE 11

+Example : e-shop on multi-tenant mode

User A buy a hdd on seller A

Database Transaction :

  • Stock management
  • Order management
  • Invoice generation
  • Customer Account reward

Transaction user A is processed

Stock & Order are just perfectly synchronize

User B buy a book on seller B Transaction user B is processed

then

slide-12
SLIDE 12

+

Who care the synchronization of vendor A & B ?

slide-13
SLIDE 13

+

Destroy the bottle neck and switch to another storage system

This is why the noSQL movement start.

slide-14
SLIDE 14

+noSQL = not only SQL

slide-15
SLIDE 15

+Now talking about how to get

data from storage

slide-16
SLIDE 16

+

SQL don’t solve all the data processing expression.

slide-17
SLIDE 17

+Some javascripts facts

n Run for server needs at the beginning

n Netscape Server in 1996, and then in IIS

n Clearly a major language

n Run on n Browser n Mobile n Servers n Easy to integrate n Most peoples know it n Most used language

  • n github

n Event driven

slide-18
SLIDE 18

+

So, can we use javascript as a data processing language ?

slide-19
SLIDE 19

+Data processing is focus on

n Find n Filter n Manage collection n CRUD order

slide-20
SLIDE 20

+Map / reduce => the big bang of new data processing

n Atomize the problem n Easy to parallelize n From the functional

programing model

Get the result Reduce : filter data & aggregate Map : transform data to what you need (apply function) Get a k/v data

slide-21
SLIDE 21

+Do you wanna some functional programing ?

Javascript is so flexible than we can apply several patern on top of the language

slide-22
SLIDE 22

+And map/reduce ?

slide-23
SLIDE 23

+NoSQL we can considerate for example

n Object Store n Key/Value with documents capacities n Pure Document n Column based

slide-24
SLIDE 24

+NoSQL we can considerate for example

n Object Store n Key/Value with documents capacities n Pure Document n Column based

slide-25
SLIDE 25

+

And one more !

With localStorage features

slide-26
SLIDE 26

+JSON domination

n Store n Processing n Access

slide-27
SLIDE 27

+Example with riak

n Key/Value n http REST & protobuff data API n Store JSON data on a URL n Very good distribution n Good performances

slide-28
SLIDE 28

+Example with riak map/reduce

slide-29
SLIDE 29

+Put some real time

n Lots lots of noSQL DB handle a _change_ pipe :

n All datas and updates stream

n Bind it on a websocket : put some real time on your

application

slide-30
SLIDE 30

+Data as a Service

API clients

  • Full web client : html5

+ local storage

  • Mobile : phonegapp
  • r native
  • Other servers app

API RESTFull Various backen DB

slide-31
SLIDE 31

+Data as a Service

n Data as others service n With the same language the application n Build sync algorithm to start offline / online software n Some protocol : atom, gdata, oData n Some popular API : S3, twitter, EC2… n Security and access layer : oauth…

slide-32
SLIDE 32

+DataBase as a Service

n Xeround n Amazon dynamo n Lots of heroku addon n Kinvey

PaaS

slide-33
SLIDE 33

+Transparent data consumption

n Webkit JavaScriptCore n REST / JSON n Data Classes

n auto-updatable n accessors n events n Methods

n Cool html5 IDE n Best use case : work oriented app

Atomatic data access framework

slide-34
SLIDE 34

+Wakanda example

http://play.wakanda.org/

slide-35
SLIDE 35

+How to start ?

slide-36
SLIDE 36

+Find a toy project

slide-37
SLIDE 37

+Use hosted services

n Less ops footprint n No more instalation n Quick learn curve n Focus on your needs & values

slide-38
SLIDE 38

+

Innovate & write kick ass apps

slide-39
SLIDE 39

+Thx for Listening & Q/A time

clever c l o u d

http://twitter.com/waxzce Quentin ADAM on google ;-) quentin.adam@clever-cloud.com

n http://www.clever-cloud.com n http://engineering.clever-cloud.com/

Thx to the http://qconlondon.com