Table Of ContentXML Web Service-
Anwendungen mit Microsoft .NET
Christian Weyer
XML Web Service-
Anwendungen mit Microsoft .NET
An imprint of Pearson Education
München (cid:127) Boston (cid:127) San Francisco (cid:127) Harlow, England
Don Mills, Ontario (cid:127) Sydney (cid:127) Mexico City
Madrid (cid:127) Amsterdam
Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Ein Titeldatensatz für diese Publikation ist bei
Der Deutschen Bibliothek erhältlich.
Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröf-
fentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusam-
menstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können
Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehler-
hafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung über-
nehmen.
Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar.
Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektroni-
schen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht
zulässig.
Fast alle Hardware- und Softwarebezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig
auch eingetragene Warenzeichen oder sollten als solche betrachtet werden.
Umwelthinweis:
Dieses Buch wurde auf chlorfrei gebleichtem Papier gedruckt.
Die Einschrumpffolie – zum Schutz vor Verschmutzung – ist aus
umweltfreundlichem und recyclingfähigem PE-Material.
10 9 8 7 6 5 4 3 2 1
05 04 03 02
ISBN 3-8273-1891-2
© 2002 by Addison-Wesley Verlag,
ein Imprint der Pearson Education Deutschland GmbH,
Martin-Kollar-Straße 10–12, D-81829 München/Germany
Alle Rechte vorbehalten
Einbandgestaltung: atelier für gestaltung, niesner & huber, Wuppertal
Lektorat: Christiane Auf, cauf@pearson.de
Fachlektorat: Dr. Berhard Tritsch, Ober-Ramstadt
Korrektorat: Christina Gibbs
Herstellung: Claudia Bäurle, cbaeurle@pearson.de
CD Mastering: Gregor Kopietz, gkopietz@pearson.de
Satz: reemers publishing services gmbh, Krefeld, www.reemers.de
Druck und Verarbeitung: Bercker, Kevelaer
Printed in Germany
Inhaltsverzeichnis
Vorwort 13
Einleitung 15
Über dieses Buch 15
Allgemeines 15
Kapitelübersicht 16
Die CD zum Buch 18
Programmbeispiele 18
Software 18
Die Website zum Buch 18
1 Wieso weshalb warum?
Einführung und Motivation 21
1.1 Überblick 21
1.2 Einführung und Motivation 21
1.2.1 Problematik und Hintergrund 21
1.2.2 Warum dieses Buch? 23
1.3 Internet-Anwendungen 23
1.3.1 Client-Server-Modell 25
1.3.2 N-Schichten-Modell 27
1.4 Komponenten-basierte Anwendungen mit Windows heute 28
1.4.1 Softwarekomponenten 28
1.4.2 COM, DCOM, COM+ im Überblick 30
1.4.3 Windows DNA 39
1.5 Warum .NET? 40
1.5.1 Probleme existierender Lösungen 41
1.5.2 Möglicher Lösungsansatz 43
1.6 Zusammenfassung 45
2 Das Handwerkszeug
.NET Grundlagen 47
2.1 Überblick 47
2.2 Idee und Gesamtkonzept von .NET 47
2.3 .NET Framework 50
5
Inhaltsverzeichnis
2.4 .NET-Grundlagen für Programmierer 51
2.4.1 Common Language Runtime (CLR) 52
2.4.2 Einheitliches Typensystem 56
2.4.3 Base Class Library 60
2.5 Der Blick ins Innere 61
2.5.1 Assemblies 61
2.5.2 Intermediate Language (IL) 69
2.5.3 Metadaten in .NET 71
2.5.4 Garbage Collection 72
2.6 Zusammenfassung 72
3 Schöne neue WWWelt
ASP.NET und Web Forms 75
3.1 Überblick 75
3.2 Web-basierte Entwicklung mit ASP 75
3.2.1 ASP als Revolution 75
3.2.2 Probleme mit ASP 78
3.3 ASP.NET 80
3.3.1 Überblick 81
3.3.2 Architektur und Laufzeitumgebung 81
3.3.3 ASP.NET Pipeline 86
3.3.4 Kompilierte Ausführung 88
3.4 ASP.NET Web Forms 91
3.4.1 Einführung 91
3.4.2 Ereignis-basierte Programmierung 92
3.4.3 Direktiven 98
3.4.4 Inline und Code-Behind 100
3.5 Server Controls 102
3.5.1 HTML Controls 103
3.5.2 Web Controls 105
3.5.3 Validierung 107
3.5.4 Data Binding 109
3.5.5 User Controls 111
3.6 ASP.NET Web Forms mit Visual Studio .NET 114
3.7 Zusammenfassung 118
6
Inhaltsverzeichnis
4 Daten, Daten, Daten
ADO.NET und XML in .NET 119
4.1 Einführung 119
4.2 ADO.NET 120
4.2.1 Architektur 121
4.2.2 Der Namensraum System.Data 123
4.2.3 Verbindung herstellen 126
4.2.4 Lesen von Daten 129
4.2.5 Einfügen von Daten 133
4.2.6 Aktualisieren von Daten 134
4.2.7 Arbeiten mit Parametern 134
4.2.8 Gespeicherte Prozeduren 136
4.2.9 Transaktionen 140
4.2.10 Das ADO.NET DataSet 142
4.2.11 Binärdaten 147
4.3 XML in .NET 149
4.3.1 Architektur 150
4.3.2 Der Namensraum System.Xml 151
4.3.3 Lesen von XML-Dokumenten 153
4.3.4 Schreiben von XML-Dokumenten 156
4.4 Zusammenfassung 158
5 Öffentlicher Dienst
XML Web Services mit ASP.NET 159
5.1 Einführung 159
5.2 Web Services-Überblick 159
5.2.1 Was sind Web Services und warum werden
sie eingesetzt? 159
5.2.2 XML und Co. 162
5.2.3 SOAP 166
5.2.4 WSDL 177
5.3 XML Web Services in ASP.NET 186
5.3.1 ASP.NET und Web Services 186
5.3.2 XML Web Services erstellen 187
5.3.3 XML Web Services benutzen 196
5.4 XML Web Services-Anwendungen mit Visual Studio .NET 205
5.4.1 Erstellen eines XML Web Services 205
5.4.2 Erstellen einer Windows-Client-Anwendung 209
5.5 Zusammenfassung 214
7
Inhaltsverzeichnis
6 Fast wie im richtigen Leben
ASP.NET XML Web Services im Einsatz 215
6.1 Einführung 215
6.2 Asynchrone Web Service-Kommunikation 215
6.3 XML-Serialisierung unter der Haube 219
6.3.1 Überblick 219
6.3.2 Architektur von XmlSerializer 220
6.3.3 Beeinflussung des Serialisierungsvorgangs 222
6.3.4 Binäre Daten 228
6.4 COM/COM+ und XML Web Services 232
6.4.1 .NET und COM 233
6.4.2 .NET und COM+-Dienste 239
6.4.3 Web Services-Transaktionen 245
6.5 Zustand und Geschwindigkeit 249
6.5.1 Zustandsverwaltung 249
6.5.2 Caching 254
6.6 Arbeiten mit SOAP Headern 256
6.7 Zusammenfassung 260
7 Sicher ist sicher
Sicherheit in .NET und XML Web Services 261
7.1 Einführung 261
7.1.1 Sicherheit als Notwendigkeit 261
7.1.2 Allgemeine Konzepte 262
7.2 Sicherheitskonzepte in .NET 264
7.2.1 Code-Zugriffssicherheit 265
7.2.2 Rollen-basierte Sicherheit 270
7.3 Web-Sicherheit 271
7.3.1 IIS-Sicherheit 271
7.3.2 ASP.NET-Sicherheit 273
7.4 Web Services-Sicherheit 278
7.4.1 Windows-Authentifizierung mit Web Services 278
7.4.2 Forms-Authentifizierung mit Web Services 280
7.5 Zusammenfassung 284
8
Inhaltsverzeichnis
8 Ob nah, ob fern
Verteilte Anwendungen mit .NET Remoting 285
8.1 Einführung 285
8.1.1 Warum etwas Neues? 285
8.1.2 Neue Anforderungen 286
8.2 Erweiterte Grundlagen 287
8.2.1 Applications Domains 287
8.2.2 Kontext-basierte Programmierung 289
8.2.3 Marshaling 290
8.3 Remoting-Architektur 292
8.3.1 Proxy und Dispatcher 292
8.3.2 Channels 294
8.3.3 Formatter 295
8.4 Arbeiten mit entfernten Objekten 297
8.4.1 Aktivierungsmodelle 297
8.5 Konfiguration 303
8.6 Hosting 306
8.7 Client-Anwendungen 307
8.8 Zusammenfassung 310
Stichwortverzeichnis 311
9