8

私は Lotus/Domino の世界では比較的初心者で、次の Domino タスクを担当しています。

(ミドルウェア サーバーから) ユーザーの Domino メールボックスにアクセスし、そこから特定の悪意のある電子メールを削除します。

追加の背景: すべての受信電子メールを分析し、悪意のある電子メールとしてフラグを立てることができる外部セキュリティ ツール/プロセスがあります。悪意のあるものとしてフラグが付けられた場合は、このメールをそれぞれのユーザーの受信トレイから削除したいと考えています。

私のソリューションは、独自のミドルウェア サーバー (Linux ベース) に展開され、どの電子メールを削除する必要があるかについての通知を受け取ります。

私の環境にデプロイされている Domino サーバーは、Lotus/Domino 9 です。

Javaを使用してこの機能を実装したいと考えています。

Domino サーバー上のユーザーの受信トレイにアクセスするための潜在的なオプションを調査し、見つけました。

1) Domino 用の IBM C/C++ API ツールキットがあることを知りました。一見すると、C API は非常に複雑に見えます。また、C API をリモートで呼び出すことができるように、Notes クライアントを (ミドルウェア サーバーに) インストールする必要がありますか?

2) Domino への接続/アクセスに使用できる Java API はありますか? 私が見つけた:

これらは Java/REST API インターフェイスがあることを示しているようですが、これを使用して受信ボックス/メールボックス データにアクセスできるかどうかはわかりません。「カレンダー」データを示しているようですが、メール/メールボックス データ自体については何も示していません。

3) 調査中にOpenNTF Domino API プロジェクトに出会いましたが、Java API があるようです。これを使用する必要がありますか?

外部サーバーの観点から Domino にアクセスする最良の方法は何ですか? 私は C/C++ API にこだわっていますか、それとも比較的 (理解しやすく、使いやすい) REST/Java API を活用できるでしょうか? また、API (C/C++ または Java) を呼び出せるように、ミドルウェア サーバーに Notes クライアントをインストールする必要がありますか?

4

1 に答える 1

15
  1. 次の場合を除き、Notes C および C++ API は使用しないでください。
    • Lotus Notes と Domino を本当によく知っている (または、すぐに多くのことを学ぼうとする)。
    • 問題を解決する唯一の方法は、Domino サーバー タスクまたは拡張機能を作成することであると判断しました。これらの API は、Lotus Notes/Domino のデータを非常に低いレベルで処理します。
  2. はい、Java API があります。それは何年も前からあります。Java (または HTTP 接続を確立できるその他の言語) からアクセスできる REST API もありますが、それが登場してまだ数年しか経っていません。
    • Java API はより豊富で、REST API よりも低いレベルに達することができます。
    • 必要なものには REST API で十分かもしれませんが、サーバーがメールボックスにアクセスできるように特別に設定する必要がある可能性が非常に高くなります。Java API を使用する場合は、必ずしもそうではありません。
    • Java API の使用は、Lotus Notes/Domino のコア コードがインストールされているマシンで Java コードを実行できるかどうかによって異なります。また、それに関する技術的およびライセンスに関する質問を調査する必要があります。
    • Java API について理解を深める良い方法は、Bob Balaban の本を読むことです。古くて時代遅れですが、説明した目的のために知っておく必要があることのほとんどをカバーしています。1 つの注意点は、非常に早い段階で作成されたため、recycle()呼び出しの必要性をカバーしていないことです。しかし、彼は無料でダウンロードできるように章をここに投稿しました。について知ったのでrecycle()、いつ、なぜそれが必要なのかについての情報を見つけることができると確信しています.
  3. OpenNTF Domino API は、公式の Java API をオープン ソースで置き換えるものです。多くの本当にしつこい問題 ( recycle()! など) を解決するために構築されており、公式 API の使用の制限が実行されます。

Re: ポイント 2 で Lotus Notes/Domino のコア コードについて言及したときに言及したノーツ クライアントのインストールです。公式の Java API には 2 つのオプションがあります。

  1. ローカル:
    • これはコア ノーツ/ドミノ コードを使用してサーバーへのノーツ RPC 呼び出しを行うため、ノーツ クライアントまたはドミノ サーバー コードのライセンス バージョンをインストールしてコア コードを取得する必要があります。
    • 64 ビットの JVM に関連付けられている場合は、64 ビットのコードが必要です。つまり、64 ビットのノーツ クライアントがないため、ノーツ クライアントの代わりにドミノ サーバーをインストールする必要があります。
  2. リモート:
    • Notes または Domino コードをインストールする必要はありませんが、これは Notes RPC の代わりに CORBA/IIOP を使用してサーバーと通信します。これには、Domino サーバーで IIOP を有効にする必要があります。
    • 前回確認したところ、OpenNTF API は「ローカル」モデルのみをサポートしていました。

ただし、言及する必要があります。これは、次の理由でトピックから外れている可能性があります。

書籍、ツール、ソフトウェア ライブラリ、チュートリアル、またはその他のオフサイト リソースを推奨または検索するように求める質問は、独断的な回答やスパムを引き付ける傾向があるため、Stack Overflow のトピック外です。代わりに、問題とそれを解決するためにこれまでに行われたことを説明してください。

Java API の存在は StackOverflow を検索することで簡単に確認できますが、Domino の基本的なリファレンスを見つけるのはかなり難しいことを認めざるを得ません。そこには文字通り25年分の情報がありますが、断片的で時代遅れになっていることがよくあります. 現在利用可能な最新のツール、API、ライブラリに関する情報を見つけるのは非常に困難です。オプションは本当にかなり限られています。

そのため、この質問は実際には意見に帰着しないため、回答に値すると思います。ただし、それは本当に意見になるので、推奨するつもりはありません。

于 2015-06-12T03:32:19.667 に答える