Wege und API's
Ehe Sie generell mit Exchange und Outlook eine Lösung entwickeln wollen, müssen Sie selbst natürlich die verschiedenen Zugriffswege und API's können, damit Sie die richtige Schnittstelle nutzen.
What API should I be using für new Exchange 2007
development?
http://blogs.technet.com/b/exchange/archive/2007/06/04/439829.aspx
813349 Support policy für Microsoft Exchange APIs with the .NET Framework
applications
Exchange API-spotting Exchange Developer Roadmap
http://blogs.msdn.com/exchangedev/archive/2008/05/22/exchange-developer-roadmap.aspx
Planning für Internal and Third-Party Applications
http://technet.microsoft.com/en-us/library/ee861107.aspx
Ich habe hier einmal exemplarisch einige Wege zu den Daten in Exchange aufgeführt:
Einige Zugriffe erfolgen von einem Client oder anderen Diensten über das Netzwerk und einige Zugriffe sind nur auf dem Server selbst möglich, bzw. bei der Installation der Exchange Admin Tools teilweise auch remote nutzbar.
Nummer | Beschreibung |
---|---|
|
Client:
Outlook
VBA |
|
Client:
Outlook VBScript |
|
Client:
Outlook Formulare |
|
Outlook DLL
|
|
Server: CDO/CDOEX/CDOEXM/MAPI
Client:CDO und MAPI Auf dem Server gibt es neben der MAPI und WebDAV Schnittstelle auch die Option, per CDOEX und CDOEXM die Einstellungen der Benutzer und Server zu verändern. Besonders CDOEXM eignet sich wunderbar auch per VBScript um bestimmte administrative Tätigkeiten zu automatisieren. Siehe auch WSH - MBSIZE. Diese Schnittstelle ist auch auf dem Client verfügbar, wenn die Exchange Admin Tools installiert sind.
CDOEX ist seit Exchange 2007 "abgekündigt", d.h. es funktioniert noch
mit Exchange 2007 und die folgenden 10 Jahre aber darüber hinaus gibt es
keine Zusicherung mehr. |
a |
Client-Server: HTTP per
WebDAV. WebDAV ist seit Exchange 2007 "abgekündigt", d.h. es
funktioniert noch mit Exchange 2007 und die folgenden 10 Jahre aber
darüber hinaus gibt es keine Zusicherung mehr. |
b |
Erstmals mit Exchange 2007 gibt es auch eine echte "Webservice"-Schnittstelle auf die Exchange Datenbank. Diese wird z.B. von Outlook 2007 genutzt, die so die Frei/Belegt-Daten anderer Benutzer abfragt. |
c |
Quasi alle Mobilgeräte und diverse MDM-Lösungen haben von Microsoft die ActiveSync-API lizenziert und greifen damit auf Postfächer zu. Technisch könnten Sie ebenfalls den gleichen Weg nutzen, wenn Sie eine entsprechende Vereinbarung mit Microsoft getroffen haben. Es gibt aber auch einige Leute, die das ActiveSync-Protokolle analysiert und kleine Tools geschrieben haben. Persönlich sehe ich das als Irrweg. Mit EWS und der RestAPI gibt es offizielle, meiner Ansicht nach leistungsfähigere und zudem unterstützte Wege.
|
|
Client-Server: AD mittels LDAP/ADSI |
|
Server: Event Service |
|
SMTP Pickup und Port 25, CDONTS Auf jedem Windows 200x Server, auf dem ein Microsoft SMTP-Server installiert ist, können Nachrichten über Port 25 (z.B. mit Blat, über das Pickup Verzeichnis oder CDONTS versendet werden. Eingehende Nachrichten können über Transport Event Sinks und Protokoll Event Sinks (Server: EventSink) verarbeitet werden. |
|
Server ExOLEDB ExOLEDB ist seit Exchange 2007 "abgekündigt", d.h. es
funktioniert noch mit Exchange 2007 und die folgenden 10 Jahre aber
darüber hinaus gibt es keine Zusicherung mehr. |
|
Server: EventSink EventSinks mehr als nur der Nachfolger des begrenzt einsetzbaren Server: Event Service. Sinks werden direkt von Store oder SMTP-Server gestartet und erlauben damit auch eine synchrone Verarbeitung. Diese Sinks erlauben eine komplette Modifikation jeder per SMTP ein oder ausgehenden Nachricht. Sie können hier z.B.: Virenscanner, Disclaimer, Spamfilter und vieles mehr realisieren. Siehe auch SMTP-EventSink, EventDisclaimer einfügen, MessageID-Fix und viele andere Beispiele |
|
AVAPI |
O365 REST Api |
In Exchange Online gibt es neben EWS mittlerweile noch eine einfachere REST-API
|
Regeln |
Regeln im Posteingang und Regeln auf öffentlichen Ordnern Diese Option, bestimmte Funktionen in Exchange und Outlook zu automatisieren ist keine Programmierung im engeren Sinne. Sie finden die Beschreibung hierzu auf Regeln. |
M: |
Der Zugriff auf das "M:-Laufwerk" eines Servers sehe ich nicht als legitime Schnittstelle für Entwickler an, da dieser Zugriff mit zu vielen Problemen behaftet ist. Siehe dazu auch Laufwerk M:. |
Connector |
Noch nicht weiter beschrieben ist das Connector-API, mit der sich fremde Connectoren (FAX, SMS, SAP etc.) in Exchange mit einbinden können. |
Mit Exchange 2000/2003 ist der Zugriff auf einige Einstellungen auch per WMI möglich. So können per WMI z.B. die Größe von Mailboxen, die Länge der Warteschlangen und andere Daten abgefragt werden |
Ich hoffe diese kurze Einleitung hat ihnen einen Überblick über die verschiedenen Zugriffswege auf Exchange und Outlook gezeigt. Sie sollten auf jeden Fall mehrere Schnittstellen begutachten, um ihre Aufgabenstellung zu lösen.
Während jede API auf dem Client mehr oder minder Outlook und MAPI-Profile benötigt, sind ServerAPIs wie WebDAV oder ADSI sehr flexibel und leistungsfähig, aber eben auch näher am System. CDOEX und CDOEXM erlauben hier ein einfacheres Objektmodell, aber sind nur auf dem Server zu nutzen.
Microsoft Exchange Server
2007 Service Pack 1 (SP1) SDK December 2008
http://www.microsoft.com/downloads/details.aspx?FamilyID=47720d33-fa5a-4af4-a8eb-fa39695cbad1&displaylang=en
Kleine Geschichte der APIs
Ich versuche hier auf de MSXFAQ nur die APIs zu beschreiben, die aktuell und sinnvoll einzusetzen sind. Aber wenn Sie etwas in der Vergangenheit wühlen, dann werden Sie feststellen, dass seit Microsoft 3.0 jede Menge APIs den Weg bis zum heutigen Tag gepflastert haben
Jahr | APIs Quelle |
Beschreibung |
---|---|---|
1992 |
MS-Mail 3.0 |
Diese Schnittstelle wurde mit Microsoft Mail 3.0 erstmals veröffentlicht. Das war der Startschutz von MAPI und es was sicher nicht abzusehen, dass es so ein Langläufer wird. Damals gab es noch andere MAPI-Schnittstellen wie VIM (Vendor Independent Messaging von Lotus Notes, und CMC Common Messaging C??? von Novell/WordPerfect) |
1995 |
Windows95 |
Durch Windows 95 wurde auch der neue "Exchange Client" verfügbar, welcher nun der Nachfolger von MS-Mail sein sollte. Dieser Client wurde auch mit Exchange Server genutzt, ehe Outlook 97 dann den Wechsel bedeutet (Nicht mit dem Exchange Server) zu verwechseln. |
1996 |
Exchange 4.0 |
Exchange 4.0 hat nun auch im Backend die alte Microsoft Mail Datenbank (MAILDATA) ersetzt und entsprechend sowohl für den Server als auch auf dem Client neue APIs mitgebracht |
1997 |
Exchange 5.0 |
|
1997 |
Exchange 5.5 |
Exchange 5.5 hat Exchange weiter für das Internet geöffnet. Erstmals
konnte per "OWA" auf das Postfach zugegriffen werden. Zudem gab es nun auch den "Event Agent", welcher auf dem Server eingestellte Ordner überwachte und Skripte beim Eintreffen neuer Nachrichten ausführt. |
1997 |
Windows NT4 Option Pack |
Durch das Windows NT4 Option pack war es nun mit dem darin enthaltenen IIS4 und dem SMTP-Server möglich, auch Mails mit Windows zu verarbeiten. CDONTS war dazu die erste API, um Nachrichten auf dem Server zu senden |
1998 |
Exchange 5.5 SP1 |
|
2000 |
Exchange 5.5 |
In der Zeit hat sich Sybari den Grundstock für ihr unternehmen
gelegt, indem Sie einen Weg gefunden haben, Viren in Exchange zu finden und zu stoppen, ehe diese in der Datenbank landen. Erst durch die VSAPI, die Microsoft nachgereicht hat, konnten alle Hersteller dann über eine offizielle API gehen. |
2000 |
Exchange 2000 |
Das Jahr 2000 war auch der Start von Exchange 2000 und einer ganz
neuen Plattform für Nachrichten und Zusammenarbeit. Entsprechend gibt es
einen ganzen Satz neuer APIs die heute noch genutzt werden.
Einige hingegen werden eher selten eingesetzt, z.B.: die Queue Viewer API |
2000 |
Windows 2000 |
Durch die Installation von Windows 2000 und dem darin enthaltenen SMTP-Server kommen ebenfalls einige APIs mit, die auch in Exchange vorhanden sind. |
2001 |
Exchange 2000 |
|
2003 |
Exchange 2003 |
Im Hinblick auf APIs hat Exchange 2003 nicht viel Neuerungen mitgebracht. Es ist ja auch eher eine kleine aber wichtige Weiterentwicklung von Exchange 2000. |
2007 |
|
Mit Exchange 2007 wurden erstmals nicht nur Autodiscover eingeführt sondern neben der "alten" WebDAV-Schnittstelle auch ein richtiger WebService. |
2015 |
|
Aktuell ist nur in Office 365 eine Vorabversoin einer Rest-API auf die Inhalte eines Exchange Store verfügbar. |
Weitere Links
- Exchange Geschichte
-
Planning für Internal and Third-Party Applications
http://technet.microsoft.com/en-us/library/ee861107.aspx - What API should I be using für new Exchange 2007 development?
http://blogs.technet.com/b/exchange/archive/2007/06/04/439829.aspx -
Exchange API-spotting Exchange Developer Roadmap
http://blogs.msdn.com/exchangedev/archive/2008/05/22/exchange-developer-roadmap.aspx -
Microsoft Exchange Server 2007 Service Pack 1 (SP1) SDK December 2008
http://www.microsoft.com/downloads/details.aspx?FamilyID=47720d33-fa5a-4af4-a8eb-fa39695cbad1&displaylang=en -
Test and troubleshooting tools für various Exchange technologies
http://blogs.msdn.com/deva/archive/2008/10/29/test-and-troubleshooting-tools-for-various-exchange-technologies.aspx -
Planning für Internal and Third-Party Applications
http://technet.microsoft.com/en-us/library/ee861107.aspx - Exchange 2010 SP1 Web Services SDK
http://msdn.microsoft.com/en-us/library/dd877012(EXCHG.140).aspx - Exchange 2010 SP1 Transport Agents SDK
http://msdn.microsoft.com/en-us/library/dd877026(EXCHG.140).aspx - Exchange 2010 SP1 Outlook Web App Customization SDK
http://msdn.microsoft.com/en-us/library/ee693018(EXCHG.140).aspx - Exchange 2010 SP1 Backup and Restore SDK
http://msdn.microsoft.com/en-us/library/dd877010(EXCHG.140).aspx