SlideShare a Scribd company logo
1 of 60
Download to read offline
Wakanda

                   NoSQL & SSJS for

Model-driven Web Applications



Alexandre Morgaut
Web Architect & Community Manager      @amorgaut
wakanda.org
@wakandasoft


JSeverywhere.org
@JSeverywhere
Business Web Applications
Business Web Applications
Business Web Applications

                          Silverlight
.NET

                      Visual
       C++                              C#

                               IIS


             SQL Server
Business Web Applications

            Acegi                Silverlight JSP
.NET

                          Visual
 Java C++ Hibernate                           C#
                                    Tomcat
         JUnit
                                     IIS
                        Oracle
Spring                                     GWT
                 SQL Server
Business Web Applications

            Acegi             Silverlight JSP
.NET                Symfony
       Aptana           Visual       Eclipse
 Java C++ Hibernate
                     Varnish Tomcat C#
PHP    JUnit
                              IIS   Zend
         Apache      Oracle
Spring                            GWT
                          MySQL
             SQL Server
Business Web Applications
                   ExtJS                Flex
          Acegi             Silverlight JSP
.NET              Symfony
                           SSL
HTTP Aptana ATOM      Visual   Eclipse
  Java C++ Hibernate
                     Varnish Tomcat C#
 PHP    JUnit REST
                              IIS   Zend
          Apache     Oracle
 Spring                           GWT
                          MySQL
             SQL Server            JSON
many referenced nosql databases on http://nosql-database.org/
Alternative solutions to SQL


   Why?                                             Cloud
                                  Non Relational?
   Scalability

                                           Model-driven
                       Semantic


CAP Theorem
                                          How?
 Consistency
 Availability
 Partition tolerance                         Schemaless


               Graph                  What
                                      for?
 BigData
NoSQL Families
Document Store            Object store


                  Graph

Key-value store           Column store
JavaScript Engines
                                                                                                                                                C+
                                         C                                                                                                        +
 SpiderMonkey                                                       webkit JavaScriptCore: JSC
            3 JIT Compilers:                                                  SquirrelFish Extreme: SFX aka Nitro
             TraceMonkey,                                                               (JIT Compiler inside)
             JägerMonkey,
               IonMonkey




                                  Jav                                                                               C+
                                     a                                                                                +
            Rhino                                                                                         V8
  Interpreted or Compiled execution                                                               JIT Compiler: CrankShaft


Nashorn?
                                                                                                  ?
                                             Trident: MSHTML
                                                  Chakra
                                             -> Classic JScript, Managed JScript, & JScript.NET

                               C+                                                                                                   ?
                                 +
             Tamarin                                                                                             Carakan
       JIT Compiler: NanoJIT
      -> ActionScript / “ECMAScript 4”
                                                                                                      Previously: Linear A, Linear B, Futhark
Server-Side JavaScript


SpiderMonkey                 JavaScriptCore




  Rhino                            V8



               Trident / Chakra
Cross-platform development and
deployment system for model-driven
      web-based applications
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 Engineering
                                            Model Driven Engineering
                                            Model Driven Development
                                            Model Driven Architecture


           See also: Domain Driven Design
Cross-platform development and
deployment system for model-driven
      web-based applications
Cross-platform development and
deployment system for model-driven
      web-based applications

         One Language
         JavaScript
JavaScriptCore
multi-threaded, preemptive, thread-safe, 64bits, strict mode
 fast, well structured & documented, maintained by Apple
Wakanda
Wakanda

   Wakanda Server              REST/JSON
                                           Wakanda Application Framework
        (aka WakandaDB)




DataStore Model Editor                                   Debugger


     Code Editor          Wakanda Studio              Users & Groups


    GUI Designer                                       Administration
Wakanda

   Wakanda Server              REST/JSON
                                           Wakanda Application Framework
        (aka WakandaDB)




DataStore Model Editor                                   Debugger


     Code Editor          Wakanda Studio              Users & Groups


    GUI Designer                                       Administration
Wakanda

   Wakanda Server              REST/JSON
                                           Wakanda Application Framework
        (aka WakandaDB)




DataStore Model Editor                                   Debugger


     Code Editor          Wakanda Studio              Users & Groups


    GUI Designer                                       Administration
Wakanda

   Wakanda Server              REST/JSON
                                           Wakanda Application Framework
        (aka WakandaDB)




DataStore Model Editor                                   Debugger


     Code Editor          Wakanda Studio              Users & Groups


    GUI Designer                                       Administration
Wakanda

   Wakanda Server              REST/JSON
                                           Wakanda Application Framework
        (aka WakandaDB)




DataStore Model Editor                                   Debugger


     Code Editor          Wakanda Studio              Users & Groups


    GUI Designer             Extensions                Administration
Wakanda

   Wakanda Server              REST/JSON
                                           Wakanda Application Framework
        (aka WakandaDB)




DataStore Model Editor                                   Debugger


     Code Editor          Wakanda Studio              Users & Groups


    GUI Designer             Extensions                Administration
Wakanda

                                                  Your Client or Server Framework
Wakanda Server                        REST/JSON
                                                     Java, .NET, node.js PHP, Python, Ruby...
  (aka WakandaDB)                                 ExtJS, Sencha Touch, Kendo UI, Backbone.js...



       Webkit debugger protocol 1.0




                    Your Development Tools
                  Visual Studio, XCode, NetBeans, Eclipse,
                      Cloud9, Orion, Sencha Architect
Wakanda Server
  (aka WakandaDB)
Wakanda Server
  (aka WakandaDB)

                    • Data/HTTP Server
                    • JavaScript Environment
                    • NoSQL Object Datastore
Model & Data Classes
Relations
Recursivity
Alias attributes
N/N Relation
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)




Download accessible from:
   the stabilization channel
   the Nightly builds of the development channel
REST HTTP API
       doc.wakanda.org/REST/REST.100-808498.html




  Sencha              proxy by
       https://github.com/revolunet/sencha-wakanda/




                                  Sencha Touch
Sencha Architect

                                ExtJS
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
W3C Community & Business Groups


“Client & Server JavaScript APIs”
   Proposed W3C Community Group
   http://w3.org/community/




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




               @JSeverywhere

           http://JSeverywhere.org


                            Call to speaker just started!!!

More Related Content

Similar to Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012

Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29Alexandre Morgaut
 
State of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSState of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSAlexandre Morgaut
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptmartinlippert
 
State of the art server side java script
State of the art server side java scriptState of the art server side java script
State of the art server side java scriptThibaud Arguillere
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptmartinlippert
 
State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012Alexandre Morgaut
 
State of the art: Server-Side JavaScript - dejeuner fulljs
State of the art: Server-Side JavaScript - dejeuner fulljsState of the art: Server-Side JavaScript - dejeuner fulljs
State of the art: Server-Side JavaScript - dejeuner fulljsAlexandre Morgaut
 
Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornMaxime Najim
 
What is Node JS ?
What is Node JS ?What is Node JS ?
What is Node JS ?Balajihope
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptmartinlippert
 
State of the art: Server-side JavaScript - MoscowJS
State of the art: Server-side JavaScript - MoscowJSState of the art: Server-side JavaScript - MoscowJS
State of the art: Server-side JavaScript - MoscowJSAlexandre Morgaut
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise ArchitecturesBIOVIA
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?jbandi
 
C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid)
C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid)C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid)
C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid)Stuart Lodge
 
Shreeraj-Hacking_Web_2
Shreeraj-Hacking_Web_2Shreeraj-Hacking_Web_2
Shreeraj-Hacking_Web_2guest66dc5f
 
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...Alexandre Morgaut
 
Eclipse & die Microsoft cloud
Eclipse & die Microsoft cloudEclipse & die Microsoft cloud
Eclipse & die Microsoft cloudPatric Boscolo
 
State of Developer Tools (WDS09)
State of Developer Tools (WDS09)State of Developer Tools (WDS09)
State of Developer Tools (WDS09)bgalbs
 
NoSQL and JavaScript: a love story
NoSQL and JavaScript: a love storyNoSQL and JavaScript: a love story
NoSQL and JavaScript: a love storyAlexandre Morgaut
 

Similar to Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012 (20)

Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29Wakanda - apps.berlin.js - 2012-11-29
Wakanda - apps.berlin.js - 2012-11-29
 
State of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSState of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJS
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
State of the art server side java script
State of the art server side java scriptState of the art server side java script
State of the art server side java script
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScript
 
State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012
 
State of the art: Server-Side JavaScript - dejeuner fulljs
State of the art: Server-Side JavaScript - dejeuner fulljsState of the art: Server-Side JavaScript - dejeuner fulljs
State of the art: Server-Side JavaScript - dejeuner fulljs
 
Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with Nashorn
 
What is Node JS ?
What is Node JS ?What is Node JS ?
What is Node JS ?
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
State of the art: Server-side JavaScript - MoscowJS
State of the art: Server-side JavaScript - MoscowJSState of the art: Server-side JavaScript - MoscowJS
State of the art: Server-side JavaScript - MoscowJS
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
 
C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid)
C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid)C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid)
C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid)
 
Shreeraj-Hacking_Web_2
Shreeraj-Hacking_Web_2Shreeraj-Hacking_Web_2
Shreeraj-Hacking_Web_2
 
CQ5 and Sling overview
CQ5 and Sling overviewCQ5 and Sling overview
CQ5 and Sling overview
 
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
 
Eclipse & die Microsoft cloud
Eclipse & die Microsoft cloudEclipse & die Microsoft cloud
Eclipse & die Microsoft cloud
 
State of Developer Tools (WDS09)
State of Developer Tools (WDS09)State of Developer Tools (WDS09)
State of Developer Tools (WDS09)
 
NoSQL and JavaScript: a love story
NoSQL and JavaScript: a love storyNoSQL and JavaScript: a love story
NoSQL and JavaScript: a love story
 

More from Alexandre Morgaut

Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...Alexandre Morgaut
 
Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017Alexandre Morgaut
 
angular-wakanda ngParis meetup 15 at 42
angular-wakanda ngParis meetup 15 at 42angular-wakanda ngParis meetup 15 at 42
angular-wakanda ngParis meetup 15 at 42Alexandre Morgaut
 
Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012Alexandre Morgaut
 
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Alexandre Morgaut
 
HTML5 in automotive - web2day 2014
HTML5 in automotive  - web2day 2014HTML5 in automotive  - web2day 2014
HTML5 in automotive - web2day 2014Alexandre Morgaut
 
JS in SMS - JS.everywhere(2013)
JS in SMS - JS.everywhere(2013)JS in SMS - JS.everywhere(2013)
JS in SMS - JS.everywhere(2013)Alexandre Morgaut
 
Js in Automotive - JS.everywhere(2013)
Js in Automotive - JS.everywhere(2013)Js in Automotive - JS.everywhere(2013)
Js in Automotive - JS.everywhere(2013)Alexandre Morgaut
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013Alexandre Morgaut
 
From Web App Model Design to Production with Wakanda
From Web App Model Design to Production with WakandaFrom Web App Model Design to Production with Wakanda
From Web App Model Design to Production with WakandaAlexandre Morgaut
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeAlexandre Morgaut
 
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeWakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeAlexandre Morgaut
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012Alexandre Morgaut
 
NoSQL and JavaScript: a Love Story
NoSQL and JavaScript: a Love StoryNoSQL and JavaScript: a Love Story
NoSQL and JavaScript: a Love StoryAlexandre Morgaut
 
Etat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS GeneveEtat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS GeneveAlexandre Morgaut
 
NantesJS premier meetup - Welcome
NantesJS premier meetup - WelcomeNantesJS premier meetup - Welcome
NantesJS premier meetup - WelcomeAlexandre Morgaut
 
Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011Alexandre Morgaut
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaAlexandre Morgaut
 
State of the art: Server-Side JavaScript (ParisJS)
State of the art: Server-Side JavaScript  (ParisJS)State of the art: Server-Side JavaScript  (ParisJS)
State of the art: Server-Side JavaScript (ParisJS)Alexandre Morgaut
 

More from Alexandre Morgaut (20)

Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
 
Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017
 
angular-wakanda ngParis meetup 15 at 42
angular-wakanda ngParis meetup 15 at 42angular-wakanda ngParis meetup 15 at 42
angular-wakanda ngParis meetup 15 at 42
 
Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012
 
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
 
HTML5 in automotive - web2day 2014
HTML5 in automotive  - web2day 2014HTML5 in automotive  - web2day 2014
HTML5 in automotive - web2day 2014
 
JS in SMS - JS.everywhere(2013)
JS in SMS - JS.everywhere(2013)JS in SMS - JS.everywhere(2013)
JS in SMS - JS.everywhere(2013)
 
Js in Automotive - JS.everywhere(2013)
Js in Automotive - JS.everywhere(2013)Js in Automotive - JS.everywhere(2013)
Js in Automotive - JS.everywhere(2013)
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
 
From Web App Model Design to Production with Wakanda
From Web App Model Design to Production with WakandaFrom Web App Model Design to Production with Wakanda
From Web App Model Design to Production with Wakanda
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) Europe
 
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeWakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012
 
End-to-end W3C APIs
End-to-end W3C APIsEnd-to-end W3C APIs
End-to-end W3C APIs
 
NoSQL and JavaScript: a Love Story
NoSQL and JavaScript: a Love StoryNoSQL and JavaScript: a Love Story
NoSQL and JavaScript: a Love Story
 
Etat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS GeneveEtat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS Geneve
 
NantesJS premier meetup - Welcome
NantesJS premier meetup - WelcomeNantesJS premier meetup - Welcome
NantesJS premier meetup - Welcome
 
Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
 
State of the art: Server-Side JavaScript (ParisJS)
State of the art: Server-Side JavaScript  (ParisJS)State of the art: Server-Side JavaScript  (ParisJS)
State of the art: Server-Side JavaScript (ParisJS)
 

Recently uploaded

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012

  • 1. Wakanda NoSQL & SSJS for Model-driven Web Applications Alexandre Morgaut Web Architect & Community Manager @amorgaut
  • 5. Business Web Applications Silverlight .NET Visual C++ C# IIS SQL Server
  • 6. Business Web Applications Acegi Silverlight JSP .NET Visual Java C++ Hibernate C# Tomcat JUnit IIS Oracle Spring GWT SQL Server
  • 7. Business Web Applications Acegi Silverlight JSP .NET Symfony Aptana Visual Eclipse Java C++ Hibernate Varnish Tomcat C# PHP JUnit IIS Zend Apache Oracle Spring GWT MySQL SQL Server
  • 8. Business Web Applications ExtJS Flex Acegi Silverlight JSP .NET Symfony SSL HTTP Aptana ATOM Visual Eclipse Java C++ Hibernate Varnish Tomcat C# PHP JUnit REST IIS Zend Apache Oracle Spring GWT MySQL SQL Server JSON
  • 9.
  • 10.
  • 11. many referenced nosql databases on http://nosql-database.org/
  • 12. Alternative solutions to SQL Why? Cloud Non Relational? Scalability Model-driven Semantic CAP Theorem How? Consistency Availability Partition tolerance Schemaless Graph What for? BigData
  • 13. NoSQL Families Document Store Object store Graph Key-value store Column store
  • 14.
  • 15. JavaScript Engines C+ C + SpiderMonkey webkit JavaScriptCore: JSC 3 JIT Compilers: SquirrelFish Extreme: SFX aka Nitro TraceMonkey, (JIT Compiler inside) JägerMonkey, IonMonkey Jav C+ a + Rhino V8 Interpreted or Compiled execution JIT Compiler: CrankShaft Nashorn? ? Trident: MSHTML Chakra -> Classic JScript, Managed JScript, & JScript.NET C+ ? + Tamarin Carakan JIT Compiler: NanoJIT -> ActionScript / “ECMAScript 4” Previously: Linear A, Linear B, Futhark
  • 16. Server-Side JavaScript SpiderMonkey JavaScriptCore Rhino V8 Trident / Chakra
  • 17. Cross-platform development and deployment system for model-driven web-based applications
  • 18. Cross-platform development and deployment system for model-driven web-based applications
  • 19. Cross-platform development and deployment system for model-driven web-based applications Model Based Engineering Model Driven Engineering Model Driven Development Model Driven Architecture See also: Domain Driven Design
  • 20. Cross-platform development and deployment system for model-driven web-based applications
  • 21. Cross-platform development and deployment system for model-driven web-based applications One Language JavaScript
  • 22. JavaScriptCore multi-threaded, preemptive, thread-safe, 64bits, strict mode fast, well structured & documented, maintained by Apple
  • 24. Wakanda Wakanda Server REST/JSON Wakanda Application Framework (aka WakandaDB) DataStore Model Editor Debugger Code Editor Wakanda Studio Users & Groups GUI Designer Administration
  • 25. Wakanda Wakanda Server REST/JSON Wakanda Application Framework (aka WakandaDB) DataStore Model Editor Debugger Code Editor Wakanda Studio Users & Groups GUI Designer Administration
  • 26. Wakanda Wakanda Server REST/JSON Wakanda Application Framework (aka WakandaDB) DataStore Model Editor Debugger Code Editor Wakanda Studio Users & Groups GUI Designer Administration
  • 27. Wakanda Wakanda Server REST/JSON Wakanda Application Framework (aka WakandaDB) DataStore Model Editor Debugger Code Editor Wakanda Studio Users & Groups GUI Designer Administration
  • 28. Wakanda Wakanda Server REST/JSON Wakanda Application Framework (aka WakandaDB) DataStore Model Editor Debugger Code Editor Wakanda Studio Users & Groups GUI Designer Extensions Administration
  • 29. Wakanda Wakanda Server REST/JSON Wakanda Application Framework (aka WakandaDB) DataStore Model Editor Debugger Code Editor Wakanda Studio Users & Groups GUI Designer Extensions Administration
  • 30. Wakanda Your Client or Server Framework Wakanda Server REST/JSON Java, .NET, node.js PHP, Python, Ruby... (aka WakandaDB) ExtJS, Sencha Touch, Kendo UI, Backbone.js... Webkit debugger protocol 1.0 Your Development Tools Visual Studio, XCode, NetBeans, Eclipse, Cloud9, Orion, Sencha Architect
  • 31. Wakanda Server (aka WakandaDB)
  • 32. Wakanda Server (aka WakandaDB) • Data/HTTP Server • JavaScript Environment • NoSQL Object Datastore
  • 33. Model & Data Classes
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. john = ds.Person.find(“firstName eq John”); conferences = john.allConferences; JohnJSConferences = conferences.filter(“title eq ‘@JavaScript@’”); JSAttendeesJohnMet = JSConferences.allPeople;
  • 52. Scope Validation
  • 55. 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
  • 56. REST HTTP API doc.wakanda.org/REST/REST.100-808498.html Sencha proxy by https://github.com/revolunet/sencha-wakanda/ Sencha Touch Sencha Architect ExtJS
  • 58. 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
  • 59. W3C Community & Business Groups “Client & Server JavaScript APIs” Proposed W3C Community Group http://w3.org/community/ Workers ?
  • 60. Come with us at San Jose, CA on October 26th: @JSeverywhere http://JSeverywhere.org Call to speaker just started!!!

Editor's Notes

  1. \n\n
  2. \n\n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. Web/data/rest/http server\n Fast, threaded JavaScript environment\n Presents Wakanda data as JavaScript Objects, automatically\n Cross platform – Windows/Mac/Linux\n
  37. Web/data/rest/http server\n Fast, threaded JavaScript environment\n Presents Wakanda data as JavaScript Objects, automatically\n Cross platform – Windows/Mac/Linux\n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. - Our debugger protocol is based on CrossFire standard, compatible with Firebug allowing to:\n1. debug JS running in any environment (server, browser, mobile browsers) from our Studio \n2. debug Wakanda SSJS from any crossfire client (as FireBug)\n\nWakanda is intended to also support the V8 debugging protocol for even more interoperability (protocol used by Cloud9 & Node.js)\n\nNote that we choose to support at first CrossFire because it was better answering Wakanda needs. (it’s multi-contexts)\n
  68. \n
  69. \n
  70. \n\n