Outsourcing MyUW.net & Google Apps web services Bill Corrigan Tony Chang C&C Emerging Technology
Agenda Outsourcing MyUW.net Overview Google & REST – A Google webservices API Demo Http Requests and Payload XML format Http response code & Handling Exceptions – SLA – What did we learn?
Background MyUW.Net. dial in UW resources similar to current users ~47,000 free subscribers and ~1,000 paying subscribers, not compelling or unique but address.
Current Status Scoping Project – Select one of: Microsoft Window EDU Google Apps for Education – Test Use-Case Scenarios – Analysis of security, privacy, legal, and policy factors – Communication Plan
Great new features 2Gb Storage Rich Text Editing Drag and Drop Address AutoComplete Anti-Phishing Features Keyboard Shortcuts
Calendar and Shared Calendars Powered By Contoso University Mail
Build contacts and keep your address book – stay in touch via “Live Contacts” Powered By Contoso University Mail
Microsoft Confidential Information8 Support for multiple browsers
Google Calendar
Google Talk
Docs and Spreadsheets
Implementation Schedule Goals Finish Scoping Project by March 30, 2007 Offer New Service to First Set of Users Commencing Summer, 2007 Offer to Other Users as Appropriate (Currently no plans to stop MyUW.Net, but it seems likely we will.)
Car stuck on a wire
Google & Rest REST – Representational State Transfer Architectural style for web service Google says “REST is simple, lightweight, scalable, and maps very well to representing and exposing data.” Is it REST? – Joe Gregorio (XML.com) Is it REST? – What are the URIs? – What methods are supported at each URI? – What’s the format? – What status codes could be returned? What status codes could be returned?
A Google Demo POST/GET Calendar Chunky Not Chatty Take what you want Chunked Results
Http response code & Exceptions HttpWebResponse response = authResponse as HttpWebResponse; if (response != null) { int code= (int)response.StatusCode; if (code != 200) { throw new GDataRequestException("Execution of authentication request returned unexpected result: " +code, this.Response); } Throw your own exception
SLA
Have we learned anything from this?
Reference Documents Overview of Atom How to Create a REST Protocol Building Web Services the REST Way Google Apps Apis Why is Google using REST?