摘要
CORBA[CORBA]即“公共對象請求代理體系”(CommonObjectRequestBroker
Architecture),是由對象治理組集團(OMG)所定義。該文檔為LDAP目錄中的CORBA
對象參考方案[LDAPv3]進行定義。
1、緒論
該文檔假設讀者已經對CORBA有了一般性的理解。
一般地,LDAP目錄被用來存儲數據。用戶與程序員把目錄看成是具有一系列屬性的目
錄層次。你從目錄中查尋一條記錄并且抽取你所感愛好的一個或多個屬性。例如:你可
以從目錄中查尋某人的電話號碼?;蛘?,你可以在目錄中搜索具體非凡屬性的記錄。比
如,你可以在目錄中查找所有姓氏為Smith的人員。
CORBA應用需要訪問CORBA對象。一般地,CORBA應用使用COS名字服務來存儲
和讀取CORBA對象參考。在有目錄的環境下,CORBA應用應該能夠把目錄作為CORBA
對象參考的庫來使用。目錄提供核心治理,并且是可復制的,通過網絡服務于分布式的
CORBA應用。
比如,一個應用服務器可能用目錄來“注冊”CORBA對象以執行它所治理的服務,所
以一個客戶能隨后查找目錄來定位所需服務。
本文的目的是來定義應用程序從目錄中存儲與讀取CORBA對象參考的公共方法。使用
這種公共方案,任何需要讀取或存儲目錄中的CORBA對象參考的CORBA應用都能使
用一種能公共操作的方法。
注重本方案是為存儲CORBA“對象參考”而定義的,不是一般情形下的CORBA對象。
可能還存在其它沒有被本方案代替的在LDAP目錄中保存CORBA對象的方法。
2、CORBA對象參考陳述
本文定義方案基礎來描述LDAP目錄中的一個CORBA對象參考。擁有對象的一個參考
的應用可以調用該對象有調用。這樣的參考被稱為“可公共操作的對象參考”或簡稱IOR
(InterOperableObjectReference)。依據一般的Inter-ORB協議,使用IOR訪問CORBA
對象對于應用來說是透明地完成的。
一個CORBA對象參考是由corbaObjectReference對象類在目錄中來扮演。它是個結構上
的對象類,當扮演一個對象參考時,corbaObjectReference對象類也應該是存在于記錄中
的。當一個corbaObjet的子類(如corbaObjectReference)與其它結構上的對象類混合在
一起時,corbaContainer不是必需的。
關于對象類corbaOject,corbaObjectReference,和corbaContainer的定義在第4節中。
corbaObject類有兩個可選的屬性:corbaRepositoryId與description。corbaRepositoryId是
用來保存一個CORBA對象實現接口的repositoryid的多值屬性。
corbaObjectReference類有一個固有屬性:corbaIor。corbaIor是用來存儲對象的IOR。
corbaIor與corbaRepositoryId在第3節中定義;描述在[v3Schema]中定義。
3、屬性類型定義
以下屬性類型在本文中定義:
corbaIor
corbaRepositoryId
3.1corbaIor
此屬性保存一個CORBA對象的可公共操作的對象參考(IOR)的字符串類型陳述。IOR
是一個對于包含有定位對象必需信息的對象來說是不透明的操作。
此屬性的語法是'IA5String'并且是大小寫無關的。
(1.3.6.1.4.1.42.2.27.4.1.14
NAME'corbaIor'
DESC'StringifiedinteroperableobjectreferenceofaCORBAobject'
EQUALITYcaseIgnoreIA5Match
SYNTAX1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE
)
3.2corbaRepositoryId
每一個CORBA接口都有個唯一的“repositoryid”(也叫作“typeid”)用來確定接口。
一個CORBA對象有一個或多個repositoryid,每一個對應那個它實現的接口。
repositoryid的格式可是以任意字符串,然而OMG指定了四個標準的格式:
a. IDL-style
IDL:PRefix/ModuleName/InterfaceName:VersionNumber
例如,“NamingContext”以OMGCOS命名模式的repositoryid即為:
“IDL:omg.org/CosNaming/NamingContext:1.0”。
b. RMI-style
RMI:ClassName:HashCode[:SUID]
該格式為RMI-IIOP遠程對象[RMI-IIOP]所使用?!癈lassName”是完整的類名(如
java.lang.String)?!癏ashCode”是該對象的HASH編碼(簡而言之,是由調用
“hashCode()”方法所得的)?!癝UID”即StreamUniqueIdentifier,它是個64們數
字以唯一地識別類的連續性版本;SUID是repositoryid可選的項。
c. DCE-style
DCE:UUID
該格式用于DCE/CORBA互用性[CORBA-DCE]。UUID描述一個DCEUUID。
d. "local"
該格式由本地對象請求代理(ORB)定義。
此屬性的語法是'DirecotryString',并且大小寫無關。其值用UTF-8方式編碼。有些值
可能需要轉換自他們的本地化陳述以正確地用UTF-8方式編碼。
(1.3.6.1.4.1.42.2.27.4.1.15
NAME'corbaRepositoryId'
DESC'RepositoryidsofinterfacesimplementedbyaCORBAobject'
EQUALITYcaseExactMatch
SYNTAX1.3.6.1.4.1.1466.115.121.1.15
)
4、對象類定義
以下對象類在文中定義:
corbaContainer
corbaObject
corbaObjectReference
4.1corbaContainer
該結構上的對象類描述一種CORBA對象的容器。
(1.3.6.1.4.1.42.2.27.4.2.10
NAME'corbaContainer'
DESC'ContainerforaCORBAobject'
SUPtop
STRUCTURAL
MUST(cn)
)
4.2corbaObject
該抽象對象類是描述一個CORBA對象的根類。
(1.3.6.1.4.1.42.2.27.4.2.9
NAME'corbaObject'
DESC'CORBAobjectrepresentation'
SUPtop
ABSTRACT
MAY(corbaRepositoryId$description)
)
4.3corbaObjectReference
該輔助對象類描述一個CORBA對象參考。它必須與一個結構上的對象類混合在一起。
(1.3.6.1.4.1.42.2.27.4.2.11
NAME'corbaObjectReference'
DESC'CORBAinteroperableobjectreference'
SUPcorbaObject
AUXILIARY
MUST(corbaIor)
)
5、安全考慮
獲得一個對象的參考并保存到目錄中可能會導致該對象在大范圍內是可用的。這里可能
有安全方面的牽連。
6、鳴謝
我們要感謝SunMicorsystems的SanjeevKrishnan,IBM的SimonNash,和Oracle的Jeffrey
Spirn,感謝他們的意見和建議。
7、參考
[CORBA]TheObjectManagementGroup,"CommonObjectRequest
BrokerArchitectureSpecification2.2",
http://www.omg.org
[CORBA-DCE]DistributedSystemsTechnologyCenterandDigital
EquipmentCorporation,"DCE/CORBAInterworking
Specification",May1998.
http://www.omg.org/library/schedule/
DCE_CORBA_Interworking_RFP.Html
[LDAPv3]Wahl,M.,Howes,T.andS.Kille,"LightweightDirectory
accessProtocol(v3)",RFC2251,December1997.
[RMI-IIOP]IBMandJavaSoftware,SunMicrosystems,Inc.,"RMIover
IIOP",June1999.http://java.sun.com/products/rmi-
iiop/index.html
[v3Schema]Wahl,M.,"ASummaryoftheX.500(96)UserSchemaforuse
withLDAPv3",RFC2256,December1997.
8、作者地址
VincentRyan
SunMicrosystems,Inc.
MailStopEDUB03
901SanAntonioRoad
PaloAlto,CA94303
USA
Phone:+35318199151
EMail:vincent.ryan@ireland.sun.com
RosannaLee
SunMicrosystems,Inc.
MailStopUCUP02-206
901SanAntonioRoad
PaloAlto,CA94303
USA
Phone:+14088633221
EMail:rosanna.lee@eng.sun.com
ScottSeligman
SunMicrosystems,Inc.
MailStopUCUP02-209
901SanAntonioRoad
PaloAlto,CA94303
USA
Phone:+14088633222
EMail:scott.seligman@eng.sun.com
9、附錄-LDAP方案
--屬性類型--
(1.3.6.1.4.1.42.2.27.4.1.14
NAME'corbaIor'
DESC'StringifiedinteroperableobjectreferenceofaCORBAobject'
EQUALITYcaseIgnoreIA5Match
SYNTAX1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE
)
(1.3.6.1.4.1.42.2.27.4.1.15
NAME'corbaRepositoryId'
DESC'RepositoryidsofinterfacesimplementedbyaCORBAobject'
EQUALITYcaseExactMatch
SYNTAX1.3.6.1.4.1.1466.115.121.1.15
)
--來自于RFC-2256--
(2.5.4.13
NAME'description'
EQUALITYcaseIgnoreMatch
SUBSTRcaseIgnoreSubstringsMatch
SYNTAX1.3.6.1.4.1.1466.115.121.1.15{1024}
)
--對象類--
(1.3.6.1.4.1.42.2.27.4.2.9
NAME'corbaObject'
DESC'CORBAobjectrepresentation'
SUPtop
ABSTRACT
MAY(corbaRepositoryId$description)
)
(1.3.6.1.4.1.42.2.27.4.2.10
NAME'corbaContainer'
DESC'ContainerforaCORBAobject'
SUPtop
STRUCTURAL
MUST(cn)
)
(1.3.6.1.4.1.42.2.27.4.2.11
NAME'corbaObjectReference'
DESC'CORBAinteroperableobjectreference'
SUPcorbaObject
AUXILIARY
MUST(corbaIor)
)
--自ISOX.520的匹配規則--
(2.5.13.5
NAME'caseExactMatch'
SYNTAX1.3.6.1.4.1.1466.115.121.1.15
)
10.完整的版權聲明
Copyright(C)TheInternetSociety(1999).AllRightsReserved.
Thisdocumentandtranslationsofitmaybecopiedandfurnishedto
others,andderivativeworksthatcommentonorotherwiseeXPlainit
orassistinitsimplementationmaybeprepared,copied,published
anddistributed,inwholeorinpart,withoutrestrictionofany
kind,providedthattheabovecopyrightnoticeandthisparagraphare
includedonallsuchcopiesandderivativeworks.However,this
documentitselfmaynotbemodifiedinanyway,suchasbyremoving
thecopyrightnoticeorreferencestotheInternetSocietyorother
Internetorganizations,exceptasneededforthepurpoSEOf
developingInternetstandardsinwhichcasetheproceduresfor
copyrightsdefinedintheInternetStandardsprocessmustbe
followed,orasrequiredtotranslateitintolanguagesotherthan
English.
Thelimitedpermissionsgrantedaboveareperpetualandwillnotbe
revokedbytheInternetSocietyoritssuccessorsorassigns.
Thisdocumentandtheinformationcontainedhereinisprovidedonan
"ASIS"basisandTHEINTERNETSOCIETYANDTHEINTERNETENGINEERING
TASKFORCEDISCLAIMSALLWARRANTIES,EXPRESSORIMPLIED,INCLUDING
BUTNOTLIMITEDTOANYWARRANTYTHATTHEUSEOFTHEINFORMATION
HEREINWILLNOTINFRINGEANYRIGHTSORANYIMPLIEDWARRANTIESOF
MERCHANTABILITYORFITNESSFORAPARTICULARPURPOSE.
新聞熱點
疑難解答