Web Information Organization

UNC SILS, INLS 620, Fall 2015

August 18
Introduction & Overview

View slides Updated Wednesday 4/17 11:08 PM

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

August 20
History of the Web

View slides Updated Wednesday 4/17 11:08 PM

It now seems hard to imagine a time before the Web, but it is less than a quarter-century 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 25
Internet Architecture

View slides Updated Wednesday 4/17 11:08 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. 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.

  2. Kessler, Gary C. “An Overview of TCP/IP Protocols and the Internet”, 2010. http://www.garykessler.net/library/tcpip.html.
    Reading tips

    This memo provides a broad overview of the Internet and TCP/IP, with an emphasis on history, terms, and concepts. It is meant as a brief guide and starting point, referring to many other sources for more detailed information.

  3. Leiner, Barry M, Vinton G Cerf, David D Clark, Robert E Kahn, Leonard Kleinrock, Daniel C Lynch, Jon Postel, Larry G Roberts, and Stephen Wolf. “A Brief History of the Internet.” arXiv:cs/9901011 (January 22, 1999). http://arxiv.org/abs/cs/9901011.
    Reading tips

    Several founders of the Internet share their views of its origins and history. This history revolves around four distinct aspects: technological evolution, operations and management, social coordination, and commercialization.

August 27
What Happens When You Click on a Link

View slides Updated Wednesday 4/17 11:08 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 1
Making HTTP Requests

📖 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 3
HTTP: Statelessness

View slides Updated Wednesday 4/17 11:08 PM

September 8
Web Architecture: Components

View slides Updated Wednesday 4/17 11:08 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.

September 10
Web Architecture: Connectors

View slides Updated Wednesday 4/17 11:08 PM

📖 To read before this meeting:

  1. Wikipedia contributors. “Web cache.” Wikipedia, The Free Encyclopedia, September 10, 2011. http://en.wikipedia.org/w/index.php?title=Web_cache&oldid=449430080.
  2. Apps, Ann, and Ross MacIntyre. “Why OpenURL?” D-Lib Magazine 12, no. 5 (May 2006). doi:10.1045/may2006-apps. http://dx.doi.org/10.1045/may2006-apps.

September 15
Resources & Representations

View slides Updated Wednesday 4/17 11:08 PM

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

Ryan will be out of town for the TPDL conference. Guest lecturer: Patrick Golden.

📖 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 15
Designing a State Machine due

September 17
Hypermedia I

View slides Updated Wednesday 4/17 11:08 PM

Ryan will be out of town for the TPDL conference. Guest lecturer: Patrick Golden.

📖 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 22
Hypermedia II

View slides Updated Wednesday 4/17 11:08 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 24
Hypermedia III

View slides Updated Wednesday 4/17 11:08 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.

September 29
Architectural Properties & Styles

View slides Updated Wednesday 4/17 11:08 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.

September 29
Resources and Representations due

October 1
REpresentational State Transfer

📖 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 6
Designing Representations

Today we will work on assignment #3 in class together.

October 8
Midterm Review

📖 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 13
Midterm

October 15
Fall Break

October 20
Implementing an HTTP Server I

October 20
Midterm due

October 22
Implementing an HTTP Server II

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

October 27
Implementing an HTTP Server III

October 29
JavaScript Object Notation (JSON)

📖 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 3
Project Work Day

November 5
HyperText Markup Language

View slides Updated Wednesday 4/17 11:08 PM

📖 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 10
Microdata

View slides Updated Wednesday 4/17 11:08 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 12
RDF & Linked Data

View slides Updated Wednesday 4/17 11:08 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 17
Resource Description Framework in Attributes (RDFa)

View slides Updated Wednesday 4/17 11:08 PM

In addition to the readings below, you may also want to take a look at rdfa.info for more RDF-related resources.

📖 To read before this meeting:

  1. Adida, Ben, Mark Birbeck, Ivan Herman, and Manu Sporny. RDFa 1.1 Primer - Second Edition. W3C Working Group Note. W3C, n.d. http://www.w3.org/TR/rdfa-primer/.

November 19
JSON-LD

View slides Updated Wednesday 4/17 11:08 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 24
Hypermedia-Driven Web APIs: Hydra

Hydra is a lightweight vocabulary to create hypermedia-driven Web APIs. By specifying a number of concepts commonly used in Web APIs it enables the creation of generic API clients.

📖 To read before this meeting:

  1. Lanthaler, Markus. “Full-on Hypermedia APIs with Hydra.” presented at the API Strategy & Practice Conference, Amsterdam, 2014. https://www.youtube.com/watch?v=lKIapoimPRo&t=33m48s.

November 26
Thanksgiving

December 1
Project Work Day

December 8
Final Projects Due

Your final projects are due at 8am today. We will meet from 8am to 11am (the time when we would ordinarily give a final exam) to do a “post-mortem” on the final projects.

December 8
Final Project due