0

我刚刚开始使用 Lotus Notes 进行 Web 服务。我想做的是创建一个生成序列号的 Web 服务。生成数字的代码基于我们在数据库中使用了一段时间的现有代码(只是直接的 Lotus 脚本,没有 Web 服务)。基本上有一个存储下一个号码的文档,下一个号码被返回并更新,以便检测到下一次调用保存冲突,如果保存号码时出现问题,则再次尝试该号码。

我想我可能会使用网络服务来生成号码。那么 Web 服务是顺序处理还是并行处理?因为如果他们是连续的,那么我就不需要处理两个试图同时保存号码的人。

4

7 回答 7

2

Web 服务是两个系统在没有共同语言的情况下相互通信的一种方式。

例如,连接到 .Net 服务器的 LotusScript 代理。

在 Domino 上创建 Web 服务提供者(服务器)时,您可以使用 LotusScript 或 Java 对其进行编码。然后,服务器为消费者(客户端)提供一个 WSDL 文件,以编写与该 Web 服务对话所需的代码。

本教程应该为您更好地解释它:

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Creating_your_first_Web_Service_provider_and_consumer_in_LotusScript_and_Java。

现在至于多米诺骨牌。Web 服务按照从服务器请求的顺序运行。但是,无法控制说“在 Web 服务 X 完成之前不要开始”。

您也可以将其编码到应用程序中,但除非您对此进行反击,否则其他用户会面临内存/性能问题死锁的严重风险。

Domino 服务器也可以设置为不并行运行 Web 服务/代理。但是你又冒着同样的问题的风险。

如果它是唯一 ID,那么您可以使用从 Web 服务创建的文档的 UNID。或者您可以通过评估使用@UNIQUE,但两者都只返回文本。

http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.designer.domino.main.doc/H_UNIQUE.html

于 2012-04-30T16:14:43.760 回答
1

来自 Lotus Designer 文档:

要在服务器上启用并发 Web 服务,您必须在该服务器上启用并发 Web 代理。打开要编辑的服务器文档。单击 Internet 协议 - Domino Web 引擎选项卡。启用同时运行 Web 代理。

并发 Web 服务调用的最大数量由“最大并发代理”设置确定。从 Lotus 管理文档:

最大并发代理数 指定允许同时运行的代理数。有效值为 1 到 10。默认值为 1(白天)和 2(夜间)。启用更多并发代理可以减轻负载很重的代理管理器,但也会减少可用于运行其他服务器任务的资源。

Lotus Notes Domino 版本 8.5.x

于 2012-05-01T13:33:13.953 回答
0

我原以为它们会默认按顺序运行,因为异步 Web 代理处于关闭状态,除非您将其打开。因此,尽管如果您只通过 Web 服务分配一个数字并且您没有更改异步设置,那么执行“安全”顺序编号是一个很好的设计模式,那么您会没事的

于 2012-05-01T12:41:06.773 回答
0

我还要补充一点:

使用文档锁定以确保顺序文档编号解决方案中的编号唯一性

于 2012-05-19T13:37:16.877 回答
0

有一个简单的解决方案可以避免同步性考虑。

您应该使用 生成一个临时编号@Unique,然后使用计划代理按文档创建的顺序分配序列号,使用正确构成的视图仅选择未处理的文档。如果您不关心文档的创建顺序,而只关心所有编号都是唯一的,则不需要查看,您只需在未处理的文档上触发代理即可。

临时编号可以临时用作参考,直到分配了适当的序号。

当计划的代理运行时,它应该向作者发送带有正确参考号的确认。

于 2013-01-29T08:56:59.927 回答
0

是的,Web 服务将并行运行。但是既然你写了你的代码处理保存冲突,你应该没有问题。
正如 2 个用户的标准注释调用一样:第一个获取文档,然后第二个获取文档并保存(快速两个),然后首先将获得保存冲突。总之,是的,它是并行的,但它不是问题。

于 2012-05-01T04:21:22.257 回答
0

或者,您可以导出到 DXL 并获取标签的 sequence= 属性。不过,这仅在您访问数据库的单个实例时才有效。并且 DXL 导出/XML 导入是一个巨大的开销。

不幸的是,我看不到从 LotusScript NotesDocument 轻松获取注释序列号的方法。如果您有一个有效的支持合同,您可以为软件增强请求打开一个问题管理报告(IBM 的说法是“APAR”,尽管我不知道它的首字母缩写词扩展为什么)。

祝你好运!

于 2014-06-15T22:14:52.330 回答