Client-Gateway für Gerätehersteller

Client-Gateway für Gerätehersteller

Itransition hat vier Kundendatenquellen in ein einheitliches Gateway integriert, um den Kundendienst zu beschleunigen und Zugang zu Schulungsmaterialien für eine bessere Qualität, Wartung und Unterstützung vor Ort zu ermöglichen.

Kontext

Cerulean ist ein marktführender Anbieter von Test- und Messlösungen für die Tabak-, Lebensmittel- und Verpackungsindustrie mit Kunden in 94 Ländern. Das Unternehmen stellt Werkzeuge für die Qualitäts- und Prozesskontrolle sowie Prüf- und Messgeräte her und bietet diese an. Das Unternehmen ist Teil von COESIA, einer Gruppe von weltweit tätigen, innovationsbasierten Unternehmen für Industrie- und Verpackungslösungen.

Ihr Ziel ist es, ihren Kunden zu helfen, Kosten für neue Geräte, deren Entsorgung und Recycling zu sparen. Zu diesem Zweck bieten sie Wartung und Support vor Ort, ein Ersatzteillager, Anlagenmodernisierung, Schulung, Dokumentation und Beratung, einschließlich AR-gestützter Fernunterstützung. Vor der Zusammenarbeit mit Itransition waren die Geschäftsdaten des Kunden in seinem Managementsystem gespeichert, das sie aus verschiedenen unzusammenhängenden Quellen sammelte: CRM, DMS, die Cerulean COESIA-Website und die Website für die Ersatzteile der Ausrüstung. Serviceanfragen wurden per Telefon, E-Mail und CRM-Tickets verwaltet. Wenn ein Problem auftrat, besuchten die Techniker den Standort der Anlage, um im Rahmen einer geplanten oder dringenden Wartung Korrekturen vorzunehmen. Sie hatten jedoch Schwierigkeiten, auf die Dokumentation, Benutzerhandbücher und Videos der Geräte zuzugreifen. Um Kundendaten einzusehen, mussten die Techniker das CRM durchsuchen und auf verschiedene Daten zugreifen - ihr bestehendes Managementsystem. Um Teile zu bestellen, mussten sie auf die Online-Website zur Teileidentifizierung zugreifen.

Dies war ein langwieriger, mehrstufiger Kundendienstprozess, so dass Cerulean beschloss, ein Kunden-Gateway zu schaffen, das alle Kundensysteme in einem einzigen Bereich verbindet, um die Qualität des Kundendienstes zu verbessern, ihn zu beschleunigen und zu vereinfachen. Der Kunde entschied sich für Itransition aufgrund unserer umfassenden Erfahrung bei der Entwicklung und Einrichtung von Integrationen im Rahmen früherer Projekte in den Bereichen Finanzen, Immobilien und E-Commerce.

Lösung

Das Team von Transition entwickelte ein MiCerulean-Gateway für die Kunden des Kunden, wie z. B. Abteilungsleiter und Produktionsingenieure, die Zugang zu den Geräten und deren Teilen haben. MiCerulean ist das Hauptbenutzer- und Datenverwaltungssystem, das auf AWS gehostet wird und Daten aus den folgenden Quellen sammelt:

  • Eine webbasierte CRM-Anwendung, die von Cerulean für die Verwaltung von Tickets für den technischen Support verwendet wird. Das CRM speichert Anlagenhistorie, Kundeninformationen und alle Geräteinformationen. Wir haben die REST-API-Integrationsmethode verwendet.
  • Ceruleans SharePoint ermöglicht den Zugriff auf Dateien, die mit den Anlagen des Benutzers verbunden sind. Wir haben es über REST API und Videoinhalte über AWS S3 integriert, um das erforderliche hohe Sicherheitsniveau zu gewährleisten.
  • Cerulean COESIA Website
  • Cerulean Ersatzteil-Website

Zu den Funktionen von MiCerulean gehört die Verwaltung von Benutzern mit unterschiedlichen Rollen und Zugriffsrechten. Die Benutzerverwaltung stellt sicher, dass nur die Personen Zugang zu den Geräten erhalten, die durch ihren Vertrag autorisiert sind, und gewährleistet die Kontinuität, auch wenn Benutzer mit den stärksten Zugriffsrechten und Privilegien das Unternehmen verlassen. Um diese Arbeitsabläufe zu unterstützen, hat Itransition eine komplexe Hierarchie der Zugriffsrechte entwickelt, die auf die verschiedenen Unternehmensprozesse abgestimmt ist und das Gateway-Modell beschränkt und sicher macht. Wenn sich Benutzer bei MiCerulean anmelden, werden ihre Seiten automatisch mit der Dokumentation ihrer Geräte, deren Teilen und den entsprechenden Lerndateien verknüpft. Endkunden haben das Recht, zusätzliche Benutzer anzulegen und ihnen Rechte entsprechend ihrer Berechtigungen und Arbeitsaufgaben zu erteilen.

Das Gateway besteht aus den folgenden Modulen:

  • Systemverwaltungsmodul mit Asset-Dokumenten und Software-Asset-Details (Tech-Info), Service-Historie und benutzerspezifischen Links zum Teilelager
  • Lernmodul mit Gerätedokumentation, Schulungshandbüchern, Benutzerhandbüchern, Videoanleitungen und Anleitungen
  • FAQ-Modul

Technischer Support ist über standortspezifische Unternehmenskontakte verfügbar. Jede Website, die einen Standort repräsentiert, verfügt über eine Liste seiner Geräte, und diese Seiten enthalten Registerkarten für die Anlagen- und Servicehistorie sowie einen externen Link zu dem spezifischen Produkt auf der Cerulean-Ersatzteil-Website. Auf diese Weise müssen die Benutzer nicht den gesamten Satz von Originalteilen durchsuchen, sondern können sofort eine Bestellung aufgeben, was die Verfügbarkeit und Betriebszeit der Geräte verbessert.

Equipment page with ‘Find parts’ link - super user view

Auf der Ausrüstungsseite finden sich auch Service-Tickets zur einfachen Verfolgung des Fortschritts sowie lokalisierte Kontaktinformationen.

Das Hilfesymbol öffnet ein Beschreibungsfeld mit Hinweisen zur Verwendung des Gateways.

Learning videos, datasheets, whitepapers, user manuals - end user view

Außerdem enthalten die Seiten aktuelle Ergänzungen zur offiziellen Dokumentation, so dass alle Informationen auf dem neuesten Stand sind.

FAQ - Cerulean admin view

Schulungsvideos helfen Fachleuten im Haus, über die neuesten Entwicklungen bei den von ihnen gewarteten Geräten auf dem Laufenden zu bleiben.

Learning video - end user view

Unser Team hat auch eine Funktion entwickelt, die mit Hilfe von QR-Code-Aufklebern an Geräten den Technikern Zugang zu einer kürzeren Version der MiCerulean-Detailseite verschafft. Wenn diese Details nicht ausreichen, kann sich der Techniker anmelden und über sein Profil auf die vollständige Seite zugreifen. Jetzt können Kunden selbständig kleine Probleme an Ort und Stelle lösen, z. B. eine kleine Maschinenstörung, ein nicht angeschlossenes oder falsch angeschlossenes Kabel beheben, einen neuen Filter einbauen oder den erforderlichen Luftstrom einstellen.

Verfahren

Das Projektteam bestand aus Projektmanagern, Geschäftsanalysten, technischen Leitern, QA-Experten, Designern sowie Frontend-, Backend- und SharePoint-Entwicklern. Der technische Leiter richtete die Umgebung ein und der Designer erstellte vorläufige Layouts. Sobald der Kunde grünes Licht für das Systemdesign gab, begannen die Frontend-Entwickler mit ihrer Arbeit. Anschließend kamen Backend- und SharePoint-Entwickler sowie ein QA-Team hinzu. Zusätzlich zur Zusammenarbeit mit unserem Team nahm der Kunde die Hilfe eines dritten Anbieters in Anspruch, um verschiedene Optionen für die Umsetzung des Projekts zu erörtern und Schätzungen zu validieren.

Itransition begann das Projekt mit der Ausarbeitung der Anforderungen und der Erstellung der Dokumentation, dem Mapping des primären Umfangs und der Einrichtung der Umgebungen. Die erste Demo für Cerulean diente der Bewertung der Funktionalität und der Verbesserung der zukünftigen Lösung auf der Grundlage des Kundenfeedbacks. Wir erstellten auch Spezifikationen, die vom Kunden überprüft und genehmigt wurden.

Zunächst implementierten wir ein MVP mit den folgenden Hauptmodulen:

  1. Systembenutzerverwaltung
  2. Integration des Ausrüstungsmoduls mit CRM
  3. Integration mit CRM zum Empfang von Ausrüstungsdaten
  4. Hilfe-Center
  5. Sonstige Informationsseiten

Um eine effiziente Zusammenarbeit einzurichten, identifizierten die Spezialisten von Itransition die für bestimmte Funktionen verantwortlichen Stakeholder des Kunden und etablierten einen transparenten Prozess zur Identifizierung, Analyse, Vorbereitung und Freigabe von Anforderungen mit ihnen. Da unser System mit einem Drittanbieter integriert ist, haben wir auch mit diesem die Kommunikation aufgenommen.

Wir setzten Elemente der agilen Methodik sowie Kanban ein, da wir aufgrund von Kundenabhängigkeiten keinen "Pull" für zukünftige Arbeiten erstellen konnten. Wir hielten wöchentliche Sitzungen ab, in denen wir Anforderungen und Aktualisierungen besprachen, und führten bei Bedarf Workshops durch. Während der gesamten Zusammenarbeit wurden dem Kunden Demo-Ergebnisse präsentiert. Um unsere Teammitglieder zu synchronisieren, nutzten wir tägliche Stand-ups, Grooming Sessions und Retrospektiven. Außerdem stellten wir dem Kunden monatliche Budget- und Projektmanagementberichte zur Verfügung, einschließlich Projektstatus und Zeiterfassung.

Da sich der Umfang des Projekts geändert hat, mussten wir die Funktionalität des Systems neu bewerten. Zu diesem Zweck führte unser Team eine Neuermittlung durch, um die geänderten Anforderungen zu erfassen und die Kostenerwartungen des Kunden zu aktualisieren. Das Team ergänzte die ursprüngliche Bewertung der Annahmen, um den neuen Umfang zu erfassen, und erstellte eine neue Schätzung auf der Grundlage der erhaltenen Anforderungen und Details.

Im Rahmen des geänderten Umfangs fügten wir neue Funktionen wie Benachrichtigungen, Zugriff per QR-Code und ein Lernmodul hinzu, das eine Integration mit SharePoint des Kunden erforderte, um vorhandene Schulungsmaterialien für Geräte zu speichern.

Itransition hat im Rahmen des Projekts einen Prozess für das Management von Änderungsanfragen eingeführt, der sich auf die Erweiterung von Funktionen, das Hinzufügen einer Funktion, die Entwicklung und Implementierung von Anfragen und die Aktualisierung der aktuellen Systemdokumentation bezieht. Der Prozess hilft uns, die Änderungsprozesse zu beschleunigen, manuelle Eingaben, Fehler und Nacharbeiten zu minimieren, das Risiko zu verringern, dass Anfragen nicht ordnungsgemäß genehmigt werden, eine einheitliche Erfahrung für alle Beteiligten zu schaffen und Engpässe im Prozess zu erkennen und zu beseitigen.

Um den SharePoint-Betrieb zu optimieren, stellten wir einen speziellen Spezialisten für die Beratung und anschließende Einrichtung des Dokumenten-Workflows und der Integrationsoptionen mit dem Gateway zur Verfügung. Der Experte kommunizierte auch eng mit dem Kunden und besprach mit ihm die bestehenden Einschränkungen und mögliche Sicherheitslösungen.

Im Laufe unserer Interaktion mit dem Kunden kam es zu Meinungsverschiedenheiten über die von ihm vorgeschlagene Methode der Datenintegration durch Dateifreigabe auf seinem Server anstelle der Verwendung der Standard-REST-API. In den Gesprächen erläuterten wir die Vor- und Nachteile beider Ansätze, woraufhin sich der Kunde für die REST-API entschied.

Technologien

Itransition hat dazu beigetragen, die Projektvision von Cerulean mit den besten technischen Lösungen umzusetzen. Unser Team beteiligte sich aktiv an den Diskussionen über die Vision des Projekts, die individuellen Anforderungen, das Design und die technische Umsetzung.

Itransition lieferte ein High-Level-Design der Lösung, einschließlich ihrer High-Level-Architektur, und schlug das am besten geeignete Technologie-Framework vor. Die von uns gelieferte Software bestand aus den Komponenten der Webanwendung, die in einer speziellen Umgebung implementiert wurden, dem Quellcode und der Quellcodedokumentation.

Das Backend der Cerulean-Webanwendung ist in PHP unter Verwendung des Symfony-Frameworks geschrieben. Die Backend-API ist ein Gateway für UI Gateway für drei Datenquellen, nämlich Cerulean/COESIA (Web), das CRM und das SharePoint-basierte Dokumentenmanagementsystem. Wir nutzten API Platform als API-Framework, um die Entwicklung zu beschleunigen und zu rationalisieren, den Aufwand für die API-Entwicklung und -Bereitstellung zu minimieren und eine nahtlose Integration in das Symfony-Ökosystem zu erreichen. Außerdem profitierten wir von der flexiblen Datenverarbeitung, der integrierten API-Dokumentation und der stressfreien Erweiterbarkeit.

Das Frontend wurde in TypeScript unter Verwendung des ReactJS-Frameworks geschrieben. Die UI-Schicht ist eine ReactJS-Anwendung, die Daten aus dem Backend über eine REST-API mit JWT als Authentifizierungsmechanismus empfängt. Die Entwickler nutzten Ant Design als UI-Bibliothek. ReactJS wurde aufgrund seiner komponentenbasierten, modularen Architektur gewählt, die die Wiederverwendbarkeit von Code und Komponenten, die Wartungsfreundlichkeit und die Skalierbarkeit verbessert und die Verwaltung und Aktualisierung von UI-Elementen erleichtert. Außerdem profitierten wir vom unidirektionalen Datenfluss von übergeordneten zu untergeordneten Komponenten, was die Nachverfolgung von Datenänderungen erleichterte, das Debugging vereinfachte und potenzielle Fehler reduzierte.

Unser Team verwendete Git für die Versionskontrolle und das Doctrine ORM-Framework, um Datenbankoperationen zu vereinfachen. Unsere Experten verwendeten Nginx, um die Bereitstellung von Inhalten und Anwendungen zu beschleunigen und die Systemverfügbarkeit zu erleichtern.

Um den Dokumentenaustausch einzurichten, erstellten wir eine separate Website für öffentliche Dateien und entwickelten ein internes Skript für SharePoint, das Dokumente synchronisiert. Das Skript fügt auch die erforderlichen Attribute zu den Dokumenten hinzu, die auf der Geschäftslogik der geschlossenen internen Website und der neuen öffentlichen Website basieren. Unsere Entwickler passten sich auch an die integrierte SharePoint REST API an. Kleine Dokumente werden nun über die HTTP-API empfangen, da dies nicht direkt möglich ist. Große Videodateien werden mithilfe eines Skripts in AWS S3 hochgeladen. Direkte öffentliche Links zu solchen Videodateien werden in der App generiert, um die Netzwerklast zu reduzieren und Schnittstellenverzögerungen zu vermeiden.

AWS-Stack

Wir haben AWS Elastic Container Service (ECS) für die Bereitstellung verwendet, weil es folgende Vorteile bietet:

  • Mühelose Skalierbarkeit der containerisierten Anwendung mit der Fähigkeit, unterschiedliche Verkehrsaufkommen ohne Unterbrechungen zu bewältigen.
  • Vereinfachtes Container-Management dank des Orchestrierungsdienstes, der es uns ermöglicht, Anwendungen und deren Lebenszyklus zu definieren und zu kontrollieren.
  • Hochverfügbarkeit mit automatischem Lastausgleich zwischen Containern und Verfügbarkeitszonen, um Ausfallsicherheit zu gewährleisten.
  • Nahtlose Integration mit anderen AWS Services zur Verbesserung der App-Funktionalität und Sicherheit.
  • Robuste Sicherheitsfunktionen zum Schutz von Anwendungen und Daten.
  • Das Pay-as-you-go-Preismodell macht es überflüssig, für ungenutzte Ressourcen zu zahlen, da die Ressourcen automatisch je nach Bedarf nach oben oder unten skaliert werden, wodurch eine rationelle Ressourcennutzung erreicht wird.

Um die Leistung und Zuverlässigkeit unserer Anwendungen zu verbessern, haben wir Amazon CloudFront, einen Content Delivery Network Service, integriert. Das Team kann App-Inhalte problemlos zwischenspeichern und näher an den Benutzern bereitstellen, wodurch die Latenzzeit verringert und die Leistung verbessert wird. Darüber hinaus fungiert CloudFront als Schutzschild, der unsere Anwendungen durch intelligente Datenverkehrsfilterung und Begrenzung der Anforderungsrate vor DDoS-Angriffen schützt. Durch die Integration von CloudFront wurde die Infrastruktur um eine zusätzliche Sicherheitsebene und Skalierbarkeit erweitert und ein zusätzlicher Schutz vor DDoS-Angriffen geboten, der die kontinuierliche Systemverfügbarkeit und die Benutzerfreundlichkeit sicherstellt.

Unser Team implementierte CloudWatch-Dashboards mit Echtzeit-Schlüsselmetriken des Projekts wie Ressourcenauslastung, Antwortzeiten, Fehlerraten und Durchsatz, um eine umfassende Überwachung zu ermöglichen. Mithilfe der benutzerdefinierten Dashboards können wir bestimmte Aspekte unseres Projekts verfolgen und überwachen und Einblicke in die Leistung und den Zustand des Projekts erhalten. Auf diese Weise können wir Probleme, Anomalien oder Engpässe erkennen und datengestützte Entscheidungen treffen, um sie zu beheben.

Wir bereiteten die Bühnenumgebung auf AWS vor und zeigten dem Kunden Demos in dieser Umgebung. Itransition entwickelte auch eine Lösung für die Ersetzung von Geheimnissen mit dem Secret Manager und dem Schlüssel für Geheimnisse in ECS-Containern und richtete eine Null-Ausfallzeit für die Bereitstellung ein.

Wir haben auch andere AWS-Services genutzt:

  • AWS S3 für das Hosting statischer Dateien
  • AWS Route53 für die DNS-Verwaltung
  • AWS Certificate Manager für die Zertifikatsverwaltung
  • AWS KMS (Key Management Service) für die Datenverschlüsselung
  • AWS ECR (Elastic Container Registry) für die Speicherung von Container-Images
  • AWS ECS für die Containerverwaltung
  • AWS CloudFront als CDN
  • ALB (Application Load Balancer) als Load Balancer
  • Aurora RDS (MySQL) als Datenbank
  • AWS ElastiCache als Cache-Speicher

QA

Unsere QA-Ingenieure führen Tests neuer Funktionen (NFT), Leistungstests, API-Tests und Regressionstests durch. Der Code wird durch Funktions-, Unit- und Auto-Review-Tests abgedeckt.

Wir haben die folgenden Tools verwendet:

  • BrowserStack für Cross-Browser-Tests, Tests auf verschiedenen Geräten und OS-Versionen
  • Postman für REST-API-Tests
  • PHPUnit für Integrations- und Unit-Tests
  • Infection Bibliothek für Unit-Tests

Mit Hilfe von Infection haben wir qualitativ hochwertige Unit-Tests erstellt, indem wir automatisch Mutationen in der Codebasis generiert und angewendet haben. Wir konnten das Feedback auswerten, Schwachstellen in der Testsuite identifizieren und die Testentwicklung rationalisieren.

Qualitätssicherungsexperten lieferten funktionale Qualitätsberichte, die das allgemeine Qualitätsniveau des getesteten Builds, eine Zusammenfassung der durchgeführten Tests, nach Schweregrad geordnete Fehler und notwendige Empfehlungen enthielten.

Durch das Schreiben von Funktions- und Einheitstests im Backend konnten wir die Anzahl der Fehler reduzieren und so Zeit sparen, die wir für manuelle Tests hätten aufwenden können. Auch bei den Regressionstests wurden keine Fehler festgestellt.

DevOps

Das Team von Transition implementierte eine DevOps-Infrastruktur mit Technologien und Praktiken zur Optimierung der Anwendungsbereitstellung und -verwaltung. Zur Orchestrierung unserer Infrastruktur verwendeten wir Terraform, ein Infrastructure as Code (IaC)-Tool für die effiziente Bereitstellung und Verwaltung von Ressourcen.

Mit Jenkins haben wir eine ausgeklügelte CI/CD-Pipeline eingerichtet. Dieser Automatisierungsserver ermöglichte es uns, die Softwarebereitstellung von der Entwicklung bis zur Produktion zu optimieren. Bei jedem Code-Commit führte Jenkins automatisierte Tests, Code-Qualitätsprüfungen und die Bereitstellung in bestimmten Umgebungen durch und garantierte so einen reibungslosen, fehlerfreien Release-Prozess.

Wir haben zwei Umgebungen eingerichtet, um eine effiziente Entwicklung und Prüfung zu ermöglichen. So konnten wir unsere Entwicklungsumgebung von der Produktionsumgebung isolieren und eine stabile und zuverlässige Produktionsfreigabe gewährleisten. Außerdem konnten wir auf diese Weise Änderungen gründlich testen und validieren, bevor wir sie den Benutzern zur Verfügung stellten.

Um Apps ohne Ausfallzeiten und Unterbrechungen bereitzustellen, nutzte das Team ECS Fargate, einen serverlosen Container-Orchestrierungsdienst. Unsere Anwendungen wurden dynamisch skaliert und verwaltet und konnten so unterschiedliche Verkehrsaufkommen bei optimaler Leistung und Zuverlässigkeit bewältigen.

Sicherheit und Zugriffsmanagement waren kritische Aspekte des Projekts. Daher wurden verschiedene damit verbundene Herausforderungen angegangen und robuste Zugriffskontrollen und Sicherheitsmaßnahmen während des gesamten Projekts implementiert.

Das Team konfigurierte alle CI-Tools für die statische Analyse: PHPStan, Psalm, PHPCSFixer und Rector. Als Containerisierungstools wurden Docker und Docker Compose ausgewählt.

Ergebnisse

Wir haben ein kundenorientiertes Gateway entwickelt, das durch das Feedback und die Wünsche der Endbenutzer inspiriert wurde und einen sofortigen Zugriff auf Informationen aus vier Unternehmensdatenquellen ermöglicht, die in einem einfach zu bedienenden Bereich integriert sind. Der Zugang zum Client-Gateway ist über Servicepakete im Rahmen des After-Sales-Supports verfügbar.

MiCerulean automatisiert die After-Sales-Wartung, um Folgendes zu erreichen:

  • Zugang von unterwegs zu CRM, Dokumentation, Benutzerhandbüchern/Videos und Websitedaten
  • 6x schnellere Dokumentensuche
  • 2x schnellere Ersatzteilbestellung
  • 20% weniger kostspielige Vor-Ort-Besuche