[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Thin vs Thick
The RM defines service as: A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. The RM does not define the concept of participant, and is explicitly vague about service consumers and service providers. (In fact, one could argue that the correct title for the RM should have been "Reference Model for Service"; rather than Service Oriented Architecture.) We have a different job, in particular, we have to gain clarity on the relationship between participants and services. This is one of the key responsibilities of the Service as Ecosystem view. In the service (sic) of that clarity, we introduce the concepts involved in capturing the fact that participants are acting in the context of a SOA. Looked at from the perspective of a participant, it seems clear to me at any rate, the key idea is that a SOA presents the participant with a bunch of levers that can be manipulated in order to 'get things done'. More specifically, most of the levers involve (business) relationships that I may have with other participants and transactions that I wish to execute with those participants. There is some uniformity to those levers: they have descriptions and mode of operation of those levers is based on communication. This is like saying that all the active elements of a UI are presented as buttons, and each button has a label and a tooltip. The uniformity is key to *realizing* and *using* a SOA-based system but does not materially affect *what* participants are trying to do. So, again from the perspective of a participant, the participant can be seen as *using* the SOA-based system to get things done. Using a SOA-based system means *acting* against services or *providing* services (or some other combination such as *mediating* services). I believe that if you start from this perspective, then you have to explain a couple of things: what does it mean to *act* against a service, and how do you use communication to do so. This is quite difficult to disentangle, especially when you consider the fractal nature of everything; and even sending a message can be viewed as a kind of action. We must also remember to capture the relationship aspect as well as the transactional aspect. This is where the *social structure*, *role*, *right* and *responsibility* show up. One way of doing all of this is to take a foundational approach: we build up layers that each address different aspects. One such stack within the Ecosystem viewpoint could look like this: Layer 0.a: Action, Actor, RWE Layer 0.b: Participant, Agent, Stakeholder Layer 1.a: Joint Action, Communicative Action Layer 1.b: Social Structure, Social Action, Social Fact, Ownership(Resource) Layer 2: Service Action, Transaction Layer 3: Role, Rights, Responsibilities, Governance (This stack is offered as a guide: I have no special investment in it.) So, to address the thick vs thin question. I am arguing that the question of whether service is thick or thin depends on your viewpoint. From the perspective of a participant, it seems pretty thin - it is a means by which the participant's actions are mediated. From the perspective of realizing, offering and discovery it seems pretty thick. This is one reason why we have multiple viewpoints :) Frank
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]