930 likes | 1.19k Vues
. ADO. OLEDB. EFD. CMC. DAPI. Active Messaging. Exchange Server Interfaces. Simple MAPI. Event Scripting. OLE Messaging. ADSI. Outlook Object Model. Routing Objects. CDOEXM. Workflow Engine. Extended MAPI. CDO 1.21. WEBDAV. XML. CDOSYS. AVAPI. Outlook Forms. WEBFORMS. LDAP. Client Extensions. COM-A
E N D
2.
3. Agenda Exchange 5.x Schnittstellen
Store Schnittstellen
Directory Schnittstellen
Exchange 2000 Schnittstellen
Neue Store Schnittstellen
Neue Directory Schnittstellen
Exchange 2000 Future
Exchange 2000 SP1
Exchange und .NET
5. Von ber 100 Firmen und Microsoft definierter Standard, welcher das Zusammenspiel zwischen Komponenten und deren Schnittstellen definiert
Smtliche Bestandteile des Exchange Servers kommunizieren u.a. ber MAPI (Store, Gateways, Addressbook, Transport, etc.) und Clients (Exchange und Outlook)
OLE/COM basierend
Programmierung nur mit C/C++
6. MAPI ist ein offenes Konzept, nahezu alle Komponenten knnen durch eigene Implementierungen ersetzt oder erweitert werden
MAPI definiert, welche Schnittstellen Komponenten im Gesamtsystem haben mssen, die Implementierung selbst ist offen.
Realisiert ber COM Interfaces (wie abstrakte Basisklassen)
7. Extended MAPI
8. DEMO: Extended MAPI
9. Nice Feature:
Mapi untersttzt Notifications zwischen MAPI Objekten (Store und Addressbook)
Bietet Client oder Serveranwendung die Mglichkeit, auf nderungen wie Message angekommen, verschoben, gendert, gelscht, Addressbucheintrag erzeugt, verndert, gelscht etc. zu reagieren
Implementiert ber AdviseSinks (IMAPIAdviseSink::OnNotify)
10.
11. DEMO: MAPI Event Notification
12. MAPI Resources MAPI Links:
http://msdn.microsoft.com/exchange
Exchange Server 2000 Documentation / Messaging API (MAPI)
http://peach.ease.lsoft.com/archives/mapi-l.html
MAPI Bcher:
"Inside MAPI", Les Thaler (http://www.insidemapi.com)
Ben Gtter, "Developing Applications for Microsoft Exchange with C++"
Nik Okuntsev, "Programming MS Exchange Server", http://www.wrconsulting.com/Software/Publications/Exchange/Contents.htm
13. Microsoft Exchange Server hat eigene Interfaces (11 St.), zugehrige Methoden und Runtime Functions (317 St.)
Exchange Dienste benutzen sowohl MAPI als auch Exchange Server Interfaces, deren Methoden und Runtime functions
Exchange Server Interfaces sind hauptschlich fr das Managen des Stores gedacht. (Rules erzeugen, ACLs auf Folder, Synchronisation, ..)
Eigene Anwendungen knnen diese Interfaces und Methoden ebenfalls nutzen
14. IExchangeExportChanges (EDKMDB.H)
IExchangeFavorites (EDKMDB.H)
IExchangeFolderACLs (ACLCLS.H)
IExchangeFolderRules (RULECLS.H)
IExchangeImportContentsChanges (EDKMDB.H)
IExchangeImportHierarchyChanges (EDKMDB.H)
IExchangeManageStore (EDKMDB.H)
IExchangeModifyTable (EDKMDB.H)
IExchangeRuleAction (EDKMDB.H)
IExchangeRuleExt (EXCHCLI.H)
IExchangeRuleExtCallback (EXCHCLI.H)
15. Die Exchange Server Runtime Functions (317 Stck) werden in zwei Gruppen unterteilt:
Core functions
Dazu gehren Functionen fr Directory Zugriff (DAPI), Proxy Address Generation, Routing Table (SAD_xx), Admin Extension, Tracing, Installation, Rules, MAPI helper und Gateways
Non Core functions
Dazu gehren Funktionen fr Gateways, Service, Event, Logging, Konfiguration und Konvertierung
16. Incremental Change Synchronization (ICS) ist Teil der Exchange Server Interfaces
Wird verwendet, um nderungen in der Storestruktur und Storeinhalt mitzuprotokollieren, abzufragen und um nderungen zu synchronisieren.
Der Exchange Server 5.5 Event Service benutzt dieses Interface.
Interfaces des ICS:
IExchangeExportChanges IExchangeImportHierarchyChangesIExchangeImportContentsChanges
17. Incremental Change Synchronisation Interface, um Store Inhalte/Hierachie zu synchronisieren
Exchange Private Store (Mailboxen)
Exchange Public Store (ffentliche Ordner)
nicht verfgbar fr PST oder OST Stores
Zugriff via MAPI, sind aber spezifisch fr Microsoft Exchange
Beispiel: Platform SDK April99: ICSAGENTWIZARD
18. Incremental Change Synchronisation Schnittstellen
Synchronizer interface
IExchangeExportChanges
Collector interfaces
IExchangeImportHierarchyChanges
IExchangeImportContentsChanges
Zwei verschiedene Synchronizer fr Hierarchietabelle und Inhalttabelle
PR_HIERARCHY_SYNCHRONIZER
PR_CONTENTS_SYNCHRONIZER
Realisiert ber ein IStream Objekt, welches den aktuellen Status der Synchronisation enthlt
Das Format des Synchronisations Status Objekts wird vom Collector/Synchronizer definiert
Enthlt Informationen ber alle importierten und exportierten Daten
19. Ab 5.5 SP3 (scannt nur Attachments)
Anti-Viren Hersteller implementiert DLL mit 3 exportierten Funktionen:
VirusScanInit
VirusScanTerm
VirusScanAndClean
Infos fr Admin's: Q263949
Ab Exchange 2000 SP1 AVAPI 2.0
scannt alle Properties Anti Virus API
20. Definiert von der X-Open Application Program Interface Association (XAPIA).
10 simple Funktionen um Email-Funktionalitt in Anwendungen zu integrieren
Senden, Empfangen und Adressenauflsung
Plattformunabhngig (Win Implementation verwendet MAPI)
Sample im Platform SDK: CMC.CLI Common Messaging Calls (CMC)
21. 12 simple Funktionen um Email-Funktionalitt in Client- Anwendungen zu integrieren Simple MAPI
22. Ab Exchange 4.0 mitgeliefert (MDISP32.DLL)
Nur fr Client-side Messaging Apps
Programmierbar mit Visual Basic, Visual Basic for Applications, C, C++, etc
Bietet mehr Funktionalitt als Simple MAPI oder CMC
Folder Zugriff, mehr Adressbuch Properties, mehr Message Properties, Custom Properties, etc.
Wesentlich einfacher zu programmieren als Extended MAPI OLE/Active Messaging (1)
23. 'Create the Session Object
Set objSession = CreateObject("mapi.session")
'Logon using the session object
objSession.Logon profileName:=Michael Klopstock"
'Add a new message object to the OutBox
Set objMessage = objSession.Outbox.Messages.Add
objMessage.subject = "This is a test.
objMessage.Text = "This is the message text.
'Add a recipient object to the objMessage.Recipients collection
Set objRecipient = objMessage.Recipients.Add
'Set the properties of the recipient object
objRecipient.Name = Michael Klopstock
objRecipient.Type = mapiTo
objRecipient.Resolve
'Send the message
objMessage.Send showDialog:=False
'Logoff using the session object
objSession.Logoff OLE/Active Messaging (2)
24. COM Server basierend auf MAPI
Nachfolger von Active Messaging
Mitgeliefert mit Microsoft Exchange 5.x und Outlook
Support fr Server-seitige und Client- seitige Anwendungen
Support fr Web Anwendungen
Kompatibel mit Active Messaging 1.0 CDO 1.x
25. CDO 1.21
26. CDO Object Model 1.x
28. Anzeige von Kalendereintrgen eines Zeitraums DEMO: CDO 1.21
29. Exchange Event Service Ab Exchange Version 5.5
Der Exchange Server Event Service registriert sich bei MAPI, um Folder Notifications vom Store zu bekommen
Nach Erhalt einer Notification stsst der Event Service den ICS an, um die Art der Vernderung festzustellen
Daraus konstruiert der Event Service einen Event, der an die installierten Agents (Default = Event Scripting Agent) weitergereicht wird.
30. Event Handler Agent:
Man kann beim Exchange Server Event Service eigene Agents (siehe Event Scripting Agent) registrieren, um folgende Events abzufangen:
Erzeugen einer Nachricht in einem Ordner
nderung einer Nachricht in einem Ordner
Lschen einer Nachricht in einem Ordner
Ein Event Handler Agent ist ein Standard COM Object
IExchangeEventHandler Interface muss implementiert werden
ExecuteEvent() Funktion muss implementiert werden:
Infos in MSDN unter:
Platform SDK/Database und Messaging Service/Microsoft Exchange Server/ Exchange Server Programmers Reference/Guide/ Exchange Server Scripting Agent/Advance Topics:Custom Agents Exchange Event Service
31. Mgliche Events:
OnMessageCreated
OnMessageChanged
OnMessageDeleted
OnTimer (Min 15 min)
Vorsicht:
Asynchrones Processing
wenn z.B.: auf Outbox angewandt, dann kann Message schon wieder gelscht sein, bis der Agent darauf zugreift.
Single Threaded => Skalierung !
Mgliche Anwendungsbereiche:
Periodisches Archivieren von Nachrichten und/oder Attachments
Workflow Anwendungen (Post in Public Folder, etc.) Exchange Scripting Agent
32. Einrichten eines Scripting agents Demo: Exchange Scripting Agent
33. Basiert auf Exchange Event Service
Erweitert Exchange 5.5 Server Scripting:
Ziel: Vereinfachung der Erstellung von Routing und Tracking Anwendungen mit Scripting
Nicht-Ziel: Volle Workflow Funktionalitt bieten
Ab Exchange 5.5 Service Pack 1
Zielgruppe sind "Corporate Developers" und "Solution Providers" Exchange Routing Objects
34. "Hub and Spoke" Architektur
Hub = Nabe = Ordner, Spoke = Speiche = Stationen
"Hub" Ordner enthlt:
Custom agent (event handler)
Exchange routing engine (ExRtEng.dll)
Eine Prozessdefinition
Routing map Objekt
Maps sind eine sequentielle Liste von Aktionen
Satz der zur Verfgung stehenden VB Script Funktionen
Die gesamte Logik verbleibt auf dem Server Exchange Routing Objects
35. Exchange Routing Objects
36. Exchange Routing Objects
38. Exchange Client Extensions DLLs um die Funktionalitt von Exchange oder Outlook zu erweitern
COM-basiert
Installation
Registry unter HKLM\Software\Microsoft\Exchange\Client\Extension
Outlook benutzt ECF Files oder Registry
39. Exchange Client Extensions Event Extension
IExchExtSessionEvents (Neue Message eingetroffen,etc.)IExchExtUserEvents (Selektiertes Item (Listbox, Text, ...))IExchExtMessageEvents (Message Read, Write, Submit, ...)IExchExtAttachedFileEvents (Attachment open, - Verhalten,.)
Command Extensions
IExchExtCommands (Menu, Toolbar, Delete Command, ...)IExchExtUserEvents (Selektiertes Item (Listbox, Text, ...))
Propertysheet Extension
IExchExtPropertySheets (Eigene Prop-sheets fr Msg, Props)
Adanced Criteria Extension
IExchExtAdvancedCriteria (Advanced Search Dlg modifizieren)
Task and Session Extensions
IExchExt (Client Start/Shutdown/Logon/Logoff)
Modal and modeless Extension Windows
IExchExtModeless ( Eigene Fenster, mit Callback Routine)
40. CDONTS Standard SMTP Mailer fr Server Anwendungen
SMTP send & receive message handling
Wird mit IIS 4.0 and Exchange 5.5 installiert
Nicht authentiziertes anonymous Versenden von Nachrichten
Plain text, HTML, und MHTML Message
UUEncoded or Base64 content encoding
41. DEMO: CDONTS
42.
43. Exchange 5.x Directory Schnittstellen
44. Directory Zugriff Via MAPI address book provider
OK fr read-only, Schreibzugriff eingeschrnkt
Via LDAP/ADSI
Microsoft Exchange 5.0 untersttzt LDAP v2 read
Microsoft Exchange 5.5 untersttzt voll read/write LDAP v3
ADSI benutzt den LDAP provider
Via Directory access functions (DAPI)
Nicht vorhanden in Exchange 2000 !
45. Directory Zugriff LDAP/ADSI LDAP/ADSI
LDAP (Lightweight Directory Access Protocol) bildet das Zugriffsprotokoll auf Objekte im AD
Jedes Objekt ist ber einen eindeutigen LDAP-Pfad adressierbar
ADSI (Active Directory Service Interface) ist die Abstraktionsschicht fr Zugriffe auf das AD (via LDAP)
Anwendungen knnen entweder die LDAP API benutzen oder das Active Directory Service Interface (ADSI) benutzen
Vorteil von LDAP:
IETF Standard
Vorteil von ADSI:
Einfacher zu programmieren,
Unabhngig vom darunterliegenden Directory Service
46. LDAP Konventionen Ein LDAP Pfad (URL) besteht aus
DC = Domain Context
CN = Common Name
LDAP://CN=Michael Klopstock,CN=Users,DC=seldom,DC=de
Wird von hinten nach vorne gelesen:
In der Domne seldom.de im Container Users der Benutzer Michael Klopstock
47. ADSI Object Modell IADs
IADsUser
IDispatch
IADsContainer
IADsPropertyList, IADsPropertyEntry, IADsPropertyValue
IADsSecurityDescriptor, IADsAccessControlList, IADsAccessControlEntry
48. ADSI Bind and Enumerate Dim MyContainer As IADsContainer
Bind to container object
Set MyContainer = GetObject("LDAP://MyLdapSvr/O=Internet/DC=Redmond")
Enumerate child objects
for each Object in MyContainer
Debug.Print Object.ADsPath
Next
49. DEMO: Directory Zugriff ADSI
50. Directory Zugriff Via DAPI (Directory API)
Proprietre API fr den Zugriff auf das Exchange Directory (10 Funktionen, 6 Callback Funktionen)
Wird vorrangig benutzt um Attribute eines Containers (Mailbox, Gateways, etc. ) aus dem Directory zu lesen/schreiben sowie fr Installation und Konfiguration von Gateways
Samples im Platform SDK
DIRSYNC: Importing and Exporting Mailboxes
DSEXPORT: Exporting Directory Objects
DSIMPORT: Importing Directory Objects
51. Directory Zugriff via DAPI (1)
52. Directory Zugriff via DAPI (2)
53. Directory Zugriff via DAPI (3)
54. Directory Zugriff via DAPI (4)
56.
57. Neue Exch. 2000 Schnittstellen ADO/OLEDB
CDO 3.0
Workflow Engine
CDOSYS
XML
WEBDAV
WEBFORMS
58. Universeller Datenzugriff auf alle Datenbanken via ADO/OLEDB
CDO 3.0 zum Erzeugen von ADO Records
Neue synchrone Events = neue Workflow Engine
CDONTS nur auf Server, CDOSYS Server und Client
WEB, WEB, WEB
=> Einheitliches Transportprotokoll
= HTTP (WEBDAV) und XML Neue Exch. 2000 Schnittstellen
59. Exchange 2000 Architektur
60. OLEDB Zwei verschiedene Provider:
Remote: Client OLE/DB provider ber DAV
Outlook
CDO
Office
Lokal: Client OLE/DB provider ber COM
Virenscanner
Dokumentenmanagement
Workflow
61. ADO 2.5 Object Model
62. ADO 2.5 Connection
Implizit
URL an die Open Methode des Record Objekts bergeben
Explizit
Connection Objekt ffnen
Transaktionen
Errors collection
SQL Select queries
63. Connection via ADO Implizit:
dim Rec as New ADODB.Record
strURL = "file://./backofficestorage/" & DomainName &
"/" & strLocalPath
Rec.Open strURL
Explizit:
Dim Rec As New ADODB.Record
Dim Conn as New ADODB.Connection
Dim Stm as ADODB.Stream
Conn.Provider = "ExOLEDB.DataSource"
Conn.Open "http://server/folder"
Rec.Open "http://server/folder/item.txt", Conn
Set Stm = Rec.Fields(adDefaultStream).Value
64. CDO 3.0 Ersetzt und erweitert CDO for Windows 2000 (CDOSYS)
Abwrtkompatibel
Zugriff auf public und private Stores
Erweiterbar mit eigenen Komponenten
Aggregation mit ADO
65. CDO 3.0 Dim conn as New Connection
Dim rs as New Recordset
Dim msg as New Message
fldr = file://./backofficestorage/domain/MBX/user/inbox
conn.open fldr,fred,whatever,adRunAsync
Set rs = conn.execute Select * from scope(shallow traversal of
& fldr & ) where urn:schemas:mailheader:subject = hello
msg.DataSource.Open rs(DAV:href),conn
msg.Attachments(1).SaveToFile C:\temp\file.doc
msg.DataSource.Save
66. CDO 3.0 Public Sub SimpleMeetingRequest()
Dim objAppt As New Appointment
Dim objReq As New CalendarMessage
objAppt.Subject = "Termin"
objAppt.StartTime = "10/4/99 1:00PM"
objAppt.EndTime = "10/4/99 2:00PM"
objAppt.Attendees.Add ("user2@domain")
Set objReq = objAppt.CreateRequest
objReq.Message.Send
End Sub
67. CDO 3.0 Dim aPerson as new Person
Dim rs as RecordSet
Rs.open file://./backofficestorage/dom/MBX/user/contacts
rs.MoveFirst
While NOT rs.EOF
aPerson.DataSource.Open rs.Fields( DAV:HREF)
Debug.Print aPerson.FirstName
Debug.Print aPerson.LastName
Debug.Print aPerson.MailingAddress
rs.MoveNext
Wend
68. CDOSYS Objektbibliothek basierend auf SMTP und NNTP Protokoll Standard
Wird mit Windows 2000 mitgeliefert
CDOSYS = CDO 2.0
Features:
Programmatische Auswahl des SMTP Hosts
Untersttzt Transport und Protokoll Events
Erzeugen von MIME/MHTML Nachrichten
ADO/OLEDB Untersttzung (Streams)
Dual Interface
Mgliche Anwendungen:
Bulk Mail
Mail basierte Replikation (z.b: Win2000 AD replication)
Viren Checker (Mail und News), Auto forward, Admin Alert
Spam Mail Erkennung (Sender, Scannen)
Senden von Webseiten (Graphic, Links)
Anhngen von Text an ausgehende Nachrichten (Transport)
69. CDOSYS Private Sub SimpleSend_Click()
Dim myMailItem As New Message
With myMailItem
.From = spam@spam.de
.To = "mikeklop@microsoft.com
.Subject = Here is the MS home page."
. CreateMHTMLBody(http://www.microsoft.com,1)
.Send
End With
End Sub
70. DEMO: CDOSYS I Love you Email Scanner
71. Exchange 2000 Events Store Events
Innerhalb einer Operation (Syncron):
open, save, create, delete, move
Benachrichtigung einer Operation (Asynchron):
save, create, delete, move, timer
Systemzustnde
Startup/Shutdow
Workflow basieren auf Events
72. DEMO: Exchange 2000 Store Events Abfangen eines Speichervorgangs in einem ffentlichen Ordner und Setzen von Rechten
73. Workflow Engine Besteht aus 2 Komponenten
Workflow Engine
Evaluiert Bedingungen
Fhrt Aktionen bei Statusbergangen aus
Workflow Event Sink
Wird angesprungen, wenn nderungen an einem Item in einem Ordner auftreten
Benutzt OnSyncSave, OnSyncDelete, OnTimer Store Events
Validatiert Benutzer/Author Security
Ruft die Workflow Engine
74. Workflow Engine Workflow Process Definition
Process Definition Elemente:
AuditTrailProvider
CommonScriptURL
Action Table
Mode (security)
75. Workflow Engine Workflow Action Table
Tabelle von Status-bergngen
Bedingungen und Aktionen sind VB Scripts
Workflow Engine evaluiert die Bedingungen
Workflow Engine fhrt Aktionen aus
76. Workflow Engine Workflow Engine Security
Restricted Mode
Aktionen nur mit VB Script, sandboxed, kein CreateObject(), Nur WorkflowSession Objekt kann benutzt werden
Was kann im Restricted Mode gemacht werden ?
Properties des auslsenden Items modifizieren
Mails versenden (WorkflowMessage)
ACL auf das auslsende Item schreiben
In AuditTrail (Logging) schreiben
77. Workflow Engine Workflow Engine Security
Privileged Mode
Aktionen knnen Script oder eigene COM Objekte sein,
Script Engine erlaubt CreateObject()
Aktionen werden unter einem privilegierten NT account ausgefhrt (in der Exchange Servers Gruppe)
Was kann im Privileged Mode gemacht werden ?
Alles
78. DEMO: Workflow Designer
79. XML in Exchange 2000 Alles wird ber XML definiert
Schema
Security
Registrations
Formular und Ansichten Rendering
Datentypen
80. WEBDAV / HTTPDAV Protokoll HTTP 1.0 "read-only" Zugriff auf Dateien (GET Methode)
HTTP 1.1 Einfaches Schreiben (PUT und DELETE Methode)
HTTP-DAV ist eine Erweiterung des HTTP/1.1 Protokolls (RFC2518)
Dateisystem Operationen: MKCOL, COPY, MOVE, LOCK, UNLOCK
Manipulation von Properties: PROPFIND, PROPPATCH
Suchen auf Resourcen: SEARCH
(Die Exchange DAV-Engine implementiert ausserdem Replikation, Notifications, und Versioning)
81. WEBDAV / HTTPDAV Protokoll Generelle Struktur von WEBDAV Anfragen
Methode
Beschreibt Methode, die ausgefhrt werden soll
Header
Beschreibt, wie die Aufgabe zu erledigen ist
Body (optional)
Definiert die Daten, die in der Methode benutzt werden, oder zustzliche Anweisungen, wie die Methode ausgefhrt werden soll
Im Body wird XML verwendet.
82. WEBDAV / HTTPDAV Protokoll Auslesen der Security eines Dokuments
Client sendet:
PROPFIND http://myserver/mymessage.doc HTTP/1.1Host: myserverContent-type: text/xml; charset="utf-8Content-Length: xxxx<?xml version="1.0" encoding="utf-8" ?> <D:propfind xmlns:D="DAV:"> <D:prop xmlns:E=http:/schemas.microsoft.com/exchange//> <E:ntsecuritydescriptor/> </D:prop></D:propfind>
83. DEMO: WEBDAV Setzen von Security auf Nachrichten via WEBDAV und XML verpackt in XMLHTTP Object
84. CDOEXM CDO fr Exchange Management
CDOEXM erweitert CDO und ADSI mit Management Interfaces
IMailRecipient
Properties: Proxy addresses, Send/Deliver Limits, Forwarding properties
Methoden: Mail enable, mail disable
IMailBoxStore
Properties: Store Quotas, Mailbox location, Delegates
Methoden: Create, delete and move mailbox
85. DEMO: CDOEXM Setzen der Mailbox Quotas einer Exchange Mailbox
86. Exchange Schema
87. berblick Exchange 2000 Architektur
88. Exchange Futures Exchange 2000 SP1
Visual Studio Server Explorer fr Web Storage System
Navigation
Schema Editor
Formular Registrierungen
Event Registrierungen
Drag and drop von Exchange Ordnern in den Designer
Managed OLEDB Provider
Remotable
Luft im DTC Umfeld (Distributed Transaction)
89. Demo Visual Studio
90. Exchange Futures Exchange 2000 und .NET
CDO.NET Klassen
Managed Provider
Remotable
Transaktionsfhig
In DTC integriert
ADO DataSet
XmlDataDocument
91. Zusammenfassung Server
Strategie geht Richtung einheitlichen Datenzugriff auf alle Datenbanken via ADO/OLEDB
Server Management = Directory Zugriff via ADSI/LDAP
Client
Strategie geht Richtung XML/HTTP-DAV
WebForms rendern HMTL, je nach Fhigkeit des Clients
Ziel ist es alle Arten von Devices zu untersttzen
92. Weitere Infos? Exchange 2000 Resources:
msdn.microsoft.com/exchange
www.microsoft.com/exchange/trainevents/MEC00.htm
msdn.microsoft.com/library/techart/buildingsolutions.htm
msdn.microsoft.com/training/seminars/WebDev.asp#exchange
Externe Exchange Infos, Tools, etc.:
www.exchangestuff.com/
www.slipstick.com/index.htm
RFCs:
www.gt.ed.net/mailmen/technical/
93. Weitere Infos? Bcher
Programming Microsoft Outlook and Microsoft Exchange, Thomas Rizzo, MSPress
Programming WebStore Applications with Microsoft Exchange 2000 Server, Mindy Martin, MSPress
msdn quickie
www.microsoft.com/germany/msdn/quickie
msdn TechTalk-Newsgroup
news://msnews.microsoft.com/microsoft.public.de.german.techtalk
94. Fragen!?