04/02/09 :: [MDD] What's Next? [permalink]
Promise, I'll let the middleware hobbyists discuss how four little verbs and an infinitely hackable URI syntax can create a connected system programming model. It actually seems that the RESTafarians are reaching the state of Epektasis if I read Bill's POST correctly.
For those of you who care Epektasis can be defined as:
We move “out of,” in a continuous “epektasis,” beyond the stage we have reached to make a further discovery.
In French the Epektasis represents the effort that one makes towards the "divine" and is considered the state you reach beyond ecstasy.
So no more debate over my URI syntax is better than yours or you are obviously using the wrong verb, no more APP crutches, partial or complete CRUD, I promise, there is really nothing to add, frankly, the RESTafarians are just a bunch of Dog Wagers. I am fairly confident that we will look back in a couple of years and say, yeah, what? "simplicity", "discoverability" and "serendipitous" "reuse", you must be kidding me. People will say, "we spent a couple of years staring at URI templates", what were we thinking? And, yeah, some people get money to teach other people how to write an URI templates... Man, what is the G-20 doing? Here is the solution to world hunger, let's sell URI templates, that's much better than printing money, and anybody can do it, even my mum could do it. I bet we could plug AIG's hole with just a few of those.
So that's it.
What's NeXT? well the fundamental problem remains, how do you improve productivity in IT? Yeap, you guessed it URI templates and navigational data models are not going to cut it. Next week I am meeting with Nikhil Kothari, architect on the .Net RIA Services project at Microsoft. It is very refreshing to see a company like Microsoft or Oracle investing heavily on advanced programming models for enterprise information system construction. In case any one doubts about the problem at hand, that is the problem, whether they are in the cloud or not.
What's important to realize is that somewhere along the way the architecture subsumed the programming model. In the last 15 years we lost the path, we let architecture take over and were left to use whatever programming model was available in a given layer: SQL, EJB/Java, HTML/Javascript... no to mention all the frameworks and libraries developed here and there because of the shortcomings of the programming model of a given layer and the mismatch with the others (O/R mapping anyone?), and ah... I almost forgot, the communications between these layers. As you realize by now, it is hopeless to think that 4 verbs and some corny URI templates are going to help this picture in anyway. How could one think that we can improve the productivity without creating a programming model independent of the architecture. Incidentally, when you do that you get architecture refactoring for free (almost, let's say you are in a much better position to perform architecture refactoring activities). When you see the current middleware mess compounded by the rate of evolution of frameworks and libraries, not to mention programming languages, you look at this and you say, guys, do you have any idea what IT is going through? Information Technologies are killing IT. I bet a lot of people would pay a lot of money just for that. In case you wonder about the cloud... yeah you get the idea, the cloud makes it even more mandatory to create a programming model independent of the architecture of the solution. Yes, it is possible to create a world where architects architect and where developers are actively building the solution.
So this is what I plan to work on NeXT, yes this is wsper and Metamodel Driven Development, so this is not a real surprise hopefully, but I hope most of you understand how critical this is and how far URI templates are from the solution.