Service-Oriented Architecture: What’s up with it?
Service-Oriented Architecture (SOA) has been in the media since several months. Which also has to do with the marketing of the NetWeaver Application Platform. One can find articles about SOA in all the popular magazines around here in Germany. In other countries this should be true as well. Just take the Computerzeitung, Objektspektrum and Java Magazin. At least two of those three magazines are not academically relevant, the first one is part of a free distribution for members of the society of computer science here in Germany (Gesellschaft für Informatik, GI).http://www.doktor-meffert.de
I have always wondered when any of these magazines resp. papers printed articles written or co-authored by SAP-employees. When reading the articles you soon get the idea that SOA is not a very big deal but more or less a hype. Although SOA is not bad at all, its congeniality is overemphazised too much, IMO. What is so great about SOA? I think, it is a logical consequence nearly every semi-talented softwerker or architect would have “invented” sooner or later for himself in general or regarding the building blocks of the paradigma. Of course the personal inventions would have been not as complex as it seems right know. And I am not talking about the whole NetWeaver architecture! It’s mainly about common design principles.
SOA is about fine-granular software entities being autonomous and being able to be integrated within a platform to form an application, sort of. Services, as the acronym SOA indicates, are an integral part of the concept. BTW: Can you tell me what a service is?
But SOA is not a concept as all-embracing as the concept of Object-Orientation itself is. SOA officially is not well defined (everyone understands something different when hearing or reading it or knows just vague about it). SOA is just following common design principles being known for long time (long time in the context of the software market can be some few years, but principles as Loose Coupling, Open-Closed or Interface Segregation are known for longer. Packages could be abstracted to services, then, with packages being more well-defined than services. This was cut short!).
When telling companies “By doing a service-oriented architecture, your applications will be able to integrate within a bigger context, they will be extendable more easily etc.” the truth is not matched fully.
Firstly, legacy applications cannot be converted to whatever we want. And if the target architecture is something seen as highly sophisticated (as SOA officially is) the task is getting near impossible.
Again, by publishing lead articles in popular channels (mostly semi-academical or just plain) the impression has been risen that SOA is the eighth wonder of the world. This definitively is not the fact. SOA is not bad, it is a good thing. But SOA is not something to emphasize to an extend currently recognizeable. My strong believe drawn from experience with other hypes is that SOA exactly is lining up with other bubbles. Perhaps it takes longer for the community to identify it as a hype than with other hypes. But the root for this lies in the strength of the marketer and the “official complexity” of the subject.
An interesting blog entry displaying a year 2005 prediction list, contains a statement about SOA:
The term SOA will have been beaten to death and the software industry will invent or recycle some equally vague term to replace it.
The term has zero differentiation value at this point and marketing teams across the globe are looking to coin a replacement that will give them something more interesting to say about their middleware than “we move messages around really well.”[…]
It is legitimate for any company promoting its products (and slightly smoothing reality sometimes) as it is legitimate for an article writer to sharpen reality from his point of view, trying to align with it as good as possible. As you noticed I have not said much about what SOA really is. From my point of view this is not important in this case as numerous articles (published internally and externally) exist about this matter. Secondly, just compare what was marketed about the twin-server the WebAS. As some of us know a Twin-server is something different than the WebAS for Java on the one hand and the WebAS for ABAP on the other hand.
Take care of yourself to not overestimate the importance of some buzzwords thrown in. Being honest, these buzzwords mostly affect non-technicians or people being semi-technically oriented because the truth is very complex and not easy to uncover without comprehensive coping. As most of us remember with the crash of the New Market, the danger of overestimation is greatest when another area of expertise is involved than the own main field of interest. Because we do have to believe someone!