Having worked in the Information Technology field since it was called “data processing” I’ve been through several paradigm shifts. The first programs I wrote were stored on paper tape after having been coded on optical scan cards. (Yes, I’m really that “old.”)
The latest change is towards component or service based architectures. No longer will we create stand-alone applications, instead we’ll create an array of components that each provide discrete functionality. These components will all expose their services through interfaces, and higher level components (perhaps, business components) will choreograph these fine-grained ones into a coherent process that meets the needs of the end-application. The end application, be it web-based or not, will become thinner and thinner as more of the orchestration it used to perform is shifted down the hierarchy to the business choreography component.
Make sense? No. Good. Then you are keeping up with the rest of us. You see, in my humble opinion, service based component architecture is like teenage sex. Everyone wants to be doing it. Everyone is talking about it like they are doing it. No one really understands it. And, in fact, very few are actually pulling it off successfully.
Still, it’s where the industry is headed, so off I go reinventing my skill set once again. I’ve still got some of those old paper tape archives, maybe I need to scour eBay for a reader and return to a simpler paradigm where a program was a program was a program.