Logo Studenta

WEB SERVICES WCF

¡Este material tiene más páginas!

Vista previa del material en texto

GESTION Y DESARROLLO DE 
SERVICIOS WEB
Juan Carlos Araujo H
docenteibp@gmail.com
Semana 10
WEB SERVICES WCF
¿Qué es WCF?
• Windows Communication Foundation (WCF) es un 
FRAMEWORK para crear aplicaciones orientadas a servicios.
• Con WCF, puede enviar datos como mensajes asincrónicos de 
un extremo de servicio a otro. Un extremo de servicio puede 
ser parte de un servicio disponible de forma continua 
hospedado por IIS o puede ser un servicio hospedado en una 
aplicación. 
• Un punto final puede ser un cliente de un servicio que solicita 
datos de un punto final de servicio.
https://docs.microsoft.com/en-us/dotnet/framework/wcf/whats-wcf
Características de WCF
WCF es un modelo de programación para el desarrollo de 
aplicaciones con arquitectura orientada a servicios (SOA). Aplicaciones 
distribuidas basadas en la comunicación mediante mensajes.
• Principales Características: Una aplicación WCF está compuesta por:
• Clientes: Son aplicaciones que inician la comunicación.
• Servicios: Son aplicaciones que esperan los mensajes de los clientes 
y responden a los mismos.
http://dotnetuy.com/blog/2018/02/14/tutorial-wcf-primera-parte-conceptos-basicos-de-wcf-windows-communication-foundation/
¿Cómo Funciona WCF?
• Los mensajes son enviados entre endpoints. Un endpoint es un 
lugar donde un mensaje es enviado, o recibido, o ambos.
• Un servicio expone uno o más application endpoints, y un cliente 
genera un endpoint compatible con uno de los endpoints de un 
servicio dado.
• La combinación de un servicio y un cliente compatibles 
conforman un communication stack.
http://dotnetuy.com/blog/2018/02/14/tutorial-wcf-primera-parte-conceptos-basicos-de-wcf-windows-communication-foundation/
Integración de WCF con otras 
tecnologías de Microsoft
• WCF es una plataforma flexible. Debido a esta extrema 
flexibilidad, WCF también se usa en varios otros productos de 
Microsoft. Al comprender los conceptos básicos de WCF, tiene 
una ventaja inmediata si también usa alguno de estos 
productos.
• La primera tecnología que se combinó con WCF fue Windows 
Workflow Foundation (WF).
• Puede elegir automáticamente el tipo de proyecto WF/WCF en 
Visual Studio 2012 o posterior.
https://docs.microsoft.com/en-us/dotnet/framework/wcf/whats-wcf
Conceptos básicos de WCF
• Address
• La address (dirección), especifica el lugar o donde se encuentra el 
servicio. Especifica la ruta donde un mensaje será enviado. Todos 
los servicios son instalados con una dirección especifica.
• Una address es normalmente especificada como una URL, donde 
la primer parte especifica el mecanismo de transporte y la 
segunda parte determina el lugar donde se encuentra el servicio.
• Ejemplo:
• http://www.ejemplowcf.com/miServicioWCF/EjemploServicio.svc
http://dotnetuy.com/blog/2018/02/14/tutorial-wcf-primera-parte-conceptos-basicos-de-wcf-windows-communication-foundation/
Conceptos básicos de WCF
• Binding
• Bindings son usados para especificar los detalles del transporte, 
encoding y protocolo requeridos por los clientes y servicios para 
comunicarse unos con otros. Los bindings en WCF son usados para 
la representación de un endpoint. Y un endpoint es un lugar 
donde los clientes pueden comunicarse con el servicio de WCF. La 
forma fácil de que un cliente se comunique con el servicio es usar 
el mismo binding que el servicio usa.
http://dotnetuy.com/blog/2018/02/14/tutorial-wcf-primera-parte-conceptos-basicos-de-wcf-windows-communication-foundation/
Conceptos básicos de WCF
• Contract
• Un contract es un conjunto de especificaciones que define la 
interfaz de un servicio WCF. 
• Un servicio WCF se comunica con otras aplicaciones de acuerdo a 
su contrato. Hay muchos tipos de contratos en WCF, tales como 
Service contract, operation contract, data contract, message 
contract y fault contract.
http://dotnetuy.com/blog/2018/02/14/tutorial-wcf-primera-parte-conceptos-basicos-de-wcf-windows-communication-foundation/
Conceptos básicos de WCF
• Endpoint
• Los mensajes son enviados entre endpoints. Y los endpoints son el lugar 
donde los mensajes son enviados y recibidos o ambos, y tienen toda la 
información requerida para el intercambio de mensajes. Un servicio puede 
exponer uno o mas endpoints. Cuando necesitamos conectarnos al servicio, la 
aplicación cliente genera un endpoint que es compatible con el endpoint del 
servicio.
• Un servicio de WCF tiene un binding, un address y un service contract, esto es 
conocido como el ABC de Windows Communication Foundation.
http://dotnetuy.com/blog/2018/02/14/tutorial-wcf-primera-parte-conceptos-basicos-de-wcf-windows-communication-foundation/
Diferencia entre los servicios web 
WCF y asmx?
• Los servicios web asmx sólo pueden ser invocados por HTTP 
(webservice tradicional con .asmx). Mientras que el servicio wcf 
o un componente WCF puede ser invocado por cualquier 
protocolo (como http, tcp, etc.) y cualquier tipo de transporte.
• En segundo lugar, los servicios web de asmx no son flexibles. 
Sin embargo, los servicios wcf son flexibles. Si usted hace una 
nueva versión del servicio, sólo tiene que exponer un nuevo 
extremo. Por lo tanto, los servicios son ágiles y es un enfoque 
muy práctico teniendo en cuenta las tendencias empresariales 
actuales.
https://www.iteramos.com/pregunta/3864/Cual-es-la-diferencia-entre-los-servicios-web-WCF-y-ASMX
asmx
• Es muy sencillo de usar, de hecho hace las veces de método, propiedad y
atributo, ocupa poca programación y por ende su implementación es más
sencilla. No se requieren muchos conocimientos para poner en acción este tipo
de Web Service. Prácticamente es un archivo con extensión .asmx donde la
única estructura de entrada es un método web así llamado que se implementa
como un Web Service.
• Ventajas
• Fácil de montar
• Configuración sencilla
• Desventajas
• No garantiza la transmisión de datos
• Utiliza estructuras rudimentarias de envío de información
• No está diseñado para crecer proyectos
• Es lento
• Es propenso a conflictos de comunicación entre diversos sistemas operativos
https://paginawebleon.mx/wp/diferencia-entre-un-asmx-y-un-wcf/
WCF
Este tipo de Web Service apareció mucho después de ASMX y se le 
implementaron muchas características para mejorarlo, tales como 
seguridad, portabilidad y la cualidad de integrar las características de 
otros Web Services que bien pueden ser reemplazados por un WCF 
para cumplir con los objetivos que fueron diseñados, dichos Web 
Services son: ASMX, WSE, MSMQ, COM+ Enterprise Services y .NET 
Remoting. 
Para implementar este tipo de Web Service en la práctica se requieren 
un poco más de conocimientos en programación orientada a objetos 
para conseguir los máximos rendimientos. 
Es un poco más complicado implementar, sobre todo en ambientes de 
Windows porque incluso el IIS no está pre configurado para soportarlos.
https://paginawebleon.mx/wp/diferencia-entre-un-asmx-y-un-wcf/
Ventajas y Desventajas de WCF
• Ventajas
• Asegura la entrega de mensajes
• Participa en transacciones seguras
• Usa segmentación binaria
• Reemplaza los XML
• Desventajas
• Requiere mayores conocimientos
• Se debe invertir mayor tiempo en configurar el servidor 
huésped
https://paginawebleon.mx/wp/diferencia-entre-un-asmx-y-un-wcf/
Recapitulando
• WCF sustituye completamente a los servicios web de asmx. ASMX es 
la antigua forma de hacer servicios web y WCF es la nueva forma de 
hacer servicios web. 
• Todo el nuevo desarrollo de servicios web, en el cliente o en el servidor, 
debe hacerse utilizando WCF.
• Antes de comenzar a programar su proyecto, piense un poco sobre la 
complejidad de ese, tal vez sea un poco el trabajo y le convenga usar 
ASMX, pero si su proyecto es robusto y con el transcurso del tiempo 
tienda a crecer, tal vez le convenga más implementar un WCF. Mi 
recomendación es que aprenda más las características de WCF y las 
comience a poner en práctica desde soluciones pequeñas, ya que en 
cualquier momento los ASMX quedarán obsoletos y elmundo de los 
Web Services ganará reputación con los WCF.
https://paginawebleon.mx/wp/diferencia-entre-un-asmx-y-un-wcf/https://www.iteramos.com/pregunta/3864/cual-es-la-diferencia-entre-los-servicios-web-wcf-y-asmx
• ¿Cuál es la diferencia entre
los servicios web wcf y asmx?
Referencias electrónicas
• ¿Cuál es la diferencia entre los servicios web wcf y
asmx?
Fuente:
https://www.iteramos.com/pregunta/3864/cual-es-la-
diferencia-entre-los-servicios-web-wcf-y-asmx
• Diferencia entre un ASMX y un WCF
https://paginawebleon.mx/wp/diferencia-entre-un-
asmx-y-un-wcf/
• What Is Windows Communication Foundation
https://docs.microsoft.com/en-
us/dotnet/framework/wcf/whats-wcf
https://www.iteramos.com/pregunta/3864/cual-es-la-diferencia-entre-los-servicios-web-wcf-y-asmx
https://paginawebleon.mx/wp/diferencia-entre-un-asmx-y-un-wcf/

Continuar navegando

Materiales relacionados