Inhaltsverzeichnis. Manfred Steyer, Holger Schwichtenberg, Matthias Fischer, Jörg Krause. Verteilte Systeme und Services mit.net 4.



Ähnliche Dokumente
Inhaltsverzeichnis. Manfred Steyer, Holger Schwichtenberg, Matthias Fischer, Jörg Krause. Verteilte Systeme und Services mit.net 4.

VERTEILTE SYSTEME UND SERVICES MIT.NET 4.5

Windows Communication Foundation - WCF

Windows Communication Foundation -.NET WCF

VERTEILTE SYSTEME UND SERVICES MIT.NET 4.5

SOA mit.net: Vom Geschäftsprozess zur Lösung

VERTEILTE SYSTEME UND SERVICES MIT.NET 4.5

MOC 20487A: Entwicklung von Web- und Windows Azure- Diensten

SRH Hochschule Heidelberg

VERTEILTE SYSTEME UND SERVICES MIT.NET 4.5

Jürgen Kotz Rouven Haban Simon Steckermeier. WCF, WPF und WF - Ein Überblick ADDISON-WESLEY. An imprint of Pearson Education

NET.Compact Framework

1 BizTalk Server-Einführung Einführung in die Entwicklung einer BizTalk-Anwendung... 69

Workflow Systeme mit der Windows Workflow Foundation

E-Services mit der Web-Service-Architektur

Inhaltsverzeichnis .NET 3.5. WPF, WCF, LINQ, C# 2008, VB 2008 und ASP.NET AJAX. Herausgegeben von Holger Schwichtenberg ISBN:

Praxisbuch SharePoint-Entwicklung

VERTEILTE SYSTEME UND SERVICES MIT.NET 4.5

Java Web Services in der Praxis

Microsoft Windows Communication Foundation

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Vorwort Azure Cloud Computing mit Microsoft Danksagungen Kontakt zum Autor... 13

Inhaltsverzeichnis. Vorwort Einleitung... 15

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

VERTEILTE SYSTEME UND SERVICES MIT.NET 4.0

!"#$"%&'()*$+()',!-+.'/',

Microsoft Azure für Java Entwickler

Inhaltsverzeichnis. Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach

.NET-Networking 2 Windows Communication Foundation

vii Inhaltsverzeichnis 1 Cloud Computing 1

WF4 Windows Workflow Foundation. Titelmasterformat

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Inhaltsverzeichnis. Einleitung... 11

Inhaltsverzeichnis. Einführung... 1

Was ist Windows Azure? (Stand Juni 2012)

E-Business Architekturen

Programmierhandbuch SAP NetWeaver* Sicherheit

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF

Inhaltsverzeichnis. Teil I VPN-Technologie Danksagungen... XIII

Inhaltsverzeichnis. Teill 17 Einleitung 18

ISA Server 2004 Erstellen einer Webverkettung (Proxy-Chain) - Von Marc Grote

Webseiten entwickeln mit ASP.NET

Rechnernetze Praktikum Versuch 8: Zertifikate, Sicherheit in öffentlichen Netzen

Salesforce.com Entwicklerhandbuch

Microsoft SQL Server Konfigurierung, Administration, Programmierung

Implementierung von Web Services: Teil I: Einleitung / SOAP

Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk

Anleitung zum Prüfen von WebDAV

Inhaltsverzeichnis. Jakob Freund, Bernd Rücker. Praxisbuch BPMN 2.0 ISBN: Weitere Informationen oder Bestellungen unter

Microsoft ISA Server 2004

Entwickeln von verteilten Anwendungen mit.net Framework Original Microsoft Training für Examen

Step by Step Webserver unter Windows Server von Christian Bartl

Inhaltsverzeichnis. Teil A Grundlagen Teil B Dokumente suchen und bearbeiten Vorwort... Danksagung... XIII

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene

i i apitel apitel K K Inhalt Inhalt

How-to: Webserver NAT. Securepoint Security System Version 2007nx

SAP NetWeaver Gateway. 2013

Virtuelle Private Netzwerke mit Windows Server 2003

Microsoft.NET XML-Webdienste Schritt für Schritt

NetMan Desktop Manager Vorbereitung und Konfiguration des Terminalservers

Grundlagen und Best Practices bei der SharePoint Entwicklung

Inhaltsverzeichnis. Holger Schrödl. Business Intelligence mit Microsoft SQL Server BI-Projekte erfolgreich umsetzen ISBN:

Hybride Cloud-Infrastrukturen Bereitstellung & Verwaltung mit System Center 2012

MOC 50466A: Windows Azure-Lösungen mit Microsoft Visual Studio 2010

Inhaltsverzeichnis VII

Einrichtung eines -Kontos bei MS Office Outlook 2010 (Windows) Stand: 03/2011

Inhalt. Vorwort 13. L.., ',...":%: " j.

NAS 323 NAS als VPN-Server verwenden

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

Lokale Installation von DotNetNuke 4 ohne IIS

Erstellen sicherer ASP.NET- Anwendungen

Zend PHP Cloud Application Platform

Thema: Web Services. Was ist ein Web Service?

Nico Orschel AIT GmbH & Co KG Marc Müller 4tecture GmbH. 95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht

Inhaltsverzeichnis. Christian Wischki. ITIL V2, ITIL V3 und ISO/IEC Gegenüberstellung und Praxisleitfaden für die Einführung oder den Umstieg

Gauß-IT-Zentrum Anleitung zur Installation von Windows Live Mail unter Windows 7 und Anbindung an das -System Communigate Pro

Kendox InfoShare. Schulungsprogramm für Partner

System Center Essentials 2010

Vor- und Nachteile speicheroptimierter Tabellen

Inhaltsverzeichnis. 2 Ein Beispielunternehmen und seine Anforderungen Beschreibung des Unternehmens Beschreibung der Anforderungen...

Lothar Zeitler. Softwarebereitstellung. Microsoft Deployment. Microsoft

WebSphere Application Server Installation

Management von IT-Architekturen

LOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT

Apps für ios entwickeln

Inhaltsverzeichnis. Einleitung und Danksagung. 1 Was ist SharePoint? - Ein Überblick.

1 Installation QTrans V2.0 unter Windows NT4

2 Konfiguration von SharePoint

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Administering Microsoft SQL Server Databases

Schneller, höher, weiter Die erweiterten Amt24-Schnittstellen. Klaus-Peter Geyer (T-Systems)

IBM SPSS Data Access Pack Installationsanweisung für Windows

Vorwort 15. Einleitung 17

Trend Micro Worry-Free Business Security 8.0 Tipps und Tricks zur Erstinstallation

Microsoft Dynamics NAV 2013 SOAP und OData Webservices mit.net nutzen Dipl.-Inf. (FH) Ingo Jansen

Christoph Mathas. SOA intern. » Praxiswissen zu Service-orientierten IT-Systemen HANSER

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Anleitung für -Client Outlook 2000 mit SSL Verschlüsselung

Transkript:

Inhaltsverzeichnis Manfred Steyer, Holger Schwichtenberg, Matthias Fischer, Jörg Krause Verteilte Systeme und Services mit.net 4.0 Konzepte und Lösungen mit WCF 4.0 Herausgegeben von Holger Schwichtenberg ISBN: 978-3-446-42236-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42236-0 sowie im Buchhandel. Carl Hanser Verlag, München

VII Inhalt Geleitwort des Herausgebers...V Vorwort...XV Zielgruppe...XV Wie soll dieses Buch gelesen werden?...xvi Beispiele und Feedback...XVI Danksagung...XVII Über die Autoren...XVII 1 Serviceorientierung... 1 1.1 Konzeptionelle Ebene...1 1.1.1 Betriebswirtschaftliche Sicht... 1 1.1.2 Technische Sicht... 2 1.1.3 Was ist ein Service?... 3 1.2 Technische Realisierung...4 1.2.1 SOAP... 4 1.2.2 Web Service Description Language (WSDL)... 7 1.2.3 Universal Description, Discovery and Integration... 7 1.2.4 WS-*... 7 1.2.5 RESTful Web Services als Gegenbewegung zu SOAP... 8 1.2.6 POX-Services... 11 1.2.7 SOAP und REST im Vergleich... 12 2 WCF im Überblick... 13 2.1 Architektur...13 2.2 Standard-Bindings...14 2.3 Hosting von Services...16 2.4 Erste Schritte mit WCF...17 2.4.1 Erstellen eines Web-Service-Projektes... 17 2.4.2 Web-Service mit Client konsumieren... 25 2.4.3 Mit Laufzeit-Proxy auf Service zugreifen... 29 2.4.4 Service zur Verwendung von ws2007httpbinding konfigurieren... 30 2.4.5 NetTcpBinding und Self-Hosting... 31 3 Services mit WCF erstellen... 37 3.1 Verträge...37 3.1.1 Serviceverträge... 37 3.1.2 Datenverträge... 38

VIII Inhalt 3.1.3 Nachrichtenverträge... 41 3.1.4 SOAP-Binding festlegen... 42 3.2 Instanziierung von Services...42 3.2.1 PerCall... 43 3.2.2 Single... 44 3.2.3 PerSession... 44 3.3 Nebenläufigkeit...49 3.4 WCF konfigurieren...49 3.4.1 WCF deklarativ konfigurieren... 49 3.4.2 WCF programmatisch konfigurieren... 52 3.4.3 Benutzerdefinierte Bindings... 52 3.4.4 Einschränkungen für Bindings festlegen... 53 3.4.5 Drosselung... 55 3.4.6 Port-Sharing bei TCP-basierten Services... 55 3.4.7 Konfiguration von Proxy-Server... 57 3.5 Metadaten...57 3.6 Services diagnostizieren...59 3.6.1 Protokollierung konfigurieren... 59 3.6.2 Leistungsindikatoren... 61 3.7 One-Way-Operationen...62 3.8 Duplex-Operationen...63 3.8.1 Unterstützte Bindings... 63 3.8.2 Implementierung von Duplex-Szenarien... 64 3.8.3 Konfigurieren von Duplex-Szenarien... 66 3.8.4 Grenzen von Callbacks... 67 3.9 Umgang mit binären Daten...68 3.9.1 MTOM... 68 3.9.2 Streaming... 73 3.10 Fehlerbehandlung und FaultContracts...75 3.11 ASP.NET-Kompatibilität...77 4 REST-basierte Services... 81 4.1 REST-Services mit WCF implementieren und konsumieren...81 4.1.1 Einen REST-Service implementieren... 81 4.1.2 REST-Services mit WCF konsumieren... 82 4.1.3 REST-Service ohne WCF konsumieren... 83 4.2 Antwortformat dynamisch festlegen...84 4.3 Hilfe-Seiten (Help Pages)...86 4.4 ASP.NET Cache Profiles...87 4.5 REST-Services über ASP.NET-Routen...89 4.6 Ausnahmen auf HTTP-Statuscodes abbilden...89 4.7 Conditional GET und ETag-Unterstützung...90

IX 5 Verlässliche Zustellung und Transaktionen... 93 5.1 Zuverlässige Sitzungen...93 5.1.1 Verlässliche Sitzungen konfigurieren... 94 5.1.2 Verlässliche Sitzungen erzwingen... 95 5.1.3 Idempotente Services als Alternative zu WS-ReliableMessaging... 96 5.2 Transaktionale Services...96 5.2.1 Zwei-Phasen-Commit... 96 5.2.2 Plug-in für WS-AtomicTransactions einrichten... 97 5.2.3 Distributed Transaction Coordinator (DTC) einrichten... 97 5.2.4 Transaktionen konfigurieren und nutzen... 99 5.2.5 Transaktionsisolationslevel...101 5.2.6 Transaktion am Client starten...102 5.2.7 Transaktionen und Sessions...102 5.3 Queued Services...102 5.3.1 Microsoft Message Queuing Services (MSMQ)...103 5.3.2 Implementierung von Queued Services...104 5.3.3 Queued Services konfigurieren...105 6 Datenbasierte Services...109 6.1 Was sind datenbasierte Services?...109 6.2 WCF und ADO.NET Entity Framework...109 6.2.1 Vom DataSet zum Entity Framework...109 6.2.2 Grundlagen der Self-Tracking Entities...110 6.2.3 Beispielanwendung...114 6.3 Kritik an der Implementierung eines datenbasierten Service mit WCF...122 6.4 WCF Data Services (Open Data Protocol)...123 6.4.1 Rahmenbedingungen...124 6.4.2 Architektur...124 6.4.3 Abfragesyntax...126 6.4.4 Einen WCF Data Service erstellen...127 6.4.5 Einen WCF Data Service testen im Webbrowser...128 6.4.6 Abruf der Metadaten...129 6.4.7 Einen WCF Data Service testen mit Fiddler...130 6.4.8 Einen.NET-basierten Client erstellen...131 6.4.9 Tipps und Tricks...136 6.5 WCF RIA Services...142 6.5.1 Architektur der RIA Services...142 6.5.2 Einen RIA Service erstellen...143 6.5.3 Einen RIA Service nutzen...148 6.6 Vergleich und Fazit...151

X Inhalt 7 Workflows und Workflow-Services...155 7.1 Überblick...155 7.2 Visual Studio 2010-Projektvorlagen...156 7.3 Sequenzielle Workflows...156 7.3.1 Sequenzielle Workflows erstellen...156 7.3.2 Sequenzielle Workflows ausführen...157 7.3.3 Kontrollfluss...158 7.4 Flussdiagramme...160 7.5 Zustandsautomaten (State Machines)...161 7.6 Transaktionen und Kompensation...164 7.6.1 Transaktionen...164 7.6.2 Kompensation...164 7.7 WCF Workflow Services...166 7.7.1 Workflow Services erstellen...166 7.7.2 Workflow Services testen...168 7.7.3 Workflow Services konfigurieren...168 7.7.4 Korrelation...169 7.8 Benutzerdefinierte Aktivitäten...170 7.8.1 CodeActivity...171 7.8.2 AsyncCodeActivity...171 7.8.3 NativeActivity...172 7.8.4 Anpassen der Darstellung benutzerdefinierter Aktivitäten...176 7.9 Bookmarks...178 7.10 Persistenz...179 7.10.1 SQLWorkflowInstanceStore...179 7.10.2 Eigenschaften höherstufen...182 7.10.3 Höherstufen von Eigenschaften bei Verwendung von WCF Workflow Services...184 7.11 Ablaufverfolgung (Tracking)...186 7.11.1 Benutzerdefinierte Tracking Records erzeugen...186 7.11.2 Tracking Records abonnieren...187 7.11.3 Tracking Records einsehen...189 7.12 Workflow-Designer in eigenen Anwendungen hosten...190 7.13 WCF-Dienste und -Services in AppFabric hosten...191 7.13.1 Monitoring...192 7.13.2 Persistenz...194 7.13.3 Weitere Möglichkeiten...195 8 Sicherheit von WCF-Diensten...197 8.1 Überblick über WCF-Security...197 8.1.1 Transport- und Nachrichtensicherheit...197 8.1.2 Festlegen der zu verwendenden Credentials...199 8.1.3 Authentifizierung und Autorisierung...200

XI 8.1.4 Service-Identitäten...201 8.1.5 Verschlüsseln und Signieren...202 8.2 Windows-Security...203 8.2.1 Impersonation...204 8.2.2 Kerberos vs. NTLM...205 8.3 Web-Security mit SSL und IIS...206 8.3.1 Projekt bereitstellen...207 8.3.2 IIS für die Verwendung von SSL konfigurieren...207 8.3.3 Konfiguration des Service...211 8.3.4 Aufruf der Service-Operation...212 8.4 Nachrichtenbasierte Web-Security...212 8.4.1 Zertifikate einrichten...213 8.4.2 Benutzerdefinierte Authentifizierung und Autorisierung...214 8.4.3 Konfiguration...215 8.4.4 Aufruf der Service-Operation...217 8.4.5 ASP.NET Membership-Provider und Role-Manager...218 8.5 Client-Zertifikate...221 8.6 Federated und Claims-based Security mit Windows Identity Foundation (WIF)...223 8.6.1 Architektur...224 8.6.2 Web-Service-Standards...225 8.6.3 Verweis auf STS einrichten...225 8.6.4 STS aktualisieren...227 8.6.5 Übermittelte Claims prüfen...228 8.6.6 Claims in Service-Methoden verwenden...230 8.6.7 Szenario testen...231 8.6.8 Delegation implementieren...231 8.6.9 FlugBuchungsService aufrufen...233 8.6.10 Testen des Szenarios...234 8.6.11 Token direkt anfordern...235 9 Hosting...237 9.1 Hosting in Windows-Systemdiensten...237 9.1.1 Erstellen eines Windows-Systemdienstes...238 9.1.2 Ergänzen eines WCF-Dienstes in einem Systemdienst...240 9.1.3 Trick für das Debugging eines Systemdienstes...241 9.1.4 Vorbereiten der Installation eines Systemdienstes...244 9.1.5 Installation eines Systemdienstes...245 9.2 Hosting im Internet Information Server (IIS)/Windows Server AppFabric...247 9.2.1 Von IIS über WAS zu AppFabric...247 9.2.2 IIS-Websites...248 9.2.3 IIS-Anwendungen...253 9.2.4 IIS-Anwendungspools...254 9.2.5 Autostart...259

XII Inhalt 9.3 Webservice-Projekte für den IIS...262 9.3.1.svc-Dateien...263 9.3.2 Test des Dienstes...264 9.3.3 Abruf der Metadaten...264 9.3.4 Konfigurationsdatei...265 9.3.5 WCF ohne SVC-Datei...267 9.3.6 Eigene ServiceHostFactory...267 9.4 Installieren von WCF-Diensten im IIS...268 9.4.1 Manuelles Verbreiten von WCF-Diensten (XCopy-Deployment)...268 9.4.2 Verbreiten mit der Funktion Build/Publish in Visual Studio direkt auf einen IIS...269 9.4.3 Verbreiten von WCF-Diensten mit dem IIS Web Deployment Tool (MSDeploy)...271 9.5 Konfiguration und Monitoring mit den AppFabric -Erweiterungen...281 9.5.1 Installation...281 9.5.2 AppFabric-Ansichten...283 9.5.3 Überwachungsfunktionen...285 9.5.4 Weitere Konfigurationsmöglichkeiten...287 10 Systemintegration mit WCF...289 10.1 Routing (System.ServiceModel.Routing)...289 10.1.1 Architektur...290 10.1.2 Routerarten...291 10.1.3 Beispielanwendung (Routing Testclient)...292 10.1.4 Filter...293 10.1.5 Erstellen des Routers mit WCF 4.0...296 10.1.6 Konfiguration eines Routers...296 10.1.7 Router für das Routing-Testszenario...297 10.1.8 Entwicklung des Clients...302 10.1.9 Dynamische Filter entwickeln...303 10.1.10 Dynamische Filter mit eigener Filtertabelle...306 10.1.11 Leistungsverlust durch Routing...309 10.2 Discovery...310 10.2.1 Dienst mit Discovery...310 10.2.2 Client mit Discovery...311 10.2.3 Mögliche Services mittels Scopes einschränken...312 10.2.4 Clients für die Verwendung mit Discovery deklarativ konfigurieren...313 10.2.5 Ankündigungen (Announcements)...314 10.3 Ereignisse und Publish-/Subscribe-Szenarien...315 10.3.1 Service-Verträge...316 10.3.2 Implementierung eines Publish-/Subscribe-Service...317 10.3.3 Konfiguration...319 10.3.4 Implementierung des zu benachrichtigenden Clients...320 10.3.5 Weiterführende Überlegungen...320

XIII 10.4 ESB-Lösungen mit WCF entwickeln...321 10.4.1 Catch-All-Verträge...321 10.4.2 Nachrichtentransformation...322 10.5 Freie ESB-Implementierung...326 11 Services in Windows Azure...327 11.1 Service Bus...328 11.1.1 Relay-Bindings...329 11.1.2 Service über den Bus bereitstellen...329 11.1.3 Service über Bus konsumieren...332 11.2 Message Buffer...334 11.2.1 Nachricht in Message Buffer schreiben...334 11.3 Access Control...338 11.3.1 AC konfigurieren...338 11.3.2 Service mit AC absichern...341 12 Das WCF-Erweiterungsmodell...345 12.1 Übersicht...345 12.1.1 Was sich erweitern lässt...345 12.1.2 Die Laufzeitumgebung der Applikation erweitern...346 12.2 Erweiterung des Sicherheitsmodells...346 12.2.1 Verantwortungsbereich der WCF Security Component...346 12.2.2 Das WebService-(WS-)Sicherheitsmodell...346 12.2.3 Implementierung der WebService-(WS-)Sicherheit...347 12.3 Erweiterung des Bindungssystems...351 12.3.1 Bindungen und Bindungselemente...352 12.3.2 Nachrichtenkanäle...352 12.3.3 Benutzerdefinierte Bindungen...353 12.4 Weitere Erweiterungsfunktionen...354 12.4.1 Erweiterung des Metadatenmodells...354 12.4.2 Erweiterungen der Serialisierung...355 13 WCF erweitern...357 13.1 ServiceHost und Dienstmodellebene...357 13.1.1 Aufbau der Dienstmodellebene...357 13.1.2 Erweiterung mittels Verhalten...358 13.1.3 Erweiterung von Clients...361 13.1.4 Erweiterung des Dispatchers...366 13.1.5 Erweiterbare Objekte...374 13.1.6 Erweitertes Hosting die Klasse ServiceHostFactory...377 13.2 Erweiterung des Bindungsmodells...379 13.2.1 Konfigurieren mittels Bindungselementen...379 13.2.2 Bindungen selbst erstellen...380 13.2.3 Erstellen eines eigenen Bindungselements...382

XIV Inhalt 13.3 Channel Layer- und Peer Channel-Erweiterungen...384 13.3.1 Funktionsweise...385 13.3.2 Benutzerdefinierte Übertragungskanäle...385 13.3.3 Benutzerdefinierte Nachrichtenencoder...395 13.4 Das Metadatensystem...398 13.4.1 Funktionsweise...398 13.4.2 Anwendung...399 13.5 Serialisierung und Encoder...404 13.5.1 Ersetzen von Datenverträgen...404 13.5.2 Eigene Formatierer...410 13.6 Erweiterung des Sicherheitsmodells...416 13.6.1 Aufbau der Sicherheitsarchitektur...416 13.6.2 Benutzerdefinierte Anmeldeinformation und Token...416 13.6.3 Benutzerdefinierte Nachrichtenverschlüsselung...434 Index...443