I think that "simplistic" description of the distinction between a
contract and a policy (or a contract and an interface description like
a WSDL file) is spot on!
// Dennis Djenfer
Steve Jones wrote:
The way I've thought of it is that the policy are the bits
you define upfront, and the contract is the bit when you are actually
interacting. Thus a policy becomes a contract when you agree to do
things together, before the point of agreement they are just what
consumers & producers would like to happen. When an interaction
takes place there has to be a negotiation of policy to produce the
contract, hence the agreement of policy gives contract.
Or is that a bit simplistic?
Steve
On 03/09/06, Dennis Djenfer <[EMAIL PROTECTED]> wrote:
Stefan,
Very interesting comments on your blog. The comments got me thinking
about a contract in the following way:
A contract is a mutual agreement between two parties. One way this
agreement could be established is by negotiation between two parties.
Another way is by having one party advertise a default contract where
the mutual agreement is realized when the other party accepts the
contract. A third way is by having a default contract with alternative
assertions.
With that definition in mind a WSDL-file is a contract, or at least
part of a contract, because it is advertised by the provider and the
mutual agreement is realized when the consumer accepts the contract by
interacting with the provider. However, a WSDL-file doesn't contain all
the information a consumer needs and consequently a WSDL-file is only
part of a contract.
The next question is what is the differens between a contract and a
policy? What characteristic distinguish a policy from a contract?
According to my interpretation of a contract, a policy will turn into a
contract (or rather a part of a contract) the minute a consumer and
provider interact with each other.
Ronald Schmelzer defines a policy in the following way:
- Rules of engagemnet between consumers and providers
- A set of conditions that can apply to any number of contracts
I like the the definition that a policy is "a set of conditions that
can apply to any number of contracts" and maybe that is the most
important characteristic that differentiate it from a contract?
I have an open mind in this issue and any opinions or pointers is most
welcome!
// Dennis Djenfer
Stefan Tilkov wrote:
Dennis,
I posed a similar question to your last one and got some interesting
comments:
http://www.innoq.com/blog/st/2006/08/21/whats_a_service_contract.html
Best regards,
Stefan
On Sep 1, 2006, at 3:41 PM, dennis_djenfer wrote:
Hi folks,
I'm trying to map a Reference Architecture to the OASIS SOA Reference
Model, however I've been put in a quandary by some of the definitions
in OASIS SOA-RM:
1) Service Description: "The service description represents the
information needed in order to use a service." [OASIS SoA-RM]
My interpretation of SOA-RM is that a service description will
encompass documents like WSDL-files, XML-schemas, Policy document,
Service Level Agreements and so on. A service description is like a
map that points to all the information that a consumer needs to use
the service. That's fine for me, but it clashes with the term "Web
Service Description Language", which is not used for service
descriptions according to the SOA-RM definition (if you uses Web
Services). I guess we just have to accept this ambiguity.
2) Contract: "A contract represents an agreement by two or more
parties." [OASIS SOA-RM]
Most people think about a WSDL-file as a contract, like in
"contract-first design", but is it really a contract? It is true that
the requirement work for a service in most cases has been done with
some specific consumers in mind, but after the service is deployed and
new consumers discovers the service, the interface to a service is
more like "take-it-or-leave-it".
An SLA, on the other hand, is more like a contract that normally is a
negotiated with every consumer.
3) Policy: "A policy always represents a participant's point of view."
[OASIS SOA-RM]
In many cases I would say that a WSDL-file is a policy-document if we
use OASIS definition. It's something that the service provider states
and the consumers has to accept. On the other hand, If a service state
that it will not be operational between 3 A.M and 4 A.M, that could be
a policy, but in many cases that is something that has been negotiated
between two parties, even after the service has been deployd. I could
very well imagine that a service provider will negotiate different
policys with various consumers that need different QoS.
In that case a policy is more like contract according to the SOA-RM
definition.
So, the problems I have with SOA-RM are:
1) The well established term "Web Service Description Language" does
not actually define a language that is used for a service description
according to SOA-RM definition (well, this is a minor problem).
2) Is a WSDL-file a contract or a policy-document?
3) Does policy-documents always conform to the SOA-RM definition and
reflects one participants view or could it be a contract between two
parties?
// Dennis Djenfer
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.11.7/436 - Release Date: 2006-09-01
__._,_.___
SPONSORED LINKS
YAHOO! GROUPS LINKS
__,_._,___
|