Analysefunktionen in Applikationen integrieren Embedded Analytics ohne Reibungsverluste

Von Steve Morecraft * |

Anbieter zum Thema

Das Programmieren eines grundlegend neuen Software-Features kann Spaß machen. Gibt es allerdings schon eine elegante Lösung, betten Entwickler diese durchaus in bestehenden Code ein. Bei Big-Data-Analysen kann sich das durchaus lohnen.

Bidirektionale Integration ermöglicht es, verwandte Daten sowohl aus operativer als auch aus analytischer Sicht ganzheitlich und uneingeschränkt zu betrachten, ohne die Anwendung verlassen zu müssen.
Bidirektionale Integration ermöglicht es, verwandte Daten sowohl aus operativer als auch aus analytischer Sicht ganzheitlich und uneingeschränkt zu betrachten, ohne die Anwendung verlassen zu müssen.
(Bild: Logi Analytics)

Müssen für eine Software neue Funktionen gebaut werden, sehen viele Entwickler dieser Gelegenheit mit Enthusiasmus entgegen. Sie beginnen in der Regel damit, Ideen über einzigartige und kreative Möglichkeiten zu sammeln, um neue Funktionen von Grund auf zu bauen.

Diese Begeisterung kann in Ernüchterung enden, wenn sich allmählich die harten Realitäten der Projektanforderungen, der Zeitpläne und des Umfangs der Aufgaben einstellen. Software-Funktionen von Grund auf neu zu bauen, ist aber ohnehin selten die einzige Option – die Chancen stehen gut, dass das Rad bereits erfunden wurde. Die meisten Entwickler nutzen deshalb Code-Schnipsel, die großzügig von ihren Leidensgefährten geteilt werden.

Die Integration von Embedded Analytics kann den Wert Ihrer Anwendung erheblich steigern, indem sie es Ihren Anwendern ermöglicht, ihre eigenen Fragen zu den Daten selbsterklärend direkt aus der Applikation heraus zu beantworten.
Die Integration von Embedded Analytics kann den Wert Ihrer Anwendung erheblich steigern, indem sie es Ihren Anwendern ermöglicht, ihre eigenen Fragen zu den Daten selbsterklärend direkt aus der Applikation heraus zu beantworten.
(Bild: Logi Analytics)

Wenn es um Embedded BI & Analytics geht, gibt es Plattformen, die Entwickler in ihre Anwendung einbetten können. Diese bieten alles, was das Entwicklungsteam benötigen könnte. Wenn also eine Anforderung an ausgefeilte Analysefunktionen für die Applikation eingeht, sollten man diese dann selber bauen oder besser auf eine Plattform setzen?

Embedded Analytics vs. traditionelle BI-Lösungen

Ein Klick auf ein Objekt (z.B. Weinflasche) in der Host-Anwendung führt zu einer Aktualisierung der damit verbundenen Detailanalyse.
Ein Klick auf ein Objekt (z.B. Weinflasche) in der Host-Anwendung führt zu einer Aktualisierung der damit verbundenen Detailanalyse.
(Bild: Logi Analytics)

Die Funktionen von Embedded Analytics enden nicht bei der iFrame-losen Einbettung und der sich anpassenden Security, sondern bieten auch einen Mehrwert mit Funktionen wie kontextuelle Integration, um die enge Verzahnung mit modernen Webapplikationen zu ermöglichen.

Ein Beispiel hierfür ist die Verwendung eines SDKs mit Pub/Sub, um das Filtern eingebetteter Diagramme und Grafiken nicht nur über die Steuerelemente im Kontext der Host-Anwendung zu ermöglichen, sondern auch das Gegenteil: Inhalte der Anwendung werden über Auswahlmöglichkeiten der eingebetteten Diagramme und Grafiken gesteuert.

Die bidirektionale Integration ermöglicht es, verwandte Daten sowohl aus operativer als auch aus analytischer Sicht ganzheitlich und uneingeschränkt zu betrachten, ohne die Anwendung verlassen zu müssen.
Die bidirektionale Integration ermöglicht es, verwandte Daten sowohl aus operativer als auch aus analytischer Sicht ganzheitlich und uneingeschränkt zu betrachten, ohne die Anwendung verlassen zu müssen.
(Bild: Logi Analytics)

Diese bidirektionale Integration ist oft nur „auf die harte Tour“ zu erreichen. Die Analysefunktionen sind vollständig und nahtlos in die Anwendung integriert und bieten Zugriff auf detaillierte Analysen, die durch Anklicken bekannter Elemente in der Host-Anwendung ausgeführt werden.

Embedded Analytics und herkömmliche BI-Lösungen sind ähnlich, unterscheiden sich aber in grundlegenden Punkten. Beides sind Begriffe, die Tools, Technologien, Prozesse und die Infrastruktur zur Analyse von Daten zur Unterstützung von Entscheidungsträgern umfassen. Embedded Analytics lässt sich jedoch vollständig in eine Anwendung integrieren.

Der Unterschied besteht darin, dass herkömmliche BI-Lösungen die Datenanalyse außerhalb der Hauptanwendung bereitstellen, während eingebettete Analysefunktionen interaktive Visualisierungen innerhalb der Host-Applikation bereitstellen.

Der Wechsel zwischen Programmen zur Datenanalyse kann aufwendig und umständlich sein; die Effizienz der Benutzer wird dadurch schnell beeinträchtigt. Die Benutzerakzeptanz für die Anwendung leidet, und längerfristig kann es zu einer geringeren Nutzungsdauer führen. Embedded Analytics zielt darauf ab, diese Probleme zu lösen und gleichzeitig die für das Geschäft nutzbaren Ergebnisse der Datenanalyse zu verbessern.

Wenn Sie sich als Softwarehaus mit Ihrem Produkt vom Wettbewerb abheben wollen, hilft Ihnen die nahlose Integration von Analysefunktionen in Ihre Anwendung sicherlich weiter. Zu den Vorteilen, die Embedded Analytics gegenüber herkömmlichen BI-Tools hat, gehören:

  • Höhere Benutzerakzeptanz
  • Höhere Benutzerzufriedenheit
  • Intensivere Nutzung der Anwendung
  • Wertsteigerung der Applikation
  • Höheres Umsatzwachstum

Wie also lässt sich Embedded Analytics ohne Reibungsverluste in eine Anwendung integrieren? Hier sind einige der Schlüsselfaktoren, die man im Laufe der Entscheidungsfindung berücksichtigen sollte.

Funktionalität und Time-to-Market

Die typische Entwicklung beim Bau von Funktionen ergibt sich aus einer Reihe von Anforderungen, die auf den ersten Blick alle als grundlegend erscheinen können. Ihre Benutzer möchten vielleicht Standarddiagramme oder Dashboards, Grafiken, Datentabellen und Kreuztabellen, und diese können alle individuell erstellt werden.

Wenn Sie es zu einem Minimal Viable Product (MVP) bringen und das Produkt anfängt, an Zugkraft zu gewinnen, werden Sie möglicherweise feststellen, dass zusätzliche neue Funktionen gewünscht werden. Einfache Diagramme und Grafiken reichen nicht aus. Benutzer wünschen sich erweiterte Funktionen wie integrierte Workflows, Write-Back, Scheduling und mehr.

Möglicherweise werden Sie als Anbieter von Softwarelösungen gebeten, die individuellen Bedürfnisse jedes Unternehmens, jeder Abteilung oder jedes Endbenutzers zu erfüllen, um ihnen die Möglichkeit zu geben, ihre Präferenzen in einer Umgebung abzubilden, die anpassbar ist.

All diese Funktionalität erfordert Zeit für Recherchen, Tests, Design, Entwicklung und Wartung auf individueller Ebene. Jede Minute, die Sie für diese benutzerdefinierte, eingebettete Analyse aufwenden, ist Zeit, die Sie außerhalb Ihrer Kernanwendung verbringen. Ihre Kunden oder Benutzer betrachten dies vielleicht als eine vertraute Erwartung an eine moderne Webanwendung, die als selbstverständlich vorausgesetzt wird.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Sollten Sie sich auf die einzigartige Funktionalität Ihrer Kernanwendung konzentrieren oder sich von neuen Analysefunktionen ablenken lassen? Es gibt versteckte, mit dem Bau kundenspezifischer Komponenten verbundene Opportunitätskosten, die durch die Arbeit mit einer etablierten Plattform vermieden werden können. Die Arbeit mit einer Plattform ermöglicht es Ihnen, viele Analysefunktionen schneller bereitzustellen, als jede einzelne von Grund auf neu zu erstellen.

Design, Branding und externe Bibliotheken

Sie haben hart daran gearbeitet, die Benutzerschnittstelle (UI) und das Anwendererlebnis (UX) Ihrer Anwendung zu entwerfen. Jede neue Komponente, die Sie hinzufügen, muss mit Ihrem Design und Ihrer Marke konsistent bleiben, damit das Design seine volle Wirkung auf die Ästhetik der gesamten Anwendung entfalten kann.

Wenn Sie mit UI-Komponenten arbeiten, müssen Sie jede Komponente in Ihrer Anwendung ändern, sobald Sie das Aussehen aktualisieren möchten. Dies kann Zeit und Energie für die Implementierung und das Testen erfordern, die durch die Integration einer Plattform vermieden werden können. Plattformen ermöglichen es Ihnen, Ihre Komponenten thematisch global oder lokal auszurichten, so dass eine Änderung der Farbe oder des Brandings für jeden Ihrer Nutzer der Applikation einfach durchgeführt werden kann.

Sie können auch auf Probleme stoßen, die Sie bei der Arbeit mit externen Bibliotheken vielleicht nicht erwarten. Wenn Sie Ihre Version aktualisieren müssen, kann dies zu Regressionsproblemen führen.

Ein weiteres Thema ist die Lizenzierung. Viele UI-Komponenten werden in einer kostenlosen Version angeboten; aber die Kosten können in die Höhe schnellen, sobald echte Benutzer an Bord kommen. Wenn Sie mehrere UI-Komponenten-Bibliotheken verwenden, müssen Sie mehrere Lizenzen verwalten. Arbeiten Sie hingegen mit einer Plattform, müssen Sie nur eine Lizenz und einen Preis in Betracht ziehen, der vorhersehbar ist und mit Ihrem Geschäft skaliert.

Implementierung und Sicherheit

Noch bevor die Anforderungen vollständig abgestimmt sind und UI/UX entworfen sind, wird Ihr DevOps-Team verlangen, bei der Planung der Einführung des Betriebs umfassen einbezogen zu werden.Maßgeschneiderte Lösungen, die grundlegende Anforderungen abdecken, sind einfach zu beginnen; aber mit jeder neuen Funktion oder Änderungsanforderung wächst die Komplexität exponentiell.

Spezifische Diagramme wie das Traubendiagramm in diesem Beispiel erhöhen die Benutzerakzeptanz erheblich.
Spezifische Diagramme wie das Traubendiagramm in diesem Beispiel erhöhen die Benutzerakzeptanz erheblich.
(Bild: Logi Analytics)

Wenn Sie mit einer Plattform arbeiten, stehen Ihnen von Anfang an Standardfunktionen wie Grafiken, Diagramme, Dashboards, anpassbare Berichte und vieles mehr zur Verfügung. Die richtige Plattform bietet auch APIs und ermöglicht die Integration von benutzerdefinierten Diagrammen, um Ihre spezifischen Anforderungen in die Anwendung zu integrieren.

Sicherheit ist ebenfalls etwas, das man nicht ignorieren kann. Sie müssen in Betracht ziehen, wie hoch die Anforderungen an die Authentifizierungsmechanismen und die Autorisierung sind, um den Zugriff auf Ihre Applikation abzusichern. Und wie stark Ihre Security für die von Ihnen gemanagten Daten ist, die visualisiert und angezeigt werden.

Anstatt Ihre eigene Security für Authentifizierung und Datenzugriff zu implementieren und zu testen, können Sie eine Plattform verwenden, die bereits gezeigt hat, dass sie einen sicheren Zugang gewährleistet. Die richtige Plattform ist dabei so anpassungsfähig, dass Sie Ihre bestehenden Sicherheitsprotokolle wiederverwenden können. Sie verfügt zudem über Single-Sign-On-Mechanismen, um eine nahtlose und sichere Benutzererfahrung zu schaffen.

Vermeiden Sie Risiken, sparen Sie Zeit und gewinnen Sie innere Ruhe, indem Sie sich für die Arbeit mit einer Plattform entscheiden.

Datenbeschaffung und -bereitstellung

Daten sind das Herzstück der Analytik. Ganz gleich, was Sie verwenden, Sie müssen eine Verbindung zu den Daten herstellen, damit die Analyse durchgeführt werden kann.

Heutzutage werden Daten, die für die Analyse wertvoll sind, nicht mehr an einem einzigen Ort gespeichert, wie etwa in einem Data Warehouse. Im Idealfall möchten Sie die Analyse der Daten unter Verwendung der zugrunde liegenden Funktionen des Backends durchführen, anstatt sie zu exportieren, zu transformieren und zu laden, wie es bei herkömmlichen BI-Systemen erforderlich wäre.

Wertvolle Daten können in Hadoop, Big Data, Search, noSQL, relationalen Datenbanken, Data Warehouses, Streaming, Cloud und vielen anderen potenziellen Quellen gespeichert sein, einschließlich Flat Files, zu denen Sie eventuell performante Verbindungen schreiben müssen. In Ihrer Anwendung haben Sie möglicherweise mehrere Datenquellen. Sind Sie darauf eingestellt, Konnektoren und Abfragemechanismen für all diese zu schreiben? Und wie sieht es mit der Möglichkeit aus, Daten zwischen Quellen miteinander zu verzahnen oder quellenübergreifende Analysen durchzuführen?

Plattformen wissen, dass diese Möglichkeiten eine hohe Priorität genießen. Sie bieten die Vorkehrungen, um native APIs zu nutzen, damit Sie die Daten abfragen und dabei gleichzeitig Ihre eigenen, maßgeschneiderten Geschäftsregeln schreiben können.

Was schließlich Einführung und Einsatz der Softwarelösung betrifft, so ist auch dies eine nicht-triviale Aufgabe. Ihrer Neigung folgend, könnten Sie es vorziehen, eine monolithische Anwendung zu implementieren, weil es die einfachste Option ist. Während Sie im Vorfeld Zeit sparen, kann dies im weiteren Verlauf der Produktentwicklung wieder auf Sie zurückfallen und schmerzhaft sein.

Die richtige Plattform wird mit einer Microservices-Architektur ausgestattet sein, die containerisiert und orchestriert werden kann. Dies ermöglicht:

  • Integration mit Ihren eigenen DevOps-Prozessen
  • Schnellere Einführung neuer Funktionalitäten.
  • Optimales Ressourcenmanagement durch elastische Skalierung, um Nachfragespitzen abzufangen
  • Hochverfügbarkeit
  • Größere Flexibilität im Einsatz

Das Beste daran ist, dass Sie es nicht selbst erstellen müssen - Sie können einfach mit einer Plattform arbeiten, die diese Architektur bietet.

Abschließende Überlegungen

Von Grund auf neu zu bauen, ist eine natürliche Neigung von Entwicklern. Geht es dann aber darum, Applikationen für den kommerziellen Einsatz zu entwickeln, die von Anwendern zur Unterstützung ihres Geschäfts genutzt werden sollen, kommen noch andere Faktoren ins Spiel.

Es ist wichtig, die richtigen Fragen zu stellen. Ist dieses Merkmal der Kern unseres IPs? Wie lange ist die Zeit bis zur Markteinführung? Wie hoch ist die zukünftige technische Verschuldung? Fragen wie diese werden Ihnen dabei helfen, die richtige Entscheidung zu treffen: Build or Buy?

Wenn Ihre Anforderungen einfach sind und Sie in der Zukunft nicht viele Änderungen sehen, könnte der In-house-Entwicklung der richtige Ansatz sein. Bei komplexeren Features, die Sie zukunftssicher machen müssen, hilft der Kauf einer Plattform für Embedded Analytics, viele der Probleme für die Entwickler zu lösen und den Endbenutzern eine viel interessantere Erfahrung zu bieten.

* Steve Morecraft ist Technical Account Manager bei Logi Analytics EMEA.

(ID:46853366)