UDDI Spec TC

 

UDDI Version 3.0.2

UDDI Spec Technical Committee Draft, Dated 20041019

 

Document identifier:

uddi_v3

Current version:

http://uddi.org/pubs/uddi-v3.0.2-20041019.htm

Latest version:

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

Previous version:

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

Editors:

Luc Clement, Systinet

Andrew Hately, IBM

Claus von Riegen, SAP AG

Tony Rogers, Computer Associates

Contributors:

Tom Bellwood, IBM

Steve Capell

Luc Clement, Systinet

John Colgrave, IBM

Matthew J. Dovey

Daniel Feygin, UnitSpace

Andrew Hately, IBM

Rob Kochman, Microsoft

Paul Macias, LMI

Mirek Novotny, Systinet

Massimo Paolucci

Claus von Riegen, SAP AG

Tony Rogers, Computer Associates

Katia Sycara

Pete Wenzel, SeeBeyond Technology

Zhe Wu, Oracle

 

Abstract:

The UDDI Version 3.0.2 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 Draft. 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-2004. All Rights Reserved.

 


 

Content

1       Introduction. 15

1.1 About this specification. 15

1.2 Language & Terms. 15

1.3 Diagrams Used in this document 16

1.3.1 Attributes and elements. 16

1.3.2 Element structure. 16

1.3.3 Cardinality. 16

1.4 Related Documents. 17

1.4.1 Translations of the UDDI Specification. 17

1.4.2 Best Practices and Technical Notes. 17

1.5 Base UDDI Architecture. 17

1.5.1 UDDI Data. 17

1.5.2 UDDI Services and API Sets. 18

1.5.3 UDDI Nodes. 18

1.5.4 UDDI Registries. 19

1.5.5 Affiliations of Registries. 19

1.5.6 Person, Publisher and Owner 19

1.5.7 Transfer of ownership. 19

1.5.8 Data Custody. 19

1.6 Representing Information within UDDI 20

1.6.1 Representing Businesses and Providers with "businessEntity" 20

1.6.2 Representing Services with "businessService" 21

1.6.3 Representing Web services with "bindingTemplate" 21

1.6.4 Technical Models (tModels) 21

1.6.5 Taxonomic Classification of the UDDI entities. 22

1.7 Introduction to Security. 23

1.8 Introduction to Internationalization. 23

1.8.1 Multi-regional businesses. 23

1.8.2 XML and Unicode Character Set 24

1.8.3 Standardized Postal Address. 24

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

1.8.5 Adding Language-specific Sort Orders. 24

1.8.6 Consistent Internationalized Search. 25

2       UDDI Schemas. 26

2.1 Schema versioning. 28

2.2 Schema Extensibility. 29

2.3 Element and attribute types and lengths. 29

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

2.3.2 Subscription API 30

2.3.3 Replication API 30

3       UDDI Registry Data Structures. 31

3.1 Data structure overview.. 31

3.2 Design Principles. 31

3.2.1 Keys as unique identifiers. 32

3.2.2 Containment and references. 32

3.2.3 Collections. 32

3.2.4 Optional attributes. 32

3.3 businessEntity Structure. 33

3.3.1 Structure diagram.. 33

3.3.2 Documentation. 33

3.4 businessService Structure. 40

3.4.1 Structure Diagram.. 41

3.4.2 Documentation. 41

3.5 bindingTemplate Structure. 42

3.5.1 Structure Diagram.. 43

3.5.2 Documentation. 43

3.6 tModel Structure. 47

3.6.1 Common tModel uses. 47

3.6.2 Structure diagram.. 49

3.6.3 Documentation. 49

3.7 publisherAssertion Structure. 50

3.7.1 Structure Diagram.. 50

3.7.2 Documentation. 50

3.8 operationalInfo Structure. 51

3.8.1 Structure diagram.. 51

3.8.2 Documentation. 51

4       Using UDDI APIs. 53

4.1 SOAP Usage. 53

4.1.1 Support for SOAPAction. 53

4.1.2 Support for SOAP Actor 54

4.1.3 Support for SOAP encoding. 54

4.1.4 Support for SOAP Headers. 54

4.1.5 Support for SOAP Fault 54

4.1.6 XML prefix conventions – default namespace support 55

4.2 XML Encoding Requirements. 55

4.3 Support for Unicode: Byte Order Mark. 55

4.4 About uddiKeys. 56

4.4.1 Key Syntax. 56

4.4.2 Examples of keys. 57

4.5 Data insertion and document order 58

4.5.1 Inserting Data in Entities During save_xx Operations. 58

4.5.2 Inserting Elements in Existing Entities. 58

4.5.3 Preservation of Document Order 58

4.6 XML Normalization and Canonicalization. 58

4.6.1 Behavior of UDDI nodes. 58

4.6.2 Client Behavior 59

4.7 About Access Control and the authInfo Element 59

4.8 Success and Error Reporting. 61

4.8.1 dispositionReport element 61

4.8.2 Error reporting using the dispositionReport element 62

5       UDDI Programmers APIs. 64

5.1 Inquiry API Set 64

5.1.1 The browse pattern. 64

5.1.2 The drill-down pattern. 64

5.1.3 The invocation pattern. 65

5.1.4 Find Qualifiers. 65

5.1.5 Use of listDescription. 73

5.1.6 About wildcards. 74

5.1.7 Matching Rules for keyedReferences and keyedReferenceGroups. 74

5.1.8 Inquiry API functions. 74

5.1.9 find_binding. 75

5.1.10 find_business. 78

5.1.11 find_relatedBusinesses. 82

5.1.12 find_service. 87

5.1.13 find_tModel 90

5.1.14 get_bindingDetail 93

5.1.15 get_businessDetail 94

5.1.16 get_operationalInfo. 95

5.1.17 get_serviceDetail 96

5.1.18 get_tModelDetail 97

5.2 Publication API Set 99

5.2.1 Publishing entities with node assigned keys. 99

5.2.2 Publishing entities with publisher-assigned keys. 99

5.2.3 Special considerations for validated value sets. 103

5.2.4 Special considerations for the xml:lang attribute. 104

5.2.5 Publisher API summary. 104

5.2.6 add_publisherAssertions. 105

5.2.7 delete_binding. 107

5.2.8 delete_business. 108

5.2.9 delete_publisherAssertions. 110

5.2.10 delete_service. 111

5.2.11 delete_tModel 112

5.2.12 get_assertionStatusReport 114

5.2.13 get_publisherAssertions. 117

5.2.14 get_registeredInfo. 118

5.2.15 save_binding. 119

5.2.16 save_business. 122

5.2.17 save_service. 126

5.2.18 save_tModel 129

5.2.19 set_publisherAssertions. 133

5.3 Security Policy API Set 135

5.3.1 discard_authToken. 135

5.3.2 get_authToken. 136

5.4 Custody and Ownership Transfer API Set 138

5.4.1 Overview.. 138

5.4.2 Custody Transfer Considerations. 139

5.4.3 Transfer Execution. 140

5.4.4 discard_transferToken. 142

5.4.5 get_transferToken. 143

5.4.6 transfer_entities. 145

5.4.7 transfer_custody. 147

5.4.8 Security Configuration for transfer_custody. 148

5.5 Subscription API Set 149

5.5.1 About UDDI Subscription API functions. 149

5.5.2 Specifying Durations. 150

5.5.3 Specifying Points in Time. 150

5.5.4 Subscription Coverage Period. 151

5.5.5 Chunking of Returned Subscription Data. 151

5.5.6 Use of keyBag in Subscription. 151

5.5.7 Subscription API functions. 152

5.5.8 save_subscription. 153

5.5.9 delete_subscription. 156

5.5.10 get_subscriptions. 157

5.5.11 get_subscriptionResults. 158

5.5.12 notify_subscriptionListener 161

5.6 Value Set API Set 163

5.6.1 Value Set Programming Interfaces. 163

5.6.2 validate_values. 164

5.6.3 get_allValidValues. 166

6       Node Operation. 169

6.1 Managing Node Contents. 169

6.1.1 XML Requirements. 169

6.1.2 Key Generation and Maintenance. 170

6.1.3 Updates and Deletions. 170

6.2 Considerations When Instantiating a Node. 170

6.2.1 Canonical tModel Bootstrapping. 170

6.2.2 Self-Registration of Node Business Entity. 170

6.3 User Credential Requirements. 171

6.3.1 Establishing User Credentials. 171

6.3.2 Changing Entity Ownership. 171

6.4 Checked Value Set Validation. 172

6.4.1 Normative behavior during saves. 172

6.5 HTTP GET Services for UDDI Data Structures. 172

7       Inter-Node Operation. 174

7.1 Inter-Node Policy Assertions. 174

7.1.1 Data Custody. 174

7.2 Concepts and Definitions. 175

7.2.1 Update Sequence Number 175

7.2.2 Change Records. 176

7.2.3 Change Record Journal 177

7.2.4 High Water Mark Vector 177

7.2.5 Replication Messages. 177

7.2.6 Replication Processing. 178

7.3 Change Record Structures. 179

7.3.1 changeRecordNull 180

7.3.2 changeRecordNewData. 180

7.3.3 changeRecordHide. 181

7.3.4 changeRecordDelete. 181

7.3.5 changeRecordPublisherAssertion. 181

7.3.6 changeRecordDeleteAssertion. 183

7.3.7 changeRecordAcknowledgment 184

7.3.8 changeRecordCorrection. 184

7.3.9 changeRecordNewDataConditional 185

7.3.10 changeRecordConditionFailed. 189

7.4 Replication API Set 190

7.4.1 get_changeRecords Message. 190

7.4.2 notify_changeRecordsAvailable Message. 192

7.4.3 do_ping Message. 193

7.4.4 get_highWaterMarks Message. 194

7.5 Replication Configuration. 195

7.5.1 Replication Configuration Structure. 195

7.5.2 Configuration of a UDDI Node – operator element 196

7.5.3 Replication Communication Graph. 197

7.5.4 SOAP Configuration. 198

7.5.5 Security Configuration. 198

7.6 Error Detection and Processing. 198

7.6.1 UDDI Registry Investigation and Correction. 199

7.7 Validation of Replicated Data. 203

7.8 Adding a Node to a Registry Using Replication. 203

7.9 Removing a Node from a Registry Using Replication. 204

8       Publishing Across Multiple Registries. 205

8.1 Relationships between Registries. 206

8.1.1 Root Registries and Affiliate Registries. 206

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

8.2 Data Management Policies and Procedures Across Registries. 208

8.2.1 Establishing a Relationship with a Root Registry. 208

8.2.2 Data Sharing. 209

9       Policy. 211

9.1 Definitions. 211

9.2 Policy  211

9.3 Representation of Policy. 211

9.3.1 Policy Schema. 213

9.3.2 Policy Documents. 213

9.3.3 Policy Service within UDDI 214

9.3.4 Policy Modeling. 214

9.4 UDDI Registry Policy Abstractions. 214

9.4.1 Registry Policy Delegation. 215

9.4.2 Registry General Keying Policy. 215

9.4.3 UDDI keying scheme. 215

9.4.4 UDDI Information Access Control Policy. 216

9.4.5 Adding nodes to a registry. 216

9.4.6 Person, Publisher and Owner 216

9.4.7 Transfer of Ownership. 217

9.4.8 Registry Authorization Policy. 217

9.4.9 Modeling Authorization. 217

9.4.10 Registry Data Integrity. 218

9.4.11 Registry Approved Certificate Authorities. 218

9.4.12 Registry Data Confidentiality. 218

9.4.13 Registry Audit Policy. 218

9.4.14 Registry Privacy Policy. 219

9.4.15 Registry Clock Synchronization Policy. 219

9.4.16 Registry Replication Policy. 219

9.4.17 Support for Custody Transfer 219

9.4.18 Registry Subscription Policy. 219

9.4.19 Registry Value Set Policies. 220

9.5 UDDI Node Policy Abstractions. 221

9.5.1 Node Key Generation. 221

9.5.2 Node Publisher Generated Key Assertion. 221

9.5.3 Node Information Policy. 221

9.5.4 Node Authorization Policy. 221

9.5.5 Node Registration and Authentication. 221

9.5.6 Node Publication Limits. 222

9.5.7 Node Policy for Contesting Entries. 222

9.5.8 Node Audit Policy. 222

9.5.9 Node Collation Sequence Policy. 222

9.5.10 Find Qualifier Policy. 222

9.5.11 Node Approved Certificate Authorities. 223

9.5.12 Node Subscription API Assertion. 223

9.5.13 Node Element Limits. 223

9.5.14 Node HTTP GET Services. 223

9.5.15 Node discoveryURL Generation. 223

9.5.16 Node XML Encoding Policy. 223

9.6 UDDI Recommended Registry Policies. 224

9.6.1 Key Generator tModels. 224

9.6.2 Information Model 224

9.6.3 Domain key generator tModels. 225

9.6.4 Replication Policies. 225

9.6.5 Value sets. 226

9.7 UDDI Policy Summary. 227

9.7.1 UDDI Registry Policy Abstractions. 227

9.7.2 UDDI Node Policy Abstractions. 231

10      Multi-Version Support 234

10.1 Entity Key Compatibility with Earlier Versions of UDDI 234

10.1.1 Generating Keys From a Version 3 API Call 234

10.1.2 Generating Keys from a Version 2 API Call 235

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

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

10.2 Version 2 API Considerations. 238

10.2.1 Multiple xml:lang attributes of the same language. 238

10.2.2 Error codes. 238

10.2.3 Return of a dispositionReport 238

10.2.4 Mapping Between URLType and useType attribute on accessPoint 238

10.2.5 Supporting External Value Set Providers Across Versions. 238

10.2.6 Version 3 Schema Assessment 239

10.2.7 XML Encoding. 239

10.2.8 Length Discrepancies. 239

10.2.9 White Space Handling. 239

10.3 Version 2 Inquiry API Considerations. 239

10.3.1 keyedReference data. 239

10.3.2 keyedReferenceGroup data. 239

10.3.3 Multiple overviewDoc data. 239

10.3.4 Multiple personName data. 239

10.3.5 Service Projections. 240

10.3.6 Sorting and Matching Behavior 240

10.4 Version 2 Publish API Considerations. 240

10.4.1 Data update semantics consistent with request namespace. 240

10.4.2 keyedReference data. 240

10.5 Data Migration and Multi-version Runtime Considerations. 240

10.5.1 Empty Containers – Enforcement of Schema Strictness. 240

10.5.2 Length Validation During v2/v3 Migration and During Runtime in a v2/v3 Multi-version Registry. 241

10.6 Value sets with entity keys as valid values. 242

11      Utility tModels and Conventions. 244

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

11.1.1 UDDI Types Category System.. 245

11.1.2 General Keyword Category System.. 249

11.1.3 UDDI Nodes Category System.. 252

11.1.4 UDDI Relationships System.. 254

11.1.5 UDDI "Owning Business" Category System.. 256

11.1.6 UDDI "Is Replaced By" Identifier System.. 257

11.1.7 UDDI "Validated By" Category System.. 260

11.1.8 UDDI "Derived From" Category System.. 262

11.1.9 UDDI "Entity Key Values" Category System.. 266

11.2 UDDI Registry API tModels. 267

11.2.1 UDDI Inquiry API 268

11.2.2 UDDI Publication API 270

11.2.3 UDDI Security API 274

11.2.4 UDDI Replication API 275

11.2.5 UDDI Custody and Ownership Transfer API 277

11.2.6 UDDI Node Custody Transfer API 279

11.2.7 UDDI Value Set Caching API 280

11.2.8 UDDI Value Set Validation API 282

11.2.9 UDDI Subscription API 283

11.2.10 UDDI Subscription Listener API 285

11.3 Transport and Protocol tModels. 287

11.3.1 Secure Sockets Layer Version 3 with Server Authentication. 287

11.3.2 Secure Sockets Layer Version 3 with Mutual Authentication. 288

11.3.3 UDDI HTTP Transport 290

11.3.4 UDDI SMTP Transport 292

11.3.5 UDDI FTP Transport 293

11.3.6 UDDI Fax Transport 294

11.3.7 UDDI Telephone Transport 295

11.4 Find Qualifier tModels. 297

11.4.1 UDDI SQL99 Approximate Match Find Qualifier 297

11.4.2 UDDI Exact Match Find Qualifier 299

11.4.3 UDDI Case Insensitive Match Find Qualifier 300

11.4.4 UDDI Case Sensitive Match Find Qualifier 302

11.4.5 UDDI Diacritics Insensitive Match Find Qualifier 304

11.4.6 UDDI Diacritics Sensitive Match Find Qualifier 305

11.4.7 UDDI Binary Sort Order Qualifier 307

11.4.8 UDDI Unicode Technical Standard #10 Sort Order Qualifier 308

11.4.9 UDDI Case Insensitive Sort Find Qualifier 310

11.4.10 UDDI Case Sensitive Sort Find Qualifier 312

11.4.11 UDDI Sort By Name Ascending Find Qualifier 314

11.4.12 UDDI Sort By Name Descending Find Qualifier 317

11.4.13 UDDI Sort By Date Ascending Find Qualifier 319

11.4.14 UDDI Sort By Date Descending Find Qualifier 321

11.4.15 UDDI And All Keys Find Qualifier 322

11.4.16 UDDI Or All Keys Find Qualifier 324

11.4.17 UDDI Or Like Keys Find Qualifier 326

11.4.18 UDDI Combine Category Bags Find Qualifier 328

11.4.19 UDDI Service Subset Find Qualifier 329

11.4.20 UDDI Binding Subset Find Qualifier 331

11.4.21 UDDI Suppress Projected Services Find Qualifier 333

11.4.22 UDDI Signature Present Find Qualifier 335

11.5 Other Canonical tModels. 337

11.5.1 Domain Key Generator for the UDDI Domain. 337

11.5.2 Key Generator for UDDI Categorization tModels. 338

11.5.3 Key Generator for UDDI Sort Order tModels. 339

11.5.4 Key Generator for UDDI Transport tModels. 340

11.5.5 Key Generator for UDDI Protocol tModels. 341

11.5.6 UDDI Hosting Redirector Specification. 342

11.5.7 UDDI Policy Description Specification. 344

12      Error Codes. 346

12.1 Common Error Conditions. 348

13      Related Standards and Specifications. 349

13.1 UDDI Specifications and documents. 349

13.2 Standards and other Specifications. 349

A       Appendix A: Relationships and Publisher Assertions. 351

A.1        Example. 351

A.2        Managing relationship visibility. 352

B       Appendix B:  Using and Extending the useType Attribute. 353

B.1        accessPoint 353

B.1.1       Using the "endPoint" value. 353

B.1.2       Using the "wsdlDeployment" value. 354

B.1.3       Using the "bindingTemplate" value. 354

B.1.4       Using the "hostingRedirector" value. 355

B.2        overviewURL. 356

B.2.1       Using the "text" value. 357

B.2.2       Using the "wsdlInterface" value. 357

B.3        discoveryURL. 358

B.3.1       Using the "businessEntity" value. 358

B.3.2       Using the "homepage" value. 358

B.4        Contact 358

B.5        Address. 358

B.6        Phone. 358

B.7        Email 358

B.8        Designating a new useType value. 358

C       Appendix C:  Supporting Subscribers.