Entwickeln eines MAPI-Nachrichtenspeicheranbieteres
Gilt für: Outlook 2013 | Outlook 2016
Wie andere MAPI-Dienstanbieter handelt es sich bei Nachrichtenspeichern um DlLs (Dynamic Link Libraries), die die Dienste eines zugrunde liegenden Speichermechanismus für MAPI-Clientanwendungen und den MAPI-Spooler darstellen. Der Nachrichtenspeicheranbieter stellt den zugrunde liegenden Speichermechanismus als hierarchischen Satz von Ordnern und Nachrichten dar, die MAPI-Clients und der MAPI-Spooler verwenden können.
Die folgende Abbildung zeigt die grundlegende MAPI-Nachrichtenspeicherarchitektur.
Architektur des Nachrichtenspeichers
Sie können einen Nachrichtenspeicheranbieter mithilfe eines beliebigen zugrunde liegenden Speichermechanismus implementieren. Sie müssen sich jedoch der Leistungsprobleme bewusst sein. Darüber hinaus muss der zugrunde liegende Speichermechanismus als hierarchische Auflistung von MAPI-Objekten dargestellt werden. Diese Anforderungen bedeuten, dass Nachrichtenspeicher in der Regel mithilfe eines vorhandenen Datenbankprodukts implementiert werden, das die hierarchische Speicherung von Objekten in der Datenbank unterstützt und über eine Programmierschnittstelle oder eine klar definierte Dateistruktur verfügt. Beispielsweise können Microsoft Office Access-, SQL- und Oracle-Datenbanken als zugrunde liegender Speichermechanismus verwendet werden. Einige Datenbankprodukte verfügen über Featuresätze, die die Implementierung von MAPI-Features vereinfachen, sodass ihre Auswahl des Datenbankprodukts möglicherweise von den Features beeinflusst wird, die Ihr Nachrichtenspeicheranbieter unterstützen muss.
Die Verwendung einer vorhandenen Datenbank als zugrunde liegenden Speichermechanismus spart Ihnen Arbeit, da es in der Regel einfacher ist, Datenbankobjekte für MAPI-Clients als MAPI-Objekte zu präsentieren, als einen eigenen hierarchischen Speichermechanismus zu implementieren. Auf diese Weise können Sie MAPI-Vorgänge auf einer höheren Ebene behandeln, als wenn Sie Einen eigenen hierarchischen Speichermechanismus implementieren. Beispielsweise wird die Suche nach einer Nachricht mit einer bestimmten Betreffzeile zu einer relativ einfachen Angelegenheit des Erstellens und Übermittelns einer geeigneten Datenbankabfrage, anstatt komplexe Routinen zum Durchsuchen Ihres hierarchischen Speichermechanismus zu implementieren.
Nachrichtenspeicheranbieter kommunizieren mit MAPI-Clients und dem MAPI-Spooler, um Vorgänge für Ordner und Objekte auszuführen. Der Nachrichtenspeicheranbieter übersetzt diese Vorgänge in Vorgänge auf niedrigerer Ebene für den zugrunde liegenden Speichermechanismus. Der MAPI-Spooler kommuniziert in der Regel beim Senden und Empfangen von Nachrichten mit dem Nachrichtenspeicheranbieter. MAPI-Clients kommunizieren in der Regel mit Nachrichtenspeicheranbietern, um die Ordnerhierarchie zu bearbeiten und Nachrichten zu lesen, zu bearbeiten, zu löschen und zu senden.
Sowohl der MAPI-Spooler als auch der MAPI-Client kommunizieren mit dem Nachrichtenspeicheranbieter, um neue Nachrichten zu erstellen. Clientanwendungen tun dies, wenn Benutzer eine Nachricht verfassen. Der MAPI-Spooler tut dies, wenn er eine eingehende Nachricht empfängt. In beiden Fällen wird die neue Nachricht normalerweise im Ordner Posteingang des Nachrichtenspeichers erstellt, sofern vorhanden.
Nachrichtenspeicheranbieter nutzen MAPI-Tabellen, Ordner, Nachrichten und Eigenschaften in hohem Maß. Die Implementierungsdetails für diese Objekte sind in MAPI-Tabellen, MAPI-Ordnern, MAPI-Meldungen und Übersicht über die MAPI-Eigenschaft dokumentiert. Sie sollten sich mit diesem Material vertraut machen, bevor Sie versuchen, einen Nachrichtenspeicheranbieter zu implementieren.
Es gibt zwei wichtige Typen von Nachrichtenspeicheranbietern: solche, die als Standardnachrichtenspeicher eines Benutzers fungieren können, und solche, die dies nicht können. Ein Standardnachrichtenspeicher ist ein Nachrichtenspeicher, in dem Clientanwendungen und der MAPI-Spooler jede Messagingaufgabe ausführen können, z. B. das Empfangen von Nachrichten oder das Erstellen von Ordnern. Ein Standardnachrichtenspeicheranbieter muss mehrere Features unterstützen, als die Mindestanzahl, die für alle Nachrichtenspeicheranbieter erforderlich ist.