# corba.schema -- Corba Object Schema # depends upon core.schema # $OpenLDAP$ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## ## Copyright 1998-2003 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted only as authorized by the OpenLDAP ## Public License. ## ## A copy of this license is available in the file LICENSE in the ## top-level directory of the distribution or, alternatively, at ## . # ## Portions Copyright (C) The Internet Society (1999). All Rights Reserved. ## Please see full copyright statement below. # Network Working Group V. Ryan # Request for Comments: 2714 R. Lee # Category: Informational S. Seligman # Sun Microsystems, Inc. # October 1999 # # # Schema for Representing CORBA Object References in an LDAP Directory # # Status of this Memo # # This memo provides information for the Internet community. It does # not specify an Internet standard of any kind. Distribution of this # memo is unlimited. # # Copyright Notice # # Copyright (C) The Internet Society (1999). All Rights Reserved. # # Abstract # # CORBA [CORBA] is the Common Object Request Broker Architecture # defined by the Object Management Group. This document defines the # schema for representing CORBA object references in an LDAP directory # [LDAPv3]. # # [trimmed] # 3. Attribute Type Definitions # # The following attribute types are defined in this document: # # corbaIor # corbaRepositoryId # # 3.1 corbaIor # # This attribute stores the string representation of the interoperable # object reference (IOR) for a CORBA object. An IOR is an opaque handle # for the object which contains the information necessary to locate the # object, even if the object is in another ORB. # # This attribute's syntax is 'IA5 String' and its case is # insignificant. # # ( 1.3.6.1.4.1.42.2.27.4.1.14 # NAME 'corbaIor' # DESC 'Stringified interoperable object reference of a CORBA object' # EQUALITY caseIgnoreIA5Match # SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 # SINGLE-VALUE # ) # attributetype ( 1.3.6.1.4.1.42.2.27.4.1.14 NAME 'corbaIor' DESC 'Stringified interoperable object reference of a CORBA object' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # 3.2 corbaRepositoryId # # Each CORBA interface has a unique "repository id" (also called "type # id") that identifies the interface. A CORBA object has one or more # repository ids, one for each interface that it implements. # # The format of a repository id can be any string, but the OMG # specifies four standard formats: # # a. IDL-style # # IDL:Prefix/ModuleName/InterfaceName:VersionNumber # # For example, the repository id for the "NamingContext" in OMG's COS # Naming module is: "IDL:omg.org/CosNaming/NamingContext:1.0". # # b. RMI-style # # RMI:ClassName:HashCode[:SUID] # # This format is used by RMI-IIOP remote objects [RMI-IIOP]. # "ClassName" is the fully qualified name of the class (for example, # "java.lang.String"). "HashCode" is the object's hash code (that is, # that obtained by invoking the "hashCode()" method). "SUID" is the # "stream unique identifier", which is a 64-bit number that uniquely # identifies the serialization version of the class; SUID is optional # in the repository id. # # c. DCE-style # # DCE:UUID # # This format is used for DCE/CORBA interoperability [CORBA-DCE]. # "UUID" represents a DCE UUID. # # d. "local" # # This format is defined by the local Object Request Broker (ORB). # # The corbaRepositoryId attribute is a multivalued attribute; each # value records a single repository id of an interface implemented by # the CORBA object. This attribute need not contain a complete list of # the interfaces implemented by the CORBA object. # # This attribute's syntax is 'Directory String' and its case is # significant. The values of this attribute are encoded using UTF-8. # Some values may require translation from their native representation # in order to be correctly encoded using UTF-8. # # ( 1.3.6.1.4.1.42.2.27.4.1.15 # NAME 'corbaRepositoryId' # DESC 'Repository ids of interfaces implemented by a CORBA object' # EQUALITY caseExactMatch # SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 # ) # # attributetype ( 1.3.6.1.4.1.42.2.27.4.1.15 NAME 'corbaRepositoryId' DESC 'Repository ids of interfaces implemented by a CORBA object' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) # 4. Object Class Definitions # # The following object classes are defined in this document: # # corbaContainer # corbaObject # corbaObjectReference # # 4.1 corbaContainer # # This structural object class represents a container for a CORBA # object. # # ( 1.3.6.1.4.1.42.2.27.4.2.10 # NAME 'corbaContainer' # DESC 'Container for a CORBA object' # SUP top # STRUCTURAL # MUST ( cn ) # ) # objectclass ( 1.3.6.1.4.1.42.2.27.4.2.10 NAME 'corbaContainer' DESC 'Container for a CORBA object' SUP top STRUCTURAL MUST cn ) # 4.2 corbaObject # # This abstract object class is the root class for representing a CORBA # object. # # ( 1.3.6.1.4.1.42.2.27.4.2.9 # NAME 'corbaObject' # DESC 'CORBA object representation' # SUP top # ABSTRACT # MAY ( corbaRepositoryId $ description ) # ) # objectclass ( 1.3.6.1.4.1.42.2.27.4.2.9 NAME 'corbaObject' DESC 'CORBA object representation' SUP top ABSTRACT MAY ( corbaRepositoryId $ description ) ) # 4.3 corbaObjectReference # # This auxiliary object class represents a CORBA object reference. It # must be mixed in with a structural object class. # # ( 1.3.6.1.4.1.42.2.27.4.2.11 # NAME 'corbaObjectReference' # DESC 'CORBA interoperable object reference' # SUP corbaObject # AUXILIARY # MUST ( corbaIor ) # ) # objectclass ( 1.3.6.1.4.1.42.2.27.4.2.11 NAME 'corbaObjectReference' DESC 'CORBA interoperable object reference' SUP corbaObject AUXILIARY MUST corbaIor ) # 10. Full Copyright Statement # # Copyright (C) The Internet Society (1999). All Rights Reserved. # # This document and translations of it may be copied and furnished to # others, and derivative works that comment on or otherwise explain it # or assist in its implementation may be prepared, copied, published # and distributed, in whole or in part, without restriction of any # kind, provided that the above copyright notice and this paragraph are # included on all such copies and derivative works. However, this # document itself may not be modified in any way, such as by removing # the copyright notice or references to the Internet Society or other # Internet organizations, except as needed for the purpose of # developing Internet standards in which case the procedures for # copyrights defined in the Internet Standards process must be # followed, or as required to translate it into languages other than # English. # # The limited permissions granted above are perpetual and will not be # revoked by the Internet Society or its successors or assigns. # # This document and the information contained herein is provided on an # "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING # TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING # BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION # HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.