Init() - Detailliert

Die einfache Init()-Methode funktioniert nur mit .Net-Framework, da sie versucht sich mit dem aktuellen Windows-Benutzer anzumelden und den ersten verfügbaren DMS-Server auswählt.

Auswahl des richtigen DMS-Servers

Die Init()-Methode hat einen optionalen Parameter zur Auswahl eines bestimmten DMS-Servers. Es gibt Umgebungen, in welchen mehr als ein DMS-Server an einem LEXolution Service Bus angeschlossen sind. Dann ist es notwendig sich für einen davon zu entscheiden. Der SystemSelection-Parameter existiert in allen Überladungen der Init-Methode als optionaler Parameter. Wird er nicht angegeben (null), wird die Strategie First verwendet.

var systemSelection = SystemSelection.Id(databaseId);
dms.Init(systemSelection); 

Es gibt zwei möglich Auswahlstrategien, welche über statische Methoden an SystemSelection aufgerufen werden können:

First

SystemSelection.First() Es wird das DMS-System verwendet, welches sich als erstes meldet. In Umgebungen mit nur einem DMS-Server ist das die einfachste Variante. Sollten aber mehrere DMS-Server vorhanden sein, ist dies keine sinnvolle Strategie.

Id

SystemSelection.Id(databaseId) Hiermit wird erst dann eine Verbindung hergestellt, wenn sich genau das angegebene DMS-System meldet. Alle anderen werden ignoriert. Die databaseId steht in der am DMS-Server angeschlossenen Datenbank in der Tabelle tblDatabaseId. Sollte es sich bei dem DMS-System um einen Cluster handeln, also mehrere DMS-Server, welche alle an derselben Datenbank angeschlossen sind, dann wird die Verbindung zu dem Serverknoten des Clusters hergestellt, welcher sich als erstes meldet.

Anmeldung mit bestimmten Benutzer

dms.Init(username, password, systemSelection); 

Die Anmeldung erfolgt mit dem angegebenen Benutzer sowohl im STP-Usermanagement, als auch direkt im DMS-Server. Je nach Verfügbarkeit wird automatisch eines der beiden Anmeldesysteme verwendet. Allerdings steht nur im Falle des STP-Usermanagement später auch die Impersonierung (bei entsprechender Berechtigung des Benutzers) zur Verfügung.

Anmeldung an einer existierenden Queue

Existiert in der Anwendung bereits eine authentifizierte (STP-Usermanagement) und verschlüsselte Verbindung zum LEXolution Service Bus, kann diese Verbindung auch für die API verwendet werden.

dms.Init(existingServiceQueue, systemSelection);

Es wird aber empfohlen eine separate Queue für die Api zu verwenden, damit diese später einfach aufgeräumt werden kann und ggf. die Impersonierung nicht mit anderen Verwendern kollidiert.

Überprüfung der LSB Verfügbarkeit

Die API verwendet LSB (RabbitMQ). Die Verfügbarkeit dieser Übertragungstechnologie kann leicht ermittelt werden:

var lsbActive =  dms.IsLsbAvailable();

Im Hintergrund wird die Funktion des LSBs QueueFactory.IsLsbAvailable() mit den relevanten Parametern aufgerufen.

Überprüfung der Erreichbarkeit des DMS Servers

Abfragen, ob der DMS Server erreichbar ist:

var serverAlive =  dms.IsDocumentsOnPremiseServerAlive();

Verknüpfung mit