Descarga la aplicación para disfrutar aún más
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/
Compartir