SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
Wakanda

           NoSQL for Model-driven

                    Web Applications



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


JSeverywhere.org
@JSeverywhere
Cross-platform development and
deployment system for model-driven
      web-based applications
Business Web Applications
Business Web Applications
Business Web Applications

                          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
                           Tomcat C#
                   Varnish
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
                           Tomcat C#
                   Varnish
 PHP   JUnit REST
                            IIS   Zend
         Apache     Oracle
 Spring                         GWT
                        MySQL
            SQL Server            JSO
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
many referenced nosql databases on http://nosql-database.org/
Alternative solutions to SQL


                             eventual consistency
    Why?                                             Cloud
                                  Non Relational?
   Scalability

                                              Model-driven
                       Semantic


                                             How?
CAP Theorem
 Consistency
 Availability
 Partition tolerance                            Schemaless


               Graph
                                   What for?
 BigData
NoSQL Families
Document Store            Object store




                  Graph



Key-value store           Column store
NoSQL Families
Document Store            Object store




                  Graph



Key-value store           Column store
NoSQL Families
Document Store            Object store




                  Graph



Key-value store           Column store
Cross-platform development and
deployment system for model-driven
      web-based applications
Cross-platform development and
deployment system for model-driven
      web-based applications

         One Language
        JavaScript
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
Webkit          JavaScriptCore

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

Wakanda Server
   (aka WakandaDB)
Wakanda

  Wakanda Server               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

  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
WakandaDB
                                        REST/JSON
                                                           Your Server Framework
                                                      Java, .NET, node.js PHP, Python, Ruby...


Wakanda Server                                       Your Web app Client Framework
                                                    ExtJS, Sencha Touch, Kendo UI, Backbone.js...
   (aka WakandaDB)


                                                    Your native app Client Framework
                                                                iOS, Androïd, .NET...
         Webkit debugger protocol 1.0




                        Your Development Tools
                    Visual Studio, XCode, NetBeans, Eclipse,
                        Cloud9, Orion, Sencha Architect
                                       +
                             Chrome Web Inspector
Model & Data Classes
Relationship


                   Recursivity
Alias attributes
many to many
john = ds.Person.find(“firstName eq John”);

conferences = john.allConferences;

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

JSAttendeesJohnMet = JSConferences.allPeople;
Extend a Datastore Class
Calculated attributes
Datastore Class Methods
Security
Scope   Validation
Users & Groups
Open Environment
Open Source
Wakanda Framework already on Github
Wakanda Server coming soon
Wakanda Studio later to remove)
(still some proprietary library dependencies




Downloads accessible from:
   the production channel (current release)
   the stabilization channel (next release)
   the development channel (nightly builds)
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”

   W3C Community Group
   http://www.w3.org/community/jseverywhere




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




               @JSeverywhere

           http://JSeverywhere.org


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

Mais conteúdo relacionado

Mais procurados

Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward
 

Mais procurados (20)

Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
 
NEXT.JS
NEXT.JSNEXT.JS
NEXT.JS
 
PostgreSQL Materialized Views with Active Record
PostgreSQL Materialized Views with Active RecordPostgreSQL Materialized Views with Active Record
PostgreSQL Materialized Views with Active Record
 
Nestjs MasterClass Slides
Nestjs MasterClass SlidesNestjs MasterClass Slides
Nestjs MasterClass Slides
 
MariaDB Temporal Tables
MariaDB Temporal TablesMariaDB Temporal Tables
MariaDB Temporal Tables
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDB
 
Producer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaProducer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache Kafka
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
 
카프카 기반의 대규모 모니터링 플랫폼 개발이야기
카프카 기반의 대규모 모니터링 플랫폼 개발이야기카프카 기반의 대규모 모니터링 플랫폼 개발이야기
카프카 기반의 대규모 모니터링 플랫폼 개발이야기
 
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
 
Automate workflows with leading open-source BPM
Automate workflows with leading open-source BPMAutomate workflows with leading open-source BPM
Automate workflows with leading open-source BPM
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
 
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven Design
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
 
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
Approximate Queries and Graph Streams on Apache Flink - Theodore Vasiloudis -...
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
 
Cassandra nice use cases and worst anti patterns
Cassandra nice use cases and worst anti patternsCassandra nice use cases and worst anti patterns
Cassandra nice use cases and worst anti patterns
 
Word2Vec 개요 및 활용
Word2Vec 개요 및 활용Word2Vec 개요 및 활용
Word2Vec 개요 및 활용
 
PostgreSQL at 20TB and Beyond
PostgreSQL at 20TB and BeyondPostgreSQL at 20TB and Beyond
PostgreSQL at 20TB and Beyond
 
좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기
 

Destaque

Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
Derek Stainer
 
5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2
Fabio Fumarola
 
Query mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesQuery mechanisms for NoSQL databases
Query mechanisms for NoSQL databases
ArangoDB Database
 
MongoDB Case Study at NoSQL Now 2012
MongoDB Case Study at NoSQL Now 2012MongoDB Case Study at NoSQL Now 2012
MongoDB Case Study at NoSQL Now 2012
Sean Laurent
 

Destaque (20)

NoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture PatternsNoSQL Now! NoSQL Architecture Patterns
NoSQL Now! NoSQL Architecture Patterns
 
Data Modeling for NoSQL
Data Modeling for NoSQLData Modeling for NoSQL
Data Modeling for NoSQL
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 
SQL, NoSQL, BigData in Data Architecture
SQL, NoSQL, BigData in Data ArchitectureSQL, NoSQL, BigData in Data Architecture
SQL, NoSQL, BigData in Data Architecture
 
5 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/25 Data Modeling for NoSQL 1/2
5 Data Modeling for NoSQL 1/2
 
Webinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in DocumentsWebinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in Documents
 
Real-World NoSQL Schema Design
Real-World NoSQL Schema DesignReal-World NoSQL Schema Design
Real-World NoSQL Schema Design
 
Query mechanisms for NoSQL databases
Query mechanisms for NoSQL databasesQuery mechanisms for NoSQL databases
Query mechanisms for NoSQL databases
 
MongoDB Schema Design: Four Real-World Examples
MongoDB Schema Design: Four Real-World ExamplesMongoDB Schema Design: Four Real-World Examples
MongoDB Schema Design: Four Real-World Examples
 
Domain Driven Design & NoSQL
Domain Driven Design & NoSQLDomain Driven Design & NoSQL
Domain Driven Design & NoSQL
 
Modeling with Document Database: 5 Key Patterns
Modeling with Document Database: 5 Key PatternsModeling with Document Database: 5 Key Patterns
Modeling with Document Database: 5 Key Patterns
 
NoSQL Data Architecture Patterns
NoSQL Data ArchitecturePatternsNoSQL Data ArchitecturePatterns
NoSQL Data Architecture Patterns
 
Unit tests & TDD
Unit tests & TDDUnit tests & TDD
Unit tests & TDD
 
The Internet as a Single Database
The Internet as a Single DatabaseThe Internet as a Single Database
The Internet as a Single Database
 
Scalable Databases - From Relational Databases To Polyglot Persistence
Scalable Databases - From Relational Databases To Polyglot PersistenceScalable Databases - From Relational Databases To Polyglot Persistence
Scalable Databases - From Relational Databases To Polyglot Persistence
 
Real Developers Don't Need Unit Tests
Real Developers Don't Need Unit TestsReal Developers Don't Need Unit Tests
Real Developers Don't Need Unit Tests
 
Node.js and NoSQL
Node.js and NoSQLNode.js and NoSQL
Node.js and NoSQL
 
MongoDB Case Study at NoSQL Now 2012
MongoDB Case Study at NoSQL Now 2012MongoDB Case Study at NoSQL Now 2012
MongoDB Case Study at NoSQL Now 2012
 
Introduction to Couchbase: Onomi
Introduction to Couchbase: OnomiIntroduction to Couchbase: Onomi
Introduction to Couchbase: Onomi
 
Web services
Web servicesWeb services
Web services
 

Semelhante a Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 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
 
Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter Bootstrap
Kevingo Tsai
 
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
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
jbandi
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer Tools
Amazon Web Services
 
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
 

Semelhante a Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012 (20)

Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
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
 
Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with Nashorn
 
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
 
Building Fault Tolerant, Highly Available and Secured Architectures - Simon E...
Building Fault Tolerant, Highly Available and Secured Architectures - Simon E...Building Fault Tolerant, Highly Available and Secured Architectures - Simon E...
Building Fault Tolerant, Highly Available and Secured Architectures - Simon E...
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
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
 
What is Node JS ?
What is Node JS ?What is Node JS ?
What is Node JS ?
 
CQ5 and Sling overview
CQ5 and Sling overviewCQ5 and Sling overview
CQ5 and Sling overview
 
Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter Bootstrap
 
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
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer Tools
 
Everyday tools and tricks for scaling Node.js
Everyday tools and tricks for scaling Node.jsEveryday tools and tricks for scaling Node.js
Everyday tools and tricks for scaling 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 - 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 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
 
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
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 

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

Mais 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)
 
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
 
NoSQL and JavaScript: a love story
NoSQL and JavaScript: a love storyNoSQL and JavaScript: a love story
NoSQL and JavaScript: a love story
 
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
 
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
 
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
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation 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...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012

  • 1. Wakanda NoSQL for Model-driven Web Applications Alexandre Morgaut Web Architect & Community Manager @amorgaut
  • 3. Cross-platform development and deployment system for model-driven web-based applications
  • 6. Business Web Applications Silverlight .NET Visual C++ C# IIS SQL Server
  • 7. Business Web Applications Acegi Silverlight JSP .NET Visual Java C++ Hibernate C# Tomcat JUnit IIS Oracle Spring GWT SQL Server
  • 8. Business Web Applications Acegi Silverlight JSP .NET Symfony Aptana Visual Eclipse Java C++ Hibernate Tomcat C# Varnish PHP JUnit IIS Zend Apache Oracle Spring GWT MySQL SQL Server
  • 9. Business Web Applications ExtJS Flex Acegi Silverlight JSP .NET Symfony SSL HTTP Aptana ATOM Visual Eclipse Java C++ Hibernate Tomcat C# Varnish PHP JUnit REST IIS Zend Apache Oracle Spring GWT MySQL SQL Server JSO
  • 10.
  • 11.
  • 12. Cross-platform development and deployment system for model-driven web-based applications
  • 13. 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
  • 14. many referenced nosql databases on http://nosql-database.org/
  • 15. Alternative solutions to SQL eventual consistency Why? Cloud Non Relational? Scalability Model-driven Semantic How? CAP Theorem Consistency Availability Partition tolerance Schemaless Graph What for? BigData
  • 16. NoSQL Families Document Store Object store Graph Key-value store Column store
  • 17. NoSQL Families Document Store Object store Graph Key-value store Column store
  • 18. NoSQL Families Document Store Object store Graph Key-value store Column store
  • 19. Cross-platform development and deployment system for model-driven web-based applications
  • 20. Cross-platform development and deployment system for model-driven web-based applications One Language JavaScript
  • 21.
  • 22. 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
  • 23. Server-Side JavaScript SpiderMonkey JavaScriptCore Rhino V8 Trident / Chakra
  • 24. Webkit JavaScriptCore multi-threaded, preemptive, thread-safe, 64bits, strict mode fast, well structured & documented, maintained by Apple
  • 26. Wakanda Wakanda Server (aka WakandaDB)
  • 27. Wakanda Wakanda Server REST/JSON Wakanda Application Framework (aka WakandaDB) DataStore Model Editor Debugger Code Editor Wakanda Studio Users & Groups GUI Designer Extensions 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 Wakanda Server REST/JSON Wakanda Application Framework (aka WakandaDB) DataStore Model Editor Debugger Code Editor Wakanda Studio Users & Groups GUI Designer Extensions Administration
  • 31. WakandaDB REST/JSON Your Server Framework Java, .NET, node.js PHP, Python, Ruby... Wakanda Server Your Web app Client Framework ExtJS, Sencha Touch, Kendo UI, Backbone.js... (aka WakandaDB) Your native app Client Framework iOS, Androïd, .NET... Webkit debugger protocol 1.0 Your Development Tools Visual Studio, XCode, NetBeans, Eclipse, Cloud9, Orion, Sencha Architect + Chrome Web Inspector
  • 32. Model & Data Classes
  • 33. Relationship Recursivity Alias attributes
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44. john = ds.Person.find(“firstName eq John”); conferences = john.allConferences; JohnJSConferences = conferences.filter(“title eq ‘@JavaScript@’”); JSAttendeesJohnMet = JSConferences.allPeople;
  • 49. Scope Validation
  • 52. Open Source Wakanda Framework already on Github Wakanda Server coming soon Wakanda Studio later to remove) (still some proprietary library dependencies Downloads accessible from: the production channel (current release) the stabilization channel (next release) the development channel (nightly builds)
  • 53. 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
  • 55. 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
  • 56. W3C Community & Business Groups “Client & Server JavaScript APIs” W3C Community Group http://www.w3.org/community/jseverywhere Workers ?
  • 57. Come with us at San Jose, CA on October 26th: @JSeverywhere http://JSeverywhere.org Call to speaker ends on June, 30th!!!