SlideShare a Scribd company logo
NoSQL, SSJS, & Sencha
Corey Butler
   15yrs+ Web Experience
   Founder @ Ecor Systems, LLC
   Chief Consultant @ Ecor Group (we’re on senchadevs.com)
   DW/BI & Web Practices

   Ext JS Since v2.
   Started in the Adobe, Microsoft, & IBM worlds.
   Started in Fortune 500, Entrepreneur since 2000.

Available Via:
 Blog:          coreybutler.com
 Twitter:       @goldglovecb
 LinkedIn.com/in/ecorsystems
Agenda
 NoSQL Overview
 SSJS Overview
 The Sencha Stack
 Simple Examples
The Stack




 The concept isn’t much different from traditional web architecture.
What is NoSQL?
 No defined relationships.
 No schemas or fixed types.
 NoACID?
What NoSQL Is NOT
 Hard & Fast RDBMS Replacement
 All Purpose Data Storage
NoSQL vs SQL
NOSQL                                                                SQL
      Goal Specific                                                     Generic
      Non-relational                                                    RDBMS
      Map/Reduce                                                        ANSI SQL
      Known Data Structure!                                             Predefined Data Structure
      No NULLS                                                          NULLS

function(doc) {                                                      SELECT   a.pk as id, a.somefield as value
  if ( doc.date < Date() && typeof doc.somefield !== undefined ) {   FROM     TblA a INNER JOIN TblB b
      var resultObject = {                                                    ON a.pk = b.fk
                                    id: doc.pk,                      WHERE    a.somevalue IN
                                    value: doc.somefield                      (SELECT someval FROM TblC)
                             };                                               AND b.date < CURRENT_TIMESTAMP
      emit(resultObject);                                                     AND a.somefield <> null
  }
}
Popular Choices
 CouchDB    Doc Store
 MongoDB    Doc Store w/ Key/Value
 Redis      Key/Value (In Memory)
 Riak       Dynamo-like (Commercial)
 Hadoop     Big Data
 Cassandra  BigTable
 CONSTANTLY GROWING
   kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
Storage Types
Key/Value:   Schemaless. Where is data stored?
             Disk? Memory? Distributed?

Document:    Like Key/Value, but semi-structured.

Graph:       Based on graph theory. Focuses more
             on relationships between objects than
             the objects themselves.

Column/Wide: Key pointing to multiple columns
           (like rows in an RDBMS)
SSJS: Server Side
JavaScript
 SSJS was first introduced via Netscape
  LiveWire in 1996, but really didn’t
  become practical for many until 2009.
 Gaining popularity because:
     Faster JS Engines like Google’s V8 (Chrome), Spidermonkey
      (Firefox), & Rhino (Firefox).
     Maturity of JavaScript/ECMAScript.
     Standards like CommonJS.

   Useful for event-driven apps.
CommonJS
 Aims to standardize JS outside the browser.
 Best Practices/Metadata/Specs.
 Cross-Compatibility.
 Supports concepts like modules, file system
  references, exports, and other common
  requirements for serving applications.
SSJS Platforms
   Narwhal       Most complete CommonJS
                   implementation. Based on
                   Rhino with JSGI Middleware.


   NodeJS        Non-blocking & single threaded
                   (fast). Implements some
                   CommonJS. Based on V8. Large
                   and growing community.

Others: Jaxer, Jack, 10gen App Server
NodeJS
From nodejs.org

Node.js is a server-side JavaScript
environment that uses an asynchronous
event-driven model. This allows Node.js to
get excellent performance based on the
architectures of many Internet applications.

Nutshell: Create apps, like web servers.
Example Web Server
//Require the HTTP module
var          http       = require('http'),
             colors     = require('colors'),
             port       = 80;

//Create the server
http.createServer(function (req, res) {

 res.writeHead(200, {'Content-Type': 'text/plain'});
 res.end('Hello Worldn');

}).listen(port, "127.0.0.1");



//Indicate the server is running
console.log('Server running at http://127.0.0.1:'.green+port.toString().cyan+'/'.green);
NodeJS Modules
 Modules are plugins for Node.
 Lots of work already done for you.
 No governed quality control.
 Hundreds of Modules
 NPM is your friend.
NPM: Node Package
Manager
 http://npmjs.org
 Install/Publish Modules
 Manages dependencies.
 Extremely simple:
    npm install express
Tying to Sencha
 Connect Module is part of Sencha Labs
 Express Module is built on Connect.
Examples With Sencha
   Sencha  NoSQL (CouchDB)
     REST Proxy

   Sencha  NodeJS  MongoDB
     REST Proxy, Express, Mongoose



   This Presentation
     Socket.IO
Node Hotness
   Socket.IO  Web Sockets
     Comparable to HTML5 SSE (Comet)
     Dnode, NowJS
 Highly Concurrent Apps.
 Easy REST Development.
 Server-side headless browsers.
 Community & Momentum

More Related Content

What's hot (20)

PPTX
Basics of MongoDB
HabileLabs
 
PDF
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
Ortus Solutions, Corp
 
PPTX
Mongodb basics and architecture
Bishal Khanal
 
ODP
Introduction to MongoDB
Dineesha Suraweera
 
PPTX
Mongodb - NoSql Database
Prashant Gupta
 
PPTX
Mongo db intro.pptx
JWORKS powered by Ordina
 
PDF
Mongo db
Noman Ellahi
 
KEY
CouchDB introduction
Sander van de Graaf
 
PDF
Introduction to MongoDB
Justin Smestad
 
PPTX
Introduction to NoSQL Database
Mohammad Alghanem
 
PDF
ITB2016 - NoSQL with mongodb and ColdFusion (CFML)
Ortus Solutions, Corp
 
PDF
Introduction to mongo db
Rohit Bishnoi
 
PPT
Couch db
Rashmi Agale
 
PPTX
Couch db
amini gazar
 
PDF
shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014
Gerd König
 
PDF
MongoDB for Coder Training (Coding Serbia 2013)
Uwe Printz
 
PPTX
MongoDB presentation
Hyphen Call
 
PPT
Introduction to mongodb
neela madheswari
 
PPTX
Webinar: What's new in the .NET Driver
MongoDB
 
Basics of MongoDB
HabileLabs
 
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
Ortus Solutions, Corp
 
Mongodb basics and architecture
Bishal Khanal
 
Introduction to MongoDB
Dineesha Suraweera
 
Mongodb - NoSql Database
Prashant Gupta
 
Mongo db intro.pptx
JWORKS powered by Ordina
 
Mongo db
Noman Ellahi
 
CouchDB introduction
Sander van de Graaf
 
Introduction to MongoDB
Justin Smestad
 
Introduction to NoSQL Database
Mohammad Alghanem
 
ITB2016 - NoSQL with mongodb and ColdFusion (CFML)
Ortus Solutions, Corp
 
Introduction to mongo db
Rohit Bishnoi
 
Couch db
Rashmi Agale
 
Couch db
amini gazar
 
shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014
Gerd König
 
MongoDB for Coder Training (Coding Serbia 2013)
Uwe Printz
 
MongoDB presentation
Hyphen Call
 
Introduction to mongodb
neela madheswari
 
Webinar: What's new in the .NET Driver
MongoDB
 

Viewers also liked (7)

PPTX
Oocss & progressive css3 selectors
daniel_sternlicht
 
PPTX
Html basics
php Roots
 
PPTX
Basics of html for web development by software outsourcing company india
Jignesh Aakoliya
 
PDF
Css3
Inbal Geffen
 
PPTX
HTML and CSS Basics
Lindsey Meadows
 
PDF
CSS3: Ripe and Ready to Respond
Denise Jacobs
 
PPT
CSS3
Doncho Minkov
 
Oocss & progressive css3 selectors
daniel_sternlicht
 
Html basics
php Roots
 
Basics of html for web development by software outsourcing company india
Jignesh Aakoliya
 
HTML and CSS Basics
Lindsey Meadows
 
CSS3: Ripe and Ready to Respond
Denise Jacobs
 
Ad

Similar to JS App Architecture (20)

PPTX
mongodb_DS.pptx
DavoudSalehi1
 
PPTX
Nosql seminar
Shreyashkumar Nangnurwar
 
PDF
No sql databases
Walaa Hamdy Assy
 
PPTX
Data Modeling for NoSQL
Tony Tam
 
PDF
Json within a relational database
Dave Stokes
 
PDF
Relationships are hard
ColdFusionConference
 
KEY
NoSQL in the context of Social Web
Bogdan Gaza
 
PPTX
No sql solutions - 공개용
Byeongweon Moon
 
PDF
NoSql and it's introduction features-Unit-1.pdf
ajajkhan16
 
PDF
Open Source World June '21 -- JSON Within a Relational Database
Dave Stokes
 
PPTX
A Practical Look at the NOSQL and Big Data Hullabaloo
Andrew Brust
 
PDF
CouchDB
codebits
 
PPTX
Discover the Power of the NoSQL + SQL with MySQL
Dave Stokes
 
PPTX
Discover The Power of NoSQL + MySQL with MySQL
Dave Stokes
 
PDF
Non Relational Databases And World Domination
Jason Davies
 
PPTX
NoSQL and The Big Data Hullabaloo
Andrew Brust
 
PDF
SQL vs NoSQL deep dive
Ahmed Shaaban
 
PDF
Considerations for using NoSQL technology on your next IT project - Akmal Cha...
jaxconf
 
PPTX
NoSQL
dbulic
 
PDF
Mongodb my
Alexey Gaziev
 
mongodb_DS.pptx
DavoudSalehi1
 
No sql databases
Walaa Hamdy Assy
 
Data Modeling for NoSQL
Tony Tam
 
Json within a relational database
Dave Stokes
 
Relationships are hard
ColdFusionConference
 
NoSQL in the context of Social Web
Bogdan Gaza
 
No sql solutions - 공개용
Byeongweon Moon
 
NoSql and it's introduction features-Unit-1.pdf
ajajkhan16
 
Open Source World June '21 -- JSON Within a Relational Database
Dave Stokes
 
A Practical Look at the NOSQL and Big Data Hullabaloo
Andrew Brust
 
CouchDB
codebits
 
Discover the Power of the NoSQL + SQL with MySQL
Dave Stokes
 
Discover The Power of NoSQL + MySQL with MySQL
Dave Stokes
 
Non Relational Databases And World Domination
Jason Davies
 
NoSQL and The Big Data Hullabaloo
Andrew Brust
 
SQL vs NoSQL deep dive
Ahmed Shaaban
 
Considerations for using NoSQL technology on your next IT project - Akmal Cha...
jaxconf
 
NoSQL
dbulic
 
Mongodb my
Alexey Gaziev
 
Ad

Recently uploaded (20)

PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 

JS App Architecture

  • 1. NoSQL, SSJS, & Sencha
  • 2. Corey Butler  15yrs+ Web Experience  Founder @ Ecor Systems, LLC  Chief Consultant @ Ecor Group (we’re on senchadevs.com)  DW/BI & Web Practices  Ext JS Since v2.  Started in the Adobe, Microsoft, & IBM worlds.  Started in Fortune 500, Entrepreneur since 2000. Available Via:  Blog: coreybutler.com  Twitter: @goldglovecb  LinkedIn.com/in/ecorsystems
  • 3. Agenda  NoSQL Overview  SSJS Overview  The Sencha Stack  Simple Examples
  • 4. The Stack The concept isn’t much different from traditional web architecture.
  • 5. What is NoSQL?  No defined relationships.  No schemas or fixed types.  NoACID?
  • 6. What NoSQL Is NOT  Hard & Fast RDBMS Replacement  All Purpose Data Storage
  • 7. NoSQL vs SQL NOSQL SQL  Goal Specific  Generic  Non-relational  RDBMS  Map/Reduce  ANSI SQL  Known Data Structure!  Predefined Data Structure  No NULLS  NULLS function(doc) { SELECT a.pk as id, a.somefield as value if ( doc.date < Date() && typeof doc.somefield !== undefined ) { FROM TblA a INNER JOIN TblB b var resultObject = { ON a.pk = b.fk id: doc.pk, WHERE a.somevalue IN value: doc.somefield (SELECT someval FROM TblC) }; AND b.date < CURRENT_TIMESTAMP emit(resultObject); AND a.somefield <> null } }
  • 8. Popular Choices  CouchDB  Doc Store  MongoDB  Doc Store w/ Key/Value  Redis  Key/Value (In Memory)  Riak  Dynamo-like (Commercial)  Hadoop  Big Data  Cassandra  BigTable  CONSTANTLY GROWING  kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
  • 9. Storage Types Key/Value: Schemaless. Where is data stored? Disk? Memory? Distributed? Document: Like Key/Value, but semi-structured. Graph: Based on graph theory. Focuses more on relationships between objects than the objects themselves. Column/Wide: Key pointing to multiple columns (like rows in an RDBMS)
  • 10. SSJS: Server Side JavaScript  SSJS was first introduced via Netscape LiveWire in 1996, but really didn’t become practical for many until 2009.  Gaining popularity because:  Faster JS Engines like Google’s V8 (Chrome), Spidermonkey (Firefox), & Rhino (Firefox).  Maturity of JavaScript/ECMAScript.  Standards like CommonJS.  Useful for event-driven apps.
  • 11. CommonJS  Aims to standardize JS outside the browser.  Best Practices/Metadata/Specs.  Cross-Compatibility.  Supports concepts like modules, file system references, exports, and other common requirements for serving applications.
  • 12. SSJS Platforms  Narwhal Most complete CommonJS implementation. Based on Rhino with JSGI Middleware.  NodeJS  Non-blocking & single threaded (fast). Implements some CommonJS. Based on V8. Large and growing community. Others: Jaxer, Jack, 10gen App Server
  • 13. NodeJS From nodejs.org Node.js is a server-side JavaScript environment that uses an asynchronous event-driven model. This allows Node.js to get excellent performance based on the architectures of many Internet applications. Nutshell: Create apps, like web servers.
  • 14. Example Web Server //Require the HTTP module var http = require('http'), colors = require('colors'), port = 80; //Create the server http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Worldn'); }).listen(port, "127.0.0.1"); //Indicate the server is running console.log('Server running at http://127.0.0.1:'.green+port.toString().cyan+'/'.green);
  • 15. NodeJS Modules  Modules are plugins for Node.  Lots of work already done for you.  No governed quality control.  Hundreds of Modules  NPM is your friend.
  • 16. NPM: Node Package Manager  http://npmjs.org  Install/Publish Modules  Manages dependencies.  Extremely simple: npm install express
  • 17. Tying to Sencha  Connect Module is part of Sencha Labs  Express Module is built on Connect.
  • 18. Examples With Sencha  Sencha  NoSQL (CouchDB)  REST Proxy  Sencha  NodeJS  MongoDB  REST Proxy, Express, Mongoose  This Presentation  Socket.IO
  • 19. Node Hotness  Socket.IO  Web Sockets  Comparable to HTML5 SSE (Comet)  Dnode, NowJS  Highly Concurrent Apps.  Easy REST Development.  Server-side headless browsers.  Community & Momentum