Is SOA a revolution or evolution?
A friend suggested the other day that web-services and SOA are a retro from Object-Oriented development back to procedural/functional development. He said that distributed object-oriented programming like .NET Remoting and Java RMI have failed because object oriented programming is not the best way to develop distributed systems.
I do not agree, I see SOA as a better way to achieve distributed object-oriented development.
It is true, you do not get polymorphism or control over the life-cycle of remote objects in web-services, but as stated in Wikipedia about Object Oriented Programming - “…In OOP, each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be viewed as an independent little machine with a distinct role or responsibility…” this sounds to me very much like the definition of web-services and SOA.
Doesn’t it?