Aaron Bartell Director of IBM i Innovation

Size: px
Start display at page:

Download "Aaron Bartell Director of IBM i Innovation"

Transcription

1 Watson IBM i WebSockets Aaron Bartell Director of IBM i Innovation albartell@krengeltech.com Copyright 2015 Aaron Bartell

2 This session brought to you by... Consulting - Jumpstart your open source pursuit. Small and big projects. Free Educational Content on everything open source for IBM i at litmis.com spaces.litmis.com provides open source development via browser on IBM i machine in the cloud. albartell@krengeltech.com

3 agenda What are WebSockets? Simple WebSocket chat app What is Watson? Watson Speech-to-text app WRKACTJOB and WebSockets

4 what is a websocket? Full-duplex communication WebSocket logo. I also don't know what it means, but it sure looks cool! New protocols, ws:// and wss:// for standard and secure WebSocket connections. Uses TCP (lower level than HTTP) for transport WebSockets is actually NOT HTTP, it just starts out at HTTP and then changes (aka "upgrades") the connection to WebSockets. Uses socket descriptors to retain state. IBM i has max of 2.5 million descriptors per job (wowza!) Works over existing 80 and 443 ports to escape firewall issues. Part of HTML5 spec bit.ly/so-websocket-connections

5 why? Low latency Server can initiate subsequent communication Have you used Google Docs? docs.google.com

6 before websockets... there was long polling bit.ly/pubnub-longpolling

7 high level photo creds to pubnum.com

8 the handshake (raw) Request GET ws://mydomain.com/?encoding=text HTTP/1.1 Origin: Cookie: utma=99as Success! Connection: Upgrade Host: mydomain.com Sec-WebSocket-Key: urovsczjnol/umbtt5ukmw== Upgrade: websocket Sec-WebSocket-Version: 13 Response Success! HTTP/ Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: ixfyxliedcaue5mc56ssa3qx8ze= Sec-WebSocket-Extensions: permessage-deflate

9 websocket frames Average size of http headers alone is 800 bytes. Now we are down to only sending content(much smaller). bit.ly/mozilla-websocket-server-frames

10 events var connection = new WebSocket('ws://mydomain.com/some-endpoint') connection.onopen = function(e) { console.log("connected"); }; connection.onmessage = function(e) { console.log( "Received: " + e.data); }; connection.onclose = function(e) { console.log("connection closed"); }; bit.ly/so-websocket-connections

11 cross-domain WebSockets is cross-domain by default Up to you to optionally restrict domain access on server via Origin header This space intentionally left blank bit.ly/so-websocket-connections

12 browser-based dev tools cloud9 ungit These are running on IBM i!

13 ibm i chat - Runs on IBM i Written in Node.js Uses HTML5's WebSockets to communicate socket.io library used for client and server Article: bit.ly/nodejs-is-genius-with-websockets

14 app.js var app = require('express')(); var http = require('http').server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.sendfile('index.html'); }); io.on('connection', function(server){ server.on('disconnect', function(){ console.log('user disconnected'); }); server.on('chat_msg', function(msg){ io.emit('chat_msg', msg); }); }); http.listen(8001, function(){ console.log('listening on *:8001'); });

15 index.html <html> <body> <ul id="messages"></ul> <form action=""> <input id="m" autocomplete="off" /><button>send</button> </form> <script src="/socket.io/socket.io.js"></script> <script src="//code.jquery.com/jquery min.js"></script> <script> var client = io(); $('form').submit(function(){ client.emit('chat_msg', $('#m').val()); $('#m').val(''); return false; }); client.on('chat_msg', function(msg){ $('#messages').append($('<li>').text(msg)); }); </script> </body> </html>

16 Cognitive computing is the simulation of human thought processes in a computerized model. Cognitive computing involves self-learning systems that use data mining, pattern recognition and natural language processing to mimic the way the human brain works. Tone Analyzer Over 19 services with new ones regularly coming Document Conversion Alchemy Data News Speech To Text bit.ly/watson-services-catalog Visual Recognition Language Translation

17 bit.ly/ibmi-nodejs-watson - "How To" MCPress Article

18 install git clone copies source to the IFS from github.com $ pwd /home/aaron/git $ git clone git@github.com:watson-developer-cloud/speech-to-text-nodejs.git Cloning into 'speech-to-text-nodejs'... remote: Counting objects: 1340, done. Receiving objects: 95% (1273/remote: Total 1340 (delta 0) Receiving objects: 100% (1340/1340), 7.09 MiB KiB/s, done. Resolving deltas: 100% (878/878), done. Checking connectivity... done. Checking out files: 100% (122/122), done. npm install looks at the $ cd speech-to-text-nodejs package.json file and installs $ npm install dependencies from npmjs.com. $ npm run build npm run build "compiles" the Javascript (combines and minify) github.com/watson-developer-cloud/speech-to-text-nodejs

19 configure var config = extend({ version: 'v1', url: ' username: 'b5xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx09', password: 'uxxxxxxxxxx2' }, vcapservices.getcredentials('speech_to_text')); bluemix.net - IBM cloud development environment

20 start VCAP_APP_PORT is a temporal environment variable that sets the listening port. $ pwd /home/aaron/git/speech-to-text-nodejs $ VCAP_APP_PORT=8001 node app.js listening at: 8001 Notice mic is in use. Side Note: Insecure WebSockets no longer work in Chrome. This is FireFox. bluemix.net - IBM cloud development environment

21 stats bit.ly/watson-speech-to-text-docs

22 stats (continued) bluemix.net - IBM cloud development environment

23 websockets meets wrkactjob Open Source: IBM i Dash Runs on IBM i + Node.js + WebSockets Uses DB2 for i Services: bit. ly/db2-for-i-services Source code repo: bit.ly/1z8ma8b

24 index.js (partial) app.get('/wrkactjob', function (req, res) { res.render('wrkactjob', { title: 'WRKACTJOB'}) }) setinterval( function() { var sql = "SELECT JOB_NAME, AUTHORIZATION_NAME, " + " ELAPSED_TOTAL_DISK_IO_COUNT, " + " ELAPSED_CPU_PERCENTAGE " + " FROM TABLE(QSYS2.ACTIVE_JOB_INFO()) X" + " ORDER BY ELAPSED_CPU_PERCENTAGE DESC" + " FETCH FIRST 20 ROWS ONLY" db.exec(sql, function(results) { io.emit('wrkactjob_update', results); }) }, 2000);

25 wrkactjob.jade table(id='jobs' class='table table-striped table-hover table-condensed') thead tr th Job th User th Disk I/O th CPU tbody script. var client = io(); client.on('wrkactjob_update', function (data) { var tbl_body = ""; $.each(data, function(k1,v1) { var tbl_row = ""; $.each(v1, function(k,v) { tbl_row += "<td>" + v + "</td>"; }) tbl_body += "<tr>" + tbl_row + "</tr>"; }) $("#jobs tbody").html(tbl_body); });

26 We Have Reached The End! Now...Get Engaged! Visit litmis.com regularly for new content on Twitter Contact me directly for assistance jumpstarting any open source development projects on IBM i at abartell@krengeltech.com

First Step Into Cloud

First Step Into Cloud First Step Into Cloud Aaron Bartell Director of IBM i Innovation Copyright 2015 Aaron Bartell albartell@krengeltech.com Solutions for the Modern IBM i Developer RPG, XML, & Web Services Featured Product:

More information

The Intro. Aaron Bartell Director of IBM i Innovation. Copyright 2015 Aaron Bartell

The Intro. Aaron Bartell Director of IBM i Innovation. Copyright 2015 Aaron Bartell The Intro Aaron Bartell Director of IBM i Innovation albartell@krengeltech.com Copyright 2015 Aaron Bartell This session brought to you by... Consulting - Jumpstart your open source pursuit. Small and

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

CSC443: Web Programming 2

CSC443: Web Programming 2 CSC443: Web Programming Lecture 20: Web Sockets Haidar M. Harmanani HTML5 WebSocket Standardized by IETF in 2011. Supported by most major browsers including Google Chrome, Internet Explorer, Firefox, Safari

More information

IERG 4080 Building Scalable Internet-based Services

IERG 4080 Building Scalable Internet-based Services Department of Information Engineering, CUHK MScIE 2 nd Semester, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 9 Web Sockets for Real-time Communications Lecturer: Albert C. M. Au

More information

Ruby and RPG talking at last

Ruby and RPG talking at last Ruby and RPG talking at last Aaron Bartell Director of IBM i Innovation albartell@krengeltech.com Copyright 2015 Aaron Bartell This session brought to you by... Consulting - Jumpstart your open source

More information

Enabling Full-Duplex Communications in APEX

Enabling Full-Duplex Communications in APEX Enabling Full-Duplex Communications in APEX Me Curt Workman - workmancw@ldschurch.org Education University of Utah Work Micron Electronics Evans&Sutherland The Church of Jesus Christ of Latter-Day Saints

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

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

Persistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web Persistence SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Demo: Promises and Timers What is state in a web application? How do we store it, and how do we choose where to store

More information

Profound.js. Future of open source development on IBM i. Alex Roytman Profound Logic

Profound.js. Future of open source development on IBM i. Alex Roytman Profound Logic Profound.js Future of open source development on IBM i Alex Roytman Profound Logic What is Node.js? The most exciting technology ever to be brought over to IBM i Brings the platform forward in a way like

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

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

Harnessing the Power of HTML5 WebSocket to Create Scalable Real-time Applications. Brian Albers & Peter Lubbers, Kaazing

Harnessing the Power of HTML5 WebSocket to Create Scalable Real-time Applications. Brian Albers & Peter Lubbers, Kaazing Harnessing the Power of HTML5 WebSocket to Create Scalable Real-time Applications Brian Albers & Peter Lubbers, Kaazing 1 About Peter Lubbers Director of Documentation and Training, Kaazing Co-Founder

More information

COMP 2406: Fundamentals of Web Applications. Fall 2013 Mid-Term Exam Solutions

COMP 2406: Fundamentals of Web Applications. Fall 2013 Mid-Term Exam Solutions COMP 2406: Fundamentals of Web Applications Fall 2013 Mid-Term Exam Solutions 1. ( false ) HTTP cookies are only sent to a web server when explicitly requested. 2. ( false ) Cookies are normally parsed

More information

Lab 4: create a Facebook Messenger bot and connect it to the Watson Conversation service

Lab 4: create a Facebook Messenger bot and connect it to the Watson Conversation service Lab 4: create a Facebook Messenger bot and connect it to the Watson Conversation service Overview In this lab, you'll create advanced Node-RED flows that: Connect the Watson Conversation service to Facebook

More information

IBM Image-Analysis Node.js

IBM Image-Analysis Node.js IBM Image-Analysis Node.js Cognitive Solutions Application Development IBM Global Business Partners Duration: 90 minutes Updated: Feb 14, 2018 Klaus-Peter Schlotter kps@de.ibm.com Version 1 Overview The

More information

COMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES. Comet HTML5 WebSockets. Peter R. Egli INDIGOO.COM. indigoo.com. 1/18 Rev. 2.

COMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES. Comet HTML5 WebSockets. Peter R. Egli INDIGOO.COM. indigoo.com. 1/18 Rev. 2. COMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES Peter R. Egli INDIGOO.COM 1/18 Contents 1. Server push technologies 2. HTML5 server events 3. WebSockets 4. Reverse HTTP 5. HTML5

More information

Smashing Node.JS: JavaScript Everywhere

Smashing Node.JS: JavaScript Everywhere Smashing Node.JS: JavaScript Everywhere Rauch, Guillermo ISBN-13: 9781119962595 Table of Contents PART I: GETTING STARTED: SETUP AND CONCEPTS 5 Chapter 1: The Setup 7 Installing on Windows 8 Installing

More information

Kaazing. Connect. Everything. WebSocket The Web Communication Revolution

Kaazing. Connect. Everything. WebSocket The Web Communication Revolution Kaazing. Connect. Everything. WebSocket The Web Communication Revolution 1 Copyright 2011 Kaazing Corporation Speaker Bio John Fallows Co-Founder: Kaazing, At the Heart of the Living Web Co-Author: Pro

More information

Catbook Workshop: Intro to NodeJS. Monde Duinkharjav

Catbook Workshop: Intro to NodeJS. Monde Duinkharjav Catbook Workshop: Intro to NodeJS Monde Duinkharjav What is NodeJS? NodeJS is... A Javascript RUNTIME ENGINE NOT a framework NOT Javascript nor a JS package It is a method for running your code in Javascript.

More information

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:

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

86% of websites has at least 1 vulnerability and an average of 56 per website WhiteHat Security Statistics Report 2013

86% of websites has at least 1 vulnerability and an average of 56 per website WhiteHat Security Statistics Report 2013 Vulnerabilities help make Web application attacks amongst the leading causes of data breaches +7 Million Exploitable Vulnerabilities challenge organizations today 86% of websites has at least 1 vulnerability

More information

IEMS 5722 Mobile Network Programming and Distributed Server Architecture

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 10 Web Sockets for Real-time Communications Lecturer:

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

The Future of the Web: HTML 5, WebSockets, Comet and Server Sent Events

The Future of the Web: HTML 5, WebSockets, Comet and Server Sent Events The Future of the Web: HTML 5, WebSockets, Comet and Server Sent Events Sidda Eraiah Director of Management Services Kaazing Corporation Agenda Web Applications, where are they going? Real time data for

More information

Networking & The Web. HCID 520 User Interface Software & Technology

Networking & The Web. HCID 520 User Interface Software & Technology Networking & The Web HCID 520 User Interface Software & Technology Uniform Resource Locator (URL) http://info.cern.ch:80/ 1991 HTTP v0.9 Uniform Resource Locator (URL) http://info.cern.ch:80/ Scheme/Protocol

More information

Using web sockets in your PHP application. Jeff Kolesnikowicz

Using web sockets in your PHP application. Jeff Kolesnikowicz Using web sockets in your PHP application Jeff Kolesnikowicz My mom told me to start with a joke Fwd: FW: Fw: Fwd: Fwd: Computer Cartoons About me Building websites since 1999, working with PHP since 2001

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

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

IBM Bluemix Node-RED Watson Starter

IBM Bluemix Node-RED Watson Starter IBM Bluemix Node-RED Watson Starter Cognitive Solutions Application Development IBM Global Business Partners Duration: 45 minutes Updated: Feb 14, 2018 Klaus-Peter Schlotter kps@de.ibm.com Version 1 Overview

More information

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental

More information

Real-time video chat XPage application using websocket and WebRTC technologies AD-1077

Real-time video chat XPage application using websocket and WebRTC technologies AD-1077 Real-time video chat XPage application using websocket and WebRTC technologies AD-1077 Dr Csaba Kiss 02/03/2016 LA-UR-16-20047 Credentials Over 25 years experience in molecular biology Began Xpage application

More information

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE Table of Contents Introduction... 2 Architecture Overview... 2 Supported Browser Versions and Technologies... 3 Firewalls and Login Sessions...

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

Cisco Spark Widgets Technical drill down

Cisco Spark Widgets Technical drill down DEVNET-1891 Cisco Spark Widgets Technical drill down Adam Weeks, Engineer @CiscoSparkDev Stève Sfartz, API Evangelist @CiscoDevNet Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker

More information

HTTP, WebSocket, SPDY, HTTP/2.0

HTTP, WebSocket, SPDY, HTTP/2.0 HTTP, WebSocket, SPDY, HTTP/2.0 Evolution of Web Protocols Thomas Becker tbecker@intalio.com 1 Intalio Intalio Jetty Services, Training and Support for Jetty and CometD Intalio BPMS Business Process Management

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

We are assuming you have node installed!

We are assuming you have node installed! Node.js Hosting We are assuming you have node installed! This lesson assumes you've installed and are a bit familiar with JavaScript and node.js. If you do not have node, you can download and install it

More information

Hands-On with IoT Standards & Protocols

Hands-On with IoT Standards & Protocols DEVNET-3623 Hands-On with IoT Standards & Protocols Casey Bleeker, Developer Evangelist @geekbleek Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this

More information

Backend Development. SWE 432, Fall Web Application Development

Backend Development. SWE 432, Fall Web Application Development Backend Development SWE 432, Fall 2018 Web Application Development Review: Async Programming Example 1 second each Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy

More information

Websocket file transfer example

Websocket file transfer example Websocket file transfer example The Problem: Low Latency Client-Server and Server-Client Connections. The Problem: Low Latency Client-Server and Server-Client Connections. // File has seen in the webkit

More information

Jesse R. Gorzinski, MBA IBM i Emerging Solutions. Aaron Bartell Director of IBM i Innovation.

Jesse R. Gorzinski, MBA IBM i Emerging Solutions. Aaron Bartell Director of IBM i Innovation. Jesse R. Gorzinski, MBA IBM i Emerging Solutions Aaron Bartell Director of IBM i Innovation jgorzins@us.ibm.com albartell@krengeltech.com Agenda - What is it? - Useful for? - Javascript syntax, functions,

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

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

Development of Web Applications

Development of Web Applications Development of Web Applications Principles and Practice Vincent Simonet, 2015-2016 Université Pierre et Marie Curie, Master Informatique, Spécialité STL 5 Client Technologies Vincent Simonet, 2015-2016

More information

Adventures with BaseX and web applications. Andy Feb 2013

Adventures with BaseX and web applications. Andy Feb 2013 Adventures with BaseX and web applications Andy Bunce @apb1704 Feb 2013 BaseX and the Web GraphXQ RESTXQ + Graphviz ( Using a PaaS ) CellarXQ Angular.js + OAuth BaseX with Node.js + events RESTXQ http://docs.basex.org/wiki/restxq

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

Web Development for Dinosaurs An Introduction to Modern Web Development

Web Development for Dinosaurs An Introduction to Modern Web Development Web Development for Dinosaurs An Introduction to Modern Web Development 1 / 53 Who Am I? John Cleaver Development Team Lead at Factivity, Inc. An Introduction to Modern Web Development - PUG Challenge

More information

Security. CSC309 TA: Sukwon Oh

Security. CSC309 TA: Sukwon Oh Security CSC309 TA: Sukwon Oh Outline SQL Injection NoSQL Injection (MongoDB) Same Origin Policy XSSI XSS CSRF (XSRF) SQL Injection What is SQLI? Malicious user input is injected into SQL statements and

More information

Application Security Introduction. Tara Gu IBM Product Security Incident Response Team

Application Security Introduction. Tara Gu IBM Product Security Incident Response Team Application Security Introduction Tara Gu IBM Product Security Incident Response Team About Me - Tara Gu - tara.weiqing@gmail.com - Duke B.S.E Biomedical Engineering - Duke M.Eng Computer Engineering -

More information

This document contains release notes for MobilePrint 2.0 General Release.

This document contains release notes for MobilePrint 2.0 General Release. MobilePrint 2.0 Release Notes This document contains release notes for MobilePrint 2.0 General Release. Contents MobilePrint 2.0 Release Notes... 1 Install and Upgrade Notes... 1 Supported upgrade path...

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

Building next-gen Web Apps with WebSocket. Copyright Kaazing Corporation. All rights reserved.

Building next-gen Web Apps with WebSocket. Copyright Kaazing Corporation. All rights reserved. Building next-gen Web Apps with WebSocket Copyright 2011 - Kaazing Corporation. All rights reserved. Who am I? Graham Gear Solution Architect, with Kaazing, purveyors of HTML5 enabling tech Based in London,

More information

Brunch Documentation. Release Brunch team

Brunch Documentation. Release Brunch team Brunch Documentation Release 1.2.2 Brunch team June 22, 2012 CONTENTS i ii Contents: CONTENTS 1 2 CONTENTS CHAPTER ONE FAQ 1.1 I want to start new project with Brunch. What s the workflow? Create new

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

Corey Clark PhD Daniel Montgomery

Corey Clark PhD Daniel Montgomery Corey Clark PhD Daniel Montgomery Web Dev Platform Cross Platform Cross Browser WebGL HTML5 Web Socket Web Worker Hardware Acceleration Optimized Communication Channel Parallel Processing JaHOVA OS Kernel

More information

Using the Bluemix CLI IBM Corporation

Using the Bluemix CLI IBM Corporation Using the Bluemix CLI After you complete this section, you should understand: How to use the bx Bluemix command-line interface (CLI) to manage applications bx commands help you do tasks such as: Log in

More information

Speed up Your Web Applications with HTML5 WebSockets. Yakov Fain, Farata Systems, USA

Speed up Your Web Applications with HTML5 WebSockets. Yakov Fain, Farata Systems, USA Speed up Your Web Applications with HTML5 WebSockets Yakov Fain, Farata Systems, USA The Plan - HTTP request-response - Demo - Server-Sent Events - Demo - WebSocket - Demo What Do You See? HTTP Hacks

More information

Harnessing the Power of HTML5 WebSocket to Create Scalable Real-Time Applications. Peter Lubbers Kaazing

Harnessing the Power of HTML5 WebSocket to Create Scalable Real-Time Applications. Peter Lubbers Kaazing Harnessing the Power of HTML5 WebSocket to Create Scalable Real-Time Applications Peter Lubbers Kaazing Wer ist dieser Kerl? > Director of Documentation and Training, Kaazing > Co-Founder San Francisco

More information

NoSQL & Firebase. SWE 432, Fall Web Application Development

NoSQL & Firebase. SWE 432, Fall Web Application Development NoSQL & Firebase SWE 432, Fall 2018 Web Application Development Review: Nouns vs. Verbs URIs should hierarchically identify nouns describing resources that exist Verbs describing actions that can be taken

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

Realtime PHP with web sockets

Realtime PHP with web sockets Realtime PHP with web sockets Jeff Kolesnikowicz Thanks Allied Health Media! http://alliedhealthmedia.com Really realtime Real-time communications (RTC) is a term used to refer to any live telecommunications

More information

Nuance. PowerMic Mobile. Installation and Administration Guide

Nuance. PowerMic Mobile. Installation and Administration Guide Nuance PowerMic Mobile Installation and Administration Guide Table of contents Welcome to PowerMic Mobile 3 System requirements 4 Hardware and software requirements 4 Network requirements 4 System sizing

More information

Hacking with WebSockets. Mike Shema Sergey Shekyan Vaagn Toukharian

Hacking with WebSockets. Mike Shema Sergey Shekyan Vaagn Toukharian Hacking with WebSockets Mike Shema Sergey Shekyan Vaagn Toukharian December 2012 1 A Trip into HTML5 WebSockets background Their appeal to developers Their appeal to attackers What makes them better 2

More information

Cookies, sessions and authentication

Cookies, sessions and authentication Cookies, sessions and authentication TI1506: Web and Database Technology Claudia Hauff! Lecture 7 [Web], 2014/15 1 Course overview [Web] 1. http: the language of Web communication 2. Web (app) design &

More information

Firefox for Android. Reviewer s Guide. Contact us:

Firefox for Android. Reviewer s Guide. Contact us: Reviewer s Guide Contact us: press@mozilla.com Table of Contents About Mozilla 1 Move at the Speed of the Web 2 Get Started 3 Mobile Browsing Upgrade 4 Get Up and Go 6 Customize On the Go 7 Privacy and

More information

Programming WebSockets. Sean Sullivan OSCON July 22, 2010

Programming WebSockets. Sean Sullivan OSCON July 22, 2010 Programming WebSockets Sean Sullivan OSCON July 22, 2010 About me Web application developers HTML 5! improved JavaScript implementations! WebSockets! WebSockets? WebSockets a technology that enables

More information

Delivering Large Scale WebRTC. Richard Tworek Principal WebRTC Strategies Twitter: rmtworek. WebRTC STRATEGIES 11/25/2013

Delivering Large Scale WebRTC. Richard Tworek Principal WebRTC Strategies Twitter: rmtworek. WebRTC STRATEGIES 11/25/2013 11/25/2013 1 Delivering Large Scale WebRTC Richard Tworek Principal WebRTC Strategies rtworek@webrtcstrategies.com Twitter: rmtworek 11/25/2013 WebRTC STRATEGIES 2 Panelists Michal Raz Vice President,

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

The realtime web: HTTP/1.1 to WebSocket, SPDY and beyond. Guillermo QCon. November 2012.

The realtime web: HTTP/1.1 to WebSocket, SPDY and beyond. Guillermo QCon. November 2012. The realtime web: HTTP/1.1 to WebSocket, SPDY and beyond Guillermo Rauch @ QCon. November 2012. Guillermo. CTO and co-founder at LearnBoost. Creator of socket.io and engine.io. @rauchg on twitter http://devthought.com

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

Chapter 1 - Development Setup of Angular

Chapter 1 - Development Setup of Angular Chapter 1 - Development Setup of Angular Objectives Key objectives of this chapter Angular Files and Dependencies Node.js Node package manager (npm) package.json Semantic version numbers Installing Angular

More information

UDR56K-4 Software. NW Digital Radio John D. Hays, K7VE Microhams 2013

UDR56K-4 Software. NW Digital Radio John D. Hays, K7VE Microhams 2013 UDR56K-4 Software NW Digital Radio John D. Hays, K7VE Microhams 2013 Topics Operating System Generic Applications Ported Applications Writing Command and Control Web Based Operating System Debian Linux

More information

C H A P T E R O N L I N E

C H A P T E R O N L I N E CHAPTER ONLINE Get Programming with JavaScript by John R. Larsen Chapter 25 Copyright 2016 Manning Publications brief contents PART 1 CORE CONCEPTS ON THE CONSOLE...1 1 Programming, JavaScript, and JS

More information

5th April Installation Manual. Department of Computing and Networking Software Development Degree

5th April Installation Manual. Department of Computing and Networking Software Development Degree 5th April 2017 Installation Manual Department of Computing and Networking Software Development Degree Project name: Student: Student Number: Supervisor: MaaP (Message as a Platform) Chihabeddine Ahmed

More information

Copyright 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Copyright 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 1 To Building WebSocket Apps in Java using JSR 356 Arun Gupta blogs.oracle.com/arungupta, @arungupta 2 The preceding is intended to outline our general product direction. It is intended for information

More information

Guides SDL Server Documentation Document current as of 03/08/ :14 PM.

Guides SDL Server Documentation Document current as of 03/08/ :14 PM. Guides SDL Server Documentation Document current as of 03/08/2018 04:14 PM. Overview This document provides the information for creating and integrating the SmartDeviceLink (SDL) server component with

More information

Performance comparison of XHR polling, Long polling, Server sent events and Websockets

Performance comparison of XHR polling, Long polling, Server sent events and Websockets Thesis no: urn:nbn:se:bth-14497 Performance comparison of XHR polling, Long polling, Server sent events and Websockets Rasmus Appelqvist Oliver Örnmyr Faculty of Computing Blekinge Institute of Technology

More information

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the

More information

Cloud Help for Community Managers...3. Release Notes System Requirements Administering Jive for Office... 6

Cloud Help for Community Managers...3. Release Notes System Requirements Administering Jive for Office... 6 for Office Contents 2 Contents Cloud Help for Community Managers...3 Release Notes... 4 System Requirements... 5 Administering Jive for Office... 6 Getting Set Up...6 Installing the Extended API JAR File...6

More information

Updating web content in real time using Node.js

Updating web content in real time using Node.js Quest Journals Journal of Software Engineering and Simulation Volume1 ~ Issue 3 (2013) pp: 01-06 ISSN(Online) :2321-3795 ISSN (Print):2321-3809 www.questjournals.org Research Paper Updating web content

More information

WorldSpace Attest Quick Start Guide

WorldSpace Attest Quick Start Guide WorldSpace Attest Quick Start Guide Contents What is WorldSpace Attest?... 2 What Comprises WorldSpace Attest?... 2 What do I need to get started?... 2 Prerequisites... 2 Generating your personal API key...

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016 DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.

More information

Express.JS. Prof. Cesare Pautasso Modularity

Express.JS. Prof. Cesare Pautasso Modularity 1 / 30 Express.JS Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Modularity var msg = "x:"; //private var f = function(x) { return msg + " " + x; module.exports.f = f;

More information

Transport Level Security

Transport Level Security 2 Transport Level Security : Security and Cryptography Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 28 October 2013 css322y13s2l12, Steve/Courses/2013/s2/css322/lectures/transport.tex,

More information

Application Notes for Versay CUE Analytics with Avaya Aura Experience Portal Release Issue 1.0

Application Notes for Versay CUE Analytics with Avaya Aura Experience Portal Release Issue 1.0 Avaya Solution & Interoperability Test Lab Application Notes for Versay CUE Analytics with Avaya Aura Experience Portal Release 7.1 - Issue 1.0 Abstract These Application Notes describe the configuration

More information

Unable To Access An Error Message Corresponding To Your Field Name. Codeigniter Callback

Unable To Access An Error Message Corresponding To Your Field Name. Codeigniter Callback Unable To Access An Error Message Corresponding To Your Field Name. Codeigniter Callback I get field was not set error when I'm validating a form. Here is my view Unable to access an error message corresponding

More information

Applications & Application-Layer Protocols: The Web & HTTP

Applications & Application-Layer Protocols: The Web & HTTP CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

Introduction of Golang, WebSocket and Angular 2

Introduction of Golang, WebSocket and Angular 2 As we know Golang is a powerful programming language introduced by Google and we can use this to implement the real-time applications. So, here we are going to use this to implement a Real-Time Chat Application,

More information

Custom Embedded Tabs, on page 1 Configure Cisco Jabber for Android on Chromebook, on page 8 Cisco Jabber Mobile App Promotion, on page 9

Custom Embedded Tabs, on page 1 Configure Cisco Jabber for Android on Chromebook, on page 8 Cisco Jabber Mobile App Promotion, on page 9 Custom Embedded Tabs, on page 1 Configure Cisco Jabber for Android on Chromebook, on page 8 Cisco Jabber Mobile App Promotion, on page 9 Custom Embedded Tabs Applies to Cisco Jabber for desktop and mobile

More information

WebRTC Manual. WebRTC (Web Real-Time Communication) is an API definition drafted by the World Wide Web

WebRTC Manual. WebRTC (Web Real-Time Communication) is an API definition drafted by the World Wide Web WebRTC Manual Introduction of WebRTC WebRTC (Web Real-Time Communication) is an API definition drafted by the World Wide Web Consortium(W3C) and supported by companies such as Google, Mozilla and Opera

More information

IERG Tutuorial 5. Benedict Mak

IERG Tutuorial 5. Benedict Mak IERG4210 - Tutuorial 5 Benedict Mak Handlebars - Basic - Handlebars - Three elements - Template, control JS, Data - Two ways to use Handlebars - Client side - Handlebars - Get data in the form of JSON

More information

Your essential APEX companion. Marko apexbyg.blogspot.com

Your essential APEX companion. Marko apexbyg.blogspot.com Your essential APEX companion Marko Gorički @mgoricki apexbyg.blogspot.com About Me 10 years of experience with APEX presenter at HROUG, SIOUG, APEX World, KSCOPE, APEX Alpe Adria, APEX Connect apex.world

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo, Lab TA: Sean Kross Lab 1 - Version control and HTML (2017-10-06) by Michael Bernstein, Scott Klemmer, Philip Guo, and

More information

WebRTC Manual. Web Extensions is easier understanding of WebRTC. WebRTC(Web Real-Time Communication) is

WebRTC Manual. Web Extensions is easier understanding of WebRTC. WebRTC(Web Real-Time Communication) is WebRTC Manual Introduction of WebRTC Web Extensions is easier understanding of WebRTC. WebRTC(Web Real-Time Communication) is an API definition drafted by the World Wide Web Consortium(W3C) that supports

More information

IBM Watson Solutions Business and Academic Partners

IBM Watson Solutions Business and Academic Partners IBM Watson Solutions Business and Academic Partners Developing a Chatbot Using the IBM Watson Conversation Service Prepared by Armen Pischdotchian Version 2.1 October 2016 Watson Solutions 1 Overview What

More information

REALTIME WEB APPLICATIONS WITH ORACLE APEX

REALTIME WEB APPLICATIONS WITH ORACLE APEX REALTIME WEB APPLICATIONS WITH ORACLE APEX DOAG Conference 2012 Johannes Mangold Senior Consultant, Trivadis AG BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART

More information

Approaches to wrapping React. Thursday 3 September 15

Approaches to wrapping React. Thursday 3 September 15 Approaches to wrapping React Om Reagent Quiescent etc. Call it when anything changes One big update method App Logic In-memory DB Advantages Doesn t touch the network i.e. fast Doesn t touch disk Disadvantages

More information

Table of Contents. Navigate the Management Menu. 911 Management Page

Table of Contents. Navigate the Management Menu. 911 Management Page ucontrol Managing 911 Information Important note regarding 911 service: VoIP 911 service has certain limitations relative to Enhanced 911 service that is available on most traditional telephone service.

More information