Middleware and Web Services Lecture 3: Application Server
|
|
- Shon York
- 6 years ago
- Views:
Transcription
1 Middleware and Web Services Lecture : Application Server doc. Ing. Tomáš Vitvar, Ph.D. Czech Technical University in Prague Faculty of Information Technologies Software and Web Engineering Modified: Wed Aug 0 0, :: Humla v0.. Application Server Environment that runs an application logic Client communicates with AS via an application protocol Terminology Application Server Web Server HTTP Server AS is a modular environment; provides technology to realize enterprise systems AS contains a Web server/http server We will use AS, Web/HTTP server interchangeably Two major models to realize AS Blocking I/O (also called synchronous I/O) Non-blocking I/O (also called asynchronous I/O) Two technologies we will look at Node.js runs server-side JavaSript Java Enterprise Edition (JEE) servlet technology Lecture : Application Server, CTU Winter Semester
2 Overview Blocking and Non-Blocking I/O Application Protocols Introduction to HTTP Introduction to JEE Lecture : Application Server, CTU Winter Semester Blocking I/O Model The server creates a thread for every connection For example, K connections = K threads, big overhead Characteristics the thread is reserved for the connection When processing of the request requires other interactions with DB/FS or network communication is slow scales very bad as the thread's execution is "blocked" Lecture : Application Server, CTU Winter Semester
3 Non-Blocking I/O Model Connections maintained by the OS, not the Web app The Web app registers events, OS triggers events when occur Characteristics Event examples: new connection, read, write, closed The app may create working threads, but controls the number! much less number of working threads as opposed to blocking I/O Lecture : Application Server, CTU Winter Semester Node.js Node.js Emerging Web server technology, very efficient and fast! Event-driven I/O framework, based on JavaScript V engine Only one worker thread Open many libraries Future platform for Web.0 apps Every I/O as an event reading and writing from/to files reading and writing from/to sockets //pseudocode;askforthelasteditedtimeofafile stat('somefile',function(result){ //usetheresulthere }); We will use it throughout the course for examples good to demonstrate underlying Web services concepts Lecture : Application Server, CTU Winter Semester
4 Quick JavaScript Intro Objects and Arrays (~ JSON) 0 //objectsfkey/valuepairs varobj={name:"tomas",mainfcity:"innsbruck",value:}; obj.name="peter";//assignthenamepropertyanothervalue obj["mainfcity"]="prague";//anotherwaytoaccessobject'svalues;it'snotanarray! //arrays vara=["tomas","peter","alice"]; for(vari=0;i<a.length;i++) //dosomethingwitha[i] //combinationsofarraysandobjects varobj_a=[ {name:"tomas",city:"innsbruck"}, {name:"peter",city:"prague"}, {name:"alice",cities:["prague","brno"]}]; for(vari=0;i<obj_a.length;i++) //dosomethingwithobj_a[i].name,... Functions //assignafunctiontoavarialbe varminus=function(a,b){ returnafb; } //callthefunction; //nowyoucanpass'minus'asaparametertoanotherfunction varr=minus(,); Lecture : Application Server, CTU Winter Semester Quick JavaScript Intro (Cont.) Function Callbacks You can use them to handle asynchronous events occurrences 0 //functionreturnstheresultthroughacallback,notdirectly; //thisisnotanonfblockigi/o,justdemonstrationofthecallback functionadd(a,b,callback){ callback(a+b); } //assignthecallbacktoavariable varprint=function(result){ console.log(result); }; //callthefunctionwithcallbackasaparameter add(,,print); Functions as values in object 0 varobj={ data:[,,"tomas","alice",], getindexdof:function(val){ for(vari=0;i<this.data.length;i++) if(data[i]==val) returni; returnf; } } obj.getindexof();//willreturn Lecture : Application Server, CTU Winter Semester
5 Overview Blocking and Non-Blocking I/O Application Protocols Synchronous and Asynchronous Communication Simple Protocol Example Introduction to HTTP Introduction to JEE Lecture : Application Server, CTU Winter Semester Application Protocols Remember this App protocols mostly on top of the TCP Layer use TCP socket for communication Major protocols HTTP most of the app protocols layered on HTTP wide spread, but: implementors often break HTTP semantics RMI Remote Method Invocation Java-specific, rather interface may use HTTP underneath (among other things) XML-RPC Remote Procedure Call and SOAP Again, HTTP underneath WebSocket new protocol part of HTML Lecture : Application Server, CTU Winter Semester 0
6 Socket Handshaking (connection establishment) The server listens at [dst_ip,dsp_port] Three-way handshake: the client at [src_ip,src_port] sends a connection request the server responds the client acknowledges the response, can send data along Result is a socket (virtual communication channel) with unique identification: socket=[src_ip,src_port;dst_ip,dst_port] Data transfer (resource usage) Client/server writes/reads data to/from the socket TCP features: reliable delivery, correct order of packets, flow control Connection close Lecture : Application Server, CTU Winter Semester Addressing in Application Protocol IP addressing: IP is an address of a machine interface A machine can have multiple interfaces TCP addressing: TCP port is an address of an app running on a machine Multiple applications with different TCP ports may run on a machine Application addressing Additional mechanisms to address entities within an application They are outside of scope of IP/TCP, they are app specific for example, HTTP handles multiple resources in Web application, multiple Web applications served by a single Web server (see Serving HTTP Request) Lecture : Application Server, CTU Winter Semester
7 Overview Blocking and Non-Blocking I/O Application Protocols Synchronous and Asynchronous Communication Simple Protocol Example Introduction to HTTP Introduction to JEE Lecture : Application Server, CTU Winter Semester Synchronous/Asynchronous Communication Synchronous one socket, t req t res is small easy to implement and deploy, only standard firewall config only the server defines endpoint Asynchronous request, response each has socket, client and server define endpoints t req t res can be large (hours, even days) harder to do across network elements (private/public networks issue) Lecture : Application Server, CTU Winter Semester
8 Public/Private Network Configuration Adds complexity to configuration of application Config example at server with eth0=..00. (iptables) #enableipforwardingfromoneinterfacetoanotherwithinlinuxcore echo>/proc/sys/net/ipv/ip_forward #redirectallcommunicationcommingtotcp/000to...:000 iptablesftnatfapreroutingfieth0fptcpffdport000fjdnat\ FFtoFdest...FFtoFport000 Lecture : Application Server, CTU Winter Semester Demilitarized Zones DMZ = Demilitarized Zone subnet within an organization's network on a public network special care of security enforced through internal policies For example: no access to all live data, subsets copied in batches frequent monitoring mechanisms to "fool" attackers Lecture : Application Server, CTU Winter Semester
9 Overview Blocking and Non-Blocking I/O Application Protocols Synchronous and Asynchronous Communication Simple Protocol Example Introduction to HTTP Introduction to JEE Lecture : Application Server, CTU Winter Semester ASCII Communication Example simple TCP Socket protocol in NodeJS functions (verbs): add and bye data syntax: add "^[0F]+[0F]+$", bye "^$" (regular grammars) data semantics: add decimal numbers, bye none process: transitions S add S, S bye S0, where S0, S are states such that S=connectionestablished, S0=connectionclosed. 0 0 varnet=require('net'); //createstheserverandwaitsforincomingconnection varserver=net.createserver(function(stream){ stream.write('verbs:addab,bye.\r\n'); //eventwhennewdatainthesocketisavailable stream.on('data',function(data){ //convertsbuffertostring,stripoutthe\r\nchars varmessage=newstring(data.slice(0,data.lengthf)); //checksforthecorrectformatoftheaddmessage if(n=message.match("^add([0f]+)([0f]+)$")) stream.write("theresultis:"+ (parseint(n[])+parseint(n[]))+"\r\n"); else if(message.match("^bye$"))stream.end("goodbye!\r\n"); elsestream.write("donotunderstand:"+message+"\r\n"); }); }).listen(00,' ');? Lecture : Application Server, CTU Winter Semester
10 Testing Many app protocols communicate in plain text messages in ASCII or Base encoded (printable chars only) this allows to test them just with Telnet Telnet not need to know any protocol-specific semantics only opens, reads/writes, and closes the socket Testing our protocol 0 #openthesocketusingtelnetbutfirstdigfordnslookup telnet$(digvitvar.com+short)00 Trying... ConnectedtoecFFFF.euFwestF.compute.amazonaws.com. Escapecharacteris'^]'. Verbs:addab,bye. add Theresultis: minus Donotunderstand:minus bye Goodbye! Lecture : Application Server, CTU Winter Semester Overview Blocking and Non-Blocking I/O Application Protocols Introduction to HTTP State Management Persistent Communication and Pipelining Introduction to JEE Lecture : Application Server, CTU Winter Semester 0
11 Hypertext Transfer Protocol HTTP Application protocol, basis of Web architecture Part of HTTP, URI, and HTML family Request-response protocol One socket for single request-response original specification have changed due to performance issues many concurrent requests overhead when establishing same connections HTTP. offers persistent connection and pipelinening HTTP is stateless Multipe HTTP requests cannot be normally related at the server "problems" with state management REST goes back to the original HTTP idea Lecture : Application Server, CTU Winter Semester HTTP Request and Response Request Syntax methodurihttpfversion<crlf> (header:value<crlf>)* <crlf> [data] Response Syntax httpfversionresponsefcode[message]<crlf> (header:value<crlf>)* <crlf> [data] Semantics of terms method="get" "POST" "DELETE" "PUT" "HEAD" "OPTIONS" uri=[path][";"params]["?"query] httpfversion="http/.0" "HTTP/." responsefcode=validresponsecode header:value=validhttpheaderanditsvalue data=resourcestaterepresentation(hypertext) Lecture : Application Server, CTU Winter Semester
12 Serving HTTP Request IP and TCP addressing. User enters URL to the browser. Browser gets an IP address for company.cz, IP:.... Browser and Web Server creates a socket [..00.:;...:00] Application addressing. Browser sends HTTP request, that is, writes following data to the socket GET/ordersHTTP/. Host:company.cz. Web server passes the request to the web application company.cz which serves GETorders and that writes a response back to the socket. Lecture : Application Server, CTU Winter Semester HTTP Server in Node.js HTTP Server implementation server running at..., port //httplibrary varhttp=require("http"); http.createserver(function(req,res){ //checkthevalueofhostheader if(req.headers.host=="company.cz"){ res.writehead(0,"contentftype:text/plain"); res.end("thisistheresponse..."); }else; //handleenterprise.comapplogic... }).listen(' ',00); Test it using Telnet telnet...00 #...linesomittedduetobrevity GET/ordersHTTP/. Host:company.cz HTTP/.0OK ContentFType:plain/text Thisistheresponse... Lecture : Application Server, CTU Winter Semester
13 Better Support for HTTP Testing Use curl to test HTTP protocol Usage:curl[options...]<url> FX/FFrequest<command>Specifyrequestcommandtouse FH/FFheader<line>Customheadertopasstoserver Fd/FFdata<data>HTTPPOSTdata Fb/FFcookie<name=string/file>Cookiestringorfiletoreadcookiesfrom Fv/FFverboseMaketheoperationmoretalkative Example 0 curlfvfh"host:company.cz"... *Abouttoconnect()to...port0 *Trying...connected *Connectedto...port0 >GET/HTTP/. >UserFAgent:curl/.0.0(iFappleFdarwin0..)libcurl/.0.0OpenSSL/0.. >Accept:*/* >Host:company.cz > <HTTP/.0OK <Connection:keepFalive <ContentFType:plain/text < <Thisistheresponse... Lecture : Application Server, CTU Winter Semester Overview Blocking and Non-Blocking I/O Application Protocols Introduction to HTTP State Management Persistent Communication and Pipelining Introduction to JEE Lecture : Application Server, CTU Winter Semester
14 State Management HTTP is a stateless protocol original design No information to relate multiple interactions at server-side Except Authorization header is copied in every request IP addresses do not work, one public IP can be shared by multiple clients Solutions to check for a valid state at server-side Cookies obvious and the most common workaround RFC 0 HTTP State Management Mechanism Allow clients and servers to talk in a context called sessions Hypertext original HTTP design principle App states represented by resources (hypermedia), links define transitions between states Adopted by the REST principle statelessness Lecture : Application Server, CTU Winter Semester Interaction with Cookies Request-response interaction with cookies Session is a logical channel maintained by the server Stateful Server Server remembers the session information in a server memory Server memory is a non-persistent storage, when server restarts the memory content is lost! Lecture : Application Server, CTU Winter Semester
15 Set-Cookie and Cookie Headers SetFCookie response header setfcookie="setfcookie:"cookie(","cookie)* cookie=name"="value(";"cookiefav)* cookiefav="comment""="value "Domain""="value "MaxFAge""="value "Path""="value domain a domain for which the cookie is applied MaxFAge number of seconds the cookie is valid Path URL path for which the cookie is applied Cookie request header. A client sends the cookie in a request if: domain matches the origin server's fully-qualified host name path matches a prefix of the request-uri MaxFAge has not expired cookie="cookie:"cookiefvalue(";"cookiefvalue)* cookiefvalue=name"="value[";"path][";"domain] path="$path""="value domain="$domain""="value domain, and path are values from corresponding attributes of the SetFCookie header Lecture : Application Server, CTU Winter Semester Object for session management 0 0 varsessions={ //propertytoholdallsessionsfromallclients sessions:{}, //returnsthesessiondatabasedontheinformationinthecookie getsession:function(req){ varsid; //getthesessionidfromthecookie if(req.headers.cookie(p=req.headers.cookie.match( ".*sessionfid=([afzafz0f]+).*"))) sid=p[]; if(!sid!this.sessions[sid]) //createthesessionidmdhash;maximumof000connections //fromasingleip sid=require("crypto").createhash('md').update( req.connection.remoteaddress+ (Math.floor(Math.random()*))).digest("hex"); //returnthesessiondata; //createtheemptyobjectifdatadoesnotexist returnthis.sessions[sid] (this.sessions[sid]={id:sid,data:{}, header:{"setfcookie":"sessionfid="+sid+";maxfage=00"}}) } }; Lecture : Application Server, CTU Winter Semester 0
16 Stateful Server Implementation Simple per-client counter 0 0 varhttp=require("http"); //createthehttpserver,handletherequest http.createserver(function(req,res){ varsession=sessions.getsession(req); //countnumberofhitsfromasingleuser if(session.data.counter) session.data.counter++; else //createthecounterifitdoesnotexist session.data.counter=; //repeatthecookieineveryresponsetokeepthesession //themaxfagevalueisthusaninactivityinterval res.writehead(00,session.header); res.end("numberofhitsfromyou:"+session.data.counter+"\n"); }).listen(00," "); Task When server restarts, the counter will reset. How do you change the code to count requests from all clients? Lecture : Application Server, CTU Winter Semester Testing Testing curl will require you to specify cookies in every request Browser handles cookies automatically 0 0 #runcurlforthefirsttime curlfvec.vitvar.com:00 >GET/HTTP/. >Host:ec.vitvar.com:00 >Cookie:sessionFid=accdcffaaba0ca0 > <HTTP/.00OK <SetFCookie:sessionFid=accdcffaaba0ca0;maxFage=00 < Numberofhitsfromyou: #copythecookiesessionfidfrompreviousresponse curlfvfbsessionfid=accdcffaaba0ca0ec.vitvar.com:00 >GET/HTTP/. >Host:ec.vitvar.com:00 >Cookie:sessionFid=accdcffaaba0ca0 > <HTTP/.00OK <SetFCookie:sessionFid=accdcffaaba0ca0;maxFage=00 < Numberofhitsfromyou: Lecture : Application Server, CTU Winter Semester
17 Overview Blocking and Non-Blocking I/O Application Protocols Introduction to HTTP State Management Persistent Communication and Pipelining Introduction to JEE Lecture : Application Server, CTU Winter Semester Non-Persistent, Persistent, Pipelining HTTP. improvements over version.0 non-persistent one socket for one request response (v.0) persistent one socket for multiple interactions reduces latency (no repeating handshaking) pipelining multiple requests, no wait for responses the server must preserve the order of messages when sending responses. Lecture : Application Server, CTU Winter Semester
18 Overview Blocking and Non-Blocking I/O Application Protocols Introduction to HTTP Introduction to JEE Lecture : Application Server, CTU Winter Semester JEE Part of Java Platform, Enterprise Edition (JEE) Collection of technologies for server programming Major technologies servlet technology Java Server Pages (JSP) Java Messaging System (JMS) Remote Method Invocation (RMI) Enterprise Java Beans (EJB) Basis for many application servers such as Oracle WebLogic Google AppEngine (Java) JBoss GlassFish IBM WebSphere Lecture : Application Server, CTU Winter Semester
19 Basic Directory Structure Your application collection of documents and libraries your application requires packaged in war archive JAR that includes not only java classes but also additional resources such as.xml,.html,.js,.css,.jpg files. Content of war package #webarchiveroot war #directoriesanddocumentsaccessiblethroughtheapproot/ #suchasimg,css,js,... FF(publicFdirectory publicfdocument)* #directoriesanddocumentsinternaltoyourapplication FFWEBFINF FF(privateFdirectory privatefdocument)* #compiledjavaclassesofyourapplication FFclasses #alljavalibrariesyourapplicationrequires FFlib #configurationofyourapplication FFweb.xml FF#otherplatformFspecificconfigurations #suchasappfengineweb.xmlforgae Lecture : Application Server, CTU Winter Semester Configuration in web.xml web.xml defines configuration for list of servlets, mapping of servlets to URL paths, welcome files, filters, EJB references, authentication mechanism, etc. basic configuration example: 0 <?xmlversion=".0"encoding="utff"?> <webapp xmlns:xsi=" xmlns=" <servlet> <servletname>main</servletname> <servletclass>com.vitvar.mdw.main</servletclass> </servlet> <servletmapping> <servletname>main</servletname> <urlpattern>/</urlpattern> </servletmapping> <welcomefilelist> <welcomefile>index.jsp</welcomefile> </welcomefilelist> </webapp> Lecture : Application Server, CTU Winter Semester
20 Handling HTTP Requests HTTP Servlets Servlet is a class that extends capabilities of application servers via a request-response programming model HTTP servlets are classes that extend HTTPServlet abstract class Example: 0 packagecom.vitvar.mdw; importjavax.servlet.http.httpservlet; importjavax.servlet.http.httpservletrequest; importjavax.servlet.http.httpservletresponse; publicclassmainextendshttpservlet{ publicdoget(httpservletrequestrequest,httpservletresponseresponse){ //GETmethodimplementationhere } publicdoput(httpservletrequestrequest,httpservletresponseresponse){ //PUTmethodimplementationhere } //othermethodssuchasdopost,dodelete,dooptions } Lecture : Application Server, CTU Winter Semester Support for Sessions HttpSession interface Allows to store session data in the memory Java API for HTTP State Management Hides details to developers Enable sessions in GAE by setting <sessionsfenabled> to true in appenginefweb.xml (disabled by default) 0 //methoddogetinaservlet publicdoget(httpservletrequestrequest,httpservletresponseresponse){ //accessthesessionobjectthroughtherequest HttpSessionsession=request.getSession(); //uniqueidentificationofthesession,thevalueusedforthecookie Stringid=session.getId(); //getthevalueoftheattribute Objectvalue=session.getAttribute("data"); //setthevalueoftheattribute session.setattribute("data",newstring("somedata")); //thiswillsetamaxfageofthesessioncookie session.setmaxinactiveinterval(00); } Lecture : Application Server, CTU Winter Semester 0
21
Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes
Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes
More informationMiddleware and Web Services Lecture 2: Introduction to Architectures
Middleware and Web Services Lecture 2: Introduction to Architectures doc. Ing. Tomáš Vitvar, Ph.D. tomas@vitvar.com @TomasVitvar http://vitvar.com Czech Technical University in Prague Faculty of Information
More informationJ2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies
J2EE - Version: 25 Developing Enterprise Applications with J2EE Enterprise Technologies Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 5 days Course Description:
More informationOracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)
Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how
More informationSession 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers
Session 9 Deployment Descriptor Http 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/http_status_codes
More informationOracle 10g: Build J2EE Applications
Oracle University Contact Us: (09) 5494 1551 Oracle 10g: Build J2EE Applications Duration: 5 Days What you will learn Leading companies are tackling the complexity of their application and IT environments
More informationMiddleware and Web Services Lecture 1: Motivation and Course Overview
Middleware and Web Services Lecture 1: Motivation and Course Overview doc. Ing. Tomáš Vitvar, Ph.D. tomas@vitvar.com @TomasVitvar http://vitvar.com Czech Technical University in Prague Faculty of Information
More informationCO Java EE 7: Back-End Server Application Development
CO-85116 Java EE 7: Back-End Server Application Development Summary Duration 5 Days Audience Application Developers, Developers, J2EE Developers, Java Developers and System Integrators Level Professional
More informationEJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java
EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution
More informationJava- EE Web Application Development with Enterprise JavaBeans and Web Services
Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven
More informationMTAT Enterprise System Integration. Lecture 2: Middleware & Web Services
MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise
More informationDeccansoft Software Services. J2EE Syllabus
Overview: Java is a language and J2EE is a platform which implements java language. J2EE standard for Java 2 Enterprise Edition. Core Java and advanced java are the standard editions of java whereas J2EE
More informationive JAVA EE C u r r i c u l u m
C u r r i c u l u m ive chnoworld Development Training Consultancy Collection Framework - The Collection Interface(List,Set,Sorted Set). - The Collection Classes. (ArrayList,Linked List,HashSet,TreeSet)
More informationIn the most general sense, a server is a program that provides information
d524720 Ch01.qxd 5/20/03 8:37 AM Page 9 Chapter 1 Introducing Application Servers In This Chapter Understanding the role of application servers Meeting the J2EE family of technologies Outlining the major
More informationChapter 10 Web-based Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial
More informationFast Track to Java EE 5 with Servlets, JSP & JDBC
Duration: 5 days Description Java Enterprise Edition (Java EE 5) is a powerful platform for building web applications. The Java EE platform offers all the advantages of developing in Java plus a comprehensive
More informationCNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies
CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response
More informationVision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1
Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related
More informationweb.xml Deployment Descriptor Elements
APPENDIX A web.xml Deployment Descriptor s The following sections describe the deployment descriptor elements defined in the web.xml schema under the root element . With Java EE annotations, the
More informationJava Enterprise Edition
Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data
More informationThe team that wrote this redbook
Preface p. xix The team that wrote this redbook p. xix Comments welcome p. xxiii Overview of WebSphere Application Server V3.5 p. 1 What is WebSphere Application Server? p. 1 WebSphere Application Server
More informationBuilding the Enterprise
Building the Enterprise The Tools of Java Enterprise Edition 2003-2007 DevelopIntelligence LLC Presentation Topics In this presentation, we will discuss: Overview of Java EE Java EE Platform Java EE Development
More informationpresentation DAD Distributed Applications Development Cristian Toma
Lecture 12 S4 - Core Distributed Middleware Programming in JEE Distributed Development of Business Logic Layer presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department
More informationChapter 6 Enterprise Java Beans
Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used
More informationFast Track to Java EE
Java Enterprise Edition is a powerful platform for building web applications. This platform offers all the advantages of developing in Java plus a comprehensive suite of server-side technologies. This
More informationDeveloping Applications with Java EE 6 on WebLogic Server 12c
Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need
More informationIntroduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX
Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject
More informationEnterprise Java Security Fundamentals
Pistoia_ch03.fm Page 55 Tuesday, January 6, 2004 1:56 PM CHAPTER3 Enterprise Java Security Fundamentals THE J2EE platform has achieved remarkable success in meeting enterprise needs, resulting in its widespread
More informationJAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP
2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries
More informationindex_ qxd 7/18/02 11:48 AM Page 259 Index
index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the
More informationJava EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module
Java Platform, Enterprise Edition 5 (Java EE 5) Core Java EE Java EE 5 Platform Overview Java EE Platform Distributed Multi tiered Applications Java EE Web & Business Components Java EE Containers services
More informationIntroduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve
Enterprise Java Introduction Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Course Description This course focuses on developing
More informationJ2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.
J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using
More informationJava EE 7: Back-End Server Application Development
Oracle University Contact Us: Local: 0845 777 7 711 Intl: +44 845 777 7 711 Java EE 7: Back-End Server Application Development Duration: 5 Days What you will learn The Java EE 7: Back-End Server Application
More informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationOutline. Project Goal. Overview of J2EE. J2EE Architecture. J2EE Container. San H. Aung 26 September, 2003
Outline Web-based Distributed EJB BugsTracker www.cs.rit.edu/~sha5239/msproject San H. Aung 26 September, 2003 Project Goal Overview of J2EE Overview of EJBs and its construct Overview of Struts Framework
More informationThis course is intended for Java programmers who wish to write programs using many of the advanced Java features.
COURSE DESCRIPTION: Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation,
More informationLecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. Managing a HTTP request. transport session. Step 1 - opening transport
Lecture 2-ter. 2 A communication example Managing a HTTP v1.0 connection Managing a HTTP request User digits URL and press return (or clicks ). What happens (HTTP 1.0): 1. opens a TCP transport session
More informationMicroservices 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 informationIBD Intergiciels et Bases de Données
Overview of lectures and practical work IBD Intergiciels et Bases de Données Multi-tier distributed web applications Fabien Gaud, Fabien.Gaud@inrialpes.fr http://www-ufrima.imag.fr/ Placard électronique
More informationProgramming Web Services in Java
Programming Web Services in Java Description Audience This course teaches students how to program Web Services in Java, including using SOAP, WSDL and UDDI. Developers and other people interested in learning
More informationEllipse Web Services Overview
Ellipse Web Services Overview Ellipse Web Services Overview Contents Ellipse Web Services Overview 2 Commercial In Confidence 3 Introduction 4 Purpose 4 Scope 4 References 4 Definitions 4 Background 5
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 informationMigrating traditional Java EE applications to mobile
Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16
More informationSpecialized - Mastering JEE 7 Web Application Development
Specialized - Mastering JEE 7 Web Application Development Code: Lengt h: URL: TT5100- JEE7 5 days View Online Mastering JEE 7 Web Application Development is a five-day hands-on JEE / Java EE training course
More informationJBoss SOAP Web Services User Guide. Version: M5
JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...
More informationAdvanced Java Programming
Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In
More informationReview of Previous Lecture
Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose
More informationLesson 14 SOA with REST (Part I)
Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)
More informationIntroduction to JSP and Servlets Training 5-days
QWERTYUIOP{ Introduction to JSP and Servlets Training 5-days Introduction to JSP and Servlets training course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationJava EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect
Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not
More informationJava EE 6: Develop Business Components with JMS & EJBs
Oracle University Contact Us: + 38516306373 Java EE 6: Develop Business Components with JMS & EJBs Duration: 4 Days What you will learn This Java EE 6: Develop Business Components with JMS & EJBs training
More informationProjects. How much new information can fit in your brain? Corporate Trainer s Profile TECHNOLOGIES
Corporate Solutions Pvt. Ltd. How much new information can fit in your brain? Courses Core Java+Advanced Java+J2EE+ EJP+Struts+Hibernate+Spring Certifications SCJP, SCWD, SCBCD, J2ME Corporate Trainer
More informationKINGS COLLEGE OF ENGINEERING 1
KINGS COLLEGE OF ENGINEERING Department of Computer Science & Engineering Academic Year 2011 2012(Odd Semester) QUESTION BANK Subject Code/Name: CS1401-Internet Computing Year/Sem : IV / VII UNIT I FUNDAMENTALS
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and
More informationCS506 Web Design & Development Final Term Solved MCQs with Reference
with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar
More informationA Gentle Introduction to Java Server Pages
A Gentle Introduction to Java Server Pages John Selmys Seneca College July 2010 What is JSP? Tool for developing dynamic web pages developed by SUN (now Oracle) High-level abstraction of Java Servlets
More information(9A05803) WEB SERVICES (ELECTIVE - III)
1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available
More informationCourse title: ADVANCED WEB TECHNOLOGIES AND SERVICES
Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES Lecturers Full Prof. Dragutin Kermek, Ph.D., Matija Novak, M.Inf. Language of Croatian and English instruction: Schedule: 90 teaching hours - 15 hours
More informationComponent-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D)
Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 26 Java Enterprise (Part D) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo J2EE Application
More informationAppendix C WORKSHOP. SYS-ED/ Computer Education Techniques, Inc.
Appendix C WORKSHOP SYS-ED/ Computer Education Techniques, Inc. 1 Preliminary Assessment Specify key components of WSAD. Questions 1. tools are used for reorganizing Java classes. 2. tools are used to
More informationMASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M
MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M COURSE OBJECTIVES Enable participants to develop a complete web application from the scratch that includes
More information2017, IBM Corporation Liberty z/os Good Practices. WebSphere Liberty z/os Applications and Application Deployment
WebSphere Liberty z/os Applications and Application Deployment 1 Objective of this Presentation Provide an understanding of the application types supported by Liberty Provide a general understanding of
More informationOracle FLEXCUBE Universal Banking 12.0 Interface Getting started. Release 1.0
Universal Banking 12.0 Interface Getting started Release 1.0 May 2012 Contents 1 Preface... 3 1.1 Audience... 3 1.2 Related documents... 3 1.3 Conventions... 3 2 Introduction... 4 2.1 How to use this Guide...
More informationOSGi on the Server. Martin Lippert (it-agile GmbH)
OSGi on the Server Martin Lippert (it-agile GmbH) lippert@acm.org 2009 by Martin Lippert; made available under the EPL v1.0 October 6 th, 2009 Overview OSGi in 5 minutes Apps on the server (today and tomorrow)
More informationUNIT -I PART-A Q.No Question Competence BTL
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-60303. Department of Information Technology Academic Year: 06-07 QUESTION BANK- ODD SEMESTER Name of the Subject Subject Code Semester Year Department
More informationJava SE7 Fundamentals
Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various
More informationThe Next Generation. Prabhat Jha Principal Engineer
The Next Generation Prabhat Jha Principal Engineer What do you wish you had in an Open Source JEE Application Server? Faster Startup Time? Lighter Memory Footprint? Easier Administration? 7 Reasons To
More informationApplication Protocols and HTTP
Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due
More informationContents at a Glance
Contents at a Glance 1 Java EE and Cloud Computing... 1 2 The Oracle Java Cloud.... 25 3 Build and Deploy with NetBeans.... 49 4 Servlets, Filters, and Listeners... 65 5 JavaServer Pages, JSTL, and Expression
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 informationServices Oriented Architecture and the Enterprise Services Bus
IBM Software Group Services Oriented Architecture and the Enterprise Services Bus The next step to an on demand business Geoff Hambrick Distinguished Engineer, ISSW Enablement Team ghambric@us.ibm.com
More informationWriting Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.
Preface p. xiii Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. 11 Creating the Deployment Descriptor p. 14 Deploying Servlets
More informationNetBeans IDE Field Guide
NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2
More informationData Management in Application Servers. Dean Jacobs BEA Systems
Data Management in Application Servers Dean Jacobs BEA Systems Outline Clustered Application Servers Adding Web Services Java 2 Enterprise Edition (J2EE) The Application Server platform for Java Java Servlets
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Sco2 Shenker and John Janno6 Administrivia HW3 out today Will cover HTTP, DNS, TCP TCP Milestone II coming up on Monday Make sure you sign
More informationCustomizing a Packaged Application for a J2EE Environment: A Case Study. Leslie Tierstein TopTier Consulting, Inc.
Customizing a Packaged Application for a J2EE Environment: A Case Study Leslie Tierstein TopTier Consulting, Inc. 1 Overview (1) Learning experiences in a J2EE Environment The environment Deployment of
More informationOverview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36
Communication address calls class client communication declarations implementations interface java language littleendian machine message method multicast network object operations parameters passing procedure
More informationHttpServlet ( Class ) -- we will extend this class to handle GET / PUT HTTP requests
What is the servlet? Servlet is a script, which resides and executes on server side, to create dynamic HTML. In servlet programming we will use java language. A servlet can handle multiple requests concurrently.
More informationWeb Services & Axis2. Architecture & Tutorial. Ing. Buda Claudio 2nd Engineering Faculty University of Bologna
Web Services & Axis2 Architecture & Tutorial Ing. Buda Claudio claudio.buda@unibo.it 2nd Engineering Faculty University of Bologna June 2007 Axis from SOAP Apache Axis is an implementation of the SOAP
More informationSession 12. RESTful Services. Lecture Objectives
Session 12 RESTful Services 1 Lecture Objectives Understand the fundamental concepts of Web services Become familiar with JAX-RS annotations Be able to build a simple Web service 2 10/21/2018 1 Reading
More informationFINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar
FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar www.vuhelp.pk Solved MCQs with reference. inshallah you will found it 100% correct solution. Time: 120 min Marks:
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 informationActive Endpoints. ActiveVOS Platform Architecture Active Endpoints
Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use
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 informationCOWLEY COLLEGE & Area Vocational Technical School
COWLEY COLLEGE & Area Vocational Technical School COURSE PROCEDURE FOR ADVANCED JAVA PROGRAMMING CIS1870 3 Credit Hours Student Level: This course is open to students on the college level in either freshman
More information1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master
Oracle 1Z0-864 Java Enterprise Edition 5 Enterprise Architect Certified Master Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-864 Answer: A, C QUESTION: 226 Your company is bidding
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 informationSUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :
SUN 310-052 Sun Certified Enterprise Architect for J2EE 5 Download Full Version : http://killexams.com/pass4sure/exam-detail/310-052 combination of ANSI SQL-99 syntax coupled with some company-specific
More informationWAS: WebSphere Appl Server Admin Rel 6
In order to learn which questions have been answered correctly: 1. Print these pages. 2. Answer the questions. 3. Send this assessment with the answers via: a. FAX to (212) 967-3498. Or b. Mail the answers
More informationJava EE Architecture, Part Two. Java EE architecture, part two 1
Java EE Architecture, Part Two Java EE architecture, part two 1 Content Requirements on the Business layer Framework Independent Patterns Transactions Frameworks for the Business layer Java EE architecture,
More information[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java.
[Course Overview] The Core Java technologies and application programming interfaces (APIs) are the foundation of the Java Platform, Standard Edition (Java SE). They are used in all classes of Java programming,
More informationJavaEE.Next(): Java EE 7, 8, and Beyond
JavaEE.Next(): Java EE 7, 8, and Beyond Reza Rahman Java EE/GlassFish Evangelist Reza.Rahman@Oracle.com @reza_rahman 1 The preceding is intended to outline our general product direction. It is intended
More informationCS 43: Computer Networks. HTTP September 10, 2018
CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.
More informationCourses For Event Java Advanced Summer Training 2018
Courses For Event Java Advanced Summer Training 2018 Java Fundamentals Oracle Java SE 8 Advanced Java Training Java Advanced Expert Edition Topics For Java Fundamentals Variables Data Types Operators Part
More informationBIG-IP Access Policy Manager : Portal Access. Version 13.0
BIG-IP Access Policy Manager : Portal Access Version 13.0 Table of Contents Table of Contents Overview of Portal Access...7 Overview: What is portal access?...7 About portal access configuration elements...
More informationIntroduc)on to Computer Networks
Introduc)on to Computer Networks COSC 4377 Lecture 3 Spring 2012 January 25, 2012 Announcements Four HW0 s)ll missing HW1 due this week Start working on HW2 and HW3 Re- assess if you found HW0/HW1 challenging
More informationBIG-IP Access Policy Manager : Portal Access. Version 12.1
BIG-IP Access Policy Manager : Portal Access Version 12.1 Table of Contents Table of Contents Overview of Portal Access...7 Overview: What is portal access?...7 About portal access configuration elements...7
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 information