NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013



Similar documents
MEAN/Full Stack Web Development - Training Course Package

ICON UK 2015 node.js for Domino developers. Presenter: Matt White Company: LDC Via

CSCC09F Programming on the Web. Mongo DB

MongoDB Developer and Administrator Certification Course Agenda

Big Data & Data Science Course Example using MapReduce. Presented by Juan C. Vega

Learning Web App Development

AngularJS for the enterprise

Node.js, MongoDB and AngularJS Web Development

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect

Cloud Powered Mobile Apps with Azure

Why NoSQL? Your database options in the new non- relational world IBM Cloudant 1

Avaya Inventory Management System

Extending Tizen Native Framework with Node.js

Open Source Technologies on Microsoft Azure

Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world

KEYSTONE JS FOR DRUPAL DEVELOPERS

The Learn-Verified Full Stack Web Development Program

MongoDB. Or how I learned to stop worrying and love the database. Mathias Stearn. N*SQL Berlin October 22th, gen

Architecture Workshop

How To Write A Web Server In Javascript

Agenda. Success Stories with OpenShift. 11:15-11:45 am. OpenShift Tech Overview 9:40-10:30 am. Red Hat Mobile on OpenShift 10:45-11:15 am

The MongoDB Tutorial Introduction for MySQL Users. Stephane Combaudon April 1st, 2014

Responsive, resilient, elastic and message driven system

Software development & technologies in Market Research industry

HO5604 Deploying MongoDB. A Scalable, Distributed Database with SUSE Cloud. Alejandro Bonilla. Sales Engineer abonilla@suse.com

Ad Hoc Analysis of Big Data Visualization

Getting Started Developing JavaScript Web Apps. this = that. VT Geospatial Forum 2015

NoSQL - What we ve learned with mongodb. Paul Pedersen, Deputy CTO paul@10gen.com DAMA SF December 15, 2011

Embedded Analytics & Big Data Visualization in Any App

Visualizing MongoDB Objects in Concept and Practice

Building A Self-Hosted WebRTC Project

Frictionless Persistence in.net with MongoDB. Mogens Heller Grabe Trifork

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

JavaScript Programming

Drupal CMS for marketing sites

Getting Started with MongoDB

What is a CMS? Why Node.js? Joel Barna. Professor Mike Gildersleeve IT /28/14. Content Management Systems: Comparison of Tools

Mobile development with Apache OFBiz. Ean Schuessler, Brainfood

Session D15 Simple Visualization of your TimeSeries Data. Shawn Moe IBM

Big Data Visualization and Dashboards

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB

WEB DEVELOPMENT IMMERSIVE GA.CO/WDI

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Big Data Solutions. Portal Development with MongoDB and Liferay. Solutions

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013

Introducing. Cathal McGloin, VP & General Manager, Mobile Platforms Javier Perez, Director of Product Management and Global Consulting

Lessons learned from a large scale OSGi web app. Jago de Vreede Paul Bakker

NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF

MongoDB: document-oriented database

L7_L10. MongoDB. Big Data and Analytics by Seema Acharya and Subhashini Chellappan Copyright 2015, WILEY INDIA PVT. LTD.

MongoDB. An introduction and performance analysis. Seminar Thesis

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Big Data Visualization with JReport

Mobile apps development for Joomla

Outline. Lecture 18: Ruby on Rails MVC. Introduction to Rails

DreamFactory & Modus Create Case Study

Project Proposal. Developing modern E-commerce web application via Responsive Design

Understanding NoSQL Technologies on Windows Azure

Google Cloud Platform The basics

FormAPI, AJAX and Node.js

White Paper On. Single Page Application. Presented by: Yatin Patel

How graph databases started the multi-model revolution

Brad Dayley. NoSQL with MongoDB

Platform Architecture & Integration with OpenShift

Domain driven design, NoSQL and multi-model databases

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

In Memory Accelerator for MongoDB

Attacking MongoDB. Firstov Mihail

NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

An Approach to Implement Map Reduce with NoSQL Databases

Building native mobile apps for Digital Factory

OpenText Information Hub (ihub) 3.1 and 3.1.1

GigaSpaces Real-Time Analytics for Big Data

Cloud Powered Mobile Apps with Microsoft Azure

Lecture 21: NoSQL III. Monday, April 20, 2015

IBM Script Portlet for WebSphere Portal Release 1.1

Structured Content: the Key to Agile. Web Experience Management. Introduction

<Insert Picture Here> Michael Hichwa VP Database Development Tools Stuttgart September 18, 2007 Hamburg September 20, 2007

SwiftScale: Technical Approach Document

QL Integration into Scala and Excel. Martin Dietrich

PROFESSIONAL. Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE. Pedro Teixeira WILEY. John Wiley & Sons, Inc.

NoSQL Database - mongodb

MarkLogic Server. Node.js Application Developer s Guide. MarkLogic 8 February, Copyright 2016 MarkLogic Corporation. All rights reserved.

SAV2013: The Great SharePoint 2013 App Venture

Document Oriented Database

MongoDB in the NoSQL and SQL world. Horst Rechner Berlin,

Server-Side JavaScript Injection Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team July 2011

DIPLOMA IN WEBDEVELOPMENT

CS396A UGP Presentation. Dr. Prabhakar T.V

Sisense. Product Highlights.

Introduction to Sage ERP X3 Technology and Architecture

Some Issues on Ajax Invocation

Transcription:

NoSQL web apps w/ MongoDB, Node.js, AngularJS Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013

About us Passionate (web) dev. since fallen in love with Sinclair ZX Spectrum Academic background in natural sciences Entrepreneur Always moving forward Passionate web user / worker since a long time Academic background in psychology / social sciences Entrepreneur Be open minded

Agenda press Esc

SlideCaptain WebApp Online (HTML5) Presentation Tool

Three tiers AngularJS (HTML5 / CSS3 / JavaScript / XHR / JSON) Node.js (JavaScript / JSON / REST) MongoDB (JSON / BSON)

What is MongoDB? MongoDB (from "humongous") is an open-source document database, and the leading NoSQL database. document oriented database w/ flexible schema secondary indexes support rich ad-hoc query language (JSON based) replication and sharding built-in supports map / reduce aggregation framework

Why we chose MongoDB bored of the SQL / ORM overhead when we use JSON in the browser, why not use it in the database as well agile / flexible easy to get started ad hoc queries excellent support for Node.js

One data format JSON is a syntax for serializing objects, arrays, numbers, strings, booleans, and null Example: first page of this presentation in JSON { "_id": "5224a1eb603315b210000006", "centered": true, "paragraphs": [ { "content": "<h1>nosql web apps</h1>", "_id": "5225d14002f1be8214000460", "parallax": { "active": false }, "fragment": false }, { "content": "<h3>w/ MongoDB, Node.js, AngularJS</h3>", "_id": "5225d14002f1be821400045f", "parallax": { "active": false }, "fragment": false }, { "content": "<p>dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013</p>", "_id": "5225d14002f1be821400045e", "parallax": { "active": false

What is Node.js? Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. based on V8 (Google's JavaScript engine) for JavaScript execution based on libuv (a high performance evented, non-blocking I/O library) for OS interaction the core (written in C / C++ / JavaScript) is intentionally kept small user contributed modules available via npm ("node package manager") executed in a single thread, demanding asynchronous programming

Why we chose Node.js bored of the JEE overhead when we use JavaScript in the browser, why not use it on the server as well easy to get started perfect for REST APIs excellent support for MongoDB excellent ODM (Mongoose) huge (~40.000) number of modules available

One paradigma In event-driven programming, an application expresses interest in certain events and responds to them when they occur. Example: synchronous (mongo Shell) vs. asynchronous (Node.js) database query var p1, p2, query; query = {"sections.pages.headline" : "One paradigma"}; // synchronous, blocking (mongo Shell) p1 = db.presentations.find(query); console.log(typeof p1); // "object" // asynchronous, non-blocking (MongoDB native Node.js driver) db.collection("presentations").find(query, function(error, result) { if (error) { throw new Error(error); } p2 = result; }); console.log(typeof p2); // undefined

What is AngularJS? AngularJS is a JavaScript framework for building web applications with HTML, JavaScript and CSS. It offers powerful data-binding, dependency injection, guidelines for structuring your app and other useful goodies to make your webapp testable and maintainable. written from scratch at Google highly modular model objects are plain JavaScript objects view templates are plain HTML with directives and expressions controller mediates between model and view services provide additional functionality (e.g. REST, client side routing, l10n, local storage)

Why we chose AngularJS To be honest: there are too many reasons to mention them here :-) Example: just a few snippets (HTML, directives, expressions, filters, data binding) <!-- plain HTML with directives and expressions --> <ul> <li ng-repeat="page in pages limitto:5" ng-click="selectpage(page)"> {{page.headline}} - {{page.paragraphs.length}} </li> </ul> <!-- custom directives to build reusable components --> <div sc-panel data-name="p1" data-headline="my Panel"> <!-- custom content --> </div> <!-- changes in the model are automatically applied to the view --> <form> <input type="text" ng-model="user.name.first" required /> Hello {{user.name.first}} </form>

One language to rule them all JavaScript is a lightweight, interpreted, object-oriented programming language with first-class functions

Benefits of the M(E)AN stack Technical 1. One data format (JSON) 2. One programming paradigma (asynchronous / event driven) 3. One programming language (JavaScript) Commercial 1. Scalability built in from the beginning 2. Perfect for the cloud 3. Open Source 4. Incredibly active community 5. Strong commercial support

Thank you This presentation was built with SlideCaptain