4! Technology Evolution! for Web Applications
|
|
|
- Sherilyn Higgins
- 10 years ago
- Views:
Transcription
1 4 Technology Evolution for Web Applications 4.1 Web Programming with JavaScript Distributed Applications with JavaScript and Node Server-Side JavaScript with Node and Express Trends in Web Programming 4.2 Web Programming with Java Literature: N. Chapman, J. Chapman: JavaScript on the Server Using Node.js and Express, MacAvon Media 2014 (Ebook 6) J.R. Wilson: Node.js the Right Way, Practical, Server-Side JavaScript that Scales, Pragmatic Bookshelf 2014 (Ebook 8.50) 1
2 JavaScript: Full-Fledged Programming Language 1995 (Brendan Eich, Netscape): Mocha/LiveScript/JavaScript Java for demanding Web programs JavaScript for simple browser interactivity Hybrid language (procedural/functional/object-oriented): Expressions, statements inherited from C First class functions inherited from Scheme Object prototypes (instead of classes) inherited from Self Growing attention on JavaScript since approx DOM tree manipulation since 2000 Simplified DOM manipulations by JavaScript Libraries (e.g. JQuery 2006) AJAX applications through XMLHttpRequest object (2004) High-speed execution engines Continuing trend Client-side Web frameworks, see later 2
3 Node.js Stand-alone JavaScript interpreter and runtime system Ryan Dahl 2009 Based on V8 execution engine (developed for Chrome) Key feature: Asynchronous, non-blocking I/O operations Single-threaded fast event loop I/O handling based on callback functions only Targeted for distributed programs Handling requests from many clients Exchanging data between programs Exchanging data between servers Basis for fast Web server software Supports modular JavaScript software Easily extensible using Node Package Manager (NPM) 3
4 I/O Blocking And Restaurant Counters 4
5 Question When do you feel on such a restaurant counter (or in any other queue) that the process could be sped up? Assuming we do not add resources, so we just want to optimize 5
6 Blocking (Synchronous) I/O Model One thread per request Example: Apache with PHP 6
7 Non-Blocking (Asynchronous) I/O Model One thread serving multiple requests Example: Node.js 7
8 JavaScript Detour: Modules Module: Separate piece of code, to be used in other code JavaScript modules: Not existent in currently used version (ECMAScript 5) To be added in ECMAScript 6 ("Harmony") Node.js provides a simple proprietary module system Modules are JavaScript (.js) files Module code assigns functions to a special variable (export) Using a module: require(modulename) function var PI = Math.PI; exports.area = function (r) { return PI * r * r; }; exports.circumference = function (r) { return 2 * PI * r; }; var circle = require('./circle.js'); console.log( 'The area of a circle of radius 4 is ' + circle.area(4)); node/circle.js node/circleuse.js 8
9 Network I/O in Node: Echo Server var net = require('net'); var server = net.createserver(function(c){ console.log('server connected'); c.on('end', function() { console.log('server disconnected'); }); c.write('hello, here is the echo server\r\n'); c.on('data', function(data) { c.write('echoserver-> '+data); // shorter: c.pipe(c) }); }); server.listen(8124, function() { console.log('server bound'); }); emitter.on(event, listener) Adds a listener to the end of the listeners array for the specified event. 9
10 Echo Server Demo Heinrichs-MacBook-Pro:node hussmann$ node echoserver.js server bound server connected server disconnected ^CHeinrichs-MacBook-Pro:node hussmann$ Heinrichs-MacBook-Pro:~ hussmann$ telnet localhost 8124 Trying Connected to localhost. Escape character is '^]'. hello, here is the echo server Test input echoserver-> Test input ^] telnet> ^C Heinrichs-MacBook-Pro:~ hussmann$ 10
11 4 Technology Evolution for Web Applications 4.1 Web Programming with JavaScript Distributed Applications with JavaScript and Node Server-Side JavaScript with Node and Express Trends in Web Programming 4.2 Web Programming with Java Literature: N. Chapman, J. Chapman: JavaScript on the Server Using Node.js and Express, MacAvon Media 2014 (Ebook 6) 11
12 Trivial Web Server Based on Node var http = require('http'); var fs = require('fs'); var filename = 'simple.html'; http.createserver(function (request, response) { response.writehead(200, {'Content-Type': 'text/html'} ); var filestream = fs.createreadstream(filename); filestream.pipe(response); }).listen(8124); console.log('server running at 12
13 Question What about the port numbers? Why are we using strange large numbers like 8124? Shouldn't we be using 80 for a Web server? 13
14 Express: Server-Side Web Application Framework "Full-Stack" frameworks for Web applications (in terms of the Model-View-Controller [MVC] paradigm): Model: Manage data View: Present data in HTML Controllers: Co-ordinate input and output Full-stack frameworks exist for other languages, e.g. Rails for Ruby, Django for Python, CodeIgniter for PHP Express: Currently most popular framework for the Node platform Limited in the "model" aspect of MVC Using Express: "Generators": produce file structures and source code templates Here: Avoiding generators for the first step, to understand the principles 14
15 Trivial Web Server Based on Express var express = require('express'); var app = express(); app.get('/', function (request, response) { response.send('hello World from first Express example') }).listen(3000); console.log('application created'); node/exapp0/app.js Steps required: Create directory for application Create dependency file "package.json" (using utility npm init) Install app using npm install express save Save application code in file "app.js" (in resp. directory) Execute node app.js 15
16 Accessing a (NoSQL) Database from Node var express = require('express'); var mongo = require('mongodb').mongoclient; var app = express(); var dburl = 'mongodb://localhost:27017/music'; app.get('/', function (request, response) { var reqtitle = request.query.title; comsole.log("the title given was: "+reqtitle); mongo.connect(dburl, function(err, db) { var collection = db.collection('mysongs'); var rescursor = collection.find({title: reqtitle}); Processing query results db.close(); }); }).listen(3000); 16
17 4 Technology Evolution for Web Applications 4.1 Web Programming with JavaScript Distributed Applications with JavaScript and Node Server-Side JavaScript with Node and Express Trends in Web Programming 4.2 Web Programming with Java Literature: N. Chapman, J. Chapman: JavaScript on the Server Using Node.js and Express. MacAvon Media 2014 (Ebook 6) J. Dickey: Write Modern Web Apps With the MEAN Stack (Mongo, Express, AngularJS, and NodeJS). Peachpit Press
18 Template Engines How to create HTML code from a pure program running on the server? Support needed for HTML low-level syntax (angle brackets etc.) HTML structure (tag level) Traditional approach: HTML page with embedded server-side scripts Supported e.g. by PHP Also supported by variants of server-side JavaScript (e.g. Embedded Java Script style of Node.js) More radical approach: Make HTML syntax tree a data structure on the server Current fashion: "Jade templating engine" 18
19 Examples of Jade Templates doctype html html head title= title link(rel='stylesheet', href='/stylesheets/style.css') body block content layout.jade songlist.jade extends layout block content h1. Song List ul each song, i in songlist li song.title 19
20 Thin and Thick Clients Thick clients (old style): Traditional client.side programs Need to be installed, updated, maintained Thin clients (old style): Client contains basic virtual machine (e.g. based on Java Byte Code) Client loads all software from server Thin clients (modern style) e.g. NodeJS/Express: Client runs Web browser (with JavaScript) Logic is distributed between client and server Client gets HTML code with embedded JavaScript from server Thick clients (modern style): Client runs JavaScript engine (in Web browser or OS e.g. ChromeOS) Client loads large JavaScript code when starting application Client communicates with server asynchronously» AJAX style on client, Node style on server 20
21 Client-Side JavaScript Frameworks Architecture based on Model-View-Controller ("MV* architecture") Event-driven logic Three popular examples: AngularJS (2009):» Two-way data bindings» Dependency injection» Google sponsored Backbone.js (2010):» Lightweight framework, still having essential features Ember (2007):» OriginallySproutCore» Partially developed by Apple 21
22 jquery vs. Angular, jquery Version jquery: Mainly declarative Apply JavaScript to manipulate DOM tree "Progressive-enhancement" Web paradigm: Augmenting static HTML with dynamic features Angular: Mainly declarative Page structure integrates static and dynamic aspects jquery: <ul> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ul> <button id='foo'>add Item</button> $('#foo').click(function(){ $('#ul').append('<li>item 4</li>'); }); 22
23 jquery vs. Angular, Angular Version View (HTML-like): <ul ng-controller='list-ctrl'> <li ng-repeat='item in list_items'>{{item}}</li> </ul> <button ng-click='addlistitem()'>add Item</button> Controller: angular.module('app').controller('list-ctrl', function($scope) { $scope.list_items = [ 'Item 1', 'Item 2', 'Item 3' ]; $scope.addlistitem = function() { $scope.list_items.push('item 4'); }); }); 23
24 4 Technology Evolution for Web Applications 4.1 Web Programming with JavaScript 4.2 Web Programming with Java Client-Side Java: Applets Server-Side Java: Servlets Java-Based Markup: Java Server Pages (JSP) and Java Server Faces (JSF) 24
25 Example: Hello-World Applet (1) Applet = small application Here: Java program, embedded in HTML page Class for applet derived from Applet Calls paint method Redefining the paint method = executed when painting display import java.applet.applet; import java.awt.graphics; public class HelloWorldApplet extends Applet { public void paint(graphics g) { g.setfont(new Font("SansSerif", Font.PLAIN, 48)); g.drawstring("hello world", 50, 50); } } 25
26 Example: Hello-World Applet HTML5 <html> <head> <title> Hello World </title> </head> <body> Deprecated HTML: <applet> The Hello-World example applet is called: <br> <object type="application/x-java-applet" height="100" width="400"> <param name="code" value="helloworldapplet" / > </object> </body> </html> Executes "HelloWorldApplet.class" java/applets/helloworldnew.html 26
27 Parameter Passing in HTML Applet: public class HelloWorldAppletParam extends Applet { public void paint(graphics g) { String it = getparameter("insertedtext"); g.setfont(new Font("SansSerif", Font.PLAIN, 48)); g.drawstring("hello "+it+" world", 50, 50); } } HTML: <html>... <br> <object type="application/x-java-applet" height="100" width="800"> <param name="code" value="helloworldappletparam" /> <param name="insertedtext" value="wonderful" /> Java Applets not supported. </object>... </html> This is modern HTML5. Java/Applets/HelloWorldParamNew.html 27
28 User Interaction in Applets Applets are able to react to user input Define an event handler Register during applet initialization (init()) Applets are executed locally, and therefore have full access to local input Mouse movements, key press, This is not possible with server-side code Applets can make use of graphics libraries For instance Java 2D This is not easily possible with server-side code Java/Applets/ClickMe.html 28
29 Organisation of Bytecode Files <object> and <applet> tags allow Declaration of a "codebase" directory (attribute codebase) Declaration of a Java archive (JAR) file (attribute archive) Advantages of codebase: Java bytecode concentrated at one location Fits with Java file conventions Advantages of archives: Less files, less HTTP connections, better performance Lower bandwidth requirements due to (LZW) compression Cubic.html 29
30 Applets and Security "Sandbox security": An applet is not allowed to Open network connections (except of the host from which it was loaded) Start a program on the client Read or write files locally on the client Load libraries Call "native" methods (e.g. developed in C) "Trusted" Applets Installed locally on the client, or Digitally signed and verified Such applets may get higher permissions, e.g. for reading/writing files Execution of applets from locally loaded files is restricted Recent addition Therefore, avoid local loading for tests 30
31 Advantages and Disadvantages of Java Applets Advantages: Interaction Graphics programming No network load created during local interactions Executed decentrally good scalability Disadvantages: Dependencies on browser type, browser version, Java version» Persisting problem, leading to many incompatibilities, including recent Java 7 problems Debugging is problematic Java-related security problems (sandbox breaches) siliconrepublic.com 31
32 Typical Security Precautions 32
33 4 Technology Evolution for Web Applications 4.1 Web Programming with JavaScript 4.2 Web Programming with Java Client-Side Java: Applets Server-Side Java: Servlets Java-Based Markup: Java Server Pages (JSP) and Java Server Faces (JSF) Literature:
34 Basic Principle: Server-Side Execution 1. User fills form 2. Form is sent as HTTP request to server 3. Server determines servlet program and executes it 4. Servlet computes response as HTML text 5. Response is sent to browser 6. Response, as generated by servlet, is displayed in browser 34
35 Java Servlets Java Servlet Specification (JSS): Part of Java Enterprise Edition (EE) First version: 1996 (Java: 1995) Current version: 3.1 (May 2013, with Java EE 7) Java Server Pages: Java Server Faces: 2001 (Version 2.2: May 2013) Reference implementation for a servlet container : GlassFish (Oracle) Other well-known Java EE servers: Apache Tomcat (Catalina), BEA Weblogic (now Oracle), JBoss, jetty Basic principle very similar to PHP: Web server calls (Java) servlet code on request from client Servlet computes text response to client» HTML page or data to be used in AJAX requests 35
36 Example: Hello-World Servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html>"); out.println("<head>"); out.println("<title>hello World</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>hello World</h1>"); out.println("</body>"); out.println("</html>"); } } 36
37 File Structure for Deployment Meta information Web application archive: single archive file with.war extension () <?xml version="1.0" encoding="iso "?> <DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " <web-app> <display-name>my little Date Application</display-name> <description> Small demo example, by Heinrich Hussmann, LMU. </description> <context-param> <param-name>webmaster</param-name> <description> The address of the administrator. </description> </context-param> <servlet> <servlet-name>mydate</servlet-name> <description> Example servlet for lecture </description> <servlet-class>mydate</servlet-class> </servlet> <servlet-mapping> <servlet-name>mydate</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> <-- 30 minutes --> </session-config> </web-app> 37
38 4 Technology Evolution for Web Applications 4.1 Web Programming with JavaScript 4.2 Web Programming with Java Client-Side Java: Applets Server-Side Java: Servlets Java-Based Markup: Java Server Pages (JSP) and Java Server Faces (JSF) Literature: M. Kurz, M. Marinschek: Java Server Faces 2.2, dpunkt, 3. Auflage
39 Introductory Example: Java Server Page (JSP) HTML page with current date/time <html> <% String title = "Date JSP"; %> <head><title> <%=title%> </title></head> <body> <h1> <%=title%> </h1> <p>current time is: <% java.util.date now = new GregorianCalendar().getTime(); %> <%=now%></p> </body></html> Basic idea for Java Server Pages: Scripts embedded in HTML ("Scriptlets") Automatic translation into Java Servlet code Java HTML 39
40 Java Server Pages und Servlets Life of a JSP as sequence diagram: Client JSP-Server xyz.jsp Translation to Servlet on first request (or pre-compiled installation) xyz.jsp install compile xyz-servlet res1 start res1 res1: HTML xyz.jsp res2 start res2 res2: HTML 40
41 JSP Script Elements Declarations Syntax:<% declarations %> < j s p : d e c l a r a t i o n > declarations </jsp:declaration> Example: <% String title = "Date JSP"; %> Is translated into instance variable of generated class, i.e. visible in all methods of the class. Anweisungen (Scriptlets) Syntax:<% commands %> < j s p : s c r i p t l e t > commands </jsp:scriptlet> Example: <% java.util.date now = new G r e g o r i a n C a l e n d a r ( ). g e t T i m e ( ) ; %> Local variables are not visible in other methods. Expressions Syntax: <%= expression %> < j s p : e x p r e s s i o n > expression </jsp:expression> Example: <%= now %> Equivalent to <% out.print(now); %> 41
42 Generated Servlet Code (Excerpt) <html> <% String title = "Date JSP"; %> <head> <title> <%=title%> </title> </head> <body> <h1> <%=title%> </h1> <p>current time is: <% java.util.date now = new GregorianCalendar().getTime(); %> <%=now%> </body> </html>... out.write("\r\n"); out.write("\t<body>\n"); out.write("\t\t<h1> "); out.print(title); out.write(" </h1>\n"); out.write("\t\t<p>current time is:\n"); out.write("\t\t\t"); java.util.date now = new GregorianCalendar().getTime(); out.write("\n"); out.write("\t\t\t"); out.print(now); out.write("\n"); 42
43 Java Server Faces (JSF) Java framework for building Web applications Latest version 2.2 (2013)» 2.0 was a heavy update to previous version JSF can be used together with JSP (and other technologies), but also as a separate tool for creating dynamic Web applications JSF is likely to replace JSP in the future One single servlet: FacesServlet loads view template builds component tree mirroring UI components processes events renders response to client (mostly HTML) JSF follows a strict Model-View-Controller (MVC) architecture 43
44 Counter with JSF s MVC Architecture Request JSF Servlet Response UI Component Tree Backing Bean =Controller (Java) Model (Java) JSF View (HTML+JSF) 44
45 What Is a JavaBean? JavaBeans is a software component model for Java Not to be confused with Enterprise Java Beans (EJBs) Software components: Units of software which can be stored, transmitted, deployed, configured, executed without knowing the internal implementation Main usage: Tools for composing components Driver for JavaBeans technology: User Interfaces AWT and Swing components are JavaBeans GUI editing tools instantiate and configure JavaBeans Main properties of a JavaBean: Has a simple constructor without parameters Provides public getter and setter methods for its properties: getprop, setprop (no setter = read-only) Is serializable Supports listener mechanism for property changes» Bound properties: provide listener for changes» Constrained properties: allow listeners to veto on changes 45
46 JavaBeans in JSP: Action usebean Syntax of usebean Aktion: <jsp:usebean id=localname class=classname scope=scopedefn /> scope: "page (current page), "request" (current request); "session" (current session), "application" (full application) Reading properties: <jsp:getproperty name=localname property=propertyname/> Writing properties: <jsp:setproperty name=localname property=propertyname/> value=valueasstring <jsp:getproperty name="counter" property="current"/> is equivalent to: <%=counter.getcurrent();%> 46
47 Counter as JavaBean (1) package counter; import java.beans.*; public class Counter extends Object implements java.io.serializable { private static final String PROP_CURRENT = "current"; private static final String PROP_START_VALUE = "start value"; private static final String PROP_INCR_VALUE = "incr value"; private static final String PROP_ENABLED = "enabled"; private int count; private int startvalue; private int incrvalue; private boolean enabled; private PropertyChangeSupport propertysupport; public Counter() { propertysupport = new PropertyChangeSupport ( this ); startvalue = 0; incrvalue = 1; reset(); enabled = true; } 47
48 Counter as JavaBean (2) public int getcurrent () { return count; } public int getstartvalue () { return startvalue; } public void setstartvalue (int value) { int oldstartvalue = startvalue; startvalue = value; propertysupport.firepropertychange (PROP_START_VALUE, oldstartvalue, startvalue); } public int getincrvalue () { return incrvalue; } public void setincrvalue (int value) { int oldincrvalue = incrvalue; incrvalue = value; propertysupport.firepropertychange (PROP_INCR_VALUE, oldincrvalue, incrvalue); } 48
49 Example: View for Counter <DOCTYPE html> <html lang="en" xmlns:f=" xmlns:h=" xmlns:ui=" <h:head> <title>counter with Java Server Faces</title> </h:head> <h:body> <h2>counter with JSF</h2> <h:form> <h:panelgrid columns="2"> <h:outputlabel for="ctrvalue">counter value = </h:outputlabel> JSF Expression Language (Extension of JSP-EL) <h:outputtext id="ctrvalue" value="#{countercontroller.counterbean.count}"/> <h:commandbutton value="count" action="#{countercontroller.submitcount}" /> <h:commandbutton value="reset" action="#{countercontroller.submitreset}" /> </h:panelgrid> </h:form> </h:body> </html> counter.jsf (or.xhtml) 49
50 Example: Controller for Counter (1) package counter; Bean instance name is automatically created from import javax.faces.bean.managedbean; import javax.faces.bean.viewscoped; class name (by making lowercase the public class CounterController implements java.io.serializable { private static final long serialversionuid = 11L; private CounterBean counter; public CounterController() { counter = new CounterBean(); }... 50
51 Example: Controller for Counter (2)... } public void submitcount() { counter.count(); } public void submitreset() { counter.reset(); } public CounterBean getcounterbean() { return counter; } 51
52 Advantages of JSF Clean separation of concerns View (JSF/HTML) just specifies appearance» View contains markup only (+references to beans) Model is clearly separated» Usually, access to persistence layers, databases etc. Usage of controller is enforced» Controller is simple Java Bean JSF is fully integrated into Java EE architecture Supports load sharing, transactions etc. JSF Tag Libraries Extensibility, variations in authoring style 52
53 AJAX Support in JSF Special tag in JSF Core Library: <f:ajax> Ajax tag modifies reaction of components in which it is embedded XMLHttpRequest instead of browser-global request updating the view Example: <h:inputtext...> <f:ajax event="valuechange" execute="handler" render= /> </h:inputtext> On value change event (input into text field), specified handler is called on the server, of course (= asynchronous handling of input) The render attribute can be used to specify the components to be updated after event processing For instance by specifying document parts using id s 53
4 Technology Evolution for Web Applications
4 Technology Evolution for Web Applications 4.1 Current Trend: Server-Side JavaScript 4.1.1 Distributed Applications with JavaScript and Node 4.1.2 Server-Side JavaScript with Node and Express 4.2 Current
Web Container Components Servlet JSP Tag Libraries
Web Application Development, Best Practices by Jeff Zhuk, JavaSchool.com ITS, Inc. [email protected] Web Container Components Servlet JSP Tag Libraries Servlet Standard Java class to handle an HTTP request
Glassfish, JAVA EE, Servlets, JSP, EJB
Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,
Java EE Introduction, Content. Component Architecture: Why and How Java EE: Enterprise Java
Java EE Introduction, Content Component Architecture: Why and How Java EE: Enterprise Java The Three-Tier Model The three -tier architecture allows to maintain state information, to improve performance,
GUI and Web Programming
GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
Controlling Web Application Behavior
2006 Marty Hall Controlling Web Application Behavior The Deployment Descriptor: web.xml JSP, Servlet, Struts, JSF, AJAX, & Java 5 Training: http://courses.coreservlets.com J2EE Books from Sun Press: http://www.coreservlets.com
Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect
Server-Side JavaScript auf der JVM 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 be
Course Number: IAC-SOFT-WDAD Web Design and Application Development
Course Number: IAC-SOFT-WDAD Web Design and Application Development Session 1 (10 Hours) Client Side Scripting Session 2 (10 Hours) Server Side Scripting - I Session 3 (10 hours) Database Session 4 (10
Web Application Architecture (based J2EE 1.4 Tutorial)
Web Application Architecture (based J2EE 1.4 Tutorial) 1 Disclaimer & Acknowledgments Even though Sang Shin is a full-time employee of Sun Microsystems, the contents here are created as his own personal
CSC 551: Web Programming. Spring 2004
CSC 551: Web Programming Spring 2004 Java Overview Design goals & features platform independence, portable, secure, simple, object-oriented, Programming models applications vs. applets vs. servlets intro
NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013
NoSQL web apps w/ MongoDB, Node.js, AngularJS Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013 About us Passionate (web) dev. since fallen in love with Sinclair ZX Spectrum Academic background in natural
Modern Web Development From Angle Brackets to Web Sockets
Modern Web Development From Angle Brackets to Web Sockets Pete Snyder Outline (or, what am i going to be going on about ) 1.What is the Web? 2.Why the web matters 3.What s unique about
JSP Java Server Pages
JSP - Java Server Pages JSP Java Server Pages JSP - Java Server Pages Characteristics: A way to create dynamic web pages, Server side processing, Based on Java Technology, Large library base Platform independence
Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB
September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets
Web Development in Java Live Demonstrations (Live demonstrations done using Eclipse for Java EE 4.3 and WildFly 8)
Web Development in Java Live Demonstrations (Live demonstrations done using Eclipse for Java EE 4.3 and WildFly 8) Java Servlets: 1. Switch to the Java EE Perspective (if not there already); 2. File >
7 Web Databases. Access to Web Databases: Servlets, Applets. Java Server Pages PHP, PEAR. Languages: Java, PHP, Python,...
7 Web Databases Access to Web Databases: Servlets, Applets Java Server Pages PHP, PEAR Languages: Java, PHP, Python,... Prof. Dr. Dietmar Seipel 837 7.1 Access to Web Databases by Servlets Java Servlets
ACM Crossroads Student Magazine The ACM's First Electronic Publication
Page 1 of 8 ACM Crossroads Student Magazine The ACM's First Electronic Publication Crossroads Home Join the ACM! Search Crossroads [email protected] ACM / Crossroads / Columns / Connector / An Introduction
Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.
Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company
Server-Side Web Development JSP. Today. Web Servers. Static HTML Directives. Actions Comments Tag Libraries Implicit Objects. Apache.
1 Pages () Lecture #4 2007 Pages () 2 Pages () 3 Pages () Serves resources via HTTP Can be anything that serves data via HTTP Usually a dedicated machine running web server software Can contain modules
Preface. Motivation for this Book
Preface Asynchronous JavaScript and XML (Ajax or AJAX) is a web technique to transfer XML data between a browser and a server asynchronously. Ajax is a web technique, not a technology. Ajax is based on
How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post
Understanding Architecture and Framework of J2EE using Web Application Devadrita Dey Sarkar,Anavi jaiswal, Ankur Saxena Amity University,UTTAR PRADESH Sector-125, Noida, UP-201303, India Abstract: This
Course Name: Course in JSP Course Code: P5
Course Name: Course in JSP Course Code: P5 Address: Sh No BSH 1,2,3 Almedia residency, Xetia Waddo Duler Mapusa Goa E-mail Id: [email protected] Tel: (0832) 2465556 (0832) 6454066 Course Code: P5 3i
ICON UK 2015 node.js for Domino developers. Presenter: Matt White Company: LDC Via
ICON UK 2015 node.js for Domino developers Presenter: Matt White Company: LDC Via September 2012 Agenda What is node.js? Why am I interested? Getting started NPM Express Domino Integration Deployment A
Getting Started Guide. Version 1.8
Getting Started Guide Version 1.8 Copyright Copyright 2005-2009. ICEsoft Technologies, Inc. All rights reserved. The content in this guide is protected under copyright law even if it is not distributed
Supplement IV.E: Tutorial for Tomcat. For Introduction to Java Programming By Y. Daniel Liang
Supplement IV.E: Tutorial for Tomcat For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Obtaining and Installing Tomcat Starting and Stopping Tomcat Choosing
Web Cloud Architecture
Web Cloud Architecture Introduction to Software Architecture Jay Urbain, Ph.D. [email protected] Credits: Ganesh Prasad, Rajat Taneja, Vikrant Todankar, How to Build Application Front-ends in a Service-Oriented
Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010
Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache
Introduction to J2EE Web Technologies
Introduction to J2EE Web Technologies Kyle Brown Senior Technical Staff Member IBM WebSphere Services RTP, NC [email protected] Overview What is J2EE? What are Servlets? What are JSP's? How do you use
Building Web Applications, Servlets, JSP and JDBC
Building Web Applications, Servlets, JSP and JDBC Overview Java 2 Enterprise Edition (JEE) is a powerful platform for building web applications. The JEE platform offers all the advantages of developing
Hello World Portlet Rendered with JSP for WebSphere Portal Version 4.1
1 of 11 16.10.2002 11:41 Hello World Portlet Rendered with JSP for WebSphere Portal Version 4.1 Table of Contents Creating the directory structure Creating the Java code Compiling the code Creating the
SSC - Web development Model-View-Controller for Java web application development
SSC - Web development Model-View-Controller for Java web application development Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics Java Server
Learning Web App Development
Learning Web App Development Semmy Purewal Beijing Cambridge Farnham Kbln Sebastopol Tokyo O'REILLY Table of Contents Preface xi 1. The Workflow 1 Text Editors 1 Installing Sublime Text 2 Sublime Text
www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk
CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling
Pentesting Web Frameworks (preview of next year's SEC642 update)
Pentesting Web Frameworks (preview of next year's SEC642 update) Justin Searle Managing Partner UtiliSec Certified Instructor SANS Institute [email protected] // @meeas What Are Web Frameworks Frameworks
Complete Java Web Development
Complete Java Web Development JAVA-WD Rev 11.14 4 days Description Complete Java Web Development is a crash course in developing cutting edge Web applications using the latest Java EE 6 technologies from
OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden
OUR COURSES 19 November 2015 Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden Java for beginners JavaEE EJB 3.1 JSF (Java Server Faces) PrimeFaces Spring Core Spring Advanced Maven One day intensive
Japan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2a Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
A Comparison of Open Source Application Development Frameworks for the Enterprise
A Comparison of Open Source Application Development Frameworks for the Enterprise Webinar on March 12, 2008 Presented by Kim Weins, Sr. VP of Marketing at OpenLogic and Kelby Zorgdrager, President of DevelopIntelligence
opalang - Rapid & Secure Web Development
opalang - Rapid & Secure Web Development Syllabus Brief History of Web Development Ideas and Goals The Language itself Community Reason for Development Services and Apps written in OPA Future of OPA OPA
Managed Beans II Advanced Features
2014 Marty Hall Managed Beans II Advanced Features Originals of Slides and Source Code for Examples: http://www.coreservlets.com/jsf-tutorial/jsf2/ Customized Java EE Training: http://courses.coreservlets.com/
IBM Rational Web Developer for WebSphere Software Version 6.0
Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,
Penetration from application down to OS
April 8, 2009 Penetration from application down to OS Getting OS access using IBM Websphere Application Server vulnerabilities Digitаl Security Research Group (DSecRG) Stanislav Svistunovich [email protected]
Web Applications. For live Java training, please see training courses at
2009 Marty Hall Using and Deploying Web Applications Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/msajsp.html Customized Java EE Training: http://courses.coreservlets.com/
Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology [email protected] Fall 2007
Internet Engineering: Web Application Architecture Ali Kamandi Sharif University of Technology [email protected] Fall 2007 Centralized Architecture mainframe terminals terminals 2 Two Tier Application
Web Service Development Using CXF. - Praveen Kumar Jayaram
Web Service Development Using CXF - Praveen Kumar Jayaram Introduction to WS Web Service define a standard way of integrating systems using XML, SOAP, WSDL and UDDI open standards over an internet protocol
Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON
Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, [email protected] Writing a custom web
CrownPeak Java Web Hosting. Version 0.20
CrownPeak Java Web Hosting Version 0.20 2014 CrownPeak Technology, Inc. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical,
A Tool for Evaluation and Optimization of Web Application Performance
A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 [email protected] Michael J. Donahoo 2 [email protected] Abstract: One of the main goals of web application
2012 LABVANTAGE Solutions, Inc. All Rights Reserved.
LABVANTAGE Architecture 2012 LABVANTAGE Solutions, Inc. All Rights Reserved. DOCUMENT PURPOSE AND SCOPE This document provides an overview of the LABVANTAGE hardware and software architecture. It is written
Web Programming II JSP (Java Server Pages) ASP request processing. The Problem. The Problem. Enterprise Application Development using J2EE
Enterprise Application Development using J2EE Shmulik London Lecture #6 Web Programming II JSP (Java Server Pages) How we approached it in the old days (ASP) Multiplication Table Multiplication
An introduction to web programming with Java
Chapter 1 An introduction to web programming with Java Objectives Knowledge Objectives (continued) The first page of a shopping cart application The second page of a shopping cart application Components
Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.
Web Frameworks web development done right Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.ssa Anna Corazza Outline 2 Web technologies evolution Web frameworks Design Principles
Web Application Programmer's Guide
Web Application Programmer's Guide JOnAS Team ( Florent BENOIT) - March 2009 - Copyright OW2 consortium 2008-2009 This work is licensed under the Creative Commons Attribution-ShareAlike License. To view
How To Build A Web App
UNCLASSIFIED Next Gen Web Architecture for the Cloud Era Chief Scientist, Raytheon Saturn 2013 28 Apr - 3 May Copyright (2013) Raytheon Agenda Existing Web Application Architecture SOFEA Lessons learned
Web-JISIS Reference Manual
23 March 2015 Author: Jean-Claude Dauphin [email protected] I. Web J-ISIS Architecture Web-JISIS Reference Manual Web-JISIS is a Rich Internet Application (RIA) whose goal is to develop a web top application
How To Write An Ria Application
Document Reference TSL-SES-WP-0001 Date 4 January 2008 Issue 1 Revision 0 Status Final Document Change Log Version Pages Date Reason of Change 1.0 Draft 17 04/01/08 Initial version The Server Labs S.L
DTS Web Developers Guide
Apelon, Inc. Suite 202, 100 Danbury Road Ridgefield, CT 06877 Phone: (203) 431-2530 Fax: (203) 431-2523 www.apelon.com Apelon Distributed Terminology System (DTS) DTS Web Developers Guide Table of Contents
INTRODUCTION TO WEB TECHNOLOGY
UNIT-I Introduction to Web Technologies: Introduction to web servers like Apache1.1, IIS, XAMPP (Bundle Server), WAMP Server(Bundle Server), handling HTTP Request and Response, installation of above servers
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,
Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T: 072 511 12 23
Microsoft SharePoint year SharePoint 2013: Search, Design and 2031 Publishing New SharePoint 2013: Solutions, Applications 2013 and Security New SharePoint 2013: Features, Delivery and 2010 Development
PG DAC. Syllabus. Content. Eligibility Criteria
PG DAC Eligibility Criteria Qualification 1. Engg Graduate in any discipline or equivalent (eg. BE/B.Tech/4 years B. Sc Engg./ AMIE/ AIETE / DoEACC B level etc). 2. PG in Engg. Sciences (eg. MCA / M.Sc.
Creating Java EE Applications and Servlets with IntelliJ IDEA
Creating Java EE Applications and Servlets with IntelliJ IDEA In this tutorial you will: 1. Create IntelliJ IDEA project for Java EE application 2. Create Servlet 3. Deploy the application to JBoss server
Agenda. Summary of Previous Session. Application Servers G22.3033-011. Session 3 - Main Theme Page-Based Application Servers (Part II)
Application Servers G22.3033-011 Session 3 - Main Theme Page-Based Application Servers (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical
Japan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2b Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
JavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
In this chapter, we lay the foundation for all our further discussions. We start
01 Struts.qxd 7/30/02 10:23 PM Page 1 CHAPTER 1 Introducing the Jakarta Struts Project and Its Supporting Components In this chapter, we lay the foundation for all our further discussions. We start by
Net-WMS FP6-034691. Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant
Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT Networked Businesses D.8.1 Networked architecture J2EE compliant ( Version 1 ) Due date of deliverable: June 30 th, 2007 Actual submission date:
Java and Web. WebWork
Java and Web WebWork Client/Server server client request HTTP response Inside the Server (1) HTTP requests Functionality for communicating with clients using HTTP CSS Stat. page Dyn. page Dyn. page Our
Introduction to Web Technologies
Secure Web Development Teaching Modules 1 Introduction to Web Technologies Contents 1 Concepts... 1 1.1 Web Architecture... 2 1.2 Uniform Resource Locators (URL)... 3 1.3 HTML Basics... 4 1.4 HTTP Protocol...
For Course Details, visit: http://ike.co.in/course/overview.pdf
IMBIBE KNOWLEDGE ENTERPRISE COURSES 1. Java Platform 1.1. Java (JSE) 1.2. Enterprise Java (JEE) 1.3. Java Micro Edition (JME) 1.4. Java Class Library 1.5. AWT & Swing 2..NET Platform 2.1. C# 2.2. VB.NET
IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience
IBM Digital Experience Using Modern Web Development Tools and Technology with IBM Digital Experience Agenda The 2015 web development landscape and IBM Digital Experience Modern web applications and frameworks
10CS73:Web Programming
10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server
Scalable and Efficient Web Application Architectures. Thin-clients and SQL vs. Thick-clients and NoSQL
Scalable and Efficient Web Application Architectures Thin-clients and SQL vs. Thick-clients and NoSQL Michael K. Gunnulfsen Master Thesis Spring 2013 Scalable and Efficient Web Application Architectures
AngularJS for the enterprise
Jan- Kees van Andel So0ware Architect, JPoint, @jankeesvanandel 1 1 What I always liked about programming 2 2 And it keeps getting better... 3 3 Also for the web 4 4 Not only games 5 5 And not only WebGL
Services. Custom Tag Libraries. Today. Web Development. Role-Based. Development. Code Reuse. Tag Libraries Custom Tags. Tag Lifecycle.
JSP, and JSP, and 1 JSP, and Custom Lecture #6 2008 2 JSP, and JSP, and interfaces viewed as user interfaces methodologies derived from software development done in roles and teams role assignments based
Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java
Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Oxford University Press 2007. All rights reserved. 1 C and C++ C and C++ with in-line-assembly, Visual Basic, and Visual C++ the
Implementing the Shop with EJB
Exercise 2 Implementing the Shop with EJB 2.1 Overview This exercise is a hands-on exercise in Enterprise JavaBeans (EJB). The exercise is as similar as possible to the other exercises (in other technologies).
What s New in IBM Web Experience Factory 8.5. 2014 IBM Corporation
What s New in IBM Web Experience Factory 8.5 2014 IBM Corporation Recent history and roadmap Web Experience Factory 8.0 2012 Multi-channel Client-side mobile Aligned with Portal 8 Developer productivity
CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
Pure server-side Web Applications with Java, JSP. Application Servers: the Essential Tool of Server-Side Programming. Install and Check Tomcat
Pure server-side Web Applications with Java, JSP Discussion of networklevel http requests and responses Using the Java programming language (Java servlets and JSPs) Key lesson: The role of application
YouTrack MPS case study
YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project
Server-Side Scripting and Web Development. By Susan L. Miertschin
Server-Side Scripting and Web Development By Susan L. Miertschin The OOP Development Approach OOP = Object Oriented Programming Large production projects are created by teams Each team works on a part
JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK
Programming for Digital Media EE1707 JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK 1 References and Sources 1. DOM Scripting, Web Design with JavaScript
Java with Eclipse: Setup & Getting Started
Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/
How To Write A Web Server In Javascript
LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client
Elements of Advanced Java Programming
Appendix A Elements of Advanced Java Programming Objectives At the end of this appendix, you should be able to: Understand two-tier and three-tier architectures for distributed computing Understand the
Java (12 Weeks) Introduction to Java Programming Language
Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short
The Learn-Verified Full Stack Web Development Program
The Learn-Verified Full Stack Web Development Program Overview This online program will prepare you for a career in web development by providing you with the baseline skills and experience necessary to
BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME
BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME System Analysis and Design S.Mohammad Taheri S.Hamed Moghimi Fall 92 1 CHOOSE A PROGRAMMING LANGUAGE FOR THE PROJECT 2 CHOOSE A PROGRAMMING LANGUAGE
Oracle Application Development Framework Overview
An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services
Building Web Services with Apache Axis2
2009 Marty Hall Building Web Services with Apache Axis2 Part I: Java-First (Bottom-Up) Services Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF/MyFaces/Facelets,
PowerTier Web Development Tools 4
4 PowerTier Web Development Tools 4 This chapter describes the process of developing J2EE applications with Web components, and introduces the PowerTier tools you use at each stage of the development process.
Java applets. SwIG Jing He
Java applets SwIG Jing He Outline What is Java? Java Applications Java Applets Java Applets Securities Summary What is Java? Java was conceived by James Gosling at Sun Microsystems Inc. in 1991 Java is
MEAN/Full Stack Web Development - Training Course Package
Brochure More information from http://www.researchandmarkets.com/reports/3301786/ MEAN/Full Stack Web Development - Training Course Package Description: This course pack features a detailed exploration
