随着时间的推移,记忆会慢慢褪色,并在我们的脑海中变得混乱起来。事实证明,技术亦是如此:早在20世纪80年代,人们就创建了轻型目录访问协议(LDAP),以便各种应用程序在开放式系统互联(OSI)X.500目录服务中存/取信息(LDAP最初是因为运行DOS系统的X386电脑无法在DOS要求的640KRAM中加载X.500的正常访问协议——目录访问协议(DAP),人们才创建了这样一个“轻型”DAP版本,以便这些平台可以查询该目录)。虽然X.500目录以及x386电脑已经像恐龙一样消失了,但通用开放架构库(repository)的理念却继续存在。
虽然LDAP保留了最初的X.500目录服务标准,但是它现在已经从一个支持DOS系统的低级协议发展到了目录服务本身。不止LDAP和库两者的概念出现了混乱,就连开放架构OpenLDAP也与LDAP本身混淆了。现在,许多公司都有“LDAP兼容”目录,比如微软的活动目录、IBM的Tivoli Directory Service、甲骨文的Java System Directory Server企业版等,都带有企业内部的专有架构。当X.500消失的时候,开放式架构库也随之消失了。
X.500开放标准化的目录(可以用一个供应商的库直接替换另一个供应商的库)已经被今天的LDAP兼容目录所取代,这种目录提供互操作性,即两个供应商的产品可以彼此兼容。但是,OpenLDAP的互操作性使用的是古老的社区开发标准OSI模型。OpenLDAP不像现在的商业产品,它是开源的LDAP兼容目录。它实际上是由更早的X.500的许多残存内容组成。OpenLDAP由OpenLDAP组织负责维护和支持,由OpenLDAP基金会进行协调。OpenLDAP基金会是一个非营利性机构(依靠公司赞助和个人捐款),以促进开源LDAP开发为宗旨。OpenLDAP像大多数LDAP兼容产品一样遵循互联网工程任务组(IETF) RFC-4510标准。该标准定义了与LDAP兼容目录进行相互协作所需要的标准和协议。
OpenLDAP 的最佳使用案例
OpenLDAP的价值有哪些,企业应该如何使用它呢?OpenLDAP可以运行在Windows 和Unix平台上,并且是一个免费的,与LDAP兼容的目录软件。这意味着它可以用作独立的库,或者作为在供应商专有库和应用软件中所使用的源代码。
在Windows系统中采用OpenLDAP不能代替微软的活动目录,因为如上所述,所有的商业LDAP兼容库都是各公司专有的。这意味着活动目录实现了微软其他产品所使用的其他专用对象和API。通过购买微软的这些授权产品,使用Windows系统的企业会得到一些先进的功能,但如果企业使用的应用程序与活动目录不兼容,那么他们必须付更多的钱进行整合、购买授权插件等,或者选择另外一种目录结构。当多种应用程序需要访问LDAP目录时,OpenLDAP可以作为活动目录的代替品,企业不必为使用活动目录而支付额外的费用或获得授权。比如,OpenLDAP可以仿效活动目录的通用地址列表(GAL),为需要该信息的内部开发应用程序提供此信息。此外,其他使用LDAP进行认证以及对象存储的应用程序和平台也可以利用这个免费库。
OpenLDAP也是由社区所开发的。与供应商有限的开发人员和预算相比,这一点使得OpenLDAP可以带来更多的创新。OpenLDAP支持最新LDAP标准(v3.3)中很多可选的LDAP功能和扩展功能,这些功能未必会出现在其他的商业LDAP兼容产品中。目前的OpenLDAP发行版本支持30多种可选功能和扩展功能,包括基于DNS的服务位置(RFC 2247 & RFC 3088)、X.509证书图表RFC 4523)、密码修改操作(RFC 3062)以及其他的功能等等。因为这些功能一般不会得到商业供应商的支持,所以OpenLDAP可能是企业的唯一选择,因为它们需要获取这些功能来支持各种不同的应用程序。那么,这里面有没有隐含的不利因素呢?免费并不意味着成本不会增加。这是因为任何开源软件都会有一些固定成本,或在时间上,或在资源上,比如说:
- OpenLDAP没有专业人士提供服务,所以负责安装、配置以及维护OpenLDAP的人员必须精通LDAP软件并能创建整合程序,以便把OpenLDAP绑定到使用OpenLDAP数据的应用程序上。
- OpenLDAP没有GUI界面。所有的安装和配置都必须通过命令行完成。
- 多语言支持只存在于OpenLDAP工程之外的邮寄列表中(特别是没经过OpenLDAP项目认可或者批准的邮件列表)。
- 产品支持由OpenLDAP 网站的问题跟踪系统提供,该系统由OpenLDAP的成员独立支持。
- 尽管OpenLDAP的技术支持网站对更新和补丁有所计划和记录,但是升级和补丁并不是定期公布的。
最后一点必须指出的是,OpenLDAP软件的运行没有保障,正如上文所述,提供支持的组织只能靠赞助和个人捐款。但是,即便存在这些限制,OpenLDAP还是提供了那些专有软件产品不愿提供、也无法提供的功能。当企业希望保持应用程序基础设施多样性而商业目录产品又不能满足所需的自定义水平时,OpenLDAP则将脱颖而出。市场上有了OpenLDAP之后,供应商们总是会想起那个库可以互换的时代。他们需要继续提供各种创新的产品,否则有一天OpenLDAP可能会使得他们的产品走向灭亡。