The data services may be very simple like data accumulate services or very complex when they have to aggregate data from multiple heterogeneous data sources and transform them in the business service views according to special business rules. In any case, the data services deal directly with data sources and stores. Now, it is easy to answer the question of who owns the corporate data and corporate canonical data model - it is the corporate (e.g., Enterprise Architecture), not the functional divisions or business services. Creation of the corporate Master Data solution logically leads to the same answer.
I anticipate a strong objection to aforementioned conclusions. Many would say that they cannot guarantee the quality of their business services if they do not control the service resources. It is understandable but it is the matter of particular implementation of the ownership, accountability and responsibility models in given organisation. Unfortunately, the ownership issues like the ones mentioned above are the inheritance from traditional application-oriented customs. In a contrast, service orientation appreciates interactions between services and delegation of concerns to the specialised services. Also, the fundamental assumption of service-oriented development is that service designers and developers do not know who and how will be using their service in the future, i.e. they have to create the service in the most flexible way to allow ease usage of the service in different future service compositions. Direct dependencies on the 'foreign' data models and data sources actually anchor the service and dramatically degrades it usability.
The requirements of efficiency and related flexibility of the services lead the IT and entire organisation toward the Service-Oriented Enterprise (SOE) model. In SOE, business problems are solved by compositions of the business services; the more flexible the service appears, the more compositions it may be used in, i.e. the organisation can react to the external changes in more effective and efficient way.
Summarising this arguments, it seems that SO principles of Reusability and Composability root a new SO principle - principle of Service Separation of Concerns. The principle may be formulated as:
- business services have to own and provide only their own functionality being decoupled from the information sources and original information structures as much as possible.
As you have noted, the principle of Service Separation of Concerns talks about 'information' instead of 'data'. The difference is in that the used information may be encapsulated as into the raw data as into the results provided by other services. The major difference between this principle and the SO principle of Service Relative Autonomy is in that the latter addresses regulations of the relationships between the service and its suppliers while the former represents an informational layer between the service and its suppliers. This is why I am talking about the SO principle rather than about SO pattern.
The informational layer separates functional concerns and allows loosely coupling between the aggregate service or the process service and the resources used for obtaining information for the service operations. This is not about data from the data stores; it is also about other services. The Service Separation of Concerns is clearly implemented by IBM Dynamic Process Edition product where the process service does not identify the services that implement process' actions up-front but, instead, defines the functionality required by the actions; any trusted service, which can meet functionality requirements, may be used in the actual process as supplier for the action functions.
In the Part 3, we will discuss how the principle of Service Separation of Concerns reflects on the services in more details. For now, let me only notice that this principle promotes the use of data services over the direct use of data sources. This provides the great deal of service capability to be reused in different service compositions with minimal impact from the problems related to data. It is the data service that has to take care of the high level of data accessibility to satisfy its business consumers in spite of any issues with the data sources. At the same time, it is the business service that has to consider additional means for the performance improving of its operations to accommodate the delegation of data source access to the data services.














Leave a comment