Programming for WWW (ICE 1338) Lecture #1 June 23, 2004 In-Young Ko iko .AT. icu.ac.kr Information and Communications University (ICU) Instructor Information Prof. In-Young Ko Office: F607 Official Office Hours: Wednesday 11:00am – 12:00pm Friday 2:00pm – 3:00pm Unofficial Office Hours: Any time Email: iko .AT. icu.ac.kr Phone: 042-866-6163 June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 2 Class Information Prerequisites: Class Hours: Wednesday 1:00pm – 4:00pm Friday 9:00pm – 12:00pm Classroom: L401 Class Homepage: Programming Fundamentals I (ICE 0121) Data Structures (ICE 1200) http://bigbear.icu.ac.kr/~iko/classes/ice1338/ Teaching Assistant (TA): TBD June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 3 Textbook & Reference Textbook Programming the World Wide Web, Robert W. Sebesta, Addison Wesley, 2002, ISBN: 0-201-70484-6 Reference June 23, 2004 Java Web Services, Dave Chappell and Tyler Jewell, O'Reilly, 2002, ISBN: 0-596-00269-6 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 4 Grading Policy Exams (30%) Term Projects (40%) Implementation, Reports and Presentation Homework (20%) Midterm (15%) Final (15%) 4 Homeworks Due by next week’s class Attendance and Participation (10%) June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 5 Course Policy Students who fail to attend more than 15% of the classes without proper notice will get F Please don’t be late for class Please turn off your cell phones when you enter the classroom Please don’t disturb other students by walking in and out during class June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 6 Course Objective Learn the concepts, internals and applications of Web-related technologies Learn core concepts of WWW Learn state-of-the-art Web technologies Practice Web-based information management Study Web-based software development strategies June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 7 Course Overview WWW Concepts and Architecture Web Information Presentations (HTML, Stylesheet) Web-based Information Integration Dynamic Documents (JavaScript) Plug-ins and Applets XML and XML Processing CGI Programming Web Servers and Servlets Database Access on the Web Web Services Semantics Web Web-based Software Development June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 8 Term Projects Project Teams 3-4 people per a group Form your team by Wed June 30th Midterm Project: Final Project: Web-based Information Integration Web-services-based Application Development Project Presentations June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 9 Other Announcements Each student will get a Unix account in the ‘Vega’ server to open his/her own Web site Please send instructor an email (Internet email, not IntraMail) with your name (both in English and Korean), and student ID Reschedule the class hours? Wednesday 7:00PM – 10:00PM Friday 2:00PM – 5:00PM June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 10 An Example of Surfing the Web Finding a person attending a conference in US Las Vegas Los Angeles Known Information English last name of the person to find: Rim or Lim? Travel Purpose: Attending a conference in Las Vegas Her research area: VLSI June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 11 An Example of Surfing the Web Finding a person attending a conference in US Search for the Web site of a conference June 23, 2004 Find the venue of the conference Search for the hotel Web site Programming for WWW (Lecture#1) Find the phone number of the hotel In-Young Ko, Information Communications University 12 The Origin of the Web “Information Management: A Proposal” Tim Berners-Lee, 1989 A proposal to build a global hypertext system for CERN www.w3.org/History/1989/proposal.html June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 13 WWW Concepts www.w3.org/Talks/General/Concepts.html 1. Universal Readership Different terminals to access different machines Different document formats for different machines Different programs to access data June 23, 2004 One terminal (client) to access different machines One document format: HTML One type of program to access data: Web browsers Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 14 WWW Concepts 2. Hypertext Text with links – e.g., footnotes, bibliographies Each document has its own address called URI (Uniform Resource Identifier) June 23, 2004 c.f., URL (Uniform Resource Locator) All documents are written in HTML (Hypertext Markup Language) Documents are connected via Anchors and Links Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 15 WWW Concepts 3. Searching June 23, 2004 Web documents are indexed by search engines Text-based search by sending keywords to a search engine Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 16 WWW Concepts 4. Client-Server Model June 23, 2004 No central control Anybody can publish information on a server Anyone can read information by using a client All clients and servers are connected via Internet Use of a common protocol, HTTP (Hypertext Transfer Protocol) Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 17 Web vs. Internet Web: A collection of software and protocols for exchanging multimedia data on the Internet Protocols: HTTP, HTTPS, … Addressing: URI (URL) Programs: Web browsers, Web servers Data Types: HTML, Images, Music, … Internet: A collection of computers connected in a communications network http://www.people.virginia.edu/~lah8v/DCE/Buckingham/resources/Internet.ppt June 23, 2004 Protocols: TCP/IP (Transmission Control Protocol / Internet Protocol) Addressing: Domain names, IP addrs Naming server: DNS Applications: SMTP, FTP, Telnet,… Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 18 The Growth of the Internet A Map of the Internet 1969 – ARPA Net 4 Nodes (UCLA, SRI, UCSB, U of Utah) January 2004 233,101,481 Nodes www.opte.org/maps www.isc.org/index.pl?/ops/ds/ June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 19 Internet Addresses Domain Names Domain: a collection of machines (hosts) Name structures US; Host name . Domain . Organization Others; Host name . Domain . Organization . Country e.g., www.w3.org, www.icu.ac.kr IP (Internet Protocol) Addresses e.g., 210.107.128.25, 18.7.14.127 Internet Corporation For Assigned Names and Numbers http://www.icann.org/ http://www.iana.org/ June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 20 IP Address Classes Class A Initial byte: 128 – 191 16,384 classes 65,532 hosts / class Class C June 23, 2004 23 31 10 23 15 7 0 Initial byte: 0 – 127 Net. Addr. Host Address 126 classes e.g., 18.7.14.127 (W3C) 16,777,214 hosts / class Class B 31 0 Initial byte: 192 – 223 2,097,152 classes 254 hosts / class 15 Net. Addr. 7 0 Host Address e.g., 129.42.16.99 (IBM) 31 1 10 Programming for WWW (Lecture#1) 23 15 Network Address 7 0 Host Addr. e.g., 210.107.128.25 (ICU) In-Young Ko, Information Communications University 21 IPv6 Internet Protocol Version 6 The next generation protocol designed by the IETF (Internet Engineering Task Force) New features (compared to IPv4) 128-bit address space Built-in security Support for QoS (Quality of Service) Support for multicasting http://www.ipv6.org/ June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 22 IP Datagram Header Format June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 23 Internet Packet Routing Pictures are from http://grc.com/dos/PacketRouting.htm June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 24 ‘Whois’ Server June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 25 Tracing the Route Domain Name: www.shrek2.com IP Address: 69.28.176.21 June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 26 Tracing the Route C:\>tracert www.shrek2.com Daejon Tracing route to drmwrks.vo.llnwd.net[69.28.176.21] 1 2 3 4 5 6 7 8 9 10 11 2 15 14 16 16 15 162 164 164 197 165 ms ms ms ms ms ms ms ms ms ms ms 4 14 15 15 16 15 162 165 183 164 164 ms ms ms ms ms ms ms ms ms ms ms 3 14 24 16 14 16 179 163 163 165 164 ms ms ms ms ms ms ms ms ms ms ms 210.107.250.1 61.74.147.1 211.196.201.45 220.73.170.189 220.73.151.54 211.216.216.90 211.48.63.206 198.32.176.164 63.223.1.5 63.223.3.90 69.28.176.21 Bundang EP.NET CA, USA CAIS Internet VA, USA Trace complete. AZ, USA June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 27 Internet Service Providers (ISPs) http://isis.nic.or.kr/sub03/sub03_index.html June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 28 The Future of the Web Mobile Web – enables users to access the Web from their mobile devices such as cell phones and PDAs (Personal Digital Assistants) Service-Oriented Web – makes various services accessible via the Web using the standard Web Services protocols Semantic Web – makes machine understandable (processable) information available on the Web June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 29 Ubiquitous Computing Customized Applications Customized Applications Internet Services Google AltaVista Yahoo Customized Applications CNN LA Times MSNBC Firewall Customized Applications Noun Phraser Noun Phraser Document Clusterer News Filter Restrictions on service migration Document Clusterer News Filter Remote LAN Services LAN Services June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 30 Cooltown Video http://www.cooltown.com/ http://www.ipv6.or.kr/wg/application/Interim/02-008.ppt June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 31 HP Cooltown Everything (computers, mobile devices, home appliances, etc.) is connected to the Web through wired or wireless links Everything has a Web page (with a URL) A beacon that is attached to an object broadcasts a URL http://www.ipv6.or.kr/wg/application/Interim/02-008.ppt June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 32 Semantic Web Definition: "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." – Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001 Machine understandable metadata June 23, 2004 RDF (Resource Description Framework) RDFS (RDF Schema) OWL (Web Ontology Language) Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 33 Syntactic vs. Semantic Web Educational Unit isA www.icu.ac.kr University isA hasName ICU hasWeb Kildong hasStudents hasName hasMember … HTML (Hypertext Markup Language) RDF (Resource Description Framework) URL (Uniform Resource Locator) URI (Uniform Resource Identifier) Keyword-based Queries Semantically-based Queries e.g., ICU Kildong e.g., Find Kildong who is a student at ICU June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 34 Reading Assignment Information Management: A Proposal, Tim Berners-Lee, CERN, March 1989 http://www.w3.org/History/1989/proposal.html June 23, 2004 Programming for WWW (Lecture#1) In-Young Ko, Information Communications University 35