The database community is also heading toward SOA. Plans are afoot to enable IBM DB2, Microsoft SQL Server 2005, Oracle 10g, Sybase (Profile, Products, Articles) ASE, and other platforms to participate actively in Web services-based SOA activities as first-class citizens -- even without the use of application servers. This will have profound implications for the design and management of widely distributed n-tiered applications because, in effect, hierarchical tiers will become horizontal peers.
Let me be blunt here: this whole SOA hype is pure marketing-poop. I mean: every developer on the planet knows that if you have several different elements in your application (gui, business logic, perhaps even a data-layer), element E provides services for element F and F is consumer of the services of element E. That's as old as what, client-server? Similar for library L which provides a set of functionality for application A which loads L at runtime. Offering a 'service' is nothing more than offering functionality (in any form you may think of) to others.
On a sunny day, some marketing department thought it would be great if the company's products would get a new 'unique' feature. What would be better than to re-hash the current features by giving them a new name? After days of brainstorming, consulting expensive advisors and visiting hand-reading guru's, they came up with... Service Oriented Architecture, better known as SOATM©®. SOATM©® would be the unique new feature of their products, which would give them an edge on the competition! Now, in the country were I live, The Netherlands, this acronym was already taken: "Seksueel Overdraagbare Aandoeningen", which roughly translates to: "Deceases transferable through sexual intercourse". Of course an unlucky coincidence.
Is this SOATM©®-thing (the English marketing version) really new? No, of course not. I mean, pulling data out of an RDBMS and into an external client program, how was that done a couple of years ago? That's right, calling into the service which was offered by the RDBMS through its API! However what do we see happening today? People who earn their living by selling hot air under the most weird acronyms, are yelling as hard as their lungs allow them to that something new is invented! SOATM©®! Don't be a slacker! Enable your applications for SOATM©® today! SOATM©® is the only real future! If you don't jump on the bandwagon today, you'll be sorry forever!
...(breath in.... breath out... 1 2 3 4 ... )
When I read an article like The Fallacy of the Data Layer by Rocky Lhotka, my eyes hurt, tears pop up and I can't stop shaking my head and whenever I read articles like that, one thought keeps coming back: are these SOATM©®-guys just doing this to get themselves more air-time at the next INETA sponsored speaker convention/PDC/TechEd/[your favorite fancy fair] ? I mean: it can't be just because they saw the light and can't stop themselves telling everybody how it really has to be done, how software really has to be developed, because all they do is re-hashing decade-old wisdom with newly invented acronyms!
Of course, the Infoworld article is written by a journalist, perfectly echoing the chimes coming from the marketing departments of their favorite sponsors. I can't blame him, he's not writing for developers who are standing knee-deep in the cold mud of the programmer-trenches, he's writing for managers, oh sorry, Enterprise VisionariesTM©®. However more and more, the developer world is talking about things which are just pure marketing inventions and which never should have left the manager's office, and SOATM©® is one of these things.
Years ago, the developer community embraced one of the predecessors of SOATM©®: N-tier developmentTM©®. Even today, large groups of developers are pulling their hair out of their bright heads and wonder "What exactly is n-tier development?" (if you don't believe me, check the www.asp.net forums). And rightfully so, because it's a vague term and almost everybody has a different opinion about it.
Years later, Web-servicesTM©® were introduced.
"Ah, a service which is a web."
"No, a service using the web. (I think)"
"Oh, so a service not using the web, but normal TCP/IP isn't a web-service?"
"Hmm, good question. Ah I have it: a service written by the web-services logic build into VS.NET!"
"Ah, I can work with that. But... what about a remoted service, using SOAP and remoting, not web-services build into VS.NET" ?
Sounds familiar? Good. Now, to prevent this from happening again with SOATM©®, let's make a deal. Let us, developers across the globe, make a stand here: Enough with the marketing goo polluting our profession!.
Thanks for listening.