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