WCF

WCF ist eine Kommunikationsplattform

Die Windows Communication Foundation – abgekürzt WCF – ist dienstorientierte Kommunikationsplattform für verteilte Anwendungen, also eine Klassenbibliothek (Managed Library) zur Entwicklung von servicebasierten verteilten Anwendungen mit der Programmiersprache .NET. WCF erlaubt die Erstellung von Kommunikationsanwendungen zum Fernaufruf von Code und zur Anwendungskopplung. Es führt viele Netzwerkfunktionen zusammen und stellt sie den Entwicklern solcher Anwendungen standardisiert zur Verfügung. WCF gibt es seit .NET Framework 3.0 und wurde in jeder neuen Version aktualisiert. Früherer Codename war Indigo als Teil des Windows Frameworks (WinFX). Die Plattform wird automatisch installiert durch die Installation des .NET Frameworks.

Seit .NET 3.0 gibt es mit WCF eine Möglichkeit, die die Kommunikation zwischen .NET-Anwendungen und die plattformübergreifende Kommunikation unter einem Dach vereint. Die Bibliothek hat nicht nur dafür gesorgt, dass es nicht mehr zwei grundverschiedene Herangehensweisen für diese beiden Kommunikationsfälle gibt, sondern dass man bei einer Anwendung auch ohne Neukompilierung zwischen den beiden Fällen wechseln bzw. parallel anbieten kann.

WCF besitzt fünf wesentliche Eigenschaften: Seine verschiedenen Aspekte verteilter Kommunikation (Schnittstelle, Implementierung, Kommunikationsprotokoll, Infrastrukturdienste, Hosting) lassen sich gut logisch trennen. Und: Es schreibt keine Protokolle und Formate fest vor, sondern erlaubt dem Nutzer einen Kommunikationskanal aus verschiedenen Protokollen und Formaten zusammenzustellen. Außerdem gibt es sowohl Unterstützung für plattformübergreifende Protokolle und Formate wie W3C wie auch für proprietäre Protokolle und Formate der .NET-Welt. Hinzu kommt: Ohne Neukompilierung eines Dienstes kann die Kommunikationsform geändert werden.

WCF führt Netzwerkfunktionen zusammen

WCF stellt Angebote aus zahlreichen Kategorien bereit, aus denen sich der Nutzer einen individuellen Kommunikationskanal zusammenstellen kann. WCF stellt für die Kommunikationen zwischen Prozessen oder Systemen zahlreiche frei kombinierbare Funktionen wie Authentifizierung, Verschlüsselung, Autorisierung, Integrität, Zuverlässigkeit, Transaktionen und Nachrichtenwarteschlangen bereit. Wie bei .NET Remoting sind das Übertragungsprotokoll und das Serialisierungsformat wählbar. Man wählt ein Übertragungsprotokoll (z.B. HTTP, TCP, Named Pipes, UDP, SMT, MSMQ) und ein Serialisierungsformat (z.B. SOAP, MTOM, ATOM, JSON, RSS oder ein proprietäres Binärformat) sowie optional Standards wie Authentifizierung, Verschlüsselung, Autorisierung, Integrität und Zuverlässigkeit wie WS-Security, WS-Policy, WS-SecurityPolicy, WS-Trust, WS-SecureConversation, WS-Addressing, WS-Federation, WS-ReliableMessaging und WS-AtomicTransactions. Die herausragende Eigenschaft von WCF ist, dass sich der Entwickler zur Entwicklungszeit nicht auf eine Kombination der oben angedeuteten Möglichkeiten festlegen muss, sondern dies durch Änderungen der Konfigurationsdatei während der Betriebszeit und sogar durch Einstellungen des Benutzers während der Laufzeit verändert werden kann. Auch kann ein Endpunkt in WCF gleichzeitig auf verschiedene Weisen (z.B. TCP/bin und HTTP/SOAP) mit Clients kommunizieren.

Drittanbieter können weitere Protokolle und Formate ergänzen.

Ein WCF-Dienst besitzt einen oder mehrere Endpunkte mit verschiedenen Eigenschaften: Die Adresse besteht aus einem URL mit Protokollangabe, Pfad und Port. Der Vertrag definiert die eigentlichen Operationen, die der Dienst anbietet. In der Bindung sind die bei der Kommunikation zu verwendenden Protokolle und Formate festgelegt.

Weitere Informationen zum Thema WCF gibt es auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/Windows_Communication_Foundation und auf der Website des Herstellers Microsoft https://msdn.microsoft.com/de-de/vstudio/aa663324.aspx