命名服务的相关概念:
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 查找过滤器目录服务除了通过名称查找对象的操作,通常还提供通过目录对象的属性来查找对象的操作。这种的查找一般通过规定的表达式来表示,称之为查找过滤器。