BI für das Ereignis-Management
Itransition entwickelte eine einheitliche BI-Lösung mit einer breiten Abdeckung der Vorfallanalyse und flexiblen Anpassungsmöglichkeiten.
Inhaltsverzeichnis
Kontext
Lloyd's Register ist ein globales Unternehmen für Risikomanagement und Sicherheit, das 1760 gegründet wurde, um die Sicherheit von Schiffen zu verbessern. Das Unternehmen ist spezialisiert auf Klassifizierungs- und Compliance-, Ingenieur- und Technologiedienstleistungen für Schifffahrts- und Offshore-Unternehmen. Lloyd's Register ist an mehr als 70 Standorten tätig und betreut Kunden aus 182 Ländern.
Der Kunde verfügt über ein umfangreiches Ökosystem von Softwareprodukten, aber es fehlte ein Dienst zur Sammlung und Analyse von Informationen über Vorfälle. Das Unternehmen stellte sich eine Lösung vor, bei der die Kunden Vorfallsdaten aus verschiedenen Quellen hochladen und flexible analytische Berechnungen und Visualisierungen erhalten können.
Ein weiteres Problem bestand darin, dass der Kunde über mehrere Lösungen mit ähnlichen Technologie-Stacks verfügte, die unabhängig voneinander gehostet und eingesetzt wurden und ihre eigene Datenbank nutzten. Die Wartungs- und Supportaktivitäten für die Lösungen waren unterschiedlich, und die Aktualisierung neuer Funktionen war aufgrund der unterschiedlichen Architekturen kompliziert. Jede Lösung war auf die Bedürfnisse und die Struktur der Datensatzverarbeitung des jeweiligen Kunden zugeschnitten, so dass der Kunde benutzerdefinierte Vorlagen für verschiedene Berichtstypen und die Geschäftslogik der Berichtsverarbeitung erstellen musste.
Anstattdessen wollte der Kunde ein universelles System für alle Kunden schaffen, das verschiedene Arten von Berichten verarbeiten und visualisieren sollte. Schließlich beschloss er, die derzeitigen Lösungen zu einem einzigen skalierbaren System mit leistungsstarken Anpassungsmechanismen zu kombinieren, um den Anforderungen aller Kunden gerecht zu werden.
Der Kunde war auf der Suche nach einem erfahrenen Technologiepartner, um seine Idee in die Realität umzusetzen. Da er bereits in mehreren anderen Projekten mit Itransition zusammengearbeitet hatte und unsere BI-Beratungskompetenz, verstärkt durch das BI-Kompetenzzentrum und zahlreiche erfolgreich gelieferte Lösungen, in Betracht zog, wählte der Kunde uns für das Projekt.
Lösung
Übersicht
Itransition entwickelte eine einheitliche, skalierbare BI-Lösung, die von jedem Kunden über eine Benutzeroberfläche leicht angepasst werden kann. Wir haben die Funktionalität der bisherigen Lösungen erweitert und verbessert und neue Funktionen hinzugefügt. Dieser flexible Ansatz ermöglichte es uns, Einschränkungen bei den Berichtstypen zu beseitigen, wobei jedes Unternehmen die entsprechenden Vorlagen verwenden kann. Die Funktionalität der Lösung kann auch erweitert und geändert werden, wenn sich die Geschäftsanforderungen ändern.
Die Benutzer der Lösung sind die Mitarbeiter der Endkunden, die analytische Berichte in einem Format erstellen und versenden müssen, das in ihren Abteilungen gebräuchlich ist, und eine geeignete Berichtskonfiguration entwickeln. Als Webanwendung unterstützt die Lösung auch ein adaptives Design für Tablets und Smartphones.
Die BI-Lösung besteht aus:
- Dashboard
Es visualisiert die Daten der Vorfallanalyse in Form von Grafiken, Diagrammen und Schaubildern und enthält eine geografische Karte mit den Gesamtinformationen zu jedem Objekt und den zugehörigen Vorfällen. Das Dashboard unterstützt historische Daten und zeigt auch die Dynamik für jeden Abschnitt an. Es umfasst die folgenden Funktionen:eine Reihe von Widgets zur Datenvisualisierung, die für jeden Kunden gemäß der vorherigen Vereinbarung vorinstalliert sind und eine für sein Unternehmen spezifische Terminologie verwenden;
ein flexibles System zur Datenfilterung;
persönliche Tracker zur Überwachung geschäftsspezifischer Parameter;
ein Terminologiewörterbuch.
- Dashboard-Konfigurationswerkzeug
Das Tool ermöglicht die Änderung der Layoutanordnung, der Elementabmessungen, des Vokabulars der Widgetbegriffe und anderer Elemente. - Tool zum modularen Hochladen von Kundendaten
Das Tool kann sich die Struktur von Dateien merken, um sie in Zukunft automatisch mit dem Datenmodell des Kunden abzugleichen.
Daten hochladen und aktualisieren
Das kundeneigene Datenmodell ist ein Vorfallsklassifizierungssystem, das den Ort des Vorfalls, sein Datum und seine Uhrzeit sowie die Geschäftsabteilung, in der er sich ereignet hat, definieren kann. Darüber hinaus verfügt es über einen zusätzlichen Satz spezifischer Metadaten, die zur Bestimmung von Vorfallsdetails verwendet werden, wie z. B. die Art des Vorfalls, wie er sich ereignet hat, seine geografische Lage usw., wobei der Umfang der Metadaten von den Endkunden im Voraus genehmigt wird.
Das System zur Klassifizierung von Vorfällen hat eine Baumstruktur, in der die Vorfälle in Kategorien und Unterkategorien unterteilt sind. Die Algorithmen der Lösung berücksichtigen diese Struktur, um die Daten korrekt zu verarbeiten und zu visualisieren.
Da die vorherigen Lösungen verschiedene Datenbanken verwendeten, was zu einigen Problemen führte, entschied sich der Kunde für Microsoft SQL Server als Datenbank, da es ein strengeres und gut formalisiertes Datenmodell hat. Da die Datenbank tabellenbasiert ist, eignet sie sich besser für vordefinierte Schemata und Anwendungen, die mehrzeilige Operationen erfordern. Darüber hinaus unterstützt sie Fremdschlüssel (die Felder, mit denen die Beziehungen zwischen zwei Tabellen hergestellt werden können) und verfügt über einen strengen Satz von Spalten in einer Tabelle, der mit dem klar definierten Datenmodell des Kunden übereinstimmt.
Die Wahl der Datenbank vereinfachte auch die Architektur und reduzierte die Anzahl der Abhängigkeiten. Bei der Umstellung von MongoDB auf SQL Server haben wir auch die zugehörige architektonische Backend-Logik für die Arbeit mit der neuen Datenbank implementiert, um die Benutzerfreundlichkeit und Leistung zu verbessern. Da wir fast alle Module und Komponenten der Altsysteme überarbeitet haben, entstand eine völlig neue Lösung.
Als Nächstes realisierten wir den komplexen Prozess des mehrstufigen Daten-Uploads durch die Systemnutzer. Das System sieht vor, dass zuerst die Basisdaten hochgeladen werden, gefolgt von den Daten, die die bereits eingegebenen Informationen wiederholen können. So definiert ein Benutzer beispielsweise zunächst die Geschäftsbereiche, die Berichte liefern können, und diese Geschäftsbereiche werden dann in den Vorfallsberichten erwähnt. Zu diesem Zweck haben wir ein Tool für das Hochladen von Daten und die Konfiguration von Vorlagen entwickelt, mit dem Benutzer neue Datentypen hinzufügen können, indem sie Beziehungen definieren und die Dateistruktur an die Entitäten des Datenmodells des Kunden anpassen.
Für eine verbesserte Benutzererfahrung haben wir eine flexible UI-Lösung mit Drag-and-Drop-Funktionen implementiert, die durch das React DnD-Dienstprogramm ermöglicht wird. Benutzer können Vorlagen erstellen und diese im System zur weiteren Verwendung speichern. Die Mitarbeiter können auch Dateien mit der gleichen Struktur wie CSV, XLS und andere Formate hochladen, wobei das System diese genau erkennt. Die Lösung unterstützt modulare Uploads von Berichten, so dass die Kunden nicht alle Arten von Daten auf einmal hochladen müssen, da jede Geschäftseinheit nur ihren Teil der Datensätze haben kann und diese unabhängig voneinander hochladen würde. Wir haben auch Unterstützung für Batch-Uploads von Daten in beliebiger Menge und so oft wie nötig realisiert. Die in den hochgeladenen Dateien enthaltenen Daten werden dann in Widgets, Grafiken, Diagramme und Tabellen umgewandelt und im Dashboard angezeigt.
Die Klassifizierung von Vorfällen erfolgt mit Hilfe von Algorithmen zur Verarbeitung natürlicher Sprache auf Kundenseite und der Azure Machine Learning API. Auf der Grundlage der Textbeschreibung des Vorfalls bestimmt das System seine Kategorie, weist den hochgeladenen Berichten relevante Tags zu, klassifiziert sie und zeigt sie in den endgültigen Berichten an. Vorfälle können in verschiedene Kategorien eingeteilt werden, wie z. B. ihre Ursache, der entstandene Schaden, verwandte Themen usw.
Wir haben auch einen Mechanismus zur Aktualisierung und Synchronisierung hochgeladener und gespeicherter Daten implementiert. Um das Problem zu vieler gleichzeitiger Anfragen an die Datenbank zu lösen, haben wir die Zwischenspeicherung häufig genutzter Entitäten im Arbeitsspeicher der Lösung aktiviert und die Suche in Wörterbüchern genutzt. Die Lösung greift einmal auf die Datenbank zu, um vorhandene Vorfalldaten zu erhalten, vergleicht sie unter Verwendung des Arbeitsspeichers der Lösung und überträgt sie in die Datenbank. Daher müssen Tausende von häufig verwendeten Vorfällen und Klassifizierungsoptionen nicht jedes Mal aus der Datenbank abgerufen werden, was die Anzahl der Anfragen minimiert und die Leistung verbessert.
Wenn zum Beispiel Daten hochgeladen werden, empfängt der Server die Datei und speichert die vorhandenen Vorfälle aus der Datenbank im RAM. Anschließend werden die Einträge aus der Datei und die Vorfälle aus dem Cache durch eine eindeutige Entitätskennung abgeglichen. Dann legt das System einen neuen Vorfall an oder aktualisiert lediglich einige Felder, wenn bereits ein Vorfall vorhanden ist. Dadurch konnten wir die Zeit für das Hochladen von Daten von drei Minuten auf zwei Sekunden reduzieren.
Dashboard und Widgets
Als Nächstes haben wir das Dashboard mit Widgets als Hauptanwendungsseite entwickelt. Der Kunde kann nur die wichtigsten Widgets anzeigen und sie nach Größe konfigurieren, nach Belieben anordnen und neu positionieren und die für sein Unternehmen spezifische Terminologie verwenden. Wir lieferten ein maßgeschneidertes Dashboard, in dem die Administratoren des Kunden Folgendes ändern können:
- Konfiguration der Widgets und ihrer Anordnung
- die Größe der Widgets, Textinformationen und Titel je nach Firmenkunde ändern
- Spalten in Klassifizierungstabellen hinzufügen und entfernen
Unser Team entwickelte auch die Möglichkeit, Dashboard-Konfigurationen zu erstellen und zu bearbeiten. Darüber hinaus haben wir die Lösung mit Google translate integriert, um den hochgeladenen Text mit vorkonfigurierten Parametern automatisch zu übersetzen.
Außerdem haben wir die vorhandenen Widgets für ältere Lösungen verbessert. Zuvor führte jedes Widget zur Visualisierung von Daten eine Reihe von Datentransformationen durch, um Berichte in einer Widget-kompatiblen Ansicht anzuzeigen. Aufgrund übermäßiger und komplexer Datenberechnungsalgorithmen waren diese Transformationen jedoch umständlich und redundant und enthielten unnötige Zyklen und Gruppierungen, so dass die Datenverarbeitung manchmal sehr viel Zeit in Anspruch nahm. Wir haben die Logik dieser Transformationen umgeschrieben und weniger komplexe und effizientere Algorithmen implementiert.
Außerdem haben wir das Karten-Widget erheblich verbessert, indem wir Punkte hinzugefügt haben, auf die die Nutzer klicken können, um alle Informationen über ein bestimmtes Objekt und die zugehörigen Vorfallsberichte anzuzeigen. Im Vergleich zur Vorgängerversion haben wir die Größe des Widgets angepasst und durch die Hinzufügung einer dynamisch wechselnden farblichen Hervorhebung den Nutzern die Möglichkeit gegeben, Aktivitäten in der jeweiligen Region anzuzeigen. Die Lösung unterstützt nun auch die Anzeige historischer Daten in Abhängigkeit von Datum, Vorfallstypen und mehr.
Außerdem haben wir ein Tool zur Erstellung von Trackern hinzugefügt, die mit einer bestimmten Gruppe von Vorfällen verbunden sind und eine detaillierte Zusammenfassung ausgewählter Parameter liefern. Wenn der Kunde nicht alle Daten sehen möchte und lieber mit einem bestimmten Segment arbeitet, kann er bestimmte Parameter im Filterbereich konfigurieren und einen oder mehrere Tracker erstellen. Auf diese Weise können die Benutzer die Dynamik der Vorfälle in einem bestimmten Abschnitt sehen und die zu verfolgenden Werte festlegen. Wenn die definierten Werte erreicht oder überschritten werden, benachrichtigt das System den Benutzer. Die Prognosefunktion visualisiert Trends mithilfe eines Trendberechnungsalgorithmus.
Verfahren
Der Kunde hatte eine allgemeine Vorstellung von der Lösung und erwartete, dass sich unser Team aktiv an der Ideenfindung und Entwicklung beteiligte, so dass wir einen gewissen Spielraum bei der Wahl der Tools und Implementierungsmethoden hatten. Von Zeit zu Zeit wandten wir uns auch an den leitenden Entwickler des Kunden, der für die Entwicklung der früheren Anwendungen verantwortlich war, um den Code zu überprüfen und Ratschläge einzuholen.
Bei dem Projekt arbeiteten wir nach der Scrum-Methodik und hielten tägliche Besprechungen mit dem Kunden ab, um ihn über unsere Fortschritte auf dem Laufenden zu halten. Außerdem haben wir häufig Demos zur Synchronisierung und Diskussion durchgeführt.
Technologien
ASP.NET Core Das Backend der Lösung |
React Das Frontend der Lösung |
Microsoft SQL Server Datenbank |
ORM Entity Framework Core Zur Vereinfachung der Arbeit mit der Datenbank |
MUI-Bibliothek Das UI der Lösung |
Recharts-Bibliothek Darstellungen erstellen |
OpenLayers-Bibliothek Interaktive Karten |
Microsoft Azure Hosting |
Azure DevOps Aufgabenverwaltung, CI/CD und Versionskontrolle |
Azure App Service Webanwendungs-Hosting |
SQL Server App Datenspeicherung |
WebJobs-Dienst Benachrichtigungen über Änderungen des Tracker-Status |
Azure Application Insights Leistungsüberwachung und Protokollierung |
Azure Machine Learning Unfallklassifizierung |
Azure-Speicher-Konto Enthält von Benutzern hochgeladene Ereignisdateien, ermöglicht die Erstellung von Eingabedaten für die API für maschinelles Lernen und speichert deren Ausgabedaten |
ARM-Vorlagen Der Einsatz der Lösung und der zugehörigen Ressourcen |
Google Maps API Integration Geolokalisierung |
Google Translate Integration Automatisierte Übersetzung |
Ergebnisse
Die gelieferte einheitliche BI-Lösung hat eine breite Abdeckung der Vorfallsanalyse rund um den Globus. Sie ermöglichte es dem Kunden, die Zufriedenheit der bestehenden Kunden zu erhöhen, indem sie den Bedarf an Flexibilität und Skalierbarkeit erfüllte und gleichzeitig eine einfache Wartung, Unterstützung und Aktualisierung ermöglichte. Kurz nach der Einführung der Lösung gelang es dem Kunden, einen neuen großen Firmenkunden zu gewinnen, und mehrere andere potenzielle Kunden bekundeten ihr Interesse.
Dienstleistungen
Softwareentwicklung in der Logistik
Informieren Sie sich über das Angebot von Itransition an Software-Entwicklungsdienstleistungen für die Logistik sowie über die besten Lösungen, Technologien und Implementierungsrichtlinien.
Dienstleistungen
Business Intelligence Dienstleistungen und Lösungen
BI-Dienste für Unternehmen, um wertvolle Erkenntnisse aus Geschäftsdaten zu gewinnen, Geschäftsprozesse schnell zu optimieren und Verbesserungsmöglichkeiten zu erkennen.
Fallstudie
Automatisierung robotergestützter Prozesse für ein globales Logistikunternehmen
Erfahren Sie, wie Itransition drei arbeitsintensive Logistikprozesse mit Hilfe von Robotern automatisiert und damit die betriebliche Effizienz des Unternehmens verbessert hat.
Fallstudie
Atlassian-Migration für IATA
Erfahren Sie, wie Itransition Jira Service Desk Cloud implementiert und Altdaten für den Luft- und Raumfahrtverband IATA migriert hat.
Fallstudie
On-Demand-Truck-Sharing-Lösung
PayLoader automatisiert den gesamten Transportprozess von der Auftragserteilung über die Zahlungsabwicklung bis hin zur Verwaltung der Kundenrezensionen.
Fallstudie
Migration der Versandautomatisierungssoftware in die Cloud
Lesen Sie unsere Fallstudie zur Cloud-Migration veralteter Versandsoftware, die den SaaS-Einstieg ermöglichte.