programming for www (ice 1338) lecture #1 lecture #1 june 23, 2004 in-young ko iko.at. icu.ac.kr...
TRANSCRIPT
Programming for WWWProgramming for WWW(ICE 1338)(ICE 1338)
Lecture #1Lecture #1 June 23, 2004
In-Young Koiko .AT. icu.ac.kr
Information and Communications University (ICU)
June 23, 2004 2 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Instructor InformationInstructor Information
Prof. Prof. In-Young KoIn-Young Ko Office: F607Office: F607 Official Office Hours:Official Office Hours:
Wednesday 11:00am – 12:00pmWednesday 11:00am – 12:00pm Friday 2:00pm – 3:00pmFriday 2:00pm – 3:00pm
Unofficial Office Hours: Unofficial Office Hours: Any timeAny time Email: Email: ikoiko .AT. .AT. icu.ac.kricu.ac.kr Phone: 042-866-6163Phone: 042-866-6163
June 23, 2004 3 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Class InformationClass Information
Prerequisites:Prerequisites: Programming Fundamentals I (ICE 0121)Programming Fundamentals I (ICE 0121) Data Structures (ICE 1200)Data Structures (ICE 1200)
Class Hours:Class Hours: Wednesday 1:00pm – 4:00pmWednesday 1:00pm – 4:00pm Friday 9:00pm – 12:00pmFriday 9:00pm – 12:00pm
Classroom: Classroom: L401L401 Class Homepage:Class Homepage:
http://bigbear.icu.ac.kr/~iko/classes/ice1338/http://bigbear.icu.ac.kr/~iko/classes/ice1338/ Teaching Assistant (TA): TBDTeaching Assistant (TA): TBD
June 23, 2004 4 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Textbook & ReferenceTextbook & Reference
Textbook Programming the World Wide Web,
Robert W. Sebesta, Addison Wesley, 2002, ISBN: 0-201-70484-6
Reference Java Web Services, Dave Chappell and
Tyler Jewell, O'Reilly, 2002, ISBN: 0-596-00269-6
June 23, 2004 5 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Grading PolicyGrading Policy
Exams (30%) Midterm (15%) Final (15%)
Term Projects (40%) Implementation, Reports and Presentation
Homework (20%) 4 Homeworks Due by next week’s class
Attendance and Participation (10%)
June 23, 2004 6 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Course PolicyCourse Policy
Students who Students who fail to attend more than fail to attend more than 15%15% of the classes without proper notice of the classes without proper notice will get will get FF
Please Please don’t be latedon’t be late for class for class Please Please turn off your cell phonesturn off your cell phones when you when you
enter the classroomenter the classroom Please Please don’t disturb other studentsdon’t disturb other students by by
walking in and out during classwalking in and out during class
June 23, 2004 7 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Course ObjectiveCourse Objective
Learn the Learn the conceptsconcepts, , internalsinternals and and applicationsapplications of Web-related technologies of Web-related technologies
Learn core Learn core concepts of WWWconcepts of WWW Learn state-of-the-art Learn state-of-the-art Web technologiesWeb technologies Practice Practice Web-based information Web-based information
managementmanagement Study Study Web-based software developmentWeb-based software development
strategiesstrategies
June 23, 2004 8 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Course OverviewCourse Overview WWW ConceptsWWW Concepts and Architecture and Architecture Web Web Information PresentationsInformation Presentations (HTML, Stylesheet) (HTML, Stylesheet) Web-based Web-based Information IntegrationInformation Integration Dynamic Documents (JavaScript)Dynamic Documents (JavaScript) Plug-ins and AppletsPlug-ins and Applets XML and XML ProcessingXML and XML Processing CGI ProgrammingCGI Programming Web Servers and ServletsWeb Servers and Servlets Database Access on the WebDatabase Access on the Web Web ServicesWeb Services Semantics WebSemantics Web Web-based Software DevelopmentWeb-based Software Development
June 23, 2004 9 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Term ProjectsTerm Projects
Project TeamsProject Teams 3-4 people per a group3-4 people per a group Form your team by Wed June 30Form your team by Wed June 30 thth
Midterm Project:Midterm Project: Web-based Information IntegrationWeb-based Information Integration
Final Project:Final Project: Web-services-based Application DevelopmentWeb-services-based Application Development
Project PresentationsProject Presentations
June 23, 2004 10 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Other AnnouncementsOther Announcements
Each student will get Each student will get a Unix accounta Unix account in in the ‘the ‘VegaVega’ server to open his/her own ’ server to open his/her own Web siteWeb site
Please Please send instructor an emailsend instructor an email ( (Internet Internet emailemail, not IntraMail) with your , not IntraMail) with your namename (both (both in English and Korean), and in English and Korean), and student IDstudent ID
Reschedule the Reschedule the class hours?class hours? Wednesday 7:00PM – 10:00PMWednesday 7:00PM – 10:00PM Friday 2:00PM – 5:00PMFriday 2:00PM – 5:00PM
June 23, 2004 11 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
English last name of the person to find: English last name of the person to find: Rim or LimRim or Lim?? Travel Purpose: Travel Purpose: Attending a conference in Las VegasAttending a conference in Las Vegas Her research area: Her research area: VLSIVLSI
Finding a person attending a conference in USFinding a person attending a conference in US
An Example of Surfing the WebAn Example of Surfing the Web
Known InformationKnown Information
Las VegasLas Vegas
Los AngelesLos Angeles
June 23, 2004 12 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
An Example of Surfing the WebAn Example of Surfing the Web
Search for the Search for the Web site of a Web site of a conferenceconference
Find the venue Find the venue of the of the
conferenceconference
Search for the Search for the hotel Web sitehotel Web site
Find the Find the phone number phone number
of the hotelof the hotel
Finding a person attending a conference in USFinding a person attending a conference in US
June 23, 2004 13 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
The Origin of the WebThe Origin of the Web
A proposal to build A proposal to build a global a global hypertext hypertext systemsystem for for CERNCERN
Tim Berners-Lee, Tim Berners-Lee, 19891989
www.w3.org/History/1989/proposal.html
““Information Management: A Proposal”Information Management: A Proposal”
June 23, 2004 14 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
WWW ConceptsWWW Concepts
Different terminalsDifferent terminals to access to access different machinesdifferent machines
Different document formatsDifferent document formats for different machinesfor different machines
Different programsDifferent programs to access to access datadata
www.w3.org/Talks/General/Concepts.htmlwww.w3.org/Talks/General/Concepts.html
1. Universal Readership1. Universal Readership
One terminal (client) to access One terminal (client) to access different machinesdifferent machines
One document format: One document format: HTMLHTML One type of program to One type of program to
access data: access data: Web browsersWeb browsers
June 23, 2004 15 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
WWW ConceptsWWW Concepts
Text with linksText with links – e.g., footnotes, – e.g., footnotes, bibliographiesbibliographies
Each document has its own Each document has its own address called address called URI (Uniform URI (Uniform Resource Identifier)Resource Identifier) c.f., c.f., URL (Uniform Resource Locator)URL (Uniform Resource Locator)
All documents are written in All documents are written in HTML (Hypertext Markup HTML (Hypertext Markup Language)Language)
Documents are connected viaDocuments are connected via AnchorsAnchors andand LinksLinks
2. Hypertext2. Hypertext
June 23, 2004 16 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
WWW ConceptsWWW Concepts
Web documents are Web documents are indexed indexed by search by search enginesengines
Text-based search by Text-based search by sending sending keywordskeywords to a to a search enginesearch engine
3. Searching3. Searching
June 23, 2004 17 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
WWW ConceptsWWW Concepts
No central controlNo central control Anybody can publish Anybody can publish
information on a serverinformation on a server Anyone can read Anyone can read
information by using a information by using a clientclient
All clients and servers are All clients and servers are connected via Internetconnected via Internet
Use of a common protocol, Use of a common protocol, HTTP (Hypertext Transfer HTTP (Hypertext Transfer Protocol)Protocol)
4. 4. Client-Server ModelClient-Server Model
June 23, 2004 18 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Web vs. InternetWeb vs. Internet
InternetInternet: A collection of computers : A collection of computers connected in a communications connected in a communications networknetwork
Protocols: Protocols: TCP/IP (Transmission Control TCP/IP (Transmission Control Protocol / Internet Protocol)Protocol / Internet Protocol)
Addressing: Addressing: Domain names, IP addrsDomain names, IP addrs Naming server: Naming server: DNSDNS Applications: Applications: SMTP, FTP, Telnet,… SMTP, FTP, Telnet,…
WebWeb: A collection of software and : A collection of software and protocols for exchanging multimedia protocols for exchanging multimedia data on the Internetdata on the Internet
Protocols: Protocols: HTTP, HTTPS, …HTTP, HTTPS, … Addressing: Addressing: URI (URL)URI (URL) Programs: Programs: Web browsers, Web serversWeb browsers, Web servers Data Types: Data Types: HTML, Images, Music, …HTML, Images, Music, …
http://www.people.virginia.edu/~lah8v/DCE/Buckingham/resources/Internet.ppt
June 23, 2004 19 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
The Growth of the InternetThe Growth of the Internet
1969 – ARPA Net4 Nodes(UCLA, SRI, UCSB, U of Utah)
www.opte.org/maps
A Map of the InternetA Map of the Internet
January 2004233,101,481 Nodes
www.isc.org/index.pl?/ops/ds/
June 23, 2004 20 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Internet AddressesInternet Addresses Domain NamesDomain Names
Domain: a collection of machines (hosts)Domain: a collection of machines (hosts) Name structuresName structures
US; US; Host nameHost name . . DomainDomain . . OrganizationOrganization Others; Others; Host nameHost name . . DomainDomain . . OrganizationOrganization . . CountryCountry
e.g., www.w3.org, www.icu.ac.kr e.g., www.w3.org, www.icu.ac.kr IP (Internet Protocol) AddressesIP (Internet Protocol) Addresses
e.g., 210.107.128.25, e.g., 210.107.128.25, 18.7.14.12718.7.14.127
http://www.iana.org/
Internet Corporation For Assigned Names and Numbers
http://www.icann.org/
June 23, 2004 21 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
IP Address ClassesIP Address Classes Class AClass A
Initial byte: 0 – 127Initial byte: 0 – 127 126 classes126 classes 16,777,214 hosts / class16,777,214 hosts / class
Class BClass B Initial byte: 128 – 191Initial byte: 128 – 191 16,384 classes16,384 classes 65,532 hosts / class65,532 hosts / class
Class CClass C Initial byte: 192 – 223Initial byte: 192 – 223 2,097,152 classes2,097,152 classes 254 hosts / class254 hosts / class
31 23 15 7 0
1 10
Network Address Host Addr.
e.g., 210.107.128.25 (ICU)e.g., 210.107.128.25 (ICU)
31 23 15 7 0
0
Net. Addr. Host Address
e.g., e.g., 18.7.14.12718.7.14.127 (W3C) (W3C)
31 23 15 7 0
1 0
Net. Addr. Host Address
e.g., e.g., 129.42.16.99129.42.16.99 (IBM) (IBM)
June 23, 2004 22 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
IPv6IPv6
Internet Protocol Version 6Internet Protocol Version 6 The The next generationnext generation protocolprotocol designed by designed by
the IETF the IETF (Internet Engineering Task Force(Internet Engineering Task Force)) New features (compared to IPv4)New features (compared to IPv4)
128-bit address space128-bit address space Built-in securityBuilt-in security Support for QoS (Quality of Service)Support for QoS (Quality of Service) Support for multicastingSupport for multicasting
http://www.ipv6.org/http://www.ipv6.org/
June 23, 2004 23 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
IP Datagram Header FormatIP Datagram Header Format
June 23, 2004 24 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Internet Packet RoutingInternet Packet RoutingP
ictures are from http://grc.co
m/dos/P
acketRouting.htm
June 23, 2004 25 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
‘‘Whois’ ServerWhois’ Server
June 23, 2004 26 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Tracing the RouteTracing the Route
Domain Name:Domain Name:www.shrek2.comwww.shrek2.com
IP Address:IP Address:69.28.176.2169.28.176.21
June 23, 2004 27 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Tracing the RouteTracing the RouteC:\>tracert www.shrek2.comC:\>tracert www.shrek2.com
Tracing route to Tracing route to drmwrks.vo.llnwd.net[69.28.176.21]drmwrks.vo.llnwd.net[69.28.176.21]
1 2 ms 4 ms 3 ms 210.107.250.11 2 ms 4 ms 3 ms 210.107.250.1 2 15 ms 14 ms 14 ms 61.74.147.12 15 ms 14 ms 14 ms 61.74.147.1 3 14 ms 15 ms 24 ms 211.196.201.453 14 ms 15 ms 24 ms 211.196.201.45 4 16 ms 15 ms 16 ms 220.73.170.1894 16 ms 15 ms 16 ms 220.73.170.189 5 16 ms 16 ms 14 ms 220.73.151.545 16 ms 16 ms 14 ms 220.73.151.54 6 15 ms 15 ms 16 ms 211.216.216.906 15 ms 15 ms 16 ms 211.216.216.90 7 162 ms 162 ms 179 ms 211.48.63.2067 162 ms 162 ms 179 ms 211.48.63.206 8 164 ms 165 ms 163 ms 8 164 ms 165 ms 163 ms 198.32.176.164198.32.176.164 9 164 ms 183 ms 163 ms 63.223.1.59 164 ms 183 ms 163 ms 63.223.1.5 10 197 ms 164 ms 165 ms 63.223.3.9010 197 ms 164 ms 165 ms 63.223.3.90 11 165 ms 164 ms 164 ms 69.28.176.2111 165 ms 164 ms 164 ms 69.28.176.21
Trace complete.Trace complete.
Daejon
Bundang
EP.NETEP.NET
CA, USACAIS InternetCAIS Internet
VA, USA
AZ, USA
June 23, 2004 28 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Internet Service Providers (ISPs)Internet Service Providers (ISPs)h
ttp://isis.n
ic.or.kr/su
b0
3/su
b0
3_
ind
ex.h
tml
June 23, 2004 29 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
The Future of the WebThe Future of the Web
Mobile WebMobile Web – enables users to access – enables users to access the Web from their the Web from their mobile devicesmobile devices such such as cell phones and PDAs (Personal as cell phones and PDAs (Personal Digital Assistants) Digital Assistants)
Service-Oriented WebService-Oriented Web – makes various – makes various services accessible via the Web using the services accessible via the Web using the standard standard Web ServicesWeb Services protocols protocols
Semantic WebSemantic Web – makes machine – makes machine understandable (processable) information understandable (processable) information available on the Webavailable on the Web
June 23, 2004 30 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Ubiquitous ComputingUbiquitous Computing
LAN ServicesLAN Services
Noun PhraserNoun Phraser News FilterNews FilterDocument Document ClustererClusterer
Remote LAN ServicesRemote LAN Services
Noun PhraserNoun Phraser News FilterNews FilterDocument Document ClustererClusterer
Internet ServicesInternet Services
CNNCNN
GoogleGoogle AltaVistaAltaVista YahooYahoo
LA TimesLA Times MSNBCMSNBC
Restrictions on service migration
FirewallCustomizedCustomized Applications Applications
CustomizedCustomized Applications Applications
CustomizedCustomized Applications Applications CustomizedCustomized Applications Applications
June 23, 2004 31 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Cooltown VideoCooltown Video
http://www.ipv6.or.kr/wg/application/Interim/02-008.ppt
http://www.cooltown.com/http://www.cooltown.com/
June 23, 2004 32 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
HP CooltownHP Cooltown
http://www.ipv6.or.kr/wg/application/Interim/02-008.ppt
Everything (computers, mobile Everything (computers, mobile devices, home appliances, etc.) is devices, home appliances, etc.) is connected to the Webconnected to the Web through wired through wired or wireless linksor wireless links
Everything has a Web pageEverything has a Web page (with a (with a URL)URL)
A A beaconbeacon that is attached to an that is attached to an object object broadcasts a URLbroadcasts a URL
June 23, 2004 33 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Semantic WebSemantic Web
Definition: Definition: "The Semantic Web is an extension "The Semantic Web is an extension of the current web in which information is given of the current web in which information is given well-defined meaningwell-defined meaning, better enabling , better enabling computers and people to work in cooperation."computers and people to work in cooperation." – – Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web,
Scientific American, May 2001Scientific American, May 2001
Machine understandable metadataMachine understandable metadata RDF (Resource Description Framework)RDF (Resource Description Framework) RDFS (RDF Schema)RDFS (RDF Schema) OWL (Web Ontology Language)OWL (Web Ontology Language)
June 23, 2004 34 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Syntactic vs. Semantic WebSyntactic vs. Semantic Web
HTML (Hypertext Markup Language)HTML (Hypertext Markup Language)
URL (Uniform Resource Locator)URL (Uniform Resource Locator)
Keyword-based QueriesKeyword-based Queries
e.g., e.g., ICU KildongICU Kildong
RDF (Resource Description Framework)RDF (Resource Description Framework)
URI (Uniform Resource Identifier)URI (Uniform Resource Identifier)
Semantically-based QueriesSemantically-based Queries
e.g., e.g., Find Kildong who is a student Find Kildong who is a student at ICUat ICU
University
isA
Educational Unit
isA
ICU
hasName
hasStudents
hasWeb
ww
w.ic
u.a
c.kr
…
hasMember
KildonghasName
June 23, 2004 35 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University
Reading AssignmentReading Assignment
Information Management: A ProposalInformation Management: A Proposal, , Tim Berners-Lee, CERN, March 1989 Tim Berners-Lee, CERN, March 1989 http://www.w3.org/History/1989/proposal.htmlhttp://www.w3.org/History/1989/proposal.html