Registering Reusable Policy Expressions
A reusable policy expression is represented by a dedicated uddi:tModel in the UDDI registry. The following uddi:tModel shows an example:
<tModel tModelKey="uuid:04cfa…">
<name>…</name>
<description xml:lang="EN">
Policy Expression for example's Web services
</description>
<overviewDoc>
<description xml:lang="EN">WS-Policy Expression</description>
<overviewURL>http://www.example.com/myservice/policy</overviewURL>
</overviewDoc>
<categoryBag>
<keyedReference
keyName="Reusable policy Expression"
keyValue="policy"
tModelKey="uuid:fa1d77dc-edf0-3a84-a99a-5972e434e993" />
<keyedReference
keyName="Policy Expression for example's Web services"
keyValue="http://www.example.com/myservice/policy"
tModelKey="uuid:a27078e4-fd38-320a-806f-6749e84f8005" />
</categoryBag>
</tModel>
The uddi:tModel comes with two uddi:keyedReferences. The first uddi:keyedReference specifies the uddi:tModel to represent a reusable policy expression. The second one points to the document holding the policy expression. An example that shows the attachment of a reusable policy expression is given by the following uddi:businessService:
<businessService serviceKey="…" >
<name>…</name>
<description>…</description>
<bindingTemplates>…</bindingTemplates>
<categoryBag>
<keyedReference
keyName="Policy Expression for example's Web services"
keyValue="uuid:04cfa…"
tModelKey="uuid:a27f7d45-ec90-31f7-a655-efe91433527c" />
</categoryBag>
</businessService>
The uddi:businessService holds a keyedReference pointing to the uddi:tModel holding the reusable policy expression. The uddi:tModelKey of the uddi:keyedReference points to the local policy reference uddi:tModel.