王朝网络
分享
 
 
 

JNDI在线教程中文版(1)

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

开始

命名和目录概念

这一节课将详细地解释命名和目录的概念,并讨论Java程序如何利用命名和目录服务所提供的功能。同时也会给出所有与该服务相关的术语定义。这些术语将在本课结尾的术语表中一一归纳列出。

命名的概念

命名服务作为一种基础设施出现在众多的计算机系统,其意义在于提供根据名称关联对象和通过对象匹配相应名称的服务。当你使用几乎所有的计算机程序或系统的时候,你总是会使用到这个或那个对象的名称。举例来说,当你使用一个电子邮件系统的时候, 你必须提供你想要发送邮件的接受者的名字。为了存取计算机上的一个文件,你必须提供它的名字。命名服务允许你通过名称找到一个与之对应的对象。

一个命名服务的主要功能就是把一个人类容易理解的名字映射到相应的对象, 例如计算机程序经常使用的地址、标识符或对象等。 举例来说,Internet域名系统(DNS)把机器名字(例如www.sun.com) 映射到IP地址(192.9.48.5)。一个文件系统把一个文件名(例如c:\ bin\autoexec.bat)映射到一个文件句柄以便程序能够存取文件的内容。这二个例子都说明了命名服务广泛的应用在多个领域,从命名Internet上的一个对象到命名本地文件系统上的一个文件。

名称

你可以通过一个名称要在一个命名系统中查找到一个对象。命名系统决定名称必须遵从的语法规则。这种语法有时被称为命名系统的命名规则。

举例来说,UNIX文件系统的命名规则是,一个文件从它与文件系统的根的相对路径来命名,路径的每个部分从左到右使用向前的斜杠("/")进行分隔。例如,UNIX路径名称,/usr/hello,标记着一个位于目录usr下的文件hello,而目录usr位于文件系统的根下面。

DNS的命名规则规定一个DNS的名称由按照从右至左顺序的通过被点(".")分隔的各个部分组成。例如,DNS名称sales.Wiz.COM标记了一个属于Wiz.COM下面的名为sales的入口。同样道理,DNS入口Wiz.COM又标记着Wiz是属于COM入口下面的一个入口。

轻量级目录访问协议(LDAP)的命名规则是各个组成部分按照从右至左的顺序排列,中间以逗号(",")分隔。例如LDAP名称cn= Rosanna Lee,o=Sun,c=US定义了一个属于入口o=Sun的LDAP入口cn= Rosanna Lee,而o=Sun依次属于c=US。LDAP协议进一步的规则定义了其中的每个部分必须是一个名称/值对(name/pair)的形式,并且名称与值之间使用等号("=")连接。

绑定

通过名称与相应对象关联的方式称为绑定。例如,可以认为,一个文件名绑定到一个文件,DNS包含了从IP地址映射到机器的绑定,LDAP名称绑定到一个LDAP入口。

引用和地址

因为有了命名服务,对象不需要直接地储存在服务里面,同时,对象的副本也不需要存储在命名服务里。取而代之的作法是,他们只保存其引用,也就是说,仅仅是一个指向该对象的引用被保存在命名服务里面。一个引用保存着关于如何访问对象的信息。典型地,引用充当着一个精简的与所引用对象通讯的代表,而更多的状态信息依然保存在对象自身上。通过引用,你能够连接对象并且获得关于对象的更多的信息。

举例来说,一个飞机对象可能包含一连串的飞机乘客和组员、航班计划、燃料、设备状态、班机号码和出发时间等状态信息。相反地,一个飞机对象的引用可能仅仅包含它的班机号码和出发时间的信息。这个引用是关于飞机对象的精简的代表而且能用来获得飞机对象更多的信息。又例如,一个文件对象——一个存取文件的引用,也称为一个文件句柄。一个打印机对象,可能包含打印机的状态,例如它的当前等待队列和存纸的数量。而另一方面,一个打印机对象可能只包含关于如何访问打印机的信息,例如它的打印服务器名称和打印协议。

虽然总的来说,一个引用能包含任意的信息,但是通常它被作为其所指内容的地址(或者说通讯端点)——访问对应对象的特定信息。

为了简单起见,当两者区别不明显的情况下,本教程使用对象(object)同时指代“对象”和“对象的引用”。

上下文(Context)

上下文是一组名称-对象的绑定。每种上下文都有一个对应的命名规则。任何一个上下文都将提供返回需要的对象的查询(或解释)操作,或者还可能提供类似绑定名称、取消绑定名称和列举绑定的名称的操作。一个上下文对象中的名称又能够被绑定到其他的具有相同命名规则的上下文中(称之为子上下文)。

举例来说,一个UNIX文件系统中的目录/usr就是一个上下文。一个相对于另外一个文件目录命名的文件目录就是子上下文。(一些 UNIX用户称其为一个子目录)。在一个文件目录/usr/bin中, 目录bin是usr的子上下文。另外一个例子,比如COM这样的一个DNS领域是一个上下文。一个相对于另一个DNS域命名的DNS域是一个子上下文。举例来说,在DNS域Sun.COM中,DNS域Sun是COM的子上下文。

最后,一个LDAP入口,比如c=us,就是一个上下文。一个相对于另一个LDAP入口命名的LDAP入口是上下文。举例来说,在LDAP入口o=sun,c=us中,o=sun是c=us的子上下文。

命名系统和命名空间

一个命名系统是由相同类型的若干连接的上下文组成,它们拥有相同的命名规则,并且提供一系列通用的操作方法。

例如,DNS就是一个命名系统的实现,一个实现LDAP通讯的系统也是一个命名系统。

一个命名系统为其客户提供处理命名相关的操作的服务。这些服务通过其接口进行访问。例如,DNS提供把机器关联到IP地址的命名服务。LDAP提供把LDAP名称映射到LDAP入口的服务。文件系统系统把文件名连接到文件或目录的服务。(译注:目录通常只是文件的特殊形式,例如,在Unix系统中,目录就是一个文件,只是它包含的内容就是一系列文件的入口。

命名空间就是命名系统中的若干名字的集合。比如,Unix文件系统中的所有文件和目录的名字就组成一个命名空间。DNS的命名空间包含了所有的DNS域和入口的名称。LDAP的命名空间包含着所有LDAP入口的名称。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有