Während bislang sich der TaxViewer über die API mit enaio ausgetauscht hat, findet bei neueren Implementationen die Kommunikation mit allen Umsystemen, und somit auch anderen Archivsystemen und beliebigen Steuerfachapplikationen, über die ActiveMQ statt.
Was ist die ActiveMQ?
Die Apache ActiveMQ ist eine Implementation des Java Message Servie (JMS), die eine asynchrone Kommunikation zwischen den verschiedenen Anwendungen innerhalb eines Netzwerks ermöglicht. Die ActiveMQ übernimmt somit die Rolle eines Servers, während die anderen Anwendungen als JMS-Clients betrachtet werden. Die Clients sind sowohl Producer als auch Consumer. Sobald der Consumer die Nachricht des Producers empfangen hat, wird diese aus der Queue gelöscht. Somit wird sichergestellt, dass jede Nachricht nur einmal verarbeitet wird.
Was spricht für den Einsatz der ActiveMQ?
Neben der unkomplizierten Handhabung und der freien Lizenz der ActiveMQ ist der JMS-Standard weit verbreitet und bekannt. Somit wird es einfacher den TaxViewer in bestehende Systemlandschaften einzubinden und anstatt viele individuelle Schnittstellen zu Steuersoftware und Archivsystem zu pflegen muss nur die ActiveMQ als zentrale Middleware gewartet werden.
Die ActiveMQ kann ausserdem über Talend angesprochen werden. So können wir über Talend-Strecken die Queue abhören und aus eingehenden Nachrichten Aktionen beispielsweise in enaio oder dem TaxViewer auslösen. So kann auch für Applikationen, die nicht in der Lage sind direkt mit der ActiveMQ zu kommunizieren, auf unkomplizierte Art und Weise via Talend eine API zur Verfügung gestellt werden.
Zusätzlich zur direkten Kommunikation mit der ActiveMQ können externe Applikationen dank Talend auch via Webservice Anfragen an die ActiveMQ absetzen. Dies ist weiter unten in einem Beispiel dargestellt. Alternativ kann auch eine exe bereitgestellt werden, über die eine Anwendung die Parameter zur Anfrage an den TaxViewer absetzen kann.
Ein Beispiel aus dem Arbeitsalltag
In der oben dargestellten Talend-Strecke haben wir einen “Connector” zu einer externen Anwendung an die ActiveMQ erstellt. Dazu wird ein Webservice genutzt, der per REST Daten abruft. Diese werden in ein XML Format gebracht und in er mit Produce
angeschriebenen Komponente in die ActiveMQ gestellt.
Von hier aus wird im Erfolgsfall eine positive Rückmeldung wieder via REST Response
an den Webservice zurückgegeben. Bei einem Fehler wird ein Fehlercode zurückgegeben.