UDDI Representation of the Object Model
Attributes
Attributes in CentraSite associate values, classifications, and associations with names. For the UDDI representation in CentraSite, the attributes are grouped together in a uddi:keyedReferenceGroup containing all the attributes of the UDDI object.
Key/Value Pair Attributes
Key/value pair attributes are represented in a uddi:categoryBag as:
<categoryBag>
<keyedReference
tModelKey="uddi:uddi.org:categorization:general_keywords"
keyName="Encryption Required" keyValue="false"/>
<keyedReference
tModelKey="uddi:uddi.org:categorization:general_keywords"
keyName="Demo Available" keyValue="false"/>
</categoryBag>
Rich Text Attributes
For tModels and instanceDetails, the Rich Text attributes are represented in a uddi:overviewDoc element as:
<overviewDoc>
<description>
Detailed Description
</description>
<overviewUrl useType="uddi:centrasite.com:attributes:richText">
http://10.22.21.94:2020/...
</overviewUrl>
</overviewDoc>
For all other UDDI objects, especially uddi:business and uddi:businessService, a modified, UDDI-conformant uddi:keyedReferenceGroup approach provides more flexibility. However, the document referencing semantics cannot be interpreted by a standard UDDI client. Therefore, for Rich Text attributes a dedicated uddi:keyedReferenceGroup is introduced:
<categoryBag>
<keyedReferenceGroup tModelKey="uddi:centrasite.com:attributes:richText">
<keyedReference
tModelKey="uddi:uddi.org:categorization:general_keywords"
keyName="Detailed Description"
keyValue="http://... "/>
</keyedReferenceGroup>
</categoryBag>
The uddi:tModelKey is pointing to uddi:uddi.org:categorization:general_keyword, to make the uddi:keyName meaningful. The uddi:keyValue points to the URL of the rich text. All uddi:keyedReferences representing a rich text attribute are stored in a single uddi:keyedReferenceGroup.
Document Attributes
CentraSite supports two different documents types:
reference: This is used for referencing documents that can be shared between registry objects. These are also called supporting documents.
contains: This is used for documents that belong exclusively to the definition of a registry object, such as WSDL and schema documents that define a Web service.
For tModels and instanceDetails, documents are represented in a uddi:overviewDoc element as:
<overviewDoc>
<description>
sample category/Documentation
</description>
<overviewUrl useType="uddi:centrasite.com:attributes:document:reference">
http://10.22.21.94:2020/...
</overviewUrl>
</overviewDoc>
<overviewDoc>
<description>
sample Asset File
</description>
<overviewUrl useType="uddi:centrasite.com:attributes:document:contains">
http://10.22.21.94:2020/...
</overviewUrl>
</overviewDoc>
For all other UDDI objects, a modified uddi:keyedReferenceGroup based approach is used which conforms to the UDDI specification:
<categoryBag>
<keyedReferenceGroup
tModelKey="uddi:centrasite.com:attributes:document:reference">
<keyedReference
tModelKey="uddi:uddi.org:categorization:general_keywords"
keyName="sample category/Documentation"
keyValue="http://10.22.21.94:2020/..."/>
</keyedReferenceGroup>
<keyedReferenceGorup
tModelKey="uddi:centrasite.com:attributes:document:contains"
<keyedReference
tModelKey="uddi:uddi.org:categorization:general_keywords"
keyName="Asset File" keyValue="http://10.22.21.94:2020/..."/>
</keyedReferenceGroup>
</categoryBag>
For both document types (reference and contains), a separate uddi:keyedReferenceGroup is required. The uddi:tModelKey of the uddi:keyedReferenceGroup specifies the document type. For each document type, a separate uddi:tModel is defined. Each udddi:keydReference represents a single document. The uddi:tModelKey points to uddi:uddi.org:categorization:general_keywords, to add meaning to the uddi:keyName. The uddi:keyName specifies the location of the file and the uddi:keyValue holds the URL of the document. All uddi:keyedReference representing documents of one type are stored in a single uddi:keyedReferenceGroup.
Relationship Attributes
Relationships are represented in a uddi:keyedReferenceGroup, as follows:
<categoryBag>
<keyedReferenceGroup
tModelKey="uddi:centrasite.com:attributes:relationShip">
<keyedReference
tModelKey="uddi:uddi.org:categorization:general_keywords"
keyValue="uddi:3447…"
keyName="Invokes"/>
<keyedReference
tModelKey="uddi:uddi.org:categorization:general_keywords"
keyValue="uddi:3447…"
keyName="RelatedTo"/>
</keyedReferenceGroup>
</categoryBag>
The uddi:tModelKey indicates that a relationship is represented. Another uddi:tModelKey uses uddi:uddi.org:categorization:general_keywords to add meaning to the uddi:keyName. The uddi:keyValue points to the reference registry object, and the uddi:keyName specifies the type of the relationship. The available relationship types are determined by the attribute meta data. All uddi:keyedReferences representing relationships are stored in a single uddi:keyedReferenceGroup.
Metrics Definition
Following the approach proposed by the Governance Interoperability Framework, saving metrics information for service objects is accomplished by publishing a uddi:tModel. This means that a uddi:tModel holding the metrics information is published and attached to the given uddi:businessService.
Following is a simple uddi:tModel the metrics information:
<tModel tModelKey="uddi:3d32ac10-5dd1-11da-88b8-51d47e6188b2" deleted="false"
xmlns="urn:uddiorg:api_v3">
<name>Metrics</name>
<description>Metrics of EchoAccessPoint</description>
<categoryBag>
<keyedReference
tModelKey="…(key of object type taxonomy)"
keyName="Metrics"
keyValue="Metrics"/>
<keyedReference
tModelKey="uddi:centrasite.com:management:metrics:total.request.count"
keyName="Count of hits"
keyValue="14"/>
</categoryBag>
</tModel>
The uddi:keyedReference of the uddi:categoryBag hold the metrics information. The metrics that are supported are:
![*](chapterTOC_bullet.png)
Total Request Count
![*](chapterTOC_bullet.png)
Success Request Count
![*](chapterTOC_bullet.png)
Fault Count
![*](chapterTOC_bullet.png)
Average Response Time
![*](chapterTOC_bullet.png)
Minimum Response Time
![*](chapterTOC_bullet.png)
Maximum Response Time
![*](chapterTOC_bullet.png)
Availability
![*](chapterTOC_bullet.png)
Service Liveliness
For each of the supported metrics an according taxonomy is defined that represents the according value set.
For attaching a metrics uddi:tModel to a given uddi:service, a uddi:keyedReference is used, which references the metrics-reference taxonomy. Following is an example of a uddi:businessService that references a metrics uddi:tModel:
<businessService serviceKey="uddi:1d233560-5dc8-11da-88b7-51d47e6188b2"
businessKey="uddi:a2b32100-5ac0-11da-8540-e2406020853d"
xmlns="urn:uddi-org:api_v3">
<name>EchoHeadersService</name>
<description>wsdl:type representing service</description>
<bindingTemplates>
<bindingTemplate bindingKey="uddi:1d25a660-5dc8-11da-88b7-51d47e6188b2"
serviceKey="uddi:1d233560-5dc8-11da-88b7-51d47e6188b2">
<description>wsdl:type representing port</description>
<accessPoint useType="http://schemas.xmlsoap.org/soap/http">
http://tracy:4400/sst/runtime.asvc/com.actional.soapstation.Echo
</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo
tModelKey="uddi:1cd8bee0-5dc8-11da-88b7-51d47e6188b2">
<instanceDetails>
<instanceParms>EchoHeaders</instanceParms>
</instanceDetails>
</tModelInstanceInfo>
<tModelInstanceInfo
tModelKey="uddi:1cafda20-5dc8-11da-88b7-51d47e6188b2"/>
</tModelInstanceDetails>
<categoryBag>
<keyedReference tModelKey="uddi:uddi.org:wsdl:types"
keyName="uddi.org:wsdl:types" keyValue="port"/>
</categoryBag>
</bindingTemplate>
</bindingTemplates>
<categoryBag>
<keyedReference
tModelKey="uddi:centrasite.com:management:metrics:reference"
keyName="Metrics"
keyValue="uddi:3d32ac10-5dd1-11da-88b8-51d47e6188b2"/>
<keyedReference tModelKey="uddi:uddi.org:xml:namespace"
keyName="uddi.org:xml:namespace"
keyValue="http://sanity/test"/>
<keyedReference tModelKey="uddi:uddi.org:wsdl:types"
keyName="uddi.org:wsdl:types" keyValue="service"/>
<keyedReference tModelKey="uddi:uddi.org:xml:localName"
keyName="uddi.org:xml:localName"
keyValue="EchoHeadersService"/>
</categoryBag>
</businessService>
Metrics Reference Taxonomy
The Metrics Reference taxonomy is for attaching metrics uddi:tModels to uddi:businessService. The uddi:tModel for defining the taxonomy is:
<tModel tModelKey=
"uddi: centrasite.com:management:metrics:reference">
<name> centrasite -com:management:metrics:reference</name>
<description>
Reference to a tModel containing all metrics about the Service
</description>
<categoryBag>
<keyedReference
keyName="uddi-org:types:categorization"
keyValue="categorization"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference
keyName="uddi-org:types:checked"
keyValue="checked"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference
keyName="entityKeyValues"
keyValue="tModelKey"
tModelKey="uddi:uddi.org:categorization:entitykeyvalues"/>
</categoryBag>
</tModel>
Total Request Count Taxonomy
The following metrics tModel indicates the total number of requests:
<tModel tModelKey=
"uddi:centrasite.com:management:metrics:total.request.count">
<name>Total Request Count</name>
<description> Represents Metrics Total Request Count</description>
<categoryBag>
<keyedReference keyName="uddi-org:types:categorization"
keyValue="categorization"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:unchecked"
keyValue="unchecked"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="Metric Type"
keyValue="Metrics Type"
tModelKey="uddi:centrasite.com:management:metrics:types"/>
</categoryBag>
</tModel>
Success Request Count Taxonomy
The following metrics tModel indicates the number of successful requests:
<tModel tModelKey=
"uddi:centrasite.com:management:metrics:success.request.count">
<name>Success Request Count</name>
<description>Represents Metrics Success Request Count</description>
<categoryBag>
<keyedReference keyName="uddi-org:types:categorization"
keyValue="categorization"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:unchecked"
keyValue="unchecked"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="Metric Type"
keyValue="Metrics Type"
tModelKey="uddi:centrasite.com:management:metrics:types"/>
</categoryBag>
</tModel>
Fault Request Count Taxonomy
The following metrics tModel indicates the number of faults:
<tModel tModelKey=
"uddi:centrasite.com:management:metrics:fault.request.count">
<name>Fault Request Count</name>
<description>Represents Metrics Fault Request Count</description>
<categoryBag>
<keyedReference keyName="uddi-org:types:categorization"
keyValue="categorization"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:unchecked"
keyValue="unchecked"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="Metric Type"
keyValue="Metrics Type"
tModelKey="uddi:centrasite.com:management:metrics:types"/>
</categoryBag>
</tModel>
Average Response Time Taxonomy
The following metrics tModel indicates the average response time of requests:
<tModel tModelKey=
"uddi:centrasite.com:management:metrics:average.response.time">
<name>Average Response Time</name>
<description>Represents Metrics Average Response Time</description>
<categoryBag>
<keyedReference keyName="uddi-org:types:categorization"
keyValue="categorization"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:unchecked"
keyValue="unchecked"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="Metric Type"
keyValue="Metrics Type"
tModelKey="uddi:centrasite.com:management:metrics:types"/>
</categoryBag>
</tModel>
Minimum Response Time Taxonomy
The following metrics tModel indicates the minimum response time of requests:
<tModel tModelKey=
"uddi:centrasite.com:management:metrics:minimum.response.time">
<name>Minimum Response Time</name>
<description>Represents Metrics Minimum Response Time</description>
<categoryBag>
<keyedReference keyName="uddi-org:types:categorization"
keyValue="categorization"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:unchecked"
keyValue="unchecked"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="Metric Type"
keyValue="Metrics Type"
tModelKey="uddi:centrasite.com:management:metrics:types"/>
</categoryBag>
</tModel>
Maximum Response Time Taxonomy
The following metrics tModel indicates the maximum response time of requests:
<tModel tModelKey=
"uddi:centrasite.com:management:metrics:maximum.response.time">
<name>Maximum Response Time</name>
<description>Represents Metrics Maximum Response Time</description>
<categoryBag>
<keyedReference keyName="uddi-org:types:categorization"
keyValue="categorization"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:unchecked"
keyValue="unchecked"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="Metric Type"
keyValue="Metrics Type"
tModelKey="uddi:centrasite.com:management:metrics:types"/>
</categoryBag>
</tModel>
Availability Taxonomy
The following metrics tModel indicates the Virtual/Proxy service availability:
<tModel tModelKey=
"uddi:centrasite.com:management:metrics:availability">
<name>Availability</name>
<description>Represents Metrics Availability</description>
<categoryBag>
<keyedReference keyName="uddi-org:types:categorization"
keyValue="categorization"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:unchecked"
keyValue="unchecked"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="Metric Type"
keyValue="Metrics Type"
tModelKey="uddi:centrasite.com:management:metrics:types"/>
</categoryBag>
</tModel>
Service Liveliness Taxonomy
The following metrics tModel indicates the uptime/downtime of Virtual/Proxy services:
<tModel tModelKey=
"uddi:centrasite.com:management:metrics:service.liveliness">
<name>Service Liveliness</name>
<description>Represents Metrics Service Liveliness</description>
<categoryBag>
<keyedReference keyName="uddi-org:types:categorization"
keyValue="categorization"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:unchecked"
keyValue="unchecked"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="Metric Type"
keyValue="Metrics Type"
tModelKey="uddi:centrasite.com:management:metrics:types"/>
</categoryBag>
</tModel>
Representing Targets and Target Types
CentraSite stores Targets and Target Types as taxonomies. Hence, a deployment of a service to a target can be represented via a uddi:keyedReference.
Representing Status
Services that have a certain status are classified according to the LCM taxonomy.
Representing Version
Version information is represented by mapping the jaxr:Slot holding the version information. A uddi:categoryBag holding version information appears as:
<categoryBag>
<keyedReference tModelKey="uddi:uddi.org:categorization:general_keywords"
keyName="Version" keyValue="1.0.0"/>
</categoryBag>
Mapping WS-PolicyAttachments
The mapping of WS-PolicyAttachments follows the W3C specification Web Service Policy Attachment version 1.5. This means that a tModel is created to represent the reusable policy expression.