CodeFutures News & Industry Commentary Blog

Tuesday, October 31, 2006

SOA Programming Models

There is a great article in InfoQ on SOA programming models.

The three SOA programming models outlined 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.

What the article does not explain is that Inidigo is Windows-only and JBI is Java-only, which means that they are not ideal choices for a universal SOA programming model. SCA s the only multi platform, multi language SOA programming model with the necessary openness to become universal.

The article also explains the relationship between Service Data Objects and SCA, particularly from an SOA programming models perspective:

SCA implementations rely on the Service Data Objects (SDO) 10, providing the technology to represent a universal model for data. SDOs are the basis for the data exchange in component's interactions. The fundamental concept in the SDO architecture is the data object-a container holding primitive typed data and/or other data objects. Information about included data is provided by metadata, explicitly referenced by the data object. A combination of the data objects in SDO is represented by the data graph. In addition to the objects themselves, this graph contains a change summary that is used to log information about what data objects and properties in the graph have changed during processing (similar to ADO in Microsoft environments).

PJ Murray
CodeFutures Software

0 Comments:

Post a Comment

<< Home