Node.js talking to PROGRESS

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

By: Craig Hecock.  A JavaScript runtime environment running Google Chrome’s V8 engine ◦ a.k.a. a server-side solution for JS ◦ Compiles JS, making it.
N ODE.J S S ERVER S IDE J AVASCRIPT Diana Roiswati ( ) Ahmad Syafii ( ) Asri Taraqiadiyu ( )
© 2014 IBM Corporation Empowering the IBM ecosystem Introduction to Developing applications using node.js on Bluemix IBM Ecosystem Development Instructors.
Servlets and a little bit of Web Services Russell Beale.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Interesting facts about node.js.  Asynchronous I/O  How do they do that?..threads (usually) What do Web Servers do?
 A JavaScript runtime environment running Google Chrome’s V8 engine ◦ a.k.a. a server-side solution for JS ◦ Compiles JS, making it really fast  Runs.
Written by Matthew Shelley for Professor Wei Shi.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
MEAN Stack c0nrad. Overview Day 1: – MEAN Stack – NodeJS Mini Cat Fact Spammer – MongoDB Cat Profiles – Express Catbook API (Facebook for cats) Day 2:
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Paradigms & Benchmarks Ryan McCune CSE Final Presentation 11/3/11 Notre Dame Computer Science 1.
Enabling Embedded Systems to access Internet Resources.
Node.js - What is Node.js? -
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Ophelia User friendly Network Multi-player game engine Albert Öhrling.
NETWORK HARDWARE AND SOFTWARE MR ROSS UNIT 3 IT APPLICATIONS.
SE-2840 Dr. Mark L. Hornick1 NodeJS Server-side JavaScript.
JavaScript Syntax, how to use it in a HTML document
Lonce Wyse Arts and Creativity Lab National University of Singapore Net-Music 2013: The Internet as Creative Resource in Music.

Zz SOCKET.IO going real time with Arnout Kazemier
Chat Room App Logan Linn Network Application Design Fall 2010.
Page 1 Node.js - What? EMEA PUG Challenge, November 2015, Copenhagen 6-Nov-15 Node.js - What?
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
1) PHP – Personal Home Page Scripting Language 2) JavaScript.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Node.Js 1. 2 Contents About Node.Js Web requirement latest trends Introduction Simple web server creation in Node.Js Dynamic Web pages Dynamic web page.
Node.JS introduction. What is Node.JS? v8 JavaScript runtime Event driven Non-blocking standard libraries Most APIs speak streams Provides a package manager.
Introduction to Javascript. What is javascript?  The most popular web scripting language in the world  Used to produce rich thin client web applications.
The Internet Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Introduction to Node.js® Jitendra Kumar Patel Saturday, January 31, 2015.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
NodeJS and MEAN cs6320.
Node.Js Server Side Javascript
The Server-side JavaScript
Netscape Application Server
Node.js Express Web Applications
CSE 775 – Distributed Objects Submitted by: Arpit Kothari
Node.js Express Web Services
NodeJS and MEAN Prof. L. Grewe.
3 Things Everyone Knows About Node JS That You Don't
Introduction Web Environments
Node.Js online Training at GoLogica.
PHP / MySQL Introduction
CMPE419 Mobile Application Development
Week 01 Comp 7780 – Class Overview.
A lot of Software Development is about learning
Node.Js Server Side Javascript
WebSocket: Full-Duplex Solution for the Web
2017, Fall Pusan National University Ki-Joune Li
Client/Server Computing and Web Technologies
03 | Building a Backend with Socket.IO and Mongo
Application Development A Tutorial Driven Course
Nathan Totten Technical Evangelist Windows Azure
Building responsive apps and sites with HTML5 web workers
INTRODUCTION TO By Stepan Vardanyan.
Week 01 Node.js Week 01
CS3220 Web and Internet Programming JavaScript Basics
Lecture 10: The Web Server Wednesday February 14, /10/2019
Introduction.
CMPE419 Mobile Application Development
Network programming Lecture 1 Prepared by: Dr. Osama Mokhtar.
JavaScript.
Presentation transcript:

Node.js talking to PROGRESS PUG Challenge Americas 2013 Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Introduction Node.js PROGRESS connections Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Introduction Robert Prediger 14 years experience in web development 19 years experience in PROGRESS robert.prediger@web4biz.de Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Web Backend Progress Client Javascript Middleware Progress Javascript Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Javascript is everywhere: Browsers Webservers Databases Mobile Devices Adobe, Google, Apple and Microsoft are spending a huge amount of money! JavaScript seems to be the worlds most used programming language. Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Few facts about Javascript: 1995 Developed by Brendan Eich The Best of Lisp The Worst C / Java syntax (Sun wanted this crap) The prototypical inheritance from Self In 12 days 1999 Microsoft invented XMLHTTP 2008 Release of Google Chrome and V8 2009 Ryan Dahl invented Node.js Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Typescript interface Person { firstname: string; lastname: string; } class Student { fullname : string; constructor( person : Person ) { this.fullname = person.firstname + " " + person.lastname; var user = new Student( { firstname: "Jane", lastname: "User" } ); http://www.typescriptlang.org/ Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS What is Node.js Server side Javascript Built on Chrome V8 Engine Event-driven, non blocking I/O model What is it for? Easily building fast, scalable network applications Perfect for data-intensive real-time application that run across distributed devices Tuesday, 18 September 2018 Node.js talking to PROGRESS

Blocking I/O Node.js database, filesystem – disk S3, external APIs – networking Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS F-18 Hornet Max speed of 1,190 mph RAM Banana slug Max speed of 0.007 mph Hard disk Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Typical Request F = Fast F-18 Hornet S = Slow Banana Slug FSSSSSSSSSSSSSF Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Webserver Messenger WebSpeed Agent Request Thread CGI Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS DEFINE QUERY qCust FOR Customer. OPEN QUERY qCust FOR EACH Customer. GET FIRST qCust. <next statement> Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Request with WebSpeed: Finished request Start 2nd request Green is executing thread Red is waiting on I/O Tuesday, 18 September 2018 Node.js talking to PROGRESS

Web Apps Node.js blocking I/O decreases concurrency Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Non Blocking I/O Model Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Reactor Pattern Browser Click Callbacks Drag Callbacks Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Event-Driven Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Evented Programming $(″body″).click( function() { $(this).css( ″color″, ″red″ ); }); Event Callback Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Request with Node: Reactor Request Request Green is executing thread Red is waiting on I/O Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Can handle thousands of concurrent connections with minimal overhead (CPU/Memory) on a single Process! Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Summary Extremely efficient networking applications Fast javascript runtime (V8) Rapid growth in both, packages and community Tuesday, 18 September 2018 Node.js talking to PROGRESS

Socket.io Introduction Tuesday, 18 September 2018 Node.js talking to PROGRESS

Protocol for having a bidirectional communication with client. Socket.io Protocol for having a bidirectional communication with client. Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Socket.io Example server.js: var io  = require('socket.io').listen( 80 ); io.sockets.on('connection', function (socket) {      socket.emit( 'message', { text: 'Hello World' });     socket.on('chat', function (data) {          socket.broadcast.emit(data);      }); }); Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Socket.io Example client.js:     <script src="/socket.io/socket.io.js"></script>     <script>         var socket = io.connect('http://test.domain');         socket.on( 'message', function (data) {             console.log(data);         });         socket.emit( 'chat', { message: 'Hi' } );     </script> Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Demo Tuesday, 18 September 2018 Node.js talking to PROGRESS

Communication between Progress and Node.js Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS TCP Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS HTTP Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Webservice Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS var soap = require('soap'), url = 'http://www.thomas-bayer.com/ax… args = { blz: '74369662' }; soap.createClient( url, function( err, client ) { client.getBank( args, function(err, result) { console.log( err, result ); }); Tuesday, 18 September 2018 Node.js talking to PROGRESS

node4progress Direct connect via Progress https://github.com/RobertPrediger/node4progress Tuesday, 18 September 2018 Node.js talking to PROGRESS

Messaging Progress AMQP (Advanced Messaging Queuing Protocol) AMQP is the Internet Protocol for Business Messaging Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS REST Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS var rest = require('rest'); rest.post( 'http://service.com/action', { data: 334 }) .on('complete', function(data, response) { if (response.statusCode == 201) { ... } }); Tuesday, 18 September 2018 Node.js talking to PROGRESS

Node.js talking to PROGRESS Questions? robert.prediger@web4biz.de Tuesday, 18 September 2018 Node.js talking to PROGRESS