My question is regarding Domino Agents, Trusted Servers and DIIOP. Before I describe the question, let me give me a bit of background -
I am creating an application that integrates with Domino and is able to delete certain emails from certain user mailboxes.My initial design and implementation was to write all my application on a middleware server (different from the Domino server) and via DIIOP and Java API setup a session with the Domino server remotely and delete the appropriate email message remotely. In the current deployment environment the customer has multiple Domino mail servers and for my current design/solution to work, the customer will have to open up/enable DIIOP on all of the Domino mail servers so that the solution is able to delete the appropriate email from appropriate Domino mail server. Opening up / Enabling DIIOP on all their mail servers is not something the customer is comfortable with and hence I am at a place where I need to redesign my solution.
To suffice this requirement - based on my research, I feel that I could get around this limitation (not running DIIOP on all Domino mail servers) by converting my solution to an "Agent" model. My agent will run on one of the Domino servers and from there it can access the database/mail document on any server and delete the same. My current thought is I will invoke the agent via a URL from the middleware server which will serve as a trigger for my agent and then the agent will go ahead and access and delete the appropriate mail document. See screenshot below for reference on the "Trusted Servers" element which seems to be designed to allow an agent to access databases on another Domino mail server.
My questions are the following -
If I go ahead with this Agent design model, then when the agent running on DominoMailServer1 attempts to open/access databases on DominoMailServer2, does that connection not go through DIIOP? With this architecture there is no need to enable/open up DIIOP on the DominoMailServer2? Is this communication happening through some other RPC mechanism or is it some underlying OS level file sharing mechanism that the agent executing on DominoMailServer1 (behind the scene) uses to access the database on DominoMailServer2?
With my initial design (my solution on middleware server communicating via DIIOP with all individual servers) - Is there any way to augment/modify that initial design so that there is no need to open up DIIOP on all of the Domino mail servers in the environments and still accomplish accessing/deleting emails?