School of Computer Science

Slides:



Advertisements
Similar presentations
JSP and web applications
Advertisements

Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
CMU SCS Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications Lecture #19 (not in book) Database Design Methodology handout.
UFCE8V-20-3 Information Systems Development 3 (SHAPE HK)
Apache Struts Technology
Bin Fu 03/27/ Spring 2012 Homework 7 Building A Web Application School of Computer Science.
Carnegie Mellon Univ. Dept. of Computer Science Database Applications C. Faloutsos Database Design Methodology handout.
Design of Web-based Systems IS Development: lecture 10.
James Tam Introduction To Design Patterns You will learn about design techniques that have been successfully applied to different scenarios.
Multiple Tiers in Action
Apache Tomcat Server Typical html Request/Response cycle
Stanford University EH&S A Service Oriented Architecture For Rich Internet Applications Sheldon M. Heitz.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Apache Struts Technology A MVC Framework for Java Web Applications.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
ECE356 – Database Systems Lab 1 – Building a Web Project with NetBeans Tiuley Alguindigue Lab Instructor – University of Waterloo, E & CE Dept. Fall 2013.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Database Applications.  Database Programming  Web databases  Application architecture.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
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 Course Introduction and Overview.
Server-side Scripting Powering the webs favourite services.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
Lecture 7 Interaction. Topics Implementing data flows An internet solution Transactions in MySQL 4-tier systems – business rule/presentation separation.
DATABASE PROGRAMMING Lecture on 16 – 05 – PREVIOUS LECTURE QUIZ: - Some students were very creative in transforming 2NF to 3NF. Excellent! - Some.
Movie Manager by Patrick Wesley and Chris Grey Internet Database Project for CS 8630 – Summer 2004 Dr. Guimaraes.
1 Accelerated Web Development Course JavaScript and Client side programming Day 2 Rich Roth On The Net
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
Domain Driven Web Development With WebJinn Sergei Kojarski College of Computer & Information Science Northeastern University joint work with David H. Lorenz.
1 © Netskills Quality Internet Training, University of Newcastle HTML Forms © Netskills, Quality Internet Training, University of Newcastle Netskills is.
Domain Driven Web Development With WebJinn Sergei Kojarski College of Computer & Information Science Northeastern University joint work with David H. Lorenz.
Ashley Montebello – CprE Katie Githens – SE Wayne Rowcliffe – SE Advisor/Client: Akhilesh Tyagi.
Leman Akoglu 11/11/ Fall 2009 Recitation Homework 9 Building A Web Application Phase-II School of Computer Science.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Fall 2000C.Watters1 World Wide Web and E-Commerce Servers & Server Side Processing.
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
Database Connectivity and Server-Side Scripting Chapter 12.
Web Programming 3(3-0-6) Introduction to interactive, event-driven and dynamic web development; web programming with freeware and commercial tools;
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
The Bookstore Problem. Contents I.Problem Description II.Solution III.Exercise.
Web Technology Solutions
Databases (CS507) CHAPTER 2.
Web-based Software Development - An introduction
Web Technologies Computing Science Thompson Rivers University
Design Patterns Source: “Design Patterns”, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides And Created.
Chapter 2: Database System Concepts and Architecture - Outline
Chapter 2 Database System Concepts and Architecture
Web Development Web Servers.
Server Concepts Dr. Charles W. Kann.
15-415/615 Spring 2013 Homework 7 Building A Web Application
Multitier Architecture, MySQL & PHP
PHP / MySQL Introduction
HW7: Database Application
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Lecture #19 (not in book) Database Design Methodology handout
Tiers vs. Layers.
Proposal Presentation
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Back end Development CS Programming Languages for Web Applications
Web Technologies Computing Science Thompson Rivers University
UFCEUS-20-2 Web Programming
CSCE156: Introduction to Computer Science II
Back end Development CS Programming Languages for Web Applications
Web Application Development Using PHP
SDMX IT Tools SDMX Registry
Presentation transcript:

School of Computer Science 15-415 Fall 2009 Recitation Homework 9 Building A Web Application Phase-I Leman Akoglu 11/4/2009

HW9 Outline Building a simple Web application (CMUBook) using JSP 2 phases Phase I : design and documentation due 11/10  next Tue! hard copy in class Phase II : implementation due 11/19 both hard copy in class and via email.

Database Design Methodology [N. Roussopoulos and R.T. Yeh] description impl.+test. conc. mod. req. anal. code. tests top level I.F.D. schema. user’s man. sys. anal. task emul. task + doc forms. pseudo-code

Phase-I Phase-II description impl.+test. conc. mod. req. anal. code. tests top level I.F.D. schema. user’s man. sys. anal. task emul. task + doc forms. pseudo-code

Recitations Phase-1 Phase-2 Q&A 11/4 2:30pm-3:20pm DH 2122 11/10 11/11 2:30pm-3:20pm DH 2122 11/11 3:30pm-4:20pm DH 2105 11/18 2:30pm-3:20pm DH 2122 11/18 3:30pm-4:20pm DH 2105 11/19 Phase-1 Phase-1 due Phase-2 Q&A Phase-2 due  Send additional questions to lakoglu@cs.cmu.edu

Today’s Outline Homework 9 description Deliverables Data requirements Functionality requirements Deliverables Top-level Information Flow Diagrams (IFDs) Document forms Entities & Relations Schema (in BCNF or 3NF)

Phase-I Phase-II description impl.+test. conc. mod. req. anal. code. tests top level I.F.D. schema. user’s man. sys. anal. task emul. task + doc forms. pseudo-code

Homework 9 CMUBook Tasks to implement A mini web application like Facebook Users could upload/tag photos, add friends, etc. Tasks to implement Registration Login/Logout Photo Upload Photo Browsing Photo Tagging Profile Review Search by User Name Friendship Management Reporting

Phase-I Phase-II description impl.+test. conc. mod. req. anal. code. tests top level I.F.D. schema. user’s man. sys. anal. task emul. task + doc forms. pseudo-code

Top level information flow diagram reg. form T1-reg. user rec. external doc.s (web forms) tasks internal doc.s (db tables) System boundary

More on top level diagram reg. form login form profile form T1-reg. T2 - login ? ? user rec. ?

Phase-I Phase-II description impl.+test. conc. mod. req. anal. code. tests top level I.F.D. schema. user’s man. sys. anal. task emul. task + doc forms. pseudo-code

Document + Task forms Task forms and task list not required for this homework Document forms and document list D1: registration form D2: login form D3: profile form … Dx: user record external internal

Document forms D1: registration form D3: profile form Dx: user record login name password name … D3: profile form name? List-of: photo-id (URL) ? friend-id (login name) ? … Dx: user record login name password name …

Phase-I Phase-II description impl.+test. conc. mod. req. anal. code. tests top level I.F.D. schema. user’s man. sys. anal. task emul. task + doc forms. pseudo-code

E-R diagram for CMUBook passw ... URL email login ?-2 owns ?-1 ?-1 ... user photo How about friendships, photo tags, …? ?-1: Specify cardinalities ?-2: Think about weak/strong entities

Relational schema SQL DDL statements user( login, passw, name, email-add.) photo( URL, … ) ? …. SQL DDL statements create table user (login char(20), passw char (20) NOT NULL (?), … ); create table photo (URL char(200), … ); ...

Phase-I Phase-II description impl.+test. conc. mod. req. anal. code. tests top level I.F.D. schema. user’s man. sys. anal. task emul. task + doc forms. pseudo-code

Task emulation/pseudo-code Task1: Registration read login, password, name and email if ( login does not exist in ‘user’){ insert into user values ( :login, :password, :name, :email); } else{ print “error: login exists, choose another” } should be valid SQL queries

Phase-I Phase-II description impl.+test. conc. mod. req. anal. code. tests top level I.F.D. schema. user’s man. sys. anal. task emul. task + doc forms. pseudo-code

Phase II You will develop JSP pages that handle user interactions Processing logic written in Java class Manipulating data in database, connect from JSP to database using JDBC

Outline of the next recitation Schema outline A Typical Web Application Architecture CMUBook architecture Brief introduction to JSP JSP mini demo  register.jsp Session and cookie management  login.jsp Exceptions MVC (Model-View-Controller) pattern (optional) Better Software Design

Web Application Architecture Multi-tier architecture Web Server Apache, Tomcat, Windows IIS Client Backend Server http e.g. RMI Java Virtual Machine Web app (JSP, ASP, PHP) Users Web app backend component JDBC ODBC Database Server

Homework 9: CMUBook architecture Web Server newcastle.db.cs.cmu.edu Client Browser PostgreSQL Database Server newcastle.db.cs.cmu.edu Tomcat 5.5 http User hw9 database JDBC CMUBook JSP, Java

CMUBook architecture Registration example –register.jsp 1 http://newcastle.db.cs.cmu.edu:8080/lakoglu415/register.jsp Web Server newcastle.db.cs.cmu.edu Client Browser PostgreSQL Database Server newcastle.db.cs.cmu.edu Tomcat 5.5 4 2 JDBC exec. query java.sqlStatement.executeUpdate() html page with input FORM User hw9 database CMUBook JSP, Java 3 Submit FORM with login, name, password and email register.jsp 5 JDBC insert succeeds 6 Html page with successful info

Better Software Design? (Optional) Better Software Design? Design Pattern Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides Thinking in Patterns (http://www.mindviewinc.com/downloads/TIPatterns- 0.9.zip) Design Pattern for Web App: MVC pattern (Model – View – Controller) Basic idea: break software functionalities and interfaces Tool: struts

(Optional) MVC