CSCI 6962: Server-side Design and Programming Course Introduction and Overview.

Slides:



Advertisements
Similar presentations
 Copyright Wipro Technologies JSP Ver 1.0 Page 1 Talent Transformation Java Server Pages.
Advertisements

Languages for Dynamic Web Documents
Web applications using JavaServer Faces (JSF) A brief introduction 1JavaServer Faces (JSF)
DT211/3 Internet Application Development JSP: Processing User input.
Internet Technologies 1 Master of Information System Management Java Server Faces Model/View/Controller Design Pattern for Web Development Slides.
Servlets and a little bit of Web Services Russell Beale.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
IS 360 Course Introduction. Slide 2 What you will Learn (1) The role of Web servers and clients How to create HTML, XHTML, and HTML 5 pages suitable for.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
An Overview of Database Access on the Web An Overview of Database Access on the Web Using ASP and Microsoft Database Technology Sheffield Hallam University.
Apache Tomcat Server – installation & use Server-side language-- use Java Server Pages Contrast Client-side languages HTML Forms Servers & Server-side.
Introduction to Web Interface Technology (CSE2030)
Apache Tomcat Server Typical html Request/Response cycle
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Java Server Pages B.Ramamurthy. Java Server Pages Servlets are pure Java programs. They introduce dynamism into web pages by using programmatic content.
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
CSCI 6962: Server-side Design and Programming History and Background.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
INTRODUCTION TO WEB DATABASE PROGRAMMING
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
CSCI 6962: Server-side Design and Programming
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
CIS 285 ROBINSON WINTER 2005 CIS 285 Web Application Development with Java CIS 285 Sinclair Community College Instructor: Mary Robinson.
CSCI 6962: Server-side Design and Programming Introduction to AJAX.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
CSCI 6962: Server-side Design and Programming Validation Tools in Java Server Faces.
CSCI 6962: Server-side Design and Programming Support Classes and Shopping Carts.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
CSCI 6962: Server-side Design and Programming Introduction to Java Server Faces.
Web applications using JavaServer Faces (JSF) A brief introduction 1JavaServer Faces (JSF)
CSCI 6962: Server-side Design and Programming Web Services.
CSCI 6962: Server-side Design and Programming Introduction to Active Server Pages.
Chapter 8 Cookies And Security JavaScript, Third Edition.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
CSCI 6962: Server-side Design and Programming AJAX Tools in JSF and ASP.
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
Chapter 6 Server-side Programming: Java Servlets
1 Welcome to CSC 301 Web Programming Charles Frank.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflows can be triggered by inputs that are designed to execute code, or alter the way the program.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
CSCI 6962: Server-side Design and Programming Java Server Faces Scoping and Session Handling.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
CSCI 6962: Server-side Design and Programming JSF DataTables and Shopping Carts.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflow Analysis of Buffer Overflow Attacks.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Fall 2000C.Watters1 World Wide Web and E-Commerce Servers & Server Side Processing.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
MSIS 655 Advanced Business Applications Programming
Chapter 27 WWW and HTTP.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Web Application Development Using PHP
Presentation transcript:

CSCI 6962: Server-side Design and Programming Course Introduction and Overview

Topics Introduction to Client-Server Web Architectures Java Server Faces and Active Server Pages Problems and Topics in Server-side Programming Programming Assignments 2

3 Client-Server Web Architecture Client browser sends request for page to server –May contain form data and other information Server sends response page and sends to client May need to generate response page dynamically –Form parameters –Previous requests (such as items purchased so far) –Information in database Focus of this course

4 Client-Server Web Architecture Client Browser ~john/Syllabus.html Request to for Syllabus.html Server john  public_html port Response containing Syllabus.htm as a long string ( CSCI 6962 Syllabus …) Syllabus.html

5 Dynamic Form Handling Form data appended to request string Generates the request: <FORM NAME="purchaseform" METHOD=GET ACTION= bin/test.pl > bin/test.pl Quantity: /FORM>

6 Form Handling Server must: –Listen on port for requests –Parse request to determine values of parameters –Dynamically generate appropriate response page based on parameter values –Send response page back to client

7 Web Containers Program running continuously on server Runs code to handle requests Built-in methods for parsing requests, generating responses Handles other important functions: –Session tracking –Database access – generation –Security and encryption –…–…

8 Web Containers Client Browser Server Port Web Container Constantly running in background Listen on port Execute code in requested server page Generate corresponding html page cgi-bin response Thank you for your order of widgets!

9 Web Containers Glassfish –Written in Java –Built on Apache Tomcat –NetBeans IDE –Acts as engine for Java servlets, Java Server Pages and Java Server Faces Microsoft Internet Information Server (IIS) –Visual Basic/C# –Acts as engine for Active Server Pages

Server-side Evolution Servlets –Programmatically generating response page Server pages –Inserting dynamically generated code into web page –Goal: separate web design and dynamic code Server faces/Active server pages –Directly linking client-side form elements to server-side objects (JavaBeans) –Goal: separate web page development from underlying business logic 10

Java Servlets 11 Get quantity from request Create output to response Write response page as string to output with quantity inserted

12 Java Server Pages Java code executed inside web page Resulting value inserted into html

Java Server Faces Use managed beans to control information –Data storage between pages –Computation methods (total bill, taxes, etc.) –Validation methods (positive quantity, items available) –Long-term storage (database read/write of orders) 13 JSF web page JSF managed bean Web design team Business logic team

Java Server Faces 14 Bean stores quantity Getters and setters to allow access

Java Server Faces 15 XML tags specific to JSF Input bound to quantity property of bean

Java Server Faces 16 widgetBean quantity: 3 3

17 Active Server Pages Active Server Page approach: Create “form” which is translated to html

18 Active Server Pages Server-side code manipulates “form elements” –Subroutine called when page submitted –Data read from elements (actually request string) –Used to set value of other elements

19 Active Server Pages Resulting form translated to response page

Why Two Platforms Both widely used in practice –Other platforms (Springs, Ruby, etc.) based on JSF model Different approaches but common ideas –Same underlying representation –Same best practices for web site design 20

Other Major Topics Session management Modular web site design Validation and error handling Database manipulation AJAX client-server communication Security 21

22 Session Handling Most web transactions are sessions consisting of series of requests and responses Must associate steps if multiple clients Who submitted this request?

Modular Web Pages Most pages on same site have similar content, layout, etc. Goal: Write once, include in all pages Tools: –Facelets (Java) –Master Pages (ASP) 23

24 Form Validation Detecting user error –Built-in validation tools Correcting user error –Providing information or how to correct error Preventing user error –Field types/values –Error tolerance

25 Database Manipulation Database driver provides access to databases Built-in tools to manipulate/display data –JDBC: classes to query/manipulate database –Java Persistence API beans –ASP Data Source objects web container JPA bean JSF page database database driver JDBCDBMS database server

26 AJAX Asynchronous JavaScript and XML Based on JavaScript running in browser –JavaScript code sends data to server, reads response –Response is simple data instead of entire page –JavaScript code then modifies page without re-rendering it completely Method call Web Page Server Return value JavaScript

Web Site Security SSL/TLS for encryption Certificates for server authentication Secure programming against attacks –SQL injection –Cross-site scripting 27 Request Server Response Client Certificate database database server

Programming Assignments Introductory Assignments –Simple Java Server Faces web site –Simple Active Server Pages web site Web Site Project (four parts) –Modular user interface design –Validation and error handling –Database access –Shopping cart and other support objects 28

Web Site Project “E-Commerce” site of your design You choose platform (JSF or ASP) 29 List of products Individual Product pages with “add” option “Cart” of added products Shipping/ payment/ etc. information \Database of products and orders

30 Background Knowledge Java or C++ (for JSP) –May want to get Java reference –I will cover basics in class Visual Basic or C# (for ASP) –Basics covered in class –If more familiar with C# can get corresponding text Basic html (including forms and tables) Basic SQL