Introduction à Core WCF en 10 minutes ou moins
Lorsque Microsoft est passé de .NET Framework à .NET Core, un composant majeur n'a pas fait le saut : Windows Communication Foundation (WCF). Pendant des années, WCF a été la solution de choix pour construire des systèmes connectés, alimentant tout, des outils d'entreprise internes aux applications web à grande échelle.
Dans sa vidéo courte mais perspicace, "Intro to Core WCF in 10 Minutes or Less, Tim Corey nous explique ce qu'est le projet Core WCF, pourquoi il existe et comment les développeurs peuvent commencer à l'utiliser. Dans cet article, nous allons explorer l'explication de Tim étape par étape.
Pourquoi Core WCF existe
Tim commence par rappeler aux téléspectateurs que lorsque Microsoft est passé à .NET Core, il a laissé WCF derrière lui. Cela signifie que les développeurs utilisant des services WCF sur d'anciennes versions de .NET Framework n'avaient pas de voie de mise à niveau directe vers .NET Core.
Cependant, la communauté des développeurs s'est mobilisée. Comme l'explique Tim,
"Désormais, la communauté a intégré WCF dans .NET Core."
Ce projet communautaire, désormais hébergé en tant que projet de la .NET Foundation, s'appelle Core WCF. Il s'agit essentiellement de la réimplémentation de Windows Communication Foundation (WCF) pour qu'il fonctionne dans les versions modernes de .NET Core et les versions plus récentes de .NET.
Core WCF n'est pas fait pour les nouveaux projets
Avant de se lancer dans la démo, Tim s'arrête pour clarifier un point essentiel. Il précise :
"Ce n'est vraiment pas conçu pour les nouveaux projets."
Core WCF n'est pas un nouveau cadre de communication brillant pour les nouvelles applications. Au contraire, il existe pour aider les équipes disposant de services WCF existants à passer à l'environnement moderne .NET Core.
Si vous démarrez une nouvelle application basée sur des services, Tim vous conseille de vous tourner vers gRPC, un cadre que Microsoft recommande désormais pour les nouveaux développements. En fait, il mentionne qu'il a une autre vidéo présentant gRPC, expliquant ce que c'est et comment l'utiliser.
Ainsi, Core WCF est destiné à la migration, et non à de tout nouveaux projets ASP.NET Core.
À qui s'adresse Core WCF
Tim explique que l'objectif principal de Core WCF est d'aider les organisations à moderniser les applications WCF existantes écrites dans .NET Framework. De nombreuses entreprises dépendent encore de projets WCF fonctionnant en production - par exemple, des systèmes internes qui utilisent des contrats de service, SOAP et la génération WSDL.
Il explique que gRPC, bien que puissant, n'a pas entièrement remplacé tous les scénarios WCF courants, ce qui a empêché de nombreux développeurs d'abandonner l'ancienne plateforme. Core WCF résout désormais ce problème.
"L'objectif est de permettre aux services WCF existants de passer à .NET Core."
Ainsi, si vous avez un projet WCF fonctionnant sur le framework complet, vous pouvez maintenant le migrer - en réutilisant vos contrats de service existants, vos proxies clients et vos fichiers de projet - avec seulement quelques changements de configuration.
Aperçu de la page du projet Core WCF
Tim montre ensuite la page GitHub Core WCF, qui contient tout ce dont les développeurs ont besoin pour commencer. Il encourage les spectateurs à l'explorer et à le mentionner :
Il s'agit d'un excellent point de départ - non seulement vous avez des explications étape par étape sur la façon de créer un service et des références à partir de projets clients, mais vous avez également de nouveaux modèles que vous pouvez installer dans Visual Studio
Ces modèles de projet CoreWCF facilitent grandement la création d'un service ou d'un client WCF Core à l'aide du nouveau format de fichier de projet de type .NET SDK.
La page explique également comment gérer les références des packages NuGet, les fichiers de configuration et les adresses de service, en aidant les développeurs à passer des anciens fichiers de configuration XML de .NET Framework au modèle d'intergiciel utilisé dans .NET Core.
Pourquoi de nouveaux modèles existent
À ce stade, Tim répond à une question fréquente : si Core WCF n'est pas destiné aux nouveaux projets, pourquoi créer de nouveaux modèles de projet CoreWCF ?
Il explique que l'une des stratégies de mise à niveau pour passer de .NET Framework WCF à .NET Core consiste à créer un nouveau projet CoreWCF, puis à y migrer votre code (logique de service, interfaces et configuration).
"L'une des stratégies de mise à niveau vers la version .NET Core de WCF consiste à créer un nouveau modèle, puis à déplacer le code."
Les développeurs peuvent ainsi restructurer leurs applications pour utiliser les projets de type .NET Core SDK et mettre à jour leurs packages NuGet au lieu des anciennes références d'assemblages.
Ainsi, les nouveaux modèles dans Visual Studio ou via l'outil de ligne de commande dotnet ne sont pas destinés à de nouveaux systèmes - ils sont là pour faciliter le processus de migration de vos applications WCF existantes.
Mises à jour de la version et stabilité
Tim parle ensuite de la gestion des versions. Au moment de l'enregistrement, la version 1.1 de Core WCF venait d'être publiée, après la version 1.0 en avril.
Il note que la version 1.1 est sortie seulement une semaine plus tôt (fin juin), ce qui montre que Core WCF évolue rapidement et devient de plus en plus stable.
"Ce n'est vraiment que pour les personnes qui ont besoin de la mise à jour Core, mais si c'est le cas, c'est vraiment un grand jour."
Cette déclaration souligne que Core WCF est désormais suffisamment mature pour être utilisé en toute sécurité dans des environnements de production, ce qui donne confiance aux organisations prêtes à entamer leur processus de migration.
Un outil communautaire soutenu par Microsoft
Bien que Core WCF ait débuté en tant que projet communautaire, Tim souligne qu'il est officiellement soutenu par Microsoft.
"Il commence à se stabiliser. Le projet est soutenu par Microsoft - pour votre information."
Core WCF est ainsi à la fois fiable et à l'épreuve du temps. Cela signifie que si vous déplacez votre service WCF vers Core WCF, vous ne pariez pas sur un projet abandonné ou expérimental - il s'agit d'une solution soutenue par Microsoft et maintenue par la communauté sous l'égide de la Fondation .NET.
Un pas vers la modernité de .NET
Comme le résume Tim, Core WCF offre aux développeurs un chemin vers le runtime moderne .NET Core. Vous pouvez désormais conserver vos fonctionnalités WCF - telles que les services SOAP, les proxies clients et les contrats de service - tout en bénéficiant de tous les avantages de .NET Core, tels que la prise en charge multiplateforme, des performances plus rapides et un runtime unifié pour les futures versions de .NET.
"C'est quelque chose qui vous aidera à passer à la version moderne de .NET Core."
En d'autres termes, Core WCF ne réinvente pas WCF, il prolonge sa durée de vie.
Pensées finales et participation à la communauté
Tim termine la vidéo en encourageant les spectateurs à visiter la page GitHub Core WCF, à lire la documentation et à essayer les modèles.
Il invite également les développeurs à soumettre leurs questions ou leurs demandes de fonctionnalités sur son site de commentaires, afin qu'il puisse créer davantage de courtes vidéos de formation sur des sujets tels que celui-ci.
Conclusion : Core WCF, une passerelle vers la modernité de .NET
En moins de cinq minutes, Tim Corey explique clairement que Core WCF est une bouée de sauvetage pour les applications WCF existantes. Il ne s'agit pas de services flambant neufs - mais d'équipes qui maintiennent des projets WCF hérités de .NET Framework et qui souhaitent se moderniser et tirer parti de .NET Core sans tout réécrire à partir de zéro.
Ce tutoriel Core WCF montre que la voie de la migration est enfin ouverte : grâce aux modèles Visual Studio, aux références des packages NuGet et aux outils pris en charge par Microsoft, les développeurs peuvent faire entrer en toute sécurité leurs services WCF dans la nouvelle ère du développement .NET.
