JNDI基本概念-译自Sun官方文档

JNDI基础概念


一、名字-基础

“名字服务”是计算机系统内的基本设施——这意味着什么名字关联到什么对象,以及根据名字能找到哪些对象。传统系统里面,名字服务很少是单独提供的。它通常集成在其它服务里面,比如文件系统,目录服务,数据库,桌面,邮件系统,电子表格或者日历。举个例子,一个文件系统包含了对文件和目录的名字服务;电子表格包含了对单元格和宏的名字服务。


典型的企业计算环境通常和一些名字服务关联。在企业里面,有名字系统为机构、物理站点、人员和计算机等公用实体提供的上下文。名字服务在法人企业里同样应用,比如文件服务,邮件服务,打印服务等。从用户的角度看,在这些名字服务之间存在一些自然和逻辑关系。比如,对文件、邮件、约会日历等进行命名,对用户而言是很自然地。同样,名字系统里的部门上下文中的用户,和企业的部门成员也是自然对应的。名字系统里面有意义的名字可以构成一些有用的约定来反映它们对象之间的关系。


每个名字都是根据叫做“名字规则”的一组语法规则来生成的。一个“原子名字”是一个不可分割的名字组件,由名字规则定义。

 “组合名字”(Compound Name)根据名字规则由0到多个原子名字构成。比如,在Unix路径名种,原子名字是从左到右排列,以 '/' 分割。Unix路径名usr/local/bin是一个表示了usr、local、bin等原子名字的组合名字。在DNS名字系统的名字里,原子名字是从右到左排列的,以 '.' 分割。因此,sales.wiz.com是一个表示了com、wiz、sales等原子名字的组合名字。


原子名字到对象的关联就称作“绑定”。


“上下文”(Context)是一个包含了不同原子名的绑定集合的对象。每一个上下文都有一个关联的名字规则。上下文提供了lookup、bind、unbind、list等操作、上下文对象内的原子名字可以绑定到其他同类型的上下文,叫做“子上下文”,但原子名字编程组合名字。


组合名字的解析是在上下文内依次查找原子组件时处理的。解析器会在Unix文件名字系统内找到熟悉的模型,目录作为上下文,路径名作为组合名字。


“名字系统”是一组已连接的具有相同类型(一致的名字规则)和相同的语义操作的上下文集合。


 “名字空间”是名字系统内所有名字的集合。


 “复合名字”(Composite Name)是一个跨越了多个名字系统的名字,它由0到多个组件按顺序组成。每一个组件是来自某个名字系统的名字。
 比如,jurassic.eng:/export/home/jdoe/.signature 是一个以jurassic.eng主机为名字空间的复合名字,文件名/export/home/jdoe/.signature来自Unix文件名字空间。其它示例比如 http://www.moon.org/public/index.html ,这是一个以http拼凑的复合名字。
    每一个名最终都被解释为关联到某些上下文,每一个名字操作都是由上下文来完成的。客户端可以获得一个initial context来开始解析名字。


二、目录对象
名字系统的主要功能就是将名字映射到对象。对象可以使任何类型。目录对象是一种用来呈现计算环境各种信息的特殊的对象类型。一个目录对象能关联到它的属性,属性有一个id(属性名)和一个值的集合。


目录对象提供创建、添加、删除和修改属性等操作。如果我们将目录对象当作名字上下文,则可以将目录信息包括内部节点和属性表现为树状,而不仅仅是像名字上下文那样。

    以下是几个要点:
    1、多个名字系统能被呈现为一个符合名字。
    2、每一个名字空间都有内部节点并表现为名字上下文,它可能是目录对象。叶节点可以使任何类型的对象。
    3、InitialContext是配置用来在不同名字和目录系统前绑定到一个可用的起始上下文。
    4、应用程序只看到复合名字。根据这个约定,它可以访问任何名字系统内绑定的对象。

    5、多个名字服务可以合并其拥有的名字空间,以使看起来就像JNDI下的一等公民。

    6、专门的目录服务也可以添加近来并被访问,并且不需要客户端程序改变。


三、URL和复合名字


URL是一种特殊的复合名字,它的语法由URL定义。JNDI客户端可以使用URL引用专门的对象类型。比如,客户端可以使用 nfs://nfs.sun.com/export/jndi/src/README 来引用NFS协议访问的一个文件。类似的,客户端可以可以使用 ldap://ldap.widget.com/cn=Jonathan,ou=marketing 在LDAP服务器上完成目录操作。
    为了广泛支持复合名字,JNDI定义了复合名字语法和提供了工具来处理它,这样就允许JNDI客户端使用名字引用跨多个名字系统的对象。


四、事件

随着名字/目录服务服务在计算环境中扮演着越来越重要的角色,对提供管理和监控工具以帮助管理这些服务的需求也越来越大。


转载来自:http://hi.baidu.com/vivliu/blog/item/dde63095c9814c43d0135ec4.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值