Wir lieben Schnittstellen – und wie wir damit automatisieren

Weiterlesen

Schnittstellen, oder auf Englisch APIs (Application Programming Interfaces) genannt, können viele Prozesse erheblich beschleunigen oder manuelle Arbeiten komplett durch Automatisierung ersetzen. Anhand unserem neusten Projekt, der neuen Teleclub Webseite, gehen wir näher auf die Idee von Schnittstellen ein.

Muss ich das von Hand machen?

Sobald Arbeit anfällt fragen wir uns als Programmierer häufig: Muss ich dies überhaupt von Hand machen oder gibt es dafür eine Automatisierung? Es gibt für so Einiges noch keine Automatisierung, weil wir uns erst mitten in der Digitalisierung befinden. Und doch ist es immer häufiger möglich, manuelle und langwierige Prozesse durch Automatismen zu vereinfachen.

Nun, Teil unserer Aufgabenstellung für die Umsetzung der neuen Teleclub Webseite war, soviel wie möglich zu vereinfachen, damit wenige manuelle Eingriffe von Nöten sind. Natürlich müssen einige Inhalte noch von Hand gepflegt werden, aber wir konnten auch sehr viele Inhalte aus bestehenden Quellen beziehen und diese in einer geeigneten Form auf der Webseite integrieren.

Als erstes hatten wir die Film-Datenbank. Das ist ein Archiv von über 5000 Filmen, die auf der Webseite eingebunden werden sollen. Und diese Zahl machte uns deutlich, dass hier keine manuelle Pflege mehr möglich ist, denn das würde viel zu viel Ressourcen blockieren. Der einfachste Weg ist, dieses Archiv anzudocken und die Daten automatisch daraus zu beziehen. Und zack, die erste Schnittstelle ist geboren. So, jetzt zur zweiten Aufgabe: Die rohen Filmdaten nützen uns jetzt noch wenig, wir wollen animierte Bilder.  Denn die Synopsis alleine mag ja etwas aussagen, doch besonders bei Filmen ist der Trailer wichtig, ob man den Film kauft bzw. mietet oder nicht. Und schon kommt die nächste Herausforderung, wie bringen wir hochaufgelöste Trailer auf einen Webserver, der nicht als Datenspeicher vorgesehen ist und auch nicht im Ansatz ausreichend Speicherplatz bietet, alle diese Daten abzulegen?

Die Cloud bietet viele Lösungen

Es ist nicht die Idee, dass wir alles selber machen. Eine gute und ressourcensparende Lösung ist das Ziel. Und so haben wir auch hier mit Vimeo rasch eine Lösung gefunden. Denn wie bei so vielen Problemstellungen existieren in der Cloud meist perfekte Lösungen. Wir müssen das Film-Hosting und -Streaming nicht neu erfinden, Vimeo bietet das. Und die Kosten sind sehr überschaubar. So haben wir uns die angelieferten und hochaufgelösten Trailer geschnappt und haben sie zeitgleich beim Importieren eines Films auf Vimeo geladen und mit dem Film in unserer Datenbank verknüpft. Und schon haben wir eine vollwertige Filmdatenbank. Vimeo speichert die grossen Trailerdateien und wir die Metadaten zum Film. Ein weiterer Vorteil dieser Lösung ist, dass der Besucher rasch und unkompliziert auf diese Daten zugreifen kann. Mit Vimeo als Streaminganbieter, der diese Trailer in allen möglichen Auflösungen und für jede Menge verschiedener Endgeräten anbieten kann, haben wir die bestmögliche Lösung mit wenig Ressourcenbedarf erreicht.

Wenn es schnell gehen muss

Und natürlich ist es noch nicht fertig mit Schnittstellen. Eine weitere, für den Moment, ist die Schnittstelle zum Abrufen und Anzeigen des aktuellen Sportprogramms. Wo es bei der normalen Filmdatenbank nicht zwingend rasch gehen muss, ist es beim Sportprogramm mit einem hohen Aktualitätsgrad wichtiger. Wird ein Spiel abgesagt? Oder wird das Spiel verschoben? Oder was auch immer die Gründe für eine Änderung am Programm sind, das sind wichtige Informationen, die wir ebenfalls vollautomatisiert auf der Webseite publizieren. Der Abgleich mit dem Teleclub EPG läuft mehrmals stündlich, womit wir auf der Webseite immer das aktuellste Programm anzeigen können, ohne dass ein Administrator im Hintergrund stetig ein Auge draufhalten muss. Auf der Landingpage des Free TV Senders Teleclub ZOOM gleichen wir das gesamte Programm ab – vollautomatisiert. Und auch auf der Teleclub Webseite selber gibt es mit den Highlights stetig die aktuellen Top-Veranstaltungen zu sehen.

Was ist jetzt die grosse Schwierigkeit daran?

Das mag bis jetzt zwar alles einfach und logisch tönen. Und doch liegt zwischen der Idee bis zur fertigen Umsetzung viel Arbeit. Einerseits stellt sich meist die Frage der Zeichensätze und der Namensgebung der Felder. Andererseits kann immer etwas dazwischenkommen und es «knallt» beim Import. Bei den Zeichensätzen und der Felddefinition ist es eine Definitionssache und ab und zu müssen die Felder auch zusammengezogen oder anhand Suchmustern durchsucht oder getrennt werden – dazu arbeiten wir mit sogenannten Regular Expressions, oder kurz: Regex. Und das Abfangen von Fehlern, die in allen möglichen Formen auftreten können, ist schlussendlich die Krönung und macht einen grossen Teil des Programmierer-Stolzes aus. Denn das Ziel ist es, dass die Schnittstelle tagein tagaus läuft, ohne dass es knallt. Und wenn es trotzdem mal knallen sollte, ist eine aussagekräftige Fehlermeldung per Mail an den Entwickler eine grosse Hilfestellung, damit das Problem rasch ersichtlich ist und der Fehler behoben werden kann.

Das Gesamtergebnis zählt

Alle diese oben genannten Aspekte machen eine ausgereifte Gesamtlösung aus. Dies sind die Wahl der Technologien, Schnittstellen und Plattformen um eine Idee möglichst ressourcensparend und funktionell umzusetzen. Und das würden wir mal behaupten, haben wir einmal mehr geschafft.

Teleclub ist nur einer von vielen Kunden, wo wir schon einiges automatisiert haben. Folgend ein paar Links zu weiteren Webseiten, wo viele Jobs zur Automatisierung im Hintergrund laufen:

Können Sie erraten, was auf diesen Webseiten alles automatisiert laufen könnte? Und können Sie sich vorstellen, was Sie in Ihrem Unternehmen alles digitalisieren und automatisieren können? Wo befinden sich Ihre Daten aktuell und wer soll in Zukunft wo darauf zugreifen können? Was würde Ihrem Business helfen? In jedem Fall: wir beraten Sie gerne und finden für Sie Ihr Optimierungspotential.

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.