DataHive – Grundlagen

Four steps to Teams success

DataHive ist ein flexibles Werkzeug zur Verwaltung verschiedener Arten von Produkten.
Bei diesen Produkten kann es sich um Maschinen, Fahrzeuge, technische Geräte aller Art oder auch nur um einfache Entitäten handeln. DataHive verwaltet diese Produkte und gibt Ihnen die Möglichkeit Ihre eigene Struktur festzulegen.
DataHive stellt Ihnen außerdem eine API zur Verfügung, um Anwendungen von Drittanbietern anzubinden.

Dieser Artikel beschreibt, wie DataHive funktioniert und wie Sie Ihre eigene Produktstruktur aufbauen können.

Produkte und Eigenschaften

Jedes Produkt hat Eigenschaften mit Werten.
Ein Eigenschaft-Wert-Paar beschreibt einen Aspekt Ihres Produkts auf eine bestimmte Art und Weise.
Zum Beispiel könnte ein Bohrwerk eine Eigenschaft namens „Leistung“ mit einem Wert von „10 kW“ haben.
In der folgenden Abbildung sehen Sie ein ein Bohrwerk mit drei Eigenschaften:

Diese Beschreibung ist noch sehr oberflächlich – DataHive wurde für komplexere Strukturen entwickelt. Trotzdem sollte Ihnen auffallen, dass alle drei Eigenschaften sich in bestimmten Punkten voneinander unterscheiden:

  • Power und Speed repräsentieren eine Zahl, die Seriennummer ist eine Zeichenfolge.
  • Power und Speed haben jeweils andere Einheiten. Somit haben wir es einmal mit Kilowatt und Umdrehungen pro Minute zu tun. Die Seriennummer hingegen hat gar keine Einheit.
  • Werte, die für Power gültig sind, werden für Speed vermutlich ungültig sein. Eine Seriennummer hat außerdem ein festgelegtes Format (z.B. XXXX).

DataHive bietet Ihnen die Möglichkeit für jede Eigenschaft bestimmte Regeln festzulegen. Z.B. das Format einer Seriennummer oder, dass die Eigenschaft „Power“ immer zwischen 10 und 50 kW liegen muss. Es können also Validierungsregeln pro Eigenschaft festgelegt werden.
Wir kommen im Praxisbeispiel wieder darauf zu sprechen.

Segmente

Wenn wir damit beginnen unser Bohrwerk mit mehr und mehr Eigenschaften zu versehen, werden wir schnell feststellen, dass es schwierig ist, den Überblick zu behalten.
Aus diesem Grund fasst DataHive Eigenschaften zu Segmenten zusammen. Jedes Segment hat einen Namen und eine Untermenge von Eigenschaften.
Auf diese Weise behalten wir den Überblick:

Produktkategorien

So weit, so gut, doch was geschieht, wenn wir nicht nur Bohrwerke abbilden möchten, sondern auch noch andere Arten von Produkten? Zum Beispiel Schneidemaschinen.
Um dies zu erreichen, führt DataHive Produktkategorien ein.
Eine Produktkategorie bestimmt, welche Eigenschaften ein Produkt haben kann.
In unserem Beispiel wollen wir jetzt auch Schneidemaschinen speichern.
Dies führt uns zu zwei verschiedenen Kategorien:

  • Bohrwerke
  • Schneidemaschinen

Dies könnte jetzt so aussehen:

In diesem Bild können Sie sehen, dass Bohrwerke drei Segmente und sieben Eigenschaften haben.
Schneidemaschinen hingegen haben zwei Segmente mit vier Eigenschaften.
Die Kategorie eines Produktes legt also fest, welche Segmente und Eigenschaften es haben kann.

Komponenten

Wenn unsere Struktur wächst und wächst, werden wir bald sehr viel mehr Eigenschaften erhalten als in unserem einfachen Beispiel aus dem letzten Abschnitt.
Stellen Sie sich vor, was passiert, wenn wir anfangen, hunderte von Eigenschaften zu haben, um unsere Bohrwerke zu beschreiben.
In diesem Fall werden wir mit zwei Problemen konfrontiert:

  • Einige Segmente könnten in mehreren Kategorien vorkommen. Vielleicht definieren Sie ein Segment „Motor“, das zwanzig Eigenschaften hat, und dann stellen Sie fest, dass Ihre Schneidemaschine auch einen Motor mit den gleichen Eigenschaften hat.
    Es wird umständlich sein, alle Segmente und Eigenschaften in jeder Kategorie immer wieder neu zu definieren.
  • Unsere Produkte könnten austauschbare Teile haben, die ersetzt oder auf andere Produkte übertragen werden könnten. Vielleicht möchte das Unternehmen sogar einige dieser Teile in der nächsten Zeit ersetzen. Unsere derzeitige Struktur wird diesem Bedarf nicht gerecht.

Zum Glück hat DataHive eine Lösung: Komponenten.
Komponenten sind Behälter für Segmente und Eigenschaften und fassen sie zu austauschbaren Einheiten zusammen.
Diese Teile können auch zwischen Kategorien wiederverwendet werden.
In unserem Beispiel von oben könnten wir die folgenden Komponenten unserer Bohrmaschine haben:

  • Motor
  • Gehäuse
  • Bohrfutter

Die Schneidemaschine könnte aus anderen Komponenten bestehen:

  • Motor
  • Gehäuse
  • Sägeblatt

Sie können sehen, dass beide einen Motor und ein Gehäuse haben. Wenn die Segmente und Eigenschaften eines Bohrmaschinenmotors und eines Sägemaschinenmotors übereinstimmen, könnten wir diese Komponenten wiederverwenden.
Wenn sie jedoch nicht übereinstimmen, müssen Sie für sie unterschiedliche Komponenten erstellen, z.B:

  • Motor für Bohrwerk
  • Gehäuse für Bohrwerk
  • Bohrfutter

Und:

  • Motor für Schneidemaschine
  • Gehäuse für Schneidemaschine
  • Sägeblatt

Das könnte dann so aussehen:

Produkttypen

Es geschieht eher selten, dass es auf dem Markt ein Produkt „Bohrwerk“ gibt. Normalerweise setzen sich zwar alle Bohrwerke aus denselben Komponenten zusammen (sie haben alle einen Motor, ein Bohrfutter etc.), doch unterscheiden Sie sich in anderen Bereichen (z.B. Leistung oder Größe)
Um dies abzubilden führt DataHive Produkttypen ein.
Ein Produkttyp unterscheidet verschiedene Produkte einer Kategorie:

Die Abbildung zeigt drei Bohrwerke, die sich aus denselben Komponenten zusammen setzen (weil sie alle zur Kategorie der Bohrwerke gehören).
Trotzdem hat jedes Bohrwerk seinen eigenen Typ (Bosch X500, Bosch A30 und AEG AGX5)

Linien (optional)

Manchmal gehören Produkte zusammen. Der Grund dafür könnte eine bestimmte Reihenfolge verschiedener Vorgänge sein. Zum Beispiel könnte eine Schneidemaschine ein Stück Rohmaterial schneiden und es an eine andere Maschine weitergeben, die die Qualität prüft oder etwas anderes tut. In einem solchen Fall führt DataHive Linien ein.
Eine Linie kann mehrer Produkte umfassen, um zu zeigen, dass sie in irgendeiner Weise zusammengehören.

Besonders im Maschinenbau können Linien hilfreich sein, denn oft werden Prozessschritte nacheinander in einer fest gelegten Reihenfolge durchgeführt.
Bei anderen Produkten (z.B. Fahrzeugen) machen Linien weniger Sinn und sind daher ein optionales Feature.

Kunden und Standorte

Am Ende landen Ihre Produkte immer bei einem Kunden. Diese Kunden könnten verschiedene Standorte weltweit haben. Aus diesem Grund lassen sich in DataHive Kunden und ihre Standorte anlegen, denen Sie später Ihre Produkte zuordnen können:

In der Abbildung sehen Sie, dass jeder Kunde viele Standorte und jeder Standort viele Produkte haben kann.
Und die guten Nachrichten sind: Die Metadaten von Standorten und Kunden sind so flexibel wie die Metadaten Ihrer Produkte.
Das bedeutet, dass Sie sich selbst aussuchen können, welche Struktur Ihre Kunden und Standort-Objekte haben sollen.
Somit könnte ein Kunde z.B. die folgenden Eigenschaften bekommen:

  • Eine Kundennummer?
  • Einen Kunden alias?
  • Eine weitere Eigenscahft Ihrer Wahl
  • Noch eine Eigenschaft

Historie

Zu guter letzt sollte noch erwähnt werden, dass eine Maschine einen Lebenszyklus haben kann.
Das bedeutet, dass Werte von Eigenschaften sich ändern können, oder Komponenten entfernt/hinzugefügt werden könnten. Dies hat zur Folge, dass eine Maschine in fünf Jahren anders aussehen könnte, als zum Zeitpunkt der Kommissionierung.
Solche Änderungen werden von DataHive als Historie gespeichert.
Folgende Aktionen werden getrackt:

  • Das Hinzufügen/Entfernen von Komponenten
  • Das Hinzufügen/Entfernen von Eigenschaften
  • Das Ändern von Eigenschaften

Wird ein Produkt gelöscht, wird es tatsächlich gelöscht. Eine Widerherstellung ist also nur mit Hilfe eines Backups möglich.
Es ist jedoch alternativ möglich ein Produkt zu „deaktivieren“. Das Produkt verschwindet dann aus der Datenbank und kann nur mit explizit gesetzten Optionen wieder angezeigt werden.

Zusammenfassung

In diesem Artikel haben Sie die Theorie hinter DataHive gelernt. Im nächsten Artikel werden wir ein praktisches Beispiel anschauen.
Fassen wir zusammen:

  • Ein Produkt besteht aus Eigenschaften, die in Segmenten zusammen gefasst werden können.
  • Mehrere Segmente werden zu austauschbaren und wiederverwendbaren Komponenten zusammen gefasst.
  • Die Produktkategorie legt fest aus welchen Komponenten ein Produkt bestehen kann (also auch aus welchen Segmenten und Eigenschaften).
  • Produkte können (müssen aber nicht) in Linien zusammengefasst werden.
  • Für jede Kategorie kann es noch eine beliebige Anzahl von Produkttypen geben.
  • Produkte lassen sich außerdem einem Kunden (der das Produkt gekauft hat) und einem Kundenstandort (wo das Produkt sich danach befindet) zuweisen. Jeder Kunde kann beliebig viele (auch einen) Standort haben.
  • Ein Produkt hat einen Lebenszyklus. Dieser wird ebenfalls gespeichert.

Schauen Sie sich im nächsten Abschnitt ein Praxisbeispiel an.