http://hinchcliffe.o … 009/03/17/16712.aspx
A few interesting quotes:
The hegemony of traditional 3 and 4-tier application models, heavyweight run-time platforms, and classical service-oriented architecture that has dominated for about a decade is now literally being torn asunder by a raft of new approaches for designing and architecting applications.
Quite. Compare and contrast Grails and the traditional J2EE stack ‘enhanced’ by doodleware such as BEA Weblogic Workshop.
Certain application designs can greatly benefit from the advantages of document or resource-centric storage approaches. Performance in particular can be much higher with non-relational databases; there are often surprisingly low ceilings to the scale of relational databases, even with clustering and grid computing. And then there is abstraction impedance, which not only can create a lot more overhead when programming but also hurts run-time performance by maintaining several different representations of the data at one time during a service request….. While many applications will continue to get along just fine with relational databases and object-relational mapping, this is the first time that mainstream database alternatives are readily available for those that are increasingly in need of them.
As I said a few postings back, with reference to SQL: “I can’t work out why the data-oriented community is so resistant to the clear need to evolve away from this rubbish.” Maybe the time has come? Can just say “To Heck With It”, and quietly bypass the relational database (or, to be more accurate: show a degree of maturity in our use of the technology by applying the tool where it is best suited and bringing in other tools where they are most appropriate)?
I remember when SQL was just an upstart newcomer and CODASYL data stores ruled the roost…times do change…
Dynamic Languages…bring the latest best practices and design patterns, something that is not happening as frequently with older platforms. The tipping point has arrived however, and dynamic languages are beginning to take the center stage in a significant percentage of new projects. Software architects should be prepared.
“But, but, but…aren’t they too slow? Don’t they use too much memory? Aren’t they too ‘weird’?” I hear you say. <sigh>
We live in interesting times…
