Deploy Lotus Notes Agent auf verschiedenen Domino-Servern
Für Unternehmen Unternehmen mit der Nutzung vieler Domino Server für aktienbasierte laden. Wenn Sie einen Agenten Sie beabsichtigen, auf mehreren Systemen einsetzen zu schaffen, werden Sie feststellen:
- Der Server Namen, auf die Sie brauchen, zu implementieren unterscheiden sich von den Namen Ihres Servers. Darüber hinaus können Sie nicht wissen, die Namen der Server im Voraus.
- Der Agent Entwickler Unterschrift unterscheidet sich von dem Endbenutzer die Unterschrift.
- Die Entwicklungs-Server verfügt nicht über ein Zertifikat gemeinsam mit dem Produktions-Server.
Wir werden verschiedene Ansätze zur Lösung der ersten beiden Fragen, die wiederum machen die Zertifizierung Frage irrelevant aussehen wird.
Ändern Sie den Servernamen
Wenn Sie einen Agenten erstellen, wird der Name des Servers, auf dem der Agent laufen soll in den Agenten gespeichert. Standardmäßig ist der Server-Name des Servers, auf dem Sie die Entwicklung der Agent sind. Für den Agenten auf einem anderen Server laufen, braucht den Namen des Servers zu ändern. Es gibt drei Möglichkeiten, dies zu tun. Der erste Ansatz ist es, Ihre Agenten bereitstellen als behindert. Klicken Sie auf die Schaltfläche Zeitplan in der Agent-Eigenschaften und wählen Sie die Option "Choose Server, wenn Agent aktiviert wird." Wenn der Benutzer zum ersten Mal kann der Agent eine Eingabeaufforderung angezeigt, aus denen der Benutzer einen Server-Namen für den Betrieb der Agenten wählen können.
Der zweite Ansatz ist, um anzugeben, dass der Agent kann auf jedem Server laufen. Dazu können Sie auf die Schaltfläche Zeitplan in der Agent-Eigenschaften ein, und wählen Sie Alle Server in den Run auf dem Feld. Beachten Sie, dass, wenn Sie die Replikation bis sich zwischen verschiedenen Servern und Agenten gesetzt ändert die gleichen Dokumente auf diesen Servern haben, können Sie am Ende mit der Replikation Konflikte. Der folgende Bildschirm zeigt diese beiden Optionen.
Der dritte Ansatz besteht darin, ein Agent, der programmatisch setzt den Namen des Servers von einem anderen Agenten zu schreiben. Um dies zu tun, können Sie den folgenden Code-Fragment:
agent.ServerName=" ServerName " Call agent.save() wobei ServerName der Name des neuen Servers, die Sie aus einer Datenbank gelesen werden können oder erhalten von den Endanwender. Sie benötigen, um den Agenten zu retten, um den Namen des Servers aktualisieren.
Vor Notes / Domino, konnte Agenten nicht manipulieren und speichern Sie anderen Agenten auf dem Server ausgeführt. Ein Agent spart ein anderer Agent durfte nur auf dem Client ausgeführt. Wenn der Agent lief auf dem Server und versucht zu ändern und speichern Sie dann die Agenten, wurde die folgende Fehlermeldung generiert:
11/04/02 05:14:35 PM AMgr: Agent ('DoEnable' in 'test1.nsf') error message: Restricted operation on a server
Das war, weil wir nicht über eine Möglichkeit, die Identität des Benutzers mit dem Agenten auf dem Server geändert assoziiert zu bewahren. (Die Benutzer-ID wurde nicht auf dem Server vorhanden, um erneut zu signieren der Agent mit dieser ID.) In Notes / Domino, ist es nun möglich, dies zu tun, wenn Sie die entsprechenden Rechte haben. Ein Agent kann sich verändern und speichern Sie ein anderes Mittel, wenn beide die gleiche effektive Benutzer (die Identität unter dem der Agent läuft) haben oder wenn die Agenten Unterzeichner sind privilegiert und werden in den genannten Bereich "Sign-Agenten im Namen von jemand anderem run" (ein neues Feld, das Einschränkungen der Programmierbarkeit Abschnitt der Server Dokuments Registerkarte Sicherheit hinzugefügt wurde). Mit anderen Worten, können Benutzer ihre eigenen Agenten ohne besondere Rechte zu ändern, müssen aber besondere Autorität, Mittel von anderen geschrieben zu manipulieren.
Die Unterzeichnung des Agenten
Wenn Sie einen Agenten zu entwickeln, ist Ihre Unterschrift in den Agenten gespeichert. Sie müssen die Signatur des Benutzers zu Ihnen in den Agenten zu ersetzen, so kann der Agent im Hintergrund mit den Rechten des Anwenders ausführen. Es gibt zwei Möglichkeiten, dies zu tun. Beide basieren auf der Tatsache, dass die Aktivierung eines Agenten wieder Anzeichen dafür, dass Agenten mit der Unterschrift der Person, die es ermöglichte basiert. Darüber hinaus erfordern beide Ansätze, dass Sie die Bereitstellung des Agenten als behindert. Der erste Weg beruht auf der Endbenutzer manuell aktivieren den Agenten, indem Sie auf das Kontrollkästchen Aktivieren.
Der zweite Ansatz besteht darin, die Agenten programmgesteuert aktivieren. Das ist besser geeignet, wenn Sie eine große Anzahl von Agenten bereitstellen müssen. In diesem Fall können Sie es vorziehen, ein Agent, der andere Agenten ermöglicht schreiben. Der Endbenutzer läuft dieses Anbieters, die dann ermöglicht alle anderen Agenten. Hier ist der Code, den Sie in Ihrem Agenten gehören zu programmgesteuert aktivieren anderen Agenten müssen:
agent.IsEnabled = True Call agent.save() Sie benötigen, um den Agenten zu retten, um die IsEnabled-Eigenschaft zu aktualisieren. Wie bereits vor Notizen erwähnt / dominoa Agenten konnte nicht manipulieren und speichern Sie anderen Agenten auf dem Server ausgeführt. Ein Agent spart ein anderer Agent durfte nur auf dem Client ausgeführt. Diese Einschränkung wurde in Notes / Domino entfernt worden ist, solange der Benutzer die entsprechenden Rechte hat.
Betrachtet 12971 mal von 3610 Zuschauern













