誰(shuí)應(yīng)該使用 JNDI?
任何需要訪問有關(guān)用戶、機(jī)器、網(wǎng)絡(luò)和服務(wù)的信息的 Java 應(yīng)用程序。用戶信息包括安全憑證、電話、電子郵件地址、通信地址和應(yīng)用程序首選項(xiàng)(application preferences)。機(jī)器信息包括網(wǎng)絡(luò)地址、機(jī)器配置等。另外就是任何需要導(dǎo)出對(duì)象或者需要訪問其他應(yīng)用程序或服務(wù)導(dǎo)出的對(duì)象的 Java 應(yīng)用程序。這樣的例子包括打印程序、日歷和聯(lián)網(wǎng)的文件系統(tǒng)。
現(xiàn)在我可以使用 JNDI 嗎?
是的,Sun Microsystems 已經(jīng)將 JNDI 作為一個(gè) Java Standard Extension 發(fā)布了。Sun Microsystems 還為很多命名服務(wù)和目錄服務(wù)(如 LDAP, NIS, CORBA (COS) Naming 和文件)發(fā)布了無(wú)縫地插入在 JNDI 后面的服務(wù)提供程序。這些服務(wù)提供程序以及其他供應(yīng)商提供的服務(wù)提供程序都可從 下載 處得到。
JNDI 用于 Java 平臺(tái)中的什么地方?
HotJava Views 1.1 使用 JNDI 來(lái)訪問 LDAP。像 Enterprise JavaBeans, Java Message Service, JDBC 2.0 這樣的 Enterprise API 將 JNDI 用于命名和目錄用途。RMI over IIOP 應(yīng)用程序可以使用 JNDI 來(lái)訪問 CORBA (COS) 命名服務(wù)。
誰(shuí)將提供 JNDI 的實(shí)現(xiàn)?
在寫這篇文章時(shí),IBM, Novell, Sun 和 WebLogic 已經(jīng)為 JNDI 提供了服務(wù)提供程序。我們維護(hù)有一個(gè)公共可用的服務(wù)提供程序的 列表 。
JNDI 為哪些協(xié)議提供了接口?
JNDI 本身獨(dú)立于任何特定目錄訪問協(xié)議。單獨(dú)的服務(wù)提供程序決定所支持的協(xié)議。將會(huì)有不同供應(yīng)商提供的流行協(xié)議(比如 LDAP, NDS, DNS 和 NIS(YP))的提供程序?qū)崿F(xiàn)。
JNDI 與 LDAP 的關(guān)系如何?
JNDI 提供目錄和命名的一個(gè)優(yōu)良的面向?qū)ο蟮某橄蟆i_發(fā)人員使用 JNDI 可以開發(fā)出使用 LDAP 或其他訪問協(xié)議的查詢來(lái)檢索結(jié)果;但是他們并不局限于 LDAP,也不是必須開發(fā)與 LDAP 相關(guān)的應(yīng)用程序。JNDI 支持 LDAP v3 中的關(guān)鍵功能。
JNDI 與 Netscape 的 Java LDAP API 的關(guān)系如何?
Netscape 的 API 是特定于 LDAP 的。它用于對(duì) LDAP 目錄的低級(jí)別訪問。它暴露應(yīng)用程序一般不需要知道的協(xié)議細(xì)節(jié)。
JNDI 是 Java 程序的一個(gè)普通目錄 API。它類似用于訪問文件的 java.io.File 類。可能會(huì)有一些需要在協(xié)議級(jí)別處理文件的管理程序(比如 NFS),但是所有的 Java 應(yīng)用程序一般都使用 File 類來(lái)訪問文件系統(tǒng)。類似地,大多數(shù) Java 程序應(yīng)該使用 JNDI 來(lái)訪問目錄。需要在協(xié)議級(jí)別處理目錄內(nèi)容的應(yīng)用程序可能會(huì)選擇使用 Netscape 的 API。
JNDI 與用于命名的 OMG 的 CORBA 標(biāo)準(zhǔn)的關(guān)系如何?
Java CORBA 應(yīng)用程序可以使用 JNDI 來(lái)訪問 CORBA (COS) 名稱服務(wù),以及其他命名服務(wù)和目錄服務(wù)。它為應(yīng)用程序提供一個(gè)接口,用于訪問所有這些命名服務(wù)和目錄服務(wù)。
通過使用 JNDI,Java CORBA 應(yīng)用程序還可以使用像 LDAP 這樣的分布式企業(yè)級(jí)服務(wù)來(lái)存儲(chǔ)對(duì)象引用。
JNDI 與 Microsoft 的 ADSI 的關(guān)系如何?
Java ADSI 包允許 Java 程序基于 COM 模型訪問 Active Directory。盡管它可用于訪問其他目錄,但是它是一個(gè)以 Windows 為中心的解決方案。
JNDI 提供 Java 應(yīng)用程序使用 Java 對(duì)象模型來(lái)訪問目錄,而不管這些應(yīng)用程序是運(yùn)行在 Windows 上,還是在訪問 Active Directory。例如,您可以處理像 AWT 和 JavaBeans 組件這樣的對(duì)象,將它們綁定到目錄中,然后再返回來(lái)查找它們,而不用做任何轉(zhuǎn)換或者處理數(shù)據(jù)表示問題。
什么是 XFN,它與 JNDI 的關(guān)系如何?
XFN 就是 X/Open Federated Naming,即一個(gè)基于 C 的標(biāo)準(zhǔn),用于訪問多個(gè)有可能聯(lián)盟的命名服務(wù)和目錄服務(wù)。熟悉 XFN 的程序員會(huì)發(fā)現(xiàn)使用 JNDI 很容易。
安全性如何?
不同目錄對(duì)待安全性的方式不同。JNDI 允許應(yīng)用程序與特定于目錄的安全系統(tǒng)協(xié)同工作。在未來(lái),基于 JNDI 的應(yīng)用程序?qū)⒛軌驗(yàn)?Java 平臺(tái)開發(fā)的任何單點(diǎn)登錄機(jī)制的優(yōu)勢(shì)。
Author: orangelizq
email: orangelizq@163.com
posted on 2007-07-16 19:48
桔子汁 閱讀(215)
評(píng)論(0) 編輯 收藏 所屬分類:
J2EE