Data Replication Layer

Ein großes österreichisches Dienstleistungsunternehmen möchte an einem europäischen Verbund gleicher Unternehmen teilnehmen und Aufträge in anderen Ländern ausführen. Eine notwendige Bedingung dafür ist die Bereitstellung eines eigenen IT Systems, das mit anderen Dienstleistungsunternehmen in diesem Verbund kommunizieren kann.

Umfeld

Im Unternehmen ist eine hauseigene Lösung für eine Logistik Software geplant, das die handelnden Personen beim Treffen ihrer Entscheidungen unterstützt. Jede handelnde Person hat dabei immer alle notwendigen Daten lokal auf ihrem Rechner, um gegen kurzzeitige Netzwerk Ausfälle immun zu sein. Die Daten werden laufend über ein eigenes Netzwerk Protokoll repliziert.

Die Software soll auch in der Lage sein, das Netzwerk Protokoll zu erfüllen, das für die Anbindung des Unternehmens an den europäischen Verbund ermöglicht. Dazu sind zwei Bedingungen zu erfüllen:

  • Es muss ein Mapping zwischen dem Datenmodel des Unternehmens und dem standardisierten Datenmodel des Verbundes geben.
  • Für die Replikation der Daten mit Teilnehmern aus dem Verbund muss das standardisierte Netzwerk Protokoll implementiert werden.

Teil des standardisierten Protokolls sind auch eine Kategorisierung der Information und Filtermechanismen, die gewährleisten, dass nicht jeder jede Information aus dem gesamten Verbund kennen muss. Ein Clustering der Teilnehmer, damit nicht jeder jeden kennen muss, ist nicht Teil des Standards, wird jedoch von diesem empfohlen.

Das Gesamtsystem soll weitgehend resistent gegen den Ausfall einzelner Knoten sein. Bei Ausfall eines oder mehrerer Knoten sollen noch funktionierende andere Knoten deren Aufgaben übernehmen.

Projektziel

Das Ziel dieses Projektes ist die Implementierung des Netzwerk Protokolls. Sie erfolgt gemäß der vorgegebenen Standardisierung in zwei Teilen. Ein Teil macht die jeweiligen Teilnehmer im Verbund bekannt. Dieser basiert auf dem bekannten Protokoll UDP. Der zweite Teil ist dann für die eigentliche Kommunikation verantwortlich und basiert auf TCP. Für große Datenmengen ist auch der Export und Import auf Datenträger vorgesehen.

Das Mapping der beiden Datenmodelle ist nicht Gegenstand dieses Projekts.

Auch das Clustering der Teilnehmer am Verbund ist nicht Teil des Projekts. Eine Lösung erfolgt auf den darunter liegenden Schichten TCP, UDP bzw. IP.

Projekt Umfang

Als erstes wird die Komponente entwickelt, die den Knoten via UDP Broadcast/Multicast im Verbund bekannt macht. Dazu werden die UDP Messages mit den standardisierten Daten versorgt, bzw. sorgen Listener und Parser dafür, dass eingehende Benachrichtigungen erkannt und interpretiert werden.

Die Basis Schicht der Nutzdaten Austausch Komponente baut auf Netzwerk Protokoll TCP auf. Ihre Aufgabe ist das Öffnen und Schließen von Verbindungen und das Ver- und Entschlüsseln, das Zippen, und das Versenden und Empfangen von Nachrichten.

Die darauf aufbauende Schicht interpretiert die verschiedenartigen Nachrichten bzw. baut sie für den Transport zusammen. Die verschiedenen Nachrichtentypen umfassen unter anderem das Abonnieren und Abbestellen von bestimmten Informationstypen und das Versenden und Empfangen von den eigentlichen Nutzdaten.

Die Nutzdaten werden von dort von der hauseigenen Logistik Software abgeholt bzw. eingestellt, wenn sich Daten geändert haben, an denen andere Teilnehmer interessiert sind.