Google Apps Webservices - University of Washington

Download Report

Transcript Google Apps Webservices - University of Washington

Outsourcing MyUW.net Email
&
Google Apps web services
Bill Corrigan
Tony Chang
C&C Emerging Technology
Agenda
• Outsourcing MyUW.net Email 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 the @u email address.
Current Status
• Scoping Project
– Select one of:
• Microsoft Window Live @ EDU
• Google Apps for Education
– Test Use-Case Scenarios
– Analysis of security, privacy, legal, and policy
factors
– Communication Plan
2Gb Storage
Great new features
Address AutoComplete
Rich Text Editing
Anti-Phishing Features
Drag and Drop
Keyboard Shortcuts
Calendar and Shared Calendars
Contoso University Mail
Powered By
Build contacts and keep your address book – stay in touch via “Live
Contacts”
Contoso University Mail
Powered By
Support for multiple browsers
Microsoft Confidential Information
8
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)
–
–
–
–
What are the URIs?
What methods are supported at each URI?
What’s the format?
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
Throw your own exception
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);
}
SLA
Service Level
Questions
Statefulness
When you use SOAP to set a server value,
does the server respond correctly in the
subsequent states?
Access
Can an unauthorized user successfully access
a control that only the administrators are
authorized to use?
Response time
Is the Web service taking too long to respond
(for example, more than 10 seconds)?
Time-out
What happens when the Web service times
out?
Versioning
Can a new build break an existing Web
service's functions?
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?