Using web sockets in your PHP application. Jeff Kolesnikowicz
|
|
- Aubrie Hampton
- 6 years ago
- Views:
Transcription
1 Using web sockets in your PHP application Jeff Kolesnikowicz
2 My mom told me to start with a joke Fwd: FW: Fw: Fwd: Fwd: Computer Cartoons
3 About me Building websites since 1999, working with PHP since 2001 Office manager (cat) doesn t get enough scratches
4 What are web sockets? Part of HTML5 Full-duplex client/server communication For real time communication between client and server accessible from nonbrowser applications Built into (most) browsers.
5 Source:
6 Web sockets VS AJAX Web sockets are full-duplex Client-server relationship Connection is persistent and stateful Authentication is built-in to AJAX
7 WAMP No, not the stack Web Application Messaging Protocol Facilitates two types of messaging patterns: publish and subscribe (pub/sub) and, remote procedural call (RPC)
8 WAMP Pub/Sub A client subscribes to a topic and receives all messages in the topic Not limited to 1:1 communication. Scales from 0 to N clients Client cannot request information outside of what is pushed Can be used as a chat, updating configuration between services
9 WAMP RPC Can call custom functions 1:1 communication with the server Can be used to request data, direct communication between browsers, games Server can make a request of the browser and vice versa
10 Ratchet PHP implementation of WAMP protocol Provides server side hooks for pub/sub as well as RPC Provides a flash based client side polyfill Provides a read-only Symfony session handler And more! Canadian!
11 The new shiny Ratchet does not support WAMP2 Thruway does ( github.com/voryx/thruway)
12 WAMP Server Server: <?php use Ratchet\Server\IoServer; use Ratchet\Http\HttpServer; use Ratchet\WebSocket\WsServer; use Ratchet\Wamp\WampServer; use Ratchet\Cookbook\OpenPubSub; require dirname( DIR ). '/vendor/autoload.php'; use MyApp\WampDemo; $server = IoServer::factory( new HttpServer( new WsServer( new WampServer( new WampDemo ) ) ), 8080 ); $server->run();
13 class WampDemo implements WampServerInterface { protected $clients; public function construct() { } $this->clients = new \SplObjectStorage; public function oncall(connectioninterface $conn, $id, $topic, array $params) { } echo "Calling $topic"; public function onsubscribe(connectioninterface $conn, $topic) { echo "Subscribing to $topic"; } public function onunsubscribe(connectioninterface $conn, $topic) { echo "Unsubscribing to $topic"; } public function onpublish(connectioninterface $conn, $topic, $event, array $exclude, array $eligible) { echo "Publishing to $topic"; } public function onopen(connectioninterface $conn) { $this->clients->attach($conn); echo "Connected\n"; } public function onclose(connectioninterface $conn) { $this->clients->detach($conn); } echo "Closed\n"; public function onerror(connectioninterface $conn, \Exception $e) { echo "An error has occurred: {$e->getmessage()}\n"; } $conn->close(); }
14 Client side <script> var connection = new autobahn.connection({ url: ws:// :8080, realm: "demo" }); connection.onopen = function (session, details) { }; console.log("connection established!", session, details); session.call( test"); session.subscribe("test.topic"); session.publish("test.topic"); connection.onclose = function (reason, details) { } console.log("connection lost: " + reason); connection.onmessage = function(e) { }; console.log(e.data); connection.open(); </script>
15 Demo
16 How we used web sockets The problem Application built by external vendor each AJAX request very slow ms+ Data integrity was poor: APP.Case.Score = 100; Duplication of functionality between client and server side Game was attached to a large legacy application
17 How we used web sockets What we needed to do Move logic somewhere that can t be accessed by a user Speed application up Needs to be extensible Could not be entirely rewritten The business wants it done yesterday
18 How we used web sockets The solution Web sockets are faster than AJAX Web sockets are persistent Scoring logic now server side Game is now event driven Lost data is less likely
19 How we used websockets The application
20
21 Not so fast aka These are the pitfalls I ve known PHP is not great at running 24/7 Crashy McCrashface Firewalls & Proxies
22 Caching Crashes Get our hands dirty with core dumps Crashing when calling redit_sock_write Connection to caching server was getting disconnected
23 ulimit gotta be kidding me PHP Fatal error: Uncaught exception... Too many open files Everything in UNIX is a file - including sockets PHP has a default limit of 1024 open files jeff@devlocal:~$ ulimit -n 65535
24 ulimit gotta be kidding me OS gave PHP a file handle that was higher than expected, so crashed A theoretical limit of 1024 connections per server (probably lower) lower number of open files Create new user and edit /etc/ security/limits.conf websocket-user hard nofile 1024 websocket-user soft nofile 1024
25 Problem by proxy More restrictive firewalls may need to whitelist web socket servers Useful for diagnosis: Match protocol of webpage and web socket (IE) Run wss to pass through proxy servers Many firewalls block ports above 1024
26 Balancing daemons Use upstart to run web socket server Restart daily Build in a reconnect to help automatically reconnect users
27 A balancing act Rackspace load balancers don t support web sockets Amazon s ELB does (with some work) HAProxy does Apache and Nginx support load balancing and routing through a URL
28 Nginx We load balance through Nginx (will switch to HAProxy) Able to redirect web sockets to a URL Routed through port 443 Websocket server (port 8000) Nginx /websocket/ (port 80) Websocket server (port 8000) Websocket server (port 8000)
29 Nginx configuration http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream websocket { least_conn; server :8000; server :8000; server :8000; } server { listen 8000; location /websocket/ { proxy_pass proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; }
30 Monitoring Load balancing helps, but requires a number of failures before down Adding a new piece of infrastructure - monitor it! Pingdom don t support web socket monitoring Newrelic supports process monitoring
31
32 Monitoring { public function pingservers() { $reports = []; foreach ($this->servers as $server) try { $report = $this- >pingserver($server, $this->port, $this- >path); $server]; } catch (Exception $e) { $report = "$server is down"; $value = ['server' => AppStat::increment('webapp.server.down', $value); } } } $reports[$server] = $report; return $reports; private function pingserver($server, $port, $path) { $loop = React\EventLoop\Factory::create(); App::import('Lib', 'Simucase.Client'); $client = new Client($loop, $server, $port, $path); $response = null; $params = [json_encode([])]; $client->setonwelcomecallback(function (Client $conn, $data) use (&$response, $loop, $params) { $conn->call('helloworld', $params, function ($data) use (&$response, $loop, $conn) { $response = $data; $loop->stop(); }); }); } $loop->run(); return $response;
33 Provide users with feedback
34 Build a compatibility page for users
35 In Summary Faster and more robust than AJAX Think long and hard before using PHP Adding a piece of fussy infrastructure Know your audience Inform your audience
36 Thank you! Questions? Slides available at Please rate my talk: Sample code available at I m on jeff@codepoets.ca
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 informationCSC443: 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 informationCOMET, 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 informationUCServer Webservice Release. Best Practice
UCServer Webservice Release Best Practice Legal Information/Imprint The information contained in this document reflects the state of knowledge at the time the document was created. Errors and subsequent
More informationKaazing. 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 informationLarge-scale Game Messaging in Erlang at IMVU
Large-scale Game Messaging in Erlang at IMVU Jon Watte Technical Director, IMVU Inc @jwatte / #erlangfactory Presentation Overview Describe the problem Low-latency game messaging and state distribution
More informationWEB SECURITY WORKSHOP TEXSAW Presented by Solomon Boyd and Jiayang Wang
WEB SECURITY WORKSHOP TEXSAW 2014 Presented by Solomon Boyd and Jiayang Wang Introduction and Background Targets Web Applications Web Pages Databases Goals Steal data Gain access to system Bypass authentication
More informationEtanova Enterprise Solutions
Etanova Enterprise Solutions Networking» 2018-02-24 http://www.etanova.com/technologies/networking Contents HTTP Web Servers... 6 Apache HTTPD Web Server... 6 Internet Information Services (IIS)... 6 Nginx
More information20486-Developing ASP.NET MVC 4 Web Applications
Course Outline 20486-Developing ASP.NET MVC 4 Web Applications Duration: 5 days (30 hours) Target Audience: This course is intended for professional web developers who use Microsoft Visual Studio in an
More informationLecture 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 informationOracle Coherence and WebLogic 12c Delivering Real Time Push at Scale Steve Millidge
Oracle Coherence and WebLogic 12c Delivering Real Time Push at Scale Steve Millidge About Me Founder of C2B2 Leading Independent Middleware Experts Non-functional Experts Vendor Neutral Red Hat (JBoss),
More informationFIREFLY 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 informationSecure Access Troubleshooting Rewrite related issues (Core/Web Based Access)
Secure Access Troubleshooting Rewrite related issues (Core/Web Based Access) Published June 2015 Why do certain web-based applications have issues through the rewrite engine compared to accessing the resource
More informationWeb Sockets and SignalR Building the Real Time Web
Web Sockets and SignalR Building the Real Time Web DDD South West Saturday 26th May 2012 Chris Alcock Agenda Introduction What is Real Time? Interactive? Web Sockets Who What When How? Examples (Client
More informationMOS Encryption and Security via Web Sockets & MOS Passive Mode MOS v4.0
Proposal for Adoption into the MOS Protocol MOS Encryption and Security via Web Sockets & MOS Passive Mode MOS v4.0 Revised June 2018 Revision 1.4 FOR FINAL APPROVAL & RATIFICATION Shawn Snider VP Production
More informationAsema IoT Central Integration and migration. English
Asema IoT Central English Table of Contents 1. Introduction... 1 2. alternatives... 2 2.1. Simply move and run... 2 2.2. Asema IoT Central as a proxy for other systems... 5 2.2.1. Proxied HTTP requests...
More informationThe paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience.
Paper title: Developing WebRTC-based team apps with a cross-platform mobile framework. Speaker: John Buford. Track: Mobile and Wearable Devices, Services, and Applications. Hello everyone. My name is John
More informationIERG 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 informationProgramming 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 informationINTERNET 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 informationScaling 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 informationRailsConf Europe 2008 Juggernaut Realtime Rails. Alex MacCaw and Stuart Eccles
RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles http://www.madebymany.co.uk/ server push HTTP
More informationServers & Developers. Julian Nadeau Production Engineer
Servers & Developers Julian Nadeau Production Engineer Provisioning & Orchestration of Servers Setting a server up Packer - one server at a time Chef - all servers at once Containerization What are Containers?
More informationDeveloping ASP.NET MVC 5 Web Applications
20486C - Version: 1 23 February 2018 Developing ASP.NET MVC 5 Web Developing ASP.NET MVC 5 Web 20486C - Version: 1 5 days Course Description: In this course, students will learn to develop advanced ASP.NET
More informationPHP. MIT 6.470, IAP 2010 Yafim Landa
PHP MIT 6.470, IAP 2010 Yafim Landa (landa@mit.edu) LAMP We ll use Linux, Apache, MySQL, and PHP for this course There are alternatives Windows with IIS and ASP Java with Tomcat Other database systems
More informationHow we scaled push messaging for millions of Netflix devices. Susheel Aroskar Cloud Gateway
How we scaled push messaging for millions of Netflix devices Susheel Aroskar Cloud Gateway Why do we need push? How I spend my time in Netflix application... What is push? What is push? How you can build
More informationModule 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 informationAaron Bartell Director of IBM i Innovation
Watson IBM i WebSockets 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.
More informationSmashing 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 informationWeb Engineering (CC 552)
Web Engineering (CC 552) Introduction Dr. Mohamed Magdy mohamedmagdy@gmail.com Room 405 (CCIT) Course Goals n A general understanding of the fundamentals of the Internet programming n Knowledge and experience
More informationEtanova Enterprise Solutions
Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...
More informationReading nginx CHANGES together
Reading nginx CHANGES together Maxim Dounin NGINX CHANGES 3 nginx versions 1.11.x, 1.13.x, 1.15.x - mainline Odd numbers New features are developed here Current version - 1.15.5 1.12.x, 1.14.x - stable
More informationReal-Time SignalR. Overview
Real-Time SignalR Overview Real-time Web applications feature the ability to push server-side content to the connected clients as it happens, in real-time. For ASP.NET developers, ASP.NET SignalR is a
More informationA Library and Proxy for SPDY
A Library and Proxy for SPDY Interdisciplinary Project Andrey Uzunov Chair for Network Architectures and Services Department of Informatics Technische Universität München April 3, 2013 Andrey Uzunov (TUM)
More informationHOW TO SECURELY CONFIGURE A LINUX HOST TO RUN CONTAINERS
HOW TO SECURELY CONFIGURE A LINUX HOST TO RUN CONTAINERS How To Securely Configure a Linux Host to Run Containers To run containers securely, one must go through a multitude of steps to ensure that a)
More informationWeb 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 informationManaging State. Chapter 13
Managing State Chapter 13 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of Web http://www.funwebdev.com Development Section 1 of 8 THE PROBLEM OF STATE IN WEB APPLICATIONS
More informationInternet Connectivity with
Internet Connectivity with Introduction The purpose of this workshop is to help you g et acquainted with the basics of internet connectivity by leveraging ARM mbed tools. If you are not already familiar
More information1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10
EE 586 Communication and Switching Networks (Fall 2010) Lecture 10 September 17 2010 1-1 Announcement Send me your group and get group ID HW3 (short) out on Monday Personal leave for next two weeks No
More informationServices: Monitoring and Logging. 9/16/2018 IST346: Info Tech Management & Administration 1
Services: Monitoring and Logging 9/16/2018 IST346: Info Tech Management & Administration 1 Recall: Server vs. Service A server is a computer. A service is an offering provided by server(s). HTTP 9/16/2018
More informationSnapt Accelerator Manual
Snapt Accelerator Manual Version 2.0 pg. 1 Contents Chapter 1: Introduction... 3 Chapter 2: General Usage... 3 Accelerator Dashboard... 4 Standard Configuration Default Settings... 5 Standard Configuration
More informationQLIK VIRTUAL EVENT. qlik.com
QLIK VIRTUAL EVENT qlik.com VIRTUAL EVENT SYSTEM REQUIREMENTS & QUICK START Operating System / Browser Combinations Windows 7 or 8 with IE8+ or the latest version of Firefox or Chrome Mac OS 10.7 with
More informationDrupal Frontend Performance & Scalability
Riverside Drupal Meetup @ Riverside.io August 14, 2014 Christefano Reyes christo@larks.la, @christefano Who's Your Presenter? Who's Your Presenter? Why We Care About Performance Who's Your Presenter? Why
More informationHow to Configure Authentication and Access Control (AAA)
How to Configure Authentication and Access Control (AAA) Overview The Barracuda Web Application Firewall provides features to implement user authentication and access control. You can create a virtual
More informationPLCHESSQL. - SCHACH MIT APEX, NODEJS UND TWITTER AUTHOR: MORITZ SCHENKEL SYNTEGRIS INFORMATION SOLUTIONS GMBH
PLCHESSQL - SCHACH MIT APEX, NODEJS UND TWITTER AUTHOR: MORITZ SCHENKEL www.syntegris.de whoami 31 years old married 2 cats MSc Strategic Information Management Consultant at Syntegris information solutions
More informationBackend Web Frameworks
Backend Web Frameworks How do we: inspect the requested URL and return the appropriate page? deal with POST requests? handle more advanced concepts like sessions and cookies? scale the application to
More informationThe 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 informationEnabling Performance & Stress Test throughout the Application Lifecycle
Enabling Performance & Stress Test throughout the Application Lifecycle March 2010 Poor application performance costs companies millions of dollars and their reputation every year. The simple challenge
More informationReal-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 informationTuning NGINX for high performance. Nick Shadrin
Tuning NGINX for high performance Nick Shadrin nick@nginx.com All links on one page shadrin.org/talks/ Twitter: @shadrin @nginx @nginxorg 2 About me Nick Shadrin Technical Solutions Architect with NGINX
More informationWeb 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 informationTuning NGINX for high performance. Nick Shadrin
Tuning NGINX for high performance Nick Shadrin nick@nginx.com All links on one page shadrin.org/talks/ Twitter: @shadrin @nginx @nginxorg 2 About me Nick Shadrin Product Manager at NGINX Based in San Francisco
More informationMicrosoft Developing ASP.NET MVC 4 Web Applications
1800 ULEARN (853 276) www.ddls.com.au Microsoft 20486 - Developing ASP.NET MVC 4 Web Applications Length 5 days Price $4290.00 (inc GST) Version C Overview In this course, students will learn to develop
More informationDistributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems
Distributed Architectures & Microservices CS 475, Spring 2018 Concurrent & Distributed Systems GFS Architecture GFS Summary Limitations: Master is a huge bottleneck Recovery of master is slow Lots of success
More informationCodewords: A Massively Multiplayer Board Game built with Angular
Codewords: A Massively Multiplayer Board Game built with Angular Hi! I m Mike. 2 Hi! I m Mike. I like board games. 3 A LOT 4 In late 2017 I wanted to.. Learn Angular 4 + WebSockets See how Django Channels
More informationPuppet on the AWS Cloud
Puppet on the AWS Cloud Quick Start Reference Deployment AWS Quick Start Reference Team March 2016 This guide is also available in HTML format at http://docs.aws.amazon.com/quickstart/latest/puppet/. Contents
More informationRKN 2015 Application Layer Short Summary
RKN 2015 Application Layer Short Summary HTTP standard version now: 1.1 (former 1.0 HTTP /2.0 in draft form, already used HTTP Requests Headers and body counterpart: answer Safe methods (requests): GET,
More informationDesign Overview of the FreeBSD Kernel CIS 657
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler (2%
More informationWeb, HTTP and Web Caching
Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects
More informationCS637 Midterm Review
CS637 Midterm Review Coverage: Duckett Chapter 1-2: Basics: Can skip pp. 53-56 Chapter 3: Lists: all important Chapter 4:Links: all important Chapter 5:Images: can skip old code Chapter 6: Tables: all
More informationReal Life Web Development. Joseph Paul Cohen
Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your
More informationDesign Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent?
Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler
More informationSEEM4540 Open Systems for E-Commerce Lecture 11 Advanced Topics
SEEM4540 Open Systems for E-Commerce Lecture 11 Advanced Topics Push Notification The web has been largely built around the so-called request/response model A client loads up a web page and then nothing
More information20486: Developing ASP.NET MVC 4 Web Applications (5 Days)
www.peaklearningllc.com 20486: Developing ASP.NET MVC 4 Web Applications (5 Days) About this Course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework
More informationComet 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 informationPushyDB. Jeff Chan, Kenny Lam, Nils Molina, Oliver Song {jeffchan, kennylam, molina,
PushyDB Jeff Chan, Kenny Lam, Nils Molina, Oliver Song {jeffchan, kennylam, molina, osong}@mit.edu https://github.com/jeffchan/6.824 1. Abstract PushyDB provides a more fully featured database that exposes
More informationCMSC 332 Computer Networking Web and FTP
CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into
More informationHow to Re-Architect without Breaking Stuff (too much) Owen Garrett March 2018
How to Re-Architect without Breaking Stuff (too much) Owen Garrett March 2018 owen@nginx.com All problems in computer science can be solved by another layer of indirection --- David Wheeler, FRS This giant
More informationData Access and Analysis with Distributed, Federated Data Servers in climateprediction.net
Data Access and Analysis with Distributed, Federated Data Servers in climateprediction.net Neil Massey 1 neil.massey@comlab.ox.ac.uk Tolu Aina 2, Myles Allen 2, Carl Christensen 1, David Frame 2, Daniel
More informationComputer Networks. Wenzhong Li. Nanjing University
Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content
More informationPROBLEMS IN PRACTICE: THE WEB MICHAEL ROITZSCH
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group PROBLEMS IN PRACTICE: THE WEB MICHAEL ROITZSCH THE WEB AS A DISTRIBUTED SYSTEM 2 WEB HACKING SESSION 3 3-TIER persistent
More informationTapestry. Code less, deliver more. Rayland Jeans
Tapestry Code less, deliver more. Rayland Jeans What is Apache Tapestry? Apache Tapestry is an open-source framework designed to create scalable web applications in Java. Tapestry allows developers to
More informationHow To Manually Install Joomla 3.2 On Wamp Server 2.2
How To Manually Install Joomla 3.2 On Wamp Server 2.2 Once WampServer is installed, you have the possibility to add as many Apache, If you need to run Joomla on your local machine, get xampp instead. Additional
More informationSEEM4570 System Design and Implementation. Lecture 6 Game Part II
SEEM4570 System Design and Implementation Lecture 6 Game Part II Preparation We continue the code in the last lecture (Lecture 06). 2017 Gabriel Fung 2 Programming with Client-Server System In practice,
More informationSoftware Requirement Specification
Software Requirement Specification Publish/Subscribe System Group-03 Atul Jangra 2010CS50277 Dushyant Behl 2010CS50282 Shantanu 2010CS50295 Utkarsh 2010CS50299 1 1. Introduction Table of Content 1.1 Purpose...
More informationSend me up to 5 good questions in your opinion, I ll use top ones Via direct message at slack. Can be a group effort. Try to add some explanation.
Notes Midterm reminder Second midterm next week (04/03), regular class time 20 points, more questions than midterm 1 non-comprehensive exam: no need to study modules before midterm 1 Online testing like
More informationInstalling PHP on Windows 10 Bash and Starting a Local Server
Installing PHP on Windows 10 Bash and Starting a Local Server Bash on Ubuntu/Windows is a way to use a command line to run all kinds of programs (including git!). But we ll want a Bash terminal to run
More informationDevShala Technologies A-51, Sector 64 Noida, Uttar Pradesh PIN Contact us
INTRODUCING PHP The origin of PHP PHP for Web Development & Web Applications PHP History Features of PHP How PHP works with the Web Server What is SERVER & how it works What is ZEND Engine Work of ZEND
More informationLecture 1. Course Mechanics. Administrative Items. Grading. Programming Assignments. Homework Assignments
Course Mechanics Lecture 1 Introduction, Course Overview January 12, 2005 Administrative Items Grading Course Organization Homeworks Programming Assignments Exams Administrative Items Course Time: MWF
More informationP2PSIP, ICE, and RTCWeb
P2PSIP, ICE, and RTCWeb T-110.5150 Applications and Services in Internet October 11 th, 2011 Jouni Mäenpää NomadicLab, Ericsson Research AGENDA Peer-to-Peer SIP (P2PSIP) Interactive Connectivity Establishment
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Programming with Network Sockets Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Sockets We ve looked at shared memory vs.
More informationLoad Balancing Oracle Application Server
V1.2.1 About this Guide This guide provides a quick reference for setting up Oracle HTTP Server load balancing using Loadbalancer.org appliances. Oracle HTTP Server Oracle HTTP Server is at the heart of
More informationKeep Learning with Oracle University
Keep Learning with Oracle University Classroom Training Learning SubscripFon Live Virtual Class Training On Demand Cloud Technology ApplicaFons Industries educa7on.oracle.com 3 Session Surveys Help us
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [THREADS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Shuffle less/shuffle better Which actions?
More informationOpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers
OpenShift 3 Technical Architecture Clayton Coleman, Dan McPherson Lead Engineers Principles The future of *aas Redefine the Application Networked components wired together Not just a web frontend anymore
More informationController/server communication
Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication
More informationFoundations of Python
Foundations of Python Network Programming The comprehensive guide to building network applications with Python Second Edition Brandon Rhodes John Goerzen Apress Contents Contents at a Glance About the
More informationInstallation and Deployment
This section includes troubleshooting topics about installation and deployment issues. Use of Forward Proxies in Your System, page 1 Use of Reverse Proxies in Your System, page 2 Auto-Deployment Fails
More informationLecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 7b: HTTP Feb. 24, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu WWW - HTTP/1.1 Web s application layer protocol
More informationThe Road to the Native Mobile Web. Kenneth Rohde Christiansen
The Road to the Native Mobile Web Kenneth Rohde Christiansen Kenneth Rohde Christiansen Web Platform Architect at Intel Europe Blink core owner and former active WebKit reviewer Works on Chromium, Crosswalk
More informationDeveloping ASP.NET MVC 5 Web Applications
Developing ASP.NET MVC 5 Web Applications Course 20486C; 5 days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework tools
More informationTraditional Web Based Systems
Chapter 12 Distributed Web Based Systems 1 Traditional Web Based Systems The Web is a huge distributed system consisting of millions of clients and servers for accessing linked documents Servers maintain
More informationIEMS 5722 Mobile Network Programming and Distributed Server Architecture Semester 2
IEMS 5722 Mobile Network Programming and Distributed Server Architecture 2016-2017 Semester 2 Assignment 3: Developing a Server Application Due Date: 10 th March, 2017 Notes: i.) Read carefully the instructions
More informationF5 BIG-IP Access Policy Manager: SAML IDP
Agility 2018 Hands-on Lab Guide F5 BIG-IP Access Policy Manager: SAML IDP F5 Networks, Inc. 2 Contents: 1 Welcome 5 2 Class 1: SAML Identity Provider (IdP) Lab 7 2.1 Lab Topology & Environments...................................
More informationHarnessing 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 informationLoad testing with WAPT: Quick Start Guide
Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided
More informationGet to know your Modem 1. Modem Technical Overview 3
User Manual Get to know your Modem 1 Modem Technical Overview 3 Managing your Modem Settings How to view your Modem settings 5 Understanding the front page 6 Changing your Modem login password 7 Upgrading
More informationSession Abstract 11/25/2013
1 Session Abstract While WebRTC is powerful and has huge open opportunities on the Internet, most enterprises are just now deploying SIP as a way to normalize and reduce costs in their communications infrastructure.
More informationProxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24
Proxying p.1/24 Proxying Why and How Alon Altman alon@haifux.org Haifa Linux Club Proxying p.2/24 Definition proxy \Prox"y\, n.; pl. Proxies. The agency for another who acts through the agent; authority
More informationDeveloping ASP.NET MVC 5 Web Applications. Course Outline
Developing ASP.NET MVC 5 Web Applications Course Outline Module 1: Exploring ASP.NET MVC 5 The goal of this module is to outline to the students the components of the Microsoft Web Technologies stack,
More information