REST Easy With Zope

Plain old HTTP as an All-Purpose Web Services Protocol

John Barham

DTS Digital Images (formerly Lowry Digital Images)

The DTS DI Production Environment

The Movie Restoration Pipeline

  1. Scan best available film negatives at "4K" (4096 x 3112 pixels, ~ 49 MB) or "2K" (2048 x 1556 pixels, ~12 MB): ~8 terabytes of disk space required for a 4K scan of a two hour movie!
  2. Project managers set parameters of custom image processing software which is run on cluster to remove damage from movie frames
  3. In-house touch-up artists manually fix damage that software missed (or in some cases creates as artifacts)
  4. Restored images are then returned back to the client either by being transferred back to film or on disk

Details: The Manual Touch-Up Stage

Example Project: Disney's Peter Pan

Touch-Up Stage Requirements

Tracking Touch-Up: The Early Days

Manual Touch-Up Tracking Problems

Enter the Touch-Up "WebApp"

The WebApp: Better, but not Perfect

Direct Integration Option

Enter REST

DTS DI REST API Requirements

REST API Implementation

REST API Implementation (cont'd)

Automated file download/upload

Benefits of REST API

REST API Implementation Examples

REST API Implementation Examples (cont'd)

Zope Python script to return per-user features:

request = context.REQUEST

user = str(request.AUTHENTICATED_USER).lower()

try:
    features = container[user].data
except:
    features = "TouchUp"

return container[features].data

Disadvantages of HTTP

Industrial REST API Providers

REST vs. SOAP

Yahoo!

Question: Does Yahoo! plan to support SOAP?

Answer: Not at this time. We may provide SOAP interfaces in the future, if there is significant demand. We believe REST has a lower barrier to entry, is easier to use than SOAP, and is entirely sufficient for these services.

Amazon

Of more than 50,000 users of its web services, fewer than 20% choose to use its SOAP interfaces.

The End



Thanks for listening!




Questions?