170 likes | 294 Views
1. Introduction to Internet and to the Web. Motto. People are using the web to build things they have not built or written or drawn or communicated anywhere else. —Tim Berners-Lee. History: ARPANET. Developed in late 1960’s by ARPA Advanced Research Projects Agency, Dept. of Defense
E N D
Motto People are using the web to build things they have not built or written or drawn or communicated anywhere else. —Tim Berners-Lee
History: ARPANET • Developed in late 1960’s by ARPA • Advanced Research Projects Agency, Dept. of Defense • Connected computers in a dozen of universities and institutions • 56KB communications lines • Allowed computers to be shared • Key benefit: fast communication between researchers • email ! • Precursor of Internet
Goals of ARPANET • Multiple users can simultaneously send and receive data • Must withstand nuclear attack • No centralized control • If a piece of the network fails, other portions will still route the packets
Achievements of ARPANET • Pioneered packet switching • Data is sent in small "packets" • Packets contain data, address, error-control, sequencing info • Greatly reduced transmission costs • Transmission Control Protocol (TCP) • Common protocol • Ensures that messages are properly routed and that they arrive intact • Used both for inter- and intra-communication • Connected huge variety of hardware and software
Internet: How it Grew • Initially only universities and research institutions • Military became big user • Clinton government opened Internet for commercial purposes • Businesses invested heavily in Internet improvements • Fierce competition among communications carriers and hardware and software suppliers • Massive increase in bandwidth • Plummeting costs
Internet: Standards & Applications • Tim Berners-Lee at CERN • Invents Hypertext Transfer Protocol (HTTP) • communications protocol for the web • Invents HyperText Markup Language (HTML) • describe data and its appearance • Coins the term World Wide Web • 1993 First browser: Mosaic • Web becomes usable for the public • Netscape Company • Commercial browser • Initiates the explosive Internet of late 1990s
W3C • World Wide Web Consortium • www.w3.org • Founded in 1994 by Tim Berners-Lee • Goals • Make Internet universally accessible • Standards • HyperText Markup Language (HTML— getting obsolete) • Extensible HyperText Markup Language (XHTML) • Cascading Style Sheets (CSS) • Extensible Markup Language (XML) Web 2.0
Web 1.0 • 1990s and early 2000s • Big companies fight browser wars • Microsoft vs. Netscape • Search engines vie for eyeballs • Every web site wants to be THE portal • A few companies produce content • Users browse • “brochure web”
2003+: Web 2.0 • New technologies • Storage became abundant • Ajax • Rich Interaction Applications • Software as a Service (SaaS) • Make new ways of using the web possible • Users create the content • Companies provide the platforms • Wikipedia, eBay, MySpace, Facebook, Flickr, YouTube
Web Services • Functionality of existing applications and websites is provided to public • Large companies provide services • Amazon Web Services, Google Maps • Small businesses create niche web applications • e.g. combine maps web services with classifieds
Future: Web x.0 • Semantic Web • Understand the meaning of the data on the web • Petabyte statistics • Is it needed to understand the web? • Inferences based on super-huge data amounts work
Web Elements: Markup Languages • Define data • Platform-independent • HTML • HyperText Markup Language • defines web page elements and their layout • fixed, predefined elements and grammar • elements can overlap, not strictly a tree • XML • eXtended Markup Language • arbitrary elements • strictly hierarchical • processed using scripting languages • XHTML • XML–compliant HTML
Web Elements: Programming Languages • Scripting Languages • interpreted • slow to execute • flexible: direct evaluation of text as code possible • e.g. JavaScript, Perl, ActionScript, PHP, Ruby on Rails • Compiled (or Hybrid) Languages • e.g. C, C++, Java, C# • extra compilation step • fast execution • hybrid: compiled into intermediate code, then interpreted • used on server-side
Scripting vs. Compiled Languages • Scripting languages start executing fast, but are much slower during execution • no compilation step • interpreters are slow • Scripting languages are easier to port to another platform • It is harder to write a compiler than to write an interpreter • Scripting languages are more dynamic • e.g., server-side applications can generate code and send it to the browser where it can then be immediately interpreted
Object-Oriented Programming • Vastly superior paradigm • Programmers can be more productive • software can be easier to write, understand, debug and modify • Reusable software components • Extensive free libraries are available online! • Languages for Web programming are object-oriented – take advantages of it • JavaScript, Java, C#, ActionScript
Tasks • Read textbook Chapter 1 and Chapter 2