JNDI 常見問題

誰應該使用 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 平臺開發的任何單點登錄機制的優勢。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章