Web Information Organization

UNC SILS, INLS 620, Fall 2017

August 22
Introduction & Overview

View slides Updated Thursday 4/25 6:32 PM

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

August 24
History of the Web

View slides Updated Thursday 4/25 6:32 PM

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 meeting:

  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

View slides Updated Thursday 4/25 6:32 PM

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 meeting:

  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)

View slides Updated Thursday 4/25 6:32 PM

September 5
What Happens When You Click on a Link

View slides Updated Thursday 4/25 6:32 PM

Total amount of required reading for this meeting: 4,500 words

📖 To read before this meeting:

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

September 7
HyperText Transfer Protocol (HTTP)

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

  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)

View slides Updated Thursday 4/25 6:32 PM

September 14
HTTP (continued)

View slides Updated Thursday 4/25 6:32 PM

Total amount of required reading for this meeting: 4,900 words

📖 To read before this meeting:

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

September 19
Web Architecture: Components & Connectors

View slides Updated Thursday 4/25 6:32 PM

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 meeting:

  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

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

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

September 26
Hypermedia II

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

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

September 26
Designing a State Machine due

September 28
Hypermedia III

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

  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

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

  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)

📖 To read before this meeting:

  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 5
Resources and Representations due

October 10
Midterm Review

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

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

October 12
University Day

October 17
Midterm

October 19
Fall Break

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 meeting:

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

November 7
Microdata

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

  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

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

  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

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

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

November 14
Designing Representations due

November 16
JSON for Linked Data (JSON-LD)

View slides Updated Thursday 4/25 6:32 PM

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

📖 To read before this meeting:

  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

November 23
Thanksgiving

November 28
Web Security I

View slides Updated Thursday 4/25 6:32 PM

📖 To read before this meeting:

  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 meeting:

  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

December 12
Final Project due