What Is Web Services Policy And How Does It Work? [Part 1]
By potociar on Feb 22, 2007
WSIT project Milestone 3 was just released. And that is a great opportunity for me to try to share some thoughts that should help you to find the answer to the question from the title of this blog. Lets apply a divide and conquer strategy so that we can address the two topics the question contains separately. In this blog we would find out what the term web service policy actually means. We would look at how does it work tomorrow in my following blog.
What is web services policy?More and more often when people speak about web services they would mention also policies. What are they talking about? If we try to look up the word "policy" in an encyclopedia you end up with a definition like this: A policy is a plan of action to guide decisions and actions. The term may apply to government, private sector organizations and groups, and individuals. The policy process includes the identification of different alternatives, such as programs or spending priorities, and choosing among them on the basis of the impact they will have. Policies can be understood as political, management, financial, and administrative mechanisms arranged to reach explicit goals. (Wikipedia) If we go on and search for some more explanation in a dictionary, we discover that word "policy" is being described as a "course or plan of action", "statement of requirement" or "contract". Well, how does all that apply to our question? What is a policy in context of web services? In my opinion, definition of web service policy might look like this: Policy is a set of assertions (rules, requirements, obligations) that define properties of contract of web service based communication. Great! We have our definition! Still, what is this policy good for? The answer is not that difficult. When a client wants to communicate with a web service, first it must get some answers (in a machine readable way) to the following questions:
- How does the service's interface look like?
- What is the format of the message payloads the service claims to understands?
- What are the other (behavioral) requirements I must meet to be able to talk to the service?