Topics
in Software Engineering
Architecture and Design of Internet Information Systems
UC Santa Cruz – CMPS 290G – Winter 2002
T Th 10-11:45AM
Cowell Administration 113
http://www.cs.ucsc.edu/~ejw/courses/290gw02/
READING LIST
· Theodor Holm Nelson, Literary Machines, Mindful Press, Sausalito, 1993 (originally published in 1980).
· Andy Oram, ed., Peer-to-Peer: Harnessing the Power of Disruptive Technologies, O’Reilly & Associates, Sebastopol, CA, 2001.
Recommended Text:
·
Balachander Krishnamurthy, Jennifer Rexford, Web
Protocols and Practice: HTTP/1.1 Networking Protocols, Caching, and Traffic
Measurement, Addison-Wesley, Boston, 2001.
Background reading (if you don’t have a solid understanding of TCP/IP and UDP):
· Douglas E. Comer, “Internetworking with TCP/IP, Volume I, Principles, Protocol, and Architecture,” Prentice-Hall, 4th Edition, 2000.
Chapter 7: Internet Protocol: Connectionless Datagram Delivery
Chapter 13: Reliable Stream Transport Service (TCP)
Required reading:
· C. Partridge and M. Rose, “A Comparison of External Data Formats,” in Message Handling Systems and Distributed Applications, ed. by E. Stefferud and O. Jacobsen, Elsevier-North Holland, 1989, pp. 233-246. ERES
· Bert Bos, “XML in 10 Points,” http://www.w3.org/XML/1999/XML-in-10-points.
· Norman Walsh, “What Do XML Documents Look Like?” http://www.xml.com/pub/a/98/10/guide2.html, xml.com, October 3, 1998.
· Rohit Khare, “I Want My FTP: Bits on Demand,” IEEE Internet Computing, Vol. 2, No. 4, July-Aug. 1998, pp. 88-91. IEEE Digital Library
· Rohit Khare, “The Spec's in the Mail,” IEEE Internet Computing, Vol. 2, No. 5, Sept.-Oct. 1998, pp. 82-86. IEEE Digital Library
· N. Freed, N. Borenstein, “Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies,” RFC 2045, November, 1996. http://www.faqs.org/rfcs/rfc2045.html
· Rohit Khare, Adam Rifkin, “The Origin of (Document) Species,” in Proc. 7th Int’l World Wide Web Conference (WWW7), Brisbane, Australia, April 14-18, 1998, pp. 389-397. http://www.cs.caltech.edu/~adam/papers/www/origin-of-species.html
Further reading:
· Douglas Steedman, “Abstract Syntax Notation One (ASN.1): The Tutorial and Reference,” Technology Appraisals, London, 1990. ERES
·
Douglas E. Comer, Internetworking with TCP/IP,
Volume 3, Client/Server Programming and Applications – Linux/POSIX Version,
Prentice-Hall, 4th Edition, 2000.
Chapter 20: External Data Representation (XDR)
Chapter 21: Remote Procedure Call Concept (RPC)
· Tim Howes, Mark Smith, Gordon Good, Understanding and Deploying LDAP Directory Services, MacMillan, 1999. Chapter 3 – “An Introduction to LDAP” ERES
· Tim Berners-Lee, James Hendler and Ora Lassila, “The Semantic Web”, Scientific American, May 2001. http://www.sciam.com/2001/0501issue/0501berners-lee.html
· Tim Berners-Lee, Dan Connolly, Ralph R. Swick, “Web Architecture: Describing and Exchanging Data”, W3C Note 7 June 1999. http://www.w3.org/1999/04/WebData
· Richard Hull, Roger King, “Semantic Data Modeling: Survey, Applications, and Research Issues,” ACM Computing Surveys, Vol. 19, No. 3, 1987, pp. 201-260. Read only Sections 1 and 2, pp. 201-230. ACM Digital Library
· Dan Brickley, R.V. Guha, “Resource Description Framework (RDF) Schema Specification 1.0,” W3C Candidate Recommendation, http://www.w3.org/TR/rdf-schema/
Further reading:
· F. Dawson, D. Stenerson, “Internet Calendaring and Scheduling Core Object Specification: (iCalendar),” RFC 2445, Nov. 1998. http://www.faqs.org/rfcs/rfc2445.html
· Michael Arick, Libby Miller, “A hybrid RDF schema based on iCalendar,” June 24, 2001. http://www.cse.ucsc.edu/~marick/HybridCal/index.html
Week3:
·
M. Shaw, D. Garlan, Software architecture:
perspectives on an emerging discipline, Mary Shaw, Prentice-Hall, Upper
Saddle River, N.J., 1996. ERES
Chapter 1, Chapter 2, “Architectural Styles”
Section 7.3, “Adding Implicit Invocation to Traditional Programming Languages”
·
Bill Janssen, Mike Spreitzer, Dan Larner, Chris Jacobi,
“ILU 2.0beta1 Reference Manual,” ftp://ftp.parc.xerox.com/pub/ilu/2.0b1/manual-html/manual_toc.html,
2000.
Section “ILU Concepts” only
· M. Gudgin, M. Hadley, Jean-Jacques Moreau, H. F. Nielsen, “SOAP Version 1.2 Part 1: Messaging Framework,” W3C Working Draft, 17 December 2001. http://www.w3.org/TR/soap12-part1/
·
William Ruh, Thomas Herron, Paul Klinker, IIOP
Complete: understanding CORBA and Middleware Interoperability Addison
Wesley Longman, 2000. ERES
Chapter 1, “An Introduction to IIOP”
Chapter 2, “Middleware and IIOP”
Week 4:
· I. Foster, C. Kesselman, S. Tuecke, “The Anatomy of the Grid: Enabling Scalable Virtual Organizations,” (to be published in Intl. J. Supercomputer Applications, 2001) http://www.globus.org/research/papers/anatomy.pdf
· Satyanarayanan, M., “Scalable, Secure, and Highly Available Distributed File Access,” IEEE Computer, May 1990, Vol. 23, No. 5. http://www.cs.cmu.edu/afs/cs/project/coda/Web/docdir/scalable90.pdf
· Roy Fielding, Richard N. Taylor, “Principled Design of the Modern Web Architecture,” In Proc. 2000 Int’l Conference on Software Engineering (ICSE 2000), Limerick, Ireland, p. 407-416. ACM Digital Library
· Tim O’Reilly, “Remaking the Peer-to-Peer Meme,” in Peer-to-Peer, ed. by Andy Oram, O’Reilly, Sebastapol, CA, 2001, pp. 38-58.
· Adam Rifkin, Rohit Khare, “The Evolution of Internet-Scale Event Notification Services,” slides presented at the Workshop on Internet Scale Event Notification (WISEN), Irvine, CA, July 13-14, 1998. http://www.cs.caltech.edu/~adam/isen/evolution-of-isens/
Further reading:
· Nelson Minar, Marc Hedlund, “A Network of Peers: Peer-to-Peer Models Throughout the History of the Internet,” in Peer-to-Peer, pp. 3-20.
· Clay Shirky, “Listening to Napster,” in Peer-to-Peer, pp. 21-37.
· Representational State Transfer (REST) Wiki
· Cosm toolkit for developing open distributed computations (like Folding@Home, which uses Cosm)
·
Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Fundamentals
of Software Engineering, Prentice Hall, Englewood Cliffs, NJ, 1991. ERES
Chapter 2, “Software: Its Nature and Qualities,” pp. 17-36 (Sections 2.1 and
2.2)
Chapter 3, “Software Engineering Principles,” pp. 43-53 (Sections 3.1-3.4)
· Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, E. James Whitehead, Jr., Jason E. Robbins, Kari A. Nies, Peyman Oreizy, and Deborah L. Dubrow “A Component and Message-Based Architectural Style for GUI Software.” IEEE Transactions on Software Engineering, Vol. 22, No. 6, June 1996, pages 390-406. IEEE Digital Library
· A. Carzaniga, D.S. Rosenblum, and A.L. Wolf, “Design and Evaluation of a Wide-Area Event Notification Service” ACM Transactions on Computer Systems, Vol. 19, No. 3, Aug 2001, pp. 332-383. ACM Digital Library Read sections 1-4 inclusive (through page 348).
· E. James Whitehead, Jr. “Control Choices and Network Effects in Hypertext Systems.” In Proceedings of Hypertext'99, The 10th ACM Conference on Hypertext and Hypermedia, Darmstadt, Germany, February 21-25, 1999, pages 75-82. http://www.soe.ucsc.edu/~ejw/papers/whitehead_ht99.pdf
· Ole Hanseth, Eric Monteiro, Morten Hatling, “Developing Information Infrastructure: The Tension Between Standardization and Flexibility,” Science, Technology, and Human Values, Vol. 2., No. 4, 1996, pp. 407-426. ERES
Further reading:
· Rohit Khare, “Who killed Gopher? An extensible murder mystery,” IEEE Internet Computing, Vol. 3 No. 1, Jan.-Feb., 1999, pp. 81-84. IEEE Digital Library
· T. Berners-Lee, R. Fielding, L. Masinter, “Uniform Resource Identifiers (URI): Generic Syntax,” RFC 2396, August, 1998. (read to the start of Section 1.6) http://www.faqs.org/rfcs/rfc2396.html
· K. Sollins, L. Mastiner, “Functional Requirements for Uniform Resource Names,” RFC 1737, December 1994. http://www.faqs.org/rfcs/rfc1737.html
· Stuart Weibel, Erik Jul, Keith Shafer, “PURLs: Persistent Uniform Resource Locators,” http://purl.oclc.org/OCLC/PURL/SUMMARY.
· Theodor Holm Nelson, “Tumbling Through the Docuverse: Designer Addresses for Everything,” in Literary Machines, Mindful Press, Sausalito, 1993 (originally published in 1980), pp. 4/15-4/40.
· E. James Whitehead, Jr., “An Analysis of the Hypertext Versioning Domain,” Ph.D Dissertation, UC Irvine, September, 2000. Chapter 5 only, “Address and Name Spaces”, pp. 68-73. http://www.soe.ucsc.edu/~ejw/papers/whitehead_diss.pdf
· Arms, William Y., Christophe Blanchi, Edward A. Overly, “An Architecture for Information in Digital Libraries”, D-Lib Magazine, February 1997. http://www.dlib.org/dlib/february97/cnri/02arms1.html.
· RealNames, “About Keywords”, http://www.realnames.com/Virtual.asp?page=Eng_Corporate_How_Work. Read, but do not write an evaluation (too short).
· Theodor Holm Nelson, Chapter 0 & part of Chapter 1, “Hyperworld, An Obvious Vision, The Sense of Wonderful Developments,” in Literary Machines, pp. 0/1-1/10.
· Jeff Conklin, excerpt from “Hypertext: An Introduction and Survey,” IEEE Computer, Vol. 20, No. 9, Sept. 1987, pp. 17-20, 32-41, as published in Readings in Groupware and Computer-Supported Collaborative Work, ed. by Ronald M. Baecker, Morgan Kaufmann, San Mateo, 1993. ERES
· R. Fielding, J. Gettys, J. C. Mogul, H. Frystyk Nielsen, L. Masinter, P. Leach, T. Berners-Lee, “Hypertext Transfer Protocol -- HTTP/1.1”, RFC 2616, June, 1999. (Sections 4-7, 9) http://www.faqs.org/rfcs/rfc2616.html
· B. Krishnamurthy, Jennifer Rexford, “Web Protocols and Practice,” Addison-Wesley, Boston, 2001. (Chapter 6, “HTTP Protocol Design and Description”, pp. 173-207). ERES
· Video clips from Douglas Engelbart’s 1968 Fall Join Computer Conference demonstration of NLS. Video available online at: http://sloan.stanford.edu/MouseSite/1968Demo.html.
o http://vodreal.stanford.edu/engel/02engel200.ram
o http://vodreal.stanford.edu/engel/03engel200.ram
o http://vodreal.stanford.edu/engel/07engel200.ram
o http://vodreal.stanford.edu/engel/08engel200.ram
o http://vodreal.stanford.edu/engel/11engel200.ram
o http://vodreal.stanford.edu/engel/22engel200.ram
o http://vodreal.stanford.edu/engel/23engel200.ram
o http://vodreal.stanford.edu/engel/25engel200.ram
o http://vodreal.stanford.edu/engel/34engel200.ram
· Rael Dornfest, Dan Brickley, “Metadata,” in Peer-to-Peer, pp. 191-202.
Further reading:
· Anne J. Gilliland-Sweetland, “Defining Metadata”, in “Introduction to metadata: pathways to digital information,” ed. Murtha Baca. Getty Information Institute, 1998, pages 1-8. ERES
· Z39.50 Maintenance Agency, “Information Retrieval (Z39.50): Application Service Definition and Protocol Specification” ANSI/NISO Z39.50-1995. ftp://ftp.loc.gov/pub/z3950/official/part1.pdf
· C. A. Ellis, S. J. Gibbs, “Concurrency Control in Groupware Systems,” Proc. ACM SIGMOD'89 Conference on the Management of Data, Seattle, WA, 1989, pages 399-407. ACM Digital Library
· “Wiki Wiki Web,” http://c2.com/cgi-bin/wiki?WikiWikiWeb. Read sections: One Minute Wiki, More About Mechanics, Why Wiki Works.
· David Hauslaib, “Which Blog is Best for You?” WebReview, August 24, 2001, http://webreview.com/2001/08_24/webauthors/index03.shtml
· E. James Whitehead, Jr., Yaron Y. Goland, “WebDAV: A network protocol for remote collaborative authoring on the Web,” Proc. Sixth European Conference on Computer-Supported Cooperative Work, Sept. 12-16, 1999, Copenhagen, Denmark, pages 291-310. http://www.soe.ucsc.edu/~ejw/papers/dav-ecscw.pdf
Week 8:
· Susan Dart, “Concepts in Configuration Management Systems,” In Proc. Third Int'l Workshop on Software Configuration Management (SCM-3), Trondheim, Norway, 1991, pp. 1-18. ACM Digital Library
Week 9:
· David B. Leblang, “The CM Challenge: Configuration Management that Works,” in Configuration Management, ed. W. Tichy, 1994, pp. 1-37. ERES
· Jim Whitehead, “DeltaV: Adding Versioning to the Web,” http://www.webdav.org/deltav/WWW10/deltav-intro.pdf
· Theodor Holm Nelson, Literary Machines, Sections 2.3 (“A True Storage System for Text and Other Evolving Structures” and 2.4 (“A Linking System for Text and Other Data”)
· E. James Whitehead, Jr., “Design Spaces for Link and Structure Versioning.” In Proceedings of Hypertext'01, the 12th ACM Conference on Hypertext and Hypermedia, Århus, Denmark, August 14-18, 2001. http://www.soe.ucsc.edu/~ejw/papers/whitehead_ht01.pdf
Further reading:
· André van der Hoek, Antonio Carzaniga, Dennis Heimbigner, and Alexander L. Wolf, “A Testbed for Configuration Management Policy Programming,” to appear, IEEE Transactions on Software Engineering. http://www.ics.uci.edu/~andre/research/papers/TSE2001.pdf
· Christine M. Neuwirth, David S. Kaufer, Ravinder Chandhok, James H. Morris, “Computer Support for Distributed Collaborative Writing: Defining Parameters of Interaction,” Proc. CSCW'94, Chapel Hill, NC, Oct. 22-26, 1994, pages 145-152. ACM Digital Library
· David L. Hicks, John J. Leggett, Peter J. Nürnberg, John L. Schnase, “A Hypermedia Version Control Framework,” ACM Transactions on Information Systems, Vol. 16, No. 2, April 1998, pp. 127-160. ACM Digital Library
· Collaborative Authoring Resources
· Gene Kan, “Gnutella”, in Peer-to-Peer, pp. 94-122.
· Adam Langley, “Freenet”, in Peer-to-Peer, pp. 123-132.
· Marc Waldman, Avi Rubin, “Trust”, in Peer-to-Peer, pp. 242-270.
· Roger Dingledine, Michael J. Freedman, David Molnar, “Accountability,” in Peer-to-Peer, pp. 271-340.
Further reading:
· James E. McDermott, John E. Phillips, “Administering Usenet News Servers,” Chapter 2: “The History of USENET News” (pages 13-19) Addison-Wesley Developers Press, Reading, Mass, 1997.
· drscholl@users.sourceforge.net, “Napster Messages,” http://opennap.sourceforge.net/napster.txt, April 7, 2000.
· Roger Dingledine, Michael J. Freedman, David Molnar, “Free Haven,” in Peer-to-Peer, pp. 159-187.
· “What is Gnutella?” http://www.gnutellanews.com/information/what_is_gnutella.shtml
· Clip2, “Gnutella Protocol Specification v0.4” http://www.clip2.com/GnutellaProtocol04.pdf
· Remaining chapters in Peer-to-Peer