Vue d’ensemble du modèle de service WCF avec l’adaptateur Oracle Database
Lorsque vous consommez des opérations exposées par l’adaptateur Microsoft BizTalk pour Oracle Database, votre code agit en tant que client ou service de l’adaptateur. Pour presque toutes les opérations exposées par l’adaptateur Oracle Database, votre code est le client. Autrement dit, votre application appelle l’opération sur l’adaptateur ; par exemple pour insérer des enregistrements dans une table Oracle. La seule opération pour laquelle votre code agit en tant que service pour l’adaptateur Oracle Database est pour l’opération POLLINGSMT. Dans ce cas, l’adaptateur envoie les résultats de l’opération de requête d’interrogation à votre application.
Dans le modèle de service Windows Communication Foundation (WCF), le contrat de service qui existe entre un client et un service est représenté sous la forme d’une interface .NET, et les opérations sont représentées en tant que méthodes sur cette interface. L’adaptateur Oracle Database et WCF fournissent des outils qui vous permettent de générer cette interface pour les opérations ciblées à partir des métadonnées exposées par l’adaptateur. Ces outils créent également une classe de client WCF qui peut être utilisée pour appeler les opérations exposées dans l’interface de service. Une application cliente peut appeler les méthodes de la classe de client WCF pour appeler des opérations sur l’adaptateur. Pour implémenter un service afin de recevoir l’opération POLLINGSTMT à partir de l’adaptateur Oracle Database, vous implémentez l’interface générée pour l’opération POLLINGSTMT.
Les sections suivantes expliquent comment utiliser le modèle de service WCF pour créer le code client et de service pour l’adaptateur Oracle Database.
Création et appel d’opérations sur un client WCF à l’aide de l’adaptateur de base de données Oracle
Pour utiliser le modèle de service WCF afin d’appeler des opérations sur l’adaptateur Oracle Database, vous devez d’abord générer une classe de client WCF pour les opérations cibles. Vous pouvez ensuite créer un instance de cette classe, un client WCF, et appeler ses méthodes pour effectuer des opérations sur la base de données Oracle.
Pour appeler des opérations sur l’adaptateur Oracle Database
Générez une classe de client WCF et du code d’assistance. Utilisez le plug-in Visual Studio Add Adapter Service Reference ou l’outil Utilitaire de métadonnées ServiceModel (svcutil.exe) pour générer une classe de client WCF ciblée sur les artefacts de base de données Oracle avec lesquels vous souhaitez travailler. Pour plus d’informations sur la génération d’un client WCF, consultez Génération d’un client WCF ou d’un contrat de service WCF pour les artefacts de base de données Oracle.
Créez un client WCF instance en spécifiant une liaison de client. La spécification d’une liaison client implique de spécifier la liaison et l’adresse de point de terminaison que le client WCF utilisera. Vous pouvez le faire impérativement dans le code ou de manière déclarative dans la configuration. Pour plus d’informations sur la spécification d’une liaison de client, consultez Configurer une liaison de client pour la base de données Oracle. Le code suivant crée un client WCF qui peut être utilisé pour effectuer des opérations en langage de manipulation de données (DML) sur une table de base de données Oracle (/SCOTT/ACCOUNTACTIVITY). Il définit également les informations d’identification de la base de données Oracle. Le client WCF est initialisé à partir de la configuration.
SCOTTTableACCOUNTACTIVITYClient aaTableClient = new SCOTTTableACCOUNTACTIVITYClient("OracleDBBinding_SCOTT.Table.ACCOUNTACTIVITY"); aaTableClient.ClientCredentials.UserName.UserName = "SCOTT"; aaTableClient.ClientCredentials.UserName.Password = "TIGER";
Ouvrez le client WCF.
aaTableClient.Open();
Appelez des méthodes sur le client WCF créé à l’étape 2 pour effectuer des opérations sur la base de données Oracle. Le code suivant appelle la méthode Select du client WCF pour exécuter la requête SQL SELECT suivante sur la table ACCOUNTACTIVITY :
SELECT * FROM ACCOUNTACTIVITY
.// create a record set parameter to hold the SELECT query result set and invoke the Select operation; microsoft.lobservices.oracledb._2007._03.SCOTT.Table.ACCOUNTACTIVITY.ACCOUNTACTIVITYRECORDSELECT[] selectRecords; selectRecords = aaTableClient.Select("*", null);
Fermez le client WCF.
aaTableClient.Close();
Pour plus d’informations sur l’exécution d’opérations DML sur des tables et des vues, notamment l’opération Sélectionner utilisée ci-dessus, consultez Exécution d’opérations d’insertion, de mise à jour, de suppression et de sélection de base à l’aide du modèle de service WCF.
Création et implémentation d’un service WCF à l’aide de l’adaptateur de base de données Oracle
L’adaptateur Oracle Database peut effectuer une interrogation sur une table ou une vue de base de données Oracle. Cette fonctionnalité vous permet de spécifier une requête SQL SELECT que l’adaptateur doit exécuter régulièrement sur la base de données Oracle. Les résultats de cette requête sont retournés à votre application par le biais d’une opération spéciale, l’opération POLLINGSTMT. Pour recevoir les résultats de la requête d’interrogation, votre application doit implémenter le contrat de service que l’adaptateur Oracle Database expose pour l’opération POLLINGSTMT.
Pour implémenter un service afin de recevoir l’opération POLLINGSTMT, vous devez d’abord générer l’interface .NET (également appelée contrat de service WCF) qui représente le contrat de service exposé par l’adaptateur Oracle Database pour l’opération POLLINGSTMT. Pour plus d’informations sur la procédure à suivre, consultez Génération d’un client WCF ou d’un contrat de service WCF pour les artefacts de base de données Oracle.
Ensuite, vous implémentez un service WCF en implémentant l’interface générée. Cette classe contient la logique métier pour traiter le message POLLINGSTMT et retourner une réponse à l’adaptateur. Ensuite, vous utilisez un hôte de service (System.ServiceModel.ServiceHost) pour héberger un instance de ce service. Pour plus d’informations, consultez Réception de messages modifiés de données basés sur l’interrogation à l’aide du modèle de service WCF.
Voir aussi
Développer des applications de base de données Oracle à l’aide du modèle de service WCF