eBiss erlaubt die programmatische Anbindung beliebiger Backend-Systeme über die BackendObjectRetriever und -Transmitter Jobsteps. Hierzu muss ein passendes Backend-Objekt implementiert werden, welches von den Jobsteps verwendet wird um Daten mit dem Backend auszutauschen. Eine Beschreibung der Backend-Jobsteps finden Sie hier.
Die Basis für die Implementierung aller Backend-Objekte ist ein .NET 4.5 Projekt (Projektvorlage „Klassenbibliothek“). Die daraus erzeugte .dll muss in ./Plugins Verzeichnis unterhalb der eBiss Installationsverzeichnisses abgelegt werden.
Der BackendObjectRetriever(Ex) verwendet Backend-Objekte welche das „IBackendObjectSender“ (oder ein davon abgeleitetes) Interface implementieren.
Der BackendObjectTransmitter(Ex) verwendet Backend-Objekte welche das „IBackendObjectReceiver“ (oder ein davon abgeleitetes) Interface implementieren.
Die für die Erstellung relevanten Schnittstellen befinden sich in der eBiss.Api.dll zu der eine Referenzen in dem .NET Projekt hinzugefügt werden muss. Hierbei ist darauf zu achten immer die aktuellste Version der Bibliothek zu verwenden.
public interface IBackendObjectSender { void Initialize(IJob runningJob); bool MoveNext(); IMapObjectRoot Current { get; } }
Standard-Interface für die Verwendung des BackendObjectRetrievers. Das Interface ist wie ein Enumerator über die empfangenen Nachrichten aufgebaut.
public interface IBackendObjectSenderCommitted : IBackendObjectSender { void CommitCurrent(string messageComRef, string messageInfo); void RollbackCurrent(string errorMessage); }
IBackendObjectSenderCommitted erweitert IBackendObjectSender um ein „Transaktionshandling“ empfangene Nachrichten werden per Methodenaufruf entweder als erfolgreich oder fehlerhaft verarbeitet markiert.
public interface IBackendObjectReceiver { bool ReceiveObject(object backendObject); }
Standard-Interface für die Verwendung des BackendObjectTransmitters. Das Interface nimmt Nachrichten die für den Versand bestimmt sind über die ReceiveObject-Methode entgegen.
public interface IBackendObjectTaskAwareReceiver : IBackendObjectReceiver { BackendObjectTaskState BackendObjectTaskState { get; } }
IBackendObjectTaskAwareReceiver erweitert IBackendObjectReceiver um ein einen Fehlerzustand. Mittels der Felder von „BackendObjectTaskState“ können eine Fehlermeldung, ein Wiedervorlagekommentar und ein Wiedervorlagedatum für eine fehlerhaft versandte angegeben werden.
Die nachfolgenden Schnittstellen, werden ebenfalls von den Backend-Jobsteps berücksichtigt:
Erlaubt dem Backend-Objekt (eingeschränkten) Zugriff auf die eBiss Datenschicht.
Erlaubt den Zugriff auf die Systemvariablen des Standard-Systempartners im aktuellen Knoten.
Kann in Kombination mit der Schnittstelle IBackendObjectReceiver verwendet werden, um Variablen des Handelspartners zu übergeben. Die Variablen werden in der folgenden Prioritätenfolge zugewiesen:
D.h., eine Variable „VAT“ bei TemplatePartner überschreibt die gleichnamige Variable „VAT“ vom Default TradingPartner.
Erlaubt den Zugriff auf ein Logging-Objekt mittels dem Fehler, Warnungen und Informationen im Service- und Trace-Log ausgegeben werden können.