it's all about simplifiying

2008-01-17 @ 12:33#

i continue to contemplate Graph Farming this week and it reminds me that one of the key reasons i started working on my exyus project was to make HTTP programming simpler. and while it's true that HTTP programming is not at all easy, i believe it is possible to ease up on the nasty plumbing details to allow users to focus more on the 'important' aspects of implementation. and to that end, i think exyus goes a long way in the right direction.

first, there's the key 'built-ins' that programmers can mostly ignore:

  • authentication (set up a user/pass)
  • authorization (set up URLs that require auth, set user's access based on HTTP Method)
  • caching (mark the resource w/ caching details (seconds, support validation-caching, etc.)
  • cache invalidation (mark the resource w/ a set of related URLs to clear upon resource updates)
  • compression (turn it on in the config)

that leaves programmers to handle the details. and even that's not too bood when dealing with typical resources:

  • define a resource (define URI pattern, mime types, turn on/off POST/PUT/DELETE
  • add mime-type support (author XSLT documents for each supported mime type)
  • link to storage (if using file-based, identify locations for each file, if SQL write the sprocs and link via XSLT)

so most of the work is to define the resources, author the mime-type transforms and author the storage transforms, as needed. of course, this is all the server-side stuff, but that's to be expected, right? it's not too difficult to build Ajax-scripted clients against this back end. exyus even supports storing the Code-On-Demand scripts as XmlPageTemplate resource objects!