CentraSite 10.3 | CentraSite Developer's Guide | Access Using UDDI | UDDI Representation of the Object Model
 
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:
*Total Request Count
*Success Request Count
*Fault Count
*Average Response Time
*Minimum Response Time
*Maximum Response Time
*Availability
*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.