|
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.
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.
|