Entwickeln von Microsoft .NET-Zusammenarbeitslösungen

Veröffentlicht: 08. Dez 2000 | Aktualisiert: 14. Jun 2004

Von Michael Herman

* * *

Auf dieser Seite

  
Einführung Einführung
XML XML
Webdienste Webdienste
Vorteile für den Webbenutzer Vorteile für den Webbenutzer
Microsoft .NET-Plattform Microsoft .NET-Plattform
Dienste des Windows-Betriebssystems Dienste des Windows-Betriebssystems
.NET Orchestration .NET Orchestration
.NET-Unternehmensserver .NET-Unternehmensserver
.NET-Bausteindienste .NET-Bausteindienste
.NET Framework .NET Framework
Erweitern Sie Ihr bisheriges Wissen Erweitern Sie Ihr bisheriges Wissen
Microsoft-Webspeichersystem Microsoft-Webspeichersystem
Hierarchischer Objektspeicher Hierarchischer Objektspeicher
Workflowfähige Webspeicherobjekte Workflowfähige Webspeicherobjekte
Verwenden des Webspeichersystems für mobile Lösungen und Offlinelösungen Verwenden des Webspeichersystems für mobile Lösungen und Offlinelösungen
Überblick Überblick
Webspeichersystem und die .NET-Plattform Webspeichersystem und die .NET-Plattform
Webdienste Webdienste
Webbenutzeroberfläche Webbenutzeroberfläche
Daten und XML Daten und XML
Komponentenlaufzeitumgebung Komponentenlaufzeitumgebung
Basisklassen Basisklassen
Visual Studio und Office Visual Studio und Office
Gemeinsames Webdienstmodell Gemeinsames Webdienstmodell
Zusammenarbeit am Beispiel eines Reisebüros Zusammenarbeit am Beispiel eines Reisebüros
Zukunftsaussichten Zukunftsaussichten
Schlussfolgerung Schlussfolgerung

In diesem Artikel wird die Microsoft .NET-Plattform insbesondere im Hinblick auf das Entwickeln, Entwerfen und Erstellen von zusammenarbeitenden Webdiensten mit Hilfe der .NET-Plattform, Exchange 2000 Server und dem Microsoft-Webspeichersystem (Web Storage System) untersucht.

 

Einführung

Microsoft arbeitet derzeit an einer neuen Softwaregeneration, die die Datenverarbeitung und Kommunikation im Web in einem revolutionären neuen Ansatz miteinander verbindet. In dieser neuen Software stehen den Entwicklern und Endbenutzern Tools zur Verfügung, mit denen sie das Web und sämtliche Formen der Datenverarbeitung einer Wandlung unterziehen und erheblich verbessern können. Wir bezeichnen diese Initiative als Microsoft .NET.

Mit Microsoft .NET können verteilte Webdienste erstellt werden, die sich auf eine Art und Weise mit ergänzenden Diensten kombinieren und einsetzen lassen, von der die Benutzer heutzutage nur träumen können. Die grundlegende Idee von Microsoft .NET ist es, den Schwerpunkt von einzelnen Websites und einzelnen mit dem Internet verbundenen Geräten auf eine Struktur von Computern, Geräten und Diensten zu verlagern, die zusammenarbeiten, um umfassendere und bessere Lösungen bereitzustellen. Die Benutzer können kontrollieren, welche Informationen ihnen wann und wie übermittelt werden. Computer, Geräte und Dienste können zusammenarbeiten, anstatt voneinander getrennt wie isolierte Inseln zu existieren, zwischen denen das Websurfing die einzige Form der Integration darstellt. Geschäfte können ihre Produkte und Dienste so anbieten, dass Kunden und Lieferanten diese nahtlos in ihre eigene elektronische Struktur von Geschäftsprozessen und täglichen Aktivitäten einbetten können.

Die Microsoft .NET-Plattform beinhaltet die folgenden fünf Komponenten:

  • Microsoft Windows-Betriebssystem als Dienstplattform

  • .NET Framework

  • .NET-Bausteindienste

  • .NET Orchestration

  • Microsoft .NET-Unternehmensserverfamilie

In der .NET-Unternehmensserverfamilie ist Exchange 2000 Server die zuverlässige und einfach zu verwaltende Messaging- und Zusammenarbeitslösung, die Benutzer und Wissen zusammenführt.

In diesem Artikel wird die Microsoft .NET-Plattform insbesondere im Hinblick auf das Entwickeln, Entwerfen und Erstellen von zusammenarbeitenden Webdiensten mit Hilfe der .NET-Plattform, Exchange 2000 Server und dem Microsoft-Webspeichersystem beschrieben. Die verteilte Webarchitektur von Microsoft .NET und die wichtigsten Entwicklungsfeatures der Webspeichersystem-Technologie von Microsoft werden ebenfalls erläutert.

Darüber hinaus werden wir untersuchen, wie das Webspeichersystem und das .NET Framework zusammenarbeiten, um qualitativ hochwertige zusammenarbeitende Webdienste zu erstellen. Die praktischen Architektur- und Entwurfsaspekte, die für Sie als Entwickler von Webdiensten relevant sind, werden beispielhaft anhand der Planung eines Reisebüros dargestellt. Abschließend werfen wir einen Blick auf die weiteren .NET-Features, die das Exchange 2000 Server-Entwicklungsteam für die nächsten Versionen des Microsoft-Webspeichersystems plant.

 

XML

Microsoft .NET ebnet den Weg für eine Wandlung des Internets, in deren Zuge HTML-basierte Präsentationen durch die Verwendung von programmierbaren XML-basierten Informationen erheblich verbessert werden. XML ist ein weit verbreiteter Industriestandard, der vom World Wide Web Consortium definiert wurde, der Organisation, die auch die Standards für den Webbrowser entwickelt hat. XML bietet die Möglichkeit, die eigentlichen Daten von der Darstellung dieser Daten zu trennen. Da die Daten auf diese Weise auf verschiedene digitale Geräte verteilt werden, können Websites zusammenarbeiten und über die offen gelegten XML-basierten Webdienste kommunizieren.

Da sie auf der standardmäßigen Integrationsstruktur von XML und Internetprotokollen basiert, stellt die Microsoft .NET-Plattform ein revolutionäres Modell für das Entwickeln einer erweiterten neuen Softwaregeneration dar. Microsoft .NET wurde explizit entwickelt, um beliebige Ressourcengruppen im Internet in einer Struktur zusammenarbeitender Lösungen zu integrieren bzw. zusammenzuführen. Heutzutage ist diese Art der Integration extrem komplex und kostspielig. Mit Microsoft .NET wird das Entwerfen, Implementieren und Bereitstellen solcher zusammenarbeitender Weblösungen beschleunigt und vereinfacht.

 

Webdienste

Die flexibel gekoppelte XML-basierte Microsoft .NET-Plattform führt das Konzept XML-basierter Webdienste ein. Während die heutigen Websites gewissermaßen "handgefertigt" sind und sich nicht ohne erheblichen zusätzlichen Entwicklungsaufwand mit anderen Websites verwenden lassen, bietet die Microsoft .NET-Plattform interne Mechanismen, mit deren Hilfe jede Website und jeder Dienst nahtlos mit anderen Websites und Diensten zusammenarbeiten kann.

Die einfachste Definition eines Webdienstes lautet wie folgt: Eine programmierbare Anwendungskomponente, auf die über standardmäßige Internetprotokolle zugegriffen werden kann.

Im Internet werden vier Kategorien von Webdiensten bereitgestellt:

  • Öffentliche .NET-Webdienste

  • Kommerzielle .NET-Bausteinwebdienste

  • Einsatzbereite, fertig erhältliche Webdienste

  • Benutzerentwickelte Webdienste

Öffentliche Webdienste werden im Internet bereitgestellt und können einfach und umfassend in neue und bestehende Weblösungen integriert werden. Einige davon werden kostenlos erhältlich sein, und andere werden von einer Vielzahl von Geschäftsmodellen unterstützt. Die Webdienste der letzteren Kategorie werden als kommerzielle Bausteinwebdienste bezeichnet und werden sowohl von Anwendungsdienstanbietern (ASPs) als auch von Microsoft angeboten. Passport ist der erste Bausteindienst von Microsoft und bietet eine einzigartige Anmeldefunktion (der Benutzer kann denselben Namen und dasselbe Kennwort in mehreren Websites verwenden). Zu den weiteren in Kürze erscheinenden Passport-Bausteindiensten gehören elektronische Wallet- und öffentliche Profildienste. Weitere Informationen hierzu finden Sie in der Microsoft Passport-Website.

Mit der .NET-Plattform können Entwickler außerdem die Vorteile der einsatzbereiten, fertig erhältlichen Webdienste nutzen, die von Microsoft und anderen Softwareanbietern in eigenen Zusammenarbeitslösungen angeboten werden.

Zur benutzerentwickelten Kategorie gehören die Webdienste, die von Firmenentwicklern und Lösungspartnern für die firmeninterne Verwendung entwickelt werden.

Entwickler können die grundlegenden Microsoft .NET-Bausteindienste in ihren eigenen Anwendungen und Diensten nutzen und anpassen, wodurch das Erstellen überzeugender Lösungen erheblich vereinfacht wird. Diese grundlegenden Microsoft .NET-Bausteindienste entsprechen Funktionsbereichen, in denen Microsoft über umfassende Kenntnisse verfügt und vielen Entwicklern behilflich sein kann. Microsoft vereinheitlicht diese Entwicklerbausteine, so dass auf einfache Weise komplex verteilte, programmierbare Dienste bereitgestellt werden können, die auf eigenständigen Computern, in Firmendatenzentren und im Internet ausgeführt werden.

Da die Möglichkeit besteht, diese grundlegenden .NET-Bausteindienste direkt zu abonnieren, können Entwickler selbst entscheiden, ob sie einen Dienst erwerben oder erstellen möchten und wofür sie ihre Entwicklungsressourcen nutzen. Einige Entwickler ziehen es u.U. vor, grundlegende Dienstfunktionen selbst zu erstellen, andere bevorzugen eine geeignete Paketlösung mit umfassender Entwicklungstoolunterstützung, und wieder andere verzichten darauf, Druckertreiber und Fenstersysteme selbst zu schreiben und konzentrieren sich stattdessen auf ihre eigenen hochwertigen Lösungen.

Webdienste haben die folgenden Eigenschaften:

  • Sie können eine Beschreibung der angebotenen Dienste von einer Website anfordern.

  • Die Formate und die Sortierung der von den Webdiensten unterstützten Nachrichten sind definiert.

  • Die Benutzer von Webdiensten können Nachrichten mit Hilfe von XML senden und empfangen.

  • Alle genannten Funktionen basieren auf offenen Internetprotokollen.

Mit der Microsoft .NET-Plattform erstellte verteilte Webdienste sind sowohl online als auch offline verfügbar. Ein Webdienst kann über das Internet oder von einem eigenständigen Computer aus aufgerufen werden, der nicht mit dem Internet verbunden ist. In diesem Fall erfolgt der Zugriff über einen lokalen Firmenserver. Verschiedene Dienste können zusammenarbeiten und über einen als Zusammenschluss bezeichneten Prozess Informationen austauschen. Auf diese Weise können Organisationen entscheiden, ob sie eine eigene Infrastruktur oder einen externen Host verwenden möchten, ohne dadurch die Steuerungs- und Zugriffsmöglichkeiten für die Dienste zu beeinträchtigen. Ein Firmenverzeichnisdienst kann z.B. mit einem anderen Verzeichniswebdienst zusammengeschlossen werden, der im Internet ausgeführt wird.

Microsoft .NET-Bausteindienste können auf jeder beliebigen XML-kompatiblen Plattform eingesetzt werden. Windows, Exchange 2000 Server, das Microsoft-Webspeichersystem und Visual Studio bieten die optimale Umgebung zum Erstellen und Bereitstellen von zusammenarbeitenden Weblösungen.

 

Vorteile für den Webbenutzer

Webdienste ermöglichen es den Entwicklern, die Funktionen einer Anwendung auf einfache Weise offen zu legen, so dass andere Server- und Clientanwendungen sich damit verbinden können. In vielen Fällen müssen Anwendungen jedoch alle oder Teile ihrer Funktionen über eine Webbenutzeroberfläche für Internet- und Intranetbenutzer offen legen.

Darüber hinaus können Lösungen, die auf PCs und Geräten ausgeführt werden, mit Hilfe von Microsoft .NET nahtlos mit den umfassenden Informationen und Funktionen zusammenarbeiten, die das Internet bietet. Dazu gehört auch die Möglichkeit, online und offline zu arbeiten und Anwendungen transparent zwischen lokalen und Remoteanwendungen und -diensten zu verschieben.

Microsoft .NET bietet die folgenden drei Vorteile für den Webbenutzer:

  • Innovative Verbesserungen für das Erstellen neuer Webbenutzeroberflächen.

  • Transparente Präsentation einer Benutzeroberfläche über eine Vielzahl von Geräten.

  • Verbesserung der Art und Weise, wie das Internet genutzt wird.

Hinsichtlich der Benutzeroberfläche bietet Microsoft .NET den Benutzern und Entwicklern die folgenden Technologien:

  • Natürliche Benutzeroberfläche. Eine Sammlung von Technologien, die den Grundstein für die nächste Generation der Interaktion zwischen Mensch und Computer legt. Zu diesen Technologien gehören u.a. Sprache, visuelle Funktionen, handschriftliche Eingabe und Eingabe in natürlicher Sprache über einen neuen Eingabemechanismus.

  • Universeller Arbeitsbereich. In einer kombinierten XML-Informationsarchitektur, in der Such-, Kommunikations- und Dokumenterstellungsfunktionen in einer vereinheitlichten Umgebung zusammengefasst sind, können Benutzer auf einheitliche Weise Informationen künstlich herstellen und austauschen. Der universelle Arbeitsbereich basiert auf dem XML-Schema und ermöglicht es, das Internet von einer schreibgeschützten Umgebung in eine Plattform mit Schreib- und Lesezugriff zu wandeln. Auf diese Weise kann der Benutzer Informationen interaktiv erstellen, durchsuchen, bearbeiten, mit Anmerkungen versehen und analysieren. Da die zugrunde liegenden Informationen auf XML basieren, können im universellen Arbeitsbereich mehrere Informationsquellen aus der ganzen Welt zusammengebracht werden.

  • Informationsagenten. Diese Agenten verwalten Ihre Identität und persönlichen Daten im Internet und bieten Ihnen die Möglichkeit, die Interaktion mit Websites und Diensten umfassender zu steuern. Anders als im heutigen Internet behalten Sie die Kontrolle über Ihre persönlichen Informationen und entscheiden selbst, wer darauf zugreifen kann. Durch die Verwendung von Informationsagenten müssen Sie Ihre persönlichen Einstellungen nur noch einmal erstellen und können diese dann für eine Website oder einen Dienst freigeben.

  • SmartTags. Die IntelliSense-Technologie wird auf Webinhalte angewendet, so dass Ihr PC und Ihre Geräte Informationen aus dem Internet intelligent verarbeiten können. Mit einer erweiterbaren Architektur kann jeder Benutzer anpassbare Datenhandler erstellen. Da die IntelliSense-Technologie in nahezu alle Microsoft-Anwendungen integriert ist, werden sich wiederholende Tasks automatisiert, komplexe Tasks werden vereinfacht, die Software wird Ihren persönlichen Anforderungen angepasst und der Zugriff auf Produktfunktionen wird verbessert.

Damit die Webbenutzeroberfläche auf jedem beliebigen Gerät (einschließlich den neuesten Internet Explorer- und HTML 3.2-kompatiblen Browsern) transparent dargestellt werden kann, verwendet die .NET-Plattform ASP+, die nächste Generation der ASP-Technologie (Active Server Page) von Microsoft. Für Webentwickler wird dadurch das Entwerfen und Entwickeln der Webbenutzeroberfläche erheblich vereinfacht. Außerdem können sie ihre bisherigen Kenntnisse im Entwickeln von ASP-Anwendungen weiterhin nutzen. Für Webmaster wird das Bereitstellen und Verwalten von Webanwendungen und -diensten vereinfacht. Außerdem werden die Skalierbarkeit, Sicherheit und Zuverlässigkeit verbessert.

Die ASP+-Serversteuerelemente, die vom neuen Visual Studio .NET-Designer vollständig unterstützt werden, kommen hier als Schlüsseltechnologie zum Einsatz. Bei dem Entwicklungsmodell handelt es sich um dasselbe weit verbreitete Modell, das heute auch von Visual Basic-Entwicklern verwendet wird: Sie wählen in der Toolbox ein Steuerelement aus, ziehen es auf ein Webformular, doppelklicken darauf, um Codeanweisungen für Benutzerereignisse hinzuzufügen, und kompilieren anschließend Ihr Projekt. Das Formular und die Codeanweisungen werden automatisch kompiliert und an den Entwicklungswebserver weitergegeben, auf dem die ASP+-Serversteuerelemente den Browsertyp automatisch erkennen und reinen DHTML- oder HTML 3.2-Code generieren, der mit dem Browsertyp kompatibel ist. Das Visual Studio .NET-Paket enthält mehrere Kategorien erweiterbarer und kombinierbarer ASP+-Serversteuerelemente. Zu den Kategorien gehören u.a. systeminterne Steuerelemente (mit HTML-Äquivalenten), datengebundene Listensteuerelemente, umfassende Kalendersteuerelemente, Steuerelemente für Werbeanzeigen sowie Formular- und Feldprüfungssteuerelemente.

Die Art und Weise, wie wir das Internet nutzen, wird durch die Kombination der Webdienste und Features der Webbenutzeroberfläche erheblich beeinflusst. Zum Buchen einer Urlaubsreise müssen Sie normalerweise verschiedene Informationen zusammensuchen: die gewünschten Reisezeiten, das Reiseziel, spezielle Essenswünsche, Nichtraucher/Raucher, bevorzugter Mietwagenservice, Sitzplatz im Flugzeug, Vielflieger-Kontonummer, Hotelwünsche, Zahlungsinformationen usw. In einem Reisebüro liegen zwar u.U. einige oder alle Angaben vor, aber sind diese auch immer aktuell? Und was passiert, wenn Sie sich an mehrere Reisebüros wenden?

Warum buchen Sie die Reise nicht einfach in Ihrem Outlook-Kalender und lassen einen auf Ihrem Exchange-Server ausgeführten Informationsagenten den Kontakt zu einem Webdienst in der Website des Reisebüros herstellen, anstatt all diese Informationen jedes Mal wieder zusammenzusuchen? Der Aufruf des Webdienstes enthält in diesem Fall die bevorzugten Reisezeiten und Informationen zum Reiseziel. Warum kann das Reisebüro, wenn es weitere Informationen benötigt, diese nicht einfach von dem Webdienst anfordern, der von Ihrem Exchange-Server offen gelegt wird? Auf diese Weise würden die von Ihnen freigegebenen Informationen automatisch für das Reisebüro bereitgestellt.

Nachdem das Reisebüro Ihre Reisepläne erfasst hat, wird der Webdienst auf Ihrem Exchange-Server erneut aufgerufen, um die ursprünglich im Kalender angegebenen Termininformationen zu aktualisieren. Dieser Termin kann automatisch mit dem Kalender in Ihrem Pocket PC synchronisiert oder sofort über einen schnurlosen Pocket PC verfügbar gemacht werden. So haben Sie die Details zu Ihrer Urlaubsreise jederzeit und überall griffbereit.

Dies ist die neue Welt zusammenarbeitender Webdienste, die von Microsoft .NET, Exchange 2000 Server, dem Webspeichersystem und Visual Studio ermöglicht wird. In diesem Artikel wird die Zusammenarbeit am Beispiel eines Reisebüros untersucht.

 

Microsoft .NET-Plattform

Zu den wichtigsten Eigenschaften der Anwendungen und Webdienste, die für die .NET-Plattform erstellt wurden, gehört Folgendes:

  • Sie legen sich selbst als Webdienst offen und verfügen darüber hinaus über eine Webbenutzeroberfläche.

  • Sie arbeiten mit offenen Internetprotokollen.

  • Sie bieten eine hohe Benutzerfreundlichkeit und sind für intelligente Clients und Geräte ausgelegt.

Für Architekten und Entwickler ergibt sich außerdem der Vorteil, dass sich .NET-Anwendungen und Webdienste schnell entwickeln und bereitstellen sowie auf einfache Weise in andere Webdienste und bestehende Anwendungen integrieren lassen.

Bild01

Abbildung 1. Microsoft .NET-Plattform

 

Dienste des Windows-Betriebssystems

Die Microsoft .NET-Plattform basiert auf der Skalierbarkeit, Zuverlässigkeit, Sicherheit und Verwaltbarkeit der Windows 2000 Server-Familie. Für Windows-basierte .NET-Server bietet Windows 2000 Server u.a. die folgenden Hochleistungs-Betriebssystemdienste:

  • Sicherheit (einschließlich Verschlüsselung und vollständige öffentliche Schlüsselinfrastruktur)

  • Vollständiges, standardbasiertes Hochleistungs-XML-Subsystem

  • Ein-/Ausgabe zwischen Datenträger und Speicher und über beliebige TCP/IP-Verbindungen mit extrem hoher Bandbreite

  • Fortlaufende Bereitstellung, da mehrere Anwendungsversionen gleichzeitig ausgeführt werden können

  • Extrem effiziente Threading- und Fiberunterstützung

  • Indizieren, Suchen und Abrufen von Inhalten

  • Zwischenspeicherung

  • Prozessplanung

  • Windows Streaming Media-Unterstützung für die Zusammenarbeit mit Audio- und Videodaten

Windows 2000 Professional, Windows NT Workstation und die Verbraucherversionen von Windows (Windows 98 und Windows Me) verwenden aus Gründen der Webbenutzerfreundlichkeit und XML-Unterstützung weiterhin Internet Explorer. Darüber hinaus bietet Windows CE zahlreiche Betriebssystemfeatures, mit denen Online- und Offlinelösungen sowie schnurlose Lösungen für mobile Anwendungen bereitgestellt werden können, die auf kleinen oder mittelgroßen Geräten ausgeführt werden.

 

.NET Orchestration

BizTalk Server 2000, einer der neuen .NET-Unternehmensserver, bietet die Entwurfstools und die Laufzeitumgebung zum Zusammenschließen beliebiger Geschäftsprozesse und Webdienste innerhalb von Organisationen und zwischen Organisationen. Mit .NET Orchestration, der zweiten Komponente des .NET Frameworks, wird der Webspeichersystem-Workflow erweitert und in eine skalierbare Struktur zusammenarbeitender Workflowlösungen integriert.

.NET Orchestration löst eines der Probleme, das in Geschäftsabläufen häufig auftritt: die Notwendigkeit, Geschäftsprozesse schnell zu entwickeln und für Kunden und Geschäftspartner bereitzustellen, und gleichzeitig den technischen Herausforderungen gerecht zu werden, die sich dadurch ergeben, dass diese Prozesse über mehrere Softwaresysteme und Hardwareplattformen verteilt werden, die an den Standorten mehrerer Kunden, Partner und Dienstanbieter ausgeführt werden.

Die Lösung, die .NET Orchestration für diese Herausforderungen bietet, besteht darin, die Prozessdefinition von der zugrunde liegenden Implementierung zu trennen. Experten im Bereich der Geschäftsprozesse erstellen Geschäftsprozesse und verwalten deren Entwicklung, während sich Entwickler auf das Implementieren der zugrunde liegenden und für die Unterstützung notwendigen Dienste konzentrieren. Der in BizTalk Server enthaltene visuelle Designer von .NET Orchestration bietet die Möglichkeit, den Prozessentwurf und die Integration in externe Webdienste und Messagingsysteme zu koordinieren.

Eine Verwendungsmöglichkeit von .NET Orchestration ist das Integrieren und Erweitern einzelner Webspeichersystem-Workflows in eine größere Struktur zusammenarbeitender Workflowlösungen.

 

.NET-Unternehmensserver

Die .NET-Unternehmensserver (Enterprise Server) gehören der umfassenden Serverfamilie von Microsoft an und ermöglichen es Ihnen, integrierte webfähige Unternehmenssysteme schnell und einfach zu erstellen und zu verwalten. Beim Entwurf der .NET-Unternehmensserver standen Skalierbarkeit und Leistung im Vordergrund. Die Server wurden daher gemäß den aktuellsten Internet- und Datenstandards erstellt und von Grund auf für maximale Interoperabilität ausgelegt.

Zu den sieben grundlegenden .NET-Unternehmensservern gehören:

  • SQL ServerT 2000

  • Internet Security and Acceleration (ISA) Server 2000 (früher Proxy Server)

  • Host Integration Server 2000 (früher SNA Server)

  • Exchange 2000 Server und Exchange 2000 Conferencing Server

  • Commerce Server 2000

  • BizTalk Server 2000

  • Application Center 2000

Exchange 2000 Server

In der .NET-Unternehmensserverfamilie ist Exchange 2000 Server die zuverlässige und leicht zu verwaltende Messaging- und Zusammenarbeitslösung, die Benutzer und Wissen zusammenführt. Exchange 2000 Conferencing Server bietet Echtzeitchat und macht die Freigabe von Daten, Audio, Video und Anwendungen so einfach wie das Planen einer Besprechung in Outlook.

Ein wichtiges neues Feature von Exchange 2000 Server ist die verteilte logische Webarchitektur. Die Front-End-Dienste können physisch getrennt von den Back-End-Exchange-Diensten und dem Webspeichersystem auf eigenen Servern ausgeführt werden. Ob dies möglich ist, hängt von der erforderlichen Skalierbarkeit der Anzahl von Benutzerverbindungen, der Verarbeitungsleistung auf der mittleren Ebene (Middle-tier) bzw. dem Back-End sowie den Speicheranforderungen ab.

Bild02

Abbildung 2. Verteilte Webarchitektur von Exchange 2000 Server

Die Front-End-Protokolldienste implementieren zahlreiche Internetprotokolle, um Clientanwendungen und die Kommunikation zwischen Servern zu unterstützen. Zu den Clientprotokolldiensten gehören HTML/HTTP, POP3, IMAP4, NNTP und WebDAV (XML über HTTP), FrontPage- und Office Server Extensions-Protokolle, H.323-Audio-/Videokonferenzen sowie T.120-Datenkonferenzen. Für die Kommunikation zwischen Servern (sowie zwischen Servern und dem Internet) werden u.a. die Protokolldienste SMTP, NNTP und X.400 verwendet.

Darüber hinaus unterstützen die Front-End-Protokolldienste Outlook Web Access für Exchange 2000 Server (OWA 2000). OWA 2000 legt die Outlook 2000-Funktionen als webkomponentenbasierte Webbenutzeroberfläche (HTML/HTTP) offen und eignet sich daher ideal für Internetkiosks, Roamingbenutzer und die private Nutzung des Internets. OWA 2000 kann als vollständiger E-Mail-Client verwendet werden - mit Zugriff auf E-Mail, Kalenderfunktionen und Kontakte sowie auf alle Informationen, die in den privaten und öffentlichen Ordnern gespeichert sind. Außerdem können Entwickler die einzelnen Komponenten der OWA 2000-Webbenutzeroberfläche verwenden, um in ihren eigenen zusammenarbeitenden Weblösungen automatisch umfassende Kalender, Kontaktlisten, E-Mail-Funktionen und Diskussionen mit Threads darzustellen.

Die grundlegenden Dienste für Messaging und Zusammenarbeit werden von den Exchange-Diensten implementiert. Dazu gehören u.a. die Front-End-Protokolldienstschicht, die Systemverwaltung und die Replikation zwischen Servern.

Das Webspeichersystem implementiert ein sicheres hierarchisches Ordnermodell zum Speichern beliebiger nicht strukturierter oder semistrukturierter Inhalte (E-Mail, Dokumente, Dateien, Programme usw.) und fügt anschließend die erforderliche Unterstützung für den Zugriff und das Aktualisieren dieser Inhalte hinzu: zahlreiche APIs, Internetprotokolle, ein Ereignismodell für synchrone und asynchrone Verarbeitung sowie das Workflowmodul. Das Workflowmodul macht das Webspeichersystem zu einer leistungsstarken Plattform für die Webzusammenarbeit, die für das Automatisieren von Geschäftsprozessen verwendet werden kann.

ADO 2.5 ist das strategische Webspeichersystem-Objektmodell für den Zugriff auf die Informationen zu einem Ordner und den darin enthaltenen Elementen sowie auf die einzelnen Elemente selbst. ADO 2.5 wird mit Windows 2000 geliefert und verwendet den neuen OLE DB Provider des Webspeichersystems. Der erste wichtige Vorteil von ADO 2.5 ist, dass jedes Element im Webspeichersystem durch einen eindeutigen, leicht lesbaren URL identifiziert wird. Darüber hinaus wird ADO 2.5 als Objektmodell für das hierarchische Durchlaufen der Ordner und Elemente im Webspeichersystem verwendet.

Ein neues ADO 2.5-Objekt - das ADO-record-Objekt - wird zum Abrufen der Eigenschaften einzelner Ordner und Elemente und zum Erstellen neuer Ordner bzw. Elemente verwendet. Über das neue Stream-Objekt kann schnell und einfach auf die Anlagen eines Elements (z.B. Office- und XML-Dokumente) sowie auf Audio- und Videodatenströme zugegriffen werden. Zum Abrufen von Informationen zu einer Elementauflistung werden herkömmliche ADO-Recordsets verwendet.

Oberhalb von ADO und OLE DB wurde eine neue Reihe von CDO-Bibliotheken (Collaboration Data Object) für das Webspeichersystem integriert, um auf höherer Ebene einen objektorientierten Zugriff auf die Elemente und Verwaltungsfunktionen im Webspeichersystem und in Exchange 2000 Server zu ermöglichen. (Durch die Implementierung des Webspeichersystem-CDO oberhalb von ADO und OLE DB wird die strategische Rolle von ADO für den Datenzugriff über die Microsoft-Plattform weiter verstärkt.)

Damit die Kompatibilität mit vorhandenen E-Mail-Clients (einschließlich aller Versionen von Outlook und Outlook Web Access für Exchange Server 5.5) gewährleistet ist, unterstützt das Webspeichersystem außerdem die MAPI- und CDO 1.2-APIs.

Darüber hinaus bietet das Webspeichersystem einen IFS-Treiber (IFS = Installierbares Dateisystem), um die Kompatibilität mit einfachsten Desktopanwendungen zu gewährleisten. Über diesen Treiber kann der hierarchische Ordnerspeicher des Webspeichersystems im Windows-Explorer, in der Eingabeaufforderung oder in den standardmäßigen Dateisystem-Dialogfeldern zum Öffnen und Speichern von Dokumenten als hierarchisches Dateisystem angezeigt werden. Die IFS-Laufwerkordner können wie normale Dateisystemordner freigegeben werden, und der Zugriff kann über das herkömmliche SMB-Netzwerkprotokoll (SMB = Server-Nachrichtenblock) für den gemeinsamen Dateizugriff erfolgen.

Durch die zahlreichen Webspeichersystem-APIs und Internetprotokolle werden neue Zusammenarbeitsdienste in "Tahoe" ermöglicht, dem zweitem Webspeichersystem-basierten Zusammenarbeitsserverprodukt von Microsoft. Außerdem ist für eine zukünftige Version von Office eine Webspeichersystem-Version geplant, die lokal auf einem Client-PC ausgeführt wird und ASPs (Active Server Pages) sowie die direkte Synchronisierung und Zwischenspeicherung mit serverseitigen Webspeichersystem-basierten Produkten unterstützt.

 

.NET-Bausteindienste

Bausteinwebdienste sind die von Microsoft und anderen Internetdienstanbietern angebotenen kommerziellen Webdienste, die Entwickler zum Erstellen ihrer eigenen Anwendungen und Webdienste nutzen können. Zu den wichtigsten Microsoft .NET-Bausteinwebdiensten gehören:

  • Identität

  • Benachrichtigung und Messaging

  • Personalisierung

  • Speicherung

  • Kalender

  • Verzeichnis und Suche

  • Dynamische Übermittlung

Die Identitätsdienste basieren auf dem bereits beschriebenen Passport-Dienst. Bei Benachrichtigung und Messaging handelt es sich um einen vereinheitlichten Dienst, der Instant Messaging, E-Mail, Fax, Voicemail und andere Benachrichtigungsformen umfasst. Die Personalisierungsdienste steuern, wie und wann Benachrichtigungen und Nachrichten übermittelt werden und wie Informationen auf mehreren Geräten koordiniert werden sollen. Die .NET-Speicherdienste sind das digitale Äquivalent der Bankschließfächer, die heute im Internet verwendet werden. Ein Benutzer verwaltet den Schlüssel und kontrolliert den Zugriff.

Der Kalender ist ein Integrationsdienst für Ihre Arbeitskalender und privaten Kalender. Über diesen Dienst können andere Webdienste mit Hilfe von Echtzeit-Anwesenheitsdaten Ihre Verfügbarkeit ermitteln. Mit Verzeichnis- und Suchfunktionen können Dienste und Personen ausfindig gemacht werden. Darüber hinaus können Entwickler und Anwendungen mit schemabasierten Abfragen Informationen zu diesen Diensten abrufen. Über die dynamischen Übermittlungsdienste können Microsoft, unabhängige Softwareanbieter (ISVs), Lösungspartner und andere Entwickler auf Anfrage inkrementelle Funktionsebenen und zuverlässige automatische Updates ohne benutzerseitige Installation und Konfiguration anbieten.

UDDI (Universal Description, Discovery and Integration) - eine neue Entwicklung, die in Zusammenarbeit von Microsoft, IBM und Ariba entstand - ist eine Spezifikation und Referenzimplementierung für verteilte XML-basierte Informationsregistrierungen für Webdienste. Mit Hilfe von UDDI-Registrierungen können Sie die von einer Organisation offen gelegten Webdienste beschreiben und ermitteln. Jeder UDDI-Registrierungseintrag enthält Informationen zu einem Geschäft und technische Informationen zu den jeweiligen Diensten. Weitere Informationen finden Sie in der UDDI-Website (in Englisch).

 

.NET Framework

Das .NET Framework enthält fünf grundlegende Komponenten, die von Entwicklern programmiert werden:

  • Gemeinsame Sprachlaufzeit

  • .NET-Basisklassen

  • Daten- und XML-Übertragung

  • Webdienste

  • Webbenutzeroberfläche

Bild03

Abbildung 3. .NET Framework: Anwendungen legen Webdienste und die Webbenutzeroberfläche offen

Gemeinsame Sprachlaufzeit

Die gemeinsame Sprachlaufzeit (CLR = Common Language Runtime) hat die folgenden Entwurfsziele:

  • Erhebliche Vereinfachung der Anwendungsentwicklung.

  • Bereitstellen einer stabilen und sicheren Ausführungsumgebung.

  • Unterstützung mehrerer Programmiersprachen.

  • Vereinfachte Bereitstellung und Verwaltung.

Durch die gemeinsame Sprachlaufzeit sind alle Programmiersprachen bezüglich ihrer Funktionen gleich und können aktiv in der .NET-Entwicklungsumgebung eingesetzt werden. Folglich sind nicht nur C++, Visual Basic, C#T und JScript geeignete Microsoft .NET-Programmiersprachen: Die Microsoft-Partner haben weitere 20 Programmiersprachen implementiert, die in .NET Framework verwendet werden können.

Zwei wichtige Features haben zu dieser Entwicklung beigetragen. Zunächst einmal werden alle Programmiersprachen in eine Intermediate Language (IL) kompiliert. Das hier verwendete Konzept ist mit dem Pseudocode oder Java-Bytecode vergleichbar, bei dem alle Programmiersprachen in eine Metasprache kompiliert werden. Anschließend kann die gemeinsame Sprachlaufzeit (CLR) die IL während der Verarbeitung (oder vorab) kompilieren, so dass sie in jeder Umgebung und jeder CPU ausgeführt werden kann. Außerdem übernehmen alle Programmiersprachen, die die gemeinsame Sprachlaufzeit unterstützen, automatisch alle Funktionen von Visual Studio .NET. Dazu gehören Dokumenterstellung, Debuggen, Kompilierung, Objektmodelle, neue Server Explorer-Features, die von der Laufzeit selbst implementierten Verbesserungen, .NET-Basisklassenbibliotheken, Debugger von Drittanbietern, Profiler, Analysefunktionen für Codedeckung und Dokumentationstools.

Darüber hinaus macht die gemeinsame Sprachlaufzeit "Klempnerarbeiten" wie die Komponentenregistrierung, GUIDs, IDL-Dateien, HRESULTs, IUnknown, AddRef/Release und CoCreateInstance überflüssig. Alle CLR-Programmiersprachen sind objektorientiert und verfügen über vollständige Vererbungsunterstützung. Dies gilt auch für die Sprachen, die bisher als nicht objektorientierte Programmiersprachen betrachtet wurden, z.B. Visual Basic und COBOL. Dadurch können in einer Programmiersprache geschriebene Klassen von übergeordneten Klassen abgeleitet werden, die in einer zweiten oder dritten CLR-Programmiersprache geschrieben wurden. Außerdem werden alle .NET Objekte einer automatischen Garbagecollection mit einem neuen kompakten, mehrfach generierbaren Garbagecollector (mit Markierung) unterzogen.

Basisklassen

Die .NET-Basisklassen wurden entwickelt, um die zahlreichen Familien von Klassenbibliotheken und Anwendungsframeworks zu ersetzen, die auf typischen Desktop- oder Servercomputern eingesetzt werden. An ihre Stelle tritt nun eine gemeinsame Gruppe von Laufzeitklassen, die für alle Programmiersprachen der gemeinsamen .NET-Sprachlaufzeit gilt und die Features der gemeinsamen Sprachlaufzeit und der .NET-Plattform nutzt.

Die Basisklassenhierarchie der höchsten Ebene umfasst Folgendes:

  • System.Web.Services

  • System.Web.UI

  • System.XML

  • System.Data.ADO

  • System.Data.SQL

  • System.WinForms

  • System.Security

  • System.IO

  • System.Runtime

Daten und XML

Die Daten- und XML-Komponenten des .NET Frameworks beziehen sich auf die Art und Weise, wie Informationen zwischen neuen und bestehenden Komponenten, Webdiensten und Anwendungen übertragen werden.

ADO+ ist eine wichtige .NET-Innovation und stellt gleichzeitig eine Entwicklungsverbesserung von ADO (ActiveX Data Objects) dar. ADO+ ist ein standardbasiertes Programmiermodell zum Erstellen von verteilten Datenfreigabeanwendungen. Das Kernstück dieser Technologie ist das ADO+-Dataset, in dem mehrere Datenbanktabellen und Tabellenbeziehungen gespeichert werden. Auf ADO+-Tabellen kann gleichzeitig als XmlDataDocument, relationale Tabellen und XML-DOM-Objekte zugegriffen werden (anders als bei einem ADO-Recordset, das mit einer einzigen Tabelle vergleichbar ist und nur über beschränkte XML-Unterstützung verfügt).

Datasets sind getrennte Sichten der XML- oder Datenbankdaten (vorausgesetzt, dass diese im Speicher ohne aktive Verbindung zu den zugrunde liegenden Datenservern vorhanden sind). Sie können lokal in einem Datenserver zwischengespeichert oder auf eine beliebige andere Ebene in der Lösungsarchitektur erweitert werden. XML wird sowohl als Übertragungs- als auch als Speicherformat verwendet, wenn Datasets für nicht verbundene Offlinelösungen gespeichert werden müssen.

Neben der Unterstützung für die erweiterbare Zwischenspeicherung von Daten auf der mittleren Ebene oder dem Client koordiniert ADO+ außerdem alle Änderungen am zugrunde liegenden Datenserver. Dies beinhaltet das Erstellen von Tabellen, Ändern von Schemata, Verwalten von Beziehungen und Beschränkungen, Parallelitätsverwaltung und Transaktionen sowie das Hinzufügen, Auswählen, Bearbeiten, Löschen und Entfernen von Tabellendaten oder XmlDataDocument-Daten.

Die Schnittstelle bzw. der Adapter zwischen einem ADO+-Dataset und einem zugrunde liegenden Datenspeicher wird als verwalteter Provider bezeichnet. Zum Lieferumfang der .NET-Plattform gehören verwaltete Provider für SQL Server, XML und ADO. Der verwaltete Provider für das Webspeichersystem wird in Kürze folgen.

 

Erweitern Sie Ihr bisheriges Wissen

Die .NET-Plattform ist zwar eine neue Plattform zum Erstellen integrierter Zusammenarbeitslösungen, basiert jedoch auf Kenntnissen, über die Sie bereits verfügen. Das Ziel der .NET-Plattform ist es, Ihnen das Entwerfen, Implementieren, Bereitstellen und Verwalten dieser Lösungen zu erleichtern. Die folgende Abbildung zeigt einen typischen bzw. modellhaften .NET-Server.

Bild04

Abbildung 4. Architektur des .NET-Servermodells

Bei der Modellarchitektur handelt es sich um ein weit verbreitetes Modell, das heute auf vielen Windows-Servern eingesetzt wird. Die .NET-Plattform macht es jedoch einfacher, Daten, XML, Webbenutzeroberfläche und Webdienste offen zu legen. Die gemeinsame Sprachlaufzeit (CLR) und die Basisklassen von .NET bieten eine für alle CLR-Programmiersprachen verwendete, vollständig objektorientierte und verwaltete Speicherumgebung zum schnelleren und einfacheren Erstellen von stabileren Komponenten, Subsystemen und Anwendungen. ADO+ basiert auf ADO und stellt ein erweiterbares Zwischenspeicher- und Speichermodell für Datasets bereit, in dem Daten in getrennten Online- und Offlineszenarios verwaltet werden können. .NET-Anwendungen bieten eine Webbenutzeroberfläche für die Kommunikation mit den Benutzern und einen Webdienst, über den Entwickler Anwendungsfunktionen auf einfache Weise offen legen können, so dass sich andere Server- und Clientanwendungen damit verbinden können.

 

Microsoft-Webspeichersystem

Das Webspeichersystem implementiert ein hierarchisches Ordnermodell zum Speichern beliebiger nicht strukturierter oder semistrukturierter Inhalte (E-Mail, Dokumente, Dateien und Programme) und fügt anschließend die erforderliche Unterstützung für den Zugriff und das Aktualisieren dieser Inhalte hinzu: zahlreiche APIs, Internetprotokolle, ein Ereignismodell für synchrone und asynchrone Verarbeitung sowie ein Workflowmodul.

Das Webspeichersystem unterstützt die folgenden APIs und Internetprotokolle:

  • Datenzugriff-APIs: ADO 2.5 und Webspeichersystem-CDO

  • Clientzugriffsprotokolle: MAPI, HTTP, POP3, IMAP4 und WebDAV sowie die Protokolle für FrontPage und Office-Servererweiterungen

  • IFS-Treiber, mit dem auf die Ordner, Unterordner und Elemente im hierarchischen Webspeichersystem-Ordnerspeicher als hierarchisches Dateisystem auf Laufwerk M: zugegriffen werden kann

Außerdem bieten Exchange 2000 Server, Exchange 2000 Conferencing Server und Active DirectoryT Unterstützung für die folgenden APIs und Internetprotokolle:

  • Servertransportprotokolle: SMTP, NNTP und X.400

  • Echtzeitzusammenarbeit: H.323 Audio/Video Conferencing, T.120 Data Conferencing, Exchange Instant Messenger und Exchange Chat

  • Verzeichnisprotokolle und APIs: LDAP (Lightweight Directory Access Protocol) und ADSI (Active Directory Service Interface)

Bild05

Abbildung 5. Webspeichersystem: APIs und Internetprotokolle

Diese APIs und Internetprotokolle machen Exchange 2000 Server und das Webspeichersystem von Microsoft zu einer leistungsstarken Zusammenarbeitsplattform für das Bereitstellen automatisierter Geschäftslösungen.

 

Hierarchischer Objektspeicher

Ein Ordner im Webspeichersystem kann wie folgt angezeigt werden:

  • Als Datenbanktabelle mit dynamisch erweiterbarem flexiblen Schema.

  • Als hierarchisches Dateisystem.

  • Als hierarchischer Objektspeicher.

Grundlegende Kenntnisse über Ordner, Unterordner, Elemente und Eigenschaften sind die Voraussetzung, um diese verschiedenen Perspektiven zu verstehen. Das Wissen der meisten Benutzer über die Ordner- und Elementkonzepte des Webspeichersystems basiert auf den Listen und Formularen in Outlook 2000 oder einem vergleichbaren persönlichen Informationsmanager. Im Zusammenhang mit Zusammenarbeitslösungen ist ein grundlegendes Verständnis dieser Konzepte notwendig.

Eine Ordnerhierarchie, die mit dem obersten Ordner der Hierarchie beginnt, wird im Webspeichersystem als Hierarchie der obersten Ebene (TLH = Top Level Hierarchy) bezeichnet. Ein Ordner im Webspeichersystem wird zum Speichern einer Auflistung von Elementen verwendet. Eine Eigenschaft ist ein einfaches Name/Wert-Paar, in dem der Wert ein- oder mehrwertig sein kann. Die Namen der Eigenschaften werden durch den XML-Namespace qualifiziert, zu dem die Eigenschaften gehören, z.B. DAV: oder urn:content-classes. Die Liste der Elemente und ihrer Eigenschaften kann als ADO-Recordset oder als WebDAV-XML-Dokument abgerufen werden. Aus diesem Grund ähnelt ein Ordner im Webspeichersystem einer Datenbanktabelle.

Darüber hinaus ist es nicht erforderlich, dass die einzelnen Elemente in einem Ordner genau dieselben Eigenschaften besitzen. Einem Element kann dynamisch und vollständig unabhängig von den anderen Elementen im Ordner eine Eigenschaft hinzugefügt werden.

Bild06

Abbildung 6. Webspeichersystem: Ordner, Elemente und Eigenschaften

Bestimmte Eigenschaften haben eine definierte Bedeutung. Eine wichtige Eigenschaft ist die boolesche DAV:isfolder-Eigenschaft. Die isfolder-Eigenschaft legt fest, ob ein Element nur ein Element ist oder eine Auflistung (bzw. einen Unterorder) weiterer Elemente darstellt. Der hierarchische Webspeichersystem-Ordnerspeicher wird auf diese Weise implementiert. Dies bedeutet, dass für einige Elemente im Ordner die isfolder-Eigenschaft auf TRUE gesetzt sein kann, d.h., das Element ist ein logischer Unterordner. Anschließend kann die ADO-Methode GetChildren für das Record-Objekt des Elements aufgerufen werden, um die Liste der Elemente im Unterordner zurückzugeben.

Jedes Element im Webspeichersystem verfügt über einen eindeutigen, angezeigten URL, der verwendet wird, um das Element zu identifizieren und darauf zuzugreifen. Für Elemente in privaten Postfächern lautet das URL-Format wie folgt:

  • https://server/exchange/benutzerkennung/ordner/.../thema.suffix

Für Elemente der obersten Hierarchieebene (TLH) lautet das Format wie folgt:

  • https://server/TLHname/ordner/.../thema.suffix

Bei einem Element kann es sich auch um ein beliebiges Dokument handeln, z.B. eine E-Mail-Nachricht, einen Kalendertermin, einen Kontakt, ein Office-Dokument, eine HTML-Seite, eine ASP-Seite, ein XML-Dokument oder einen Audio- bzw. Videodatenstrom. Im Folgenden werden wir einige praktische Beispiele zu diesem Thema untersuchen.

Der URL für eine E-Mail-Nachricht in meinem persönlichen Posteingang kann z.B. wie folgt aussehen:

  • http://ec3-tor-11/exchange/mherman/Exchange%202000%20Development.EML

Der URL für ein Kontaktelement in einem öffentlichen Ordner könnte wie folgt lauten:

  • http://ec3-pfs-04/public/EC3/Shared/Contacts/Michael%20Herman.EML

Elemente und Inhaltsklassen als einsatzbereite Webspeicherobjekte

Eine weitere wichtige Elementeigenschaft ist DAV:contentclass. Die meisten Anwendungen und Dienste, die mit Exchange 2000 Server und dem Webspeichersystem erstellt werden, verwenden die contentclass-Eigenschaft eines Elements, um den vom Element dargestellten Objekttyp zu ermitteln. Wenn die contentclass-Eigenschaft z.B. den Wert urn:content-classes:message aufweist, ist das Element eine E-Mail-Nachricht und sollte für E-Mail-Nachrichten geeignete Eigenschaften besitzen. Weitere wichtige Inhaltsklassen sind z.B. urn:content-classes:appointment, urn:content-classes:person und urn:schemas-microsoft-com:exchange:workflowprocessdefinition. Person ist der Inhaltsklassenwert für Kontaktelemente. Das Webspeichersystem bietet Schema- und Eigenschaftsdefinitionen für mehr als 30 allgemeine Objektinhaltsklassen. Ähnlich wie Eigenschaftsnamen werden die Namen von Inhaltsklassen durch den XML-Namespace qualifiziert, dem sie angehören - entweder einer der systeminternen Webspeichersystem-Namespaces oder der spezifische Namespace Ihrer benutzerdefinierten Anwendung oder Organisation.

MAPI-Anwendungen wie Outlook 2000 verwenden eine ähnliche Elementeigenschaft, die als PR_MESSAGE_CLASS bezeichnet wird (offiziell https://schemas.microsoft.com/exchange/outlookmessageclass). Clientanwendungen können mit der contentclass-Eigenschaft feststellen, wie ein Element (und die dazugehörige Eigenschaftsliste) für den Benutzer angezeigt werden soll. Wenn die contentclass-Eigenschaft den Wert person hat, stellt OWA 2000 das Element mit Hilfe von HTML-Code als Kontakt dar, während Outlook 2000 ein integriertes Outlook-Kontaktformular verwendet, um die Elementeigenschaften anzuzeigen. Im Fall von Outlook 2000 ist der entsprechende PR_MESSAGE_CLASS-Wert IPM.Contact. Damit die OWA 2000- und Outlook 2000-Formulare dieselben Kontaktelemente korrekt verarbeiten, müssen sowohl die contentclass-Eigenschaft als auch die PR_MESSAGE_CLASS-Eigenschaft auf die entsprechenden Werte gesetzt werden.

Bei Exchange 2000 Server und dem Webspeichersystem ist der Inhalt eines Ordners einfach eine Liste von Elementen. Dabei verfügt jedes Element über eine eigene Liste von Eigenschaften. Außerdem kann für einige Elemente die isfolder-Eigenschaft auf TRUE gesetzt werden, um anzugeben, dass es sich um Unterordner mit zusätzlichen Elementen handelt.

Damit es nicht zu Verwirrungen kommt, werden Inhaltsklassennamen auch zum Benennen von XML-basierten Schemaelementen verwendet. Diese werden als Inhaltsklassendefinitionen bezeichnet. Durch Inhaltsklassendefinitionen werden die Eigenschaften definiert, die im Ordnerspeicher für eine bestimmte Objektklasse erwartet werden. Die Methode, die eine Clientanwendung zum Anzeigen eines Elements verwendet, hängt ausschließlich von dieser Anwendung (und den normalen Verwendungskonventionen) ab. Die contentclass-Eigenschaft eines Elements gibt lediglich den Namen der Objektklasse des Elements an.

Es ist auch möglich, ein neues lösungsspezifisches Inhaltsklassenschema aus den systeminternen Inhaltsklassen abzuleiten oder vollständig neue Inhaltsklassen zu erstellen. Wie Sie wahrscheinlich bereits vermuten, sind Schema- und Eigenschaftsdefinitionen selbst nur Elemente mit eigenen speziellen Inhaltsklassen: urn:content-classes:contentclassdef und urn:content-classes:propertydef.

Bei den meisten Anwendungen ist davon auszugehen, dass sie einen eigenen Schemaordner erstellen, der global nur für die Instanzen der jeweiligen Lösung gilt.

ADO oder WebDAV? Sie haben die Wahl...

Neben dem direkten Zugriff auf Elemente oder Objekte im Webspeichersystem mit Hilfe der URLs haben Sie auch die Möglichkeit, Abfragen für den Ordnerspeicher auszuführen. Unabhängig davon, ob Sie ADO oder das WebDAV-Protokoll verwenden, werden alle Abfragen von demselben zugrunde liegende Abfrageprozessor verarbeitet. Die meisten Windows-Entwickler sind mit ADO vertraut. Bei der Exchange 2000 Server-Version des Webspeichersystems gilt jedoch die Einschränkung, dass ADO nur von den Client- bzw. Serveranwendungen verwendet werden kann, die auf demselben Computer ausgeführt werden wie das Webspeichersystem. Daher kann der OLE DB Provider des Webspeichersystems nicht im Remoteverfahren verwendet werden.

Für Entwickler, die bereits mit ADO gearbeitet haben, steht ein als OLE DB Provider für Internet Publishing (MSDAIPP) bekannter Provider zur Verfügung, der oberhalb von WebDAV (und den FrontPage WEC-Protokollen) ausgeführt wird und Remote-ADO-Verbindungen unterstützt. Weitere Informationen hierzu finden Sie unter About the OLE DB Provider for Internet Publishing Guide (in Englisch).

Anmerkung Die Webspeichersystem-Version von CDO kann weder mit dem Webspeichersystem noch mit dem MADAIPP OLE DB Provider im Remoteverfahren ausgeführt werden.

WebDAV ist eine Gruppe von HTTP-Erweiterungen, die gemäß Definition remotable sind. Die Parameter der erweiterten Anforderungen werden als XML-Dokumente formatiert. Nachdem der Abfrageprozessor die Abfrage für einen Ordnerspeicher ausgeführt hat, gibt er die Ergebnisse als XML-Dokument an die Anwendung zurück, von der die Anforderung stammt.

Sowohl für ADO- als auch für WebDAV-Abfragen kann die gewohnte SQL-Abfragesprachensyntax verwendet werden. SELECT *, LIKE, WHERE, ORDER BY, GROUP BY, CONTAINS, FREETEXT und Spaltenaliasing werden unterstützt; JOIN und MAX, MIN, SUM usw. werden nicht unterstützt. Darüber hinaus kann mit Hilfe der Option SCOPE in der FROM-Klausel angegeben werden, ob nur der aktuelle Ordner (ohne Unterordner) durchsucht oder ob die Suche auf alle Unterordner ausgedehnt werden soll. Die erstgenannte Methode wird als SHALLOW-Suche und die zweite als DEEP-Suche bezeichnet. Im Folgenden sehen Sie ein Beispiel:

SELECT Name, WorkPhone, CellPhone FROM SCOPE('UMFASSENDE SUCHE IN "<Ordner-URL>"')

Erweitern der Funktionen des Webspeichersystems

Viele Lösungen können mit Hilfe der oben beschriebenen Datenzugriffsmethoden entwickelt werden. Häufig ist es jedoch notwendig, die Funktionen des Webspeichersystems zu erweitern. Dazu können die folgenden zwei Mechanismen verwendet werden:

  • Herkömmliche Middle-tier-Komponenten (hier als Front-End-Webdienstkomponenten bezeichnet)

  • Ereignisgesteuerte Back-End-Komponenten

Front-End-Webdienstkomponenten. Wie in Abbildung 4 dargestellt, werden die Middle-tier- bzw. die Front-End-Webdienstkomponenten verwendet, um die systeminternen oder benutzerdefinierten Objekte mit zusätzlichen Funktionen in den Ordnerspeicher einzubinden. Im Fall eines Webdienstes werden diese Komponenten oft zum Offenlegen der Funktionen einer Klasse oder Klassengruppe als .NET-Webdienst verwendet.

Ereignisgesteuerte Back-End-Komponenten. Middle-tier-Komponenten können zwar zum Anwenden von Geschäftsregeln verwendet werden, sie gelten jedoch nur für die Anwendungen, die diese Komponenten aufrufen. Die Verwendung von ereignisgesteuerten Back-End-Komponenten ist dagegen ein effektiverer Ansatz (siehe Abbildung 4).

Jede Änderung an einem Element im Webspeichersystem - unabhängig davon, ob es sich um ein einfaches Element oder einen Ordner handelt - kann dazu führen, dass ein Ereignis aufgerufen wird, durch das benutzerdefinierte Codeanweisungen ausgeführt werden. Die ausgeführten Codeanweisungen werden als Ereignisempfänger bezeichnet. Bei der Exchange 2000 Server-Version des Webspeichersystems werden Ereignisempfänger als COM+-Komponenten oder Skriptkomponenten implementiert.

Wenn für ein bestimmtes Ereignis in einem spezifischen Ordner ein Ereignisempfänger registriert ist, übergibt das Webspeichersystem eine Ereignisinformationsstruktur, die einen ADO-Datensatz für das erstellte, geänderte bzw. gelöschte Elemente enthält. Darüber hinaus muss für Ereignisempfängerregistrierungen festgelegt werden, ob der Empfänger synchron oder asynchron in Bezug auf die am Element vorgenommene Änderung ausgeführt werden soll.

 

Workflowfähige Webspeicherobjekte

Neben der Möglichkeit, auf die oben beschriebene Weise Ereignisempfänger auf Speicherebene zu entwickeln, können das Exchange 2000 Server-Workflowmodul und der Workflow Designer für Exchange 2000 Server zusammenarbeiten, um eine Gruppe von Workflowereignisdiensten höherer Ebene zu implementieren.

Workflowmodul

In der Exchange 2000 Server-Version des Webspeichersystems ist das Workflowmodul als COM+-Komponente implementiert. Neben den Vorteilen, die sich durch das Ausführen des Workflowmoduls unter COM+ hinsichtlich der Leistung und der Verwaltbarkeit ergeben, nutzt das Webspeichersystem die Vorteile des rollenbasierten Sicherheitsmodells von COM+, um festzustellen, wie die Webspeichersystem-Objekte in einem bestimmten Ordner workflowfähig gemacht werden können.

Das Workflowmodul implementiert die Ereignisempfängerschnittstellen der unteren Ebene, so dass das Modul jedes Mal aufgerufen wird, wenn in einem workflowfähigen Ordner eine Änderung vorgenommen wird. Das Workflowmodul legt für den Workflow Designer eine Reihe von Workflowereignissen höherer Ebene offen.

Workflow Designer für Exchange 2000 Server

Der Workflow Designer für Exchange 2000 Server ist ein visueller Designer, mit dem Webspeichersystem-Ordner und -Elemente workflowfähig gemacht werden können, und wird mit der Microsoft Office 2000 Developer Edition 1.5 geliefert. Die Entwurfsoberfläche wird zum Zeichnen von Statusübergangsdiagrammen verwendet, die einen Geschäftsprozess darstellen. Die Knoten stellen die Status dar, die ein bestimmtes Element oder Dokument zu bestimmten Zeitpunkt aufweisen kann. Zwischen den beiden Status wird ein Pfeil gezeichnet, sofern dies für den Geschäftsprozess sinnvoll ist. Der Pfeil stellt den Übergang von einem Status in den nächsten dar. Ein Übergang wird durch eine Bedingung geschützt, die steuert, wann der aktuelle Status eines Elements in einen neuen Status geändert werden darf. Normalerweise überprüft die Bedingung eine oder mehrere Eigenschaften im ADO-Record-Objekt des Elements, das beim Aufrufen des Workflowereignisses automatisch verfügbar wird. Beim Übergang vom aktuellen in den nächsten Status kann ein Visual Basic-Aktionsskript ausgeführt werden, um auf externe Funktionen zuzugreifen, z.B. das Senden einer E-Mail-Benachrichtigung oder das Einbinden der .NET Orchestration-Prozessintegrationsfunktionen von BizTalk Server.

 

Verwenden des Webspeichersystems für mobile Lösungen und Offlinelösungen

Derzeit ist das Webspeichersystem nur als serverseitige Technologie verfügbar, die mit Exchange 2000 Server geliefert wird. Zukünftig wird es auch zusammen mit Tahoe erhältlich sein, dem Webspeichersystem-basierten und für die Zusammenarbeit entwickelten Serverprodukt von Microsoft.

Für eine zukünftige Version von Office ist ebenfalls eine clientseitige Version des Webspeichersystems geplant, die das automatische Zwischenspeichern von serverseitigen Webspeichersystem-Inhalten sowie von generischen Inhalten unterstützt. Darüber hinaus unterstützt das lokale Webspeichersystem die abonnementbasierte Replikation von Serverinhalten in den lokalen Speicher. Durch die clientseitige ASP-Unterstützung (Active Server Pages) kann das lokale Webspeichersystem als Host für vollständig dynamische Websites eingesetzt werden. Diese Fähigkeit ermöglicht viele neue Kategorien von mobilen Lösungen und Offlinelösungen, die vollständig einsatzfähig und dynamisch sind.

 

Überblick

Das folgende Diagramm zeigt, wie drei Arten von Clientanwendungen auf die Eigenschaften eines Elements zugreifen und diese aktualisieren können.

Bild07

Abbildung 7a. Clientseitiger Überblick

MAPI-Clients, z.B. Outlook 2000, können neue Elemente erstellen, die Eigenschaften bestehender Elemente aktualisieren oder einzelne Elemente bzw. Elementeigenschaften löschen. Desgleichen können herkömmliche Visual Basic- und Webserveranwendungen durch die Verwendung der zahlreichen APIs und Internetprotokolle des Webspeichersystems mit einer Instanz derselben Elemente kommunizieren und diese ändern.

Darüber hinaus können die von diesen Clientanwendungen vorgenommenen Änderungen eine ereignisgesteuerte Back-End-Logik auslösen. Dazu gehören auch die in dem Exchange 2000 Server-Workflowmodul ausgeführten Workflowprozesse. Der Workflow Designer für Exchange 2000 wird zum Erstellen und Aktualisieren von Geschäftsprozessen verwendet, die in Workflowdefinitionsdateien (WFD) gespeichert werden. WFD-Dateien können in jedem beliebigen workflowfähigen Ordner oder einem gemeinsamen Anwendungsordner gespeichert werden (ähnlich der Freigabe von Elementen beim Inhaltsklassenschema). Das folgende Diagramm zeigt, wie die ereignisgesteuerte Back-End-Logik auf das Erstellen neuer Elemente oder Ändern vorhandener Elemente reagieren kann.

Bild08

Abbildung 7b. Ereignisgesteuerte Back-End-Logik - Überblick

Wenn ein Benutzer auf ein Element doppelklickt oder auf andere Weise versucht, ein Element zu öffnen, überprüft die Anwendung zunächst die Inhaltsklasse (oder PR_MESSAGE_CLASS) und die Browserparameter, um die geeignete Webbenutzeroberfläche bzw. das geeignete Formular zum Anzeigen der Eigenschaften des Elements zu ermitteln.

 

Webspeichersystem und die .NET-Plattform

Das folgende Diagramm zeigt, wie die Anforderungen des .NET Frameworks heute im Webspeichersystem berücksichtigt werden. Im Abschnitt erhalten Sie einen Überblick über die neuen .NET-Features, die das Exchange-Entwicklungsteam für die nächsten Webspeichersystem-Versionen plant.

Bild09

Abbildung 8. Webspeichersystem und die .NET-Plattform

 

Webdienste

Mit dem SOAP Toolkit für Visual Studio 6 können jetzt benutzerdefinierte Webdienste für das Webspeichersystem schnell entwickelt werden. Die Exchange Server-Downloads unter https://msdn.microsoft.com/exchange/ (in Englisch) und https://msdn.microsoft.com/xml/general/toolkit_intro.asp (in Englisch) sind hierfür hervorragende Quellen. Während das SOAP Toolkit das Entwickeln von Webdiensten und Herstellen von Verbindungen vereinfacht, ist für die SOAP-Protokollstandardfamilie kein bestimmtes Toolkit bzw. keine spezielle Plattform erforderlich, um die Vorteile der Webdienste zu nutzen.

Das SOAP Toolkit enthält die notwendige Infrastruktur zum Offenlegen von SOAP-Webdiensten auf Windows-Betriebssystemen und Verwenden dieser Dienste mit Visual Studio 6.0. Das SOAP Toolkit automatisiert alle wichtigen Schritte beim Erstellen eines Webdienstes.

Wenn Sie eine vorhandene COM-Komponente besitzen, können Sie diese mit dem SOAP Toolkit auf einfache Weise in einen Webdienst umwandeln und dann z.B. mit Visual Basic verwenden. Das SOAP Toolkit enthält ein neues Tool, mit dem die Klassenbibliothek einer bestehenden COM-Komponente extrahiert und in einen SCL-Vertrag (SCL = SOAP Contract Language) geändert wird, der die Funktionen der Komponente darstellt, z.B. Schnittstellen, Methoden und Eigenschaften. Dieser Vertrag erzeugt außerdem die erforderlichen Dateien, um den Dienst für die Verwendung durch andere Anwendungen zu implementieren. Sie können diesen Vertrag auch manuell generieren.

Nachdem ein solcher Vertrag generiert wurde, enthält das Toolkit eine Erweiterung für Visual Studio. Der Vertrag wird dann automatisch in einen Proxy umgewandelt, den Sie wie eine lokale COM-Komponente programmieren können. Das Toolkit beinhaltet außerdem SOAP Listener, die SOAP-Aufrufe empfangen und an den entsprechenden Dienst leiten.

Webdienste werden häufig über konventionelle SOAP-Remote-Methodenaufrufprotokolle aufgerufen. SOAP wird von den folgenden XML-basierten Standards unterstützt: XSD (XML Schema Datatypes) für die Schemadefinition, dem SOAP Discovery-Protokoll, SCL (Service Contract Language) und dem SOAP-Protokoll (Simple Object Access Protocol) selbst. Darüber hinaus verwenden Remotedaten-Webdienste XML/HTTP-Protokolle wie WebDAV. Weitere Informationen hierzu finden Sie im Abschnitt "Daten und XML".

 

Webbenutzeroberfläche

Durch die folgenden drei Schlüsseltechnologien des Webspeichersystems wird das Entwickeln einer Webbenutzeroberfläche vereinfacht und beschleunigt:

  • Webspeichersystem-Formulare, einschließlich Formularregistrierung und EXWFORM Web Storage System Forms-Formularrendermodul.

  • Outlook Web Access für Exchange 2000 Server-Webkomponenten.

  • Outlook- und Instant Messenger-Sichtsteuerelemente.

Formularregistrierungseigenschaften werden in separaten Elementen bzw. Objekten gespeichert, die als Formularregistrierungen bezeichnet werden. Die Formularregistrierungseigenschaften legen basierend auf der Inhaltsklasse und einer Vielzahl anderer Kriterien (z.B. Browsertyp, Anforderungstyp, Parameter der Abfragezeichenfolge) fest, welche Webbenutzeroberfläche zum Darstellen der Eigenschaften des Elements verwendet wird. Die zu verwendende Webbenutzeroberfläche kann durch einen herkömmlichen URL oder den Pfadnamen einer benutzerdefinierten Formularrendermodul-DLL auf dem Webspeichersystem-Server identifiziert werden. Benutzerdefinierte Formularrendermodul-DLLs werden als Erweiterung einer ISAPI-Anwendung ausgeführt, wobei davon ausgegangen wird, dass die DLLs leistungsfähig und skalierbar sind. Outlook Web Access für Exchange 2000 Server wird als eine dieser DLLs implementiert. Ein systeminternes oder benutzerdefiniertes Formularrendermodul hat Zugriff auf die HTTP-Anforderungsheader sowie auf einen ADO-Datensatz mit den Eigenschaften des Elements, das vom Browser des Benutzers angefordert wurde.

Das Webspeichersystem wird mit einem eigenen systeminternen Formularrendermodul geliefert: EXWFORM Web Storage System Forms. Entwickler erstellen Webspeichersystem-Formulare ähnlich wie ASP-Seiten oder Webseiten mit dynamischer DHTML-Datenbindung. EXWFORM-Formulare bieten eine Reihe von Shortcuts, durch die das Verwenden von Skriptcode in der Seite teilweise oder sogar vollständig entfällt. Alle Webspeichersystem-Formularrendermodule (systemintern oder benutzerdefiniert) werden serverseitig ausgeführt.

OWA 2000 legt den Großteil der Clientfunktionen von Outlook 2000 als webkomponentenbasierte Webbenutzeroberfläche offen. OWA 2000 kann als vollständiger E-Mail-Client verwendet werden - mit Zugriff auf E-Mail, Kalender und Kontakte sowie auf alle privaten und öffentlichen Kalender. Außerdem können Entwickler die einzelnen Komponenten der OWA 2000-Webbenutzeroberfläche verwenden, um in ihren eigenen zusammenarbeitenden Weblösungen automatisch umfassende Kalender, Kontaktlisten, E-Mails und Diskussionen mit Threads darzustellen.

 

Daten und XML

Das Webspeichersystem unterstützt ADO 2.5, WebDAV und Webdienste, um die Übertragung von relationalen Daten und XML über das .NET Framework zu ermöglichen.

ADO stellt das serverseitige Datenzugriffs-Objektmodell bereit, mit dem die meisten Visual Basic- und ASP-Entwickler vertraut sind. WebDAV (W3C Distributed Authoring and Versioning-Protokoll) unterstützt Remotedaten über ein XML-basiertes HTTP-Anforderungs- und Antwortprotokoll. Auf die von einer WebDAV-Anforderung zurückgegebenen Daten kann über das XML-Dokumentobjektmodell (DOM) oder als Remote-ADO-Recordset über den OLE DB Provider für Internet Publishing (MSDAIPP) zugegriffen werden. Letzterer wird auch als "Rosebud" bezeichnet. Weitere Informationen hierzu können Sie dem Abschnitt "Hierarchischer Objektspeicher" in diesem Artikel entnehmen.

Anwendungen können die XML/HTTP-basierte SOAP-Protokollfamilie verwenden, um Methodenaufrufe für Dienste vorzunehmen, die auf einem Remotewebserver ausgeführt werden. Die Ergebnisse werden in diesem Fall als SOAP-formatierte XML-Dokumente zurückgegeben.

 

Komponentenlaufzeitumgebung

Für die Exchange 2000 Server-Version des Webspeichersystems wird COM+ als Komponentenlaufzeitumgebung unterstützt.

 

Basisklassen

In der Exchange 2000 Server-Version des Webspeichersystems werden sechs Kategorien von Basisklassen unterstützt (die Transportprotokolle für die Übertragung zwischen Servern nicht mitgezählt):

  • Clientzugriffsprotokolle und -APIs

  • Datenzugriff

  • IFS-Treiber

  • Collaboration Data Objects (CDO)

  • Zusammenarbeit in Echtzeit

  • Ereignisse

Ausführlichere Informationen zu den APIs und Protokollen der einzelnen Gruppen finden Sie im Abschnitt "Microsoft-Webspeichersystem" dieses Artikels.

 

Visual Studio und Office

Neben einer ausgezeichneten Plattform sind für das schnelle Entwickeln von Anwendungen und eine hohe Produktivität des Entwicklers auch hervorragende Tools erforderlich. Zum Erstellen von .NET-Anwendungen und -Diensten sind Visual Studio 6.0 und Office 2000 Developer Edition (einschließlich Outlook 2000, FrontPage 2000 und dem Workflow Designer für Exchange 2000 Server) heute die wichtigsten Tools.

 

Gemeinsames Webdienstmodell

Es gibt zwei wesentliche Ansätze für das Erstellen von Zusammenarbeitslösungen mit Webdiensten: einfache Webdienste und gemeinsame Webdienste. Ein einfacher Webdienst wird auf einem Webserver implementiert und legt einen Webdienst offen. In Abbildung 9 legen Server X, Server Y und die Reisebüro-Websites einfache Webdienste offen, und Anwendungen rufen die von diesen Webdiensten bereitgestellten Methoden direkt auf.

Im Zuge der Entwicklung von Webdiensten wird es zu einer Spezialisierung kommen, da bestimmte Server spezifische Aufgaben übernehmen - sei es bezüglich der Funktionalität, der horizontalen Skalierbarkeit oder der Zuverlässigkeit. Server X und Server Y in der unten stehenden Abbildung sind Beispiele. Wenn ein Webdienst von einem Server auf einen zweiten oder dritten Server verschoben wird, entstehen in dieser Situation jedoch Komplikationen für die Entwickler, Benutzer und Anwendungen, die die Webdienste nutzen. Die Lösung für dieses Problem sind gemeinsame Webdienste und UDDI.

Gemeinsame Webdienste werden auf einem bekannten Front-End-Webserver bereitgestellt, der als Masterwebserver bezeichnet wird. Die Webdienstkomponenten können dagegen auf einer beliebigen Anzahl von Middle-tier-Servern ausgeführt werden. Anwendungen, die eine Verbindung zu einem Webdienst herstellen möchten, greifen einfach auf die SOAP-Verträge auf dem Masterwebserver zu. Die Remotemethodenaufrufe werden dann automatisch für die entsprechenden Middle-tier-Server ausgeführt. Für viele Benutzer eignen sich die Exchange Front-End-Messaging und -Zusammenarbeitsserver als Masterwebserver. Im Laufe der weiteren Entwicklung der Webdienste werden sich UDDI-Registrierungen jedoch als die bessere Wahl für das Bereitstellen von Geschäftsinformationen und technischen Informationen zu den Webdiensten einer Organisation erweisen.

Die folgenden gemeinsamen Webdienste können auf dem Exchange-Server bereitgestellt werden:

  • Lokale, fertig erhältliche Exchange-Webdienste

  • Lokale benutzerdefinierte Webdienste

  • Gemeinsame Webdienste von einer beliebigen Anzahl interner oder externer .NET-Server.

Dieses Szenario wird im oberen Teil von Abbildung 9 dargestellt.

Bild10

Abbildung 9. Umfassendes gemeinsames Webdienstmodell

Bei dem letzten Szenario in Abbildung 9 handelt es sich um einen vermittelten Aufruf. Ein vermittelter Aufruf findet statt, wenn ein Webdienst im Namen der ursprünglich aufrufenden Anwendung einen anderen Webdienst aufruft. In Abbildung 9 legt der Exchange-Server einen gemeinsamen Webdienst offen, der von Outlook aufgerufen wird. Wenn es sich bei dem vom Outlook-Benutzer angeforderten Vorgang um das Buchen einer Urlaubsreise handelt, vermittelt der Exchange-Server diesen Aufruf an einen Webdienst, der in der Website eines Reisebüros ausgeführt wird.

Darüber hinaus können Organisationen durch die gemeinsame Verwendung von Webdiensten entscheiden, ob sie eine eigene Infrastruktur oder einen externen Host verwenden möchten, ohne dadurch die Steuerungs- bzw. Zugriffsmöglichkeiten für den Webdienst zu beeinträchtigen.

 

Zusammenarbeit am Beispiel eines Reisebüros

Im Folgenden untersuchen wir das Szenario zum Buchen einer Urlaubsreise, das im Abschnitt "Vorteile für den Webbenutzer" bereits erwähnt wurde. Ein Outlook-Benutzer möchte eine Urlaubsreise buchen. Theoretisch benötigt das Reisebüro die folgenden Informationen, um diesen Vorgang auszuführen:

  • gewünschte Reisezeiten

  • Reiseziel

  • gewünschtes Hotel

  • Mietwagen

  • spezielle Essenswünsche

  • Raucher/Nichtraucher

  • gewünschte Mietwagenagentur

  • gewünschter Sitzplatz im Flugzeug

  • Vielflieger-Kontonummer

  • Zahlungsinformationen

Möglicherweise verfügt das Reisebüro bereits über einige oder alle der oben genannten Informationen. Es kann jedoch sein, dass diese Informationen nicht mehr aktuell sind oder der Benutzer erstmals eine private Reise bei dem Reisebüro bucht. Wir werden uns zunächst mit einem Entwurf befassen, der die Vorteile des gemeinsamen Webdienstmodells nutzt, und anschließend einen ineffizienten Ansatz untersuchen.

Umfassende gemeinsame Webdienste - Beispiel

Im obigen umfassenden gemeinsamen Dienstmodell verwendet der Outlook-Benutzer entweder ein Outlook-Terminformular oder ein Webformular, das für persönliche Urlaubsreisen angepasst wurde. Zunächst wird das Formular mit einer neuen Inhaltsklasse registriert, z.B. urn:content-classes:vacationbooking. Die Outlook-Nachrichtenklasse outlookmessageclass muss ebenfalls festgelegt werden. Das Schema für diese Inhaltsklasse könnte eine Eigenschaft für jede Information in der obigen Liste enthalten. Aber warum sollte man sich damit das Leben schwer machen? Nur die ersten drei oder vier Informationen sind bei jeder Reise unterschiedlich: Wann möchten wir verreisen? Wohin möchten wir verreisen? In welchem Hotel möchten wir absteigen? Benötigen wir einen Mietwagen?

Diese Eigenschaften müssen im vacationbooking-Inhaltsklassenschema enthalten sein. Wenn die vacationbooking-Inhaltsklasse jedoch von der Appointment-Inhaltsklasse abgeleitet wird, müssen dem neuen Schema und dem neuen vacationbooking-Terminformular nur Eigenschaften für das Reiseziel, das Hotel und die Mietwagenwünsche hinzugefügt werden.

Wenn dem Outlook-Kalender eines Benutzers ein neues Element hinzugefügt wird, wird der Ereignisempfänger in dem Workflowmodul ausgeführt, und anhand einer Bedingung wird überprüft, ob der Wert der Inhaltsklasse des neuen Elements vacationbooking ist. Wenn dies der Fall ist, wechselt der Workflow für dieses Element zum nächsten Status im Geschäftsprozess, und das mit dem Übergang verknüpfte Aktionsskript wird ausgeführt. Das Aktionsskript sollte einen vermittelten Aufruf an den Webdienst auslösen, der durch die Website des Reisebüros offen gelegt wird. Dabei werden die Informationseinheiten übergeben, die im vacationbooking-Formular erfasst wurden.

Jedes gute Reisebüro würde als Nächstes nach Ihren weiteren Wünschen und der Zahlungsart fragen. Wie geschieht dies? Wenn sich das Reisebüro telefonisch an Sie wendet oder eine E-Mail sendet, hätten die Informationen auch auf dem ursprünglichen vacationbooking-Formular eingegeben werden können. Stattdessen führt die Anwendung des Reisebüros eine eigene Remotemethode oder einen Datenzugriffsaufruf für einen zweiten Webdienst auf dem Exchange-Server des Outlook-Benutzers aus. Dieser Dienst stellt die weiteren Informationen zu den Reisewünschen des Benutzers für autorisierte Benutzer (z.B. das Reisebüro) bereit. Die Informationen werden in einem Speicherort als Element in den privaten Ordnern des Outlook-Benutzers gespeichert. Auf diese Weise sind die Informationen immer aktuell und sicher.

Ineffiziente Webdienstarchitektur

Wenn Sie sich die ineffiziente Webdienstarchitektur für dasselbe Szenario zum Buchen einer Urlaubsreise in Abbildung 10 anschauen, werden die Vorteile des zuvor beschriebenen Ansatzes noch deutlicher. In diesem Szenario gibt es keinen Workflow, ein vermittelter Aufruf an den Webdienst des Reisebüros ist nicht möglich, und auf dem Exchange-Server ist kein Webdienst verfügbar, von dem Informationen zu den Wünschen des Benutzers angefordert werden können.

Bild11

Abbildung 10. Ineffiziente Webdienstarchitektur

In diesem Szenario werden die erforderlichen Informationen durch zusätzlichen clientseitigen Code erfasst und in einem großen Remotemethodenaufruf für den Webdienst des Reisebüros zusammengefasst. An wen wendet sich die Anwendung des Reisebüros, wenn in diesem Fall noch weitere Informationen notwendig sind? Voraussichtlich würde die Anwendung den im Outlook-Client ausgeführten vacationbooking-Code aufrufen. Wahrscheinlicher ist es jedoch, dass sich das Reisebüro telefonisch oder per E-Mail an den Outlook-Benutzer wendet, der die Informationen dann manuell aus einem Element in seinen privaten Ordnern abruft. Das Ergebnis sind Verzögerungen, und beide Seiten - der Benutzer und das Reisebüro - haben wertvolle Zeit vergeudet.

Diese beiden Szenarios zeigen, welchen Stellenwert die .NET-Plattform und das .NET Framework insbesondere im Hinblick auf Webdienste und deren Nutzen zukünftig haben werden.

 

Zukunftsaussichten

Im Laufe der nächsten Versionen des Webspeichersystems wird für jede .NET Framework-Komponente zusätzliche Unterstützung bereitgestellt.

Bezüglich der Webbenutzeroberfläche werden sich durch die Integration von ASP+ Weiterentwicklungen des Formularrendermoduls (Web Storage Systems Forms) ergeben. Durch die Implementierung der Formularregistrierung und von Outlook Web Access für Exchange 2000 Server werden auch die Komponenten der Webbenutzeroberfläche im Laufe der Zeit weiter verbessert.

Hinsichtlich der Daten- und XML-Übertragung bietet der verwaltete Provider von Exchange Unterstützung für ADO+-Datasets, einschließlich der erweiterten Zwischenspeicherung und Speicherung von Daten auf einer beliebigen Ebene der Lösungsarchitektur. Auf die Daten in einer ADO+-Tabelle kann als relationale Tabelle (vergleichbar mit einem ADO-Recordset), als ADO+-XML-Datendokument oder als konventionelles XML-DOM-Objekt zugegriffen werden.

Darüberhinaus ist eine umfassendere Integration der Webspeichersystem-Technologie in die gemeinsame .NET-Sprachlaufzeit geplant.

 

Schlussfolgerung

Als erste Plattform, die die Datenverarbeitung und die Kommunikation gleichermaßen nutzt, wird die Microsoft .NET-Plattform im ersten Jahrzehnt des 21. Jahrhunderts zu revolutionären Neuerungen in diesen beiden Bereichen führen: sowohl die Datenverarbeitung als auch die Kommunikation werden deutlich vereinfacht. Microsoft .NET wird eine neue Generation von Internetdiensten hervorbringen und es Zehntausenden von Entwicklern ermöglichen, revolutionäre Software für Onlinedienste und -geschäfte zu erstellen. Mit Hilfe dieser neuen Technologie können Sie wieder die Kontrolle übernehmen und Ihre Privatsphäre, Ihre digitale Identität und Ihre Daten besser schützen.

Das Exchange 2000 Server-Produktteam würde sich freuen, Ihre Meinung zur Microsoft .NET-Strategie von Exchange 2000 Server zu hören. Senden Sie Ihre Kommentare bitte an e2knet@microsoft.com.

Weitere Informationen:

Exchange

TechNet

Exchange

Programming Microsoft Outlook and Microsoft Exchange, Second Edition (in Englisch)

Danksagung

Dieser Artikel wäre ohne die Unterstützung des Exchange 2000 Server-Produktteams sowie die Beiträge, Anregungen und das Engagement von Gordon Mangione, Alex Hopmann, Brent Ingraham, Harry Katz, Keith McCall, Chris Vandenberg, Thomas Rizzo, Lyle Curry, Jeff Wierer, Kevin Hunter, Bill Skilton und das Microsoft EC3 Enterprise Consulting Competency Centers-Team nicht möglich gewesen.

Rechtliche Hinweise

Bei diesem Dokument handelt es sich um ein vorläufiges Dokument, das bis zur endgültigen Handelsausgabe wesentlichen Änderungen unterliegen kann. Dieses Dokument wird nur zu Informationszwecken zur Verfügung gestellt, und Microsoft Corporation übernimmt für dieses Dokument keine Gewährleistungen, weder ausdrücklich noch konkludent. Änderungen der Informationen in diesem Dokument sind ohne Ankündigung vorbehalten. Das vollständige Risiko der Nutzung oder der Ergebnisse der Nutzung dieses Dokumentes liegt bei dem Nutzer. Firmen, Organisationen, Produkte, Personen und Ereignisse, die in den hierin befindlichen Beispielen benutzt werden, sind frei erfunden. Jede Ähnlichkeit mit tatsächlichen Firmen, Organisationen, Produkten, Personen oder Ereignissen ist rein zufällig. Die Benutzer/innen sind verpflichtet, sich an alle anwendbaren Urheberrechtsgesetze zu halten. Ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation darf kein Teil dieser Unterlagen für irgendwelche Zwecke vervielfältigt oder übertragen werden, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln, elektronisch oder mechanisch, dies geschieht.

Es ist möglich, dass Microsoft Rechte an Patenten bzw. angemeldeten Patenten, an Marken, Urheberrechten oder sonstigem geistigen Eigentum besitzt, die sich auf den fachlichen Inhalt dieses Dokuments beziehen. Das Bereitstellen dieses Dokuments gibt Ihnen jedoch keinen Anspruch auf diese Patente, Marken, Urheberrechte oder auf sonstiges geistiges Eigentum, es sei denn, dies wird ausdrücklich in den schriftlichen Lizenzverträgen von Microsoft eingeräumt.

Nicht veröffentlichte Arbeit. &#169; 2000 Microsoft Corporation. Alle Rechte vorbehalten.

Microsoft, Exchange, Outlook und Windows sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern.

Weitere in diesem Dokument aufgeführte Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.