Zugriff auf Konfigurationsdaten in
Senderrichtung
Der Zugriff auf Konfigurationsdaten in Senderrichtung (vom angeschlossenen System in Richtung Integration Server oder PCK) erfolgt auf eine andere Weise als in Empfängerrichtung, weil in Senderrichtung die ID des Kommunikationskanals unbekannt ist.
Der erste Verarbeitungsschritt Ihres Adapters ist, mit Hilfe des LookupManager alle Sender-Kommunikationskanäle zu lesen. Sie können diesen Schritt als Teil der ManagedConnectionFactory implementieren.

Öffnen Sie hierzu SPIManagedConnectionFactory.java und suchen Sie nach der Zeichenkette CS_CHINLU.
Das Beispiel zeigt, dass alle Sender- und Empfängerkommunikationskanäle gelesen und intern gespeichert werden. Verwenden Sie den Callback-Mechanismus, wie er unter CPA-Event-Registrierung beschrieben ist, um die Daten aktuell zu halten.
Das Beispiel enthält außerdem das Attribut adapterStatus. Ihr Adapter sollte dieses globale Attribut mit den Ausprägungen Aktiv/Inaktiv in den Adaptermetadaten enthalten.
Die ManagedConnectionFactory liest zuerst alle Sender-Kommunikationskänale, erzeugt dann einen oder mehrere J2EE Application Threads für die Eingangsverarbeitung und stellt dann die physikalische Verbindung für jeden Kanal her.
In Abhängigkeit vom externen Protokoll gibt es nun folgende Möglichkeiten, die eingehende Message zu verarbeiten:
· Statisch
Eine feststehende Kombination aus Partner und Service schickt diese Messages durch den Kommunikationskanal. In diesem Fall kann der Adapter die Adressinformationen aus der Kommunikationsvereinbarung ermitteln.

Öffnen Sie hierzu SPIManagedConnectionFactory.java und suchen Sie nach der Zeichenkette CS_AMCPA.
· Dynamisch
Unterschiedliche Partner und Services schicken durch diesen Kanal Messages an den Integration Server. In diesem Fall müssen alle Daten zu den Kommunikationskanälen erneut durchsucht werden, damit die Message in den korrekten Kommunikationskanal eingestellt wird.

Öffnen Sie hierzu SPIManagedConnectionFactory.java und suchen Sie nach der Zeichenkette CS_AMMSG.
Die Eingangsverarbeitung kann in den Modulen fortgesetzt werden. Die Konfiguration der Sicherheitseinstellungen erfolgt analog zur Empfängerrichtung.
Sie können für einen Sender-Service vom Typ Business-Service oder Business-System den Zugriff auf die Laufzeitumgebung auf bestimmte Benutzer einschränken.
Zur Laufzeit findet dann eine Berechtigungsprüfung vor der Eingangsverarbeitung der Message statt. Hierbei wird sichergestellt, dass Messages, die den Service als Sender im Message-Header eingetragen haben, nur von den angegebenen Benutzern im Integration Server bzw. in der Adapter-Engine ausgeführt werden dürfen.
Diese Zugriffskontrolle kann in der Sendervereinbarung für den Adapter weiter eingeschränkt werden. Dort können ebenfalls zugeordnete Benutzer angegeben werden.
Die Berechtigungsprüfung wird immer erst auf Service- und dann auf Sendervereinbarungs-Ebene vorgenommen. Führen Sie die Prüfung folgendermaßen durch:
· Erste Überprüfung auf Service-Ebene
¡ Falls ACL(Service) nicht leer ist
¡ Falls der Benutzer nicht in der Liste der zugeordneten Benutzer für den Service ist
Dann weisen Sie die Message zurück
· Zweite Überprüfung auf Ebene der Sendervereinbarung
¡ Falls ACL(Agreement) nicht leer ist
¡ Falls der Benutzer nicht in der Liste der zugeordneten Benutzer für die Sendervereinbarung ist
Dann weisen Sie die Message zurück.
Diese Berechtigungsprüfung kann von Adaptern, die über ein Benutzer-/Kennwortkonzept (basic authentification) verfügen genutzt werden. Es kann geprüft werden, ob der authentifizierte Benutzer die Berechtigung hat, für den angegebenen Service zu senden.
Folgende API-Methoden stehen zur Verfügung:
· lookupManager.getServiceUserByPartyService(..)
· lookupManager.getServiceUserByService(..)
· lookupManager.userHasPermission(String user, Binding binding)
Details zu den Methoden finden Sie in der JavaDoc.
Siehe auch: Service, dort unter Zugriffskontrolle über Zugeordnete Benutzer