Microsoft Office. Outlook Add-in und Add-on Software.

 

Welcome to the Association of Shareware Professionals! Shareware Software for SME.

 

 

 

Was ist der Unterschied zwischen einer Synchronisation und einer Freigabe?

OLfolders ist kein Synchronisationsprogramm für Outlook-Daten, sondern ein Programm um Outlook-Daten im Netz freizugeben.

Das Prinzip ist das gleiche, wie bei einer Dateifreigabe: Wenn Daten auf einer Festplatte gemeinsam im Netzwerk verwendet werden sollen, wird auf einem Computer (dem Server) die Festplatte im Netzwerk freigegeben. Im Explorer wird das Netzwerklaufwerk als neues Laufwerk angezeigt (Bild 1). Mit OLfolders werden freigegebene Daten im Outlook-Baum angezeigt (Bild 2).

 

   

 

Bild 1: Freigabe eines Laufwerkes

 

Bild 2: Freigabe in Outlook

 

Bild1: Beim Zugriff auf die freigegebenen Daten, werden diese nicht kopiert, sondern direkt auf dem Server verwendet. Wenn Sie sich in Windows mit einem Netzwerklaufwerk verbinden, wird nicht die ganze Festplatte des Servers auf c: kopiert, sondern jeder Zugriff auf die Netzwerkdaten erfolgt über das Netzwerk. Sie können also trotz Netzwerklaufwerk ihre eigenen Daten behalten. Wenn Daten des Servers verwendet werden sollen, verwenden Sie stattdessen z.B. Z: statt C:

 

Bild 2: Beim Zugriff auf gemeinsame Outlook-Daten mit Olfolders behalten Sie ebenfalls Ihre Persönlichen Ordner, zusätzlich wird ein Baum in Outlook eingeblendet, welcher den Zugriff auf die Daten des Servers erlaubt. Die Daten des Servers werden nicht in den Persönlichen Ordner kopiert und dort verändert, sondern direkt auf dem Server verändert.

Weder bei der Dateifreigabe noch bei der Outlook-Freigabe wäre es nicht besonders effektiv, sich alle Daten (z.B. die ganze Festplatte des Servers) zu kopieren und die Änderungen lokal vorzunehmen und dann wieder zurückzukopieren. Dies würde relativ lange dauern und Konflikte erzeugen, wenn mehrere Änderungen an der gleichen Datei gemacht wurden. Um Konflikte zu vermeiden wird eine Datei oder ein Outlook-Element für alle anderen gesperrt, wenn ein Mitarbeiter diese gerade bearbeitet.

Daten offline verwenden.

Der Nachteil bei einer Netzwerkfreigabe ist, dass die Daten nur zur Verfügung stehen, wenn auch eine Netzwerkverbindung vorhanden ist. Sollen die Daten ohne Netzwerkverbindung zur Verfügung stehen, zum Beispiel unterwegs auf dem Notebook, müssen die Daten synchronisiert werden. Dazu werden bestimmte Ordner auf den Laptop kopiert. Bei Änderungen werden die Dateien wieder zurück auf den Server geschrieben.

Konflikte

Die Offline-Daten sollten vorsichtig behandelt werden, nicht alle Änderungen können vom Synchronisationsprogramm korrekt behandelt werden (die meisten dieser Fälle können auch von Mitarbeitern nicht aufgeklärt werden).

 

Bei der Bearbeiten von Offline-Daten können Konflikte entstehen, wenn zum Beispiel zwei Mitarbeiter die gleiche Excel-Tabelle verändert haben kann das Synchronisationsprogramm nicht entscheiden, welches die bessere Änderung ist (Siehe Bild 3).

Wenn in Outlook der gleiche Kontakt von Mitarbeiter A und Mitarbeiter B geändert wurde, zum Beispiel zwei Mitarbeiter verschieben einen Termin, der eine verschiebt ihn auf 15:00 der andere auf Morgen 8:30. Das Synchronisationsprogramm kann nicht entscheiden, ob 15:00 besser ist als Morgen früh um 8:30 und nimmt dann zum Beispiel die Änderung, welche zuletzt vorgenommen wurde.

 

Mitarbeiter A

Mitarbeiter B

Bild 3: Beispiel für einen Konflikt. Mitarbeiter A und Mitarbeiter B haben die Excel-Tabelle verändert. Das Synchronisationsprogramm kann nicht entscheiden, welche der beiden Änderungen die bessere ist. Ist 3500 besser als 4000 oder 8000 besser als 9000?
Selbst, wenn das Synchronisationsprogramm in der Lage wäre, Excel-Dateien zu öffnen und zu verstehen, könnte es in diesem Fall nicht entscheiden.

 

Es gibt mehrere Arten von Konflikten, zum Beispiel:

  • Datei wurde von mehreren Personen geändert (Bild 3). Es kann nicht entschieden werden, welche Änderung die bessere ist.

  • Datei wurde lokal geändert, aber der Ordner für die Datei wurde auf dem Server gelöscht oder verschoben. Die Synchronisation kann die Datei nicht mehr finden und legt sie an der ursprünglichen Stelle wieder an (d.h. es gibt jetzt Zwei Kopien der Datei).

  • Datei wurde lokal geändert aber auf dem Server in einen anderen Ordner verschoben. Die Synchronisation legt die Datei neu an.

  • Datei wurde lokal und auf dem Server umbenannt oder verschoben. Die Synchronisation legt die jeweils umbenannte Datei auf dem anderem System an, d.h. es gibt jetzt 4 Versionen der Datei.

  • usw.

Vor- und Nachteile

 

1. Freigabe von Daten

Bei einer Freigabe werden die Daten nicht als Kopie an jeden Teilnehmer versendet, sondern stehen nur einmal zur Verfügung, und zwar auf einem Server. Sobald sich ein Client mit dem Server verbindet, hat dieser sofort Zugriff auf alle Daten. Die Daten werden dabei nicht komplett übertragen, sondern nur jeweils der Teil, welcher benötigt wird, zum Beispiel das Inhaltsverzeichnis eines Ordner, der Text einer E-Mail oder ein Anhang, sobald dieser geöffnet wird. Nimmt der Teilnehmer eine Änderung vor, wird diese direkt auf dem Server ausgeführt.

 

Vorteile:

  • Sämtliche Daten stehen sofort zur Verfügung, ohne dass diese vorher übertragen werden müssen.

  • Es wird ggf. nur ein Teil der Datei oder des Datensatzes übertragen, nicht der komplette Datensatz

  • Gleichzeitiges Ändern von Dokumenten durch mehrere Benutzer kann verhindert werden, dadurch sind keine Konflikte möglich.

  • Geringe Netzwerklast

  • Der Server kann den Schreibzugriff sperren, wenn ein Teilnehmer einen Datensatz ändert um Konflikte zu vermeiden.

  • Die freigegebenen Daten können synchronisiert werden, falls dies erforderlich ist.

  • Weil wenig Daten übertragen werden, ist eine Verbindung über das Internet möglich.

  • Es kann keine Synchronisationsfehler (fehlende Elemente, Duplikate, Konflikte) geben, weil nicht synchronisiert wird.

Nachteile:

  • Dokumente sind nur verfügbar, wenn die Netzwrekverbindung steht, außer es wurde eine Synchronisation durchgeführt.

  • Wird ein Dokument gelöscht, gilt dies für alle Benutzer.

  • Das Öffnen von Dokumenten dauert eventuell länger als bei einer lokalen Kopie.

OLFolders verwendet eine Freigabe von Daten, eine Synchronisation kann optional mit QSynchronization synchronisiert werden.

 

2. Synchronisation von Daten

Bei einer Synchronisation werden alle Daten auf jeden Computer kopiert. Erst wenn die Kopie vollständig ist, kann auf alle Daten zugegriffen werden. Jeder Teilnehmer führt Änderungen an seiner Kopie der Daten durch.

Nach einer gewissen Zeit gleichen alle Teilnehmer sämtliche Daten mit den Daten des Servers ab. Wenn eine Änderung an einer Datei oder einem Element vorgenommen wurde, wird dieses auf den Server kopiert, wenn ein anderer Teilnehmer eine Änderung vorgenommen hat, wird es auf den Computer aller anderer Kopiert.

 

Vorteile:

  • Alle Daten sind mehrfach vorhanden, wenn Daten bei einem Teilnehmer zerstört werden, können die Daten von einem anderem verwendet werden.

  • Keine Abhängigkeit vom Server, jeder Teilnehmer kann offline arbeiten bzw. sich jederzeit vom Netz trennen.

Nachteile:

  • Die Daten stehen nicht sofort zur Verfügung, sondern erst wenn die Synchronisation durchgeführt wurde. Bei großen Datenmengen kann dies einige Zeit in Anspruch nehmen. Ab diesem Zeitpunkt werden nur noch Änderungen synchronisiert.

  • Je mehr Teilnehmer, desto mehr Netzwerkresourcen werden benötigt, um alle Änderungen an alle Teilnehmer zu versenden.

  • Es können Konflikte auftreten: Zwei oder mehr Teilnehmer ändern gleichzeitig das gleiche Dokument, die Software kann normalerweise die Änderungen nicht zusammenführen.
    Je seltener die Synchronisation, desto größer ist die Wahrscheinlichkeit, einen Konflikt zu produzieren.

  • Bestimmte Operationen können nicht oder nur schwer per Synchronisation abgebildet werden, zum Beispiel wenn mehrere Benutzer gleichzeitig Elemente in verschiedene Unterordner verschieben.

  • Es dauert eventuell lange, bis alle Dokumente synchronisiert werden.

Der Konsec Konnektor verwendet eine Synchronisation. So lange Teilnehmer im Netzwerk sind, werden Daten ständig synchronisiert, d.h. sobald eine Änderung auftritt, wird diese an alle anderen Teilnehmer weitergegeben, welche diese Ordner ebenfalls abonniert haben.

Wie eine Freigabe funktioniert

Viele Kunden fragen uns, wie die Freigabe von Daten funktioniert. Im folgenden wird an einem vereinfachtem Beispiel erklärt, wie eine Dateifreigabe (Windows) und eine Ordnerfreigabe (Outlook) funktioniert.

 

Alle Computerprogramme arbeiten mit Befehlen. Das Programm sendet einen Befehl, zum Beispiel: "Lese aus Datei" zum Beispiel an Windows, welches daraufhin entweder mit den Daten oder mit einer Fehlermeldung antwortet. In einem Computerprogramm wird einfach alles mit Befehlen realisiert, die irgendwo ausgeführt werden, zum Beispiel wir der Befehl "Zeichne eine Linie" von Windows an den Treiber der Grafikkarte gesendet, dieser sendet den Befehl weiter zum Grafikprozessor, welcher dann die Linie zeichnet. 

 

Wenn die Datei sich auf auf einem Netzwerklaufwerk befindet, sendet Windows den Befehl, z.B. "Lese aus Datei" einfach an den zuständigen Server, dieser sendet die Daten oder eine Fehlermeldung zurück, die Windows dann an das Programm weitersendet.

 

Beispiel: Dateifreigabe.

 

Im Fall einer Dateifreigabe werden mindestens die folgenden Befehle benötigt:

Open

Öffnet eine Datei. Der Server sendet entweder eine Fehlermeldung (Datei nicht gefunden) oder eine Zugriffsnummer

Close

Datei schließen.

Read

Daten aus der Datei lesen. Der Server sendet die Daten der Datei zurück.

Write

Daten in die Datei schreiben. Der Client sendet die zu sendenden Daten

Seek

Dateizeiger positionieren.

Dir

Inhaltsverzeichnis. Der Server sendet die Liste der Dateien, Dateigröße usw.

andere

Zum Beispiel um einen Teil der Datei zu sperren, die Dateigröße zu ermitteln, die Attribute zu ändern, Dateien löschen usw.

Bild 4: Minimale Befehle um eine Dateifreigabe zu realisieren (Stark vereinfacht)

 

Der Client möchte die Datei z:\test.xls öffnen und lesen.

 

C: OPEN \\server\test.xls
S: OK, Sendet Zugriffsnummer: 0815
C: READ 0815, 8192
S: OK, Sendet 8KB Daten der Datei 0815
C: READ 0815, 8192
S: Sendet die restlichen 5 KB der Datei
C: READ 0815, 8192
S: Fehler: Dateiende erreicht
 

 

Dies entspricht ungefähr den Befehlen, die ein Programm ausführen würde, wenn eine lokale Datei gelesen wird. Windows sorgt jetzt im Hintergrund dafür, dass die Befehle nicht lokal ausgeführt werden, sondern auf dem Server. Statt also selbst die Datei zu öffnen, wird der Befehl zum Öffnen, Lesen, Schließen usw. an den Server übergeben, dieser reagiert immer mit einer Fehlermeldung (OK, wenn alles gut geht) und ggf. mit den gewünschten Daten. Die Datei wird währenddessen auf dem Server geöffnet und verwaltet.

Während die Datei bearbeitet wird, lässt der Client (z.B. Excel) die Datei offen. Wenn ein anderer Client die Datei im Schreibmodus öffnen möchte, antwortet der Server mit einer Fehlermeldung, dadurch wird verhindert, dass es Konflikte und Datenverluste gibt. Beim Schließen der Datei sendet der Client (z.B. Excel) und gibt die Datei damit für andere Teilnehmer wieder frei.

 

C: CLOSE 0815

S: OK


Für den Anwender ist das transparent, er öffnet einfach eine Netzwerkdatei.

Beispiel: Outlook-Freigabe

Bei einer Outlook-Freigabe gibt es Befehle wie diese hier:

Logon

Die Datendatei wird auf dem Server geöffnet.

OpenEntry

Ein Element (Ordner, E-Mail, Kontakt, Aufgabe usw.) wird geöffnet

GetProps

Felder aus dem Objekt werden ausgelesen

GetContentsTable

Eine Liste der Elemente des Ordners wird zurückgegeben.

GetHierrarchyTable

Eine Liste der Unterordner wird zurückgegeben.

SetProps

Felder werden im Element gespeichert.

Save

Das Element wird abgespeichert.

Andere

noch ca. 150 andere Befehle

Bild 5: Einige Befehle für Outlook-Freigabe (Stark vereinfacht)

 

Auch Outlook arbeitet mit Befehlen. Outlook sendet die Befehle an das MAPI-System (MAPI32.DLL) welches dann die Befehle an die jeweils zuständige DLL weiterleitet, zum Beispiel an die DLL für PST-Dateien oder an OLfolders.
 

Die Freigabe in Outlook funktioniert ganz ähnlich wie die für Dateifreigabe, es gibt allerdings ca. 150 verschiedene Befehle. Ein Protokoll sieht ungefähr so aus: (sehr stark vereinfacht)

 

C: LOGON Servername, Dateiname, Benutzername, Passwort.
S: OK

C: Open Hauptordner

S: OK, Zugriffsnummer 0815
C: GetHierrarchy Table 0815
S: OK, Ordnerliste=Posteingang, Postausgang, Entwürfe, Aufgaben, Kontakte, ...
C: Open Posteingang

S: OK, Zugriffsnummer 0816

C: GetHierrarchyTable 0816
S: Fehler: keine Unterordner

usw.

 

Am Anfang sendet Outlook ein Logon mit dem Namen der Datendatei, Benutzername und Passwort, daraufhin wird die Datendatei auf dem Server geöffnet und der Client (Outlook) sendet Befehle um die Ordner zu öffnen, die Unterordner zu ermitteln, die Inhaltstabelle jedes Ordners usw.

 

Solange Outlook ein Objekt im Schreibmodus geöffnet hat, kann der Server das Öffnen durch einen anderen Client verhindern, dieser darf nur noch lesend oder gar nicht darauf zugreifen. Dadurch werden Konflikte und Datenverlust verhindert.

 

Die Datendatei ist während dieser Zeit nur auf dem Server geöffnet, wie bei einer Dateifreigabe greift der Client nicht auf die Daten selbst zu, sondern teilt dem Server mit, was mit der Datei passieren soll. Für den Anwender (Client) ist dies transparent, er arbeitet einfach mit Daten auf dem Netzwerk, OLfolders kümmert sich darum, dass die Befehle nicht lokal sondern auf dem Server ausgeführt werden, jeder nur das zu sehen bekommt, was er darf und nicht mehrere Benutzer gleichzeitig die gleichen Elemente ändern.

 

zum Seitenanfang