|
|
- Austen Arnold Merritt
- 6 years ago
- Views:
Transcription
1
2
3
4
5
6 8-24 minute delay
7 ± 30 min. round trip
8 Web DNS Redirect Download HTML Download CSS + JS + Images Download more CSS + JS + Images.
9 Ordering a pizza Several hours per page About 8 pages per order
10
11
12
13
14
15
16 Thread.setName( Bob );
17 String token = getgithubtoken("
18 Connect TCP Encryption handshake Push request data through socket wait Pull data from the socket Assemble and return the result
19
20 Blink of an eye 100ms
21 Time Network latency: milliseconds Application instruction: microseconds Hardware instructions: nanoseconds
22 String token = getgithubtoken("
23 =
24 #WRONG
25
26 Non Blocking For Everyone with Frank Lyaruu CTO Dexels
27 Non Blocking in Action 27
28 28 So why are we still writing blocking code?! It works pretty well in monoliths! CPU and memory is cheap! Networks are reliable and fast! Writing non blocking code is hard
29 Writing non blocking code is rough 29
30 Servlet API 30
31 Non Blocking I/O Servlet API
32 A Blocking Echo Servlet 32 public class BlockingServlet extends HttpServlet { private static final int BUFFER_SIZE = 1024; } protected void service(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { byte[] buffer = new byte[buffer_size]; while (true) { int read = request.getinputstream().read(buffer, 0, BUFFER_SIZE); if (read < 0) break; response.getoutputstream().write(buffer, 0, read); } }
33 A Non Blocking Echo Servlet 33 public class NonBlockingServlet extends HttpServlet { private static final int BUFFER_SIZE = protected void service(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { AsyncContext asynccontext = request.startasync(request, response); asynccontext.settimeout(0); Echoer echoer = new Echoer(asyncContext); request.getinputstream().setreadlistener(echoer); response.getoutputstream().setwritelistener(echoer); } private class Echoer implements ReadListener, WriteListener { private final byte[] buffer = new byte[buffer_size]; private final AsyncContext asynccontext; private final ServletInputStream input; private final ServletOutputStream output; private boolean complete; private Echoer(AsyncContext asynccontext) throws IOException { this.asynccontext = asynccontext; this.input = asynccontext.getrequest().getinputstream(); this.output = asynccontext.getresponse().getoutputstream(); public void ondataavailable() throws IOException { while (input.isready()) { int read = input.read(buffer); output.write(buffer, 0, read); if (!output.isready()) return; } } public void onalldataread() throws IOException public void onwritepossible() throws IOException { if (input.isfinished()) { if (!complete) asynccontext.complete(); } else { ondataavailable(); } public void onerror(throwable failure) { failure.printstacktrace(); } } if (input.isfinished()) { complete = true; asynccontext.complete(); }
34 Maybe something simpler 34 protected void doget(httpservletrequest req, HttpServletResponse resp) { AsyncContext asynccontext = request.startasync(request, response); final ServletOutputStream out = resp.getoutputstream(); final byte[] buf = new byte[1024]; final FileInputStream file = ; out.setwritelistener(new WriteListener() public void onwritepossible() throws IOException { while(out.isready()) { int len = file.read(buf); if(len<0) { return; } out.write(buf, 0, len); } } }); }
35 Bob 35
36 Developer 36
37 Node.js 37 var server = http.createserver(function (req, res) { req.pipe(res); });
38 Node.js 38 var server = http.createserver(function (req, res) { req.pipe(res); });
39 A pipe 39
40 40 Reactive Programming Programming pipes
41 41 ReactiveX Polyglot RxJava RxScala RxJS RxPHP
42 42 Observable<T> Will push zero or more items of type T Followed by a completed message (or an error )
43 RxJava Quick Intro 43 Observable.<String>just("Ouagadougou","Dakar","Accra","Rabat").subscribe(item->System.err.println(item)); Ouagadougou Dakar Accra Rabat
44 RxJava Quick Intro 44 Observable.range(0, 1000).subscribe(item->System.err.println(item));
45 RxJava Quick Intro Observable.range(0, 1000).skip(10).take(10).subscribe(item->System.err.println(item));
46 RxJava Quick Intro 46 Bytes.fromFile("citiesafrica.xml").lift(XML.parse()).subscribe(item->System.err.println(item)); <cities> <africa> <city name="lusaka"/> <city name="harare"/> <city name="kigali"/> </africa> </cities> START_DOCUMENT START_ELEMENT cities {} START_ELEMENT africa {} START_ELEMENT city {name=lusaka} END_ELEMENT city START_ELEMENT city {name=harare} END_ELEMENT city START_ELEMENT city {name=kigali} END_ELEMENT city END_ELEMENT africa END_ELEMENT cities END_DOCUMENT
47 RxJava Quick Intro 47 Bytes.fromFile("citiesafrica.xml").lift(XML.parse()).filter(e->e.getType()==XmlEventTypes.START_ELEMENT).map(e->e.getAttributes().get("name")).subscribe(item->System.err.println(item)); <cities> <africa> <city name="lusaka"/> <city name="harare"/> <city name="kigali"/> </africa> </cities> Lusaka Harare Kigali
48 RxJava Quick Intro static Observable<byte[]> createsourceobservable(httpservletrequest req); static Subscriber<byte[]> createsink(httpservletresponse resp); protected void dopost(httpservletrequest req, final HttpServletResponse resp) { createsourceobservable(req).subscribe(createsink(resp)); }
49 Reactive API s 49
50 A Blocking API public static Double temperatureincity(string city) { return Double.parseDouble(HTTPClient.get(" } For consumers: Double temperature = temperatureincity("tripoli");
51 Convert to Reactive public Observable<Double> temperatureincity(string city) { return Observable.just( Double.parseDouble(HTTPClient.get(" )); }
52
53 Sort of Double temp = temperatureincity( Cairo ).blockingfirst(); updatetemperatureui(temp); This code is still just as blocking But now the consumer and producer have independent threading
54 Use a Non Blocking HTTP Client public static Observable<Double> temperatureincity(string city) { return HTTP.get(" }
55 Add a Cache public Observable<Double> temperatureincity(string city) { Double temperature = temperaturecache.get(city); if(temperature!=null) { return Observable.just(temperature); } return HTTP.get(" }
56 Non Blocking Client Blocking: Double temp = temperatureincity( Cairo").toBlocking().first(); updatetemperatureui(temp); Non blocking: temperatureincity( Nairobi ).observeon(uischedulers.uithread()).subscribe(d->updatetemperatureui(d));
57 Challenges 57
58 Back pressure 58
59 59 Back pressure Operation
60 A Blocking Echo Servlet 60 public class BlockingServlet extends HttpServlet { private static final int BUFFER_SIZE = 1024; } protected void service(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { byte[] buffer = new byte[buffer_size]; while (true) { int read = request.getinputstream().read(buffer, 0, BUFFER_SIZE); if (read < 0) break; response.getoutputstream().write(buffer, 0, read); } }
61 61 Back pressure! Observable: No back pressure! Flowable: Back pressure
62 RxJava back pressure 62 Bytes.fromNetwork( something_huge.xml ).lift(xml.parse()).filter(e->e.gettype()==xmleventtypes.start_element).map(e->e.getattributes().get("name")).subscribe(item->dosomethingcomplicated(item));
63 63 Back pressure Operation
64 64 Back pressure Operation
65 65 Memory Consumption! Much better! or much worse
66 66 Error Handling! Some patterns don t work any more! Requires some thought
67 Error handling 67 Servlet.handlePost().lift(XML.parse()).subscribe(item->sendSomeWhere(item)); <cities> <africa> <city name="lusaka"/> <city name="harare"/> <city name="kigali"/> START_DOCUMENT START_ELEMENT cities {} START_ELEMENT africa {} START_ELEMENT city {name=lusaka} END_ELEMENT city START_ELEMENT city {name=harare} END_ELEMENT city START_ELEMENT city {name=kigali} END_ELEMENT city END_ELEMENT africa PARSE_ERROR </cities>
68 68 Non Blocking is not faster! It is about utilising threads better! If thread utilisation is not an issue, it will perform similarly
69 69 Thoughts! RxJava is lightweight and easy to add to existing software! Pleasant programming model! Makes non blocking I/O bearable! Can be used incrementally
70 70 Conclusions! Threads are expensive! Everything keeps getting faster except the speed of light! Micro services! Blocking code misbehaves under pressure! The price of blocking communication will keep going up I believe that, in time, some non blocking code is inevitable
71 Dexels dexels.com Please rate!
The Road to Reactive with RxJava. Or: How to use non blocking I/O without wanting to kill yourself
The Road to Reactive with RxJava Or: How to use non blocking I/O without wanting to kill yourself Legacy An accomplishment that remains relevant long after a person has died Software is not so lucky
More informationHTTP status codes. Setting status of an HTTPServletResponse
HTTP status codes Setting status of an HTTPServletResponse What are HTTP status codes? The HTTP protocol standard includes three digit status codes to be included in the header of an HTTP response. There
More informationConnecting the RISC Client to non-javascriptinterfaces
Connecting the RISC Client to non-javascriptinterfaces Motivation In industry scenarios there is the necessity to connect the RISC client to client side subdevices or interfaces. Examples: serial / USB
More informationThe artist formerly known as JBoss AS. Harald ~
The artist formerly known as JBoss AS Harald Pehl @haraldpehl ~ http://hpehl.info WildFly? JBoss AS JBoss Community ~ 100 Projekte JBoss Enterprise Application Platform Name overloaded WildFly! Folgeversion
More informationJAVA SERVLET. Server-side Programming INTRODUCTION
JAVA SERVLET Server-side Programming INTRODUCTION 1 AGENDA Introduction Java Servlet Web/Application Server Servlet Life Cycle Web Application Life Cycle Servlet API Writing Servlet Program Summary 2 INTRODUCTION
More informationJava servlets CSCI 470: Web Science Keith Vertanen Copyright 2013
Java servlets CSCI 470: Web Science Keith Vertanen Copyright 2013 Overview Dynamic web content genera2on (thus far) CGI Web server modules Server- side scrip2ng e.g. PHP, ASP, JSP Custom web server Java
More informationINTRODUCTION TO SERVLETS AND WEB CONTAINERS. Actions in Accord with All the Laws of Nature
INTRODUCTION TO SERVLETS AND WEB CONTAINERS Actions in Accord with All the Laws of Nature Web server vs web container Most commercial web applications use Apache proven architecture and free license. Tomcat
More informationServlets and JSP (Java Server Pages)
Servlets and JSP (Java Server Pages) XML HTTP CGI Web usability Last Week Nan Niu (nn@cs.toronto.edu) CSC309 -- Fall 2008 2 Servlets Generic Java2EE API for invoking and connecting to mini-servers (lightweight,
More informationReactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways! Reza Rahman Java EE Evangelist Reza.Rahman@Oracle.com @reza_rahman Java Day Tokyo 2015 April 8, 2015 Safe Harbor Statement The following is intended to outline
More informationThe Basic Web Server CGI. CGI: Illustration. Web based Applications, Tomcat and Servlets - Lab 3 - CMPUT 391 Database Management Systems 4
CMPUT 391 Database Management Systems The Basic Web based Applications, - - CMPUT 391 Database Management Systems Department of Computing Science University of Alberta CMPUT 391 Database Management Systems
More informationFlexible EAI-Lösungen mit Glassfish
Flexible EAI-Lösungen mit Glassfish Praxisbeispiele und War Stories zu EAI-Pattern Alexander Heusingfeld, @goldstift Martin Huber, @waterback We take care of it - personally! EAI Pattern in 2013? EAI
More informationWeb based Applications, Tomcat and Servlets - Lab 3 -
CMPUT 391 Database Management Systems Web based Applications, - - CMPUT 391 Database Management Systems Department of Computing Science University of Alberta The Basic Web Server CMPUT 391 Database Management
More informationEnterprise Java Unit 1- Chapter 4 Prof. Sujata Rizal Servlet API and Lifecycle
Introduction Now that the concept of servlet is in place, let s move one step further and understand the basic classes and interfaces that java provides to deal with servlets. Java provides a servlet Application
More informationJava Enterprise Edition. Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 1
Java Enterprise Edition Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 1 Java Beans Java EE Oct Dec 2016 EFREI/M1 Jacques André Augustin Page 2 Java Bean POJO class : private Attributes public
More informationServlets by Example. Joe Howse 7 June 2011
Servlets by Example Joe Howse 7 June 2011 What is a servlet? A servlet is a Java application that receives HTTP requests as input and generates HTTP responses as output. As the name implies, it runs on
More informationSeminar reports and projects: Report options: option 1: general report
Seminar reports and projects: Report options: 3 option 1: general report option 2: report about the on-the-shelf hardware for the main controller with explicit cost/performance comparison option 3: report
More informationAdvanced Internet Technology Lab # 4 Servlets
Faculty of Engineering Computer Engineering Department Islamic University of Gaza 2011 Advanced Internet Technology Lab # 4 Servlets Eng. Doaa Abu Jabal Advanced Internet Technology Lab # 4 Servlets Objective:
More informationModern app programming
Modern app programming with RxJava and Eclipse Vert.x #QConSP @vertx_project Who am I? Vert.x core team member since 2016 Working at since 2012 Contributing specifically to monitoring and clustering @tsegismont
More informationA Practical Use of Servlet 3.1: Implementing WebSocket 1.0
1 A Practical Use of Servlet 3.1: Implementing WebSocket 1.0 Mark Thomas September 2013 Agenda Introductions WebSocket Implementation aims Mapping to Servlet 3.1 features Complicating factors Summary Questions
More informationGenerating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status Codes 1 Agenda Format of the HTTP response How to set status codes What the status codes are good for Shortcut methods for redirection and error pages A servlet
More informationwhy? Give an app access to a resource managed by someone else, without giving the app your password. A valet key for the web Allen I.
Give an app access to a resource managed by someone else, without giving the app your password. why? Allen I. Holub Holub Associates allen@holub.com @allenholub 1 2 2 tells the A valet key for the web
More informationLab session Google Application Engine - GAE. Navid Nikaein
Lab session Google Application Engine - GAE Navid Nikaein Available projects Project Company contact Mobile Financial Services Innovation TIC Vasco Mendès Bluetooth low energy Application on Smart Phone
More information********************************************************************
******************************************************************** www.techfaq360.com SCWCD Mock Questions : Servlet ******************************************************************** Question No :1
More informationCloud Computing Platform as a Service
HES-SO Master of Science in Engineering Cloud Computing Platform as a Service Academic year 2015/16 Platform as a Service Professional operation of an IT infrastructure Traditional deployment Server Storage
More informationLAB 1 PREPARED BY : DR. AJUNE WANIS ISMAIL FACULTY OF COMPUTING UNIVERSITI TEKNOLOGI MALAYSIA
LAB 1 PREPARED BY : DR. AJUNE WANIS ISMAIL FACULTY OF COMPUTING UNIVERSITI TEKNOLOGI MALAYSIA Setting up Java Development Kit This step involves downloading an implementation of the Java Software Development
More informationQuestion Score 1 / 19 2 / 19 3 / 16 4 / 29 5 / 17 Total / 100
NAME: Login name: Computer Science 461 Midterm Exam March 10, 2010 3:00-4:20pm This test has five (5) questions. Put your name on every page, and write out and sign the Honor Code pledge before turning
More informationAn implementation of Tree Panel component in EXT JS 4.0
An implementation of Tree Panel component in EXT JS 4.0 By Hamid M. Porasl This implementation contains an HTML file that t is used to invoke used EXT JS java script files and our implemented java Script
More informationGenerating the Server Response:
2009 Marty Hall Generating the Server Response: HTTP Status Codes Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/csajsp2.html p 2 Customized Java EE
More informationIntroduction to reactive programming. Jonas Chapuis, Ph.D.
Introduction to reactive programming Jonas Chapuis, Ph.D. Reactive programming is an asynchronous programming paradigm oriented around data flows and the propagation of change wikipedia Things happening
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 informationCSC309: Introduction to Web Programming. Lecture 11
CSC309: Introduction to Web Programming Lecture 11 Wael Aboulsaadat Servlets+JSP Model 2 Architecture 2 Servlets+JSP Model 2 Architecture = MVC Design Pattern 3 Servlets+JSP Model 2 Architecture Controller
More informationDON'T BLOCK YOUR MOBILES AND INTERNET OF THINGS
DON'T BLOCK YOUR MOBILES AND INTERNET OF THINGS Use non blocking I/O for scalable and resilient server applications MAGNUS LARSSON, PÄR WENÅKER, ANDERS ASPLUND 2014-10-23 CALLISTAENTERPRISE.SE AGENDA The
More informationSession 8. JavaBeans. Reading & Reference. Reading. Reference. Session 8 Java Beans. 2/27/2013 Robert Kelly, Head First Chapter 3 (MVC)
Session 8 JavaBeans 1 Reading Reading & Reference Head First Chapter 3 (MVC) Reference JavaBeans Tutorialdocs.oracle.com/javase/tutorial/javabeans/ 2 2/27/2013 1 Lecture Objectives Understand how the Model/View/Controller
More informationSession 8. Introduction to Servlets. Semester Project
Session 8 Introduction to Servlets 1 Semester Project Reverse engineer a version of the Oracle site You will be validating form fields with Ajax calls to a server You will use multiple formats for the
More informationCSC309: Introduction to Web Programming. Lecture 10
CSC309: Introduction to Web Programming Lecture 10 Wael Aboulsaadat WebServer - WebApp Communication 2. Servlets Web Browser Get servlet/serv1? key1=val1&key2=val2 Web Server Servlet Engine WebApp1 serv1
More informationLecture Notes for 04/04/06: UNTRUSTED CODE Fatima Zarinni.
Lecture Notes for 04/04/06 UNTRUSTED CODE Fatima Zarinni. Last class we started to talk about the different System Solutions for Stack Overflow. We are going to continue the subject. Stages of Stack Overflow
More informationWeb Programming. Lecture 11. University of Toronto
CSC309: Introduction to Web Programming Lecture 11 Wael Aboulsaadat University of Toronto Servlets+JSP Model 2 Architecture University of Toronto 2 Servlets+JSP Model 2 Architecture = MVC Design Pattern
More informationAES Code Example
210 Figure 12-1. Block cipher chaining modes 12.1.6. AES Code Example Now that we have covered block ciphers and CBC, we provide a simple Java code example that can encrypt and decrypt using AES in CBC
More informationSession 9. Introduction to Servlets. Lecture Objectives
Session 9 Introduction to Servlets Lecture Objectives Understand the foundations for client/server Web interactions Understand the servlet life cycle 2 10/11/2018 1 Reading & Reference Reading Use the
More informationImplementation Architecture
Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition
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 informationPart V. SAX Simple API for XML
Part V SAX Simple API for XML Torsten Grust (WSI) Database-Supported XML Processors Winter 2012/13 76 Outline of this part 1 SAX Events 2 SAX Callbacks 3 SAX and the XML Tree Structure 4 Final Remarks
More informationReactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
Reactive Programming in Java Copyright - Syncogni Consulting Pvt Ltd. All rights reserved. Prerequisites: Core Java Lambda Expressions Method references Functional Programming Web - application development
More informationSPDY - A Web Protocol. Mike Belshe Velocity, Dec 2009
SPDY - A Web Protocol Mike Belshe Velocity, Dec 2009 What is SPDY? Concept SPDY is an application layer protocol for transporting content over the web with reduced latency. Basic Features 1. Multiplexed
More informationPart V. SAX Simple API for XML. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 84
Part V SAX Simple API for XML Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 84 Outline of this part 1 SAX Events 2 SAX Callbacks 3 SAX and the XML Tree Structure 4 SAX and Path Queries
More informationUnit-4: Servlet Sessions:
4.1 What Is Session Tracking? Unit-4: Servlet Sessions: Session tracking is the capability of a server to maintain the current state of a single client s sequential requests. Session simply means a particular
More informationUsing TCnative with Comet/Asynch. Jean-Frederic Clere, Red Hat November 9th
Using TCnative with Comet/Asynch Jean-Frederic Clere, Red Hat jfclere@gmail.com, November 9th What I will cover Who I am AJAX and Tomcat. Comet and HTTP/1.1 Asynchronous in 3.0 Specs NIO (NIO2) Tomcat
More informationGenerating the Server Response: HTTP Response Headers
Generating the Server Response: HTTP Response Headers 1 Agenda Format of the HTTP response Setting response headers Understanding what response headers are good for Building Excel spread sheets Generating
More informationJava Servlets. Preparing your System
Java Servlets Preparing to develop servlets Writing and running an Hello World servlet Servlet Life Cycle Methods The Servlet API Loading and Testing Servlets Preparing your System Locate the file jakarta-tomcat-3.3a.zip
More informationJSR 311: JAX-RS: The Java API for RESTful Web Services
JSR 311: JAX-RS: The Java API for RESTful Web Services Marc Hadley, Paul Sandoz, Roderico Cruz Sun Microsystems, Inc. http://jsr311.dev.java.net/ TS-6411 2007 JavaOne SM Conference Session TS-6411 Agenda
More informationLarge-Scale Web Applications
Large-Scale Web Applications Mendel Rosenblum Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet CS142 Lecture Notes - Intro LAN 2 Large-Scale: Scale-Out
More informationReactive Programming in Java. Copyright - Syncogni Consulting Pvt Ltd. All rights reserved.
Reactive Programming in Java Copyright - Syncogni Consulting Pvt Ltd. All rights reserved. Prerequisites: Functional Programming as in Java 8 Streams of Java 8 Lambda expressions Method references Expectations
More informationBackend. (Very) Simple server examples
Backend (Very) Simple server examples Web server example Browser HTML form HTTP/GET Webserver / Servlet JDBC DB Student example sqlite>.schema CREATE TABLE students(id integer primary key asc,name varchar(30));
More informationStateless -Session Bean
Stateless -Session Bean Prepared by: A.Saleem Raja MCA.,M.Phil.,(M.Tech) Lecturer/MCA Chettinad College of Engineering and Technology-Karur E-Mail: asaleemrajasec@gmail.com Creating an Enterprise Application
More informationCIS 3952 [Part 2] Java Servlets and JSP tutorial
Java Servlets Example 1 (Plain Servlet) SERVLET CODE import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet;
More information4.1 The Life Cycle of a Servlet 4.2 The Java Servlet Development Kit 4.3 The Simple Servlet: Creating and compile servlet source code, start a web
UNIT - 4 Servlet 4.1 The Life Cycle of a Servlet 4.2 The Java Servlet Development Kit 4.3 The Simple Servlet: Creating and compile servlet source code, start a web browser and request the servlet, example
More informationAccelerating SVG Transformations with Pipelines XML & SVG Event Pipelines Technologies Recommendations
Accelerating SVG Transformations with Pipelines XML & SVG Event Pipelines Technologies Recommendations Eric Gropp Lead Systems Developer, MWH Inc. SVG Open 2003 XML & SVG In the Enterprise SVG can meet
More informationsessionx Desarrollo de Aplicaciones en Red A few more words about CGI CGI Servlet & JSP José Rafael Rojano Cáceres
sessionx Desarrollo de Aplicaciones en Red José Rafael Rojano Cáceres http://www.uv.mx/rrojano A few more words about Common Gateway Interface 1 2 CGI So originally CGI purpose was to let communicate a
More informationUNIT-V. Web Servers: Tomcat Server Installation:
UNIT-V Web Servers: The Web server is meant for keeping Websites. It Stores and transmits web documents (files). It uses the HTTP protocol to connect to other computers and distribute information. Example:
More informationCS193i Final Exam SITN students -- hopefully you are getting this soon enough to take it on
CS193i, Stanford Handout #39 Spring, 99-00 Nick Parlante CS193i Final Exam SITN students -- hopefully you are getting this soon enough to take it on Tue or Wed. I would like to get the exam back in my
More informationServlet Basics. Agenda
Servlet Basics 1 Agenda The basic structure of servlets A simple servlet that generates plain text A servlet that generates HTML Servlets and packages Some utilities that help build HTML The servlet life
More informationAcceleration Techniques for XML Processors
Acceleration Techniques for XML Processors Biswadeep Nag Staff Engineer Performance Engineering XMLConference 2004 XML is Everywhere Configuration files (web.xml, TurboTax) Office documents (StarOffice,
More informationRemote Exploit. compass-security.com 1
Remote Exploit compass-security.com 1 Content Intel Architecture Memory Layout C Arrays Buffer Overflow BoF Exploit Assembler Shellcode Function Calls Debugging Remote Exploit Exploit Mitigations Defeat
More informationUnit 3 - Week 2 lectures: Building your webapp
X Courses» Modern Application Development Announcements Course Forum Progress Mentor Discourse forum Discussion Forum Unit 3 - Week 2 lectures: Building your webapp Course outline How to access the portal?
More information&' () - #-& -#-!& 2 - % (3" 3 !!! + #%!%,)& ! "# * +,
! "# # $! " &' ()!"#$$&$'(!!! ($) * + #!,)& - #-& +"- #!(-& #& #$.//0& -#-!& #-$$!& 1+#& 2-2" (3" 3 * * +, - -! #.// HttpServlet $ Servlet 2 $"!4)$5 #& 5 5 6! 0 -.// # 1 7 8 5 9 2 35-4 2 3+ -4 2 36-4 $
More informationServletConfig Interface
ServletConfig Interface Author : Rajat Categories : Advance Java An object of ServletConfig is created by the web container for each servlet. This object can be used to get configuration information from
More informationThis tutorial will teach you how to use Java Servlets to develop your web based applications in simple and easy steps.
About the Tutorial Servlets provide a component-based, platform-independent method for building Webbased applications, without the performance limitations of CGI programs. Servlets have access to the entire
More informationScripting Languages in OSGi. Thursday, November 8, 12
Scripting Languages in OSGi Frank Lyaruu CTO Dexels Project lead Navajo Framework Amsterdam www.dexels.com Twitter: @lyaruu Navajo Framework TSL XML based script language Compiled to Java Recently ported
More informationWriting Reactive Application using Angular/RxJS, Spring WebFlux and Couchbase. Naresh Chintalcheru
Writing Reactive Application using Angular/RxJS, Spring WebFlux and Couchbase Naresh Chintalcheru Who is Naresh Technology professional for 18+ years Currently, Technical Architect at Cars.com Lecturer
More informationWeb Based Solutions. Gerry Seidman. IAM Consulting
Web Based Solutions Gerry Seidman Internet Access Methods seidman@iamx.com http://www.iam-there.com 212-580-2700 IAM Consulting seidman@iamx.com http://www.iamx.com 212-580-2700 (c) IAM Consulting Corp.
More informationAdvanced Web Technology
Berne University of Applied Sciences Dr. E. Benoist Winter Term 2005-2006 Presentation 1 Presentation of the Course Part Java and the Web Servlet JSP and JSP Deployment The Model View Controler (Java Server
More informationAdvanced Topics in Operating Systems. Manual for Lab Practices. Enterprise JavaBeans
University of New York, Tirana M.Sc. Computer Science Advanced Topics in Operating Systems Manual for Lab Practices Enterprise JavaBeans PART III A Web Banking Application with EJB and MySQL Development
More informationWebSocket and Java EE: A State of the Union
WebSocket and Java EE: A State of the Union Justin Lee @evanchooly Senior Software Engineer Squarespace.com Introduction Java developer since 1996 Former member of the GlassFish/Grizzly team Implemented
More informationPlatform as a Service lecture 2
Politecnico di Milano Platform as a Service lecture 2 Building an example application in Google App Engine Cloud patterns Elisabetta Di Nitto Developing an application for Google App Engine (GAE)! Install
More informationMotivation of VPN! Overview! VPN addressing and routing! Two basic techniques for VPN! ! How to guarantee privacy of network traffic?!
Overview!! Last Lecture!! Daemon processes and advanced I/O functions!! This Lecture!! VPN, NAT, DHCP!! Source: Chapters 19&22 of Comer s book!! Unix domain protocols and non-blocking I/O!! Source: Chapters
More informationAn overview of (a)sync & (non-) blocking
An overview of (a)sync & (non-) blocking or why is my web-server not responding? with funny fonts! Experiment & reproduce https://github.com/antonfagerberg/play-performance sync & blocking code sync &
More informationBerner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2
Java Servlets Adv. Web Technologies 1) Servlets (introduction) Emmanuel Benoist Fall Term 2016-17 Introduction HttpServlets Class HttpServletResponse HttpServletRequest Lifecycle Methods Session Handling
More informationVendor: SUN. Exam Code: Exam Name: Sun Certified Web Component Developer for J2EE 5. Version: Demo
Vendor: SUN Exam Code: 310-083 Exam Name: Sun Certified Web Component Developer for J2EE 5 Version: Demo QUESTION NO: 1 You need to store a Java long primitive attribute, called customeroid, into the session
More informationThe New HTTP Client API in Java 11
The New HTTP Client API in Java 11 Sergey Kuksenko Java Platform Group, Oracle October, 2018 Safe Harbor Statement The following is intended to outline our general product directon. It is intended for
More informationICOM 4015-Advanced Programming. Spring Instructor: Dr. Amir H. Chinaei. TAs: Hector Franqui, Jose Garcia, and Antonio Tapia. Reference: Big Java
ICOM 4015-Advanced Programming Spring 2014 Instructor: Dr. Amir H. Chinaei TAs: Hector Franqui, Jose Garcia, and Antonio Tapia Reference: Big Java By Hortsmann, Ed 4 Lab 7 Continuation of HTTP and Introduction
More informationUsing Java servlets to generate dynamic WAP content
C H A P T E R 2 4 Using Java servlets to generate dynamic WAP content 24.1 Generating dynamic WAP content 380 24.2 The role of the servlet 381 24.3 Generating output to WAP clients 382 24.4 Invoking a
More informationPerformance 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 informationThree hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. Date: Friday 21 st May Time:
COMP67032 Three hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Building Web Applications Date: Friday 21 st May 2010 Time: 14.00 17.00 Answer Question 1 from Section A and TWO questions out
More informationSERVLET AND JSP FILTERS
SERVLET AND JSP FILTERS FILTERS OVERVIEW Filter basics Accessing the servlet context Using initialization parameters Blocking responses Modifying responses FILTERS: OVERVIEW Associated with any number
More informationXML Parsers. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University
XML Parsers Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Dept. of Computer Engineering Khon Kaen University 1 Overview What are XML Parsers? Programming Interfaces of XML Parsers DOM:
More informationReactive Programming with Vert.x
Reactive Programming with Vert.x Embrace asynchronous to build responsive systems Clement Escoffier Principal Software Engineer, Red Hat Reactive The new gold rush? Reactive system, reactive manifesto,
More informationSSC - Web applications and development Introduction and Java Servlet (I)
SSC - Web applications and development Introduction and Java Servlet (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics What will we learn
More informationAJP. CHAPTER 5: SERVLET -20 marks
1) Draw and explain the life cycle of servlet. (Explanation 3 Marks, Diagram -1 Marks) AJP CHAPTER 5: SERVLET -20 marks Ans : Three methods are central to the life cycle of a servlet. These are init( ),
More information416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018
416 Distributed Systems Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018 1 Last Time Modularity, Layering, and Decomposition Example: UDP layered on top of IP to provide
More informationServlets1. What are Servlets? Where are they? Their job. Servlet container. Only Http?
What are Servlets? Servlets1 Fatemeh Abbasinejad abbasine@cs.ucdavis.edu A program that runs on a web server acting as middle layer between requests coming from a web browser and databases or applications
More informationRESTful Web Services Part 1
RESTful Web Services Part 1 Luciano García Bañuelos Institute of Computer Science About me Luciano García-Bañuelos E-mail: luciano.garcia@ut.ee Office: J.Liivi 2-311 Senior Researcher Software Engineering
More informationServlets Basic Operations
Servlets Basic Operations Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring Overview Preparing to
More informationOWASP 5/07/09. The OWASP Foundation OWASP Static Analysis (SA) Track Session 1: Intro to Static Analysis
Static Analysis (SA) Track Session 1: Intro to Static Analysis Eric Dalci Cigital edalci at cigital dot com 5/07/09 Copyright The Foundation Permission is granted to copy, distribute and/or modify this
More informationHTTP, 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 informationCS 43: Computer Networks. 15: Transport Layer & UDP October 5, 2018
CS 43: Computer Networks 15: Layer & UDP October 5, 2018 Reading Quiz Lecture 15 - Slide 2 Layer Moving down a layer. Current perspective: lication is the boss Usually executing within the OS kernel. The
More informationKamnoetvidya Science Academy. Object Oriented Programming using Java. Ferdin Joe John Joseph. Java Session
Kamnoetvidya Science Academy Object Oriented Programming using Java Ferdin Joe John Joseph Java Session Create the files as required in the below code and try using sessions in java servlets web.xml
More informationIntroduction to Servlets. After which you will doget it
Introduction to Servlets After which you will doget it Servlet technology A Java servlet is a Java program that extends the capabilities of a server. Although servlets can respond to any types of requests,
More informationECE 435 Network Engineering Lecture 10
ECE 435 Network Engineering Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 September 2017 Announcements HW#4 was due HW#5 will be posted. midterm/fall break You
More informationSchahin Rajab TCP or QUIC Which protocol is most promising for the future of the internet?
Schahin Rajab sr2@kth.se 2016 04 20 TCP or QUIC Which protocol is most promising for the future of the internet? Table of contents 1 Introduction 3 2 Background 4 2.1 TCP 4 2.2 UDP 4 2.3 QUIC 4 2.4 HTTP
More informationGet the cookies from the service request: Cookie[] HttpServletRequest.getCookies() Add a cookie to the service response:
Managing Cookies Cookies Cookies are a general mechanism which server side applications can use to both store and retrieve information on the client side Servers send cookies in the HTTP response and browsers
More information