HCL Domino · Replikation · Feldschutz · Security

Domino-Replikation mit Feldschutz

Die Auswahl der Dokumente, die repliziert werden sollen, ist häufig nur die halbe Aufgabe. Manchmal soll ein Dokument zwar in die Zieldatenbank gelangen – aber nicht jedes darin enthaltene Feld.

Das wird besonders dann relevant, wenn eine interne Domino-Datenbank als Master für eine reduzierte oder öffentliche Variante derselben Informationen verwendet wird. Interne Metadaten, administrative Informationen oder verschlüsselte Felder können in der Quelldatenbank benötigt werden, sollen jedoch niemals Bestandteil der Zieldatenbank werden.

Die entscheidende Frage lautet dann nicht mehr nur „Welche Dokumente sollen repliziert werden?“, sondern auch: „Welche Informationen innerhalb dieser Dokumente dürfen die Zieldatenbank erreichen?“
Dokumente auswählen – Felder schützen – Replizieren Formelbasierte Replikation mit Feldschutz Interne Help-DB Quelle / Master ÖFFENTLICHE INHALTE ✓ Titel ✓ Beschreibung ✓ Syntax / Beispiele INTERNE INHALTE 🔒 Interne Metadaten API Engine Dokumente per Formel auswählen ausgewählte Felder schützen in einem Vorgang replizieren FILTERN · SCHÜTZEN · REPLIZIEREN Öffentliche Help-DB reduzierte Zieldatenbank REPLIZIERT ✓ Titel ✓ Beschreibung ✓ Syntax / Beispiele NICHT ÜBERTRAGEN ✕ Interne Metadaten Ein Vorgang · Kontrollierte Replikation · Reduzierte Zieldaten
Von der Dokument- zur Feldauswahl

Manchmal reicht es nicht, nur die richtigen Dokumente auszuwählen

Im vorherigen Replikationsbeispiel wurde über eine Formel gesteuert, welche Dokumente an einer Domino-Replikation teilnehmen. Damit lässt sich bereits ein wichtiges Problem lösen: Nicht jedes Dokument der Quelldatenbank gehört zwangsläufig in die Zieldatenbank.

Aber selbst ein Dokument, das repliziert werden soll, kann Informationen enthalten, die ausschließlich auf einer Seite benötigt werden.

Dokumentauswahl

Welche Dokumente?

Eine Replikationsformel bestimmt, welche Dokumente für den Replikationsvorgang relevant sind.

  • öffentliche gegenüber internen Dokumenten
  • statusabhängige Selektionen
  • Dokumenttypen oder Kategorien
  • anwendungsspezifische Auswahlregeln
Feldschutz

Welche Felder?

Der Feldschutz bestimmt, welche Werte lokal in einer Datenbank erhalten bleiben und nicht durch Werte aus der jeweils anderen Datenbank überschrieben werden dürfen.

  • interne Metadaten
  • administrative Felder
  • lokale Workflow-Informationen
  • verschlüsselte interne Felder
Mit @ReplicateWithFormulaWithFieldProtection lassen sich beide Entscheidungen innerhalb desselben Replikationsvorgangs anwenden.
Praxisbeispiel

Ein interner Master – eine reduzierte öffentliche Help-Datenbank

Ein praktisches Beispiel dafür ist unsere eigene Help-Umgebung der Domino API Engine.

Die öffentliche Help-Datenbank wird aus einer internen Help-Datenbank abgeleitet, die als zentrale Datenquelle dient. Die interne Datenbank enthält zusätzliche Informationen für Entwicklung, Pflege und interne Verarbeitung, die nicht für die Veröffentlichung bestimmt sind.

Zwei vollständig voneinander unabhängige Help-Datenbestände zu pflegen, würde unnötige Redundanz erzeugen und die Synchronisation der Inhalte deutlich erschweren.

Gemeinsame Inhalte Titel, Beschreibungen, Syntaxinformationen, Beispiele und andere öffentliche Help-Inhalte können in die öffentliche Datenbank übertragen werden.
Interne Informationen Administrative und für interne Verarbeitungen verwendete Felder verbleiben ausschließlich in der internen Master-Datenbank.
Verschlüsselte Felder Interne verschlüsselte Felder, die öffentlich nicht benötigt werden, müssen gar nicht erst Bestandteil der öffentlichen Datenbank werden.
Ein gemeinsamer Master Die öffentliche Dokumentation kann weiterhin aus derselben gepflegten Datenbasis erzeugt werden, ohne einen zweiten unabhängigen Datenbestand verwalten zu müssen.
Sensible Informationen, die in der Zieldatenbank nicht benötigt werden, müssen dort nicht erst verborgen oder geschützt werden – sie müssen die Datenbank gar nicht erst erreichen.
Feldschutz

Geschützte Felder bleiben lokal in ihrer Datenbank

Der Feldschutz kann für beide an der Replikation beteiligten Datenbanken unabhängig voneinander definiert werden.

Ein für Datenbank 1 geschütztes Feld wird nicht durch ein gleichnamiges Feld aus Datenbank 2 überschrieben. Dasselbe Prinzip gilt in umgekehrter Richtung für Felder, die in Datenbank 2 geschützt wurden.

Datenbank 1

Die für Datenbank 1 angegebenen Felder behalten ihre lokalen Werte. Werte gleichnamiger Felder aus Datenbank 2 werden während der Replikation nicht übernommen.

Datenbank 2

Die für Datenbank 2 angegebenen Felder behalten ebenfalls ihre lokalen Werte. Entsprechende Werte aus Datenbank 1 werden nicht in diese Felder übertragen.

Wichtig: Der Feldschutz ist kein Mechanismus zum Löschen von Feldern. Existiert ein geschütztes Feld bereits in der Zieldatenbank, bleibt sein vorhandener Wert unverändert. Existiert es dort noch nicht, wird der geschützte Wert aus der anderen Datenbank durch die Replikation nicht eingefügt.
Ein Replikationsvorgang

Auswahl, Schutz und Replikation in einem Schritt

Der Vorteil dieses Ansatzes besteht darin, dass Dokumente nicht zunächst repliziert und unerwünschte Informationen anschließend wieder aus der Zieldatenbank entfernt werden müssen.

Replikationsformel, Replikationsrechte und Feldschutzregeln werden unmittelbar während des kontrollierten Replikationsvorgangs angewendet.

Auswählen Eine Formel steuert, welche Dokumente an der Replikation teilnehmen.
Richtung steuern Getrennte Replikationsrechte kontrollieren Lesen, Schreiben, Ändern und Löschen für beide Datenbanken.
Felder schützen Unabhängige Feldlisten definieren Informationen, die auf der jeweiligen Seite lokal erhalten bleiben sollen.
Ergebnisse auswerten Der Vorgang liefert Statistiken über erstellte, aktualisierte und gelöschte Dokumente und kann zusätzlich eine Fehlerstatistik zurückgeben.
Die beiden Datenbanken müssen keine gemeinsame Replica-ID besitzen. Dadurch eignet sich der Mechanismus auch für kontrollierte Synchronisationen zwischen unabhängig voneinander erzeugten Domino-Datenbanken.
Security und Datenminimierung

Nicht übertragen, was die Zieldatenbank nicht benötigt

Feldschutz ist nicht nur sinnvoll, um die Größe einer Datenbank zu reduzieren. Er kann gleichzeitig Bestandteil einer gezielten Datenminimierungsstrategie sein.

Werden interne Informationen in einer öffentlichen, externen oder anderweitig reduzierten Zieldatenbank nicht benötigt, besteht häufig wenig Nutzen darin, sie zunächst dorthin zu übertragen und anschließend über weitere Mechanismen zu verbergen.

Reduzierte Datenexposition Von der Replikation ausgeschlossene Informationen sind nicht automatisch in der Zieldatenbank vorhanden, nur weil sie in der Quelle existieren.
Kleinere Zieldatenbanken Nicht benötigte interne Felder belegen keinen zusätzlichen Speicherplatz in der reduzierten Zieldatenbank.
Klare Datengrenzen Anwendungsspezifische Feldlisten definieren explizit, welche Informationen auf welcher Seite der Replikation verbleiben sollen.
Unabhängige lokale Informationen Jede Datenbank kann eigene Felder pflegen, die von der Replikation aus der jeweils anderen Datenbank unberührt bleiben.
Weitere Einsatzmöglichkeiten

Dasselbe Muster funktioniert in vielen Domino-Szenarien

Eine interne und eine öffentliche Help-Datenbank sind nur ein Beispiel. Dasselbe Prinzip kann immer dann sinnvoll sein, wenn zwei Domino-Datenbanken einen Teil ihrer Informationen gemeinsam nutzen, andere Daten jedoch voneinander getrennt bleiben sollen.

Externe Portale Ausgewählte Anwendungsdaten veröffentlichen, ohne interne Workflow- oder Administrationsfelder zu übertragen.
Archivdatenbanken Relevante Geschäftsinformationen übertragen und gleichzeitig temporäre oder umgebungsspezifische Metadaten ausschließen.
Migration und Staging Reduzierte Zwischendatenbanken erzeugen, die nur die für den nächsten Verarbeitungsschritt benötigten Dokumente und Felder enthalten.
Verteilte Anwendungen Standortspezifische Informationen lokal halten und nur den gemeinsamen Teil der Anwendungsdaten synchronisieren.
Enthaltenes Evaluation-Beispiel

Feldgeschützte Replikation mit den Testdatenbanken ausprobieren

Die tatsächliche interne Help-Datenbank ist selbstverständlich nicht Bestandteil des Evaluation-Pakets. Stattdessen werden die bereits vorhandenen Testdatenbanken der Domino API Engine verwendet, um dasselbe Prinzip mit künstlichen Daten nachvollziehbar zu demonstrieren.

Die Testdokumente enthalten normale Felder, die an der Replikation teilnehmen, sowie zusätzliche Felder, die interne Informationen repräsentieren. Ausgewählte Felder werden während der Replikation geschützt, sodass die resultierenden Dokumente in der Zieldatenbank nur die dafür vorgesehenen Informationen enthalten.

Evaluation-Szenario
  • die mitgelieferten Domino-Testdatenbanken öffnen
  • über eine Formel die zu replizierenden Dokumente auswählen
  • die Replikationsrechte für beide Datenbanken definieren
  • Felder festlegen, die jeweils lokal erhalten bleiben sollen
  • die kontrollierte Replikation in einem einzigen Vorgang ausführen
  • die resultierenden Dokumente in beiden Datenbanken vergleichen
  • die zurückgegebenen Replikations- und Fehlerstatistiken auswerten
Die Testdatenbanken enthalten ausschließlich künstliche Daten. Sie demonstrieren dasselbe Prinzip des Feldschutzes wie das reale Help-Szenario, ohne interne Help-Inhalte offenzulegen.
Benötigen Sie mehr Kontrolle über Domino-Replikationen? Die Domino API Engine stellt programmierbare Replikationsfunktionen für Dokumentauswahl, Feldschutz, unabhängig erzeugte Datenbanken und anwendungsspezifische Synchronisations-Workflows bereit.
Szenario besprechen Evaluation herunterladen Funktionsdokumentation