CS/INFO 530 S05     TR 11:40-12:55     Olin 245

CS/INFO 530: Architecture of Large-Scale Information Systems

 
 

Course Description

The course flyer gives a course overview.

Class Hours

Tu Th 11:40-12:55 Olin 245

Staff

Instructor: A. Demers, 4115 Upson, ademers@cs.cornell.edu.

Office Hours:TBA.

Teaching Assistant: Yong Yao, 4142 Upson, yao@cs.cornell.edu.

Office Hours:TBA.

Syllabus

Here is some material we shall not cover in CIS530. You are expected to know this material from the course prerequisites (either CIS330 or CS432).

  • ER and Relational Models
  • Translation from ER to Relational
  • Relational Normal Forms
  • Relational Algebra
  • SQL, Stored Procedures, Triggers

Here is some material we shall cover only briefly. You should be comfortable with it from the course prerequisites (CS330 or CS432).

  • HTTP, Cookies
  • HTML, Forms, CSS, JavaScript
  • JSP, Servlets

At last, the subject of this course. These topics will be treated in approximately this order. These topics will appear on the Lectures page with their assigned readings from the textbooks, and sometimes additional references.

  • Architecture Review of Small Scale Systems
  • One-, Two-, Three- and N-Tier Architectures
  • Database Concurrency Control and Recovery
  • JDBC, EJB, J2EE
  • TP Monitors–Communications, Concurrency Control (2PC), Recovery
  • Database Replication
  • Queueing, Message-Oriented-Middleware (MOM)
  • Enterprise Application Integration (EAI), Message Brokers, Workflow Management
  • Availability Technologies
  • Web Services Technology: SOAP, WSDL, UDDI, etc
  • Web Service coordination and composition

Textbooks

Course material will rely on the following two textbooks, which will be on reserve in the Engineering Library:

[BN97] Bernstein, P., and E. Newcomer. Principles of Transaction Processing For the Systems Professional. Morgan Kaufmann, 1997.

This book is unfortunately a bit dated–it is written with the point of view that TP Monitors are going to take over the world, and the term “Web Services” does not even appear in the index. Nevertheless, it is a very good book for the material it covers, especially performance and availability issues.

[ACKM04] Alonso, G., F. Casati, H. Kuno and V. Machiraju. Web Services Concepts, Architectures and Applications. Springer-Verlag, 2004.

A new book, nominally about Web Services. The first half is a good treatment of conventional middleware and EAI (Enterprise Application Integration) systems.

The above books will be supplemented by handouts and readings from the Web, as appropriate. These, along with optional reference material, will appear on the Lectures page.

Grading

Grades will be based on three components:

  1. (25%) An evening prelim, date and time TBD.
  2. (30%) A final fxamination, date and time TBD.
  3. (45%) A substantial programming project.

Both the exams will open-book.

There will also be problem sets, assigned every week or two. These assignments will not be graded, but solution sets will be posted on the Homework page. You are encouraged to treat the problem sets seriously. They are an effective way to learn the material, and are made up by the same person who makes up the exams.

Academic Integrity

The usual Academic Integrity policy applies.

The Random House Dictionary defines “plagiarism” as

the appropriation or imitation of the language, ideas, and thoughts of another author, and representation of them as one's original work.
Inspired by this definition, here are explicit guidelines for homeworks, take-home exams and projects:
  • Everything you submit should be an original expression of your own understanding of the problem solution.
  • Copying even a few sentences of explanation, if you represent those sentences as your own work, is a violation of the integrity policy.
  • Paraphrasing somebody else's explanation of something you don't personally understand is a violation of the integrity policy (even if it is very difficult to detect).
  • Copying program source code is a violation of the integrity policy.
  • You are free to consult any (inanimate or animate) references: papers, textbooks, other students in the course, smart people you know, ...
  • When you make use of sources other than the lecture notes or assigned textbooks, credit your sources. For example,
    [1] Gehrke et al., Database Management Systems, Third Edition, Sec 16.7.
    [2] R. E. Tarjan, private communication.
  • It is not necessary for members of a project group to credit one another.
These are roughly the rules of the real world – they would keep you out of trouble if you were submitting a paper to a conference.
 
 

HOME | DESCRIPTION | ANNOUNCE | LECT | HW | PROJ | MAIL