Why develop anything for the web if it is locked into your proprietary framework? I’m not talking about your intranet, I’m talking about your publicly available (or maybe even subscription based) internet presence. In this day and age, anything you create that is not nimble enough for “mashups” will actually give YOU trouble as well as your customers. For example? What if you wanted to do summary statistics and unit tests of your database right now? Would your developers have to start coding like mad? I know the ones on my database would (mostly because that would be me).
Why would a nimble architecture help here? Because you could consume the data in some ready made statistical software (R anyone?) and do some quick analysis without new custom queries or development work. Same thing with unit tests — pull out specific sets of data with your agile framework, and test them with whatever software you like.
Here are my questions about developing this sort of framework:
- How to get your database browse-ready in a RESTful way? What is the software involved? Do you need special Apache plugins?
- How to get applications you do choose to develop to be able to consume your data properly — Do they consume a feed? Browse the RESTful setup? Both?
- If you build an app, how do you make it ultra-portable? Youtube videos, google gadgets, site searches, etc are all easily plugged into a website, and if you provide the proper XML attributes, you can even reskin them so your clients can easily keep their own look and feel with your technology. What is the technology involved here? Is it simply a matter of bundling attributes in HTML/XML and source javascript, with access to your web API? Or is there more?
- Scalability! Do any of the above questions impose a ridiculous amount of overhead on your database or webserver?
These are questions I don’t yet have answers to. I’ll write here as I find answers.