xref: /netbsd-src/external/bsd/openldap/dist/doc/rfc/rfc2714.txt (revision 2de962bd804263c16657f586aa00f1704045df8e)
1
2
3
4
5
6
7Network Working Group                                            V. Ryan
8Request for Comments: 2714                                        R. Lee
9Category: Informational                                      S. Seligman
10                                                  Sun Microsystems, Inc.
11                                                            October 1999
12
13
14  Schema for Representing CORBA Object References in an LDAP Directory
15
16Status of this Memo
17
18   This memo provides information for the Internet community.  It does
19   not specify an Internet standard of any kind.  Distribution of this
20   memo is unlimited.
21
22Copyright Notice
23
24   Copyright (C) The Internet Society (1999).  All Rights Reserved.
25
26Abstract
27
28   CORBA [CORBA] is the Common Object Request Broker Architecture
29   defined by the Object Management Group. This document defines the
30   schema for representing CORBA object references in an LDAP directory
31   [LDAPv3].
32
331. Introduction
34
35   This document assumes that the reader has a general understanding of
36   CORBA.
37
38   Traditionally, LDAP directories have been used to store data. Users
39   and programmers think of the directory as a hierarchy of directory
40   entries, each containing a set of attributes.  You look up an entry
41   from the directory and extract the attribute(s) of interest.  For
42   example, you can look up a person's telephone number from the
43   directory.  Alternatively, you can search the directory for entries
44   with a particular set of attributes.  For example, you can search for
45   all persons in the directory with the surname "Smith".
46
47   CORBA applications require access to CORBA objects. Traditionally,
48   CORBA applications have used the COS Naming service for storage and
49   retrieval of CORBA object references. When deployed in environments
50   with a directory, CORBA applications should be able to use the
51   directory as a repository for CORBA object references. The directory
52   provides a centrally administered, and possibly replicated, service
53   for use by CORBA applications distributed across the network.
54
55
56
57
58Ryan, et al.                 Informational                      [Page 1]
59
60RFC 2714           Schema for CORBA Object References       October 1999
61
62
63   For example, an application server may use the directory for
64   "registering" CORBA objects representing the services that it
65   manages, so that a client can later search the directory to locate
66   those services as it needs.
67
68   The motivation for this document is to define a common way for
69   applications to store and retrieve CORBA object references from the
70   directory.  Using this common schema, any CORBA application that
71   needs to read or store CORBA object references in the directory can
72   do so in an interoperable way.
73
74   Note that this schema is defined for storing CORBA "object
75   references," not CORBA objects in general. There might be other ways
76   to store CORBA objects in an LDAP directory but they are not covered
77   by this schema.
78
792. Representation of CORBA Object References
80
81   This document defines schema elements to represent a CORBA object
82   reference in LDAP directory. Applications in possession of a
83   reference to an object can invoke calls on that object.  Such a
84   reference is termed an "interoperable object reference," or IOR.
85   Access to CORBA objects by using IORs is achieved transparently to
86   the application, by means of the General Inter-ORB Protocol.
87
88   A CORBA object reference is represented in the directory by the
89   object class corbaObjectReference. corbaObjectReference is a subclass
90   of the abstract corbaObject object class. corbaObjectReference is an
91   auxiliary object class, which means that it needs to be mixed in with
92   a structural object class.
93
94   The object class corbaContainer is used in a directory entry which
95   represents a CORBA object or object reference. It is a structural
96   object class, and when representing an object reference, the
97   corbaObjectReference object class would also need to be present in
98   the entry.  corbaContainer is not required when a subclass of
99   corbaObject (such as corbaObjectReference) is mixed in with another
100   structural object class.
101
102   The definitions for the object classes corbaObject,
103   corbaObjectReference, and corbaContainer are presented in Section 4.
104
105   The corbaObject class has two optional attributes: corbaRepositoryId
106   and description.  corbaRepositoryId is a multivalued attribute that
107   is used to store the repository ids of the interfaces implemented by
108   a CORBA object.  description is used to store a textual description
109   of a CORBA object.
110
111
112
113
114Ryan, et al.                 Informational                      [Page 2]
115
116RFC 2714           Schema for CORBA Object References       October 1999
117
118
119   The corbaObjectReference class has one mandatory attribute: corbaIor.
120   corbaIor is used to store the object's stringified IOR.
121
122   corbaIor and corbaRepositoryId are defined in Section 3; description
123   is defined in [v3Schema].
124
1253. Attribute Type Definitions
126
127   The following attribute types are defined in this document:
128
129       corbaIor
130       corbaRepositoryId
131
1323.1 corbaIor
133
134   This attribute stores the string representation of the interoperable
135   object reference (IOR) for a CORBA object. An IOR is an opaque handle
136   for the object which contains the information necessary to locate the
137   object, even if the object is in another ORB.
138
139   This attribute's syntax is 'IA5 String' and its case is
140   insignificant.
141
142   ( 1.3.6.1.4.1.42.2.27.4.1.14
143    NAME 'corbaIor'
144    DESC 'Stringified interoperable object reference of a CORBA object'
145    EQUALITY caseIgnoreIA5Match
146    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
147    SINGLE-VALUE
148   )
149
1503.2 corbaRepositoryId
151
152   Each CORBA interface has a unique "repository id" (also called "type
153   id") that identifies the interface.  A CORBA object has one or more
154   repository ids, one for each interface that it implements.
155
156   The format of a repository id can be any string, but the OMG
157   specifies four standard formats:
158
159      a. IDL-style
160
161       IDL:Prefix/ModuleName/InterfaceName:VersionNumber
162
163
164
165
166
167
168
169
170Ryan, et al.                 Informational                      [Page 3]
171
172RFC 2714           Schema for CORBA Object References       October 1999
173
174
175   For example, the repository id for the "NamingContext" in OMG's COS
176   Naming module is:  "IDL:omg.org/CosNaming/NamingContext:1.0".
177
178      b. RMI-style
179
180       RMI:ClassName:HashCode[:SUID]
181
182   This format is used by RMI-IIOP remote objects [RMI-IIOP].
183   "ClassName" is the fully qualified name of the class (for example,
184   "java.lang.String"). "HashCode" is the object's hash code (that is,
185   that obtained by invoking the "hashCode()" method).  "SUID" is the
186   "stream unique identifier", which is a 64-bit number that uniquely
187   identifies the serialization version of the class; SUID is optional
188   in the repository id.
189
190      c. DCE-style
191
192       DCE:UUID
193
194   This format is used for DCE/CORBA interoperability [CORBA-DCE].
195   "UUID" represents a DCE UUID.
196
197      d. "local"
198
199   This format is defined by the local Object Request Broker (ORB).
200
201   The corbaRepositoryId attribute is a multivalued attribute; each
202   value records a single repository id of an interface implemented by
203   the CORBA object.  This attribute need not contain a complete list of
204   the interfaces implemented by the CORBA object.
205
206   This attribute's syntax is 'Directory String' and its case is
207   significant.  The values of this attribute are encoded using UTF-8.
208   Some values may require translation from their native representation
209   in order to be correctly encoded using UTF-8.
210
211   ( 1.3.6.1.4.1.42.2.27.4.1.15
212    NAME 'corbaRepositoryId'
213    DESC 'Repository ids of interfaces implemented by a CORBA object'
214    EQUALITY caseExactMatch
215    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
216   )
217
218
219
220
221
222
223
224
225
226Ryan, et al.                 Informational                      [Page 4]
227
228RFC 2714           Schema for CORBA Object References       October 1999
229
230
2314. Object Class Definitions
232
233   The following object classes are defined in this document:
234
235       corbaContainer
236       corbaObject
237       corbaObjectReference
238
2394.1 corbaContainer
240
241   This structural object class represents a container for a CORBA
242   object.
243
244   ( 1.3.6.1.4.1.42.2.27.4.2.10
245    NAME 'corbaContainer'
246    DESC 'Container for a CORBA object'
247    SUP top
248    STRUCTURAL
249    MUST ( cn )
250   )
251
2524.2 corbaObject
253
254   This abstract object class is the root class for representing a CORBA
255   object.
256
257   ( 1.3.6.1.4.1.42.2.27.4.2.9
258    NAME 'corbaObject'
259    DESC 'CORBA object representation'
260    SUP top
261    ABSTRACT
262    MAY ( corbaRepositoryId $ description )
263   )
264
2654.3 corbaObjectReference
266
267   This auxiliary object class represents a CORBA object reference.  It
268   must be mixed in with a structural object class.
269
270   ( 1.3.6.1.4.1.42.2.27.4.2.11
271    NAME 'corbaObjectReference'
272    DESC 'CORBA interoperable object reference'
273    SUP corbaObject
274    AUXILIARY
275    MUST ( corbaIor )
276   )
277
278
279
280
281
282Ryan, et al.                 Informational                      [Page 5]
283
284RFC 2714           Schema for CORBA Object References       October 1999
285
286
2875. Security Considerations
288
289   Obtaining a reference to an object and storing it in the directory
290   may make a handle to the object available to a wider audience.  This
291   may have security implications.
292
2936. Acknowledgements
294
295   We would like to thank Sanjeev Krishnan of Sun Microsystems, Simon
296   Nash of IBM, and Jeffrey Spirn of Oracle for their comments and
297   suggestions.
298
2997. References
300
301   [CORBA]     The Object Management Group, "Common Object Request
302               Broker Architecture Specification 2.2",
303               http://www.omg.org
304
305   [CORBA-DCE] Distributed Systems Technology Center and Digital
306               Equipment Corporation, "DCE/CORBA Interworking
307               Specification", May 1998.
308               http://www.omg.org/library/schedule/
309               DCE_CORBA_Interworking_RFP.html
310
311   [LDAPv3]    Wahl, M., Howes, T. and S. Kille, "Lightweight Directory
312               Access Protocol (v3)", RFC 2251, December 1997.
313
314   [RMI-IIOP]  IBM and Java Software, Sun Microsystems, Inc., "RMI over
315               IIOP", June 1999.  http://java.sun.com/products/rmi-
316               iiop/index.html
317
318   [v3Schema]  Wahl, M., "A Summary of the X.500(96) User Schema for use
319               with LDAPv3", RFC 2256, December 1997.
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338Ryan, et al.                 Informational                      [Page 6]
339
340RFC 2714           Schema for CORBA Object References       October 1999
341
342
3438. Authors' Addresses
344
345   Vincent Ryan
346   Sun Microsystems, Inc.
347   Mail Stop EDUB03
348   901 San Antonio Road
349   Palo Alto, CA 94303
350   USA
351
352   Phone: +353 1 819 9151
353   EMail: vincent.ryan@ireland.sun.com
354
355
356   Rosanna Lee
357   Sun Microsystems, Inc.
358   Mail Stop UCUP02-206
359   901 San Antonio Road
360   Palo Alto, CA 94303
361   USA
362
363   Phone: +1 408 863 3221
364   EMail: rosanna.lee@eng.sun.com
365
366
367   Scott Seligman
368   Sun Microsystems, Inc.
369   Mail Stop UCUP02-209
370   901 San Antonio Road
371   Palo Alto, CA 94303
372   USA
373
374   Phone: +1 408 863 3222
375   EMail: scott.seligman@eng.sun.com
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394Ryan, et al.                 Informational                      [Page 7]
395
396RFC 2714           Schema for CORBA Object References       October 1999
397
398
3999. Appendix  - LDAP Schema
400
401   -- Attribute types --
402
403   ( 1.3.6.1.4.1.42.2.27.4.1.14
404    NAME 'corbaIor'
405    DESC 'Stringified interoperable object reference of a CORBA object'
406    EQUALITY caseIgnoreIA5Match
407    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
408    SINGLE-VALUE
409   )
410
411   ( 1.3.6.1.4.1.42.2.27.4.1.15
412    NAME 'corbaRepositoryId'
413    DESC 'Repository ids of interfaces implemented by a CORBA object'
414    EQUALITY caseExactMatch
415    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
416   )
417
418   -- from RFC-2256 --
419
420   ( 2.5.4.13
421    NAME 'description'
422    EQUALITY caseIgnoreMatch
423    SUBSTR caseIgnoreSubstringsMatch
424    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024}
425   )
426
427   -- Object classes --
428
429   ( 1.3.6.1.4.1.42.2.27.4.2.9
430    NAME 'corbaObject'
431    DESC 'CORBA object representation'
432    SUP top
433    ABSTRACT
434    MAY ( corbaRepositoryId $ description )
435   )
436
437   ( 1.3.6.1.4.1.42.2.27.4.2.10
438    NAME 'corbaContainer'
439    DESC 'Container for a CORBA object'
440    SUP top
441    STRUCTURAL
442    MUST ( cn )
443   )
444
445
446
447
448
449
450Ryan, et al.                 Informational                      [Page 8]
451
452RFC 2714           Schema for CORBA Object References       October 1999
453
454
455   ( 1.3.6.1.4.1.42.2.27.4.2.11
456    NAME 'corbaObjectReference'
457    DESC 'CORBA interoperable object reference'
458    SUP corbaObject
459    AUXILIARY
460    MUST ( corbaIor )
461   )
462
463   -- Matching rule from ISO X.520 --
464
465   ( 2.5.13.5
466    NAME 'caseExactMatch'
467    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
468   )
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506Ryan, et al.                 Informational                      [Page 9]
507
508RFC 2714           Schema for CORBA Object References       October 1999
509
510
51110.  Full Copyright Statement
512
513   Copyright (C) The Internet Society (1999).  All Rights Reserved.
514
515   This document and translations of it may be copied and furnished to
516   others, and derivative works that comment on or otherwise explain it
517   or assist in its implementation may be prepared, copied, published
518   and distributed, in whole or in part, without restriction of any
519   kind, provided that the above copyright notice and this paragraph are
520   included on all such copies and derivative works.  However, this
521   document itself may not be modified in any way, such as by removing
522   the copyright notice or references to the Internet Society or other
523   Internet organizations, except as needed for the purpose of
524   developing Internet standards in which case the procedures for
525   copyrights defined in the Internet Standards process must be
526   followed, or as required to translate it into languages other than
527   English.
528
529   The limited permissions granted above are perpetual and will not be
530   revoked by the Internet Society or its successors or assigns.
531
532   This document and the information contained herein is provided on an
533   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
534   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
535   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
536   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
537   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
538
539Acknowledgement
540
541   Funding for the RFC Editor function is currently provided by the
542   Internet Society.
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562Ryan, et al.                 Informational                     [Page 10]
563
564