Für die Firma ITM-Solution GmbH aus Neunkirchen haben wir diverse Änderungen am internen Verwaltungssystem vorgenommen. Der Code eines früheren Entwicklers wurde von uns restrukturiert, teilweise neu geschrieben und wesentlich erweitert.

Zu den kleinere Änderungen gehören dabei Erweiterungen der Datenbank um neue Module und Fähigkeiten oder verschiedene Darstellungsformen, je nach Benutzerlevel des derzeitig eingeloggten Mitarbeiters.

Seite der ITM-Solution.de geöffnet auf Laptop und Smartphone

Datenbankbeschleunigung

Daneben wurde von uns eine Datenbankstrukturanalyse durchgeführt; dabei haben wir die bestehende Abfragesyntax beschleunigen können. Vorher wurden standardmäßig 100 Einträge mit jeweils 117 Daten abgerufen, was 11700 Datensätzen entsprach.

Nach Evaluierung wurden nur die wichtigen und benötigten ausfindig gemacht, nun werden standardmäßig lediglich noch 50 Einträge mit je 40 Daten abgerufen, was gerade einmal 2000 Datensätzen entspricht. Hier haben wir also eine Erhöhung im Datendurchsatz von knapp 500% erreicht. Dadurch werden pro Anfrage etwa 110Kb weniger Daten geladen.

Zusätzlich wurden einige der größten in der Anwendung verwendeten JavaScript-Bibliotheken stark optimiert bzw. komprimiert, dadurch konnte die Ladezeit der Seite weiter wesentlich reduziert werden.

Ferner haben wir die Datenbank von ITM fest mit der Vorgehensweise des Apache-DEFLATE bzw. gzip-Algorithmus „verlötet“, so dass alle Anfragen und Dateien automatisch komprimiert an den Benutzer ausgeliefert werden. Dadurch haben wir ebenfalls einzelne Dateien um den Faktor 10 verkleinern können.

Insgesamt konnte die Ladezeit der Seite nach unseren Messungen mit „Firebug“ bei abgeschaltetem gzip um knapp 4 Sekunden verringert werden, andererseits bei eingeschaltetem gzip um sogar 9 Sekunden reduziert werden.

Die durchschnittliche Abfragezeit der Seite konnte von ehemals rund 8 Sekunden bei völlig leerem Cache mit 100 Mbit auf nun etwa 1 Sekunde beschleunigt werden, bei einer 2 Mbit-Leitung liegt die Ladezeit bei maximal etwa 4,4 Sekunden, durchschnittlich jedoch bei 2.7 Sekunden, von anfangs 12 Sekunden.

Voicefile-Manager

Zu den größeren Errungenschaften zählt er sogenannte „Voicefile-Manager“.

Der Voicefile-Manager ist nur für Benutzer des Levels „Admin“ und „Superadmin“ sichtbar.

Der Voicefile-Manager ist eine eigenständige PHP-Datei, die auch durch einen Cronjob angestoßen werden kann (Beispielsweise nachts) und dann vollautomatisch die Voicefiles von einem externen Diensleister zu ITM überträgt und dann Dateien anhand von im Dateinamen codierten Handynummern zuordnet. Doppelte bzw. bereits vorhandene Dateien werden dabei übersprungen.

Beim Synchronisieren wird folgendermaßen vorgegangen:

  1. Befindet sich im Dateinamen eine Handynummer? Wenn ja, wird versucht, einem Nutzer diese Datei per extrahierter Handynummer zuzuordnen. Gibt es keinen Kunden mit dieser Handynummer, wird die Datei in den Pool geworfen und kann von einem Mitarbeiter von dort aus manuell einem Kunden zugeordnet werden. Dann kann man einen Kunden aussuchen, beispielsweise kann man nach Nachnamen filtern.
  2. Befindet sich in dem Dateinamen KEINE Handynummer bzw. ist „unbekannt“, dann wird versucht, die Datei anhand der sogenannten Quality-Call-ID zuzuordnen. Eine Quality Call-ID ist in jedem Dateinamen enthalten. Mitarbeiter, die wissen, welche Handynummer zu welcher Datei gehört, können eine neue Beziehung Handynummer->Quality-Call-ID ebenfalls über den Voicefile-manager herstellen. Da mehrere Kundeneinträge die gleiche Handynummer haben können, wird die ID bei jedem Kunden mit dieser Handynummer hinzugefügt.
  3. Kann die Datei auch nicht per Quality Call ID zugewiesen werden, wird die Datei ebenfalls in den Pool verschoben und kann von dort aus manuell zugeordnet werden.

Excel-Ex-/Import

Weiterhin wurde die Anwendung um einen Excel-Export erweitert, sowie ein umfassender Excel-Importer geschrieben, mit dessen Hilfe ebenso automatisiert Daten aktualisiert werden können.

Anbindung SMS-Gateway / Anbindung E-Mail-Anbieter

Durch die Anbindung an einen existierenden E-Mail-Anbieter können Kunden, welche von Mitarbeitern der ITM Solution GmbH in ihrem System angelegt werden und über keine eigene E-Mail-Adresse verfügen, automatisch mit einer solchen ausgestattet werden. Die E-Mail-Adresse wird dabei automatisch im Hintergrund aus Vor- und Nachnamen, sowie einer Zufallszahl beim E-Mail-Anbieter angelegt. Durch die Verknüpfung mit einem SMS-Gateway erhalten die Kunden ihr Passwort und weitere Informationen aufs Mobiltelefon gesendet. Die Integration wurde nahtlos und ohne zusätzliche Aufwände für die Mitarbeiter in die bestehende Umgebung integriert.

hQEMA7x4Fta4F8S2AQf/TEyeW5oWpkcpVzZ31SoYtoxj+wNd2Zr83A3J/ggHSAGR avQqyhaAJOKY/fgZDPE975j8tsya8yOW7n51gfnX5vLQTZtI/0x76vZU/ufAtrcT bhOskBcXl27iyaVUOjIxcHffzDARbtrK35z78pC6tt+ssjGeBtcKYz8qgy8kcsZA bDCwd9pR4LqugFhrxpDGoY30bnscMnrjtRYh5keWutDc/7K64unD2nHkAEFBubN9 W2TJ6oW2MHYfgWSOnIfKeioixW2gD4Rju1fCQ9BwH0+WZ8mbMg5MG+fLnZVe87u7 5cPIA5evDuDApmc2Xe/wgRr8O59IxWTfQ3+dCCRv5dLAYAHyuc89qZn66vuRq+Ny 9tqKNumxQeFGGqEK35uzl9hjV7IbTrfKDKpOlEjV4vaN6KmUmMq1P6bhrvVhV08B YQ/8ApEzjJWoRhgKNzo2cigpxYmsyhXR+7sPObdxFK36RfaGqUQG5dZJf+/es4dT o33pLuZsdDAVFMtOwlLt5ec7Aee4xAOJAW0UfDUVK1gXuXC/cghNwBOgK+b+nVpd 4H6v35+/PfZ8LLJtueLtOdxF526vPvnPTMy91QCxdpjHAdwLb31NClLOIgknagDV rSiuvXTzU4O8f+mn1RCTQIlyjSomhKGS49HMJWNUDCeHurQPEjyquaMMBsYJM0xI yG5bWLFrPVxYWUDEptvv/4eFubCj8HoccolU2q9yQ57iSQ=3D=3D =3D8/ot