与Domino集成的API [英] API to integrate with Domino

查看:114
本文介绍了与Domino集成的API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Lotus/Domino领域的相对较新手,并且接受了以下Domino任务.

I am a relatively newbie to Lotus/Domino world and have been tasked with the following Domino task.

(从中间件服务器)访问用户的Domino邮箱,并从该邮箱中删除某些恶意电子邮件.

其他背景:有一个外部安全工具/过程可以分析所有传入的电子邮件,并可以将电子邮件标记为恶意.如果将其标记为恶意,则我想从相应用户的收件箱中删除此电子邮件.

Additional Background: There is a external security tool/process that analyzes all incoming email and can flag the email as malicious. In the event it is flagged as malicious then I want to delete this email from the respective user's inbox.

我的解决方案将部署在其自己的中间件服务器(基于Linux)上,并将收到有关需要删除哪些电子邮件的通知.

My solution would be deployed on its own middleware server (Linux based) and will receive incoming notifications as to what emails need to be deleted.

在我的环境中部署的Domino服务器是Lotus/Domino 9.

The Domino server deployed in my environment is Lotus/Domino 9.

我想最好使用Java实现此功能.

I want to preferably implement this functionality using Java.

我研究并找到了用于访问Domino服务器上用户收件箱的潜在选项.

I researched and found the potential options for me for accessing the user's inbox on Domino server.

1)我看到有一个用于Domino的IBM C/C ++ API工具包.乍一看,C API对我来说似乎很复杂.另外我还需要安装Notes客户端(在我的中间件服务器上),以便可以远程调用C API?

1) I saw that there is a IBM C/C++ API toolkit for Domino. The C API looks quite complicated to me on first glance. Also I would need to install the Notes client (on my middleware server) so that I could invoke the C API remotely?

2)是否存在可用于连接/访问Domino的Java API?我发现:

2) Is there a Java API that I could use to connect/access Domino? I found:

  • IBM Knowledge Center - IBM Domino Designer 9.0.1 - API Documentation and
  • IBM Notes and Domino Application Development wiki.

这些似乎表明存在一些Java/REST API接口,但是我不确定是否可以使用它来访问收件箱/邮箱数据.似乎指示日历"数据,但与电子邮件/邮箱数据无关.

These seem to indicate there is some Java/REST API interface however I am not sure if I can use this to access inbox/mailbox data. It seems to indicate "Calendar" data but nothing about email/mailbox data as such.

3)我遇到了 OpenNTF研究中的Domino API项目,并且似乎具有Java API.我应该使用这个吗?

3) I came across the OpenNTF Domino API project while researching and that seems to have a Java API. Should I be using this?

从外部服务器的角度来看访问Domino的最佳方法是什么?我是坚持使用C/C ++ API还是有一个相对(更易于理解和使用)REST/Java API?我可以利用吗?还需要在中间件服务器上安装Notes客户端,以便调用API(C/C ++或Java)吗?

What is the best way to access Domino from an external server standpoint? Am I stuck with the C/C++ API or is there a relatively (easier to understand and use) REST/Java API that I could leverage? Also will I have to have the Notes client installed on my middleware server so that I can invoke the API (C/C++ or Java)?

推荐答案

  1. 除非以下情况,否则应避免使用Notes C和C ++ API:
    • 您真的非常了解Lotus Notes和Domino(或者愿意很快学习很多)
    • 您确定解决问题的唯一方法是编写Domino服务器任务或扩展.这些API使用Lotus Notes/Domino数据的级别很低.
  1. You should avoid the Notes C and C++ APIs unless:
    • You know Lotus Notes and Domino really, really well (or are willing to learn a lot very quickly) and
    • You determine that the only way to solve your problem would be to write a Domino server task or extension. These APIs work with Lotus Notes/Domino data a very low level.
  • 与REST API相比,Java API更加丰富并且可以达到更低的水平.
  • REST API可能足以满足您的需求,但是很有可能必须专门设置服务器以使其能够访问邮箱.如果您使用Java API,则不一定是这种情况.
  • 使用Java API取决于您是否可以在安装了核心Lotus Notes/Domino代码的计算机上运行Java代码.另外,您还必须调查有关此方面的技术和许可问题.
  • 了解Java API的一个好方法是阅读Bob Balaban的书.它已经过时并且过时了,但是它确实涵盖了您出于所描述的目的而需要了解的大多数内容.需要注意的是,它写得太早了,以致没有满足进行recycle()调用的需要.但是他在此处免费下载了这些章节.现在您已经了解了recycle(),我相信您可以找到有关为什么和何时需要它的信息.
  • The Java API is richer and can get to a lower level than the REST API.
  • The REST API might be adequate for what you need, but there's a very good chance that the server will have to be set up specifically to enable it to access the mailboxes. That will not necessarily be the case if you use the Java API.
  • Using Java API will depend on whether you can run your Java code on a machine that has the core Lotus Notes/Domino code installed. Also you'll have to investigate the technical and licensing questions on that.
  • A good way to get educated on the Java API is to read Bob Balaban's book. It is old and out of date, but it does cover most of what you need to know for the purpose you've described. One caveat is that it was written so early that it did not cover the need for making recycle() calls. But he's posted the chapters here for free download. Now that you know about recycle() I'm sure you can find information about why and when you need it.

关于:安装Notes客户机时,我提到了第2点中的核心Lotus Notes/Domino代码时提到了这一点.对于官方Java API,您有两个选择:

Re: installing the Notes client which I alluded to that when I mentioned the core Lotus Notes/Domino code under point 2. You have two options for the official Java API:

  1. 本地:
    • 这使用核心Notes/Domino代码对服务器进行Notes RPC调用,因此您必须安装Notes客户机或Domino服务器代码的许可版本才能获取核心代码.
    • 请注意,如果您绑定到64位JVM,则需要64位代码,这意味着您需要安装Domino服务器而不是Notes客户端,因为没有64位Notes客户端.
  1. Local:
    • This uses the core Notes/Domino code to make Notes RPC calls to the server, so you will have to install a licensed version of the Notes client or Domino server code to get the core code.
    • Note that if you are tied to a 64-bit JVM, you need 64-bit code and that means you need to install the Domino server instead of the Notes client since there is no 64 bit Notes client.
  • 您不需要安装任何Notes或Domino代码,但这将使用CORBA/IIOP而不是Notes RPC与服务器进行通信.这需要在Domino服务器上启用IIOP.
  • 我上次检查时,OpenNTF API仅支持本地"模型.

不过我确实要提到:由于这个原因,这几乎已经成为话题:

I do have to mention though: this is close to being off topic for this reason:

要求我们推荐或查找书籍,工具,软件的问题 库,教程或其他场外资源不在Stack的主题范围内 溢出,因为它们倾向于吸引有思想的答案和垃圾邮件. 相反,请描述问题以及到目前为止已完成的工作来解决 它.

Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.

尽管可以通过在StackOverflow上进行搜索轻松确认Java API的存在,但是我不得不承认,找到Domino的基本引用要困难得多.那里确实有25年的信息价值,但通常是零散的和过时的.确实很难找到有关当今可用的工具,API和库以及当前 的信息.选项确实非常有限.

Whilst the existence of a Java API can be easily confirmed by searching here on StackOverflow, I have to admit that finding basic references for Domino is quite a bit more challenging. There is literally 25 years worth of information about it that's out there, but is often in fragments and is obsolete. It is really difficult to find information about tools, APIs and libraries that are available and current today. The options are really pretty limited.

因此,我认为这个问题值得回答,因为它并没有真正落到观点上.不过,我不会提出建议,因为那确实是意见.

As such I think this question deserves an answer since it does not really come down to opinion. I'm not going to make a recommendation though, because that really would be opinion.

这篇关于与Domino集成的API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆