UDDI Spec TC

 

UDDI Version 3.0.1

UDDI Spec Technical Committee Specification, Dated 20031014

 

Document identifier:

uddi_v3

Current version:

http://uddi.org/pubs/uddi-v3.0.1-20031014.htm

Latest version:

http://uddi.org/pubs/uddi_v3.htm

Previous version:

http://uddi.org/pubs/uddi-v3.00-published-20020719.htm

Editors:

Tom Bellwood, IBM

Luc Clément, Microsoft

Claus von Riegen, SAP

Contributors:

Bob Atkinson, Microsoft

Tom Bellwood, IBM

Maud Cahuzac, France Telecom

Luc Clément, Microsoft

John Colgrave, IBM

Ugo Corda, SeeBeyond Technology

Alexandru Czimbor, OSS Nokalva

Matthew J. Dovey, Individual Member

Daniel Feygin, UnitSpace

Shishir Garg, France Telecom

Rajul Gupta, OSS Nokalva

Andrew Hately, IBM

Brad Henry, Individual Member

Aikichi Kawai, NTT USA

Paul Macias, LMI

Anne Thomas Manes, Individual Member

Claus von Riegen, SAP

Tony Rogers, Computer Associates

Alok Srivastava, Oracle

Paul Thorpe, OSS Nokalva

Alessandro Triglia, OSS Nokalva

Max Voskob, Individual Member

George Zagelow, IBM

 

Abstract:

The UDDI Version 3.0.1 Specification describes the Web services, data structures and behaviors of all instances of a UDDI registry. 

Status:

This specification has attained the status of Committee Specification. This document is updated periodically on no particular schedule.

 

Committee members should send comments on this Committee Specification to the uddi-spec@lists.oasis-open.org list. Others should subscribe to and send comments to the uddi-spec-comment@lists.oasis-open.org list. To subscribe, send an email message to uddi-spec-comment-request@lists.oasis-open.org with the word "subscribe" as the body of the message.

 

For information on whether any intellectual property claims have been disclosed that may be essential to implementing this Committee Specification, and any offers of licensing terms, please refer to the Intellectual Property Rights section of the UDDI Spec TC web page (http://www.oasis-open.org/committees/uddi-spec/ipr.php).

 

Copyrights:

Copyright © 2001-2002 by Accenture, Ariba, Inc., Commerce One, Inc., Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., Intel Corporation, International Business Machines Corporation, Microsoft Corporation, Oracle Corporation, SAP AG, Sun Microsystems, Inc., and VeriSign, Inc.  All Rights Reserved.

 

Copyright © OASIS Open 2002-2003. All Rights Reserved.

 


 

Content

1       Introduction. 14

1.1 About this specification. 14

1.2 Language & Terms. 14

1.3 Diagrams Used in this document 15

1.3.1 Attributes and elements. 15

1.3.2 Element structure. 15

1.3.3 Cardinality. 15

1.4 Related Documents. 16

1.4.1 Translations of the UDDI Specification. 16

1.4.2 Best Practices and Technical Notes. 16

1.5 Base UDDI Architecture. 16

1.5.1 UDDI Data. 16

1.5.2 UDDI Services and API Sets. 17

1.5.3 UDDI Nodes. 17

1.5.4 UDDI Registries. 18

1.5.5 Affiliations of Registries. 18

1.5.6 Person, Publisher and Owner 18

1.5.7 Transfer of ownership. 18

1.5.8 Data Custody. 18

1.6 Representing Information within UDDI 19

1.6.1 Representing Businesses and Providers with “businessEntity” 19

1.6.2 Representing Services with “businessService” 20

1.6.3 Representing Web services with “bindingTemplate” 20

1.6.4 Technical Models (tModels) 20

1.6.5 Taxonomic Classification of the UDDI entities. 21

1.7 Introduction to Security. 22

1.8 Introduction to Internationalization. 22

1.8.1 Multi-regional businesses. 22

1.8.2 XML and Unicode Character Set 23

1.8.3 Standardized Postal Address. 23

1.8.4 Use of Multi-languages and Multi-scripts. 23

1.8.5 Adding Language-specific Sort Orders. 23

1.8.6 Consistent Internationalized Search. 24

2       UDDI Schemas. 25

2.1 Schema versioning. 27

2.2 Schema Extensibility. 28

2.3 Element and attribute types and lengths. 28

2.3.1 Data structure, publication API, inquiry API and security API 28

2.3.2 Subscription API 29

2.3.3 Replication API 29

3       UDDI Registry Data Structures. 30

3.1 Data structure overview.. 30

3.2 Design Principles. 30

3.2.1 Keys as unique identifiers. 31

3.2.2 Containment and references. 31

3.2.3 Collections. 31

3.2.4 Optional attributes. 31

3.3 businessEntity Structure. 32

3.3.1 Structure diagram.. 32

3.3.2 Documentation. 32

3.4 businessService Structure. 39

3.4.1 Structure Diagram.. 40

3.4.2 Documentation. 40

3.5 bindingTemplate Structure. 41

3.5.1 Structure Diagram.. 42

3.5.2 Documentation. 42

3.6 tModel Structure. 46

3.6.1 Common tModel uses. 46

3.6.2 Structure diagram.. 48

3.6.3 Documentation. 48

3.7 publisherAssertion Structure. 49

3.7.1 Structure Diagram.. 49

3.7.2 Documentation. 49

3.8 operationalInfo Structure. 50

3.8.1 Structure diagram.. 50

3.8.2 Documentation. 50

4       Using UDDI APIs. 52

4.1 SOAP Usage. 52

4.1.1 Support for SOAPAction. 52

4.1.2 Support for SOAP Actor 53

4.1.3 Support for SOAP encoding. 53

4.1.4 Support for SOAP Headers. 53

4.1.5 Support for SOAP Fault 53

4.1.6 XML prefix conventions – default namespace support 54

4.2 XML Encoding Requirements. 54

4.3 Support for Unicode: Byte Order Mark. 54

4.4 About uddiKeys. 55

4.4.1 Key Syntax. 55

4.4.2 Examples of keys. 56

4.5 Data insertion and document order 57

4.5.1 Inserting Data in Entities During save_xx Operations. 57

4.5.2 Inserting Elements in Existing Entities. 57

4.5.3 Preservation of Document Order 57

4.6 XML Normalization and Canonicalization. 57

4.6.1 Behavior of UDDI nodes. 57

4.6.2 Client Behavior 58

4.7 About Access Control and the authInfo Element 58

4.8 Success and Error Reporting. 60

4.8.1 dispositionReport element 60

4.8.2 Success reporting using the dispositionReport element 61

4.8.3 Error reporting using the dispositionReport element 62

5       UDDI Programmers APIs. 63

5.1 Inquiry API Set 63

5.1.1 The browse pattern. 63

5.1.2 The drill-down pattern. 63

5.1.3 The invocation pattern. 64

5.1.4 Find Qualifiers. 64

5.1.5 Use of listDescription. 72

5.1.6 About wildcards. 73

5.1.7 Matching Rules for keyedReferences and keyedReferenceGroups. 73

5.1.8 Inquiry API functions. 73

5.1.9 find_binding. 74

5.1.10 find_business. 77

5.1.11 find_relatedBusinesses. 81

5.1.12 find_service. 86

5.1.13 find_tModel 89

5.1.14 get_bindingDetail 92

5.1.15 get_businessDetail 93

5.1.16 get_operationalInfo. 94

5.1.17 get_serviceDetail 95

5.1.18 get_tModelDetail 96

5.2 Publication API Set 98

5.2.1 Publishing entities with node assigned keys. 98

5.2.2 Publishing entities with publisher-assigned keys. 98

5.2.3 Special considerations for validated value sets. 102

5.2.4 Special considerations for the xml:lang attribute. 103

5.2.5 Publisher API summary. 103

5.2.6 add_publisherAssertions. 104

5.2.7 delete_binding. 106

5.2.8 delete_business. 107

5.2.9 delete_publisherAssertions. 109

5.2.10 delete_service. 110

5.2.11 delete_tModel 111

5.2.12 get_assertionStatusReport 113

5.2.13 get_publisherAssertions. 116

5.2.14 get_registeredInfo. 117

5.2.15 save_binding. 118

5.2.16 save_business. 121

5.2.17 save_service. 125

5.2.18 save_tModel 128

5.2.19 set_publisherAssertions. 132

5.3 Security Policy API Set 134

5.3.1 discard_authToken. 134

5.3.2 get_authToken. 135

5.4 Custody and Ownership Transfer API Set 137

5.4.1 Overview.. 137

5.4.2 Custody Transfer Considerations. 138

5.4.3 Transfer Execution. 139

5.4.4 discard_transferToken. 141

5.4.5 get_transferToken. 142

5.4.6 transfer_entities. 144

5.4.7 transfer_custody. 146

5.4.8 Security Configuration for transfer_custody. 147

5.5 Subscription API Set 148

5.5.1 About UDDI Subscription API functions. 148

5.5.2 Specifying Durations. 149

5.5.3 Specifying Points in Time. 149

5.5.4 Subscription Coverage Period. 150

5.5.5 Chunking of Returned Subscription Data. 150

5.5.6 Use of keyBag in Subscription. 150

5.5.7 Subscription API functions. 151

5.5.8 save_subscription. 152

5.5.9 delete_subscription. 155

5.5.10 get_subscriptions. 156

5.5.11 get_subscriptionResults. 157

5.5.12 notify_subscriptionListener 160

5.6 Value Set API Set 162

5.6.1 Value Set Programming Interfaces. 162

5.6.2 validate_values. 163

5.6.3 get_allValidValues. 165

6       Node Operation. 168

6.1 Managing Node Contents. 168

6.1.1 XML Requirements. 168

6.1.2 Key Generation and Maintenance. 169

6.1.3 Updates and Deletions. 169

6.2 Considerations When Instantiating a Node. 169

6.2.1 Canonical tModel Bootstrapping. 169

6.2.2 Self-Registration of Node Business Entity. 169

6.3 User Credential Requirements. 170

6.3.1 Establishing User Credentials. 170

6.3.2 Changing Entity Ownership. 170

6.4 Checked Value Set Validation. 171

6.4.1 Normative behavior during saves. 171

6.5 HTTP GET Services for UDDI Data Structures. 171

7       Inter-Node Operation. 173

7.1 Inter-Node Policy Assertions. 173

7.1.1 Data Custody. 173

7.2 Concepts and Definitions. 174

7.2.1 Update Sequence Number 174

7.2.2 Change Records. 175

7.2.3 Change Record Journal 176

7.2.4 High Water Mark Vector 176

7.2.5 Replication Messages. 176

7.2.6 Replication Processing. 177

7.3 Change Record Structures. 178

7.3.1 changeRecordNull 180

7.3.2 changeRecordNewData. 180

7.3.3 changeRecordHide. 181

7.3.4 changeRecordDelete. 181

7.3.5 changeRecordPublisherAssertion. 182

7.3.6 changeRecordDeleteAssertion. 183

7.3.7 changeRecordAcknowledgment 184

7.3.8 changeRecordCorrection. 184

7.3.9 changeRecordNewDataConditional 184

7.4 Replication API Set 187

7.4.1 get_changeRecords Message. 187

7.4.2 notify_changeRecordsAvailable Message. 189

7.4.3 do_ping Message. 190

7.4.4 get_highWaterMarks Message. 191

7.5 Replication Configuration. 192

7.5.1 Replication Configuration Structure. 192

7.5.2 Configuration of a UDDI Node – operator element 193

7.5.3 Replication Communication Graph. 194

7.5.4 SOAP Configuration. 195

7.5.5 Security Configuration. 195

7.6 Error Detection and Processing. 195

7.6.1 UDDI Registry Investigation and Correction. 196

7.7 Validation of Replicated Data. 200

7.8 Adding a Node to a Registry Using Replication. 200

7.9 Removing a Node from a Registry Using Replication. 201

8       Publishing Across Multiple Registries. 202

8.1 Relationships between Registries. 203

8.1.1 Root Registries and Affiliate Registries. 203

8.1.2 A Closer Look at Inter-Registry Communication Models. 203

8.2 Data Management Policies and Procedures Across Registries. 205

8.2.1 Establishing a Relationship with a Root Registry. 205

8.2.2 Data Sharing. 206

9       Policy. 208

9.1 Definitions. 208

9.2 Policy  208

9.3 Representation of Policy. 208

9.3.1 Policy Schema. 210

9.3.2 Policy Documents. 210

9.3.3 Policy Service within UDDI 211

9.3.4 Policy Modeling. 211

9.4 UDDI Registry Policy Abstractions. 211

9.4.1 Registry Policy Delegation. 212

9.4.2 Registry General Keying Policy. 212

9.4.3 UDDI keying scheme. 212

9.4.4 UDDI Information Access Control Policy. 213

9.4.5 Adding nodes to a registry. 213

9.4.6 Person, Publisher and Owner 213

9.4.7 Transfer of Ownership. 214

9.4.8 Registry Authorization Policy. 214

9.4.9 Modeling Authorization. 214

9.4.10 Registry Data Integrity. 215

9.4.11 Registry Approved Certificate Authorities. 215

9.4.12 Registry Data Confidentiality. 215

9.4.13 Registry Audit Policy. 215

9.4.14 Registry Privacy Policy. 216

9.4.15 Registry Clock Synchronization Policy. 216

9.4.16 Registry Replication Policy. 216

9.4.17 Support for Custody Transfer 216

9.4.18 Registry Subscription Policy. 216

9.4.19 Registry Value Set Policies. 217

9.5 UDDI Node Policy Abstractions. 218

9.5.1 Node Key Generation. 218

9.5.2 Node Publisher Generated Key Assertion. 218

9.5.3 Node Information Policy. 218

9.5.4 Node Authorization Policy. 218

9.5.5 Node Registration and Authentication. 218

9.5.6 Node Publication Limits. 219

9.5.7 Node Policy for Contesting Entries. 219

9.5.8 Node Audit Policy. 219

9.5.9 Node Sort Order Policy. 219

9.5.10 Find Qualifier Policy. 219

9.5.11 Node Approved Certificate Authorities. 220

9.5.12 Node Subscription API Assertion. 220

9.5.13 Node Element Limits. 220

9.5.14 Node HTTP GET Services. 220

9.5.15 Node discoveryURL Generation. 220

9.5.16 Node XML Encoding Policy. 220

9.6 UDDI Recommended Registry Policies. 221

9.6.1 Key Generator tModels. 221

9.6.2 Information Model 221

9.6.3 Domain key generator tModels. 222

9.6.4 Replication Policies. 222

9.6.5 Value sets. 223

9.7 UDDI Policy Summary. 224

9.7.1 UDDI Registry Policy Abstractions. 224

9.7.2 UDDI Node Policy Abstractions. 228

10      Multi-Version Support 231

10.1 Entity Key Compatibility with Earlier Versions of UDDI 231

10.1.1 Generating Keys From a Version 3 API Call 231

10.1.2 Generating Keys from a Version 2 API Call 232

10.1.3 Migrating Version 2 keys to a Version 3 Registry. 233

10.1.4 Mapping v1/v2 Canonical tModel Keys to v3 Evolved Keys. 233

10.2 Other Considerations of Version 2 Inquiry API Calls. 235

10.2.1 keyedReferenceGroup data. 235

10.2.2 keyedReference data. 235

10.2.3 Multiple overviewDoc data. 235

10.2.4 Multiple personName data. 235

10.2.5 Multiple xml:lang attributes of the same language. 235

10.2.6 New error codes. 235

10.2.7 Service Projections. 235

10.2.8 Length Discrepancies. 235

10.2.9 Schema Assessment 235

10.2.10 White Space Handling. 236

10.2.11 Mapping Between URLType and useType attribute on accessPoint 236

10.2.12 Supporting External Value Set Providers Across Versions. 236

10.2.13 Sorting and Matching Behavior 236

10.2.14 XML Encoding. 236

10.3 Data Migration Considerations. 236

10.3.1 Version 3 Schema Strictness. 236

10.4 Considerations of Version 2 Publish API Calls. 238

10.4.1 Data update semantics consistent with request namespace. 238

10.4.2 keyedReference data. 239

10.5 Value sets with entity keys as valid values. 239

11      Utility tModels and Conventions. 240

11.1 Canonical Category Systems, Identifier Systems and Relationship Systems. 240

11.1.1 UDDI Types Category System.. 241

11.1.2 General Keyword Category System.. 245

11.1.3 UDDI Nodes Category System.. 248

11.1.4 UDDI Relationships System.. 250

11.1.5 UDDI “Owning Business” Category System.. 252

11.1.6 UDDI “Is Replaced By” Identifier System.. 253

11.1.7 UDDI “Validated By” Category System.. 256

11.1.8 UDDI “Derived From” Category System.. 258

11.1.9 UDDI “Entity Key Values” Category System.. 262

11.2 UDDI Registry API tModels. 263

11.2.1 UDDI Inquiry API 263

11.2.2 UDDI Publication API 265

11.2.3 UDDI Security API 269

11.2.4 UDDI Replication API 270

11.2.5 UDDI Custody and Ownership Transfer API 272

11.2.6 UDDI Node Custody Transfer API 274

11.2.7 UDDI Value Set Caching API 275

11.2.8 UDDI Value Set Validation API 277

11.2.9 UDDI Subscription API 278

11.2.10 UDDI Subscription Listener API 280

11.3 Transport and Protocol tModels. 282

11.3.1 Secure Sockets Layer Version 3 with Server Authentication. 282

11.3.2 Secure Sockets Layer Version 3 with Mutual Authentication. 283

11.3.3 UDDI HTTP Transport 285

11.3.4 UDDI SMTP Transport 287

11.3.5 UDDI FTP Transport 288

11.3.6 UDDI Fax Transport 289

11.3.7 UDDI Telephone Transport 290

11.4 Find Qualifier tModels. 292

11.4.1 UDDI SQL99 Approximate Match Find Qualifier 292

11.4.2 UDDI Exact Match Find Qualifier 294

11.4.3 UDDI Case Insensitive Match Find Qualifier 295

11.4.4 UDDI Case Sensitive Match Find Qualifier 297

11.4.5 UDDI Diacritics Insensitive Match Find Qualifier 299

11.4.6 UDDI Diacritics Sensitive Match Find Qualifier 300

11.4.7 UDDI Binary Sort Order Qualifier 302

11.4.8 UDDI Unicode Technical Standard #10 Sort Order Qualifier 303

11.4.9 UDDI Case Insensitive Sort Find Qualifier 305

11.4.10 UDDI Case Sensitive Sort Find Qualifier 307

11.4.11 UDDI Sort By Name Ascending Find Qualifier 309

11.4.12 UDDI Sort By Name Descending Find Qualifier 312

11.4.13 UDDI Sort By Date Ascending Find Qualifier 314

11.4.14 UDDI Sort By Date Descending Find Qualifier 316

11.4.15 UDDI And All Keys Find Qualifier 317

11.4.16 UDDI Or All Keys Find Qualifier 319

11.4.17 UDDI Or Like Keys Find Qualifier 321

11.4.18 UDDI Combine Category Bags Find Qualifier