Again you guys are falling back into the standards surrounding SOA, that's not wat SOA is about. The standards lie with SOAP and other definitions, and have nothing to do with SOA.There is absolutely no reason why you could not realize a SOA without any use of webservices, xml or anything else related to that. Or can anybody think of a reason why SOA cannot be implemented with CORBA?
Real-world example: in an e-government infrastructure on which I worked in 1999-2001 we used CORBA to implement interoperability between government sub-departments. We started with some basic synchronous services that performed DB-queries with object oriented semantics, both within and outside the firewall, plus one event-driven system that exchanged object-reference-based messages, made persistent in the message repository using an OO database. As soon as XML became popular in 1999, we eliminated object references from the messaging and used XML to encode message semantics. We eventually used XML also to encode routing info in the message, though CORBA Naming was still used to locate objects (services).
The synchronous infrastructure was eventually implemented and enabled, but in the end it turned out that the customer found all synchronous services useless, especially the fine-grained object interfaces accessed through two firewalls
, the performance of which really s***ed.
Instead, the hybrid CORBA/XML messaging was found acceptable and several applications were scheduled to interact asynchronously
, even with transaction semantics simulated by an asynchronous OK/NOK reply (in XML pushed through IIOP).
In reality, very few applications were actually linked this way, but the system is still working although the customer uses very little of it. In the following years, many prototypes were devised that replicated the messaging system using SOAP, but the original system has not yet been replaced despite the current anti-CORBA and pro-SOAP hype.
In the end, it all boils down to abandoning stateful/fine-grained interactions in remote calls and moving to a messaging system in which the semantics
is well defined. And the semantics can be easily expressed in XML whatever the transport protocol is (TCP,FTP,HTTP,ASN.1,IIOP,JRMP)
Corollary: if MS had provided a working implementation of IIOP interop instead of causing the DCOM/CORBA war in the 90s, the IT world would be a better place now, notwithstanding the fact that XML is one of the key factors to interoperability.