Java vs JavaScript. For Enterprise Web Applications. Chris Bailey IBM Runtime Technologies IBM Corporation

Size: px
Start display at page:

Download "Java vs JavaScript. For Enterprise Web Applications. Chris Bailey IBM Runtime Technologies IBM Corporation"

Transcription

1 Java vs JavaScript For Enterprise Web Applications Chris Bailey IBM Runtime Technologies 1

2 What Languages do you use? 120 Percentage of Audience Java 2 JavaScript Both

3 What Runtimes do you use? 120 Percentage of Audience Server Java 3 Applets JS in Browser Node.js Rhino Nashorn Avatar.js

4 Chris Bailey IBM Runtime Monitoring and Diagnostics Architect 14 years working with Java and JVM technologies 14 months working with Node.js and V8 Current Role(s): IBM Java monitoring and diagnostics Node Application Metrics project lead Node Foundation Member Benchmarking and Performance WGs JavaOne RockStar Author on performance and memory analysis 4 baileyc@uk.ibm.com Bailey 4

5 Agenda Language Adoption Deployment Modes Code Development Scalability WebApplication Performance Under the Hood Enterprise Architectures 5

6 Language Adoption 6 6

7 GitHub Adoption: Java 7

8 GitHub Adoption: JavaScript 8

9 modulecounts.com 9

10 StackOverflow User Survey 10

11 Tiobe Community Programming Index Ratings based on the number of skilled engineers, courses and third party vendors. 11

12 Indeed.com Job Trends: Java 12

13 Indeed.com Job Trends: JavaScript 13

14 Indeed.com Job Trends Java JavaScript 14

15 Language Adoption 15 JavaScript has a large developer base #1 on GitHub with 45% more active repositories than Java #1 on modulecounts.com with 29% more NPM modules than Maven #1 used language by StackOverflow survey responders #6 language on the Tiobe index Java remains huge, particularly in the enterprise and on the server #2 on GitHub with 52% more active repositories than the next language #3 on modulecounts with 73.8% more modules than the next language #2 language on the Tiobe index #1 on indeed.com for developer jobs -

16 Deployment Modes 16

17 Usage in the browser JavaScript is ubiquitous in the browser Supported in every browser - Integration with HTML and CSS JavaScript is not affected by negative publicity... Unless it is absolutely necessary to run Java in web browsers, disable it as described below, even after updating to 7u11. This will help mitigate other Java vulnerabilities that may be discovered in the future. This and previous Java vulnerabilities have been widely targeted by attackers, and new Java vulnerabilities are likely to be discovered. To defend against this and future Java vulnerabilities, consider disabling Java in web browsers 17

18 Usage on the server Java has a long history on the server JPE launched in Java has rich platform support: Linux x86, Linux POWER, zlinux - 18 Windows, Mac OS, Solaris, AIX, z/os JavaScript is a nascent language on the server Limited platform support although its growing No API support to interact with the OS Part of the browser security model Frameworks like Node.js have changed that. -

19 Server Side JavaScript: Node.js Single Threaded Event based JavaScript framework Uses non-blocking asynchronous I/O Wraps the Chrome V8 JavaScript engine with I/O interfaces Libuv provides interaction with OS/system JavaScript C Node Standard Library Node Bindings V8 19 libuv Designed to build scalable network applications Suited for real time delivery of data to distributed client Available on a wide set of platforms: Linux on x86, ARM, Power and Z Windows, Mac OS, Solaris, SmartOS and AIX

20 Anatomy of a Node.js application 1. package.json Tracks properties, dependencies, version info, commands, etc. 2. JavaScript source files (i.e. app.js) To install and execute: > npm install > node app.js 20 20

21 Code Development 21

22 HTTP Server Example var cluster = require('cluster'); var cpus = require('os').cpus().length; var http = require('http'); if (cluster.ismaster) { for (var i = 0; i < cpus; i++) { cluster.fork(); } cluster.on('death', function(worker) { console.log("worker" + worker.pid + "died"); }); } else { http.createserver(function(request, response) { response.writehead(200, {"Content-Type": "text/plain"}); response.write("hello World!\n"); response.end(); }).listen(8080); } 22

23 Clustered HTTP Server Example var cluster = require('cluster'); var cpus = require('os').cpus().length; var http = require('http'); if (cluster.ismaster) { for (var i = 0; i < cpus; i++) { cluster.fork(); } cluster.on('death', function(worker) { console.log("worker" + worker.pid + "died"); }); } else { http.createserver(function(request, response) { response.writehead(200, {"Content-Type": "text/plain"}); response.write("hello World!\n"); response.end(); }).listen(8080); } 23

24 Writing Node.js Code Development Effort Code Volume Relative to Java (lower is better) 24 Node.js - 3x * based on benchmarksgame benchmarks *or other transactional service

25 Writing Node.js Code Development Effort Code Volume Relative to Java (lower is better) 25 Node.js regex-dna Spectral-norm fannkuch-redux fasta k-nucleotide Binary-trees n-body Reverse-complement Avg 1/3rd less code - 3x * based on benchmarksgame benchmarks *or other transactional service

26 Writing Node.js Code Development Effort Code Volume Relative to Java (lower is better) 26 Node.js regex-dna Spectral-norm fannkuch-redux fasta k-nucleotide Binary-trees n-body Reverse-complement Avg 1/3rd less code - 3x * based on benchmarksgame benchmarks Node.js has higher developer productivity Many applications developed with significantly less code Rich module system simplifies development Reduces need to develop custom code *or other transactional service

27 Scalability 27

28 Typical approach to I/O 28 One thread (or process) per connection Each thread waits on a response Scalability determined by the number of threads Each thread: consumes memory is relatively idle Number of concurrent customers determined by number of depot workers Additional customers wait in a queue with no response

29 Asycnhronous Non-Blocking I/O 29 One thread multiplexes for multiple requests No waiting for a response Handles return from I/O when notified Scalability determined by: CPU usage Back end responsiveness Number of concurrent customers determined by how fast the food Server can work Or until the kitchen gets slammed

30 JavaScript and Asynchronous I/O 30 JavaScript is already event based in the browser eg. onclick and onmouseover events First class functions and closures fit well with events Easy to create and pass function callbacks Easy to execute callbacks in the context of the event Node.js execution is based on an event loop Asynchronous I/O built in from the ground up Node.js execution uses a single thread No need to worry about locking or shared data Most machines are now multi-cpu, so cluster capabilities are provided

31 Event based programming var http = require('http'); var server = http.createserver(); server.listen(8080); server.on('request', function(request, response) { response.writehead(200, {"Content-Type": "text/plain"}); response.write("hello World!\n"); response.end(); }); server.on('connection', function(socket) {}); server.on('close', function() {}); server.on('connect', function(socket) {}); server.on('upgrade', function(request, socket, head) {}); server.on('clienterror', function(exception, socket) {}); 31

32 WebApp Performance 32

33 JSON Serialization JSON serialization of a newly instantiated object Maps Key of message Value of Hello, World! Example response: Results from TechEmpower.com Round 9 tests ( ) 33

34 JSON Serialization JSON serialization of a newly instantiated object Maps Key of message Value of Hello, World! Example response: Java JavaScript Results from TechEmpower.com Round 9 tests ( ) 34

35 JavaScript WebApp Performance Node.js Performance (Compared to Java) 40 %age of Java Performance JSON Serialization

36 Single Query Fetches single row from simple database table Row serialized as JSON Example response: Results from TechEmpower.com Round 9 tests ( ) 36

37 Single Query Fetches single row from simple database table Row serialized as JSON Java Example response: JavaScript Results from TechEmpower.com Round 9 tests ( ) 37

38 JavaScript WebApp Performance Node.js Performance (Compared to Java) 40 %age of Java Performance JSON Serialization Single Query

39 Multiple Queries Fetches multiple rows from a simple database table Rows serialized as JSON Example response: Results from TechEmpower.com Round 9 tests ( ) 39

40 Multiple Queries Fetches multiple rows from a simple database table Rows serialized as JSON Java Example response: JavaScript Results from TechEmpower.com Round 9 tests ( ) 40

41 JavaScript WebApp Performance Node.js Performance (Compared to Java) 40 %age of Java Performance JSON Serialization Single Query Multiple Queries

42 Data Updates Fetches multiple rows from a simple database table Converts rows to objects and modifies one attribute of each object Updates each associated row and serializes as JSON Example Response: Results from TechEmpower.com Round 9 tests ( ) 42

43 Data Updates Fetches multiple rows from a simple database table Converts rows to objects and modifies one attribute of each object Updates each associated row and serializes as JSON JavaScript Java Example Response: Results from TechEmpower.com Round 9 tests ( ) 43

44 JavaScript WebApp Performance Node.js Performance (Compared to Java) %age of Java Performance JSON Serialization Single Query Multiple Queries Data Updates

45 JavaScript WebApp Performance Node.js Performance (Compared to Java) %age of Java Performance More -80 Computation -100 Computation speed is (much) slower than Java I/O speed is higher than Java 45 JSON Serialization Single Query Multiple Queries Data Updates More I/O

46 JavaScript on the JVM? 46

47 Nashorn and Avatar.js Nashorn JavaScript engine delivered in JDK8 Utilizes new JVM level features for performance 47 Avatar.js provides Node.js support on Nashorn

48 Nashorn and Avatar.js Nashorn JavaScript engine delivered in JDK8 Utilizes new JVM level features for performance Avatar.js provides Node.js support on Nashorn Results of Octane JavaScript benchmark*: Node.js is 4.8x faster Avatar.js is >10x larger 48 * Using Java 8 pre-u20

49 Nashorn and Avatar.js Nashorn JavaScript engine delivered in JDK8 Utilizes new JVM level features for performance Avatar.js provides Node.js support on Nashorn Feb 12th, 2015: Avatar is put on hold Results of Octane JavaScript benchmark*: Node.js is 4.8x faster Avatar.js is >10x larger 49 * Using Java 8 pre-u40

50 JavaScript Performance Under the Hood 50

51 JIT Compilation Dynamic nature of JavaScript makes JIT optimizations more difficult Any variable could be a function or data Variables must be tested to determine how to handle handle them Variables can change, so what worked previously many not apply in future 51 Example: the use of '+': number + number addition string involved? concatenation objects involved? convert to primitives then addition or concatenation Functions involved??

52 Execution flow for '+' operator Java int a int b int c = a + b Addition Return Result 52

53 Execution flow for '+' operator Java int a int b int c = a + b Addition JavaScript var a var b var c = a + b First Time? NO YES Return Result Use Previous Types Type of A? String Type of B? String or Number Concatenate Type of B? Number Addition NO Number Worked? String Undefined YES Return Result 53

54 Dynamically vs Statically Types Languages Dynamically typed languages are harder to manage under the hood They subsequently have lower runtime performance for computational tasks Highlighted in TechEmpower benchmarks: Best dynamic compared to best static as baseline Dynamic vs Statically Typed Language Performance JSON Single Multi Updates

55 Writing Node.js Code 55

56 Not So Easy: JavaScript Syntax Fun 56 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

57 Not So Easy: JavaScript Syntax Fun 57 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

58 Not So Easy: JavaScript Syntax Fun 58 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

59 Not So Easy: JavaScript Syntax Fun 59 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

60 Not So Easy: JavaScript Syntax Fun 60 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

61 Not So Easy: JavaScript Syntax Fun 61 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

62 Not So Easy: JavaScript Syntax Fun 62 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

63 Not So Easy: JavaScript Syntax Fun 63 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

64 Not So Easy: JavaScript Syntax Fun 64 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

65 Not So Easy: JavaScript Syntax Fun 65 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

66 Not So Easy: JavaScript Syntax Fun 66 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

67 Not So Easy: JavaScript Syntax Fun 67 > '5' 3 2 // Weak typing, implicit conversion > '5' + 3 '53' //...but not consistent > '5' '4' 1 // String minus String = Integer?? > '5' + + '4' 54 // Multiple +'s are ok > 'Hello' + 'World' 'HelloWorld' // Ok, that's expected > 'Hello' + + 'World' 'HelloNaN' //...but that isn't

68 Not So Easy: JavaScript Syntax Fun 68 > '5' + - '5' '5-2' // I can just about see that works > var x = 3 undefined > '5' x + x 5 // Ok, that makes sense > var x = 3 undefined > '5' + x - x 50 // What???

69 Not So Easy: JavaScript Syntax Fun 69 > '5' + - '5' '5-5' // I can just about see that works > var x = 3 undefined > '5' x + x 5 // Ok, that makes sense > var x = 3 undefined > '5' + x - x 50 // What???

70 Not So Easy: JavaScript Syntax Fun 70 > '5' + - '5' '5-2' // I can just about see that works > var x = 3 undefined > '5' x + x 5 // Ok, that makes sense > var x = 3 undefined > '5' + x - x 50 // What???

71 Not So Easy: JavaScript Syntax Fun 71 > '5' + - '5' '5-2' // I can just about see that works > var x = 3 undefined > '5' x + x 5 // Ok, that makes sense > var x = 3 undefined > '5' + x - x 50 // What???

72 Not So Easy: JavaScript Syntax Fun 72 > '5' + - '5' '5-2' // I can just about see that works > var x = 3 undefined > '5' x + x 5 // Ok, that makes sense > var x = 3 undefined > '5' + x - x 50 // What???

73 Not So Easy: JavaScript Syntax Fun 73 > '5' + - '5' '5-2' // I can just about see that works > var x = 3 undefined > '5' x + x 5 // Ok, that makes sense > var x = 3 undefined > '5' + x - x 50 // What???

74 (Micro)Service Topologies 74

75 Enterprise Application Platform Web Applications Operations and Management Admin 75 Analytics Scaling Diagnostics Load Balancer HTTP Load Balancer Monitoring Analytics

76 Questions 76

77 77

Java with Node.js Powering the Next Generation of Web Applications

Java with Node.js Powering the Next Generation of Web Applications Java with Node.js Powering the Next Generation of Web Applications Oracle Code One, Oct 23rd 2018 Chris Bailey Chief Architect, Cloud Native Runtimes @IBM baileyc@uk.ibm.com @Chris Bailey CloudNativeJS.io

More information

Chris Bailey Bailey. Emerging Web Application Architectures With Java and Node.js

Chris Bailey Bailey. Emerging Web Application Architectures With Java and Node.js Chris Bailey IBM Emerging Web Application Architectures With Java and Node.js STSM, IBM Runtime Development 2 @seabaylea 2015 IBM Corporation 1 The Annual Death of Java Developer trend No. 2: Java s decline

More information

Microservices with Node.js

Microservices with Node.js Microservices with Node.js Objectives In this module we will discuss: Core Node.js concepts Node Package Manager (NPM) The Express Node.js package The MEAN stack 1.1 What is Node.js? Node.js [ https://nodejs.org/

More information

END-TO-END JAVASCRIPT WEB APPS

END-TO-END JAVASCRIPT WEB APPS END-TO-END JAVASCRIPT WEB APPS HTML5, NODE.JS AND MONGODB CADEC 2013 by Peter Larsson JAVASCRIPT IS NOT EVIL TECH. INDEX, JAN 2013 Dice Job Posts Google 20,000 2,400,000,000 15,000 1,800,000,000 10,000

More information

this presentation code is on https://github.com/gabrielelana/node-examples

this presentation code is on https://github.com/gabrielelana/node-examples this presentation code is on https://github.com/gabrielelana/node-examples gabriele lana gabriele.lana@cleancode.it twitter: @gabrielelana this presentation code is on https://github.com/gabrielelana/node-examples

More information

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js NODE.JS SERVER SIDE JAVASCRIPT Introduc)on Node.js Node.js was created by Ryan Dahl starting in 2009. For more information visit: http://www.nodejs.org 1 What about Node.js? 1. JavaScript used in client-side

More information

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

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect Server-Side JavaScript auf der JVM Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not be

More information

Project Avatar: Server Side JavaScript on the JVM GeeCon - May David Software Evangelist - Oracle

Project Avatar: Server Side JavaScript on the JVM GeeCon - May David Software Evangelist - Oracle Project Avatar: Server Side JavaScript on the JVM GeeCon - May 2014! David Delabassee @delabassee Software Evangelist - Oracle The following is intended to outline our general product direction. It is

More information

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket

More information

Performance Case Study

Performance Case Study Performance Case Study @Fabian_Frank Yahoo! Search, Engineer Youthmedia.eu, Volunteer A Dynamic Website self-contained App self-contained App self-contained App node v0.4.x multi-core

More information

Node.js. Node.js Overview. CS144: Web Applications

Node.js. Node.js Overview. CS144: Web Applications Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly

More information

Module 6 Node.js and Socket.IO

Module 6 Node.js and Socket.IO Module 6 Node.js and Socket.IO Module 6 Contains 2 components Individual Assignment and Group Assignment Both are due on Wednesday November 15 th Read the WIKI before starting Portions of today s slides

More information

Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform. Jarosław Stakuń Senior Solution Architect/Red Hat CEE

Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform. Jarosław Stakuń Senior Solution Architect/Red Hat CEE Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform Jarosław Stakuń Senior Solution Architect/Red Hat CEE jstakun@redhat.com Monetize innovation http://www.forbes.com/innovative-companies/list/

More information

NODE.JS MOCK TEST NODE.JS MOCK TEST I

NODE.JS MOCK TEST NODE.JS MOCK TEST I http://www.tutorialspoint.com NODE.JS MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Node.js Framework. You can download these sample mock tests at

More information

Web application Architecture

Web application Architecture 1 / 37 AJAX Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Web application Architecture 5 / 37 Client Server Backend Response Database File System 2013 Cesare Pautasso

More information

Tools. SWE 432, Fall Design and Implementation of Software for the Web

Tools. SWE 432, Fall Design and Implementation of Software for the Web Tools SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Before we can really make anything, there s a bunch of technical stuff to get out of the way Tools make our lives so much

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

What is Node.js? Tim Davis Director, The Turtle Partnership Ltd

What is Node.js? Tim Davis Director, The Turtle Partnership Ltd What is Node.js? Tim Davis Director, The Turtle Partnership Ltd About me Co-founder of The Turtle Partnership Working with Notes and Domino for over 20 years Working with JavaScript technologies and frameworks

More information

RED HAT'S CONTAINER STRATEGY. Lars Herrmann General Manager, RHEL, RHEV and Containers June 24, 2015

RED HAT'S CONTAINER STRATEGY. Lars Herrmann General Manager, RHEL, RHEV and Containers June 24, 2015 RED HAT'S CONTAINER STRATEGY Lars Herrmann General Manager, RHEL, RHEV and Containers June 24, 2015 1 DEVELOPMENT VS I.T. OPERATIONS DEVELOPER IT OPERATIONS 2 DEVELOPERS WANT TO GO FAST DEVELOPER 3 HOW

More information

INF5750. Introduction to JavaScript and Node.js

INF5750. Introduction to JavaScript and Node.js INF5750 Introduction to JavaScript and Node.js Outline Introduction to JavaScript Language basics Introduction to Node.js Tips and tools for working with JS and Node.js What is JavaScript? Built as scripting

More information

Santiago Documentation

Santiago Documentation Santiago Documentation Release 1.2.0 Top Free Games November 07, 2016 Contents 1 Overview 3 1.1 Getting started.............................................. 3 1.2 Features..................................................

More information

JavaScript on the Command Line & PRATIK PATEL CTO TripLingo Labs

JavaScript on the Command Line & PRATIK PATEL CTO TripLingo Labs JavaScript on the Command Line & Server @prpatel TripLingo Labs PRATIK@mypatelspace.com Topics Modern JavaScript Why? Ecosystem Node Grunt Yesterday s JavaScript Today s JavaScript is cool What s changed?

More information

AWS Lambda + nodejs Hands-On Training

AWS Lambda + nodejs Hands-On Training AWS Lambda + nodejs Hands-On Training (4 Days) Course Description & High Level Contents AWS Lambda is changing the way that we build systems in the cloud. This new compute service in the cloud runs your

More information

Making The Future Java

Making The Future Java Making The Future Java Dalibor Topić (@robilad) Principal Product Manager October 18th, 2013 - HrOUG, Rovinj 1 The following is intended to outline our general product direction. It is intended for information

More information

Chapter 1: Introduction to Computers and Java

Chapter 1: Introduction to Computers and Java Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:

More information

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:

More information

A practical introduction

A practical introduction A practical introduction Felix Geisendörfer Øredev 09.11.2011 (v1) @felixge Twitter / GitHub / IRC Felix Geisendörfer (Berlin, Germany) Audience? JavaScript? Node.js? History Feb 16, 2009 Ryan Dahl starts

More information

A DEVOPS STATE OF MIND WITH DOCKER AND KUBERNETES. Chris Van Tuin Chief Technologist, West

A DEVOPS STATE OF MIND WITH DOCKER AND KUBERNETES. Chris Van Tuin Chief Technologist, West A DEVOPS STATE OF MIND WITH DOCKER AND KUBERNETES Chris Van Tuin Chief Technologist, West cvantuin@redhat.com Open Source V In short, software is eating the world. - Marc Andreessen, Wall Street Journal,

More information

Lecture 18. WebSocket

Lecture 18. WebSocket Lecture 18. WebSocket 1. What is WebSocket? 2. Why WebSocket? 3. WebSocket protocols 4. WebSocket client side 5. WebSocket on server side 1. Case study, WebSocket on nose.js 2. Case study, WebSocket on

More information

Grand Central Dispatch

Grand Central Dispatch A better way to do multicore. (GCD) is a revolutionary approach to multicore computing. Woven throughout the fabric of Mac OS X version 10.6 Snow Leopard, GCD combines an easy-to-use programming model

More information

Node.js I Getting Started

Node.js I Getting Started Node.js I Getting Started Chesapeake Node.js User Group (CNUG) https://www.meetup.com/chesapeake-region-nodejs-developers-group Agenda Installing Node.js Background Node.js Run-time Architecture Node.js

More information

MOdern Java(Script) Server Stack

MOdern Java(Script) Server Stack MOdern Java(Script) Server Stack Pratik Patel Pratik Patel CTO Triplingo JAVA CHAMPION PRESIDENT ATLANTA JUG POLYGLOT apple mac vintage 5" screen TURTLE MY FIRST PROGRAM TURING MY FIRST REAL PROGRAM JAVASCRIPT

More information

CHAPTER 1 Introduction to Computers and Java

CHAPTER 1 Introduction to Computers and Java CHAPTER 1 Introduction to Computers and Java Copyright 2016 Pearson Education, Inc., Hoboken NJ Chapter Topics Chapter 1 discusses the following main topics: Why Program? Computer Systems: Hardware and

More information

Developing Node.js Applications on IBM Cloud

Developing Node.js Applications on IBM Cloud Front cover Developing Node.js Applications on IBM Cloud Ahmed Azraq Mohamed Ewies Ahmed S. Hassan In partnership with IBM Skills Academy Redbooks International Technical Support Organization Developing

More information

Putting A Spark in Web Apps

Putting A Spark in Web Apps Putting A Spark in Web Apps Apache Big Data, Seville ES, 2016 David Fallside Intro Web app development has moved from Java etc to Node.js and JavaScript JS environment relatively simple and very rich,

More information

Piqi-RPC. Exposing Erlang services via JSON, XML and Google Protocol Buffers over HTTP. Friday, March 25, 2011

Piqi-RPC. Exposing Erlang services via JSON, XML and Google Protocol Buffers over HTTP. Friday, March 25, 2011 Piqi-RPC Exposing Erlang services via JSON, XML and Google Protocol Buffers over HTTP 1 Anton Lavrik http://piqi.org http://www.alertlogic.com 2 Overview Call Erlang functions using HTTP POST : Server

More information

A Node.js tutorial by Manuel Kiessling

A Node.js tutorial by Manuel Kiessling 1 of 23 9/17/2013 3:09 PM A Node.js tutorial by Manuel Kiessling The aim of this document is to get you started with developing applications with Node.js, teaching you everything you need to know about

More information

Inside WebSphere Application Server

Inside WebSphere Application Server Inside WebSphere Application Server The anatomy of WebSphere Application Server is quite detailed so, for now, let's briefly outline some of the more important parts. The following diagram shows the basic

More information

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion. Please note Copyright 2018 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM IBM s statements

More information

Advance Mobile& Web Application development using Angular and Native Script

Advance Mobile& Web Application development using Angular and Native Script Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building

More information

Dr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes

Dr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 Distributed Systems Chapter 3 - Processes CSCI319 Chapter 3 Page: 1 Processes Lecture notes based on the textbook by Tannenbaum Study objectives: 1. Understand

More information

grpc - A solution for RPCs by Google Distributed Systems Seminar at Charles University in Prague, Nov 2016 Jan Tattermusch - grpc Software Engineer

grpc - A solution for RPCs by Google Distributed Systems Seminar at Charles University in Prague, Nov 2016 Jan Tattermusch - grpc Software Engineer grpc - A solution for RPCs by Google Distributed Systems Seminar at Charles University in Prague, Nov 2016 Jan Tattermusch - grpc Software Engineer About me Software Engineer at Google (since 2013) Working

More information

Introduction to RPC, Apache Thrift Workshop. Tomasz Powchowicz

Introduction to RPC, Apache Thrift Workshop. Tomasz Powchowicz Introduction to RPC, Apache Thrift Workshop Tomasz Powchowicz It is all about effective communication page 2 Synchronous, asynchronous execution Executor Executor A Executor B Executor A Executor B 1 1

More information

High performance reactive applications with Vert.x

High performance reactive applications with Vert.x High performance reactive applications with Vert.x Tim Fox Red Hat Bio Employed By Red Hat to lead the Vert.x project Worked in open source exclusively for the past 9 years Some projects I've been involved

More information

Web Application Development

Web Application Development Web Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie SERVER SIDE JAVASCRIPT PART 1 Outline 1.

More information

Exercise 1. Bluemix and the Cloud Foundry command-line interface (CLI)

Exercise 1. Bluemix and the Cloud Foundry command-line interface (CLI) V10.1 Student Exercises EXempty Exercise 1. Bluemix and the Cloud Foundry command-line interface (CLI) What this exercise is about In this exercise, you sign on to Bluemix and create an application. You

More information

This tutorial discusses the basics of PouchDB along with relevant examples for easy understanding.

This tutorial discusses the basics of PouchDB along with relevant examples for easy understanding. About this Tutorial PouchDBis an open source in-browser database API written in JavaScript. It ismodelled after CouchDB a NoSQL database that powers npm. Using this API, we can build applications that

More information

Computational Applications in Nuclear Astrophysics using Java Java course Lecture 1

Computational Applications in Nuclear Astrophysics using Java Java course Lecture 1 Computational Applications in Nuclear Astrophysics using Java Java course Lecture 1 Prepared for course 160410/411 Michael C. Kunkel m.kunkel@fz-juelich.de Materials taken from; docs.oracle.com Teach Yourself

More information

Transitioning from C# to Scala Using Apache Thrift. Twitter Finagle

Transitioning from C# to Scala Using Apache Thrift. Twitter Finagle Transitioning from C# to Scala Using Apache Thrift and Twitter Finagle Steven Skelton September 19, 2013 Empathica Empathica provides Customer Experience Management programs to more than 200 of the world's

More information

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region Azure DevOps Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region What is DevOps? People. Process. Products. Build & Test Deploy DevOps is the union of people, process, and products to

More information

Getting Started With NodeJS Feature Flags

Getting Started With NodeJS Feature Flags Guide Getting Started With NodeJS Feature Flags INTRO We ve all done it at some point: thrown a conditional around a piece of code to enable or disable it. When it comes to feature flags, this is about

More information

JS Event Loop, Promises, Async Await etc. Slava Kim

JS Event Loop, Promises, Async Await etc. Slava Kim JS Event Loop, Promises, Async Await etc Slava Kim Synchronous Happens consecutively, one after another Asynchronous Happens later at some point in time Parallelism vs Concurrency What are those????

More information

Backend Development. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Backend Development. SWE 432, Fall 2017 Design and Implementation of Software for the Web Backend Development SWE 432, Fall 2017 Design and Implementation of Software for the Web Real World Example https://qz.com/1073221/the-hackers-who-broke-into-equifax-exploited-a-nine-year-old-security-flaw/

More information

CICS and the Web: Web-enable your CICS Applications

CICS and the Web: Web-enable your CICS Applications CICS and the Web: Web-enable your CICS Applications Leigh Compton CICS Technical Support IBM Dallas Systems Center Webcast 30 July 2002 Session Agenda CICS e-business Strategy Which web-enabling option?

More information

WebSphere Application Server, Version 5. What s New?

WebSphere Application Server, Version 5. What s New? WebSphere Application Server, Version 5 What s New? 1 WebSphere Application Server, V5 represents a continuation of the evolution to a single, integrated, cost effective, Web services-enabled, J2EE server

More information

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues 4.2 Silberschatz, Galvin

More information

CS 11 java track: lecture 1

CS 11 java track: lecture 1 CS 11 java track: lecture 1 Administrivia need a CS cluster account http://www.cs.caltech.edu/ cgi-bin/sysadmin/account_request.cgi need to know UNIX www.its.caltech.edu/its/facilities/labsclusters/ unix/unixtutorial.shtml

More information

From Java EE to Jakarta EE. A user experience

From Java EE to Jakarta EE. A user experience From Java EE to Jakarta EE A user experience A few words about me blog.worldline.tech @jefrajames Speaker me = SpeakerOf.setLastName( James ).setfirstname( Jean-François ).setbackgroundinyears(32).setmindset(

More information

Operating Systems 2 nd semester 2016/2017. Chapter 4: Threads

Operating Systems 2 nd semester 2016/2017. Chapter 4: Threads Operating Systems 2 nd semester 2016/2017 Chapter 4: Threads Mohamed B. Abubaker Palestine Technical College Deir El-Balah Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition

More information

CS 498RK FALL RESTFUL APIs

CS 498RK FALL RESTFUL APIs CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources

More information

Node.js: Asynchronous I/O for Fun and Profit. Stefan QCon London 2011

Node.js: Asynchronous I/O for Fun and Profit. Stefan QCon London 2011 Node.js: Asynchronous I/O for Fun and Profit Stefan Tilkov @ QCon London 2011 Stefan Tilkov @stilkov stefan.tilkov@innoq.com http://www.innoq.com Concurrent Request Processing read request read request

More information

Contents Overview of the Performance and Sizing Guide... 5 Architecture Overview... 7 Performance and Scalability Considerations...

Contents Overview of the Performance and Sizing Guide... 5 Architecture Overview... 7 Performance and Scalability Considerations... Unifier Performance and Sizing Guide for On-Premises Version 17 July 2017 Contents Overview of the Performance and Sizing Guide... 5 Architecture Overview... 7 Performance and Scalability Considerations...

More information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

2014 IBM Corporation IBM Advanced Technical Skills ZCONN1. WebSphere Application Server Liberty Profile z/os. z/os Connect

2014 IBM Corporation IBM Advanced Technical Skills ZCONN1. WebSphere Application Server Liberty Profile z/os. z/os Connect IBM Advanced Technical Skills ZCONN1 WebSphere Application Server Liberty Profile z/os z/os Connect This page intentionally left blank 2 Agenda The agenda for this workshop is as follows: Overview Establish

More information

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper December 2011

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper December 2011 Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide An Oracle White Paper December 2011 Disclaimer The following is intended to outline our general product direction.

More information

Programming. Syntax and Semantics

Programming. Syntax and Semantics Programming For the next ten weeks you will learn basic programming principles There is much more to programming than knowing a programming language When programming you need to use a tool, in this case

More information

Node.js. Mendel Rosenblum. CS142 Lecture Notes - Node.js

Node.js. Mendel Rosenblum. CS142 Lecture Notes - Node.js Node.js Mendel Rosenblum Threads versus Events request = readrequest(socket); reply = processrequest(request); sendreply(socket, reply); Implementation: Thread switching (i.e. blocking) and a scheduler

More information

CS420: Operating Systems

CS420: Operating Systems Threads James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Threads A thread is a basic unit of processing

More information

Node.js. Embedded web server

Node.js. Embedded web server Node.js Embedded web server CMPT 433 Slides 11 Dr. B. Fraser 18-06-10 1 Topics 1) How to build a static web pages:.html,.css,.js? 2) How to serve static pages with Node.js? 3) How to create dynamic content

More information

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36 Communication address calls class client communication declarations implementations interface java language littleendian machine message method multicast network object operations parameters passing procedure

More information

Defining New Node-RED Nodes

Defining New Node-RED Nodes Overview Node-RED is a highly graphical programming environment however there are some things which cannot be done using the out-of-the-box nodes. Using the Function Node is one way to get around this

More information

IBM Software Group. IBM WebSphere MQ V7.0. Introduction and Technical Overview. An IBM Proof of Technology IBM Corporation

IBM Software Group. IBM WebSphere MQ V7.0. Introduction and Technical Overview. An IBM Proof of Technology IBM Corporation IBM Software Group IBM WebSphere MQ V7.0 Introduction and Technical Overview An IBM Proof of Technology 2008 IBM Corporation Unit Agenda Why is Messaging Important to the Enterprise? What is WebSphere

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-9 7 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training

More information

Improve Web Application Performance with Zend Platform

Improve Web Application Performance with Zend Platform Improve Web Application Performance with Zend Platform Shahar Evron Zend Sr. PHP Specialist Copyright 2007, Zend Technologies Inc. Agenda Benchmark Setup Comprehensive Performance Multilayered Caching

More information

Need to Node: Profiling Node.js Applications

Need to Node: Profiling Node.js Applications Need to Node: Profiling Node.js Applications Patrick Mueller January 19, 2016 Questions during the Need to Node webinar? Post a question to Twitter with the hashtag: #needtonode 2 NodeSource is the Enterprise

More information

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution 1 of 9 10/9/2013 1:38 AM WCF and WF Learning Objectives After completing this topic, you should be able to describe the functions of Windows Communication Foundation describe the features of the Windows

More information

Hands-on Lab Session 9011 Working with Node.js Apps in IBM Bluemix. Pam Geiger, Bluemix Enablement

Hands-on Lab Session 9011 Working with Node.js Apps in IBM Bluemix. Pam Geiger, Bluemix Enablement Hands-on Lab Session 9011 Working with Node.js Apps in IBM Bluemix Pam Geiger, Bluemix Enablement Copyright IBM Corporation 2017 IBM, the IBM logo and ibm.com are trademarks of International Business Machines

More information

High performance reactive applications with Vert.x

High performance reactive applications with Vert.x High performance reactive applications with Vert.x Tim Fox Red Hat Bio Employed By Red Hat to lead the Vert.x project Worked in open source exclusively for the past 9 years Some projects I've been involved

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

IBM SecureWay On-Demand Server Version 2.0

IBM SecureWay On-Demand Server Version 2.0 Securely delivering personalized Web applications IBM On-Demand Server Version 2.0 Highlights Delivers personalized Web solutions on demand to anyone, anywhere using profile serving Provides industry-leading,

More information

z/osmf V2R1: Configuration Assistant for z/os Communications Server

z/osmf V2R1: Configuration Assistant for z/os Communications Server z/osmf V2R1: Configuration Assistant for z/os Communications Server Kim Bailey IBM Tuesday, March 11, 2014: 12:15 PM - 01:15 PM MA, Gold Key 1/2 Session Number 15196 Insert Custom Session QR if Desired.

More information

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper April 2011

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper April 2011 Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide An Oracle White Paper April 2011 Disclaimer The following is intended to outline our general product direction.

More information

By Stephen Cavell, Kerry Ellwanger, and Jack Livingston

By Stephen Cavell, Kerry Ellwanger, and Jack Livingston By Stephen Cavell, Kerry Ellwanger, and Jack Livingston History PhoneGap created in 2009 by startup Nitobi. Open source way to access the native environment through an embedded WebView in a native app.

More information

Java with Eclipse: Setup & Getting Started

Java with Eclipse: Setup & Getting Started Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/

More information

Oracle Developer Studio 12.6

Oracle Developer Studio 12.6 Oracle Developer Studio 12.6 Oracle Developer Studio is the #1 development environment for building C, C++, Fortran and Java applications for Oracle Solaris and Linux operating systems running on premises

More information

Chapter 4: Multithreaded

Chapter 4: Multithreaded Chapter 4: Multithreaded Programming Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues Operating-System Examples 2009/10/19 2 4.1 Overview A thread is

More information

SAMPLE CHAPTER. Using Electron and NW.js. Paul B. Jensen. FOREWORD BY Cheng Zhao MANNING

SAMPLE CHAPTER. Using Electron and NW.js. Paul B. Jensen. FOREWORD BY Cheng Zhao MANNING SAMPLE CHAPTER Using Electron and NW.js Paul B. Jensen FOREWORD BY Cheng Zhao MANNING Cross-Platform Desktop Applications Using Electron and NW.js by Paul Jensen Chapter 6 Copyright 2017 Manning Publications

More information

Full Stack Web Developer Nanodegree Syllabus

Full Stack Web Developer Nanodegree Syllabus Full Stack Web Developer Nanodegree Syllabus Build Complex Web Applications Before You Start Thank you for your interest in the Full Stack Web Developer Nanodegree! In order to succeed in this program,

More information

Outline. 1. Load Testing 2. Frontend Tips 3. Server-side Tips

Outline. 1. Load Testing 2. Frontend Tips 3. Server-side Tips Performance Outline 1. Load Testing 2. Frontend Tips 3. Server-side Tips Load Testing Load testing is the process of putting demand on a system or device and measuring its response. Load testing is performed

More information

Eduardo

Eduardo Eduardo Silva @edsiper eduardo@treasure-data.com About Me Eduardo Silva Github & Twitter Personal Blog @edsiper http://edsiper.linuxchile.cl Treasure Data Open Source Engineer Fluentd / Fluent Bit http://github.com/fluent

More information

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015 Fundamentals of Website Development CSC 2320, Fall 2015 The Department of Computer Science Review Web Extensions Server side & Where is your JOB? 1 In this chapter Dynamic pages programming Database Others

More information

IBM WebSphere Application Server 8. Clustering Flexible Management

IBM WebSphere Application Server 8. Clustering Flexible Management IBM WebSphere Application Server 8 Clustering Flexible Management Thomas Bussière- bussiere@fr.ibm.com IT Architect Business Solution Center La Gaude, France WebSphere Application Server: High Availability

More information

Any application that can be written in JavaScript, will eventually be written in JavaScript.

Any application that can be written in JavaScript, will eventually be written in JavaScript. Enterprise/Cloud-ready Node.js Michael Dawson IBM Community Lead for Node.js Jesse Gorzinski jgorzins@us.ibm.com Powerpoint Stealer 1 Atwood s Law: 2007 Any application that can be written in JavaScript,

More information

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts MEAN Stack 1. Introduction 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts 3. Node Projects a. The Node Package Manager b. Creating a project c. The package.json

More information

Intellicus Cluster and Load Balancing- Linux. Version: 18.1

Intellicus Cluster and Load Balancing- Linux. Version: 18.1 Intellicus Cluster and Load Balancing- Linux Version: 18.1 1 Copyright 2018 Intellicus Technologies This document and its content is copyrighted material of Intellicus Technologies. The content may not

More information

Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2

Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Lecture 3: Processes Agenda Process Concept Process Scheduling Operations on Processes Interprocess Communication 3.2 Process in General 3.3 Process Concept Process is an active program in execution; process

More information

Scaling DreamFactory

Scaling DreamFactory Scaling DreamFactory This white paper is designed to provide information to enterprise customers about how to scale a DreamFactory Instance. The sections below talk about horizontal, vertical, and cloud

More information

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 9 May, Copyright 2017 MarkLogic Corporation. All rights reserved. Reference Application Architecture Guide 1 MarkLogic 9 May, 2017 Last Revised: 9.0-1, May, 2017 Copyright 2017 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Reference

More information

Distributed Systems. 03. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 03. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 03. Remote Procedure Calls Paul Krzyzanowski Rutgers University Fall 2017 1 Socket-based communication Socket API: all we get from the OS to access the network Socket = distinct end-to-end

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Lab 6 - Connecting frontend and backend without page reloads (2016-11-03) by Michael Bernstein, Scott Klemmer, and Philip

More information