SlideShare a Scribd company logo
Dynamic Application using NodeJS and AngularJS with OrientDB
By Apaichon Punopas
Objective

1. Understanding NodeJS and AngularJS Concept.
2. Show the example of Dynamic Application developed
by NodeJS and AngularJS with OrientDB.
Who is

?

Solution Provider for
•

IT Training (Web Platform)
– Javascript , HTML5 ,NodeJS ,
AngularJS, ASP.NET , OrientDB.

c

•

IT Outsourcing

•

Software Package Development
Our Software Package

Sale Channel System
»
»
»
»
»
»
»
»

We are sale channel.
Real time business monitoring.
Forecast and Decision Making.
Customer Centric.
Co-Worker network.
Integrate with Social Network.
Utilize Mobile equipment.
Integrate to POS.
High Level Architecture
What is NodeJS ?

- NodeJS is Server side application same as
Apache, IIS, Glassfish, Jboss, WebSphere, etc
but different technology.
- Non-Blocking I/O
- Single Thread Application
- Javascript V8 Engine
- Event Loops
What is Non-Blocking I/O ?
Queue Management
No Queue Management

Queue Management
NodeJS Behavior from Test Result

Basic Performance Test


NodeJS 0.1.103 vs Apache 2.2.14
•

•

Hardware dual-core Intel T4200 2 GHZ
machine with 4 GB RAM running Ubuntu
10.04
Hitting them with ApacheBench 2.3
– 1,000 concurrents with 100,000 requests
– 20,000 concurrents with 1,000,000
requests
Test Result
Test Result

http://zgadzaj.com/benchmarking-nodejs-basic-performance-tests-against-apache-php
What is Angular JS ?

Java Script Framework Started on 2009
by google engineers
Miško Hevery

Brad Green
Angular Concept

•
•
•
•
•
•
•

MVC architecture
Client side templates
Scope and View
Data binding
Directive
Routes and View
$http API
MVC vs MVW
MVC
Data (Model)

MVW
DOM(View)

Data (Model)

Controller (JS)

DOM(View)

Whatever

Controller

Directive

Unit Test
Model, View , Controller
Model – Business Model Structure
$scope.model = {name:'Angular' ,type:'MVW' , createdBy:'google', year
:2009};

View – Presentation GUI such as HTML , Jade, etc
<div ng-controller="GreetingCtrl">
{{ greeting }}
</div>

Controller – JS Code controls work flow of application.
var myApp = angular.module('myApp',[]);
myApp.controller('GreetingCtrl', ['$scope', function($scope) {
$scope.greeting = 'Hola!';
}]);
Client side templates



No need to access server for rendering



Decouple view from JS code

<h1>{{text}}</h1> +
$scope.text = 'Welcome To Angular';
<h1>Welcome To Angular</h1>
Scope and View
The scope is responsible for detecting changes to
the model section and provides the execution
context for expressions.
Data Binding
Data Binding with Jquery
var newValue = 'bob is happy' ;
$('input').val(newValue);

$('input').on('input', function() { self.value = $(this).val();
});
•

JS code is coupled with HTML

•

Too much code
Data Binding with Angular
$scope.tagline = 'Bob is happy today';

function get_tagline() { return $scope.tagline;
}
•

Decouple JS code from HTML

•

Less code
Directive
Directive is feature for create custom control.
HTML
<div menubar> </div>

JS Code (Angular Directive)
define(['directives/directives'],
function(directives) {
directives.directive('menubar', function() {
return {
restrict: 'EA',
templateUrl: 'views/root.html',
replace: false,
transclude:true,
controller:"RootCtrl"};});
});
Routes and View
Router is feature for define url direct to view or to do
something else.
/Products

Product List Page

/Cart

Shopping Cart Page

/ProductItem/72

Item Detail Page

Angular Router renders a template into the viewport
view port
Router Demo

myApp.config(['$routeProvider', '$locationProvider',
function($routes, $location) {
$routes.
when('/', {
templateUrl: '/app/src/views/list.html',
controller: 'ProductsList'
})
.when('/item/:id', {
templateUrl:
'/app/src/views/details.html',
controller: 'ProductDetails'
})
.otherwise({
redirectTo: '/'
});
$location.html5Mode(true); }]);
$http API
The $http service is a core Angular service that facilitates
communication with the remote HTTP servers via the
browser's XMLHttpRequest object or via JSONP.
•

$http.get

•

$http.head

•

$http.post

$http({method: 'GET', url: '/someUrl'}).
success(function(data, status, headers, config) {
// this callback will be called asynchronously

•

$http.put
// when the response is available

•

•

$http.delete
$http.jsonp

}).error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
Why Angular and No SQL are
Dynamically ?
Business has alway changed requirement.
If we need add more field after production.
Relational Database Way

No SQL with Angular Way
Change

Change

Change

Data (Model)

DOM(View)

Data (Model)

DOM(View)

Change
Controller
Change

DB

Controller
(*Change only complex)

DB
Question and Feedback
Contact to apaichon@hotmail and Facebook
THE END

More Related Content

PPTX
AngularJS intro
PPTX
Angular JS - Introduction
PPTX
Angular js
PPTX
AngularJS Beginners Workshop
PPTX
Getting Started with Angular JS
PPTX
The AngularJS way
PPTX
Angular JS
PPTX
Introduction to Angularjs
AngularJS intro
Angular JS - Introduction
Angular js
AngularJS Beginners Workshop
Getting Started with Angular JS
The AngularJS way
Angular JS
Introduction to Angularjs

What's hot (20)

PPTX
Angular js
PPTX
Practical AngularJS
PDF
AngularJS Basics
PDF
Advanced Tips & Tricks for using Angular JS
PPTX
AngularJS in 60ish Minutes
PPTX
Understanding angular js
PPTX
Step by Step - AngularJS
KEY
AngularJS for designers and developers
PDF
Introduction to AngularJS
PPTX
Angular js 1.0-fundamentals
PDF
AngularJS Basic Training
PPTX
AngularJS Best Practices
PPTX
Why angular js Framework
PPTX
Front end development with Angular JS
PPTX
Angular js architecture (v1.4.8)
PPTX
Angular js
PPTX
Angularjs Basics
PDF
AngularJS - What is it & Why is it awesome ? (with demos)
PDF
AngularJS 101 - Everything you need to know to get started
PPTX
Angular js PPT
Angular js
Practical AngularJS
AngularJS Basics
Advanced Tips & Tricks for using Angular JS
AngularJS in 60ish Minutes
Understanding angular js
Step by Step - AngularJS
AngularJS for designers and developers
Introduction to AngularJS
Angular js 1.0-fundamentals
AngularJS Basic Training
AngularJS Best Practices
Why angular js Framework
Front end development with Angular JS
Angular js architecture (v1.4.8)
Angular js
Angularjs Basics
AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS 101 - Everything you need to know to get started
Angular js PPT
Ad

Viewers also liked (18)

PDF
OrientDB & Lucene
KEY
Apache UIMA and Semantic Search
PDF
Why i hate node js
PDF
ngMess: AngularJS Dependency Injection
PDF
AngularJS - dependency injection
PPT
introduction to Angularjs basics
PDF
Planning for the Horizontal: Scaling Node.js Applications
PDF
Getting Started With AngularJS
PDF
Horizontally Scaling Node.js and WebSockets
PDF
OrientDB introduction - NoSQL
ODP
OrientDB for real & Web App development
PPTX
OrientDB vs Neo4j - and an introduction to NoSQL databases
PDF
Gettings started with the superheroic JavaScript library AngularJS
PDF
OrientDB Distributed Architecture v2.0
PPTX
How to crack CFA level 1 Exam
PDF
Dependency Injection @ AngularJS
PPTX
AngularJS Architecture
PPTX
OrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB & Lucene
Apache UIMA and Semantic Search
Why i hate node js
ngMess: AngularJS Dependency Injection
AngularJS - dependency injection
introduction to Angularjs basics
Planning for the Horizontal: Scaling Node.js Applications
Getting Started With AngularJS
Horizontally Scaling Node.js and WebSockets
OrientDB introduction - NoSQL
OrientDB for real & Web App development
OrientDB vs Neo4j - and an introduction to NoSQL databases
Gettings started with the superheroic JavaScript library AngularJS
OrientDB Distributed Architecture v2.0
How to crack CFA level 1 Exam
Dependency Injection @ AngularJS
AngularJS Architecture
OrientDB vs Neo4j - Comparison of query/speed/functionality
Ad

Similar to Dynamic Application Development by NodeJS ,AngularJS with OrientDB (20)

PDF
From Backbone to Ember and Back(bone) Again
PPT
Coffee@DBG - Exploring Angular JS
PDF
Introduction to AngularJS
PPTX
AgularJS basics- angular directives and controllers
PPTX
Valentine with Angular js - Introduction
PDF
gDayX 2013 - Advanced AngularJS - Nicolas Embleton
PPTX
Angular
PPTX
Angular
PPTX
SoCal Code Camp 2011 - ASP.NET MVC 4
PPTX
ME vs WEB - AngularJS Fundamentals
PPTX
Angular JS, A dive to concepts
PPTX
Tech io spa_angularjs_20130814_v0.9.5
PPTX
ANGULAR JS TRAINING IN PUNE
PDF
gDayX - Advanced angularjs
PDF
Formation angular js/Ionic
PPTX
Angular Js Basics
PDF
Angularjs
PPTX
mearn-stackjdksjdsfjdkofkdokodkojdj.pptx
PPTX
MEAN Stack
PPTX
The Basics Angular JS
From Backbone to Ember and Back(bone) Again
Coffee@DBG - Exploring Angular JS
Introduction to AngularJS
AgularJS basics- angular directives and controllers
Valentine with Angular js - Introduction
gDayX 2013 - Advanced AngularJS - Nicolas Embleton
Angular
Angular
SoCal Code Camp 2011 - ASP.NET MVC 4
ME vs WEB - AngularJS Fundamentals
Angular JS, A dive to concepts
Tech io spa_angularjs_20130814_v0.9.5
ANGULAR JS TRAINING IN PUNE
gDayX - Advanced angularjs
Formation angular js/Ionic
Angular Js Basics
Angularjs
mearn-stackjdksjdsfjdkofkdokodkojdj.pptx
MEAN Stack
The Basics Angular JS

More from Apaichon Punopas (8)

PDF
Firebase slide
PPTX
It jobs road show
PPTX
Mean4 js day
PDF
Javascript Day Session #1
PDF
Change RelationalDB to GraphDB with OrientDB
PDF
NodeJS for Beginner
PPT
HTML5 Startup
Firebase slide
It jobs road show
Mean4 js day
Javascript Day Session #1
Change RelationalDB to GraphDB with OrientDB
NodeJS for Beginner
HTML5 Startup

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Electronic commerce courselecture one. Pdf
PPT
Teaching material agriculture food technology
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
A Presentation on Artificial Intelligence
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Encapsulation theory and applications.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
cuic standard and advanced reporting.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Electronic commerce courselecture one. Pdf
Teaching material agriculture food technology
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Monthly Chronicles - July 2025
A Presentation on Artificial Intelligence
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
MYSQL Presentation for SQL database connectivity
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Understanding_Digital_Forensics_Presentation.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Encapsulation theory and applications.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Spectral efficient network and resource selection model in 5G networks

Dynamic Application Development by NodeJS ,AngularJS with OrientDB

  • 1. Dynamic Application using NodeJS and AngularJS with OrientDB By Apaichon Punopas
  • 2. Objective 1. Understanding NodeJS and AngularJS Concept. 2. Show the example of Dynamic Application developed by NodeJS and AngularJS with OrientDB.
  • 3. Who is ? Solution Provider for • IT Training (Web Platform) – Javascript , HTML5 ,NodeJS , AngularJS, ASP.NET , OrientDB. c • IT Outsourcing • Software Package Development
  • 4. Our Software Package Sale Channel System » » » » » » » » We are sale channel. Real time business monitoring. Forecast and Decision Making. Customer Centric. Co-Worker network. Integrate with Social Network. Utilize Mobile equipment. Integrate to POS.
  • 6. What is NodeJS ? - NodeJS is Server side application same as Apache, IIS, Glassfish, Jboss, WebSphere, etc but different technology. - Non-Blocking I/O - Single Thread Application - Javascript V8 Engine - Event Loops
  • 8. Queue Management No Queue Management Queue Management
  • 9. NodeJS Behavior from Test Result Basic Performance Test  NodeJS 0.1.103 vs Apache 2.2.14 • • Hardware dual-core Intel T4200 2 GHZ machine with 4 GB RAM running Ubuntu 10.04 Hitting them with ApacheBench 2.3 – 1,000 concurrents with 100,000 requests – 20,000 concurrents with 1,000,000 requests
  • 12. What is Angular JS ? Java Script Framework Started on 2009 by google engineers Miško Hevery Brad Green
  • 13. Angular Concept • • • • • • • MVC architecture Client side templates Scope and View Data binding Directive Routes and View $http API
  • 14. MVC vs MVW MVC Data (Model) MVW DOM(View) Data (Model) Controller (JS) DOM(View) Whatever Controller Directive Unit Test
  • 15. Model, View , Controller Model – Business Model Structure $scope.model = {name:'Angular' ,type:'MVW' , createdBy:'google', year :2009}; View – Presentation GUI such as HTML , Jade, etc <div ng-controller="GreetingCtrl"> {{ greeting }} </div> Controller – JS Code controls work flow of application. var myApp = angular.module('myApp',[]); myApp.controller('GreetingCtrl', ['$scope', function($scope) { $scope.greeting = 'Hola!'; }]);
  • 16. Client side templates  No need to access server for rendering  Decouple view from JS code <h1>{{text}}</h1> + $scope.text = 'Welcome To Angular'; <h1>Welcome To Angular</h1>
  • 17. Scope and View The scope is responsible for detecting changes to the model section and provides the execution context for expressions.
  • 19. Data Binding with Jquery var newValue = 'bob is happy' ; $('input').val(newValue); $('input').on('input', function() { self.value = $(this).val(); }); • JS code is coupled with HTML • Too much code
  • 20. Data Binding with Angular $scope.tagline = 'Bob is happy today'; function get_tagline() { return $scope.tagline; } • Decouple JS code from HTML • Less code
  • 21. Directive Directive is feature for create custom control. HTML <div menubar> </div> JS Code (Angular Directive) define(['directives/directives'], function(directives) { directives.directive('menubar', function() { return { restrict: 'EA', templateUrl: 'views/root.html', replace: false, transclude:true, controller:"RootCtrl"};}); });
  • 22. Routes and View Router is feature for define url direct to view or to do something else. /Products Product List Page /Cart Shopping Cart Page /ProductItem/72 Item Detail Page Angular Router renders a template into the viewport view port
  • 23. Router Demo myApp.config(['$routeProvider', '$locationProvider', function($routes, $location) { $routes. when('/', { templateUrl: '/app/src/views/list.html', controller: 'ProductsList' }) .when('/item/:id', { templateUrl: '/app/src/views/details.html', controller: 'ProductDetails' }) .otherwise({ redirectTo: '/' }); $location.html5Mode(true); }]);
  • 24. $http API The $http service is a core Angular service that facilitates communication with the remote HTTP servers via the browser's XMLHttpRequest object or via JSONP. • $http.get • $http.head • $http.post $http({method: 'GET', url: '/someUrl'}). success(function(data, status, headers, config) { // this callback will be called asynchronously • $http.put // when the response is available • • $http.delete $http.jsonp }).error(function(data, status, headers, config) { // called asynchronously if an error occurs // or server returns response with an error status. });
  • 25. Why Angular and No SQL are Dynamically ? Business has alway changed requirement. If we need add more field after production. Relational Database Way No SQL with Angular Way Change Change Change Data (Model) DOM(View) Data (Model) DOM(View) Change Controller Change DB Controller (*Change only complex) DB
  • 26. Question and Feedback Contact to apaichon@hotmail and Facebook