Teilen über


Windows Communication Foundation-Glossar für .NET Framework 4.5

Im Folgenden finden Sie Definitionen für die Begriffe in der Windows Communication Foundation-Dokumentation.

Begriffe

Begriff Definition
address Gibt den Speicherort an, an dem Nachrichten empfangen werden. Sie wird als ein Uniform Resource Identifier (URI) angegeben. Der URI-Schemateil benennt den Transportmechanismus, der zum Erreichen der Adresse verwendet wird, z. B. HTTP und TCP. Der hierarchische Teil des URI enthält einen eindeutigen Ort, dessen Format vom Transportmechanismus abhängt.
Anwendungsendpunkt (application endpoint) Ein von der Anwendung verfügbar gemachter Endpunkt, der einem Dienstvertrag entspricht, der von der Anwendung implementiert wurde.
Verhalten Ein Verhalten ist eine Komponente, die verschiedene Laufzeitaspekte eines Diensts, eines Endpunkts, eines bestimmten Vorgangs oder eines Clients steuert. Verhalten werden gemäß ihrem Umfang gruppiert: allgemeine Verhalten, die alle Endpunkte global beeinflussen, Dienstverhalten, die nur dienstbezogene Aspekte beeinflussen, Endpunktverhalten, die nur endpunktbezogene Eigenschaften beeinflussen, und Verhalten auf Vorgangsebene, die bestimmte Vorgänge beeinflussen.
bindung Definiert, welche Kommunikationsprotokolle zum Kommunizieren mit WCF-Diensten verwendet werden. Sie besteht aus einer Reihe von Komponenten, den Bindungselementen, die als Kommunikationsinfrastruktur aufeinander gestapelt werden. Siehe "Endpunkt".
Kanal Ein konkrete Implementierung eines Bindungselements. Die Bindung stellt die Konfiguration dar, und der Kanal ist die Implementierung, die mit dieser Konfiguration verknüpft ist. Deshalb ist jedem Bindungselement ein Kanal zugeordnet. Kanäle werden übereinander gestapelt, um die konkrete Implementierung der Bindung zu erstellen: den Kanalstapel.
Anspruchsbasierte Sicherheit Ermöglicht den autorisierten Zugriff auf geschützte Ressourcen basierend auf Ansprüchen.
Clientanwendung (client application) Eine Clientanwendung ist ein Programm, das Nachrichten mit einem oder mehreren Endpunkten austauscht. Die Clientanwendung beginnt mit der Erstellung einer Instanz eines WCF-Clients und dem Aufrufen von Methoden des WCF-Clients. Es sollte beachtet werden, dass eine einzelne Anwendung sowohl ein Client als auch ein Dienst sein kann.
Verfassen von Code Die Codierung ermöglicht es dem Entwickler, die genaue Kontrolle über alle Komponenten des Diensts oder Clients zu behalten, und alle Einstellungen, die über die Konfiguration gemacht werden, können überprüft und bei Bedarf durch den Code aufgehoben werden. Eine Anwendung kann entweder über die Codierung, über die Konfiguration oder über eine Kombination aus beidem gesteuert werden.
Konfiguration Die Konfiguration bietet den Vorteil, dass auch andere Personen als der Entwickler (z. B. ein Netzwerkadministrator) die Client- und die Dienstparameter festlegen können, nachdem der Code geschrieben wurde, ohne dass eine neue Kompilierung erforderlich wäre. Die Konfiguration ermöglicht nicht nur das Festlegen von Werten wie Endpunktadressen, sondern auch eine weitere Steuerung durch die Möglichkeit, Endpunkte, Bindungen und Verhalten hinzuzufügen. Eine Anwendung kann entweder über die Konfiguration, über die Codierung oder über eine Kombination aus beidem gesteuert werden.
contract Ein Vertrag ist eine Spezifikation der Unterstützung für den entsprechenden Vertragstyp. Ein Dienstvertrag ist beispielsweise eine Spezifikation für eine Gruppe von Vorgängen. In WCF verfügen Verträge über eine Hierarchie, die sich in den Beschreibungsobjekten des System.ServiceModel.Description-Namespace widerspiegeln. Ein Dienstvertrag ist der größte Vertragsbereich in WCF. Jeder Dienstvorgang in einem Dienstvertrag verfügt über einen Vorgangsvertrag, in dem die Nachrichten (einschließlich der Fehlernachrichten) angegeben sind, die vom Vorgang ausgetauscht werden können; ebenso wird die Richtung angegeben. Jede Nachricht in einem Vorgang verfügt über einen Nachrichtenvertrag und eine Spezifikation für die Struktur des SOAP-Nachrichtenumschlags. Darüber hinaus hat jeder Nachrichtenvertrag einen Datenvertrag, der die in den Nachrichten enthaltenen Datenstrukturen angibt.
Datenvertrag Die von einem Dienst verwendeten Datentypen müssen in Metadaten beschrieben werden, damit andere mit dem Dienst interagieren können. Die Beschreibungen der Datentypen sind als Datenvertrag bekannt, und die Typen können in jedem Teil der Nachricht verwendet werden, z. B. als Parameter oder Rückgabetypen. Wenn der Dienst nur einfache Typen verwendet, ist es nicht erforderlich, unbedingt Datenverträge zu verwenden.
Deklarative Anwendung Eine Anwendung, die ausreichend genug beschrieben ist, um zur Laufzeit ohne Ausführung imperativer Anweisungen erstellt zu werden.
endpoint Besteht aus einer Adresse, einer Bindung und einem Vertrag, der für die Kommunikation mit einem WCF-Dienst verwendet wird.
Endpunktadresse Ermöglicht es, für jeden Endpunkt in einem Dienst eindeutige Endpunktadressen zu erstellen oder unter bestimmten Voraussetzungen eine Adresse für mehrere Endpunkte zu verwenden.
Fehlervertrag (fault contract) Ein Fehlervertrag kann einem Dienstvorgang zugeordnet werden, um Fehler anzumerken, die dem Anrufer zurückgegeben werden können. Einem Vorgang können keine oder mehrere Fehler zugeordnet werden. Diese Fehler sind SOAP-Fehler, die als Ausnahmen im Programmiermodell erstellt werden. Die Ausnahme wird in einen SOAP-Fehler konvertiert, der dann an den Client gesendet werden kann.
Hosting Ein Dienst muss in einem Prozess gehostet werden. Ein Host ist eine Anwendung, die die Lebensdauer des Diensts kontrolliert. Dienste können selbst gehostet werden oder durch einen vorhandenen Hostingprozess verwaltet werden.
Hostingprozess Ein Hostingprozess ist eine Anwendung, die zum Hosten von Diensten dient. Dazu gehören Internetinformationsdienste (IIS), Windows Activation Services (WAS) und Windows-Dienste. In diesen gehosteten Szenarien kontrolliert der Host die Lebensdauer des Diensts. Mit IIS kann beispielsweise ein virtuelles Verzeichnis eingerichtet werden, das die Assembly- und die Konfigurationsdatei des Diensts enthält. Wenn eine Nachricht empfangen wird, startet IIS den Dienst und kontrolliert seine Lebensdauer.
Initiierungsvorgang (initiating operation) Ein Vorgang, der als erster Vorgang einer neuen Sitzung aufgerufen wird. Nicht-Initiierungsvorgänge können nur aufgerufen werden, nachdem mindestens ein Initiierungsvorgang aufgerufen wurde.
Instanziierungsmodell (instancing model) Ein Dienst verfügt über ein Instanziierungsmodell. Es gibt drei Instanziierungsmodelle: "einzeln", bei dem ein einzelnes CLR-Objekt alle Clients bedient; "pro Anruf", bei dem ein neues CLR-Objekt erstellt wird, um jeden Client-Anruf abzuarbeiten; und "pro Sitzung", bei dem ein Satz von CLR-Objekten erstellt wird – einer für jede einzelne Sitzung. Die Wahl des Instanziierungsmodells hängt von den Anwendungsanforderungen und dem erwarteten Nutzungsmuster des Diensts ab.
message Eine Nachricht ist eine eigenständige Dateneinheit, die aus mehreren Teilen bestehen kann, unter anderem einem Text und Headern.
Nachrichtenvertrag Ein Nachrichtenvertrag, der das Format einer Nachricht beschreibt. Er erklärt beispielsweise, ob Nachrichtenelemente in Header oder in den Text gehören, welches Sicherheitsniveau auf welche Elemente der Nachricht angewendet werden soll usw.
Nachrichtensicherheitsmodus Der Nachrichtensicherheitsmodus gibt an, dass Sicherheit bereitgestellt wird, indem sicherheitstechnische Daten implementiert werden. Jede Nachricht enthält die erforderlichen Mechanismen, um während ihrer Übertragung Sicherheit zu gewährleisten, und um den Empfängern die Möglichkeit zu bieten, Manipulationen zu erkennen und die Nachrichten zu entschlüsseln. So ist die Sicherheit in jeder einzelnen Nachricht integriert, sodass End-to-End-Sicherheit über mehrere Hops gewährleistet ist. Da Sicherheitsinformationen Teil der Nachricht werden, ist es außerdem möglich, mehrere Arten von Anmeldeinformationen in die Nachricht aufzunehmen (diese werden als Ansprüche bezeichnet). Dieser Ansatz hat außerdem den Vorteil, dass die Nachricht sicher über jeden Transport übermittelt werden kann, u. a. auch über mehrere Transporte zwischen Ursprungs- und Zielort. Der Nachteil dieses Ansatzes ist die Komplexität der eingesetzten kryptografischen Mechanismen, die zu Leistungsbeeinträchtigungen führen.
metadata Die Metadaten eines Diensts beschreiben die Merkmale des Diensts, die eine externe Entität zur Kommunikation mit dem Dienst verstehen muss. Metadaten können über das ServiceModel Metadata Utility Tool (Svcutil.exe) verarbeitet werden, um einen WCF-Client und eine dazugehörige Konfiguration zu erstellen, die eine Clientanwendung zur Interaktion mit dem Dienst nutzen kann. Zu den vom Dienst verfügbar gemachten Metadaten gehören XML-Schemadokumente, die den Datenvertrag des Diensts definieren, und WSDL-Dokumente, die die Methoden des Diensts beschreiben. Bei Aktivierung werden die Metadaten für den Dienst automatisch von WCF erstellt, indem der Dienst und seine Endpunkte überprüft werden. Zum Veröffentlichen von Metadaten von einem Dienst aus müssen Sie das Metadatenverhalten explizit aktivieren.
Vorgangsvertrag (operation contract) Ein Vorgangsvertrag definiert die Parameter und den Rückgabetyp eines Vorgangs. Beim Erstellen einer Schnittstelle, die den Dienstvertrag definiert, wird ein Vorgangsvertrag angegeben, indem das T:System.ServiceModel.OperationContractAttribute-Attribut auf jede Methodendefinition angewendet wird, die Teil des Vertrags ist. Die Vorgänge können so gestaltet werden, dass sie eine einzelne Nachricht annehmen und eine einzelne Nachricht zurückgeben oder dass sie einen Typensatz annehmen und einen Typ zurückgeben. Im letzteren Fall bestimmt das System das Format der Nachrichten, die für diesen Vorgang ausgetauscht werden müssen.
Projektion (projection) Die Darstellung gesendeter Daten. Eine SOAP-Projektion sendet beispielsweise Nachrichten als SOAP-Umschläge, und eine Webprojektion sendet Nachrichten im JSON-Format.
security Zur Sicherheit in WCF gehören Vertraulichkeit (Verschlüsselung von Nachrichten zum Verhindern von Lauschangriffen), Integrität (Erkennung von manipulierten Nachrichten), Authentifizierung (Validierung von Servern und Clients) und Autorisierung (Kontrolle des Zugriffs auf Ressourcen). Diese Funktionen werden entweder durch die Nutzung vorhandener Sicherheitsmechanismen wie TLS über HTTP (auch als "HTTPS" bekannt) oder durch die Implementierung von verschiedenen WS-*-Sicherheitsspezifikationen geboten.
Lokal gehosteter Dienst Ein selbst gehosteter Dienst wird innerhalb einer Prozessanwendung ausgeführt, die der Entwickler erstellt hat. Der Entwickler kontrolliert seine Lebensdauer, legt die Eigenschaften des Diensts fest, öffnet den Dienst (wodurch dieser in einen Überwachungsmodus versetzt wird) und schließt den Dienst.
Dienst Ein Programm oder Prozess, das bzw. der einen oder mehrere Endpunkte verfügbar macht, wobei jeder Endpunkt wiederum einen oder mehrere Vorgänge verfügbar macht.
Dienstvertrag (service contract) Der Dienstvertrag verknüpft mehrere verwandte Vorgänge zu einer einzigen Funktionseinheit. Der Vertrag kann Einstellungen auf Dienstebene definieren, z. B. den Namespace des Diensts, einen entsprechenden Rückrufvertrag und andere derartige Einstellungen. In den meisten Fällen wird der Vertrag definiert, indem eine Schnittstelle in der gewünschten Programmiersprache erstellt wird und das T:System.ServiceModel.ServiceContractAttribute-Attribut auf die Schnittstelle angewendet wird. Der tatsächliche Dienstcode ergibt sich aus der Implementierung der Schnittstelle.
Dienstvorgang Ein Dienstvorgang ist ein Ablauf, der im Code eines Diensts definiert ist und der die Funktionalität für einen Vorgang implementiert. Dieser Vorgang wird anderen Clients in Form von Methoden auf einem WCF-Client verfügbar gemacht. Diese Methode kann einen Wert zurückgeben und eine optionale Anzahl an Argumenten übernehmen, oder sie kann keine Argumente übernehmen und keine Antwort zurückgeben. Beispielsweise kann ein Vorgang, der als ein „Hallo“ fungiert, als Benachrichtigung über die Präsenz eines Clients und zum Starten einer Reihe von Vorgängen verwendet werden.
Vom System bereitgestellte Bindungen (system-provided bindings) WCF bietet einige vom System bereitgestellte Bindungen. Dies sind Auflistungen von Bindungselementen, die für bestimmte Szenarien optimiert werden. T:System.ServiceModel.WSHttpBinding ist beispielsweise für die Interoperabilität mit Diensten vorgesehen, die verschiedene WS-*-Spezifikationen implementieren. Diese Bindungen sparen Zeit, da sie nur diejenigen Optionen bereitstellen, die auf das spezifische Szenario korrekt angewendet werden können. Wenn eine dieser Bindungen die Anforderungen nicht erfüllt, können Sie eine eigene benutzerdefinierte Bindung erstellen.
Beendigungsvorgang (terminating operation) Ein Vorgang, der als letzte Nachricht in einer vorhandenen Sitzung aufgerufen wird. Im Standardfall verwendet WCF das Dienstobjekt und seinen Kontext wieder, nachdem die Sitzung, der der Dienst zugeordnet war, geschlossen wurde.
Transportsicherheitsmodus Sicherheit kann durch einen von drei Modi gewährleistet werden: Transportmodus, Nachrichtensicherheitsmodus und Modus "Transport mit Nachrichtenanmeldeinformationen". Der Transportsicherheitsmodus legt fest, dass Vertraulichkeit, Integrität und Authentifizierung über die Transportschichtmechanismen (wie HTTPS) gewährleistet werden. Bei Nutzung eines Transports wie HTTPS hat dieser Modus den Vorteil, dass er effizient und aufgrund seiner weiten Verbreitung im Internet gut verständlich ist. Der Nachteil ist, dass diese Art von Sicherheit auf jeden Hop im Kommunikationspfad einzeln angewendet wird, was die Kommunikation anfällig für einen Man-In-The-Middle-Angriff (MITM-Angriff, Janusangriff) macht.
Modus "Transport mit Nachrichtenanmeldeinformationen" Dieser Modus verwendet die Transportschicht, um Vertraulichkeit, Authentifizierung und Integrität der Nachrichten sicherzustellen, während jede der Nachrichten mehrere Anmeldeinformationen (Ansprüche) enthalten kann, die von den Empfängern der Nachricht benötigt werden.
Typkonverter Ein CLR-Typ kann einem oder mehreren abgeleiteten System.ComponentModel.TypeConverter-Typen zugeordnet werden, die das Konvertieren von Instanzen des CLR-Typs in und von Instanzen der anderen Typen ermöglicht. Ein Typkonverter wird mithilfe des System.ComponentModel.TypeConverterAttribute-Attributs einem CLR-Typ zugeordnet. Ein TypeConverterAttribute kann direkt für den CLR-Typ oder für eine Eigenschaft festgelegt werden. Ein für eine Eigenschaft angegebener Typkonverter hat immer Vorrang vor einem Typkonverter, der für den CLR-Typ der Eigenschaft angegeben ist.
WCF-Client (WCF client) Ein WCF-Client ist ein Clientanwendungskonstrukt, das die Dienstvorgänge als Methoden verfügbar macht (in der gewünschten .NET Framework-Programmiersprache, u. a. Visual Basic oder Visual C#). Jede Anwendung kann einen WCF-Client hosten, einschließlich einer Anwendung, die einen Dienst hostet. Deshalb ist es möglich, einen Dienst zu erstellen, der WCF-Clients anderer Dienste einschließt. Ein WCF-Client kann automatisch über das ServiceModel Metadata Utility Tool (Svcutil.exe) erstellt werden und auf einen ausgeführten Dienst verweisen, der Metadaten veröffentlicht.
Workflowdienste Ein Workflowdienst ist ein WCF-Dienst, der als Workflow implementiert wird. Der Workflow enthält Messagingaktivitäten, die WCF-Meldungen senden und/oder empfangen.
WS-* Kurzform für die ständig steigende Zahl von Web Service (WS)-Spezifikationen wie WS-Sicherheit, WS-ReliableMessaging usw., die in WCF implementiert sind.
XAML Extensible Application Markup Language (XAML)
XAML-Schema Ein Markupschema zum Definieren benutzerdefinierter Typen in XAML.