- From: Francis McCabe <fgm@fla.fujitsu.com>
- Date: Wed, 2 Jul 2003 13:53:56 -0700
- To: www-ws-arch@w3.org
- Cc: Jonathan Dale <jdale@fla.fujitsu.com>
- Message-Id: <4BD0B242-ACCF-11D7-8C30-000393A3327C@fla.fujitsu.com>
As part of my brief to look at structuring the concepts and relationships I have made the following thought experiment. 1. We can partition the architecture into a collection of 5 architectural `regions', as illustrated in:
Each of these bubbles represents a distinct aspect of the overall architecture. This is a super-concept diagram -- each bubble is a collection of concepts that has internal coherence; and yet there are well defined links between the super-concepts. The arrows represent dependencies/uses relationships between the bubbles (note that in actuality this is probably a maximally connected graph). Going around semi-clockwise from the Message Oriented architecture: 2. The MOA focuses on messages, their structure, processing etc. With *no* implied semantics as to the purpose, wether it is part of the choreography etc. This is illustrated in the diagram:
This diagram is abstracted from the UML diagram of SOAP generated by Martin C. 3. Service Oriented Architecture. The SOA is `all about' action. It `floats on top of' the MOA, but in considering the SOA we add the concepts of action, interface and service description. This is illustrated in the diagram:
Notice that we do not particularly need to refer to messages when thinking at the level of service; and we especially are not concerned with intermediaries. We are concerned with interfaces, actions, agents, etc. 4. Resource Oriented Architecture. The ROA is `all about' resources. This is an attempt to capture the essence of the REST architecture as it relates to resources. The ROA adds the fundamental concept of resource (which is not inherent to service), together with a related `service model' of actions such as GET and PUT. This is illustrated in:
5. The Policy Architecture. The PA is `all about' security. However, at an architectural level of abstraction, security is well captured by the notion of a policy: which is a constraint on the behavior of agents in terms of the actions that they may perform. There are many kinds of policy, not just the ACL (Access Control List) notion but also QoS notions of policy and even application-level policies (my personal favorite is the `Lawyer service' that has a policy of ignoring every message that does not include a dollar bill in it.) The policy architecture is illustrated in:
5. The Management Architecture. The MA is `all about' managing deployed or deployable resources. It floats on many of the other regions; making particular use of messaging, policies, resources and service. This is illustrated in the diagram:
Note that each of these regions is both quite self-contained and yet has clear connections to other regions. I believe that organizing the concepts and relationships in a way that is similar to this would result in a clearer architecture, that is easier to understand.
Attachments
Received on Wednesday, 2 July 2003 16:54:34 UTC