This course builds upon MPCS-52553 to enable students to gain mastery over modern web architectures and services.
Today's consumer-facing and business applications must consume external services and publish services of their own. Students will build interconnected chains of services, with a particular emphasis on efficiency, security, and sustainability using modern web frameworks such as Rails, React, Node, and more.
The primary topics to be covered are:
- AJAX and the asynchronous web
- Advanced HTTP semantics and implementation
- Consuming web services from both the client-side (JSON, JSONP) and server-side (JSON, XML)
- Publishing JSON/XML web services with Rails, Node, and/or other platforms
- The notion of the SPA “Single-Page App” architecture using React, Angular, and/or other frameworks
Some examples of the kind of services we will use and/or rebuild are:
- Traffic statistics (Google Analytics, Clicky, etc.)
- Link shortenting (bit.ly, etc.)
- Social Bookmarking (delicious.com, digg.com, etc.)
- Credit card processing (Stripe, PayPal, BrainTree, etc.)
- Weather data (OpenWeatherMap, Forecast.io, etc)
- Messaging (Twilio, Mandrill, etc.)
- Geolocation and Geocoding (Google Maps, OpenMaps, etc.)
Coursework & Grading
1. Three programming assignments, worth 20% each. All assignments start with a prewrittenRails application which must be modified according to
certain requirements.2. Three brief, in-class quizzes are administered at the beginning of weeks 3, 6, and 9.
Quizzes are worth 5% each and consist of fixing a small program that's broken, a set of multiple choice quesitons, or a combination of both.3. One Final Project worth 25%. The project consists of a Rails (or equivalent) application, deployed to a live internet address, that provides as useful service, provided as a REST-compliant JSON endpoint, allowing for public signups and providing an admin interface to its users.
1. "RESTful Web Services Cookbook" by Subbu Allamaraju; O'Reilly/Yahoo Press, 2010. Amazon link: http://www.amazon.com/gp/product/0596801688