7 Network Working Group B. Bergeson
8 Request for Comments: 4403 K. Boogert
9 Category: Informational Novell, Inc.
11 Oracle India Pvt. Ltd.
15 Lightweight Directory Access Protocol (LDAP) Schema for
16 Universal Description, Discovery, and Integration version 3 (UDDIv3)
20 This memo provides information for the Internet community. It does
21 not specify an Internet standard of any kind. Distribution of this
26 Copyright (C) The Internet Society (2006).
30 This document defines the Lightweight Directory Access Protocol
31 (LDAPv3) schema for representing Universal Description, Discovery,
32 and Integration (UDDI) data types in an LDAP directory. It defines
33 the LDAP object class and attribute definitions and containment rules
34 to model UDDI entities, defined in the UDDI version 3 information
35 model, in an LDAPv3-compliant directory.
39 1. Introduction ....................................................2
40 2. Conventions Used in This Document ...............................2
41 3. Representation of UDDI Data Structures ..........................2
42 4. Attribute Type Definitions ......................................6
43 5. Object Class Definitions .......................................28
44 6. Name Forms .....................................................32
45 7. DIT Structure Rules ............................................35
46 8. Security Considerations ........................................37
47 9. IANA Considerations ............................................37
48 10. Normative References ..........................................40
58 Bergeson, et al. Informational [Page 1]
60 RFC 4403 LDAP Schema for UDDIv3 February 2006
65 This document defines the Lightweight Directory Access Protocol
66 [LDAPv3] schema elements to represent the core data structures
67 identified in the Universal Description, Discovery, and Integration
68 version 3 [UDDIv3] information model. This includes a
69 businessEntity, a businessService, a bindingTemplate, a tModel, a
70 publisherAssertion, and a Subscription. Portions of [UDDIv3] are
71 repeated here for clarity.
73 2. Conventions Used in This Document
75 The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
76 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
77 document are to be interpreted as described in RFC 2119 [RFC2119].
79 All schema definitions are provided using [RFC2252] descriptions, and
80 are line-wrapped for readability only.
82 3. Representation of UDDI Data Structures
84 The information that makes up a registration in a UDDI registry
85 consists of these data structure types. This division by information
86 type provides simple partitions to assist in the rapid location and
87 understanding of the different information that makes up a
90 The individual instance data managed by a UDDI registry is sensitive
91 to the parent/child relationships found in the schema. A
92 businessEntity object contains one or more unique businessService
93 objects. Similarly, individual businessService objects contain
94 specific instances of bindingTemplate, which in turn contains
95 information that includes pointers to specific instances of tModel
98 It is important to note that no single instance of a core schema type
99 is ever "contained" by more than one parent instance. This means
100 that only one specific businessEntity object (identified by its
101 unique key value) will ever contain or be used to express information
102 about a specific instance of a businessService object (also
103 identified by its own unique key value).
107 The businessEntity object represents all known information about a
108 business or entity that publishes descriptive information about the
109 entity as well as the services that it offers. The businessEntity is
110 the top-level container that accommodates holding descriptive
114 Bergeson, et al. Informational [Page 2]
116 RFC 4403 LDAP Schema for UDDIv3 February 2006
119 information about a business or entity. Service descriptions and
120 technical information are expressed within a businessEntity by a
121 containment relationship.
123 3.1.1. Representation in the Directory
125 A businessEntity is represented in the directory by the attributes
126 uddiBusinessKey, uddiAuthorizedName, uddiOperator, uddiDiscoveryURLs,
127 uddiName, uddiDescription, uddiIdentifierBag, uddiCategoryBag, and
128 uddiv3DigitalSignature, along with corresponding v3 keys viz.
129 uddiv3BusinessKey, as defined in Section 4. A businessEntity may
130 contain zero or more instances of uddiContact and
133 A mandatory attribute, uddiBusinessKey, contains the unique
134 identifier for a given instance of a businessEntity.
136 businessEntity's definition is given in Section 5.
140 The businessService instances represent a logical business service.
141 Each businessService object is the logical child of a single
142 businessEntity object. Each businessService element contains
143 descriptive information in business terms outlining the type of
144 technical services found within each businessService instance.
146 In some cases, businesses would like to share or reuse services,
147 e.g., when a large enterprise publishes separate businessEntity
148 structures. This can be established by using the businessService
149 instance as a projection to an already published businessService.
151 3.2.1. Representation in the Directory
153 A businessService is represented in the directory by the attributes
154 uddiBusinessKey, uddiServiceKey, uddiName, uddiDescription,
155 uddiCategoryBag, uddiIsProjection, and uddiv3DigitalSignature, along
156 with corresponding v3 keys viz. uddiv3BusinessKey, and
157 uddiv3ServiceKey, as defined in Section 4. A businessService may
158 contain zero or more instances of uddiBindingTemplate.
160 The mandatory attribute, uddiServiceKey, contains the unique
161 identifier for a given instance of a businessService.
163 businessService's definition is given in Section 5.
170 Bergeson, et al. Informational [Page 3]
172 RFC 4403 LDAP Schema for UDDIv3 February 2006
177 Technical descriptions of Web services are accommodated via
178 individual contained instances of bindingTemplate objects. These
179 instances provide support for determining a technical entry point or
180 optionally support remotely hosted services, as well as a lightweight
181 facility for describing unique technical characteristics of a given
182 implementation. Support for technology and application specific
183 parameters and settings files are also supported.
185 Since UDDI's main purpose is to enable description and discovery of
186 Web service information, it is the bindingTemplate that provides the
187 most interesting technical data. With UDDIv3, bindingTemplates also
188 can have categorization information.
190 Each bindingTemplate instance has a single logical businessService
191 parent, which in turn has a single logical businessEntity parent.
193 3.3.1. Representation in the Directory
195 A bindingTemplate is represented in the directory by the attributes
196 uddiBindingKey, uddiServiceKey, uddiDescription, uddiAccessPoint,
197 uddiHostingRedirector, uddiCategoryBag, and uddiv3DigitalSignature,
198 along with corresponding v3 keys viz. uddiv3ServiceKey and
199 uddiv3BindingKey, as defined in Section 4. A bindingTemplate may
200 contain zero or more instances of uddiTModelInstanceDetails.
202 The mandatory attribute, uddiBindingKey, contains the unique
203 identifier for a given instance of a bindingTemplate.
205 BindingTemplate's definition is given in Section 5.
209 The tModel object takes the form of keyed metadata (data about data).
210 In a general sense, the purpose of a tModel within the UDDI registry
211 is to provide a reference system based on abstraction. Thus, the
212 kind of data that a tModel represents is pretty nebulous. In other
213 words, a tModel registration can define just about anything, but in
214 the current revision, two conventions have been applied for using
215 tModels: as sources for determining compatibility and as keyed
216 namespace references.
218 The information that makes up a tModel is quite simple. There are a
219 key, a name, an optional description, and a Uniform Resource Locator
220 [URL] that points somewhere--presumably somewhere where the curious
221 can go to find out more about the actual concept represented by the
222 metadata in the tModel itself.
226 Bergeson, et al. Informational [Page 4]
228 RFC 4403 LDAP Schema for UDDIv3 February 2006
231 3.4.1. Representation in the Directory
233 A tModel is represented in the directory by the attributes
234 uddiTModelKey, uddiAuthorizedName, uddiOperator, uddiName,
235 uddiDescription, uddiOverviewDescription, uddiOverviewURL,
236 uddiIdentifierBag, uddiCategoryBag, uddiIsHidden, and
237 uddiv3DigitalSignature, along with the corresponding v3 key viz.
238 uddiv3tModelKey, as defined in Section 4. A tModel may also contain
239 a uddiHidden to logically delete a tModel.
241 A mandatory attribute, uddiTModelKey, contains the unique identifier
242 for a given instance of a tModel.
244 tModel's definition is given in Section 5.
246 3.5. publisherAssertion
248 Many businesses, such as large enterprises or marketplaces, are not
249 effectively represented by a single businessEntity, since their
250 description and discovery are likely to be diverse. As a
251 consequence, several businessEntity instances can be published,
252 representing individual subsidiaries of a large enterprise or
253 individual participants of a marketplace. Nevertheless, they still
254 represent a more or less coupled community and would like to make
255 some of their relationships visible in their UDDI registrations.
257 3.5.1. Representation in the Directory
259 A publisherAssertion is represented in the directory by the
260 attributes uddiFromKey, uddiToKey, uddiKeyedReference, and uddiUUID,
261 and uddiv3DigitalSignature, as defined in Section 5.
263 A mandatory attribute, uddiUUID, contains the unique identifier for a
264 given instance of a publisherAssertion.
266 publisherAssertion's definition is given in Section 5.
268 3.6. Operational Information:
270 With UDDIv3, the operational information associated with the core
271 UDDI data structures is maintained in a separate OperationalInfo
272 structure, so that the digital signature specified by the publisher
275 The operationalInfo structure is used to convey the operational
276 information for the UDDIv3 core data structures, that is, the
277 businessEntity, businessService, bindingTemplate, and tModel
282 Bergeson, et al. Informational [Page 5]
284 RFC 4403 LDAP Schema for UDDIv3 February 2006
287 structures. UDDIv3 OperationalInfo consists of 5 elements: created,
288 Modified, modifiedIncludingChildren, nodeId, and authorizedName.
290 Depending on the specific UDDIv3 core data structure, the
291 operationalInformation is represented in the directory as a
292 combination of implicit LDAP Standard Operational attributes:
293 createTimestamp and modifyTimestamp, and the following explicit
294 attributes: uddiAuthorizedName, uddiv3EntityCreationTime,
295 uddiv3EntityModificationTime, and uddiv3NodeId.
297 4. Attribute Type Definitions
299 The OIDs for the attribute types in this document have been
300 registered by the IANA.
304 This is used in uddiBusinessEntity and uddiBusinessService.
306 The uddiBusinessKey is the unique identifier for a given instance of
307 a uddiBusinessEntity. The attribute is optional for businessService
308 instances contained within a fully expressed parent that already
309 contains a businessKey value.
311 If the businessService instance is rendered into the Extensible
312 Markup Language [XML] and has no containing parent that has within
313 its data a businessKey, the value of the businessKey that is the
314 parent of the businessService is required to be provided. This
315 behavior supports the ability to browse through the parent-child
316 relationships given any of the core elements as a starting point.
317 The businessKey may differ from the publishing businessEntity's
318 businessKey to allow service projections.
320 ( 1.3.6.1.1.10.4.1 NAME 'uddiBusinessKey'
321 DESC 'businessEntity unique identifier'
322 EQUALITY caseIgnoreMatch
323 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
327 4.2. uddiAuthorizedName
329 The uddiAuthorizedName is the recorded name of the individual who
330 published the uddiBusinessEntity or uddiTModel data. This data is
331 generated by the controlling operator and should not be supplied
332 within save_business operations.
334 With UDDIv3, this attribute is part of the "operationalInformation"
338 Bergeson, et al. Informational [Page 6]
340 RFC 4403 LDAP Schema for UDDIv3 February 2006
343 metadata associated with core data structures.
345 ( 1.3.6.1.1.10.4.2 NAME 'uddiAuthorizedName'
346 DESC 'businessEntity publisher name'
347 EQUALITY distinguishedNameMatch
348 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
354 The uddiOperator is the certified name of the UDDI registry site
355 operator that manages the master copy of the uddiBusinessEntity or
356 uddiTModel. The controlling operator records this data at the time
357 data is saved. This data is generated and should not be supplied
358 within save_business or save_tModel operations.
360 With UDDIv3, this field is no longer used -- it is replaced by the
361 nodeId (uddiv3NodeId) attribute that is part of the
362 "operationalInformation" metadata.
364 ( 1.3.6.1.1.10.4.3 NAME 'uddiOperator'
365 DESC 'registry site operator of businessEntitys master copy'
366 EQUALITY caseIgnoreMatch
367 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
373 This is used in uddiBusinessEntity, uddiBusinessService, and
376 These are the human-readable names recorded for the
377 uddiBusinessEntity, uddiBusinessService, or uddiTModel, adorned with
378 a unique xml:lang value to signify the language that they are
379 expressed in. Name search is provided via find_business,
380 find_service, or find_tModel calls.
382 The publishing of several names, e.g., for romanization purposes, is
383 supported. In order to signify the language that the names are
384 expressed in, they carry unique xml:lang values. Not more than one
385 name element may omit specifying its language. Names passed in this
386 way will be assigned the default language code of the registering
387 party. This default language code is established at the time that
388 publishing credentials are established with an individual Operator
394 Bergeson, et al. Informational [Page 7]
396 RFC 4403 LDAP Schema for UDDIv3 February 2006
399 Site. If no default language is provisioned at the time a publisher
400 signs up, the operator can adopt an appropriate default language
403 With UDDIv3, multiple values with the same language code are
406 ( 1.3.6.1.1.10.4.4 NAME 'uddiName'
407 DESC 'human readable name'
408 EQUALITY caseIgnoreMatch
409 ORDERING caseIgnoreOrderingMatch
410 SUBSTR caseIgnoreSubstringsMatch
411 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
414 The xml:lang value precedes the name value, with the "#" character
415 used as the separator.
419 The uddiDescription is an optional repeating element of one or more
420 descriptions. One description is allowed per national language code
421 supplied. With UDDIv3, there is no restriction on the number of
422 descriptions or on what xml:lang value that they may have.
424 ( 1.3.6.1.1.10.4.5 NAME 'uddiDescription'
425 DESC 'short description'
426 EQUALITY caseIgnoreMatch
427 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
430 The xml:lang value precedes the name value, with the "#" character
431 used as the separator.
433 4.6. uddiDiscoveryURLs
435 This is a list of Uniform Resource Locators (URLs) that point to
436 alternate, file-based service discovery mechanisms. Each recorded
437 uddiBusinessEntity structure is automatically assigned a URL that
438 returns the individual uddiBusinessEntity structure. A URL search is
439 provided via find_business call.
441 The uddiDiscoveryURLs attribute is used to hold pointers to URL-
442 addressable discovery documents. The expected retrieval mechanism
443 for URLs referenced in the data within this structure is via the
444 Hypertext Transfer Protocol [HTTP] HTTP-GET operation. The expected
445 return document is not defined. Rather, a framework for establishing
446 conventions is provided, and two such conventions are defined within
450 Bergeson, et al. Informational [Page 8]
452 RFC 4403 LDAP Schema for UDDIv3 February 2006
455 UDDI behaviors. It is hoped that other conventions come about and
456 use this structure to accommodate alternate means of discovery. With
457 UDDIv3, a new convention is defined with useType as "homepage".
458 Further, a UDDIv3 server need not generate/add a discoveryURL itself,
459 since this can invalidate the digital signature of signed the
460 Business Entity saved by publishers.
462 ( 1.3.6.1.1.10.4.6 NAME 'uddiDiscoveryURLs'
463 DESC 'URL to retrieve a businessEntity instance'
464 EQUALITY caseIgnoreMatch
465 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
468 The useType value precedes the URL value, with the "#" character used
473 The uddiUseType is used to describe the type of contact or address in
474 freeform text. Suggested examples for contact include "technical
475 questions", "technical contact", "establish account", "sales
476 contact", etc. Suggested examples for address include
477 "headquarters", "sales office", "billing department", etc.
479 ( 1.3.6.1.1.10.4.7 NAME 'uddiUseType'
480 DESC 'name of convention the referenced document follows'
481 EQUALITY caseIgnoreMatch
482 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
488 The uddiPersonName should list the name of the person or name of the
489 job role that will be available behind the contact. Examples of
490 roles include "administrator" or "webmaster".
492 ( 1.3.6.1.1.10.4.8 NAME 'uddiPersonName'
493 DESC 'name of person or job role available for contact'
494 EQUALITY caseIgnoreMatch
495 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
499 With UDDIv3, uddiPersonName becomes multi-valued and each name can
500 have an xml:lang attribute. The xml:lang value precedes the name
501 value with the "#" character used as the separator.
506 Bergeson, et al. Informational [Page 9]
508 RFC 4403 LDAP Schema for UDDIv3 February 2006
513 This is used to hold telephone numbers for the contact. This element
514 can be adorned with an optional uddiUseType attribute for descriptive
515 purposes. If more than one phone element is saved, uddiUseType
516 attributes are required on each.
518 ( 1.3.6.1.1.10.4.9 NAME 'uddiPhone'
519 DESC 'telephone number for contact'
520 EQUALITY caseIgnoreMatch
521 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
524 The useType precedes the telephone number by a separating '#' (e.g.,
525 "Work Number#123 456-7890") .
529 This is used to hold email addresses for the contact. This element
530 can be adorned with an optional uddiUseType attribute for descriptive
531 purposes. If more than one email element is saved, uddiUseType
532 attributes are required on each.
534 ( 1.3.6.1.1.10.4.10 NAME 'uddiEMail'
535 DESC 'e-mail address for contact'
536 EQUALITY caseIgnoreMatch
537 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
540 The useType precedes the email address by a separating '#' (e.g.,
541 "President of the United States #president@whitehouse.gov").
545 The uddiSortCode is used to drive the behavior of external display
546 mechanisms that sort addresses. The suggested values for
547 uddiSortCode include numeric ordering values (e.g., 1, 2, 3),
548 alphabetic character ordering values (e.g., a, b, c), or the first n
549 positions of relevant data within the address.
551 ( 1.3.6.1.1.10.4.11 NAME 'uddiSortCode'
552 DESC 'specifies an external display mechanism'
553 EQUALITY caseIgnoreMatch
554 ORDERING caseIgnoreOrderingMatch
555 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
562 Bergeson, et al. Informational [Page 10]
564 RFC 4403 LDAP Schema for UDDIv3 February 2006
567 With UDDIv3, the sortCode attribute is deprecated because of the
568 guarantee of preserving the document Order.
572 The uddiTModelKey is the unique identifier for a given instance of an
575 It is also used in a KeyedReference and in Address structures. When
576 used with a keyed reference, this is the unique key to identify a
577 value set and implies that the keyName keyValue pair in a
578 uddiIdentifier or uddiCategory Bag are to be interpreted by the value
579 set referenced by the tModelKey.
581 When used with Addressline elements, it implies that the keyName
582 keyValue pair given by subsequent uddiAddressLine elements are to be
583 interpreted by the address structure associated with the tModel that
586 ( 1.3.6.1.1.10.4.12 NAME 'uddiTModelKey'
587 DESC 'tModel unique identifier'
588 EQUALITY caseIgnoreMatch
589 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
593 4.13. uddiAddressLine
595 The uddiAddressLine contains the actual address in freeform text. If
596 the address element contains a uddiTModelKey, these uddiAddressLine
597 elements are to be adorned, each with an optional keyName keyValue
598 attribute pair. Together with the uddiTModelKey, keyName and
599 keyValue qualify the uddiAddressLine in order to describe its
602 The uddiAddressLine elements contain string data with a line length
603 limit of 80 character positions. Each uddiAddressLine element can be
604 adorned with two optional descriptive attributes, keyName and
605 keyValue. Both attributes must be present in each address line if a
606 uddiTModelKey is assigned to the address structure. By doing this,
607 the otherwise arbitrary use of address lines becomes structured.
608 Together with the address' uddiTModelKey, keyName and keyValue
609 virtually build a uddiKeyedReference that represents an address line
610 qualifier, given by the referenced uddiTModel.
612 When no uddiTModelKey is provided for the address structure, the
613 keyName and keyValue attributes can be used without restrictions, for
614 example, to provide descriptive information for each uddiAddressLine
618 Bergeson, et al. Informational [Page 11]
620 RFC 4403 LDAP Schema for UDDIv3 February 2006
623 by using the keyName attribute. Since both the keyName and the
624 keyValue attributes are optional, address line order is significant
625 and will always be returned by the UDDI-compliant registry in the
626 order originally provided during a call to save_business.
628 ( 1.3.6.1.1.10.4.13 NAME 'uddiAddressLine'
630 EQUALITY caseIgnoreMatch
631 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
634 The keyName, keyValue, and addressData of this attribute are
635 separated by "#" (e.g., "#"<keyName>"#"<keyValue>"#"<addressData>).
636 The addressData is the only required portion of the attribute.
638 4.14. uddiIdentifierBag
640 The uddiIdentifierBag element allows uddiBusinessEntity or uddiTModel
641 structures to include information about common forms of
642 identification such as D-U-N-S_ numbers, tax identifiers, etc. This
643 data can be used to signify the identity of the uddiBusinessEntity or
644 can be used to signify the identity of the publishing party.
645 Including data of this sort is optional, but when used greatly
646 enhances the search behaviors exposed via the find_xx messages
647 defined in the UDDI Version 2.0 API Specification [UDDIapi]. For a
648 full description of the structures involved in establishing an
649 identity, see UDDI Version 2.0 Data Structure Specification -
650 Appendix A: Using Identifiers [UDDIdsr].
652 ( 1.3.6.1.1.10.4.14 NAME 'uddiIdentifierBag'
653 DESC 'identification information'
654 EQUALITY caseIgnoreMatch
655 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
658 The tModel, keyName, and keyValue of this attribute are separated by
659 "#" (e.g., <tModel>"#"<keyName>"#"<keyValue>). The keyValue is the
660 only required portion of the attribute.
662 4.15. uddiCategoryBag
664 The uddiCategoryBag element allows uddiBusinessEntity,
665 uddiBusinessService, and uddiTModel structures to be categorized
666 according to any of several available taxonomy-based classification
667 schemes. Operator Sites automatically provide validated
668 categorization support for three taxonomies that cover industry codes
669 (via NAICS), product and service classifications (via UNSPC), and
670 geography (via ISO 3166). Including data of this sort is optional,
674 Bergeson, et al. Informational [Page 12]
676 RFC 4403 LDAP Schema for UDDIv3 February 2006
679 but when used, it greatly enhances the search behaviors exposed by
680 the find_xx messages defined in the UDDI Version 2.0 API
681 Specification [UDDIapi]. For a full description of structures
682 involved in establishing categorization information, see UDDI Version
683 2.03 Data Structure Specification--Appendix B: Using Categorization
686 ( 1.3.6.1.1.10.4.15 NAME 'uddiCategoryBag'
687 DESC 'categorization information'
688 EQUALITY caseIgnoreMatch
689 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
692 The tModel, keyName, and keyValue of this attribute are separated by
693 "#" (e.g., <tModel>"#"<keyName>"#"<keyValue>). The keyValue is the
694 only required portion of the attribute.
696 With UDDIv3, uddiBindingTemplates also supports the uddiCategoryBag
697 element and they can also be categorized according to any of several
698 available taxonomy-based classification schemes.
700 4.16. uddiKeyedReference
702 The uddiKeyedReference is a general-purpose attribute for a name-
703 value pair, with an additional reference to a tModel.
705 ( 1.3.6.1.1.10.4.16 NAME 'uddiKeyedReference'
706 DESC 'categorization information'
707 EQUALITY caseIgnoreMatch
708 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
711 The tModel, keyName, and keyValue of this attribute are separated by
712 "#" (e.g., <tModel>"#"<keyName>"#"<keyValue>). The keyValue is the
713 only required portion of the attribute. With UDDIv3, the tModelKey
714 also becomes a mandatory part of the attribute.
716 Also, UDDIv3 defines KeyedReferenceGroups for CategoryBags. A
717 keyedReferenceGroup contains a tModelKey and a simple list of
718 KeyedReference structures. The uddiKeyedReference attribute will
719 support KeyedReferenceGroups by suffixing the tModelKey for
720 KeyedReferenceGroup to each of the keyedReference values associated
723 For example, to represent a keyedReference group containing a list of
724 2 keyed references, the attribute will hold the following 2 strings
730 Bergeson, et al. Informational [Page 13]
732 RFC 4403 LDAP Schema for UDDIv3 February 2006
735 tModelKey1#KeyName1#KeyValue1#KeyedReferenceGroup1_tModelKey
736 tModelKey2#KeyName2#KeyValue2#KeyedReferenceGroup1_tModelKey
740 This is the unique key for a given uddiBusinessService. When saving
741 a new uddiBusinessService structure, pass an empty uddiServiceKey
742 value. This signifies that a UUID value is to be generated. To
743 update an existing uddiBusinessService structure, pass the UUID value
744 that corresponds to the existing service. If a uddiServiceKey is
745 received via an inquiry operation, the key values may not be blank.
746 When saving a new or updated service projection, pass the
747 uddiServiceKey of the referenced uddiBusinessService structure.
749 This attribute is optional when the uddiBindingTemplate data is
750 contained within a fully expressed parent that already contains a
751 uddiServiceKey value. If the uddiBindingTemplate data is rendered
752 into XML and has no containing parent that has within its data a
753 uddiServiceKey, the value of the uddiServiceKey that is the ultimate
754 containing parent of the uddiBindingTemplate is required to be
755 provided. This behavior supports the ability to browse through the
756 parent-child relationships given any of the core elements as a
759 ( 1.3.6.1.1.10.4.17 NAME 'uddiServiceKey'
760 DESC 'businessService unique identifier'
761 EQUALITY caseIgnoreMatch
762 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
768 This is the unique key for a given uddiBindingTemplate. When saving
769 a new uddiBindingTemplate structure, pass an empty uddiBindingKey
770 value. This signifies that a UUID value is to be generated. To
771 update an existing uddiBindingTemplate, pass the UUID value that
772 corresponds to the existing uddiBindingTemplate instance. If a
773 uddiBindingKey is received via an inquiry operation, the key values
776 ( 1.3.6.1.1.10.4.18 NAME 'uddiBindingKey'
777 DESC 'bindingTemplate unique identifier'
778 EQUALITY caseIgnoreMatch
779 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
786 Bergeson, et al. Informational [Page 14]
788 RFC 4403 LDAP Schema for UDDIv3 February 2006
791 4.19. uddiAccessPoint
793 The uddiAccessPoint element is an attribute-qualified pointer to a
794 service entry point. The notion of service at the metadata level
795 seen here is fairly abstract and many types of entry points are
796 accommodated. A single attribute is provided named URLType.
798 Required attribute-qualified element8: This element is a text field
799 that is used to convey the entry point address suitable for calling a
800 particular Web service. This may be a URL, an electronic mail
801 address, or even a telephone number. No assumptions about the type
802 of data in this field can be made without first understanding the
803 technical requirements associated with the Web service.
805 ( 1.3.6.1.1.10.4.19 NAME 'uddiAccessPoint'
806 DESC 'entry point address to call a web service'
807 EQUALITY caseIgnoreMatch
808 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
812 The URLType value precedes the accessPoint value by a separating '#'.
814 With UDDIv3, the "URLType" attribute is replaced by a "UseType"
815 attribute. Using this UseType attribute, the accessPoint attribute
816 can model a hostingRedirector or support indirection to indicate that
817 the accesspoint is specified within a remotely hosted WSDL document.
819 For a UDDIv3 registry that needs to support UDDIv2 clients, the
820 attribute must allow the representation of URLType and UseType values
823 The UDDIv3 spec specifies the following logic for mapping values
824 between URLType and UseType: If an entity is saved with the v3
825 namespace and a v2 inquiry is made, the URLType will be returned as
826 "other". In the case when a v3 inquiry is made on an entity
827 published with the v2 namespace, the v3 useType attribute will be
828 returned as "endPoint".
830 For implementations that need to explicitly model both forms, the
831 recommended format is as follows: v2URLType#v3UseType#Address
833 4.20. uddiHostingRedirector
835 The uddiHostingRedirector element is used to designate that a
836 uddiBindingTemplate entry is a pointer to a different
837 uddiBindingTemplate entry. The value in providing this facility is
838 seen when a business or entity wants to expose a service description
842 Bergeson, et al. Informational [Page 15]
844 RFC 4403 LDAP Schema for UDDIv3 February 2006
847 (e.g., advertise that it has a service available that suits a
848 specific purpose) that is actually a service described in a separate
849 uddiBindingTemplate record. This might occur when a service is
850 remotely hosted (hence the name of this element), or when many
851 service descriptions could benefit from a single service description.
853 The uddiHostingRedirector element has a single attribute and no
854 element content. The attribute is a uddiBindingKey value that is
855 suitable within the same UDDI registry instance for querying and
856 obtaining the uddiBindingDetail data that is to be used.
858 More on the uddiHostingRedirector can be found in the appendices for
859 the UDDI Version 2.0 API Specification [UDDIapi].
861 Required element if uddiAccessPoint is not provided: This element is
862 adorned with a uddiBindingKey attribute, giving the redirected
863 reference to a different uddiBindingTemplate. If you query a
864 uddiBindingTemplate and find a uddiHostingRedirector value, you
865 should retrieve that uddiBindingTemplate and use it in place of the
866 one containing the uddiHostingRedirector data.
868 ( 1.3.6.1.1.10.4.20 NAME 'uddiHostingRedirector'
869 DESC 'designates a pointer to another bindingTemplate'
870 EQUALITY caseIgnoreMatch
871 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
875 With UDDIv3, the hostingRedirector is a deprecated element, since its
876 functionality is now covered by the accessPoint. For backward-
877 compatibility, it can still be used, but it is not recommended.
879 4.21. uddiInstanceDescription
881 This is an optional repeating element. This is one or more
882 language-qualified text descriptions that designate what role a
883 uddiTModel reference plays in the overall service description.
885 ( 1.3.6.1.1.10.4.21 NAME 'uddiInstanceDescription'
886 DESC 'instance details description'
887 EQUALITY caseIgnoreMatch
888 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
891 The xml:lang value precedes the name value, with the "#" character
892 used as the separator.
898 Bergeson, et al. Informational [Page 16]
900 RFC 4403 LDAP Schema for UDDIv3 February 2006
903 4.22. uddiInstanceParms
905 The uddiInstanceParms is an optional element of the uddiInstance. It
906 is used to contain settings parameters or a URL reference to a file
907 that contains settings or parameters required to use a specific facet
908 of a uddiBindingTemplate description. If used to house the
909 parameters themselves, the suggested content is a namespace-qualified
910 XML string using a namespace outside of the UDDI schema. If used to
911 house a URL pointer to a file, the suggested format is a URL that is
912 suitable for retrieving the settings or parameters via HTTP-GET.
914 ( 1.3.6.1.1.10.4.22 NAME 'uddiInstanceParms'
915 DESC 'URL reference to required settings'
916 EQUALITY caseIgnoreMatch
917 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
921 4.23. uddiOverviewDescription
923 This is an optional repeating element. This language-qualified
924 string is intended to hold a short descriptive overview of how a
925 particular uddiTModel is to be used.
927 ( 1.3.6.1.1.10.4.23 NAME 'uddiOverviewDescription'
928 DESC 'outlines tModel usage'
929 EQUALITY caseIgnoreMatch
930 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
933 The xml:lang value precedes the name value, with the "#" character
934 used as the separator.
954 Bergeson, et al. Informational [Page 17]
956 RFC 4403 LDAP Schema for UDDIv3 February 2006
959 4.24. uddiOverviewURL
961 This is an optional element. This string data element is to be used
962 to hold a URL reference to a long form of an overview document that
963 covers the way a particular uddiTModel specific reference is used as
964 a component of an overall Web service description. The recommended
965 format for the overviewURL is a URI that is suitable for retrieving
966 the actual overview document with an HTTP-GET operation, for example,
969 ( 1.3.6.1.1.10.4.24 NAME 'uddiOverviewURL'
970 DESC 'URL reference to overview document'
971 EQUALITY caseIgnoreMatch
972 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
976 With UDDIv3, uddiOverviewURL becomes multi-valued to allow the
977 representation of multiple OverviewDocs within a single
978 InstanceDetail element.
980 Modeling multiple OverviewDocs within an InstanceDetail element:
982 In UDDIv3, the InstanceDetails element in TmodelInstanceInfo can have
983 multiple OverviewDoc's. In UDDIv2, we could have only 1 OverviewDoc.
984 To retain the grouping between a set of overviewDescriptions and
985 overviewURL, we can make both OverviewDoc and OverviewURL multi-
986 valued, and have a "group ID" Prefix to each value (to group
987 OverviewDescriptions and OverviewURL).
989 An example is shown below:
991 Overview Description OverviewURL
992 1#xml:lang#overviewDescription1 1#UseType#overviewURL
993 1#xml:lang#overviewDescription2 2#UseType#overviewURL
994 1#xml:lang#overviewDescription3 4#UseType#overviewURL
995 3#xml:lang#overviewDescription1
996 3#xml:lang#overviewDescription2
997 4#xml:lang#overviewDescription1
999 This implies that OverviewDoc1 has 3 overview descriptions and an
1000 overviewURL. OverviewDoc2 has only an overviewURL. OverviewDoc3 has
1001 only 2 overviewDescriptions. OverviewDoc4 also has 1 overview
1002 description and an overviewURL.
1010 Bergeson, et al. Informational [Page 18]
1012 RFC 4403 LDAP Schema for UDDIv3 February 2006
1017 The uddiFromKey is a required element. This is the unique key
1018 reference to the first uddiBusinessEntity for which the assertion is
1021 ( 1.3.6.1.1.10.4.25 NAME 'uddiFromKey'
1022 DESC 'unique businessEntity key reference'
1023 EQUALITY caseIgnoreMatch
1024 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1030 The uddiToKey is a required element. This is the unique key
1031 reference to the second uddiBusinessEntity for which the assertion is
1034 ( 1.3.6.1.1.10.4.26 NAME 'uddiToKey'
1035 DESC 'unique businessEntity key reference'
1036 EQUALITY caseIgnoreMatch
1037 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1043 The uddiUUID is a required element. This is to ensure unique
1044 identification of uddiContact, uddiAddress, and
1045 uddiPublisherAssertion objects.
1047 ( 1.3.6.1.1.10.4.27 NAME 'uddiUUID'
1048 DESC 'unique attribute'
1049 EQUALITY caseIgnoreMatch
1050 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1054 With UDDIv3, this attribute will also be used for unique
1055 identification of Subscription-feature-related entities.
1066 Bergeson, et al. Informational [Page 19]
1068 RFC 4403 LDAP Schema for UDDIv3 February 2006
1073 This is used to provide functionality for the delete_tModel
1074 operation. Logical deletion hides the deleted tModels from
1075 find_tModel result sets but does not physically delete it.
1077 ( 1.3.6.1.1.10.4.28 NAME 'uddiIsHidden'
1078 DESC 'isHidden attribute'
1079 EQUALITY booleanMatch
1080 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
1084 In case of UDDIv3, this attribute will represent the "deleted"
1087 4.29. uddiIsProjection
1089 This is used to identify a Business Service that has a Service
1092 ( 1.3.6.1.1.10.4.29 NAME 'uddiIsProjection'
1093 DESC 'isServiceProjection attribute'
1094 EQUALITY booleanMatch
1095 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
1101 This is used to model the xml:lang value for the Address structure in
1104 ( 1.3.6.1.1.10.4.30 NAME 'uddiLang'
1105 DESC 'xml:lang value in v3 Address structure'
1106 EQUALITY caseIgnoreMatch
1107 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1111 The following are attribute definitions to model new elements/fields
1112 in UDDIv3 information model. These attribute definitions have the
1113 "uddiv3" prefix to indicate that these attributes represent UDDI
1114 information model elements unique to UDDIv3.
1122 Bergeson, et al. Informational [Page 20]
1124 RFC 4403 LDAP Schema for UDDIv3 February 2006
1127 4.31. uddiv3BusinessKey
1129 This is the unique UDDIv3 identifier for a given instance of
1130 uddiBusinessEntity. It is used in uddiBusinessEntity and
1131 uddiBusinessService.
1133 A uddiBusinessEntity will include the uddiBusinessKey (the v2 form)
1134 for unique identification by UDDIv2 clients. The uddiBusinessKey
1135 (36-char) will also be the LDAP naming attribute for the
1136 uddiBusinessEntity. The uddiBusinessEntity entry MAY also include
1137 the uddiv3BusinessKey, the explicit v3 form key, which can be 255
1140 ( 1.3.6.1.1.10.4.31 NAME 'uddiv3BusinessKey'
1141 DESC 'UDDIv3 businessEntity unique identifier'
1142 EQUALITY caseIgnoreMatch
1143 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1147 4.32. uddiv3ServiceKey
1149 This is the unique UDDIv3 identifier for a given instance of
1150 uddiBusinessService. It is used in uddiBusinessService and
1151 uddiBindingTemplate.
1153 A uddiBusinessService will include the uddiServiceKey (the v2 form)
1154 for unique identification by UDDIv2 clients. The uddiServiceKey
1155 (36-char) will also be the LDAP naming attribute for the
1156 uddiBusinessService entry. The uddiBusinessService entry MAY also
1157 include the uddiv3ServiceKey, the explicit v3 form key, which can be
1158 255 characters long.
1160 ( 1.3.6.1.1.10.4.32 NAME 'uddiv3ServiceKey'
1161 DESC 'UDDIv3 businessService unique identifier'
1162 EQUALITY caseIgnoreMatch
1163 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1167 4.33. uddiv3BindingKey
1169 This is the unique UDDIv3 identifier for a given instance of
1170 uddiBindingTemplate.
1172 A uddiBindingTemplate will include the uddiBindingKey (the v2 form)
1173 for unique identification by UDDIv2 clients. The uddiBindingKey
1174 (36-char) will also be the LDAP naming attribute for the
1178 Bergeson, et al. Informational [Page 21]
1180 RFC 4403 LDAP Schema for UDDIv3 February 2006
1183 uddiBindingTemplate entry. The uddiBindingTemplate entry MAY also
1184 include the uddiv3BindingKey, the explicit v3 form key, which can be
1185 255 characters long.
1187 ( 1.3.6.1.1.10.4.33 NAME 'uddiv3BindingKey'
1188 DESC 'UDDIv3 BindingTemplate unique identifier'
1189 EQUALITY caseIgnoreMatch
1190 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1194 4.34. uddiv3TModelKey
1196 This is the unique UDDIv3 identifier for a given instance of a
1199 A uddiTModel will include the uddiTModelKey (the v2 form) for unique
1200 identification by UDDIv2 clients. The uddiTModelKey (41-char) will
1201 also be the LDAP naming attribute for the uddiTModel entry. The
1202 uddiTModel entry MAY also include the uddiv3TModelKey, the explicit
1203 v3 form key, which can be 255 characters long.
1205 ( 1.3.6.1.1.10.4.34 NAME 'uddiv3TModelKey'
1206 DESC 'UDDIv3 TModel unique identifier'
1207 EQUALITY caseIgnoreMatch
1208 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1212 The tModelKey is also used in a KeyedReference and in Address
1213 structures. In all instances where a tModelKey is used as a
1214 reference to tModel, the v3 form of the tModel key (viz.
1215 uddiv3TModelKey) will be the form used, since using the v2 form key
1216 will require translating it to the v3 key by the UDDI Server, which
1217 may invalidate the digital signature of the entity.
1219 4.35. uddiv3DigitalSignature
1221 The UDDIv3 v3 schema supports the signing of the following UDDI
1222 elements using "XML-Signature Syntax and Processing" (see
1223 http://www.w3.org/TR/xmldsig-core/).
1229 ..publisherAssertion
1234 Bergeson, et al. Informational [Page 22]
1236 RFC 4403 LDAP Schema for UDDIv3 February 2006
1239 This uddiv3DigitalSignature attribute holds the digital signature for
1240 the corresponding UDDI entity.
1242 ( 1.3.6.1.1.10.4.35 NAME 'uddiv3DigitalSignature'
1243 DESC 'UDDIv3 entity digital signature'
1244 EQUALITY caseExactMatch
1245 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1248 A Signature element SHOULD be generated according to the required
1249 steps of "Core Generation" in XML-Signature Syntax and Processing.
1250 The signature should be calculated on the top-level element that will
1251 be stored by the registry as a result of the Publication API call.
1252 This element, referred to as the data object in the XML-Signature and
1253 Syntax specification, is the businessEntity element for save_business
1254 API calls, the businessService element for save_service API calls,
1255 the bindingTemplate for save_binding API calls, the tModel for
1256 save_tModel API calls, and the publisherAssertion for
1257 set_publisherAssertions and add_publisherAssertion API calls.
1259 The signature should be generated on the elements before they are
1260 added to the body of an API call. Also, according to the signature
1261 generation, all children of the element being signed are included in
1262 the generation of the signature unless first excluded by application
1263 of a transform. Due to the containment of service projections as
1264 businessService elements within a businessEntity element, this also
1265 means that changes to the projected service will render a signature
1266 of the businessEntity containing the projection invalid, unless a
1267 businessService element representing a service projection is excluded
1270 Due to the location of the sequence of Signature elements within an
1271 element that is to be signed, the signature is "enveloped". As a
1272 result of the enveloping of the signature, it is necessary to apply
1273 at least one transformation on the signed entity to exclude the
1274 signature or signature(s). The transformation selected by a
1275 publisher or the XML-Signature tool is specified in a Transform
1276 element inside the Signature element.
1290 Bergeson, et al. Informational [Page 23]
1292 RFC 4403 LDAP Schema for UDDIv3 February 2006
1297 This attribute contains the Node Identity for a UDDIv3 node.
1299 ( 1.3.6.1.1.10.4.36 NAME 'uddiv3NodeId'
1300 DESC 'UDDIv3 Node Identifier'
1301 EQUALITY caseIgnoreMatch
1302 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1306 4.37. uddiv3EntityModificationTime
1308 This attribute is used to maintain the last modification time for a
1309 UDDI entity. It is needed in the context of maintaining the
1310 modifiedIncludingChildren element. When a child entity (e.g.,
1311 uddiBindingTemplate) is updated, the parent entity (e.g.,
1312 uddiBusinessService) LDAP timestamp also gets updated. The
1313 uddiv3EntityModificationTime attribute saves the last modification
1314 time of the parent entity (uddiBusinessService in this case).
1316 ( 1.3.6.1.1.10.4.37 NAME 'uddiv3EntityModificationTime'
1317 DESC 'UDDIv3 Last Modified Time for Entity'
1318 EQUALITY generalizedTimeMatch
1319 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
1323 The following attribute definitions define attributes related to the
1324 modeling of UDDIv3 subscription-related entities in the LDAP
1327 Subscription provides clients, known as subscribers, with the ability
1328 to register their interest in receiving information concerning
1329 changes made in a UDDI registry. These changes can be scoped based
1330 on preferences provided with the request. The uddiv3Subscription
1331 object class is used to model registered UDDIv3 subscriptions.
1346 Bergeson, et al. Informational [Page 24]
1348 RFC 4403 LDAP Schema for UDDIv3 February 2006
1351 4.38. uddiv3SubscriptionKey
1353 This is the unique UDDIv3 identifier for a given instance of a
1354 uddiv3Subscription entity.
1356 ( 1.3.6.1.1.10.4.38 NAME 'uddiv3SubscriptionKey'
1357 DESC 'UDDIv3 Subscription unique identifier'
1358 EQUALITY caseIgnoreMatch
1359 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1363 4.39. uddiv3SubscriptionFilter
1365 This attribute contains the UDDIv3 Subscription Filter, specified as
1366 part of the save_subscription API, i.e., the Inquiry API specified as
1367 filtering criteria with a registered subscription. The filtering
1368 criteria limits the scope of a subscription to a subset of registry
1369 records. The get_xx and find_xx APIs are all valid choices for use
1370 as a subscriptionFilter. Only one of these can be chosen for each
1373 ( 1.3.6.1.1.10.4.39 NAME 'uddiv3SubscriptionFilter'
1374 DESC 'UDDIv3 Subscription Filter'
1375 EQUALITY caseIgnoreMatch
1376 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1380 4.40. uddiv3NotificationInterval
1382 This attribute contains the Notification Interval string. It is of
1383 the type xsd:duration and specifies how often Asynchronous change
1384 notifications are to be provided to a subscriber.
1386 ( 1.3.6.1.1.10.4.40 NAME 'uddiv3NotificationInterval'
1387 DESC 'UDDIv3 Notification Interval'
1388 EQUALITY caseIgnoreMatch
1389 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1402 Bergeson, et al. Informational [Page 25]
1404 RFC 4403 LDAP Schema for UDDIv3 February 2006
1407 4.41. uddiv3MaxEntities
1409 This attribute contains the maximum number of entities to be returned
1410 as part of a subscription notification. It is an integer and
1411 specifies the maximum number of entities in a notification returned
1412 to a subscription listener.
1414 ( 1.3.6.1.1.10.4.41 NAME 'uddiv3MaxEntities'
1415 DESC 'UDDIv3 Subscription maxEntities field'
1416 EQUALITY integerMatch
1417 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
1421 4.42. uddiv3ExpiresAfter
1423 This attribute specifies the Expiry Time associated with a
1424 subscription. It is of the XML Schema type xsd:dateTime.
1426 ( 1.3.6.1.1.10.4.42 NAME 'uddiv3ExpiresAfter'
1427 DESC 'UDDIv3 Subscription ExpiresAfter field'
1428 EQUALITY generalizedTimeMatch
1429 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
1433 4.43. uddiv3BriefResponse
1435 This attribute is a Boolean flag for Brief Response associated with a
1436 subscription entity. It controls the level of detail returned to a
1437 subscription listener. The default is "false" when omitted. When
1438 set to "true", it indicates that the subscription results are to be
1439 returned to the subscriber in the form of a keyBag, listing all of
1440 the entities that matched the subscriptionFilter.
1442 ( 1.3.6.1.1.10.4.43 NAME 'uddiv3BriefResponse'
1443 DESC 'UDDIv3 Subscription ExpiresAfter field'
1444 EQUALITY booleanMatch
1445 SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
1458 Bergeson, et al. Informational [Page 26]
1460 RFC 4403 LDAP Schema for UDDIv3 February 2006
1463 4.44. uddiv3EntityKey
1465 This is the unique UDDIv3 identifier for a given instance of a core
1466 UDDI data structure that is to be logged as an Obituary entry
1467 uddiv3EntityObituary. When a core UDDIv3 Entity is deleted and there
1468 is an active subscription registered against this UDDI Entity, an
1469 Obituary entry is created, in which the v3 key of the deleted entry
1470 is logged as part of the uddiv3EntityKey attribute.
1472 ( 1.3.6.1.1.10.4.44 NAME 'uddiv3EntityKey'
1473 DESC 'UDDIv3 Entity unique identifier'
1474 EQUALITY caseIgnoreMatch
1475 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
1479 4.45. uddiv3EntityCreationTime
1481 This attribute is used to log the original Creation Time for a UDDI
1482 Entity that is deleted in the uddiv3EntityObituary entry.
1484 It is also used in uddiBusinessService and uddiBindingTemplate. A
1485 Move BS operation needs to delete and recreate BT sub-tree due to
1486 lack of support for moving a sub-tree in many LDAPv3 servers. This
1487 attribute is used to save the original creation time of the BT during
1490 ( 1.3.6.1.1.10.4.45 NAME 'uddiv3EntityCreationTime'
1491 DESC 'UDDIv3 Entity Creation Time'
1492 EQUALITY generalizedTimeMatch
1493 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
1497 4.46. uddiv3EntityDeletionTime
1499 This attribute is used to log the entity deletion time for a UDDI
1500 Entity that is deleted in the uddiv3EntityObituary entry.
1502 ( 1.3.6.1.1.10.4.46 NAME 'uddiv3EntityDeletionTime'
1503 DESC 'UDDIv3 Entity Deletion Time'
1504 EQUALITY generalizedTimeMatch
1505 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
1514 Bergeson, et al. Informational [Page 27]
1516 RFC 4403 LDAP Schema for UDDIv3 February 2006
1519 5. Object Class Definitions
1521 The OIDs for the object classes in this document have been registered
1524 5.1. uddiBusinessEntity
1526 This structural object class represents a businessEntity.
1528 ( 1.3.6.1.1.10.6.1 NAME 'uddiBusinessEntity'
1531 MUST ( uddiBusinessKey $
1533 MAY ( uddiAuthorizedName $
1540 uddiv3DigitalSignature $
1541 uddiv3EntityModificationTime $
1547 This structural object class represents a contact. It is contained
1548 by a uddiBusinessEntity.
1550 ( 1.3.6.1.1.10.6.2 NAME 'uddiContact'
1553 MUST ( uddiPersonName $
1570 Bergeson, et al. Informational [Page 28]
1572 RFC 4403 LDAP Schema for UDDIv3 February 2006
1577 This structural object class represents an address. It is contained
1580 ( 1.3.6.1.1.10.6.3 NAME 'uddiAddress'
1592 5.4. uddiBusinessService
1594 This structural object class represents a businessService.
1596 ( 1.3.6.1.1.10.6.4 NAME 'uddiBusinessService'
1599 MUST ( uddiServiceKey )
1607 uddiv3DigitalSignature $
1608 uddiv3EntityCreationTime $
1609 uddiv3EntityModificationTime $
1626 Bergeson, et al. Informational [Page 29]
1628 RFC 4403 LDAP Schema for UDDIv3 February 2006
1631 5.5. uddiBindingTemplate
1633 This structural object class represents a bindingTemplate.
1635 ( 1.3.6.1.1.10.6.5 NAME 'uddiBindingTemplate'
1638 MUST ( uddiBindingKey )
1639 MAY ( uddiServiceKey $
1642 uddiHostingRedirector
1646 uddiv3DigitalSignature $
1647 uddiv3EntityCreationTime $
1651 5.6. uddiTModelInstanceInfo
1653 This structural object class represents a tModelInstanceInfo. It is
1654 contained by a uddiBindingTemplate.
1656 ( 1.3.6.1.1.10.6.6 NAME 'uddiTModelInstanceInfo'
1659 MUST ( uddiTModelKey )
1660 MAY ( uddiDescription $
1661 uddiInstanceDescription $
1663 uddiOverviewDescription $
1682 Bergeson, et al. Informational [Page 30]
1684 RFC 4403 LDAP Schema for UDDIv3 February 2006
1689 This structural object class represents a tModel.
1691 ( 1.3.6.1.1.10.6.7 NAME 'uddiTModel'
1694 MUST ( uddiTModelKey $
1696 MAY ( uddiAuthorizedName $
1699 uddiOverviewDescription $
1705 uddiv3DigitalSignature $
1709 5.8. uddiPublisherAssertion
1711 This structural object class represents a publisherAssertion.
1713 ( 1.3.6.1.1.10.6.8 NAME 'uddiPublisherAssertion'
1716 MUST ( uddiFromKey $
1718 uddiKeyedReference $
1720 MAY ( uddiv3DigitalSignature $
1724 The following are object class definitions to model new data
1725 structures needed to implement the UDDIv3 information model. These
1726 object class definitions have the "uddiv3" prefix to indicate that
1727 these attributes represent UDDI information model elements unique to
1738 Bergeson, et al. Informational [Page 31]
1740 RFC 4403 LDAP Schema for UDDIv3 February 2006
1743 5.9. uddiv3Subscription
1745 This structural object class represents a Subscription entity.
1747 ( 1.3.6.1.1.10.6.9 NAME 'uddiv3Subscription'
1750 MUST ( uddiv3SubscriptionFilter $
1752 MAY ( uddiAuthorizedName $
1753 uddiv3SubscriptionKey $
1755 uddiv3NotificationInterval $
1757 uddiv3ExpiresAfter $
1758 uddiv3BriefResponse $
1762 5.10. uddiv3EntityObituary
1764 This structural object class represents an Obituary entry for and
1765 stores obituary information for deleted UDDIv3 entities needed for
1766 handling subscriptions.
1768 ( 1.3.6.1.1.10.6.10 NAME 'uddiv3EntityObituary'
1771 MUST ( uddiv3EntityKey $
1773 MAY ( uddiAuthorizedName $
1774 uddiv3EntityCreationTime $
1775 uddiv3EntityDeletionTime $
1781 This section defines the required hierarchical structure rules and
1782 naming attributes for the object classes defined in Section 6.
1784 The OIDs for the structure rules in this document have been
1785 registered by the IANA.
1794 Bergeson, et al. Informational [Page 32]
1796 RFC 4403 LDAP Schema for UDDIv3 February 2006
1799 6.1. uddiBusinessEntityNameForm
1801 This name form defines the naming attribute for a businessEntity.
1803 ( 1.3.6.1.1.10.15.1 NAME 'uddiBusinessEntityNameForm'
1804 OC uddiBusinessEntity
1805 MUST ( uddiBusinessKey )
1808 6.2. uddiContactNameForm
1810 This name form defines the naming attribute for a contact.
1812 ( 1.3.6.1.1.10.15.2 NAME 'uddiContactNameForm'
1817 6.3. uddiAddressNameForm
1819 This name form defines the naming attribute for an address.
1821 ( 1.3.6.1.1.10.15.3 NAME 'uddiAddressNameForm'
1826 6.4. uddiBusinessServiceNameForm
1828 This name form defines the naming attribute for a businessService.
1830 ( 1.3.6.1.1.10.15.4 NAME 'uddiBusinessServiceNameForm'
1831 OC uddiBusinessService
1832 MUST ( uddiServiceKey )
1835 6.5. uddiBindingTemplateNameForm
1837 This name form defines the naming attribute for a bindingTemplate.
1839 ( 1.3.6.1.1.10.15.5 NAME 'uddiBindingTemplateNameForm'
1840 OC uddiBindingTemplate
1841 MUST ( uddiBindingKey )
1850 Bergeson, et al. Informational [Page 33]
1852 RFC 4403 LDAP Schema for UDDIv3 February 2006
1855 6.6. uddiTModelInstanceInfoNameForm
1857 This name form defines the naming attribute for a tModelInstanceInfo.
1859 ( 1.3.6.1.1.10.15.6 NAME 'uddiTModelInstanceInfoNameForm'
1860 OC uddiTModelInstanceInfo
1861 MUST ( uddiTModelKey )
1864 6.7. uddiTModelNameForm
1866 This name form defines the naming attribute for a tModel.
1868 ( 1.3.6.1.1.10.15.7 NAME 'uddiTModelNameForm'
1870 MUST ( uddiTModelKey )
1873 6.8. uddiPublisherAssertionNameForm
1875 This name form defines the naming attribute for a publisherAssertion.
1877 ( 1.3.6.1.1.10.15.8 NAME 'uddiPublisherAssertionNameForm'
1878 OC uddiPublisherAssertion
1882 6.9. uddiv3SubscriptionNameForm
1884 This name form defines the naming attribute for a Subscription.
1886 ( 1.3.6.1.1.10.15.9 NAME 'uddiv3SubscriptionNameForm'
1887 OC uddiv3Subscription
1891 6.10. uddiv3EntityObituaryNameForm
1893 This name form defines the naming attribute for an Entity Obituary.
1895 ( 1.3.6.1.1.10.15.10 NAME 'uddiv3EntityObituaryNameForm'
1896 OC uddiv3EntityObituary
1906 Bergeson, et al. Informational [Page 34]
1908 RFC 4403 LDAP Schema for UDDIv3 February 2006
1911 7. DIT Structure Rules
1913 This section defines the required hierarchical structure rules for
1914 the object classes defined in Section 6.
1916 Note that rule identifiers defined here show the relationship between
1917 structure rules. Implementations may use different identifiers but
1918 must follow the same hierarchical model.
1920 7.1. uddiBusinessEntityStructureRule
1923 NAME 'uddiBusinessEntityStructureRule'
1924 FORM uddiBusinessEntityNameForm
1927 7.2. uddiContactStructureRule
1929 This structure rule defines the object class containment for a
1933 NAME 'uddiContactStructureRule'
1934 FORM uddiContactNameForm
1938 7.3. uddiAddressStructureRule
1940 This structure rule defines the object class containment for an
1944 NAME 'uddiAddressStructureRule'
1945 FORM uddiAddressNameForm
1949 7.4. uddiBusinessServiceStructureRule
1951 This structure rule defines the object class containment for a
1955 NAME 'uddiBusinessServiceStructureRule'
1956 FORM uddiBusinessServiceNameForm
1962 Bergeson, et al. Informational [Page 35]
1964 RFC 4403 LDAP Schema for UDDIv3 February 2006
1968 7.5. uddiBindingTemplateStructureRule
1970 This structure rule defines the object class containment for a
1974 NAME 'uddiBindingTemplateStructureRule'
1975 FORM uddiBindingTemplateNameForm
1979 7.6. uddiTModelInstanceInfoStructureRule
1981 This structure rule defines the object class containment for a
1985 NAME 'uddiTModelInstanceInfoStructureRule'
1986 FORM uddiTModelInstanceInfoNameForm
1990 7.7. uddiTModelStructureRule
1993 NAME 'uddiTModelStructureRule'
1994 FORM uddiTModelNameForm
1997 7.8. uddiPublisherAssertion
2000 NAME 'uddiPublisherAssertionStructureRule'
2001 FORM uddiPublisherAssertionNameForm
2004 7.9. uddiv3SubscriptionStructureRule
2007 NAME 'uddiv3SubscriptionStructureRule'
2008 FORM uddiv3SubscriptionNameForm
2018 Bergeson, et al. Informational [Page 36]
2020 RFC 4403 LDAP Schema for UDDIv3 February 2006
2023 7.10. uddiv3EntityObituaryStructureRule
2026 NAME 'uddiv3EntityObituaryStructureRule'
2027 FORM uddiv3EntityObituaryNameForm
2030 8. Security Considerations
2032 Storing UDDI data into the directory enables the data to be examined
2033 and used outside the environment in which it was originally created.
2034 The directory entry containing the UDDI data could be read and
2035 modified within the constraints imposed by the access control
2036 mechanisms of the directory. With UDDIv3 [UDDIv3], publishers can
2037 digitally sign UDDI Entities enabling registry clients to validate
2038 the integrity of entries read from the UDDIv3 registry by verifying
2039 the digital signature.
2041 Each UDDI Entity has a uddiAuthorizedName attribute that contains an
2042 LDAP DN identifying the publisher/owner. The referenced LDAP object
2043 can provide the public key of the signer to a registry client for
2044 integrity validation of the UDDI Entity.
2046 Other general LDAP [LDAPv3] security considerations apply. Some of
2047 the UDDI attributes such as AccessPoints for services may contain
2048 sensitive information. Use of strong authentication mechanisms and
2049 data integrity/confidentiality services [RFC2829][RFC2830] is
2052 9. IANA Considerations
2054 Refer to RFC 3383, "Internet Assigned Numbers Authority (IANA)
2055 Considerations for the Lightweight Directory Access Protocol (LDAP)"
2074 Bergeson, et al. Informational [Page 37]
2076 RFC 4403 LDAP Schema for UDDIv3 February 2006
2079 9.1. Object Identifier Registration
2081 The IANA has registered an LDAP Object Identifier for use in this
2082 technical specification, according to the following template:
2084 Subject: Request for LDAP OID Registration
2085 Person & email address to contact for further information:
2086 Bruce Bergeson (bruce.bergeson@novell.com)
2087 Specification: RFC 4403
2088 Author/Change Controller: IESG
2090 The assigned OID (10) will be used as a base for identifying
2091 a number of UDDI schema elements defined in this document.
2093 9.2. Object Identifier Descriptors
2095 The IANA has registered the LDAP Descriptors used in this technical
2096 specification as detailed in the following template:
2098 Subject: Request for LDAP Descriptor Registration Update
2099 Descriptor (short name): see table
2100 Object Identifier: see table
2101 Person & email address to contact for further information:
2102 Bruce Bergeson (bruce.bergeson@novell.com)
2104 Specification: RFC 4403
2105 Author/Change Controller: IESG
2108 The following descriptors have been added:
2111 -------------- ---- ------------
2112 uddiBusinessKey A 1.3.6.1.1.10.4.1
2113 uddiAuthorizedName A 1.3.6.1.1.10.4.2
2114 uddiOperator A 1.3.6.1.1.10.4.3
2115 uddiName A 1.3.6.1.1.10.4.4
2116 uddiDescription A 1.3.6.1.1.10.4.5
2117 uddiDiscoveryURLs A 1.3.6.1.1.10.4.6
2118 uddiUseType A 1.3.6.1.1.10.4.7
2119 uddiPersonName A 1.3.6.1.1.10.4.8
2120 uddiPhone A 1.3.6.1.1.10.4.9
2121 uddiEMail A 1.3.6.1.1.10.4.10
2122 uddiSortCode A 1.3.6.1.1.10.4.11
2123 uddiTModelKey A 1.3.6.1.1.10.4.12
2124 uddiAddressLine A 1.3.6.1.1.10.4.13
2130 Bergeson, et al. Informational [Page 38]
2132 RFC 4403 LDAP Schema for UDDIv3 February 2006
2136 -------------- ---- ------------
2137 uddiIdentifierBag A 1.3.6.1.1.10.4.14
2138 uddiCategoryBag A 1.3.6.1.1.10.4.15
2139 uddiKeyedReference A 1.3.6.1.1.10.4.16
2140 uddiServiceKey A 1.3.6.1.1.10.4.17
2141 uddiBindingKey A 1.3.6.1.1.10.4.18
2142 uddiAccessPoint A 1.3.6.1.1.10.4.19
2143 uddiHostingRedirector A 1.3.6.1.1.10.4.20
2144 uddiInstanceDescription A 1.3.6.1.1.10.4.21
2145 uddiInstanceParms A 1.3.6.1.1.10.4.22
2146 uddiOverviewDescription A 1.3.6.1.1.10.4.23
2147 uddiOverviewURL A 1.3.6.1.1.10.4.24
2148 uddiFromKey A 1.3.6.1.1.10.4.25
2149 uddiToKey A 1.3.6.1.1.10.4.26
2150 uddiUUID A 1.3.6.1.1.10.4.27
2151 uddiIsHidden A 1.3.6.1.1.10.4.28
2152 uddiIsProjection A 1.3.6.1.1.10.4.29
2153 uddiLang A 1.3.6.1.1.10.4.30
2154 uddiv3BusinessKey A 1.3.6.1.1.10.4.31
2155 uddiv3ServiceKey A 1.3.6.1.1.10.4.32
2156 uddiv3BindingKey A 1.3.6.1.1.10.4.33
2157 uddiv3TmodelKey A 1.3.6.1.1.10.4.34
2158 uddiv3DigitalSignature A 1.3.6.1.1.10.4.35
2159 uddiv3NodeId A 1.3.6.1.1.10.4.36
2160 uddiv3EntityModificationTime A 1.3.6.1.1.10.4.37
2161 uddiv3SubscriptionKey A 1.3.6.1.1.10.4.38
2162 uddiv3SubscriptionFilter A 1.3.6.1.1.10.4.39
2163 uddiv3NotificationInterval A 1.3.6.1.1.10.4.40
2164 uddiv3MaxEntities A 1.3.6.1.1.10.4.41
2165 uddiv3ExpiresAfter A 1.3.6.1.1.10.4.42
2166 uddiv3BriefResponse A 1.3.6.1.1.10.4.43
2167 uddiv3EntityKey A 1.3.6.1.1.10.4.44
2168 uddiv3EntityCreationTime A 1.3.6.1.1.10.4.45
2169 uddiv3EntityDeletionTime A 1.3.6.1.1.10.4.46
2170 uddiBusinessEntity O 1.3.6.1.1.10.6.1
2171 uddiContact O 1.3.6.1.1.10.6.2
2172 uddiAddress O 1.3.6.1.1.10.6.3
2173 uddiBusinessService O 1.3.6.1.1.10.6.4
2174 uddiBindingTemplate O 1.3.6.1.1.10.6.5
2175 uddiTModelInstanceInfo O 1.3.6.1.1.10.6.6
2176 uddiTModel O 1.3.6.1.1.10.6.7
2177 uddiPublisherAssertion O 1.3.6.1.1.10.6.8
2178 uddiv3Subscription O 1.3.6.1.1.10.6.9
2179 uddiv3EntityObituary O 1.3.6.1.1.10.6.10
2180 uddiBusinessEntityNameForm N 1.3.6.1.1.10.15.1
2181 uddiContactNameForm N 1.3.6.1.1.10.15.2
2182 uddiAddressNameForm N 1.3.6.1.1.10.15.3
2186 Bergeson, et al. Informational [Page 39]
2188 RFC 4403 LDAP Schema for UDDIv3 February 2006
2192 -------------- ---- ------------
2193 uddiBusinessServiceNameForm N 1.3.6.1.1.10.15.4
2194 uddiBindingTemplateNameForm N 1.3.6.1.1.10.15.5
2195 uddiTModelInstanceInfoNameForm N 1.3.6.1.1.10.15.6
2196 uddiTModelNameForm N 1.3.6.1.1.10.15.7
2197 uddiPublisherAssertionNameForm N 1.3.6.1.1.10.15.8
2198 uddiv3SubscriptionNameForm N 1.3.6.1.1.10.15.9
2199 uddiv3EntityObituaryNameForm N 1.3.6.1.1.10.15.10
2201 where Type A is Attribute, Type O is ObjectClass, Type N is NameForm
2203 These assignments have been recorded in the following registry:
2205 http://www.iana.org/assignments/ldap-parameters
2207 10. Normative References
2209 [LDAPv3] Hodges, J. and R. Morgan, "Lightweight Directory Access
2210 Protocol (v3): Technical Specification", RFC 3377,
2213 [RFC2252] Wahl, M., Coulbeck, A., Howes, T., and S. Kille,
2214 "Lightweight Directory Access Protocol (v3): Attribute
2215 Syntax Definitions", RFC 2252, December 1997.
2217 [UDDIdsr] UDDI.ORG, "UDDI version 2.03 Data Structure Reference,"
2218 http://uddi.org/pubs/DataStructure-V2.03-Published-
2221 [UDDIapi] "UDDI Version 2.04 API Specification",
2222 http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-
2225 [UDDIv3] UDDI Version 3.0, Published Specification, 19 July 2002
2226 http://uddi.org/pubs/uddi-v3.00-published-20020719.htm
2228 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
2229 Requirement Levels", BCP 14, RFC 2119, March 1997.
2231 [RFC2829] Wahl, M., Alvestrand, H., Hodges, J., and R. Morgan,
2232 "Authentication Methods for LDAP", RFC 2829, May 2000.
2234 [RFC2830] Hodges, J., Morgan, R., and M. Wahl, "Lightweight Directory
2235 Access Protocol (v3): Extension for Transport Layer
2236 Security", RFC 2830, May 2000.
2242 Bergeson, et al. Informational [Page 40]
2244 RFC 4403 LDAP Schema for UDDIv3 February 2006
2247 [RFC3383] Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
2248 Considerations for the Lightweight Directory Access
2249 Protocol (LDAP)", BCP 64, RFC 3383, September 2002.
2251 [XML] Extensible Markup Language (XML) 1.0 (Second Edition) W3C
2252 Recommendation 6 October 2000 http://www.w3.org/TR/REC-xml
2254 [URL] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
2255 Resource Identifier (URI): Generic Syntax", STD 66, RFC
2258 [HTTP] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
2259 Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
2260 Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
2269 Phone: +1 801 861 3854
2270 EMail: bruce.bergeson@novell.com
2278 Phone: +1 801 861 3212
2279 EMail: kent.boogert@novell.com
2283 Oracle India Pvt. Ltd.
2284 Lexington Towers, Prestige St. John's Woods
2285 #18, 2nd Cross Road,
2290 Phone: +11 9180 4108 5000
2291 EMail: vijay.nanjundaswamy@oracle.com
2298 Bergeson, et al. Informational [Page 41]
2300 RFC 4403 LDAP Schema for UDDIv3 February 2006
2303 Full Copyright Statement
2305 Copyright (C) The Internet Society (2006).
2307 This document is subject to the rights, licenses and restrictions
2308 contained in BCP 78, and except as set forth therein, the authors
2309 retain all their rights.
2311 This document and the information contained herein are provided on an
2312 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
2313 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
2314 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
2315 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
2316 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
2317 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
2319 Intellectual Property
2321 The IETF takes no position regarding the validity or scope of any
2322 Intellectual Property Rights or other rights that might be claimed to
2323 pertain to the implementation or use of the technology described in
2324 this document or the extent to which any license under such rights
2325 might or might not be available; nor does it represent that it has
2326 made any independent effort to identify any such rights. Information
2327 on the procedures with respect to rights in RFC documents can be
2328 found in BCP 78 and BCP 79.
2330 Copies of IPR disclosures made to the IETF Secretariat and any
2331 assurances of licenses to be made available, or the result of an
2332 attempt made to obtain a general license or permission for the use of
2333 such proprietary rights by implementers or users of this
2334 specification can be obtained from the IETF on-line IPR repository at
2335 http://www.ietf.org/ipr.
2337 The IETF invites any interested party to bring to its attention any
2338 copyrights, patents or patent applications, or other proprietary
2339 rights that may cover technology that may be required to implement
2340 this standard. Please address the information to the IETF at
2345 Funding for the RFC Editor function is provided by the IETF
2346 Administrative Support Activity (IASA).
2354 Bergeson, et al. Informational [Page 42]