57
Alexandre Morgaut Web Architect & Community Manager @amorgaut Wakanda NoSQL for Model-driven Web Applications

Wakanda NoSQL for Model-driven Web Applications

  • Upload
    lyliem

  • View
    237

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Wakanda NoSQL for Model-driven Web Applications

Alexandre MorgautWeb Architect & Community Manager @amorgaut

Wakanda

NoSQL for Model-driven

Web Applications

Page 2: Wakanda NoSQL for Model-driven Web Applications

wakanda.org

@wakandasoft

JSeverywhere.org

@JSeverywhere

Page 3: Wakanda NoSQL for Model-driven Web Applications

Cross-platform development and deployment system for model-driven

web-based applications

Page 4: Wakanda NoSQL for Model-driven Web Applications

Business Web Applications

Page 5: Wakanda NoSQL for Model-driven Web Applications

Business Web Applications

Page 6: Wakanda NoSQL for Model-driven Web Applications

Business Web Applications

IIS

SQL Server

C#C++

Silverlight

Visual

.NET

Page 7: Wakanda NoSQL for Model-driven Web Applications

Business Web Applications

Tomcat

JSP

JUnit

Java Hibernate

Spring GWTOracle

Acegi

IIS

SQL Server

C#C++

Silverlight

Visual

.NET

Page 8: Wakanda NoSQL for Model-driven Web Applications

Business Web Applications

PHP

Apache

Eclipse

Symfony

Varnish

MySQL

Zend

Aptana

Tomcat

JSP

JUnit

Java Hibernate

Spring GWTOracle

Acegi

IIS

SQL Server

C#C++

Silverlight

Visual

.NET

Page 9: Wakanda NoSQL for Model-driven Web Applications

ExtJS

HTTP

JSO

REST

ATOMSSL

Flex

Business Web Applications

PHP

Apache

Eclipse

Symfony

Varnish

MySQL

Zend

Aptana

Tomcat

JSP

JUnit

Java Hibernate

Spring GWTOracle

Acegi

IIS

SQL Server

C#C++

Silverlight

Visual

.NET

Page 10: Wakanda NoSQL for Model-driven Web Applications
Page 11: Wakanda NoSQL for Model-driven Web Applications
Page 12: Wakanda NoSQL for Model-driven Web Applications

Cross-platform development and deployment system for model-driven

web-based applications

Page 13: Wakanda NoSQL for Model-driven Web Applications

Cross-platform development and deployment system for model-driven

web-based applications

Model Based EngineeringModel Driven EngineeringModel Driven DevelopmentModel Driven Architecture

See also: Domain Driven Design

Page 14: Wakanda NoSQL for Model-driven Web Applications

many referenced nosql databases on http://nosql-database.org/

Page 15: Wakanda NoSQL for Model-driven Web Applications

Alternative solutions to SQL

Schemaless

Non Relational?Scalability

Model-drivenSemantic

CAP TheoremConsistencyAvailability Partition tolerance

Graph

What for?

Why?

How?

BigData

Cloudeventual consistency

Page 16: Wakanda NoSQL for Model-driven Web Applications

NoSQL Families

Document Store

Key-value store

Graph

Object store

Column store

Page 17: Wakanda NoSQL for Model-driven Web Applications

NoSQL Families

Document Store

Key-value store

Graph

Object store

Column store

Page 18: Wakanda NoSQL for Model-driven Web Applications

NoSQL Families

Document Store

Key-value store

Graph

Object store

Column store

Page 19: Wakanda NoSQL for Model-driven Web Applications

Cross-platform development and deployment system for model-driven

web-based applications

Page 20: Wakanda NoSQL for Model-driven Web Applications

Cross-platform development and deployment system for model-driven

web-based applications

JavaScriptOne Language

Page 21: Wakanda NoSQL for Model-driven Web Applications
Page 22: Wakanda NoSQL for Model-driven Web Applications

JavaScript Engines

SpiderMonkey3 JIT Compilers: TraceMonkey, JägerMonkey, IonMonkey

V8JIT Compiler : CrankShaft

webkit JavaScriptCore: JSCSquirrelFish Extreme: SFX aka Nitro

(JIT Compiler inside)

Trident: MSHTMLChakra

-> Classic JScript, Managed JScript, & JScript.NET

TamarinJIT Compiler : NanoJIT

-> ActionScript / “ECMAScript 4”

CarakanPreviously: Linear A, Linear B, Futhark

RhinoInterpreted or Compiled execution

CC++

C++Java

?

?C++

Nashorn?

Page 23: Wakanda NoSQL for Model-driven Web Applications

Server-Side JavaScript

SpiderMonkey

V8

JavaScriptCore

Rhino

Trident / Chakra

Page 24: Wakanda NoSQL for Model-driven Web Applications

Webkit JavaScriptCore

multi-threaded, preemptive, thread-safe, 64bits, strict mode

fast, well structured & documented, maintained by Apple

Page 25: Wakanda NoSQL for Model-driven Web Applications

wakanda

Page 26: Wakanda NoSQL for Model-driven Web Applications

Wakanda

Wakanda Server(aka WakandaDB)

Page 27: Wakanda NoSQL for Model-driven Web Applications

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda Application Framework

Wakanda Studio

DataStore Model Editor

Code Editor

GUI Designer

Debugger

Users & Groups

AdministrationExtensions

REST/JSON

Page 28: Wakanda NoSQL for Model-driven Web Applications

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda Application Framework

Wakanda Studio

DataStore Model Editor

Code Editor

GUI Designer

Debugger

Users & Groups

AdministrationExtensions

REST/JSON

Page 29: Wakanda NoSQL for Model-driven Web Applications

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda Application Framework

Wakanda Studio

DataStore Model Editor

Code Editor

GUI Designer

Debugger

Users & Groups

AdministrationExtensions

REST/JSON

Page 30: Wakanda NoSQL for Model-driven Web Applications

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda Application Framework

Wakanda Studio

DataStore Model Editor

Code Editor

GUI Designer

Debugger

Users & Groups

AdministrationExtensions

REST/JSON

Page 31: Wakanda NoSQL for Model-driven Web Applications

WakandaDB

Wakanda Server(aka WakandaDB)

Your Development ToolsVisual Studio, XCode, NetBeans, Eclipse,

Cloud9, Orion, Sencha Architect+

Chrome Web Inspector

Your Server FrameworkJava, .NET, node.js PHP, Python, Ruby...

REST/JSON

Webkit debugger protocol 1.0

Your Web app Client FrameworkExtJS, Sencha Touch, Kendo UI, Backbone.js...

Your native app Client FrameworkiOS, Androïd, .NET...

Page 32: Wakanda NoSQL for Model-driven Web Applications

Model & Data Classes

Page 33: Wakanda NoSQL for Model-driven Web Applications

Relationship

Recursivity

Alias attributes

Page 34: Wakanda NoSQL for Model-driven Web Applications

many to many

Page 35: Wakanda NoSQL for Model-driven Web Applications
Page 36: Wakanda NoSQL for Model-driven Web Applications
Page 37: Wakanda NoSQL for Model-driven Web Applications
Page 38: Wakanda NoSQL for Model-driven Web Applications
Page 39: Wakanda NoSQL for Model-driven Web Applications
Page 40: Wakanda NoSQL for Model-driven Web Applications
Page 41: Wakanda NoSQL for Model-driven Web Applications
Page 42: Wakanda NoSQL for Model-driven Web Applications
Page 43: Wakanda NoSQL for Model-driven Web Applications
Page 44: Wakanda NoSQL for Model-driven Web Applications

john = ds.Person.find(“firstName eq John”);

conferences = john.allConferences;

JohnJSConferences = conferences.filter(“title eq ‘@JavaScript@’”);

JSAttendeesJohnMet = JSConferences.allPeople;

Page 45: Wakanda NoSQL for Model-driven Web Applications

Extend a Datastore Class

Page 46: Wakanda NoSQL for Model-driven Web Applications

Calculated attributes

Page 47: Wakanda NoSQL for Model-driven Web Applications

Datastore Class Methods

Page 48: Wakanda NoSQL for Model-driven Web Applications

Security

Page 49: Wakanda NoSQL for Model-driven Web Applications

Scope Validation

Page 50: Wakanda NoSQL for Model-driven Web Applications

Users & Groups

Page 51: Wakanda NoSQL for Model-driven Web Applications

Open Environment

Page 52: Wakanda NoSQL for Model-driven Web Applications

Open Source

Wakanda Framework already on Github

Wakanda Server coming soon

Wakanda Studio later (still some proprietary library dependencies to remove)

Downloads accessible from:

the production channel (current release)

the stabilization channel (next release)

the development channel (nightly builds)

Page 54: Wakanda NoSQL for Model-driven Web Applications

Webkit debugger Protocol 1.0

Page 55: Wakanda NoSQL for Model-driven Web Applications

CommonJS Modules 1.1.1

- test, assert, worker, console-partially: system

W3C / HTML5

- Storage, Worker, Blob, Timers, XMLHttpRequest, FileSystem- Upcoming: Web Socket, File

Node.js compatibility

- Buffer, Process, Events, Net, TLS, OS

Page 56: Wakanda NoSQL for Model-driven Web Applications

“Client & Server JavaScript APIs”

W3C Community Group

http://www.w3.org/community/jseverywhere

W3C Community & Business Groups

Workers ?

Page 57: Wakanda NoSQL for Model-driven Web Applications

Come with us at San Jose, CA on October 26th:

@JSeverywhere

http://JSeverywhere.org

Call to speaker ends on June, 30th!!!