Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
-
Upload
alexandre-morgaut -
Category
Technology
-
view
5.224 -
download
1
description
Transcript of Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
![Page 1: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/1.jpg)
Alexandre MorgautWeb Architect & Community Manager @amorgaut
Wakanda
NoSQL & SSJS for
Model-driven Web Applications
![Page 2: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/2.jpg)
wakanda.org
@wakandasoft
JSeverywhere.org
@JSeverywhere
![Page 3: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/3.jpg)
Business Web Applications
![Page 4: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/4.jpg)
Business Web Applications
![Page 5: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/5.jpg)
Business Web Applications
IIS
SQL Server
C#C++
Silverlight
Visual
.NET
![Page 6: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/6.jpg)
Business Web Applications
Tomcat
JSP
JUnit
Java Hibernate
Spring GWTOracle
Acegi
IIS
SQL Server
C#C++
Silverlight
Visual
.NET
![Page 7: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/7.jpg)
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 8: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/8.jpg)
ExtJS
HTTP
JSON
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 9: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/9.jpg)
![Page 10: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/10.jpg)
![Page 11: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/11.jpg)
many referenced nosql databases on http://nosql-database.org/
![Page 12: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/12.jpg)
Alternative solutions to SQL
Schemaless
Non Relational?Scalability
Model-drivenSemantic
CAP TheoremConsistencyAvailability Partition tolerance
Graph What for?
Why?
How?
BigData
Cloud
![Page 13: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/13.jpg)
NoSQL Families
Document Store
Key-value store
Graph
Object store
Column store
![Page 14: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/14.jpg)
![Page 15: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/15.jpg)
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 16: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/16.jpg)
Server-Side JavaScript
SpiderMonkey
V8
JavaScriptCore
Rhino
Trident / Chakra
![Page 17: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/17.jpg)
Cross-platform development and deployment system for model-driven
web-based applications
![Page 18: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/18.jpg)
Cross-platform development and deployment system for model-driven
web-based applications
![Page 19: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/19.jpg)
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 20: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/20.jpg)
Cross-platform development and deployment system for model-driven
web-based applications
![Page 21: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/21.jpg)
Cross-platform development and deployment system for model-driven
web-based applications
JavaScriptOne Language
![Page 22: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/22.jpg)
JavaScriptCoremulti-threaded, preemptive, thread-safe, 64bits, strict mode
fast, well structured & documented, maintained by Apple
![Page 23: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/23.jpg)
Wakanda
![Page 24: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/24.jpg)
Wakanda
Wakanda Server(aka WakandaDB)
Wakanda Studio
Wakanda Application Framework
DataStore Model Editor
Code Editor
GUI Designer
Debugger
Users & Groups
Administration
REST/JSON
![Page 25: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/25.jpg)
Wakanda
Wakanda Server(aka WakandaDB)
Wakanda Studio
Wakanda Application Framework
DataStore Model Editor
Code Editor
GUI Designer
Debugger
Users & Groups
Administration
REST/JSON
![Page 26: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/26.jpg)
Wakanda
Wakanda Server(aka WakandaDB)
Wakanda Studio
Wakanda Application Framework
DataStore Model Editor
Code Editor
GUI Designer
Debugger
Users & Groups
Administration
REST/JSON
![Page 27: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/27.jpg)
Wakanda
Wakanda Server(aka WakandaDB)
Wakanda Studio
Wakanda Application Framework
DataStore Model Editor
Code Editor
GUI Designer
Debugger
Users & Groups
Administration
REST/JSON
![Page 28: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/28.jpg)
Wakanda
Wakanda Server(aka WakandaDB)
Wakanda Studio
Wakanda Application Framework
DataStore Model Editor
Code Editor
GUI Designer
Debugger
Users & Groups
Administration
REST/JSON
Extensions
![Page 29: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/29.jpg)
Wakanda
Wakanda Server(aka WakandaDB)
Wakanda Studio
Wakanda Application Framework
DataStore Model Editor
Code Editor
GUI Designer
Debugger
Users & Groups
Administration
REST/JSON
Extensions
![Page 30: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/30.jpg)
Wakanda
Wakanda Server(aka WakandaDB)
Your Development ToolsVisual Studio, XCode, NetBeans, Eclipse,
Cloud9, Orion, Sencha Architect
Your Client or Server FrameworkJava, .NET, node.js PHP, Python, Ruby...
ExtJS, Sencha Touch, Kendo UI, Backbone.js...
REST/JSON
Webkit debugger protocol 1.0
![Page 31: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/31.jpg)
Wakanda Server(aka WakandaDB)
![Page 32: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/32.jpg)
Wakanda Server(aka WakandaDB)
• Data/HTTP Server
• JavaScript Environment
• NoSQL Object Datastore
![Page 33: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/33.jpg)
Model & Data Classes
![Page 34: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/34.jpg)
Relations
![Page 35: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/35.jpg)
Recursivity
![Page 36: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/36.jpg)
Alias attributes
![Page 37: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/37.jpg)
N/N Relation
![Page 38: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/38.jpg)
![Page 39: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/39.jpg)
![Page 40: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/40.jpg)
![Page 41: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/41.jpg)
![Page 42: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/42.jpg)
![Page 43: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/43.jpg)
![Page 44: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/44.jpg)
![Page 45: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/45.jpg)
![Page 46: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/46.jpg)
![Page 47: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/47.jpg)
john = ds.Person.find(“firstName eq John”);
conferences = john.allConferences;
JohnJSConferences = conferences.filter(“title eq ‘@JavaScript@’”);
JSAttendeesJohnMet = JSConferences.allPeople;
![Page 48: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/48.jpg)
Extend a Datastore Class
![Page 49: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/49.jpg)
Calculated attributes
![Page 50: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/50.jpg)
Datastore Class Methods
![Page 51: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/51.jpg)
Security
![Page 52: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/52.jpg)
Scope Validation
![Page 53: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/53.jpg)
Users & Groups
![Page 54: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/54.jpg)
Open Environment
![Page 55: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/55.jpg)
Open Source
Wakanda Framework already on Github
Wakanda Server coming soon
Wakanda Studio later (still some proprietary library dependencies to remove)
Download accessible from:
the stabilization channel
the Nightly builds of the development channel
![Page 56: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/56.jpg)
Sencha
doc.wakanda.org/REST/REST.100-808498.html
https://github.com/revolunet/sencha-wakanda/
REST HTTP API
proxy by
Sencha ArchitectSencha Touch
ExtJS
![Page 57: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/57.jpg)
Webkit debugger Protocol 1.0
![Page 58: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/58.jpg)
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 59: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/59.jpg)
“Client & Server JavaScript APIs”
Proposed W3C Community Group
http://w3.org/community/
W3C Community & Business Groups
Workers ?
![Page 60: Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012](https://reader037.fdocuments.in/reader037/viewer/2022110118/55512acdb4c905325d8b49ac/html5/thumbnails/60.jpg)
Come with us at San Jose, CA on October 26th:
@JSeverywhere
http://JSeverywhere.org
Call to speaker just started!!!