Freigeben über


Wichtige Komponenten des WCF LOB Adapter SDK

Das Entwickeln eines Adapters mit dem WCF LOB Adapter SDK erfordert die Verwendung vieler der folgenden grundlegenden Komponenten:

  • Verbindungskomponenten , um eine Verbindung mit dem Branchensystem herzustellen und aufrechtzuerhalten.

  • Handlerkomponenten definieren und implementieren Prozeduren, die zum Arbeiten mit eingehenden und ausgehenden Nachrichten und Metadatenvorgängen verwendet werden.

  • Metadatenkomponenten definieren und bearbeiten die Metadaten, die für die Kommunikation mit dem Branchensystem verwendet werden.

  • Benutzerdefinierte Komponenten bieten Unterstützung für Transaktionen, zuverlässiges Messaging und Sicherheit.

  • Kernkomponenten binden alle Komponenten zusammen und stellen eine nahtlose Integration in WCF sicher.

    Diese Komponenten stehen im Mittelpunkt dieses Themas.

Verbindungskomponenten

Die Verbindungskomponenten umfassen Schnittstellen und Klassen, die die Lebensdauer von Verbindungen definieren und steuern sowie URI-Abfrageattribute und Benutzerattribute verwalten. Verbindungskomponenten umfassen die In der folgenden Tabelle beschriebenen Schnittstellen und Klassen.

Verbindungskomponente Erforderlich? BESCHREIBUNG
Microsoft.ServiceModel.Channels.Common.ConnectionUri Erforderlich Basisklasse für die Bereitstellung einer angepassten URI-Erstellungsumgebung für Benutzer, die Ihren Adapter nutzen.
Microsoft.ServiceModel.Channels.Common.IConnection Erforderlich Schnittstelle, die das Verhalten für eine Verbindung definiert. Entwickler müssen diese Schnittstelle implementieren, um eine Verbindung mit dem Zielsystem zu definieren.
Microsoft.ServiceModel.Channels.Common.IConnectionFactory Erforderlich Basisklasse für eine Verbindungsfactory. Entwickler werden beim Definieren der Verbindungsfactory für das Zielsystem eine Unterklasse ausführen.
Microsoft.ServiceModel.Channels.Common.ConnectionPoolSettings Optional Enthält Einstellungen, die das Verhalten des Verbindungspools steuern. Entwickler können diese Werte basierend auf dem Verhalten des Zielsystems optimieren.
Microsoft.ServiceModel.Channels.Common.ConnectionManagerSettings Optional Enthält statische Einstellungen, die das Verhalten des Verbindungspools steuern. Entwickler möchten diese Werte möglicherweise für ihr Zielsystem optimieren.

Der WCF LOB-Adapterentwicklungs-Assistent erstellt Implementierungen von Microsoft.ServiceModel.Channels.Common.IConnection``Microsoft.ServiceModel.Channels.Common.ConnectionUri und Microsoft.ServiceModel.Channels.Common.IConnectionFactory unabhängig von den ausgewählten Assistentenoptionen. Diese Implementierungen enthalten Code zur Unterstützung der im Assistenten ausgewählten Optionen (einschließlich Verbindungseigenschaften im Verbindungs-URI), aber der Adapterentwickler muss Implementierungen für Open, Close und andere Methoden von Microsoft.ServiceModel.Channels.Common.IConnection und Microsoft.ServiceModel.Channels.Common.ConnectionUribereitstellen.

Handlerkomponenten

Die Handlerkomponenten bieten Unterstützung für verschiedene Nachrichtenaustauschmuster, einschließlich eingehender, ausgehender, asynchroner eingehender, asynchroner ausgehender, asynchroner ausgehender und Metadatensuche, Durchsuchen und Auflösen von Vorgängen. Handlerkomponenten umfassen die Schnittstellen und Klassen, die in der folgenden Tabelle beschrieben werden.

Handlerkomponente Erforderlich? BESCHREIBUNG
Microsoft.ServiceModel.Channels.Common.IAsyncInboundHandler Optional Wird verwendet, um Nachrichten asynchron vom Zielsystem zu empfangen. Die asynchrone Unterstützung ist optional.
Microsoft.ServiceModel.Channels.Common.IAsyncOutboundHandler Optional Wird zum asynchronen Senden von Nachrichten vom Zielsystem verwendet. Die asynchrone Unterstützung ist optional.
Microsoft.ServiceModel.Channels.Common.IInboundHandler Optional Wird verwendet, um Nachrichten vom Zielsystem zu empfangen. Entwickler sollten diesen Handler implementieren, wenn der Adapter auf Nachrichten vom Zielsystem lauschen muss.
Microsoft.ServiceModel.Channels.Common.IOutboundHandler Optional Bietet Unterstützung für das Senden von Nachrichten an das Zielsystem. Es ist zwar optional, aber für das Anforderung-Antwort-Nachrichtenmuster erforderlich. Die meisten grundlegenden Kommunikationstechnologien basieren auf diesem Muster, einschließlich HTTP, RPC und vielen anderen.
Microsoft.ServiceModel.Channels.Common.IMetadataBrowseHandler Optional Dieser Handler wird implementiert, wenn der Adapter die Metadatensuche unterstützt. Obwohl es optional ist, implementieren Entwickler diesen Handler häufig, um eine Liste der im Zielsystem verfügbaren Vorgänge bereitzustellen.
Microsoft.ServiceModel.Channels.Common.IMetadataResolverHandler Optional Dieser Handler muss implementiert werden, wenn der Adapter Metadaten aus dem Zielsystem abruft und zurückgibt, die systemspezifische Logik und Datentypen darstellen. Metadaten können aus dem eigentlichen Zielsystem abgerufen oder erstellt werden, um die Funktionen des Zielsystems darzustellen. Ein FTP-Adapter könnte beispielsweise GET- und PUT-Vorgänge erstellen.

Obwohl nicht erforderlich, implementieren Entwickler diesen Handler im Allgemeinen, um Informationen zu einem bestimmten Vorgang bereitzustellen.
Microsoft.ServiceModel.Channels.Common.IMetadataSearchHandler Optional Dieser Handler wird implementiert, wenn der Adapter die Metadatensuche unterstützt.

Der Adapterentwicklungs-Assistent erstellt Implementierungen von Microsoft.ServiceModel.Channels.Common.IAsyncOutboundHandler, Microsoft.ServiceModel.Channels.Common.IOutboundHandlerund Microsoft.ServiceModel.Channels.Common.IInboundHandler den Metadatenhandlern basierend auf den vom Entwickler getroffenen Entscheidungen. Supportcode wird bereitgestellt. Der Adapterentwickler muss jedoch Code angeben, um den eingehenden Listener und anderen code, der durch TODO-Kommentare gekennzeichnet ist, zu starten und zu beenden.

Metadatenkomponenten

Die Metadatenkomponenten bieten Unterstützung für die Verarbeitung von Metadatenanforderungen sowie für die Beschreibung von Typen und Vorgängen in der Zielanwendung. Die Handlerkomponenten steuern, wie Metadatenanforderungen behandelt werden. Die Metadatenkomponenten beschreiben die Datentypen und Vorgänge, die vom Zielsystem verfügbar gemacht werden.

Die Metadatenkomponenten sind so konzipiert, dass sie zwei Arten von Metadateninformationen enthalten: Typmetadaten und Vorgangsmetadaten.

  • Typmetadaten beschreiben die Datentypen, die im Zielsystem verfügbar sind, und enthalten den Namen des Typs, seine Arrayeigenschaften, wenn es sich um ein Array handelt, und ob es sich um einen einfachen XSD-Schematyp oder einen komplexen Typ handelt.

  • Vorgangsmetadaten beschreiben die Vorgänge, die im Zielsystem verfügbar sind. Eigenschaften umfassen einen Rückgabetyp, eine Liste von Parametern und den Vorgangsnamen.

    Die Metadatenunterstützung innerhalb eines Adapters ist optional, wird jedoch empfohlen. Einer der Vorteile der Verwendung des WCF LOB Adapter SDK zum Erstellen eines Adapters im Vergleich zur Implementierung von Funktionen als WCF-Dienst ist die Möglichkeit, einen dynamischen Satz von Vorgängen verfügbar zu machen und an diese zu binden.

Hinweis

Wenn Sie einen begrenzten Satz statischer Methoden verfügbar machen müssen, sollten Sie die Verwendung von WCF in Erwägung ziehen.

Die für die Verarbeitung, Beschreibung und Arbeit mit Metadaten verfügbaren Komponenten werden in der folgenden Tabelle beschrieben.

Metadatenkomponente BESCHREIBUNG
Microsoft.ServiceModel.Channels.Common.ComplexQualifiedType Eine Klasse, die einen komplexen qualifizierten Typ für einen Adapter darstellt. Wenn das Zielsystem beispielsweise eine relationale Datenbank ist, kann es sich bei einem Tabellen-, Zeilen- oder benutzerdefinierten Prozedurrückgabetyp um benutzerdefinierte qualifizierte Typen handeln.
Microsoft.ServiceModel.Channels.Common.OperationMetadata Basisklasse zum Darstellen von Vorgangsmetadaten für das Zielsystem. Beispielsweise können Sie OperationMetadata unterklassen, um Informationen zu gespeicherten Prozeduren in einem Adapter für eine relationale Datenbank zu enthalten.
Microsoft.ServiceModel.Channels.Common.OperationMetadataTraceRecord Bietet eine Möglichkeit zum Erfassen von Vorgangsmetadaten in einer Ablaufverfolgungsdatei. Die Ablaufverfolgung sammelt Informationen wie eindeutige ID, zeitpunkt des letzten Zugriffs, Zeitstempel, Anzeigename, Ursprünglicher Name, Parameter und andere Details.
Microsoft.ServiceModel.Channels.Common.ParameterizedOperationMetadata Stellt eine Möglichkeit zum Definieren von Attributen eines Vorgangs bereit, z. B. Parameter und Rückgabetyp.
Microsoft.ServiceModel.Channels.Common.OperationParameter Beschreibt einen Parameter, der zum Aufrufen eines Vorgangs auf dem Zielsystem verwendet wird. Eigenschaften umfassen den Namen, den ursprünglichen Namen, die Parameterrichtung und ein Flag, das angibt, ob der Parameter leer ist oder nicht.
Microsoft.ServiceModel.Channels.Common.OperationParameterDirection Ein aufgezählter Typ, der die Richtung eines Parameters für einen Vorgang beschreibt. Ein Parameter kann nur eingehender (In), nur ausgehender (Out) oder bidirektional (InOut) sein.
Microsoft.ServiceModel.Channels.Common.OperationResult Stellt ein Vorgangsergebnis dar. Kann OperationResult.Empty für Vorgänge sein, die void oder NULL und je nach Vorgang eine Zeichenfolge, eine ganze Zahl oder einen anderen Wert zurückgeben.
Microsoft.ServiceModel.Channels.Common.QualifiedType Entwickelt, um die Basisklasse für qualifizierte Typeigenschaften zu sein und wird verwendet, um Eigenschaften von Typmetadaten für ein Zielsystem zu beschreiben.
Microsoft.ServiceModel.Channels.Common.QualifiedTypeContainer Stellt einen Container für eine Reihe verwandter qualifizierter Typen bereit.
Microsoft.ServiceModel.Channels.Common.SimpleQualifiedType Beschreibt die Eigenschaften von Typmetadaten für ein Zielsystem, wenn dieser Typ direkt einem W3C XSD-Schematyp zugeordnet wird. Eine Liste der zulässigen Typen finden Sie unter XmlTypeCode-Enumeration.
Microsoft.ServiceModel.Channels.Common.TypeMember Bietet eine Möglichkeit zum Definieren eines einfachen oder komplexen Datenmembers in den Metadaten des strukturierten Typs.
Microsoft.ServiceModel.Channels.Common.TypeMetadata Basisklasse zum Darstellen von Typmetadaten für das Zielsystem.
Microsoft.ServiceModel.Channels.Common.StructuredTypeMetadata Stellt eine Möglichkeit zum Definieren einer Datenstruktur bereit, die komplexe und/oder einfache Typmember enthält.
Microsoft.ServiceModel.Channels.Common.TypeMetadataCollection Stellt einen Container für eine Reihe verwandter Typmetadaten bereit.
Microsoft.ServiceModel.Channels.Common.TypeMetadataTraceRecord Bietet eine Möglichkeit, Typmetadaten in einer Ablaufverfolgungsdatei zu erfassen. Die Ablaufverfolgung sammelt Informationen wie eindeutige ID, Zeitpunkt des letzten Zugriffs, Zeitstempel und andere Details.

Benutzerdefinierte Komponenten

Benutzerdefinierte Komponenten bieten Unterstützung für Transaktionen, Sicherheit, zuverlässiges Messaging und andere Features, die stark vom Zielsystem abhängig sind. Als Adapterentwickler, der das WCF LOB Adapter SDK verwendet, müssen Sie die Funktionen des Zielsystems verstehen und den Umfang ermitteln, in dem Sie diese unterstützen möchten.

Kernkomponenten

Kernkomponenten stellen eine Reihe von Basisklassen und Schnittstellen bereit, mit denen der Adapter an WCF angeschlossen werden kann. Die Kernkomponenten werden in der folgenden Tabelle beschrieben.

Kernkomponente Erforderlich? BESCHREIBUNG
Microsoft.ServiceModel.Channels.Common.Adapter Erforderlich Die Basisklasse eines Adapters, der mit dem WCF LOB Adapter SDK geschrieben wurde. Sie ist für die Interaktion mit der WCF-Kanalarchitektur verantwortlich.
Microsoft.ServiceModel.Channels.Common.AdapterBinding Erforderlich Klasse, die Einstellungen enthält, die verschiedene Einstellungen für den Adapter steuern, einschließlich des Verbindungspools (Microsoft.ServiceModel.Channels.Common.ConnectionPoolSettings), des Caches (Microsoft.ServiceModel.Channels.Common.CacheSettings), der Metadaten (Microsoft.ServiceModel.Channels.Common.MetadataSettings) und des Messagings (Microsoft.ServiceModel.Channels.Common.MessagingSettings).

Benutzerdefinierte Adapter werden über WCF-Bindungen verfügbar gemacht. Weitere Informationen finden Sie in der WCF-Dokumentation unter https://go.microsoft.com/fwlink/?LinkId=100308.

Der Adapterentwicklungs-Assistent erstellt Implementierungen von Microsoft.ServiceModel.Channels.Common.Adapter, Microsoft.ServiceModel.Channels.Common.AdapterBinding, System.ServiceModel.Configuration.StandardBindingElementund System.ServiceModel.Configuration.StandardBindingCollectionElement , um die Adapterbindung für das WCF-Konfigurationssystem verfügbar zu machen. Der Adapterentwicklungs-Assistent generiert auch eine Implementierung von, System.ServiceModel.Configuration.BindingElementExtensionElement um die Verwendung in einer benutzerdefinierten WCF-Bindung von einer Computer- oder Anwendungskonfigurationsdatei zu ermöglichen Microsoft.ServiceModel.Channels.Common.Adapter .

Weitere Informationen zu StandardBindingElement, StandardBindingCollectionElement und BindingElementExtensionElement finden Sie in der WCF-Dokumentation.

Weitere Informationen zum Konfigurieren eines adapters, der mit dem WCF LOB Adapter SDK geschrieben wurde, finden Sie unter Bereitstellen eines Adapters mithilfe des WCF LOB Adapter SDK.

Weitere Informationen

Grundlegendes zum BRANCHENsystem mit dem WCF LOB Adapter SDK