Course Material
This is the course webpage for modules CMT607 and CM0356 given by Andrew Harrison
(email
).
All Modules
Lecture slides for all modules will be available from the day the lecture is given in both PDF and PowerPoint format.
Select the relevant link in the menu for your module. The slides will also be available on Blackboard.
CMT607 also has a course pack associated with it. This is a collection of relevant papers and is available from
the menu on the left. This course pack is also useful for students taking the CM0356/CM0456 courses.
You can also
check out the tutorials page which is relevant to all modules. This has a link to a zip file containing Java code examples
for some of the technologies covered in the lectures and a description of how to build and
run the examples. The tutorials and zipped code also forms the basis of any lab assignments you receive.
NOTE: Lab assignments are not assessed for any modules. The tutorials and assignments are for
you to gain a better understanding of certain technologies through a hands-on approach.
A link to the course book, From P2P and Grids to Services on the Web, is in the menu on the left. This is also available from the library.
The book covers most of the material in the course in greater detail than the lectures.
CM0356/CM0456
An overview of the CM0356/CM0456 lectures will be available from the menu on the left on the first day we meet.
Please check this overview periodically as small changes to weeks may be made if the lecturer's availability changes.
CM0456 Coursework
Module CM0456 has coursework as part of its assessment. You receive hard copies of this,
including instructions and deadlines. Links on the menu will be available at this time.
CMT607 Coursework
Module CMT607 has coursework as part of its assessment. You receive hard copies of this,
including instructions and deadlines, when we meet up. You will also be able to download PDF versions of the
coursework (after the day it is set). Links on the menu will be available at this time.
Useful Links
The Web
The W3C, http://www.w3.org/ is the World Wide Web consortium,
which is the foremost forum for information, commerce, communication and
collective understanding for the Web-related technologies. The W3C
develops interoperable technologies and releases specifications, guidelines,
software and tools. For example, the W3C has developed the specifications
for XML, SOAP and WSDL. It is the first stop on discovering standardized Internet
technologies.
The W3C, http://www.w3.org/2002/ws/ is a starting point
on the W3C Web site that lists Web service-related technologies on which W3C
is currently working.
Architectural Styles and the Design of Network-based Software Architectures Fielding's Dissertation
Chapter 5 describes Representational State Transfer.
HTTP, http://www.w3.org/Protocols/ W3C gateway to documents relating to the HTTP protocol.
Berners-Lee page at the W3C, http://www.w3.org/People/Berners-Lee/ provides links, biographies and some nice questions and answers.
W3C Semantic Web Activity http://www.w3.org/2001/sw/ is a gateway to various Semantic Web technologies.
Web Design Issues http://www.w3.org/DesignIssues/ A series of essays and thought by Tim Berners-Lee on the Web, the Semantic Web and general architectural and philosophical points. Some of these writings are now ten years old, but they still make insightful reading.
HTTP/1.1: Header Field Definitions http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html Quick link for HTTP headers.
HTTP/1.1: Status Code Definitions http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html Quick link for HTTP status codes.
Web 2.0
http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html. The concept of ``Web 2.0'' began with a conference brainstorming session between O'Reilly and MediaLive International. Dale Dougherty, Web pioneer and O'Reilly VP, noted that ``far from having crashed, the web was more important than ever, with exciting new applications and sites popping up with surprising regularity.'' This Tim O'Reilly on-line article is a good start to the Web 2.0 discussions and how the term was coined.
Microformats homepage http://microformats.org/ links to news, mailing lists and wiki.
Mashups and APIs, http://www.programmableweb.com/ is a great collection of the latest developments in the world of mashups and service APIs.
Atom Syndication Format http://tools.ietf.org/html/rfc4287 Atom from the horse's mouth. This is the Request for Comments.
Atom Publishing Protocol http://tools.ietf.org/html/rfc5023 This is the current state of the APP proposal.
Web Application Description Language https://wadl.dev.java.net/ This is the WADL project page.
Web Services
OASIS, http://www.oasis-open.org/ is a non-profit
consortium, which attempts to drive the development and adoption
of e-business standards. For example, it has developed specifications
for ebXML and UDDI.
XML.com, http://www.xml.com/ provides various resources for XML including a section on Web Services.
WebServices.org, http://www.webservices.org/ is a portal
for finding out about Web Services. It contains newsletters, introductions
to Web services, news and numerous articles.
Web Services Architect, http://www.webservicesarchitect.com/
hosts a collection of articles and links for Web Services from both a
business and a technical perspective.
Microsoft's Web Services Developer Center is a site dedicated to providing
information to Web Service developers. It hosts many useful articles
on the use of various Web Service technologies and lists the new
Web service specifications.
IBM Developer Works for Web Services contains a
number of technical articles
and specifications about Web Services and related technologies. It also
has a download section and learning resources.
WS-I, http://www.ws-i.org/ WS-I is an open, industry organization
chartered to promote Web Services interoperability across platforms,
operating systems, and programming languages.'' It works with industry
and standards organizations to respond to customer needs.
XMethods, http://www.xmethods.com/ lists the publicly
available Web Services. You can access the lists of Web Services
by using their UDDI server, for example, to dynamically discover
and connect to available resources.
Java Technology and Web Services, http://java.sun.com/webservices/index.jsp covers the various Java tools and packages that can support the
development and deployment of Web Services.
Grid Computing
Open Grid Forum (OGF), http://www.ogf.org/ contains information about Grid-related events. The OGF
is a forum of some 5000+ individual researchers and practitioners working on
distributed computing or Grid technologies, and has a wide range of
technical groups working on aspects of Grid technology and deployment.
GridForge, http://forge.gridforum.org/ is the working respository
for OGF Working and Research Groups, housing the related documents through
an open public comment process.
Globus: http://www.globus.org/ hosts the Globus middleware
for Grid computing and all associated documentation.
GRIDSTART, http://www.gridstart.org/ contains information about the EU Framework 5 IST-funded Grid research projects. You can find
links to CrossGrid, DAMIEN, DataGrid (EDG and EGEE), DataTAG, EGSO, EuroGrid, GRIA, GridLab and GRIP, along with a number of other projects that form the
GRIDSTART cluster. The project's intention is to stimulate the widespread
deployment of Grid technology by raising the awareness of potential users
of the solutions already developed or being developed. They also organize
IST Concertation Meetings on Grid Research, twice yearly, which host a
number of plenary talks and European technical working groups.
UK e-Science, http://www.rcuk.ac.uk/escience/ Here you can
find more information about the UK e-Science program.
National e-Science Center: http://www.nesc.ac.uk/ is a site
containing links to a number of projects within the UK e-Science program.
GridCafe, http://gridcafe.web.cern.ch/gridcafe/ is a place to learn
various aspects of Grid computing, from the name and the dream to a list
of concrete projects around the world.
Grid Technology Repository (GTR), http://gtr.globus.org/ was set up
as a place for people to publish and discover work related to Grid technology.
The Grid Computing, http://www.gridcomputing.com/ information center
is designed to promote the development of technologies which provide seamless and scalable access to wide-area distributed resources.
Grid Today, http://www.gridtoday.com/ provides daily news and
information for the Grid community.
The Grid Report, http://www.thegridreport.com/ is a collection of
news items about distributed and Grid computing. It contains the latest news and information about Grid computing; it's run by software engineers and its focus
is for software engineers.
Grid Computing Planet is
one of many sites run by JupiterWeb, the on-line division of Jupitermedia, which
is a leading global provider of information, images, research and events for
information technology, business and creative professionals. The Grid
Computing Planet is in the EarthWeb information section and provides
numerous articles, news events and so on, for Grid computing.
P2P Tools and Software
P2P and XML in Business, http://www.xml.com/pub/a/2001/07/11/xmlp2p.html provides an article discussing the integration of P2P and XML for businesses.
Peer-to-Peer Computing, http://p2p.ingce.unibo.it/ is
a popular yearly conference on Agents and P2P Computing (AP2PC).
P2P4B2B, http://www.stratvantage.com/directories/p2pworkgroups.htm is
a site listing non-commercial peer-to-peer efforts. The sites listed are
non-profit, open source or informational and have relevance to the business
use of P2P technology. The sites also represent standards efforts.
O'Reilly OpenP2P.com, http://www.openp2p.com/ is a site dedicated to various articles on P2P-related technology. Always interesting!
Global and Peer-to-Peer Computing, http://gp2pc.lri.fr/ is an
international yearly workshop held in conjunction with CCGrid.
Intel P2P Developer Center is a site dedicated to technologies that can leverage the power of the existing end-user's resources on the Internet.
Distributed Hash Tables, http://en.wikipedia.org/wiki/Distributed_hash_table is the wikipedia page for DHT technology.
BitTorrent, Inc., http://www.bittorrent.com/ is the home page of BitTorrent, Inc. and provides a number of BitTorrent related resources.
Wired, http://www.wired.com/techbiz/startups/news/2007/12/YE_10_startups}, \emph{Wired magazine 2003 interview with Bram Cohen, author of BitTorrent.
BitTorrent Protocol, http://www.bittorrent.org/beps/bep_0003.html} is the location of the Official {BitTorrent Protocol Specification.
Doug Walker Interview, http://gigaom.com/2008/03/09/bittorrrent-ceo-doug-walker-interview/ - video interview with new CEO for BitTorrent.
Gnutelliums, http://www.gnutelliums.com/ provides a
comprehensive directory of Gnutella clients
for Windows, Linux/Unix and Macintosh, some of which are
provided below:
BearShare, http://www.bearshare.com is a
Windows file sharing program from Free Peers, Inc.
Gnotella, http://www.gnotella.com is a clone of
Gnutella for Windows.
Gnucleus, http://gnucleus.sourceforge.net/ is an
open Gnutella client for Windows.
LimeWire, http://www.limewire.com is a very
popular Java-based Gnutella client.
Phex, http://www.konrad-haenel.de/phex/ is also
a Java client, based on William W. Wong's Furi.
Toadnode, http://www.toadnode.com is an
extensible platform for P2P networks. Its core functionality
revolves around the ability to find, retrieve and distribute data
between users across multiple networks.
Gnut, http://www.gnutelliums.com/linux_unix/gnut/ is a
com-mand-line client which implements the Gnutella protocol.
It will run on a wide range of POSIX-compliant systems including:
SunOS, Linux, FreeBSD, HP-UX and Win32.
Distributed Object Systems
The Distributed Component Object Model (DCOM), http://www.microsoft.com/com/tech/DCOM.asp is a Web site
for finding out about distributed DCM technology, which enables software
distributed components to communicate in a reliable, secure
and efficient manner. It was previously called ``Network OLE'' and was
based on the Open Software Foundation's DCE-RPC specification.
CORBA, http://www.corba.org/ is the home page for the
Common Object Request Broker Architecture (CORBA) middleware. It
contains a number of resources, CORBA success stories and pointers
to the Object Management Group.
Object Management Group (OMG), www.omg.org which is
establishing a model-driven architecture through its worldwide standard
specifications including CORBA, CORBA/IIOP, the UML, XMI, MOF,
Object Services, Internet Facilities and Domain Interface specifications.
Jini, http://www.jini.org/ is a central place for finding
information about Jini. It contains new information, has discussion
groups and allows users to exchange code and ideas.
Underlying Transport and Discovery Protocols
IANA, http://www.iana.org/, home page for the Internet Assigned Numbers Authority (IANA), responsible for the assigned IP address range.
Multicast Protocol, http://www.ietf.org/rfc/rfc1112.txt is the request for comments (RFC) Web site for the original Multicast protocol.
UDP Protocol, http://www.ietf.org/rfc/rfc768.txt is the RFC Web site for the UDP protocol.
TCP Protocol, http://www.ietf.org/rfc/rfc793.txt is the RFC Web site for the TCP protocol.
SLP Protocol, http://www.ietf.org/rfc/rfc2608.txt is the RFC Web site for the Service Location Protocol.
|