Lotus Domino/Notes Toolkits綜述(四) Java

來源:互聯網
上載者:User
4 Toolkit for Java/CORBA

4.1 功能簡介

    這是一個for Java的工具包,能實現對Notes資料庫中資料對象的處理,並對資料元素具有一定的處理能力:

  • 資料處理

    • 文檔:建立、拷貝、修改、刪除、發送(作為郵件)
    • 視圖:相當於記錄集,可以用於擷取文檔或視圖顯示記錄
    • 域:建立、修改、刪除,支援RTF域、附件的處理
    • 資料庫:建立、拷貝、複製、刪除
  • ACL控制
  • 設計項目
    • 可以擷取、運行、刪除代理
    • 可以擷取並刪除視圖、表單(包括字表單)
    • 可以建立大綱,並向大綱添加多個條目

    這個工具包命名為Toolkit for Java/CORBA,是因為在處理本地Notes資料庫和遠端資料庫兩種不同情況時,使用的技術有所不同。但在程式實現的介面上,兩者基本相同,使得相同的代碼實現可以適應不同的環境,為開發帶來了便利。

最新版本
    v2.1 for R5.0.8,發佈於2001.10.02
4.2 支援的Domino對象及結構

    如:

4.3 訪問本地Notes應用

使用環境
    既然是訪問本地Notes應用,無疑是安裝了Domino/Notes軟體的。此時,需要將notes.jar添加到classpath中(在Domino/Notes運行環境中會自動添加)。
    程式將使用notes.ini來擷取目前使用者。如果使用者啟動並且進入Notes用戶端,目前使用者ID設定為允許Notes增益集共用標識符口令,則不用再次輸入密碼。

工作機理
    當從Java程式中使用本地Domino類時,實際上是通過瘦Java層直接存取了Domino後端用C++實現的代碼。Java使用JNI機制來訪問在動態連結程式庫中的Domino類,Domino的代碼被裝載入JVM 的進程中。
    從效能角度來看,這是最好的選擇:這提供了在Java和C代碼間的最快的串連,所有的東西都在同一個記憶體空間中。
    但是Domino要求對每個線程的初始化和結束做特殊處理(與C/C++ API類似)。
    本地的Domino物件程式庫提供了一個類,lotus.domino.NotesThread來自動的完成這種初始化處理和結束處理。如果使用NotesThread而不是java.lang.Thread來建立一個線程,Domino所需要的init/term調用都自動被執行。同時,NotesThread也是從Thread派生出來的,沒有減少任何功能。如果使用NotesThread來建立線程,則需要調用NotesThread類的兩個靜態方法:sinitThread()和stermThread(),來完成初始化和結束處理。
4.4 訪問遠程Domino應用

使用環境
    只需要將NCSO.jar添加到用戶端的classpath中就可以了,不再需要安裝Notes用戶端或者Domino。
    需要目標Domino伺服器啟動HTTP和DIIOP服務。
    在這種情況下,Domino會根據使用者所提供的使用者名稱/密碼來驗證使用者身份。

工作機理
    Domino使用CORBA技術來實現Java程式對遠程對象的訪問。
    在這種情況下,Java程式不再需要在JVM的進程空間中訪問任何Domino的C/C++代碼,因此不需要做線程初始化和結束處理。因此,可以執行個體化Session對象、Database對象,使用類似於串連池的技術來重用這些對象,提高訪問效率。
    在關閉session對象時,系統將自動關閉session中開啟的各種Notes對象,例如資料庫、視圖、文檔等,自動釋放記憶體。在不關閉Session對象的情況下,則要注意隨時關閉這些對象(使用recycle方法),否則這些對象所佔用的內容不能被自動釋放重用,嚴重時會導致系統崩潰。

    總之,Lotus Toolkit for Java/CORBA使使用者可以擺脫對Notes用戶端的依賴,自由地訪問遠程Domino伺服器。同時它對Notes資料以外的對象處理能力有限,系統安全性相對較弱,效能上要低於C/C++ API。建議在網路環境比較安全、對資料訪問速度要求不是特別高的情況下使用。

Lotus Domino/Notes Toolkits綜述(一)
Lotus Domino/Notes Toolkits綜述(二) C API
Lotus Domino/Notes Toolkits綜述(三) C++ API
Lotus Domino/Notes Toolkits綜述(四) Java
Lotus Domino/Notes Toolkits綜述(五) LDDJ
Lotus Domino/Notes Toolkits綜述(六) 其他
Lotus Domino/Notes Toolkits綜述(七) 分析比較
Lotus Domino/Notes Toolkits綜述(八) 分析比較 續
Lotus Domino/Notes Toolkits綜述(九) 小結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.