Wakanda NoSQL for Model-driven Web Applications

Preview:

Citation preview

Alexandre MorgautWeb Architect & Community Manager @amorgaut

Wakanda

NoSQL for Model-driven

Web Applications

wakanda.org

@wakandasoft

JSeverywhere.org

@JSeverywhere

Cross-platform development and deployment system for model-driven

web-based applications

Business Web Applications

Business Web Applications

Business Web Applications

IIS

SQL Server

C#C++

Silverlight

Visual

.NET

Business Web Applications

Tomcat

JSP

JUnit

Java Hibernate

Spring GWTOracle

Acegi

IIS

SQL Server

C#C++

Silverlight

Visual

.NET

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

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

Cross-platform development and deployment system for model-driven

web-based 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

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

Alternative solutions to SQL

Schemaless

Non Relational?Scalability

Model-drivenSemantic

CAP TheoremConsistencyAvailability Partition tolerance

Graph

What for?

Why?

How?

BigData

Cloudeventual consistency

NoSQL Families

Document Store

Key-value store

Graph

Object store

Column store

NoSQL Families

Document Store

Key-value store

Graph

Object store

Column store

NoSQL Families

Document Store

Key-value store

Graph

Object store

Column store

Cross-platform development and deployment system for model-driven

web-based applications

Cross-platform development and deployment system for model-driven

web-based applications

JavaScriptOne Language

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?

Server-Side JavaScript

SpiderMonkey

V8

JavaScriptCore

Rhino

Trident / Chakra

Webkit JavaScriptCore

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

fast, well structured & documented, maintained by Apple

wakanda

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda Application Framework

Wakanda Studio

DataStore Model Editor

Code Editor

GUI Designer

Debugger

Users & Groups

AdministrationExtensions

REST/JSON

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda Application Framework

Wakanda Studio

DataStore Model Editor

Code Editor

GUI Designer

Debugger

Users & Groups

AdministrationExtensions

REST/JSON

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda Application Framework

Wakanda Studio

DataStore Model Editor

Code Editor

GUI Designer

Debugger

Users & Groups

AdministrationExtensions

REST/JSON

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda Application Framework

Wakanda Studio

DataStore Model Editor

Code Editor

GUI Designer

Debugger

Users & Groups

AdministrationExtensions

REST/JSON

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...

Model & Data Classes

Relationship

Recursivity

Alias attributes

many to many

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

conferences = john.allConferences;

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

JSAttendeesJohnMet = JSConferences.allPeople;

Extend a Datastore Class

Calculated attributes

Datastore Class Methods

Security

Scope Validation

Users & Groups

Open Environment

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)

Webkit debugger Protocol 1.0

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

“Client & Server JavaScript APIs”

W3C Community Group

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

W3C Community & Business Groups

Workers ?

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

@JSeverywhere

http://JSeverywhere.org

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

Recommended