it's all about simplifiying
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!