Saturday, March 22, 2008

More programmable web

Lately the 'programmable web' has become more and more of a reality. Amazon, Google, and Adobe among others have made big contributions. Here are some:
  • Amazon S3
    • REST/SOAP based storage
  • Amazon SQS
    • SOAP based queuing
  • Amazon SimpleDB (still in beta)
    • similar to GoogleBase?
    • attribute-based semistructured repository
  • Amazon EC2
    • on demand virtual servers accessible via web services
  • GoogleBase
    • shared repository that can be queried using a SQL-type of language
  • GoogleGears Database
    • browser extension allowing the use of a local SQLite database (SQLite is just taking off: Adobe AIR also uses it)
  • GoogleGears WorkerThread
    • browser extension allowing multithreading
    • the threads are created locally; they are real OS threads spawned within the browser process
    • the threads communicate via text messages
On one hand, Adobe and Google bring web functionality to the desktop (stepping out of the browser sandbox: the AIR environment; GoogleGears); on the other hand, Amazon and Yahoo offer services that extend typical desktop or client/server functionality to the web.

I do not think the day is too far away when you will be able to compile a program online (if Office is going the software as service way, why not Visual Studio?) and deploy it to a virtual environment on the cloud, and run it there. Possibly, the only thing that is missing is a set of libraries to abstract the communication protocols (SOAP, XML-RPC, ATOM, etc... still too many).