This section contains the following topics.
The purpose of attributes in CentraSite is to associate values,
classifications and associations with names. For the UDDI representation in
CentraSite, the attributes are grouped together in a
uddi:keyedReferenceGroup
holding all attributes of the UDDI
object. CentraSite supports attributes of the following types:
Key/value pair attributes are represented in a
uddi:categoryBag
, as follows:
<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>
For tModels and instanceDetails, Rich Text attributes are represented
in a uddi:overviewDoc
element, as follows.
… <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, as follows:
<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
s, to make the
uddi:keyName
meaningful. The uddi:keyValue
points to
the URL of the rich text. All uddi:keyedReference
s representing a
rich text attribute are stored in a single
uddi:keyedReferenceGroup
.
CentraSite supports two different documents types:
reference
: This type is used for referencing documents
that can be shared between registry objects. These are also called supporting
documents.
contains
: This type is used for documents that belong
exclusively to the definition of a registry object. Examples are WSDL and
schema documents that define a Web service.
For tModels and instanceDetails, documents are represented in a
uddi:overviewDoc
element, as follows.
… <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
needed. 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_keyword
s, 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
s representing documents of one
type are stored in a single uddi:keyedReferenceGroup
.
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_keyword
s to add meaning to
the uddi:keyName
s. 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:keyedReference
s representing
relationships are stored in a single uddi:keyedReferenceGroup
.
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 following metrics are supported.
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.soap station.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>
The following sections describe the Metrics Reference taxonomy, the Metrics Types taxonomy and the taxonomies for each of the supported metrics (i.e., Total Request Count, Success Request Count, etc.):
The Metrics Reference taxonomy is for attaching metrics uddi:tModels to uddi:businessService. The uddi:tModel for defining the taxonomy looks as follows:
<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>
The Metrics Types taxonomy is needed for classifying the metrics value set taxonomies:
<tModel tModelKey="uddi:centrasite.com:management:metrics:types"> <name>CentraSite Metrics taxonomy </name> <description> Taxonomy holding all types of metrics known by CentraSite </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="entityKeyValues" keyValue="tModelKey" tModelKey="uddi:uddi.org:categorization:entitykeyvalues"/> </categoryBag> </tModel>
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>
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>
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>
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>
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>
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>
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>
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>
CentraSite stores Targets and Target Types as taxonomies. Thus, a
deployment of a service to a target can be represented via a
uddi:keyedReference
.
Services that have a certain status are classified according to the LCM taxonomy.
Version information is represented by mapping the jaxr:Slot
holding the version information. A uddi:categoryBag
holding
version information appears as follows:
<categoryBag> <keyedReference tModelKey="uddi:uddi.org:categorization:general_keywords" keyName="Version" keyValue="1.0.0"/> </categoryBag>
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.