Web Information Organization

UNC School of Information and Library Science, INLS 620, Fall 2017

August 22
Introduction & Overview

We meet one another, and I tell you what this class is going to be about.

August 24
History of the Web

It now seems hard to imagine a time before the Web, but it is not that old. Understanding why and how it was developed is key to understanding its current evolution.

To read before this class:

  1. History of the Web. Oxford Brookes University, 2002. PDF.
    Reading tips

    A concise yet thorough history of the origins and development of the Web. Pay particular attention to Appendices C and D, in which Tim Berners-Lee outlines his proposal for the project that would become the Web.

  2. Berners-Lee, Tim. “Enquire Within upon Everything; Tangles, Links, and Webs; info.cern.ch.” In Weaving the Web. San Francisco: Harper, 1999. PDF.
    Reading tips

    This optional but short excerpt from Tim Berners-Lee’s book explains in his own words how the Web got started.

August 29
Internet Architecture

The Web is built upon the Internet, so some basic knowledge of the Internet’s architecture is a prerequisite for understanding Web architecture.

To read before this class:

  1. Galloway, Alexander R. “Introduction.” In Protocol: How Control Exists after Decentralization, 4–12. Cambridge, Mass.: MIT Press, 2004. PDF.
  2. Yanowitz, Jason. “Under the hood of the Internet: an overview of the TCP/IP protocol suite.” Crossroads 1, no. 1 (September 1994): 8–10. http://dx.doi.org/10.1145/197177.197182.
    Reading tips

    A brief and accessible introduction to TCP/IP, the protocols used on the Internet.

August 31
Internet architecture (continued)

September 5
What Happens When You Click on a Link

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “Surfing the Web.” In RESTful Web APIs, 1–16. Sebastopol, California: O’Reilly, 2013. PDF.

September 7
HyperText Transfer Protocol (HTTP)

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “A Simple API.” In RESTful Web APIs, 17–28. Sebastopol, California: O’Reilly, 2013. PDF.

September 12
HTTP (continued)

September 14
HTTP (continued)

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “Resources and Representations.” In RESTful Web APIs, 29–43. Sebastopol, California: O’Reilly, 2013. PDF.

September 19
Web Architecture: Components & Connectors

We can describe the basic architecture of the Web in terms of a set of components, connections between those components, and data transferred via these connections.

To read before this class:

  1. Taylor, Richard N., Nenad Medvidovic, and Eric M. Dashofy. “The Architecture of the Web.” In Software Architecture: Foundations, Theory, and Practice. Hoboken, New Jersey: Wiley, 2010. PDF.
  2. Maglio, Paul, and Rob Barrett. “Intermediaries Personalize Information Streams.” Commun. ACM 43, no. 8 (August 2000): 96–101. doi:10.1145/345124.345158. http://dx.doi.org/10.1145/345124.345158.
  3. Wikipedia contributors. “Web cache.” Wikipedia, The Free Encyclopedia, September 10, 2011. http://en.wikipedia.org/w/index.php?title=Web_cache&oldid=449430080.

September 21
Hypermedia I

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “Hypermedia.” In RESTful Web APIs, 45–57. Sebastopol, California: O’Reilly, 2013. PDF.

September 26
Hypermedia II

Designing a State Machine due

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “Domain-Specific Designs.” In RESTful Web APIs, 59–90. Sebastopol, California: O’Reilly, 2013.

September 28
Hypermedia III

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “The Collection Pattern.” In RESTful Web APIs, 91–108. Sebastopol, California: O’Reilly, 2013.

October 3
Architectural Properties & Styles

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “An API Designer’s Guide to the Fielding Dissertation.” In RESTful Web APIs, 341–55. Sebastopol, California: O’Reilly, 2013.
  2. Taylor, Richard N., Nenad Medvidovic, and Eric M. Dashofy. “Architectural Style.” In Software Architecture: Foundations, Theory, and Practice, 72-73. Hoboken, New Jersey: Wiley, 2010. PDF.
  3. Fielding, Roy. “Network-based Application Architectures & Network-based Architectural Styles.” In Architectural Styles and the Design of Network-based Software Architectures, 24-60. Irvine, CA: University of California, Irvine, 2000. PDF.

October 5
REpresentational State Transfer (REST)

Resources and Representations due

To read before this class:

  1. Taylor, Richard N., Nenad Medvidovic, and Eric M. Dashofy. “The REpresentational State Transfer Style.” In Software Architecture: Foundations, Theory, and Practice, 416-422. Hoboken, New Jersey: Wiley, 2010. PDF.
  2. Fielding, Roy. “Designing the Web Architecture & Representational State Transfer.” In Architectural Styles and the Design of Network-based Software Architectures, 66-103. Irvine, CA: University of California, Irvine, 2000. PDF.

October 10
Midterm Review

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “The Design Procedure.” In RESTful Web APIs, 157–97. Sebastopol, California: O’Reilly, 2013.

October 12
University Day

No class.

October 17
Midterm

October 19
Fall Break

No class.

October 24
Implementing an HTTP Server I

October 26
Implementing an HTTP Server II

Before today please take a look at the documentation for the Flask framework and the Flask-RESTful extension.

October 31
Implementing an HTTP Server III

November 2
HyperText Markup Language (HTML)

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “Pure-Hypermedia Designs.” In RESTful Web APIs, 109–32. Sebastopol, California: O’Reilly, 2013.

November 7
Microdata

To read before this class:

  1. Ronallo, Jason. “HTML5 Microdata and Schema.org.” Code4Lib Journal, no. 16 (2012). http://journal.code4lib.org/articles/6400.
  2. “Getting Started with Schema.org.” Schema.org, n.d. http://schema.org/docs/gs.html.

November 9
JavaScript Object Notation (JSON) and Metamodels

To read before this class:

  1. Lengstorf, Jason. “JSON: What It Is, How It Works, & How to Use It.” Copter Labs. Accessed October 23, 2014. http://www.copterlabs.com/blog/json-what-it-is-how-it-works-how-to-use-it/.
  2. Shaw, Ryan, and Murray Maloney. “8. The Forms of Resource Descriptions.” In The Discipline of Organizing, edited by Robert J. Glushko, 3rd ed. O’Reilly, 2015.

November 14
Resource Description Framework (RDF) & Linked Data

Designing Representations due

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “Resource Description and Linked Data.” In RESTful Web APIs, 263–86. Sebastopol, California: O’Reilly, 2013. PDF.

November 16
JSON for Linked Data (JSON-LD)

In addition to the reading below, you may also want to take a look at json-ld.org.

To read before this class:

  1. Sporny, Manu. What Is JSON-LD?, 2012. https://www.youtube.com/watch?v=vioCbTo3C-4.
  2. Lanthaler, Markus, and Christian Gütl. “On Using JSON-LD to Create Evolvable RESTful Services.” Lyon, 2012. http://www.markus-lanthaler.com/research/on-using-json-ld-to-create-evolvable-restful-services.pdf.

November 21
Cancelled

No class.

November 23
Thanksgiving

No class.

November 28
Web Security I

To read before this class:

  1. Richardson, Leonard, and Mike Amundsen. “Authentication.” In RESTful Web APIs, 249–57. O’Reilly, 2013.
  2. Stuttard, Dafydd, and Marcus Pinto. “Attacking Authentication.” In The Web Application Hacker’s Handbook, 2nd ed., 159–203. Wiley, 2011. http://site.ebrary.com/lib/uncch/reader.action?ppg=195&docID=10494632.

November 30
Web Security II

To read before this class:

  1. Stuttard, Dafydd, and Marcus Pinto. “Web Application (In)security.” In The Web Application Hacker’s Handbook, 2nd ed., 1–16. Wiley, 2011. http://site.ebrary.com/lib/uncch/reader.action?ppg=37&docID=10494632&tm=1480427238223.
  2. Open Web Application Security Project. “OWASP Top 10 for 2013,” 2013. https://www.owasp.org/index.php/Top_10_2013.

December 5
Project Work Day

You will work on your final projects, and I will be available for questions and troubleshooting.

December 12
Final Projects Due