SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
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!!!

Contenu connexe

Similaire à 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-29
Alexandre 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 - NantesJS
Alexandre Morgaut
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
martinlippert
 
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
martinlippert
 
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
Alexandre 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 fulljs
Alexandre Morgaut
 
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
Alexandre Morgaut
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
jbandi
 
Shreeraj-Hacking_Web_2
Shreeraj-Hacking_Web_2Shreeraj-Hacking_Web_2
Shreeraj-Hacking_Web_2
guest66dc5f
 
Eclipse & die Microsoft cloud
Eclipse & die Microsoft cloudEclipse & die Microsoft cloud
Eclipse & die Microsoft cloud
Patric Boscolo
 
State of Developer Tools (WDS09)
State of Developer Tools (WDS09)State of Developer Tools (WDS09)
State of Developer Tools (WDS09)
bgalbs
 

Similaire à 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
 

Plus de Alexandre Morgaut

HTML5 in automotive - web2day 2014
HTML5 in automotive  - web2day 2014HTML5 in automotive  - web2day 2014
HTML5 in automotive - web2day 2014
Alexandre 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 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
Alexandre 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) Europe
Alexandre 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 Geneve
Alexandre Morgaut
 
NantesJS premier meetup - Welcome
NantesJS premier meetup - WelcomeNantesJS premier meetup - Welcome
NantesJS premier meetup - Welcome
Alexandre Morgaut
 
Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011
Alexandre 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 Wakanda
Alexandre Morgaut
 

Plus de 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)
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

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

Notes de l'éditeur

  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