Introducción a Core WCF en 10 minutos o menos
Cuando Microsoft hizo la transición de .NET Framework a .NET Core, un componente importante no dio el salto: Windows Communication Foundation (WCF). Durante años, WCF ha sido la solución preferida para crear sistemas conectados, desde herramientas empresariales internas hasta aplicaciones web a gran escala.
En su breve pero perspicaz vídeo, "Introducción a Core WCF en 10 minutos o menos", Tim Corey nos explica qué es el proyecto Core WCF, por qué existe y cómo pueden empezar a utilizarlo los desarrolladores. En este artículo, exploraremos la explicación de Tim paso a paso.
Por qué existe Core WCF
Tim comienza recordando a los espectadores que cuando Microsoft pasó a .NET Core, dejó atrás WCF. Esto significaba que los desarrolladores que utilizaban servicios WCF en versiones anteriores de .NET Framework no tenían una vía de actualización directa a .NET Core.
Sin embargo, la comunidad de desarrolladores se puso manos a la obra. Como explica Tim,
"Ahora la comunidad ha llevado WCF a .NET Core"
Este proyecto impulsado por la comunidad, ahora alojado como proyecto de .NET Foundation, se denomina Core WCF. Se trata esencialmente de la reimplementación de Windows Communication Foundation (WCF) para que funcione en las versiones modernas de .NET Core y .NET más recientes.
Core WCF no es para proyectos nuevos
Antes de empezar la demostración, Tim hace una pausa para aclarar algo fundamental. Dice:
"Esto realmente no está diseñado para proyectos nuevos"
Core WCF no es un nuevo y brillante marco de comunicación para aplicaciones nuevas. En su lugar, existe para ayudar a los equipos con servicios WCF existentes a pasar al moderno entorno .NET Core.
Si va a iniciar una nueva aplicación basada en servicios, Tim le aconseja que, en su lugar, eche un vistazo a gRPC, un marco que Microsoft recomienda ahora para nuevos desarrollos. De hecho, menciona que tiene otro vídeo de presentación de gRPC, explicando qué es y cómo se utiliza.
Así pues, Core WCF está pensado para la migración, no para proyectos ASP.NET Core completamente nuevos.
Para quién es Core WCF
Tim explica que el principal objetivo de Core WCF es ayudar a las organizaciones a modernizar las aplicaciones WCF existentes escritas en .NET Framework. Muchas empresas siguen dependiendo de proyectos WCF en producción, por ejemplo, sistemas internos que utilizan contratos de servicio, SOAP y generación de WSDL.
Explica que gRPC, aunque potente, no sustituyó por completo todas las situaciones habituales de WCF, lo que dejó a muchos desarrolladores incapaces de abandonar la antigua plataforma. Core WCF resuelve ahora ese problema.
"El objetivo es permitir que los servicios WCF existentes pasen a .NET Core"
Así pues, si tiene un proyecto WCF que se ejecuta en el marco completo, ahora puede migrarlo -reutilizando sus contratos de servicio, proxies de cliente y archivos de proyecto existentes- con sólo algunos cambios de configuración.
Descripción general de la página del proyecto WCF básico
A continuación, Tim muestra la página GitHub de Core WCF, que contiene todo lo que los desarrolladores necesitan para empezar. Anima a los espectadores a explorarla y menciona:
"Este es un gran lugar para empezar - no sólo tiene guías paso a paso sobre cómo crear un servicio y una referencia de proyectos de clientes, sino que incluso tiene nuevas plantillas que se pueden instalar en Visual Studio."
Estas plantillas de proyecto CoreWCF facilitan enormemente la creación de un servicio WCF Core o un cliente WCF utilizando el nuevo formato de archivo de proyecto estilo SDK de .NET.
La página también explica cómo manejar las referencias a paquetes NuGet, los archivos de configuración y las direcciones de servicio, ayudando a los desarrolladores a pasar de los antiguos archivos de configuración XML de .NET Framework al patrón de middleware utilizado en .NET Core.
Por qué existen las nuevas plantillas
En este punto, Tim aborda una pregunta habitual: si Core WCF no es para nuevos proyectos, ¿por qué crear nuevas plantillas de proyectos CoreWCF?
Explica que una de las estrategias de actualización para pasar de .NET Framework WCF a .NET Core consiste en crear un nuevo proyecto CoreWCF y, a continuación, migrar el código (lógica de servicio, interfaces y configuración) a él.
"Una de las estrategias para actualizar a la versión .NET Core de WCF es crear una nueva plantilla y luego trasladar el código"
Esto ayuda a los desarrolladores a reestructurar sus aplicaciones para utilizar proyectos del estilo del SDK de .NET Core y actualizar sus paquetes NuGet en lugar de las antiguas referencias a ensamblados.
Así pues, las nuevas plantillas en Visual Studio o a través de la herramienta de línea de comandos dotnet no son para sistemas totalmente nuevos: están ahí para ayudar en el proceso de migración de sus aplicaciones WCF existentes.
Actualizaciones de versiones y estabilidad
A continuación, Tim habla del versionado. En el momento de la grabación, se acababa de publicar la versión 1.1 de Core WCF, tras la versión 1.0 de abril.
Señala que la versión 1.1 salió sólo una semana antes (a finales de junio), lo que demuestra que Core WCF evoluciona rápidamente y es cada vez más estable.
"Esto es realmente sólo para personas que necesitan la actualización a Core, pero si es así, este es un día realmente estupendo"
Esta declaración subraya que Core WCF ya está lo suficientemente maduro como para ser utilizado con seguridad en entornos de producción, dando confianza a las organizaciones listas para iniciar su proceso de migración.
Una herramienta comunitaria respaldada por Microsoft
Aunque Core WCF comenzó como un proyecto comunitario, Tim destaca que cuenta con el apoyo oficial de Microsoft.
"Está empezando a estabilizarse. Cuenta con el apoyo de Microsoft, para que lo sepas"
Esto hace que Core WCF sea fiable y esté preparado para el futuro. Esto significa que si traslada su servicio WCF a Core WCF, no está apostando por un proyecto abandonado o experimental: se trata de una solución respaldada por Microsoft y mantenida por la comunidad bajo el paraguas de .NET Foundation.
Un paso hacia el .NET moderno
Como resume Tim, Core WCF ofrece a los desarrolladores un camino hacia el moderno tiempo de ejecución .NET Core. Ahora puede conservar su funcionalidad WCF, como los servicios SOAP, los proxies de cliente y los contratos de servicio, al tiempo que disfruta de todas las ventajas de .NET Core, como la compatibilidad entre plataformas, un rendimiento más rápido y un tiempo de ejecución unificado para futuras versiones de .NET.
"Esto es algo que le ayudará a entrar en el moderno .NET Core"
En otras palabras, Core WCF no reinventa WCF, sino que prolonga su vida útil.
Pensamientos finales y participación de la comunidad
Tim termina el vídeo animando a los espectadores a visitar la página GitHub de Core WCF, leer la documentación y probar las plantillas.
También invita a los desarrolladores a enviar sus preguntas o peticiones de funciones a través de su sitio de comentarios, para poder crear más vídeos cortos de formación sobre temas como éste.
Conclusión: Core WCF como puente hacia .NET moderno
En menos de cinco minutos, Tim Corey explica claramente que Core WCF es un salvavidas para las aplicaciones WCF existentes. No se trata de servicios totalmente nuevos, sino de equipos que mantienen proyectos .NET Framework WCF heredados y desean modernizarse y aprovechar las ventajas de .NET Core sin tener que reescribir todo desde cero.
Este tutorial de Core WCF muestra que la ruta de migración por fin está aquí: con las plantillas de Visual Studio, las referencias de paquetes NuGet y las herramientas compatibles con Microsoft, los desarrolladores pueden llevar con seguridad sus servicios WCF a la nueva era del desarrollo .NET.
