命名服务的相关概念:
Naming Service 命名服务
命名服务将名称和对象进行关联,提供通过名称找到对象的操作。
例如:DNS系统将计算机名和IP地址进行关联。文件系统将文件名和文件句柄进行关联等等。
Name 名称
要在命名系统中查找对象,需要提供对象的名称。对象的名称是用来标识该对象的易于人理解的名称。
例如:文件系统用文件名来标识文件对象。DNS系统用机器名来表示IP地址。
Naming Convention 命名规范`
一个命名系统中的所有名称必须遵循的语法规则称为命名规范。
例如:UNIX文件系统的命名规范要求文件名是一个相对于根目录的路径,路径中的每一部分以/分隔。如:/usr/bin。
Binding 绑定
一个名称和一个对象的关联称为一个绑定。
例如:文件系统中,文件名绑定到文件。DNS系统中,机器名绑定到IP地址。
Reference 引用
在一些命名服务系统中,系统并不是直接将对象存储在系统中,而是保持对象的引用。引用包含了如何访问实际对象的信息。
Address 地址
引用通常用一个或多个地址(通信端口)来表示。
Context 上下文
一个上下文是一系列名称和对象的绑定的集合。每个上下文都有与之关联的命名规范。一个上下文通常提供一个lookup操作来返回对象,也可能提供绑定,解除绑定,列举绑定名等操作。一个上下文中的名称可以绑定到一个具有相同命名规范的上下文中,称之为子上下文(subcontext)。
例如:在文件系统中,/usr是一个Context,/usr/bin是usr的subcontext。
Naming System 命名系统
一个相同类型的Context的集合。一个命名系统向客户提供命名服务来执行命名相关的操作。如DNS系统,LDAP系统等。
Namespace 名称空间
一个命名系统的所有名称的集合。
例如:文件系统中的名称空间是组成该文件系统的所有文件和目录的名称。
Atomic Name/Compound Name/Composite Name
Atomic Name 原子名称,是一个简单的基本的名称。
Compound Name 混合名称,是由多个原子名称一起构成的名称。
Composite Name 复合名称,是跨越多个命名系统的名称。
例如:一个名称可能是uid=admin,ou=cms,dc=foobar,dc=com/user/bin/jndi,
其中,uid=admin,ou=cms,dc=foobar,dc=com/user/bin/jndi是一个复合名称,跨越了两个命名系统LDAP和文件系统,uid=admin,ou=cms,dc=foobar,dc=com和/user/bin/jndi是两个混合名称,
uid=admin、ou=cms、dc=foobar分别是原子名称。
目录服务的相关概念
Directory Service 目录服务
目录服务是命名服务的扩展,除了提供名称和对象的关联,还允许对象具有属性。目录服务中的对象称之为目录对象。目录服务提供创建、添加、删除目录对象以及修改目录对象属性等操作。
Attribute 属性
一个目录对象可以包含属性。一个属性具有一个属性标识符和一系列属性值。
例如:一个打印机对象可以包含速度、分辨率等属性。分辨率的属性标识是resolution,属性值可能是300dpi,600dpi等等。
Search Filter 查找过滤器
目录服务除了通过名称查找对象的操作,通常还提供通过目录对象的属性来查找对象的操作。这种的查找一般通过规定的表达式来表示,称之为查找过滤器。