Partager via


Développer des applications Oracle Database à l’aide du modèle de service WCF

Au niveau le plus bas, Windows Communication Foundation (WCF) présente un modèle de programmation dans lequel les clients appellent des opérations sur un service en échangeant des messages SOAP sur un canal établi entre les points de terminaison du client et du service. Ce modèle, appelé modèle de canal WCF, expose des types de données et des méthodes qui vous permettent d’opérer directement sur l’architecture de canal WCF. Le modèle de canal WCF vous offre un contrôle direct sur le contenu des messages SOAP que vous créez et sur la façon dont votre application et l’adaptateur Oracle Database les consomment . Toutefois, la création de messages SOAP bien formés à envoyer sur un canal et la validation des messages de réponse retournés peuvent être une tâche détaillée et exigeante.

Pour cette raison, WCF fournit un autre modèle de programmation appelé modèle de service WCF. Le modèle de service WCF implique l’utilisation de classes proxy pour appeler des opérations sur un service cible ou pour recevoir des opérations d’un client.

  • La classe proxy utilisée pour appeler des opérations sur un service cible est appelée classe de client WCF. Cette classe modélise les opérations exposées par un service en tant que méthodes .NET avec des paramètres fortement typés. À l’aide du modèle de service WCF, vous pouvez appeler les opérations exposées par l’adaptateur Oracle Database en tant que méthodes .NET sur le client WCF. Pour plus d’informations sur les clients WCF, consultez « Vue d’ensemble du client WCF » à l’adresse https://go.microsoft.com/fwlink/?LinkId=91458.

  • Dans le modèle de service WCF, le contrat de service exposé par un service est représenté par une interface. Cette représentation en code managé du contrat de service est appelée contrat de service WCF. Le contrat de service WCF modélise les opérations en tant que méthodes avec des paramètres fortement typés. Pour recevoir une opération d’un client, vous implémentez une classe, le service WCF, à partir de cette interface. Vous pouvez ensuite héberger un instance de cette classe dans un System.ServiceModel.ServiceHost pour permettre à un client d’appeler l’opération sur votre code. À l’aide du modèle de service WCF et d’un contrat de service WCF ciblé sur l’opération POLLINGSTMT, vous pouvez recevoir les résultats d’une opération d’interrogation sur la base de données Oracle à l’aide de l’adaptateur Oracle Database.

    Vous utilisez des outils pour générer une classe de client WCF ou un contrat de service WCF et le code d’assistance associé à partir des métadonnées de service exposées par l’adaptateur Oracle Database. Vous pouvez utiliser l’un des outils suivants :

  • ServiceModel Metadata Utility Tool (svcutil.exe), fourni avec WCF

  • Le plug-in Visual Studio Add Adapter Service Reference, fourni avec l’adaptateur Oracle Database

    Le plug-in Add Adapter Service Reference plug-in est intégré à l’expérience de conception Visual Studio et présente une interface Microsoft Windows standard qui fournit de puissantes fonctionnalités de navigation et de recherche sur les opérations exposées par l’adaptateur. Pour plus d’informations sur la génération d’un client WCF ou d’un contrat de service WCF, consultez Générer un client WCF ou un contrat de service WCF pour les artefacts de solution de base de données Oracle.

    Étant donné qu’il présente un modèle familier aux programmeurs .NET et qui masque les complexités sous-jacentes de l’échange de messages SOAP sur un canal, le modèle de service WCF est souvent le meilleur choix pour développer des solutions de programmation pour l’adaptateur Oracle Database. Toutefois, il existe des scénarios dans lesquels le modèle de canal WCF peut être un meilleur choix. Par exemple, le modèle de service WCF prend uniquement en charge la diffusion en continu pour l’opération ReadLOB. En effet, la sérialisation et la désérialisation entre la représentation XML des objets dans un message SOAP et les types .NET utilisés pour les représenter dans le modèle de service implique la lecture du message entier en mémoire. (Le résultat d’une opération ReadLOB est une exception à cette règle.)

    Le modèle de canal WCF prend en charge la diffusion en continu xml au niveau des nœuds sur toutes les opérations et la diffusion en continu au niveau des données sur les opérations ReadLOB et UpdateLOB. Si vous avez affaire à des requêtes qui retournent des jeux de résultats volumineux ou si vous tentez de mettre à jour un champ métier dans une table, le modèle de canal WCF peut être un meilleur choix. Pour plus d’informations sur l’utilisation du modèle de canal WCF, consultez Développer des applications de base de données Oracle à l’aide du modèle de canal WCF.

    Les rubriques de cette section contiennent des informations, des procédures et des exemples pour vous aider à créer et à utiliser le modèle de service WCF pour développer des applications à l’aide de l’adaptateur Oracle Database.

Dans cette section