欢迎来到天天文库
浏览记录
ID:6630124
大小:31.00 KB
页数:6页
时间:2018-01-20
《基于jndi的应用程序开发》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于JNDI的应用程序开发基于JNDI的应用程序开发作者:高科华∣来源:天极java∣原文地址∣2004-10-4JNDI(TheJavaNamingandDirectoryInterface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。 命名或目录服务使你可以集中存储共有信息,这一点在网络应用中是重要的,因为这使得这样的应用更协调、更容易管理。例如,可以将打印机设置存储在目录服务中,以便被与打印机
2、有关的应用使用。 本文用代码示例的方式给出了一个快速教程,使你可以开始使用JNDI。它: 1、提供了JNDI概述 2、描述了JNDI的特点 3、体验了一下用JNDI开发应用 4、表明了如何利用JNDI访问LDAP服务器,例如,SunONE目录服务器 5、表明了如何利用JNDI访问J2EE服务 6、提供了示例代码,你可以将其改编为自己的应用 JNDI概述 我们大家每天都不知不觉地使用了命名服务。例如,当你在web浏览器输入URL,http://java.sun.com时,DNS(DomainNameSystem,域名系统)将这个符号U
3、RL名转换成通讯标识(IP地址)。命名系统中的对象可以是DNS记录中的名称、应用服务器中的EJB组件(EnterpriseJavaBeansComponent)、LDAP(LightweightDirectoryAccessProtocol)中的用户Profile。 目录服务是命名服务的自然扩展。两者之间的关键差别是目录服务中对象可以有属性(例如,用户有email地址),而命名服务中对象没有属性。因此,在目录服务中,你可以根据属性搜索对象。JNDI允许你访问文件系统中的文件,定位远程RMI注册的对象,访问象LDAP这样的目录服务,定位网络上的EJB
4、组件。 对于象LDAP客户端、应用launcher、类浏览器、网络管理实用程序,甚至地址薄这样的应用来说,JNDI是一个很好的选择。 JNDI架构 JNDI架构提供了一组标准的独立于命名系统的API,这些API构建在与命名系统有关的驱动之上。这一层有助于将应用与实际数据源分离,因此不管应用访问的是LDAP、RMI、DNS、还是其他的目录服务。换句话说,JNDI独立于目录服务的具体实现,只要你有目录的服务提供接口(或驱动),你就可以使用目录。如图1所示。图1:JNDI架构 关于JNDI要注意的重要一点是,它提供了应用编程接口(applicati
5、onprogramminginterface,API)和服务提供者接口(serviceproviderinterface,SPI)。这一点的真正含义是,要让你的应用与命名服务或目录服务交互,必须有这个服务的JNDI服务提供者,这正是JNDISPI发挥作用的地方。服务提供者基本上是一组类,这些类为各种具体的命名和目录服务实现了JNDI接口—很象JDBC驱动为各种具体的数据库系统实现了JDBC接口一样。作为一个应用开发者,你不必操心JNDISPI。你只需要确认你要使用的每一个命名或目录服务都有服务提供者。 J2SE和JNDI Java2SDK1.3及
6、以上的版本包含了JNDI。对于JDK1.1和1.2也有一个标准的扩展。Java2SDK1.4.x的最新版本包括了几个增强和下面的命名/目录服务提供者: 1、LDAP(LightweightDirectoryAccessProtocol)服务提供者 2、CORBACOS(CommonObjectRequestBrokerArchitectureCommonObjectServices)命名服务提供者 3、RMI(JavaRemoteMethodInvocation)注册服务提供者lDNS(DomainNameSystem)服务提供者 更多的服务
7、提供者 可以在如下网址找到可以下载的服务提供者列表:http://java.sun.com/products/jndi/serviceproviders.html特别有意思的或许是如下网址提供的Windows注册表JNDI服务提供者:http://cogentlogic.com/cocoon/CogentLogicCorporation/JNDI.xml这个服务提供者使你可以访问WindowsXP/2000/NT/Me/9x的windows注册表。也可以在如下网址下载JNDI/LDAPBoosterPack:http://java.sun.com/
8、products/jndi/这个BoosterPack包含了对流行的LDAP控制的支持和扩展。它代替了与LD
此文档下载收益归作者所有