As I perused the conference session schedule in preparation for attending the INTEROP New York Conference, I noticed a session called SOA: Hype or Happening?. Although conference organizers tend to favor controversial topics to draw audiences, I think a better concept would be "A Checkpoint on the Progress of the SOA Platform." Nevertheless, I will try to attend that session.
In my minds eye, SOA in the real world has more to do with issues such as:
- Should our business process designs rely on process choreography or orchestration?
- Should our service registry, and therefore, our software development organization support both SOAP and REST (Representational State Transfer) Web service models?
- How should our service bus pipeline structures be modeled to support message flows in a service bus?
- How do I guarantee message delivery (that is, provide transactional management) within my SOA?
- What is the best communication action for asynchronous behavior in a service bus -- route versus publish/subscribe versus service callout?
- How do we develop advanced reporting schemes (log, alert, and so on) in our service bus in support of non-classic use cases?
Debrief on Distributed Computing
The description of the INTEROP session mentioned above states "For many, SOA sounds suspiciously familiar, evoking the same over promised vendor hype of previous failed integration attempts such as CORBA." Albeit, a better distributed computing analogy would be to compare and contrast SOA with the DCE (Distributed Computing Environment) of the early '90s rather than CORBA.
While the DCE was a software system developed by a consortium (similar to CORBA), it represented, for the most part, best of breed exiting technologies such as the RPC mechanism, naming directory service, authentication service, and distributed file system. In a similar way, SOA and the SOAP RPC mechanism represent the technological advance of HTTP a mature and ubiquitous protocol. More specifically, SOA security tokens take advantage of existing technologies, such as, SAML, X509 digital certificates and Kerberos, and the like.
The open question remains as to whether SOA will possibly be deprecated by a new model the way CORBA replaced DCE as a more modern, objected-oriented, distributed framework. Or, truth be told, suffer the same fate as the DCE, which was robust, but was notoriously hard to administer and had a reputation for delivering systems with long development lead times.
To ponder these types of questions are interesting, but better off left to historians and strategist. In my opinion, tactically speaking, SOA is just starting to hit its stride.