26
Welcome to Welcome to CSC667/867 CSC667/867 Internet Application Design Internet Application Design and Development and Development Dr. Ilmi Yoon Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall (Deitel & Associates). The materials are modified to fit to CSc667/867 with permissions from authors.

Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

  • View
    219

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Welcome to Welcome to CSC667/867CSC667/867Welcome to Welcome to CSC667/867CSC667/867

Internet Application Design and Internet Application Design and DevelopmentDevelopment

Dr. Ilmi YoonDr. Ilmi Yoon

NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall (Deitel & Associates). The materials are modified to fit to CSc667/867 with permissions from authors.

Page 2: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Topics – what you will learn

• Web Application Architecture– Principles, Protocols and Practices

• Understanding of core technology, not platform specific knowledge

• Pre-WWW, Internet, TCP/IP• Web Server, Browser, HTTP• Client side technologies• Server side technologies• E-commerce system & DB connections• Web application development & Deployment• XML and its applications• Emerging technologies

– Web services, Semantic Web, Data exploration, 3Ds on the WWW, Security and more…

Page 3: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

– Mechanism and various technologies of Internet applications through projects

• Develop your own web server (using JAVA) – 2 people team project

• Experiment JavaScript/Python CGI project– Individual project

• Develop and Deploy an Internet application – 4 people team project

– Advanced Issues– Most of all, not only knowledge, you will

learn the experience of building large application, team work, searching for necessary information from given large resources and build confidence in yourself!

Course Overview

Page 4: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Course Overview• Going through course overview

using printed syllabus– exams, grading policy, late penalty

• Survey

Page 5: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Announcements

• TA – Berdnt Jung (Thu 2:00 ~ 3:00)• Participating in Annotizer project using course

web site• Start to think of term project as early as

possible!!!– IOC Project (presentation by Gauri)– Art work on view (www.artworkonview.org )– SFSU CS Alumni site– WICE (Web-based Interactive Computing Environment)

• HTML 1 & 2 for self study• Assignment 1 is now available on the course web

site

Page 6: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

• Any Questions?

• Then, let’s get started!!!

Page 7: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Defining the World Wide Web

• A wide-area hypertext, multimedia information retrieval system that provides access to a large universe of documents

• A uniform way of accessing and viewing some information on the Internet

• The WWW – creates a world in which information

has a reference by which it can be accessed

– subsumes the capabilities of ftp, gopher, wais and news

Page 8: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

History of the World Wide Web

• WWW– Allows computer users to locate and

view multimedia-based documents – Introduced in 1990 by Tim Berners-Lee

for astrophysicist to share documents• Internet today

– Mixes computing and communications technologies

– Makes information constantly and instantly available to anyone with a connection

Page 9: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

The Internet and the WWW are Different

• The Internet is a global digital infrastructure that connects millions of computers and tens of millions of people

• The World Wide Web is a mechanism that unifies the retrieval and display of a subset of data on the Internet

• An intranet is a local/global information structure that connects an organization internally

Page 10: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Major Technology Components

• Client/server architecture– where client programs interact with web servers

• Network protocol– HTTP, Hypertext Transfer Protocol, is the language

understood by browsers and web servers– designed to move quickly from document to

document• Addressing system (Uniform Resource Locators)

– http://domain/directory/file.html• Markup Language

– every web server understands and every browser displays

– includes support for Hypertext and multimedia

Page 11: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Basic Internet Definitions

• http://www.pierobon.org/iis/ by Pierobon

• Simple definitions for LAN, WAN, Internet, WWW, Hypertext, Intranet, Extranet, Protocol, TCP/IP, UDP, Address, Domain, Domain Name, Plug-in, URL, URI, socket and a short quiz!

Page 12: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Client/Server Architecture Model

Multiplatformbrowsers(clients)

MechanismsAddressing scheme (URL) + Protocols (HTTP, etc.) + FormatNegotiation (MIME)

Servers foreachprotocol

HTTPserver

FTPserver

Gopherserver

NNTPserver

Terminals PCs Macs X Windows

Page 13: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

The WWW Server

• Web browsers and Web servers communicate according to a protocol known as HTTP (HyperText Transfer Protocol)– The current HTTP protocol is version 1.1

• The Web server is a software system running on a machine often called the Web server, don’t confuse them

• A web server can – receive and reply to HTTP requests– retrieve documents from specified directories– run programs in specified directories– handle limited forms of security

• A web server does not– know about the contents of a document, links in a

document, images in a document or whether a particular file, e.g. a *.gif file, is in the correct format

Page 14: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Uniform Resource Locator A mechanism whereby an Internet resource can be

specified in a single line of ASCII text1. Scheme followed by a colon

http:,ftp:,gopher:,news:,mailto:,wais:,telnet: file://pub/xt.ps (a PostScript file in directory pub on your local machine)

ftp://cs.sfsu.edu/docs/sweng.txt (a file sweng.txt in directory docs on cs.sfsu.edu, an anonymous ftp)

http://nunki.usc.edu/mydocs/book.doc (a file in directory mydocs on machine nunki.usc.edu) 2. Double slash (only for http, ftp, gopher, wais) //

3. Internet domain name e.g., cs.sfsu.edu4. Port number (this field is optional; e.g.,

pollux.usc.edu:8081)-- Standard or default port numbers:--- ftp is 21 gopher is 70--- telnet is 23 http is 80--- smtp is 25 nntp is 119

5. Path e.g., /pub/docs

Page 15: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Markup Languages• HTML - hypertext markup language, specifies

document layout and the specification of hypertext links to text, graphics and other types of objects

• browsers display text and graphics using the markup as guidance

• However, HTML is not like a word processing program, e.g. Microsoft Word or WordPerfect, and not like a page description languages, e.g. postscript– as a result, translation into HTML can

produce a result that does not look exactly like the original

• XML (extensible markup language)

Page 16: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

History of the Internet

• ARPAnet– Implemented in late 1960’s by ARPA

(Advanced Research Projects Agency of DOD)

– Networked computer systems of a dozen universities and institutions with 56KB communications lines

– Grandparent of today’s Internet– Intended to allow computers to be shared– Became clear that key benefit was allowing

fast communication between researchers – electronic-mail (email)

Page 17: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

History of the Internet (II)

• ARPA’s goals– Allow multiple users to send and receive info

at same time– Network operated packet switching

technique• Digital data sent in small packages called packets• Packets contained data, address info, error-control

info and sequencing info• Greatly reduced transmission costs of dedicated

communications lines

– Network designed to be operated without centralized control

• If portion of network fails, remaining portions still able to route packets

Page 18: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

History of the Internet (III)

• Transmission Control Protocol (TCP)– Name of protocols for communicating over

ARPAnet– Ensured that messages were properly routed and

that they arrived intact• Organizations implemented own networks

– Used both for intra-organization and communication

• Huge variety of networking hardware and software appeared– ARPA achieved inter-communication between all

platforms with development of the IP• Internetworking Protocol• Current architecture of Internet

– Combined set of protocols called TCP/IP

Page 19: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

History of the Internet (IV)

• The Early Internet– Limited to universities and research

institutions– Military became big user– Next, government decided to release Internet

for commercial purposes

• Internet traffic grew– Businesses spent heavily to improve Internet

• Better service for their clients

– Fierce competition among communications carriers and hardware and software suppliers

– Result• Bandwidth (info carrying capacity) of Internet

increased tremendously

Page 20: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

http://www.isc.org/ds

Page 21: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Network Basics

• A host is a computer that is enabled to function on a network

• any set of hosts connected in such a way that any two hosts can send and receive messages is called a network– a protocol is the method by which two

computers agree to communicate– an address space is the set of names

of computers that can be referenced

Page 22: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

LAN + Internet Access

User 1 User 2 User 3 User 4

Databaseserver

Printserver

Mailserver

DomainNameserverDNS

Internet

Router

TCP/IPnetwork

Newsserver

• Speak TCP/IP and add a Domain Name Server• A router may be located either at your site or at your ISP

Page 23: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

IP and TCP/IP

• To be a host on the Internet your computer must:– have a host/domain name, e.g.

tlaloc.sfsu.edu– be assigned a unique IP address, e.g.

128.125.2.1 (static or dynamic IP)– use the Internet protocol– have a network connection that

provides a route to the Internet

Page 24: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

IP Addresses

• An IP address is a 32-bit number, from 0 to about 4.3billion

• These numbers are written as four sets of eight bits each, network.subnetwork.subnetwork.computer

• The next generation of IP is IPv6– it uses a 128 bit address space

Page 25: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Internet Domain Names

• A domain name has the following form:– [subdomain].[subdomain].[…].domain– E.g. my email address includes my name,

host and domain name, [email protected]• U.S. domains are divided into the following

logical categories– com commercial and industrial organizations– edu educational institutions– gov non-military, government affiliated

organizations– mil military organizations– net network operations– org other organizations and user groups

Page 26: Welcome to CSC667/867 Internet Application Design and Development Dr. Ilmi Yoon NOTE: Course note courtesy to Ellis Horowits (USC CS571) and PrenticeHall

Reading Assignment• Read Chapter 1 & 2 from Web Application

Architecture– Definitions of web page, web site, web application– TCP/IP,Telnet, SMTP (Simple Mail Transfer Protocol),

POP (Post Office Protocol), IMAP (Internet Message Access Protocol)

• Extra credit for those who read these chapters and write a short summary report and post its url at course web site using Annotizer

• Read “Basic Internet Definitions” and take the quiz, print out and bring it back to classroom