Monthly Archives: October 2009

Use UserVoice to prioritize campus Web services

UserVoice is our catch basin for Web service ideas, and if it ain’t there it’s probably not going to happen. At UserVoice you can share your Web service ideas, vote for ideas submitted by your UW colleagues, and join the discussion.

These ideas submitted to UserVoice have become a reality or are underway:

* Course description available in SWS

* Course url available in SWS

* Publicly available student Web services

* Person Web service

* Publicly available IdCard Web service

* Student transcript data

* Classroom scheduling Web service using R25 data

Make your voice heard at:

Web Services Registry now in the Cloud

Yes, it finally happened. We moved the registry over to the mystical, magical cloud. There were a few bumps in the road but nothing so tragic or unique that it took much time to solve. Most of the issues were not specific to the cloud but more to the migration itself.

Amazon EC2 was chosen for hosting the project for its infinite scalability and general developer friendliness. Tony had some prior experience with the environment which certainly helped smooth many of the potential pitfalls. The control panel is really a breeze to use and the whole migration was really straightforward.

There certainly was a process as it was more involved than other hosting environments, but once done is really a set and forget operation. We mapped out the backup strategy to make sure we had a path forward just in case by using some of the built-in tools. We used a really basic Ubuntu image and then installed the environment for the application.

The application switch occurred several weeks ago and we’ve had no major problems. We look forward to continually improve the application and now we have a stable platform for some really great changes. Until then please submit some services to the registry, you’ll be glad you did.

Financial Web Service (FWS)

Version 1 of the Financial Web Service (FWS) is now in production. It provides access to UW budgets, vendors and organizations, including search capabilities, from a near-real-time data source. Several developers are already developing or modifying existing applications to use it. More information can be found in the documentation.

Using the photo resource of the IdCard service

Since 2001, the Computer Science department has maintained its own collection of photos of CSE faculty, staff, and students. We have a number of web apps such as photo directories or class lists that display these images. We long ago settled on a standard size for the images and developed a procedure for adding a person’s name to the image. But with Autumn quarter bringing in close to 200 new students, the process of capturing and processing these images is a lengthy one.

With the release of the IdCard web service this quarter, the work involved has dropped to near zero. We can now automatically retrieve a student’s photo from the IdCard service rather than taking our own (note that by policy, we can only retrieve student photos, not those of staff or faculty). Our undergrad program alone admitted 105 new students this quarter, and if we assume 10 minutes per photo, it would take over 17 staff-hours to collect all photos. I was able to modify our existing infrastructure to take advantage of the IdCard service in one afternoon. This quarter alone, the time savings is huge.

The process was simplified because access to our local store of photos all went through a single PHP web app. Students have the right to opt-out of having their photos displayed to the public or their peers, and one of the main jobs of this application was to control access to the photos depending on the person making the request. My strategy is first to look in our local store of photos, and if one is not found then to try the IdCard service. If found there, the photo is retrieved, normalized to our standards, and then stored locally. The next time the photo is requested, it is found in local “cache” and no request to the web service is needed.

The design of the IdCard service makes this task quite easy. The photo resource lets you retrieve the photo in the size that’s most convenient to you. I request the photos in our standard dimensions and then use the PHP interface to the GD image processing functions to add a student’s name to the image. That image is then stored locally along with all the others, and all of our existing infrastructure now takes full advantage of the IdCard’s photo resource. If we wish to “override” one of the ID card photos, we simply take and upload a person’s photograph as before, and the new one is served preferentially.

One side-note is that, as with most web resources concerning students, the native identifier for a person is his regid. We had never before used regids, keeping instead system_key and uwnetid for each user. In order to collect regids, we use the person resource of the SWS to do a system_key to regid translation, and then save the regid locally so that this translation only happens once per person.

The listing of the IdCard service in the registry is awaiting some polishing of the documentation (restricted) but expected soon. For access, contact Tony Chang or Paul Schurr. To use this service, you will need to obtain a test and a development client certificate for your application which you will use to authenticate to the IdCard service. Permission to use the resource is granted by the registrar, and before getting the final OK, you and they will do a short security review of your application. It’s all easier than it sounds, and if you get stuck you can contact and they’ll hook you up with someone who can answer your questions.