Middleware für Ticketsysteme

Aufgabe

Die egocentric Systems GmbH ist Ticketdienstleister für viele unterschiedliche Arten von Events. Manche Veranstalter möchten gern sog. Kombitickets anbieten. Die Kunden können mit dem Ticketkauf dann auch den örtlichen ÖPNV nutzen. Die ÖPNV-Unternehmen haben allerdings eigene Systeme, in denen Tickets verkauft und zur Verfügung gestellt werden.

Die Aufgabe bestand für uns deshalb darin eine Middleware zu erstellen, die den Kauf des Tickets für die Veranstaltung vollautomatisch mit dem Ticketsystem des ÖPNV-Anbieters verbindet und diese dann per E-Mail verschickt.

Lösung

Unsere Lösung basiert auf dem Symfony-Framework. Wir nutzen das sog. Messaging-Feature des Frameworks um asynchron eine hohe Anzahl an Anfragen verarbeiten zu können ohne in Resourcenprobleme zu laufen. Das Ticketsystem sendet eine automatische Benachrichtigung, einen Webhook, an unsere Middleware. Wir wissen dann, dass ein Kauf erfolgreich abgeschlossen wurde und bekommen eine ID von diesem Vorgang mitgeliefert.

Per API holen wir uns daraufhin alle Informationen zu den gekauften Tickets und den Personen aus dem Ticketsystem und speichern sie bei uns. Nun wissen wir, wieviele ÖPNV-Tickets wir für welchen Zeitraum erstellen müssen. Dies passiert über eine Schnittstelle des tickeos Ticketsystems. Die so erstellten Tickets können wir dann in die Middleware laden und ebenfalls abspeichern.

Im letzten Schritt erzeugen wir E-Mails für den Käufer um die digitalen Tickets für den ÖPNV-Partner auszuliefern. Diese werden mittels Mandrill-API übertragen.

Der gesamte Prozess läuft dank Messaging-Komponente komplett asynchron ab. Das hat den Vorteil, dass auch bei Nicht-Erreichbarkeit oder Fehler in einem einzelnen Schritt nicht der komplette Prozess fehlerhaft ist und abgebrochen werden muss. Wir können somit auch temporäre Downtimes der beteiligten 4 Systeme ausgleichen, da die einzelnen Schritte zeitversetzt erneut ausgeführt werden. Dies passiert natürlich vollautomatisch.

Durch die Zerlegung des gesamten Prozesses in einzelne kleinere Teilschritte konnte die Durchlaufzeit der Einzelschritte auf ein Minimum reduziert werden, was die Anwendung äußerst performant macht. Sollten in kurzer Zeit sehr viele Anfragen an das System gestellt werden besteht zudem die Option die Abarbeitung der Warteschlage horizontal zu skalieren, was theoretisch einen unbegrenzten Durchsatz ermöglicht.

Das System verarbeitet nicht nur den eigentlichen Kaufprozess der Tickets, auch die Stornierung der Veranstaltungstickets sorgt natürlich wieder für eine vollautomatische Stornierung der ÖPNV-Tickets.

Als kleine Hilfe bei Rückfragen haben wir dem eigentlich ohne eine Benutzeroberfläche arbeitenden System eine kleine Verwaltungsoberfläche spendiert. Bei Rückfragen können Supportmitarbeiter den Status einzelner Kaufprozesse einsehen und bei Bedarf Einzelschritte erneut anstoßen, wie z.B. den erneuten Versand der E-Mail mit den Tickets.

Haben Sie einen ähnlichen Anwendungsfall, bei dem verschiedene Bestandssysteme "miteinander sprechen" müssen, die Systeme sind aber nicht direkt kompatibel miteinander? Sofern die Systeme jeweils Schnittstellen anbieten ist das u.U. mit einer solchen Middleware zu lösen. Sprechen Sie uns gerne an, wir unterstützen Sie bei Ihrem Vorhaben in der Digitalisierung oder Prozessoptimierung!

Kunde
egocentric Systems GmbH
Erstellung
2022
Kategorien
Webentwicklung, Hosting, Symfony

Ähnliche Projekte

Dresden Marketing Gesellschaft mbH

Hosting | Support | Webentwicklung