0

Мой вопрос касается агентов Domino, доверенных серверов и DIIOP. Перед тем, как описать этот вопрос, позвольте мне дать мне немного фоне -Агенты и доступ к доверенному серверу

Я создаю приложение, которое интегрируется с Domino и способно удалять определенные письма от определенного пользователя mailboxes.My первоначального дизайна и внедрение было написать все мое приложение на сервере промежуточного программного обеспечения (отличное от сервера Domino), а через DIIOP и Java API удаляют удаленную удаленную удаленную связь с сервером Domino и удаляют соответствующее электронное сообщение. В текущей среде развертывания клиент имеет несколько почтовых серверов Domino и для работы моего текущего проекта/решения, клиент должен будет открыть/включить DIIOP на всех почтовых серверах Domino, чтобы решение могло удалить соответствующий адрес электронной почты с соответствующего почтового сервера Domino. Открытие/включение DIIOP на всех своих почтовых серверах не является чем-то удобным для клиента, и поэтому я нахожусь там, где мне нужно переконфигурировать мое решение.

Чтобы удовлетворить это требование - основываясь на моих исследованиях, я чувствую, что могу обойти это ограничение (не запускать DIIOP на всех почтовых серверах Domino) путем преобразования моего решения в модель «Агент». Мой агент будет работать на одном из серверов Domino, и оттуда он может получить доступ к базе данных/почтовому документу на любом сервере и удалить его. Моя нынешняя мысль заключается в том, что я вызову агента через URL-адрес с сервера промежуточного программного обеспечения, который будет служить триггером для моего агента, а затем агент продолжит доступ и удалит соответствующий почтовый документ. См. Снимок экрана ниже для ссылки на элемент «Доверенные серверы», который, как представляется, предназначен для предоставления агентам доступа к базам данных на другом почтовом сервере Domino.

Мои вопросы являются -

  1. Если я иду вперед с этим агентом разработки модели, а затем, когда агент работает на DominoMailServer1 пытается открыть базы данных/доступ на DominoMailServer2, делает это соединение не идти через DIIOP? С этой архитектурой нет необходимости включать/открывать DIIOP на DominoMailServer2? Происходит ли это общение через какой-либо другой механизм RPC или это какой-то базовый механизм обмена файлами на уровне ОС, который агент, выполняющий на DominoMailServer1 (за сценой), использует для доступа к базе данных на DominoMailServer2?

  2. С моей первоначальной конструкцией (мое решение на сервере промежуточного уровня, осуществляющее связь через DIIOP со всеми отдельными серверами). Есть ли способ увеличить или изменить этот первоначальный проект, чтобы не было необходимости открывать DIIOP на всех Domino почтовых серверов в средах и все еще выполнять доступ/удаление писем?

Trusted Server Support For Domino Agent

ответ

2

Когда агент работает на DominoMailServer1 подключается к DominoMailServer2, он использует NRPC - в prorprietary протокол, который Лотос изобретен в конце 1980-х годов, что позволяет Lotus Notes и Domino, а также API Notes C, что лежит под ними (и под внедрением всех других API-интерфейсов, которые работают с данными Notes), для связи на разных платформах и типах сетей. NRPC в сетях TCP/IP (которые в действительности актуальны в наши дни) работает на порту 1352.

На вопрос 2 вам не нужно использовать DIIOP. Ваш код Java может использовать Notes.jar вместо NCSO.jar. Однако для использования Notes.jar на компьютере, где работает ваш код, должен быть установлен код Notes или Domino. Если это компьютер Windows, вы можете установить клиент Notes. Если это не Windows, вы можете установить код сервера Domino для любой платформы, считая, что это один из тех, который поддерживает IBM.Код должен быть установлен, и его необходимо настроить, но он не должен работать для вашего кода Java для работы. Весь ваш Java-код фактически будет использовать базовые библиотеки DLL или библиотеки вместе с файлом id для целей аутентификации, и это позволит Notes.jar использовать NRPC. Вам нужно будет проверить у своих менеджеров Notes/Domino и, вполне возможно, со своим представителем IBM о любых возможных последствиях лицензирования. IMHO, поскольку ваш код действует как клиент, его следует считать клиентом, даже если он использует библиотеки, которые поставляются с установкой сервера, - но я не могу сказать вам, соглашается ли IBM с этим или нет.

Кстати, даже если вы не спрашивали ... Доверенная настройка сервера делает то, что вы предполагаете. Он позволяет агентам на одном сервере Domino обращаться к базам данных и документам на другом сервере Domino. До Domino 6 это было запрещено, поскольку агент связался с другим сервером через NRPC, другой сервер не имел возможности узнать, чьи права должны использоваться для определения уровня доступа, который был предоставлен. Весь целевой сервер знал, был ли тот сервер, который делал запрос. Даже если сервер-агент сообщил целевому серверу, которому принадлежит агент, целевой сервер не будет доверять этой информации, поскольку это может быть ярлык вокруг сильной аутентификации. Обычно требуется Notes и Domino. Настройка доверенного сервера была реализована для идентификации серверов, которым доверяет Донино, когда они передают идентификационную информацию, связанную с агентом.

+0

Фантастический отклик. Спасибо, Ричард. Я попытаюсь взглянуть на подход Notes.jar (без DIIOP), который вы упомянули, а затем решите мой путь вперед ... – user3873843

+0

Еще одна вещь, которая стоит упомянуть: есть замена с открытым исходным кодом для Notes.jar на веб-сайте openNTF сайт. Он называется OpenNTF Dominpo API. Это улучшает множество раздражающих аспектов использования стандартных классов из notes.jar - например, нет необходимости вызывать recycle(), чтобы освободить память Notes, о которой не знает Java GC. Он все еще полагается на наличие установленной версии Notes или Domino. http://www.openntf.org/main.nsf/project.xsp?r=project/OpenNTF%20Domino%20API –

+0

Спасибо, Ричард. Я чувствую, что модель Агента будет работать лучше для меня. Мой сервер промежуточного уровня - это сервер на базе CentOS. у клиента Notes, похоже, есть версия RHEL, которая, скорее всего, будет работать на CentOS ... Я не пробовал устанавливать и видеть, работает ли она на CentOS, но я думаю, что может представить свои собственные проблемы, и поэтому я склонен идти с подход Агента ... – user3873843