December 29, 2007
@ 10:49 PM

Sam Gentile comments about my attempts to define SOA (Part I, Part II, more to come..) and says that

"That's all well and true, but any definition of SOA must encompass the business drivers and business reasons, as SOA is not really about technology. It is about a better alignment of business and IT through business processes and services. The goal is to create a dynamic, more Agile and Dynamic IT that can respond quickly to new business opportunities and threats by quickly assembling new capabilities from putting together composite applications (and even Mash-ups) from reusable business services..."

I am sorry Sam, but I beg to differ, not about the importance of business drive behind implementing SOA, but about what SOA is. The culprit, in my opinion, is terminology overloading

 SOA is, as I said in the above mentioned post and numerous other times, is first and foremost an architectural style - as an architectural style it offers several architectural benefits and poses several architectural constraints. This has nothing to do with business drivers. it has to do with defining components, relations, attributes on relations and components as well as constraints. Now you can take those set of rules and use (or misuse) them as you like, in the context of a subsystem, single project, a product line or  an enterprise - this is your choice.

Applying SOA, on the other hand, has everything to do with the business . I'll take Sam's post word for word but instead of using the word SOA, I would prefer using the term SOA initiative. An SOA initiative is the effort of applying SOA in a wide context for an enterprise, aiming to increase the alignment of IT and the business etc. I would have to say though,  that in my experience, such an effort would rarely use SOA alone. It would also include other distributed architectural styles that also help with decoupling and loose coupling like EDA and REST to name a couple.


By the way, SOA has nothing to do with technology either. You can implement SOA using WS-*, Atompub, MSMQ, CORBA just as much as you can implement REST with quite a few technologies, it so happens that WS-* is a common implementation technology for SOA, and that HTTP is used as a common implementation technology for REST but both styles live independently of the technologies.


 
Sunday, December 30, 2007 4:27:36 AM (GMT Standard Time, UTC+00:00)
I totally agree. Upon reading your posts, it look that you are talking about the architecture and trying to define it from the technologist point of view and Sam is trying to make sense to it from a business point of view.

It looks like he is making the same points I made when selling the architecture to upper management in a company, why we will use SOA at that point you need to talk about the strategic benefits of this architecture over other ones, at that point you aren't talking architecture but business and in that context (business) all technology decisions are influenced, not just SOA or REST but N-tiers over monolithic, web over desktop, etc.

Architectures (or technology solutions) always try to solve problems, and the problems are driven by different needs, if a solution solves a problem that doesn't exists (or nobody cares about) the technology will disappear (at least for a while) push anybody?
Sunday, December 30, 2007 10:07:02 PM (GMT Standard Time, UTC+00:00)
Arnon,

Thank you for your reply. I will try to get to it tomorrow.
Sunday, December 30, 2007 11:29:06 PM (GMT Standard Time, UTC+00:00)
The biggest SOA challenge

SOA brings together several audiences and means different things for different audiences. While we all confirm these major points, I don’t think we address the biggest SOA challenge: a common language for these different audiences.
Business talks English while technologists use BPEL, etc. Bridging the gap between XML (a technology choice) and natural language preferred by business analysts would enable deep collaboration between these two camps, so necessary for success of SOA initiatives. Hopefully, we’ll see more ontology tools [1] in the SOA space and more progress in Integrated Software and Knowledge Engineering [2].

References:
1. Ontology-based Web Services for Business Integration, http://www.alphaworks.ibm.com/tech/owsbi
2. Integrated Software and Knowledge Engineering, http://javaschool.com/about/publications.html, http://javaschool.com/about/evolution.htm

Comments are closed.