13.07.2015 Views

Software Engineering for Internet Applications - Student Community

Software Engineering for Internet Applications - Student Community

Software Engineering for Internet Applications - Student Community

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A final problem with cookies is that a small percentage of users havedisabled them due to the privacy problems raised in the "UserTracking" chapter of Philip and Alex's Guide to Web Publishing(http://philip.greenspun.com/panda/user-tracking).A reasonable engineering approach to using cookies is to send aunique identifier <strong>for</strong> the data rather than the data. In<strong>for</strong>mation aboutthe contents of the shopping cart will be kept in some sort of log onthe server. This means that it can be picked up from another location.To see how this works in practice, go to an operating system shelland request the home page of photo.net:bash-2.03$ telnet www.eveandersson.com 80Trying 64.94.245.206...Connected to www.eveandersson.com.Escape character is '^]'.GET / HTTP/1.0HTTP/1.0 200 OKSet-Cookie: ad_browser_id=3291092; Path=/;Expires=Fri, 01-Jan-2010 01:00:00 GMTSet-Cookie:ad_session_id=3291093%2c0%2c6634C478EF46FC%2c10622158; Path=/; Max-Age=86400Set-Cookie: last_visit=1071622158; path=/;expires=Fri, 01-Jan-2010 01:00:00 GMTContent-Type: text/html; charset=iso-8859-1MIME-Version: 1.0Date: Wed, 17 Dec 2003 00:49:18 GMTServer: AOLserver/3.3.1+ad13Content-Length: 8289Connection: close...Note that two cookies are set. The first one, ad_browser_id isgiven an explicit expiration date in January 2010. This instructs thebrowser to record the cookie value, in this case "87717925", on thehard drive. The cookie's value will continue to be sent back up to theserver <strong>for</strong> the next decade, even if the user quits and restarts thebrowser. What's the point of having a browser cookie? If the usersays "I prefer text-only" or "I prefer French language" that's probablydescription, MIT has one or more full-semester courses exclusivelydevoted to that topic.Experiences like these led us to develop <strong>Software</strong> <strong>Engineering</strong> <strong>for</strong><strong>Internet</strong> <strong>Applications</strong> and the corresponding survey course in buildingcomputer systems <strong>for</strong> collaboration.Using this book <strong>for</strong> a thesis projectMost computer science programs require bachelor's candidates toengage in an open-ended development project, either as a"capstone" project or a thesis. Oftentimes this freedom inherent inthis requirement serves as the quantity of rope sufficient <strong>for</strong> a studentto hang him or herself. The student might choose to build anythingfrom a graphics system to a compiler. A faculty member supervisingthe project might have to do a fair amount of work merely todetermine what standards are appropriate in the student's chosenarea. For example, if it is a compiler project, is it reasonable to expectthe student to develop a complete Ada compiler in Lisp in one year?The core of an ML type-inferencer? A simple optimizing modificationto gcc?If you agree with the student to work within the framework of <strong>Internet</strong>Application Workbook the project has enough structure that risk isminimized yet enough flexibility that the student's creativity canflower. For example, using this book means that the student will beusing a relational database management system. All of the code thatyou have to review will be in SQL. Yet the student is free toexperiment with the operating system and HTML glue environment ofhis or her choice. The student will be building an <strong>Internet</strong> applicationthat has user registration, content management, a discussion <strong>for</strong>um,and full-text search, and a combination of the book and the public<strong>Internet</strong> provide a good context <strong>for</strong> evaluating the student'sachievement in these areas. Yet almost any client will put be<strong>for</strong>e thestudent idiosyncratic challenges that should give the student anopportunity to build something unusual.We consider Mozart to have been creative although he did notdevelop new musical <strong>for</strong>ms, relying instead on the structure laiddown by Haydn. A student will accomplish more if he or she canspend the first months of a project working rather than figuring outwhat field in which to work, roughly what the scope of the projectshould be, what tools to choose from an unlimited palette, etc.16333

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!