Lotus Domino/Notes Toolkits综述(四) Java (转)

本文介绍Lotus Domino/Notes Toolkit for Java/CORBA的功能特性,包括对Notes数据库的操作支持,如文档、视图和域的管理等。此外还探讨了本地和远程访问Domino应用的不同方式及其工作原理。
Lotus Domino/Notes Toolkits综述(四) Java (转)[@more@]

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对象及结构
  如下图:
.NET/Develop/ArticleImages/20/20424/优快云_Dev_Image_ 2003-8-141553460.gif">


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。建议在 网络环境比较安全、对数据访问速度要求不是特别高的情况下使用。


ASP?Id=20419">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综述(九) 小结

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-998898/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-998898/

需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需求响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需求侧管理背景下,冰蓄冷系统如何通过优化运行策略参与需求响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需求响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型求解与结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需求响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统与需求响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计与仿真;③为政策制定者评估需求响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建与算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同时可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值