Software in the original mainframe days was all glommed together. Why not? Who was looking? Sometimes, reluctantly, some structure came about. Even in the early mid-range days, code was built up into classes, objects and components that were often loosely strung together.
With standard Java and standard Java servers, fairly strict and familiar three-tier architecture came about. The question to ask now is “Will it last forever?” Like so many things, the fundamental tiers of computing do come up for reconsideration once and a while.
Node.js and other browser-influenced technologies seem to encourage software architects to cast skyward their monolithic three-tier components. As these flying components drift down to earth, they may not settle back up in the same alignment. The sudden near-hegemony of mobile clients is pushing things ahead quickly. A variety of new architectures are brewing.
In some ways, there seems a growing reaction to the rule of Java and the server. That view emerges from a look at a reporters’ notebook. It’s not going away, but as described in an interview with James Strachan, now senior software consultant with JBoss: “The server side is becoming thinner and thinner.” When SearchSOA.com and TheServerSide.com spoke with Strachan earlier this year at the CamelOne event, the topic of Node.JS was on the docket, but Strachan was expansive.
He said, looking forward:
The server side might just be Amazon Simple DB or Mongo DB or something; there might not be much of a three-tier architecture anymore.
Meanwhile, with flair, he continued:
….the client side is becoming bigger and more and more complex; it’s real-time now, everyone’s doing Ajax, real-time updates, and people are doing lots of single-page applications – which is when one Web page starts up and the entire app is in there. There are lots of models, containers, relationships and persistence and “yada-yada.”
Strachan notes this is highly driven by mobile applications:
Are the new approaches overblown? Is real change far off? Do you see a shift in emphasis to the client? If so, do you think services or SOA have had a hand in breaking down the status quo? -Jack Vaughan