Inventarisierung und Gerätebeschriftung

AS infotrack liefert für Kunden neue Hardware aus und alte Geräte müssen für eine gewisse Zeit einlagert werden. Ohne Inventarisierungskonzept würde schnell der Überblick über die vorhandene Hardware verloren gehen. In diesem Blog-Beitrag beschriebe ich, wie ich im Rahmen meiner Lehrabschlussprüfung die Inventarisierung erneuert und verbessert habe.

Mein Name ist Tobias Sturzenegger und ich schliesse im Juni 2019 meine Berufslehre als Informatiker mit dem Schwerpunkt Systemtechnik ab. Als Abschlussarbeit musste ich ein Projekt finden, welches innert zehn aufeinanderfolgenden Arbeitstagen zu erledigen ist und idealerweise einen Mehrwert für den Lehrbetrieb stiftet.

Als IT-Dienstleister ist es üblich, dass in einem gewissen Zyklus die Hardware bei Kunden zu ersetzen ist. Die Geräte müssen natürlich beschriftet und inventarisiert werden, damit der Überblick über die vorhandene Hardware nicht verloren geht und im Supportfall Informationen über die Geräte an einem zentralen Ort vorliegen.

Momentan werden neue Geräte mittels Schriftband, das den Gerätenamen aufweist, beschriftet. Nach Abschluss meiner Projektarbeit sollen diese Labels mit neuen, gebrandeten und mit einem QR-Code versehenen Etiketten ersetzt werden. Der Vorteil der neuen Beschriftung besteht darin, dass Dank QR-Code eine Verbindung zum Inventarsystem besteht und dadurch innert kürzester Zeit alle relevanten Informationen zum jeweiligen Gerät aufgerufen werden können.

In den folgenden Kapiteln zeige ich Ihnen auf, wie die neue Inventarisierung zustande gekommen ist.



1.Planung der Projektarbeit

Zeitplan

Da ich die ganze Arbeit im Rahmen der IPA (Interdisziplinäre Projektarbeit, betriebliche Lehrabschluss-Prüfung) abgehandelt habe, musste ich mich neben der Umsetzung des Endprodukts auch auf eine saubere Planung und gründliche Dokumentation konzentrieren. Um nicht in Verzug zu geraten, musste ich als einer der ersten Schritte einen Zeitplan erstellen, welcher mich durch die Projektarbeit leitete.

Die ganze Arbeit habe ich nach der Projektmanagementmethode IPERKA (Informieren – Planen – Entscheiden – Realisieren – Kontrollieren – Auswerten) durchgeführt. Wie Sie dem untenstehenden Zeitplan entnehmen können, habe ich die Planung etwas unterschätzt (Abweichung von grauer SOLL-Zeit zu oranger IST-Zeit). Dies ist mir beim Schreiben der Dokumentation aufgefallen, da ich Probleme mit der Strukturierung hatte. Glücklicherweise konnte ich die verlorene Zeit während der Realisierungsphase wieder aufholen.

Zeitplan der IPA

Erklärung der verschiedenen Komponenten

Um die Projektarbeit zu verstehen, ist es wichtig, die verschiedenen Komponenten meiner Projektarbeit zu kennen.

Als Inventarsystem verwenden wir intern seit mehreren Jahren die Open-Source-Software GLPI. Das Inventarsystem ermöglicht uns jede Hardware und Software, die wir intern oder bei Kunden im Einsatz haben, an einem zentralen Ort einzusehen. Jedem Gerät sind darin verschiedene Werte zugewiesen, wie zum Beispiel dessen Namen, bei einem Computer die Grösse des Festplattenspeichers und vieles mehr. Die Identifikation der Objekte ist im GLPI etwas unglücklich gehalten, weswegen ich jedem Objekt die Inventarnummer als weiteren Wert hinzugefügt habe.

Das GLPI-Inventarsystem ist von Haus aus nicht in der Lage aus den Werten der Objekte, spezifische Etiketten mit QR-Codes zu generieren und zu drucken. Für einen solchen Fall bietet jedoch die Software die Möglichkeit, eigene Funktionen zu erweitern. Eine solche Erweiterung wird Plugin genannt.

Zum Drucken der Etiketten kommt ein Zebra Etikettendrucker zum Einsatz. Dieser kann mittels Zebras eigener Druckersprache «ZPL» über das Netzwerk angesprochen werden. Dies ermöglicht uns, mithilfe des Plugins, Druckaufträge aus dem Inventarsystem an den Drucker zu senden.

Jeder Support-Mitarbeitende muss die QR-Codes auf den Etiketten scannen können. Um dies zu ermöglichen, habe ich mich dazu entschieden, eine Mobile App zu erstellen. Da bei uns Mobiltelefone mit Google Android, sowie Geräte mit iOS von Apple im Einsatz sind, muss die zu erstellende App auf beiden Betriebssystemen funktionieren. Deshalb habe ich mich zum Erstellen der Applikation für das Ionic Framework entschieden.

2.Anforderungs- & Prozessdefinition

Anforderungen an die neue Lösung

Bevor ich Ihnen die umgesetzte Lösung der Inventarsystem-Erweiterung präsentiere, möchte ich an dieser Stelle die Anforderungen auflisten, welche zum einen aus dem mir gestellten Projektbeschrieb hervorgingen und zum anderen aus der Planung abgeleitet werden mussten. Die Inventarsystem-Erweiterung muss folgendes abdecken:

Eingangskontrolle

Damit bei der Inventarisierung eines neuen Gerätes keine wichtigen Schritte vergessen gehen, musste ich definieren, wie das Vorgehen bei Erhalt von neuer Hardware ist. Bestenfalls werden diese Schritte immer von derselben Person durchgeführt, um eine Fehlerquelle zu eliminieren. Die getätigten Schritte sollen ausserdem belegt werden können, weshalb ich Checklisten erstellt habe, die nach der Durchführung signiert und abgelegt werden.

Der Ablauf bei Erhalt neuer Hardware ist auf dem folgenden Flussdiagramm ersichtlich:

Eingangskontrolle

Einheitliche Inventarnummer

Damit nicht zu viele Daten im QR-Code hinterlegt werden müssen, definierte ich eine im Inventarsystem eindeutige Inventarnummer. Dies ist nötig, um die Verbindung zum Inventarsystem zu ermöglichen.

Die Inventarnummer enthält folgende Informationen:

3.Umsetzung des Plugins

Unser Inventarsystem war nicht in der Lage Etiketten für die verschiedenen Geräte zu drucken. Um dies zu ermöglichen, musste ich das Inventarsystem um diese Funktion erweitern. Es ist denkbar, dass die programmierte Erweiterung der Öffentlichkeit zur Verfügung gestellt werden soll. Dementsprechend muss das Plugin (die Erweiterung) diverse Konfigurationsmöglichkeiten wie zum Beispiel die Einstellung der Etikettengrösse oder der IP-Adresse des Etikettendruckers aufweisen.

Auf dem nachfolgenden Bild ist ein Entwurf der gedruckten Etikette ersichtlich, welche für die IPA ausreicht, jedoch nicht in dieser Form produktiv verwendet wird. Das finale Design wird nach Abschluss meiner Projektarbeit intern final besprochen.

Beispiel eines Etiketts

Die Etikette enthält neben dem QR-Code den Gerätenamen, sowie die generierte Inventarnummer.

Im QR-Code können mehrere objekt-spezifische Werte abgelegt werden, um die Verbindung zum Inventarsystem zu realisieren. Mit der umgesetzten Lösung kann jeder Benutzer des Plugins entscheiden, wie der gedruckte QR-Code weiterverwendet wird. Die wohl einfachste Lösung wäre dabei, im QR-Code die URL zum Inventar-Objekt abzubilden, was aber jede Menge Nachteile mit sich bringt.

Ich musste eine Lösung finden, welche einfach erweiterbar ist und auch nach einer Änderung am Inventarsystem noch funktioniert.

Somit entschied ich mich, die generierte Inventarnummer im QR-Code zu hinterlegen (im JSON-Format). Diese Lösung deckt die Anforderung bezüglich Flexibilität und Erweiterbarkeit bestens ab, erfordert jedoch eine App, welche die im QR-Code enthaltenen Daten lesen kann, um die Verbindung zum Objekt im Inventarsystem zu ermöglichen.

Scanning App

Bei der Planung der App musste ich mich darauf konzentrieren, nur das nötigste zu machen. Ich wollte jedoch die App so gestalten, dass diese einfach erweiterbar ist und in Zukunft auch für weitere Services verwendet werden könnte.

Planung der App

Die App nutzt die REST-API (Anwendungsschnittstelle) des GLPI-Inventarsystems, um den Benutzer zu authentifizieren und die entsprechenden Daten zu den Objekten bereitzustellen. Da die Aufgabe darin bestand, nur eine Verbindung zum Objekt im Inventarsystem herzustellen, musste ich nur die URL zusammenstellen, welche zum gewünschten Objekt im GLPI führt. Natürlich könnte auch jede Information aus dem GLPI auf der App selbst abgebildet werden. Dies benötigt jedoch Zeit, welche ich im Rahmen der IPA schlichtweg nicht hatte. Eine solche Erweiterung wäre aber im Nachhinein denkbar.

Mit der fertiggestellten App kann ein QR-Code gescannt werden, woraufhin mittels der im QR-Code enthaltenen Inventarnummer eine Abfrage über die REST-API des GLPI-Inventarsystems getätigt wird und so die URL zum GLPI-Objekt zusammengestellt wird. Die URL kann bei erfolgreichen Abfragen anschliessend mittels eines Buttons geöffnet werden und der Benutzer gelangt auf die Objektseite im Inventarsystem.

Nachfolgend sehen Sie drei Screenshots, wie die App am Ende der zehn Projekttagen aussah. Im ersten Bild ist ersichtlich, wie mithilfe der Kamera der QR-Code erfasst werden kann. Wird ein gültiger QR-Code gefunden, erscheint die in Bild 2 ersichtliche «Ergebnisseite». Mit dem Klick auf «Open GLPI» wird die Objektseite im Inventarsystem angezeigt (Bild 3). Somit verfügt der Support-Mitarbeitende über alle benötigten Informationen zum vorliegenden Gerät.

4.Reflexion

Die Projektarbeit hat mir viel Freude bereitet, hat mich aber auch sehr gefordert und mich vor komplexe Probleme gestellt. Dies aus dem Grund, da die Arbeit viele Aspekte beinhaltet, die von der Konzeption und der Prozessdefinition, über kleinere Systemtechnik-Aufgaben bis hin zur Programmierung und Dokumentation so ziemlich jede Facette des Berufs des Informatikers beinhaltete.

Die Wahl, eine App zu entwickeln, war aufgrund der verfügbaren Zeit riskant, lässt jedoch viel Spielraum für künftige Erweiterungen offen, weswegen es sich meiner Meinung nach gelohnt hat, diesen Weg zu wählen.

Das Endprodukt erfüllt die gestellten Anforderungen und kann mit einer kleinen Anpassung produktiv verwendet werden.


Tobias Sturzenegger

Software Engineer


Die IPA bildet den Abschluss meiner Berufslehre als Informatiker. Diese Projektarbeit wiederspiegelt das Gelernte der letzten vier Jahre, weswegen es mir wichtig war, ein bestmögliches Ergebnis abzuliefern. Die Erfahrungen, die ich vor allem bezüglich der Projekt-Planung machen konnte, werden mir in Zukunft dabei helfen, strukturiert und effizient zu arbeiten. Eine saubere Gerätebeschriftung und Inventarisierung sind wichtig, um den Überblick über die vorhandene Hardware nicht zu verlieren und Support-Fälle zu beschleunigen.