Wie entwickelt man ein Statistikframework in fünf Schritten?

Die Macht der Klickzahlen

János Vona


Für Entwickler wird es dann knifflig, wenn der Kunde nicht nur Zugriffszahlen fordert, sondern diese Zahlen mit anwendungsspezifischen Businessdaten verknüpfen und diese Datenkombination auswerten möchte. Als Beispiel: Man möchte auswerten, wie oft eine Webseite von den angemeldeten Benutzern im Alter zwischen 20 und 49 Jahren besucht wurde. Mit den am Markt existierenden Open-Source-„Zugriffssammler“-Lösungen kann man weder ermitteln, welche Daten (z. B.: Alter des Benutzers) auf der Serverseite vorhanden sind, noch diese Businessdaten mit den Zugriffsdaten verknüpfen. Erschwerend kommt hinzu, dass man bei der Auswertung wesentlich komplexere Daten vorliegen hat als bei reinen Zugriffsdaten. Es liegt also nahe, ein Statistikframework für JEE-Applikationen zu entwickeln.

So entsteht ein Framework

Es war von Anfang an klar, dass man mit einfachen Zugriffsstatistiken (Hit pro Seite) nicht viel erreicht. Mit der Größe der JEE-Applikation wuchsen auch die Anforderungen an die Statistikfunktionalitäten. Also musste etwas entwickelt werden, was die folgenden Anforderungen erfüllen kann:

modularer Aufbauagile Softwareentwicklungeinfache Konfigurationbreite Einsatzmöglichkeitgeringe Entwicklungszeitgeringe Kosten (Verwendung von Open Source, wo es möglich und sinnvoll ist)

Diese Anforderungen können – gleichzeitig – nur dann erfüllt werden, wenn man eine Art Framework entwickelt. Am Anfang des Projekts wollte ich nur ein generalisiertes Statistikmodul zu einer bestehenden JEE-Applikation erstellen. Am Ende ist es ein Framework geworden. Was ich dabei gelernt habe, ist, dass die Zeit, die man in die Planung investiert, sich später mehrfach auszahlen wird!

ArtikelserieTeil 1: Hauptaufgaben des Frameworks: Business- und Zugriffsdaten analysieren und sichernTeil 2: Datenauswertung (dynamische Abfrage) und -visualisierungTeil 3: Modernes Caching

Der erste Schritt: Daten analysieren

In medias res: Was macht ein Statistikframework überhaupt? Es kann Informationen sammeln (StatisticAnalyser) und diese Information irgendwo sichern (StatisticWriter). Listing 1 zeigt dazu eine passende Konfiguration. In der Konfiguration sieht man, dass es zwei Wege gibt (method), die Statistiken zu erstellen. Entweder kann man es mit filter machen oder mit java über das Java-API des Frameworks. Schauen wir zuerst den Filter an.

Die HttpRequest-Verarbeitung eines Webservers nutzt das „Intercepting Filter Design Pattern“ [1]. Mit einem (Web-)Filter kann man eigene Java-Klassen in diese Kette (F...

Wie entwickelt man ein Statistikframework in fünf Schritten?

Die Macht der Klickzahlen

János Vona


Für Entwickler wird es dann knifflig, wenn der Kunde nicht nur Zugriffszahlen fordert, sondern diese Zahlen mit anwendungsspezifischen Businessdaten verknüpfen und diese Datenkombination auswerten möchte. Als Beispiel: Man möchte auswerten, wie oft eine Webseite von den angemeldeten Benutzern im Alter zwischen 20 und 49 Jahren besucht wurde. Mit den am Markt existierenden Open-Source-„Zugriffssammler“-Lösungen kann man weder ermitteln, welche Daten (z. B.: Alter des Benutzers) auf der Serverseite vorhanden sind, noch diese Businessdaten mit den Zugriffsdaten verknüpfen. Erschwerend kommt hinzu, dass man bei der Auswertung wesentlich komplexere Daten vorliegen hat als bei reinen Zugriffsdaten. Es liegt also nahe, ein Statistikframework für JEE-Applikationen zu entwickeln.

So entsteht ein Framework

Es war von Anfang an klar, dass man mit einfachen Zugriffsstatistiken (Hit pro Seite) nicht viel erreicht. Mit der Größe der JEE-Applikation wuchsen auch die Anforderungen an die Statistikfunktionalitäten. Also musste etwas entwickelt werden, was die folgenden Anforderungen erfüllen kann:

modularer Aufbauagile Softwareentwicklungeinfache Konfigurationbreite Einsatzmöglichkeitgeringe Entwicklungszeitgeringe Kosten (Verwendung von Open Source, wo es möglich und sinnvoll ist)

Diese Anforderungen können – gleichzeitig – nur dann erfüllt werden, wenn man eine Art Framework entwickelt. Am Anfang des Projekts wollte ich nur ein generalisiertes Statistikmodul zu einer bestehenden JEE-Applikation erstellen. Am Ende ist es ein Framework geworden. Was ich dabei gelernt habe, ist, dass die Zeit, die man in die Planung investiert, sich später mehrfach auszahlen wird!

ArtikelserieTeil 1: Hauptaufgaben des Frameworks: Business- und Zugriffsdaten analysieren und sichernTeil 2: Datenauswertung (dynamische Abfrage) und -visualisierungTeil 3: Modernes Caching

Der erste Schritt: Daten analysieren

In medias res: Was macht ein Statistikframework überhaupt? Es kann Informationen sammeln (StatisticAnalyser) und diese Information irgendwo sichern (StatisticWriter). Listing 1 zeigt dazu eine passende Konfiguration. In der Konfiguration sieht man, dass es zwei Wege gibt (method), die Statistiken zu erstellen. Entweder kann man es mit filter machen oder mit java über das Java-API des Frameworks. Schauen wir zuerst den Filter an.

Die HttpRequest-Verarbeitung eines Webservers nutzt das „Intercepting Filter Design Pattern“ [1]. Mit einem (Web-)Filter kann man eigene Java-Klassen in diese Kette (F...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang