Oft stehen Unternehmen vor dem Problem, dass Sie für verschiedene Bereiche eine Standardsoftwarelösung im Einsatz haben, welche für ihre Anforderungen sehr gut ausgelegt ist. Wenn das Unternehmen wächst oder sich organisatorisch verändert, wird der manuelle Datenaustausch zwischen den Standardsoftwarelösungen meist immer mehr zur Qual und die Fehleranfälligkeit wächst. Fehler und ungleiche Daten können die Effizienz und den Kundenservice verringern bzw. gefährden und das einheitliche Datenmanagement ist langfristig nicht mehr sichergestellt und führen zu Mehraufwänden im Reporting. Hier kann ein individuell abgestimmtes Tool für die Synchronisation der verschiedenen Softwarelösungen Abhilfe schaffen und so Kundeninformationen und andere Daten in verschiedenen Systemen einheitlich gehalten werden.
Wie ist das beste Vorgehen?
Um eine Synchronisation von Standardlösungen sinnvoll zu gestalten, muss man zuerst ein paar Abklärungen treffen, um den Umfang und eine adäquate Umsetzung ermitteln zu können:
- Was für Daten sollen synchronisiert werden (Art & Menge)?
- Welche Systeme sind involviert?
- Wie zeitnah müssen die Daten synchronisiert werden?
- Womit kann man die Daten zusammen identifizieren bzw. abgleichen?
- Warum sollen die Daten synchronisiert werden und was sind mögliche Risiken?
- Welches ist das führende System?
Wenn man diese sechs Fragen beantwortet hat, kann man mit den technischen Detailabklärungen beginnen. Hierbei stehen Datenzugriff und die API (Schnittstelle) der Software bei der Analyse im Mittelpunkt. Dabei ist jede der Fragen wichtig, damit das Intervall der Synchronisation, die Menge der Daten und Änderungen, sowie die verwendeten Technologien optimal auf das Kundenbedürfnis ausgerichtet werden können. Die Zielsetzung wie bspw. Zeit einsparen, Reduktion der Doppelerfassung sollte stets bei der Analyse berücksichtigt werden.
Welche Technologien sind zu berücksichtigen/verwenden?
Wenn alle benötigten Abklärungen bezüglich Schnittstelle der Standardlösungen gemacht wurden und man sich einen Überblick über die Daten verschafft hat, gilt es zu evaluieren was für Technologien zum Einsatz kommen. Ob man nun einen WebHook oder eine Konsolenapplikation verwendet, welche eine API ansprechen, ist immer von den verschiedenen Faktoren abhängig.
Exkurs & Beispiel
WebHook bedeutet, dass man als Empfänger von der Quelle mit den Updates “beliefert” wird. Man “hooke” mich als Empfänger ein und wird von der Quelle beliefert. Bei einer Konsolenapplikation holt man, als Zielsystem, die Daten an der Quelle ab.
Wenn es sehr viele Daten sind und die Änderungen nicht über einen WebHook gesendet werden können, muss man weitere Massnahmen ergreifen, um die Änderungen schnell genug auszulesen. Dies kann mittels asynchroner Programmierung, Parallelisierung, Aufteilung der Synchronisation oder auch Einschränkung der zu prüfenden Daten erreicht werden. Dies funktioniert nur mit guter Kommunikation und dem Verständnis für das individuelle Ziel des Kunden.
Was gibt es zu beachten und wo muss man ein besonderes Augenmerk drauflegen?
Insbesondere wenn grosse Datenmengen synchronisiert werden müssen, können Schnittstellen der Standardtools wie elastic.io, mule soft, dell boomi etc. schon mal an ihre Grenzen stossen. Allem voran dann, wenn die Datensätze einzeln abgefragt oder geprüft werden müssen und somit tausende Abfragen nötig sind. Dabei ist immer zu beachten, dass die Softwarelösungen während einer Synchronisation nicht zu sehr ausgelastet sind und der Anwender deshalb schlecht oder gar nicht damit arbeiten kann. Auch für dieses Problem haben wir eine Lösung und reduzieren die Anzahl der Abfragen auf ein Subsystem in dem Mass, dass ein Arbeiten während einer Synchronisation stets uneingeschränkt möglich ist.
Ebenso kann es eine Hürde sein, falls sehr viele Daten synchronisiert werden, dass einzelne Abfragen nicht synchronisiert werden. Dies kann durch ein Netzwerkfehler, kurzzeitige Überlastung auf dem Server oder sonst einen serverseitigen Fehler passieren. Da dies zu einem Fehler in der Anwendung führt, wird es bei herkömmlichen Tools meist einfach übersprungen und die Daten werden nicht synchronisiert. Besser jedoch ist, wenn man dafür eine “Retry-Policy” erfasst und festlegt, dass nach einem festgelegten Intervall die Abfragen erneut gesendet wird. Dadurch ist sichergestellt, dass die Synchronisation erfolgt oder man bei informiert wird falls die Synchronisation aufgrund von Serverfehlern abgebrochen wurde.
Im Vergleich kann bei einer individuellen Lösung, ein adäquater Weg für die Umsetzung gefunden werden, sei es API’s auf beiden Seiten miteinander zu verbinden oder bei älteren Applikationen einen Datenaustausch per Files durchzuführen. Bei den marktüblichen Sync Tools wie mule soft, dell boomi usw. erreicht man meist gute Resultate und kann auf vorhandener Infrastruktur aufbauen. Jedoch fallen laufende Kosten an und zusätzlich wird eine hohe Abhängigkeit zur Lösung aufgebaut. Aus diesem Grund sollten eine sorgfältige Konzeption und Analyse im Vorfeld in Betracht gezogen werden.
Gerne stellen wir Ihnen die Vorteile und Machbarkeit der Daten Synchronisation auf ihre im Einsatz befindende Standardsoftwarelösung vor und erläutern Ihnen gerne unsere detaillierte Vorgehensweise bei einem persönlichen Gespräch. Nehmen Sie Kontakt mit uns auf.