SOA Programming Models Article Posted
Author Boris Lublinski provides an overview of three programming models attempt to go beyond just service invocations by seamlessly incorporating service orchestration support and many of the patterns required for successful SOA implementation. They also serve as a foundation for implementation of the Enterprise Service Bus.
The three models covered in the article are:
- Windows Communication Foundation (Indigo) programming Model from Microsoft, which attempts to simplify service programming by creating a unified OO model for all service artifacts.
- Java Business Integration (JBI) model from Java Community Process, which address complexities and variabilities of services programming through creation of services abstraction layer in a form of a specialized (service) container.
- Service Components Architecture (SCA) from IBM, BEA, IONA, Oracle, SAP, Siebel, Sybase, etc., is based on the premise that a "well-constructed component based architecture with well-defined interfaces and clear-cut component responsibilities can quite justifiable be considered as an SOA" 4.
These programming models attempt to go beyond just service invocations by seamlessly incorporating service orchestration support and many of the patterns required for successful SOA implementation. They also serve as a foundation for implementation of the Enterprise Service Bus. The article will give a brief overview of each of these programming models.
In fact, I do believe that WS-Management which is WS standard for resource management, does have some similarity with what REST is trying to accomplish
JBI v SCA
JBI has issues to really solve the product integration challenge (needs to be multi-VM at least) but is a good "under the covers" solution to the old problem of it taking longer to integrate the products than actually do the integration to other systems. ( from Mike's blog)
SCA is again early but is a cracking model for design and development of services.
WCF is great for invocation, but IME its weak at the actual design/deploy of the services themselves as the concept of a deployable component/service isn't really baked into .NET in the same way as it is with the Java vendors.
Why not version 0.95?
- The article references version 0.9 - why not 0.95, which has been the current version since late August.
- A reference for catch-up on SMOs would be nice. Searching osoa.org for Service Message Object does not give a single hit.
- It would be nice to have the composition model commented.
Although not referenced in the article, I think it is interesting to see the SCA specification (Java binding) line-up to the implementations of dependency injection: Java EE 5, OSGi, SCA...
Re: Why not version 0.95?