Ermöglichung einer hochsicheren, erweiterbaren und skalierbaren neuen Auth-Plattform mit OPP AuthN.
Einführung
Ermöglichung einer hochsicheren, erweiterbaren und skalierbaren neuen Auth-Plattform mit OPP AuthN.
Über UKG
Ultimate Kronos Group (UKG) ist ein amerikanisches multinationales Technologieunternehmen mit zwei Hauptsitzen in Lowell, Massachusetts, und Weston, Florida. Sie erbringt Dienstleistungen im Bereich Personalmanagement und Personalverwaltung. Als führender globaler Anbieter von HCM-, Lohn- und Gehaltsabrechnungs-, HR-Service- und Workforce-Management-Lösungen unterstützt UKG mit seinen preisgekrönten Pro-, Dimensions- und Ready-Lösungen Zehntausende von Unternehmen in allen Regionen und Branchen dabei, bessere Geschäftsergebnisse zu erzielen, die HR-Effizienz zu verbessern, den Lohnabrechnungsprozess zu rationalisieren und die Arbeit zu einem besseren und vernetzten Erlebnis für alle zu machen.
Auswirkungen
- Ermöglichung einer hochsicheren, erweiterbaren und skalierbaren neuen Auth-Plattform mit OPP AuthN.
- Eine neue Registrierung ist jetzt mit dem Endpunkt V2 anstelle des alten Endpunkts möglich.
- Aktiviert einen Fallback-Mechanismus, bei dem im Falle von Problemen mit einer Plattform zur Registrierung/Aktualisierung die zweite Plattform zur Registrierung oder Aktualisierung verwendet werden kann.
Herausforderungen
Ziel ist es, die Möglichkeit zu schaffen, Push-Benachrichtigungen vom NaaS an das Gerät des Endnutzers zu senden, auf dem die UKG Pro Mobile App installiert ist. Um dieses Ziel zu erreichen, sah sich das Team mit zahlreichen Herausforderungen konfrontiert, die im Folgenden aufgeführt sind:
- UKG hat Millionen von Nutzern, die über den bestehenden V1-Endpunkt für den Dienst registriert wurden. Nach der Implementierung der neuen und verbesserten V2-APIs mussten jedoch Millionen von Datensätzen mit der neuen Logik migriert werden.
- Die bestehenden Dienste verfügten über keinen Ausweichmechanismus für den Fall, dass etwas schief geht.
- Die bestehenden Dienste waren externen Diensten untergeordnet, was sie anfällig für Ausfälle machte, falls der externe Dienst ausfiel.
- Das Testen auf iOS-Geräten ist immer ein Problem, da wir ein physisches Gerät benötigen, um die Anwendung zu testen. Wir mussten die Anwendung auf iOS-Geräten testen, da eine große Anzahl von UKG-Nutzern iOS-Geräte verwendet.
Die Lösung
- Unser Team begann mit der Analyse der Daten und implementierte die Befehlszeilenschnittstelle (CLI), um diese zu bearbeiten.
- Das Team teilte die Aufgabe in 4 kleine Befehlszeilenschnittstellen auf.
- Exportieren Sie die Daten aus der Datenbank.
- Rufen Sie den DRS (Registrierungsdienst) an und registrieren Sie die Geräte neu.
- Speichern Sie die neue Identität (Registrierungs-ID) in der Datenbank.
- Überprüfen Sie den Kanalstatus der Geräte.
- Verbinden Sie diese Schritte, indem Sie die Ausgabe jedes Schrittes in einer JSON-Datei speichern und sie für den nächsten Schritt verwenden. Da es Millionen von Geräten gab, auf denen das Team den Dienst zunächst mit Dummy-Daten implementiert hatte. Beginnen Sie dann mit der Migration der vorhandenen Datensätze und verfolgen Sie die Zeit für jeden einzelnen Migrationsvorgang.
- Die Aufteilung der Aufgabe in vier Schritte erhöht die Genauigkeit auf 85-90 %, und die Speicherung der Daten in JSON-Dateien ist hilfreich, um die ausgefallenen Geräte und den Grund für den Ausfall zu dokumentieren. Auf diese Weise können wir den Fehler leicht identifizieren, ihn beheben und die Migration erneut durchführen.
- Bereitstellung einer alternativen Lösung für den Fall, dass eine Dienstanforderung fehlschlägt – Da es keinen Fallback-Mechanismus für den Fall von Problemen gab, haben wir einen solchen geschaffen, indem wir das V1/V2-Flag implementiert haben. Wenn V2-Dienste aus irgendeinem Grund fehlschlagen, können wir auf V1-Dienste zurückgreifen, damit der Endbenutzer keine Probleme hat.
- Beginn der Aufteilung der Dienste in verschiedene Module entsprechend ihrer Rolle
- PUSH-Dienst: Der Push-Dienst ist für die Entgegennahme der Registrierungsanforderung vom Gateway und der Zustellungsanforderung von der Community Broadcast zuständig. Anschließend authentifiziert er die Daten und sendet die Anfrage an den Registrierungsdienst und den Benachrichtigungsdienst.
- Registrierungsdienst: Der Registrierungsdienst nimmt die Anfrage des Push-Dienstes entgegen und erzeugt eine eindeutige Registrierungs-ID.
- Benachrichtigungsdienst: Der Benachrichtigungsdienst ist für den Versand der Benachrichtigung an die Endnutzer zuständig. Er nimmt die Zustellungsanforderung vom Push-Service entgegen und kommuniziert mit dem AWS SNS über den Push-Dispatcher.
- Verwendung der cloudbasierten Testplattform von Sauce Lab, um die Anwendung auf iOS-Geräten zu testen.
- Mit sauce Lab konnten wir End-to-End-Tests für iOS-Geräte durchführen, ohne ein physisches Gerät zu besitzen.
- Erleichtert die Installation mehrerer Versionen der Anwendung durch die Verwendung mehrerer iOS-Geräte.
- Wir konnten das Verhalten der Anwendung auch auf mehreren Android-Geräten testen.
Ergebnisse
Bestehender Benutzer erfolgreich über V2 API migriert
Millionen von Datensätzen wurden über die neu implementierte API migriert und die Registrierungs-ID in der Datenbank aktualisiert.
Erfolgreich implementierte V2-API
Für die Neuregistrierung kann nun der neue V2-Endpunkt verwendet werden, der die neuen Dienste wie Device Registration und Delivery Services nutzt.
Einfach zu warten und zu debuggen
Alle Dienste sind jetzt unabhängig. Dies ermöglicht es den Entwicklern, das Projekt besser zu pflegen, so dass der fehlerhafte Code leicht identifiziert und effizient debuggt werden kann.
In der Lage sein, auf beiden Plattformen zu testen (iOS & Android)
Bereitstellung der aktualisierten Anwendung mit End-to-End-Tests für beide Plattformen (iOS und Android). Wir haben das gesamte Verhalten der Anwendung getestet, das die Benutzer auf ihrer Seite erleben werden.
“Das Team ist engagiert, fleißig und kenntnisreich. Ich schätze es aufrichtig, dass das Team seine Aufgabe pünktlich erfüllt hat. Sie haben unser Projekt und seine technischen Herausforderungen schnell verstanden. Anfangs gab es eine Kommunikationslücke, aber nach und nach hat das Team daran gearbeitet und gute Arbeit geleistet.”
Gunther Taborga – Leitender Software-Ingenieur, UKG
Weitere Fallstudien lesen
Vom Überwinden von Widrigkeiten zum Reiten der Welle der digitalen Transformation im Bildungssektor
Erfahren Sie, wie NashTech dem Trinity College London hilft, die Welle der digitalen Transformation im Bildungssektor zu reiten
Migration und Modernisierung der virtuellen Lernumgebung auf AWS für ein verbessertes Erlebnis
Das migrierte und modernisierte Moodle Infrastruktur bedeutet, dass The Open Die Universität kann nun folgende Vorteile nutzen Cloud-Vorteile.
Ein Einblick in eine einjährige RPA-Reise mit einem führenden digitalen Werbedienst
Ein Einblick in eine einjährige RPA-Reise mit einem führenden Anbieter von digitalen Werbedienstleistungen und -lösungen und wie NashTech ihnen geholfen hat.
Lassen Sie uns über Ihr Projekt sprechen
- Themen:
Unsere Partnerschaften
![docker-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/docker-white.png.png)
![ibm-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/ibm-white.png.png)
![microsoft-logo](https://www.nashtechglobal.de/wp-content/uploads/2023/04/Microsoft-logo.png)
![umbraco](https://www.nashtechglobal.de/wp-content/uploads/2023/03/umbraco.png)
![confluent-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/confluent-white.png.png)
![databricks-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/databricks-white-.png.png)
![hashicorp-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/hashiCorp-white.png.png)
![lightbend-white-png](https://www.nashtechglobal.de/wp-content/uploads/2023/03/lightbend-white.png.png)
![microsoft-modernization](https://www.nashtechglobal.de/wp-content/uploads/2023/07/Microsoft-Modernization.png)
![aws-partner](https://www.nashtechglobal.de/wp-content/uploads/2023/07/AWS-partner-1.png)
![ms-solutions-partner-logo](https://www.nashtechglobal.de/wp-content/uploads/2023/07/MS-Solutions-partner-logo-2.png)
![ms-data-and-ai](https://www.nashtechglobal.de/wp-content/uploads/2023/07/MS-Data-and-AI-1.png)
![ms-digital-and-app-innovation](https://www.nashtechglobal.de/wp-content/uploads/2023/07/MS-Digital-and-App-innovation-1.png)