一、 大纲和目标
此文为理解什么是LDAP打下一个基础。目标是使你掌握基本的术语和概念,不作为深入学习LDAP的材料。LDAP,它的
全称为轻量级目录访问协议。
此文包括以下几方面的内容:
* 目录的基本定义
* 理解目录能做什么和不能做什么
* 2个目录例子
* 总结使用目录服务的校验表
二、 基本定义
目录是一种专门的数据库,它服务于各种应用程序,包括LDAP(轻量级目录访问协议)目录和基于X.500的目录。这些目录都是通用的标准的目录。它们不适合于特定的操作系统、应用目的。
不管她们知不知道这里的目录是什么意思,大多数人熟悉各种各样的目录,像电话簿、黄页,电视指南、购物目录和图书馆卡片目录。我们把这一类目录归为日常目录。在计算机中的目录被称为在线目录。
目录服务是软件、硬件、策论以及管理的集合体。目录服务至少包括以下几个方面:
* 包含在目录中的信息
* 保存信息的软件服务端
* 扮演存取信息的软件客户端
* 跑服务端,客户端软件的硬件
* 支撑系统,像操作系统、设备驱动等
* 连接客户端到服务端以及各个服务端之间的网络基础设施
* 策略。规定谁能访问,谁能更新,谁能存取等
* 维护和监视目录服务的软件
术语目录和目录服务经常可换用。
三、 目录是什么以及它能做什么
下面的应用类型不能被归为目录:
* 数据库
* 文件系统
* web服务
* FTP服务
* DNS服务
与数据库比较
虽然目录也被称为特殊的数据库,但它不同于真正的数据库。目录的大部分操作为读操作。假如你的应用程序要写大量的数据,你应该考虑选择使用数据库来实现。目录支持相对简单的事务处理。相反,数据库被设计成处理大量的各种各样的事务处理。假如你的应用要求这种重负荷的事务支持,你该选择数据库而不是目录。
在另一方面,假如你的应用不要求这样的大负荷事务处理,而是偶尔的写一些简单的事务信息。这时,目录是理想的选择。它会更有效,更简单。
与文件系统比较
目录被认为是很差的文件系统。文件通常很大,有几兆甚至更大,虽然目录被优化成存取很小的信息。应用程序以块的方式存取文件。文件系统支持各种调用--像seek(),read()和write(),这样可以写大文件的一部分的信息。目录不能提供这种随机的存取访问。目录条目被分成各种属性。你可以分别获取各种属性。你不能取得一个条目的部分值,如从第几个字节开始。
与web的比较
不象web服务器一样,目录不适合推送JPEG图象或Java程序给客户端。Web服务通常作为开发web应用的跳板。这些平
台从CGI(公用网关接口)到更复杂的像Netscape应用服务平台。目录一般不提供这种形式的应用开发,甚至它不提供目录应用开发平台服务。
与FTP比较
与FTP的主要区别在于:数据量的大小和客户的类型。另外一点就是FTP是一个非常简单的协议,它专于做一件事情并把它做好。假如你想做的是把文件从一个地方传送到另一个地方,那么额外的目录下层结构也需要,如复制、查询、更新等。
与DNS比较
因特网的域名系统和目录有相似之处,它们都提供对分层式数据库的访问。但其它一些不同把它们区分开来。
DNS的主要目的是把主机名转换成IP地址。比较而言,大多数目录有更普通的作用。DNS有一套专门的、固定的计划,而目录允许被扩展。DNS不允许更新它的信息,而目录可以。DNS可通过UDP的无连接的方式访问,而目录通常是连接访问的。
四、 目录举例
X.500
在八十年代中期,两个不同的团体--CCITT和ISO,各自开始在目录服务方面的研究工作。最后,两个国际性的目录规范融合成一个规范,这就是X.500。X.500的优势在于它的信息模型,它的多功能性和开放性。
LDAP
1993年7月,第一个LDAP规范是由密歇根大学开发的,也就是RFC1487。LDAP的开发者们简化了笨重的X.500目录访问协议,他们在功能性、数据表示、编码和传输方面做了改建。目前,LDAP的版本是第3版本,相对以前版本来说,第3版本在国际化、提名、安全、扩展性和特性方面更加完善。1997年,第3版本成为因特网标准。
五、 目录服务校验表
下面是简要的总结:为你是否选择目录或其它技术提供导航。
* 信息量大小。目录适合于存放相对小的信息量,而不是几兆大小的文件。可以利用指针,它可以指向大的文件,但绝不是文件本身。
* 信息的类型。目录通常是基于属性的信息。
* 读写比。目录适合于读操作更多的应用。如需要用到大量的写操作,数据库是一个选择。
* 搜寻能力。目录能搜寻他自身包含的信息。
* 标准访问。假如你需要标准的访问信息。目录是一个好的选择。
六、 参考文献
X.500 Lightweight Directory Access Protocol
A String Representation of LDAP Search Filters
ldap命令行删除
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java接受命令行输入
本文介绍了Java程序如何通过`Scanner`类接收和处理用户的命令行输入。
Java java 命令行