SlideShare a Scribd company logo
1 of 59
Introductionto WCF Solutions With Microsoft Visual Studio 2010
Agenda ServiceOrientedArchitecture Introducción al desarrollo con Microsoft Windows CommunicationFoundation Hostear servicios WCF Seguridad HoL
ServiceOrientedArchitecture (SOA) ¿Qué es SOA? Beneficios de SOA Escenarios y estándares Introducción a WCF
¿Qué es SOA? SOA es un estilo de arquitectura diseñada para construir sistemas distribuidos Desafíos en aplicaciones de negocios Agilidad Productividad Reutilzar Reducir Costes
¿Qué es un servicio? Un servicio expone funcionalidad aceptando datos (peticiones) y algunas veces devolviendo datos (respuestas)
Pilares de SOA Los servicios manejan datos, no objetos Los servicios son autónomos Los servicios tienen límites específicos Los servicios exponen contratos y políticas
¿Cómo se accede a un servicio? A través de los bordes Múltiples bordes Dirección WCF Endpoints
Beneficios de SOA Mejora de la Productividad Servicios Autónomos Interoperabilidad Testeo
Beneficios de SOA Agilidad Contrato Movilidad Cambios dinámicos del cliente Instancias del servicio ajustadas a la carga Integración avanzada
Beneficios de SOA Reduce Costes IT Reutilizar módulos Externalizar capacidades Simplicidad Múltiples consumidores
Beneficios de SOA Tecnologías de comunicación diversas Políticas de seguridad Patrones mensajería Diferencias tecnológicas entre bordes Load-balanced WCF endpoints
Beneficios de SOA Alta escalabilidad Fire and forget Uso de diferentes topologías Múltiples instancias Messages Load-balanced Messagespersisted
Beneficios de SOA Interoperabilidad entre sistemas El servicio desconoce la tecnología del cliente Exponen datos en un formato concreto Servicios tratan con datos Los mensajes se pueden transformar WS -* standards
Beneficios de SOA Fiabilidad del servicio Políticas de reintento Backup Persistencia en los mensajes Monitorización y administración runtime
Beneficios de SOA Seguridad integrada Capas de seguridad Servicios de intercambio de datos Protección de datos Autenticación y autorización Implementación de buenas prácticas en seguridad
Escenarios y Estándares Aplicaciones expuestas como Servicios Web Aplicaciones de Intranet como Servicios Aplicaciones 2.0 en el Navegador Los servicios pueden usar SOAP Los servicios pueden usar REST WS-* StandardsIntegrate Web Services
Aplicaciones expuestas como Servicios Web
Aplicaciones de Intranet como servicios
Aplicaciones 2.0 en el Navegador
SOAP Estándar basado en XML Transporta mensajes para Web Services, que son creados de acuerdo al contrato de servicio <s:Envelopexmlns:s="http://schemas.xmlsoap.org/soap/envelope/">    <s:Header>      <To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">             http://127.0.0.1:8080/CalcService      </To>      <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">  Add     </Action>    </s:Header>    <s:Body>      <Addxmlns="http://www.fabrikam.com">        <a>2</a>        <b>3</b>      </Add>    </s:Body> </s:Envelope>
REST Arquitectura de estilos para servicios Protocolo HTTP El contrato está basado en verbos HTTP GET POST PUT DELETE Datos escritos en la URI Interoperabilidad y versionado Diferentes estándares de codificación
WS-* StandardsIntegrate Web Services WS-* es un grupo de estándares basados en XML relevantes para servicios Web WS-* definen como la seguridad, transacción, direccionamiento y fiabilidad de la información es transmitida WS-* forma la base de la interoperabilidad de los servicios
Introducción a WCF ¿Qué es WCF? Objetivos de WCF para la implementación de servicios El modelo de comunicación WCF
¿Qué es un WCF? Framework unificado para la construcción de aplicaciones orientadas a servicios Fue introducido en el framework 3.0 y extendido en el 3.5 y 4.0 Es la unión de otras tecnologías distribuidas de Microsoft
Objetivos WCF para la implementación de servicios La implementación del servicio debe ser simple pero extensible para llegar a una amplia variedad de necesidades Una sola API debe ser utilizada para todos los protocolos de comunicación Los servicios deben ser interoperables Los servicios deben usar estándares WS-* siempre que sea aplicables Los servicios pueden soportar SOAP, REST y otras arquitecturas de comunicación
El modelo de comunicación WCF
Introducción al desarrollo con Microsoft Windows CommunicationFoundation Contrato e Implementación de Servicios Albergar Servicios WCF WCF Behaviors Consumir Servicios WCF
Contrato e Implementación de Servicios Ciclo de vida del desarrollo de un servicio ServiceContractsWCF y Data Contracts Definir ServiceContracts y Data Contracts Consideraciones en la implementación de un servicio Implementar un Servicio WCF
Ciclo de vida del desarrollo de un servicio Contrato: Decidir que datos y operaciones van a ser expuestos Implementación: Crear una clase CLR que implemente el contrato Hosting: Crear los endpoints y escuchar las peticiones Testing: Asegurarse que el servicio se comporta correctamente Consumo: Crear un cliente
ServiceContractsWCF y Data Contracts Que va a ser expuesto es el primer paso para cualquier sistema distribuido ServiceContract: Operaciones Data Contract: Representación de datos Los ServiceContractsse expresan como interfaces de C# Los Data Contracts se expresan como clases de C# Los atributos se usan para convertir entidades C# en declaraciones WCF
Definir ServiceContracts y Data Contracts
Consideraciones en la implementación de un servicio Un servicio WCF es una implementación del interfaz del servicecontract Ubicar el contrato y la implementación en ensamblados diferentes La implementación tiene que considerar la instancia WCF y el modelo de concurrencia
Implementar un Servicio WCF El Servicio ComplexCalc implementa el contrato de servicio IComplexCalc
Albergar Servicios WCF ¿Qué es un endpoint? Address, Binding, Contract Binding Definir un endpoint Crear un Service Host
¿Qué es un endpoint? Es una combinación de  Address Binding Contract El host da vida al servicio Une la infraestructura WCF al servicio Crea endpointsy escucha las peticiones
¿Qué es un endpoint? Cliente Servicio Endpoint Endpoint Endpoint
Binding Encapsula toda la tecnología relacionada con la comunicación y el control de los mensajes Define la tecnología de transporte (HTTP, TCP,..) Define la codificación del mensaje Define los protocolos y los estándares (seguridad, etc…) Define las propiedades de los mensajes (timeouts, etc…)
Pipeline del mensaje
Elementos del binding
Bindingspredefinidos y personalizables Es posible definir bindingpersonalizados con una combinación propia de elementos binding Existen muchos bindings predefinidos diseñados para escenarios comunes Los bindingspredefinidos son más sencillos de usar Normalmente no hay necesidad de definir bindingpropios
Configurar bindingsen el web.config
Configurar bindings por código
Crear Bindings personalizados
Definir un endpoint Para definir un endpointdebemos definir la dirección, el bindingy el contrato
Crear un Service Host Un Service Host puede ser cualquier proceso Windows La información sobre los servicios albergados se escribe en el código debajo de <system.serviceModel> La clase base para todos los WCF Service Hosts es ServiceHostBase Los servicios que se ejecutan en el IIS, WAS o AppFabric se abren automáticamente. Otros hosts necesitan la llamada al método Open
WCF Behaviors Dispatchersy el ChannelStack Uso de Behaviorspara configurar los DispatchersWCF Definir Behaviorsen el archivo de Configuración Definir Behaviorspor código
Dispatchersy el ChannelStack El channelstack necesita ser extendido para permitir configuraciones adicionales Una vez superado el pipeline del canal los dispatchers procesarán el mensaje Los dispatchers son usados para ajustar el comportamiento del servicio en aspectos como: Instanciamiento Concurrencia Velocidad de ejecución Seguridad Serialización …
Uso de Behaviorspara configurar los DispatchersWCF El mecanismo para configurar los dispatchers se denomina behaviors Existen una amplia variedad de behaviorspara WCF Algunos pueden ser adjuntados al código mediante el uso de atributos, mientras que otros pueden ser escritos en el archivo de cofiguración Los behaviors son extensibles en WCF
Definir Behaviorsen el archivo de Configuración
Definir Behaviorspor código Algunos behaviors son orientados al desarrollador, mientras que otros se orientan hacia el administrador: Desarrollador Instanciamiento Concurrencia Serialización Administrador Velocidad de ejecución Credenciales de seguridad Exponer metadatos
Definir Behaviorspor código Los behaviors orientados al desarrollador se escriben en el código gracias al uso de atributos
Consumir Servicios WCF El patrón proxy Añadir una Service Reference Demo: Crear un Cliente WCF Construir un proxy usando un Channel Factory Uso correcto de ChannelFactories Demo: Uso de Channel Factory
El patrón proxy Un proxy refleja una entidad fuera de la aplicación El proxy traduce las llamadas a los métodos a mensajes de intercambio
Añadir una Service Reference
Demo: Crear un cliente WCF
Construir un proxy usando un ChannelFactory Un proxy a un servicio WCF puede ser construido sin Visual Studio 2010 y con automatización de generación de código Crear un ChannelFactory<T> Crear un canal
Uso correcto de ChannelFactories Cuando se usa la factoría de canal se es responsable para: Establecer la configuración del cliente Importar los contratos de servicio y datos Eliminación del proxy correctamente
Demo: uso del Channel Factory
WCF Introduction: Service-Oriented Architecture, WCF Fundamentals and Development

More Related Content

Viewers also liked

Fuerza aerea de los estados unidos
Fuerza aerea de los estados unidosFuerza aerea de los estados unidos
Fuerza aerea de los estados unidosnanytam1
 
Manifestation Ivry jeudi 14 octobre 2010
Manifestation Ivry jeudi 14 octobre 2010Manifestation Ivry jeudi 14 octobre 2010
Manifestation Ivry jeudi 14 octobre 2010greveivry
 
La veille de Red Guy du 16.04.14 - Quand les médias jouent les agences de pub
La veille de Red Guy du 16.04.14 - Quand les médias jouent les agences de pubLa veille de Red Guy du 16.04.14 - Quand les médias jouent les agences de pub
La veille de Red Guy du 16.04.14 - Quand les médias jouent les agences de pubRed Guy
 
Livre blanc Développement mobile
Livre blanc Développement mobileLivre blanc Développement mobile
Livre blanc Développement mobileLudovic Tant
 
Dr. humberto gacitúa garstman miembro de la sociedad chilena de cirugía plástica
Dr. humberto gacitúa garstman miembro de la sociedad chilena de cirugía plásticaDr. humberto gacitúa garstman miembro de la sociedad chilena de cirugía plástica
Dr. humberto gacitúa garstman miembro de la sociedad chilena de cirugía plásticaCirugía Estética y Spa
 
Carús rodolfo
Carús rodolfoCarús rodolfo
Carús rodolfolarafratti
 
Grecia - año jubilar de san pablo
Grecia - año jubilar de san pabloGrecia - año jubilar de san pablo
Grecia - año jubilar de san pabloMario Schilman
 
Seminario didacti cs2013.-2do encuentro
Seminario didacti cs2013.-2do encuentroSeminario didacti cs2013.-2do encuentro
Seminario didacti cs2013.-2do encuentroEduardo R. Diaz Madero
 
Famosos entre rejas
Famosos entre rejasFamosos entre rejas
Famosos entre rejasPerejil Tom
 
Itinerario
ItinerarioItinerario
Itinerariogabi95
 
Higiene de mano 2.010 ojeda clara
Higiene de mano 2.010 ojeda claraHigiene de mano 2.010 ojeda clara
Higiene de mano 2.010 ojeda clarasilvana584
 
Diseño Curricular Nacional
Diseño Curricular NacionalDiseño Curricular Nacional
Diseño Curricular Nacionalvaniabenavides
 
Presentaciones : El amor
Presentaciones : El amor Presentaciones : El amor
Presentaciones : El amor tatiscarvajal
 
Sb pb14-verdaderaalegria
Sb pb14-verdaderaalegriaSb pb14-verdaderaalegria
Sb pb14-verdaderaalegriaosamari
 

Viewers also liked (20)

Fuerza aerea de los estados unidos
Fuerza aerea de los estados unidosFuerza aerea de los estados unidos
Fuerza aerea de los estados unidos
 
Hot potaoes
Hot potaoesHot potaoes
Hot potaoes
 
Manifestation Ivry jeudi 14 octobre 2010
Manifestation Ivry jeudi 14 octobre 2010Manifestation Ivry jeudi 14 octobre 2010
Manifestation Ivry jeudi 14 octobre 2010
 
Diana selene
Diana seleneDiana selene
Diana selene
 
La veille de Red Guy du 16.04.14 - Quand les médias jouent les agences de pub
La veille de Red Guy du 16.04.14 - Quand les médias jouent les agences de pubLa veille de Red Guy du 16.04.14 - Quand les médias jouent les agences de pub
La veille de Red Guy du 16.04.14 - Quand les médias jouent les agences de pub
 
Infor
InforInfor
Infor
 
Livre blanc Développement mobile
Livre blanc Développement mobileLivre blanc Développement mobile
Livre blanc Développement mobile
 
Dr. humberto gacitúa garstman miembro de la sociedad chilena de cirugía plástica
Dr. humberto gacitúa garstman miembro de la sociedad chilena de cirugía plásticaDr. humberto gacitúa garstman miembro de la sociedad chilena de cirugía plástica
Dr. humberto gacitúa garstman miembro de la sociedad chilena de cirugía plástica
 
Carús rodolfo
Carús rodolfoCarús rodolfo
Carús rodolfo
 
Grecia - año jubilar de san pablo
Grecia - año jubilar de san pabloGrecia - año jubilar de san pablo
Grecia - año jubilar de san pablo
 
Seminario didacti cs2013.-2do encuentro
Seminario didacti cs2013.-2do encuentroSeminario didacti cs2013.-2do encuentro
Seminario didacti cs2013.-2do encuentro
 
Famosos entre rejas
Famosos entre rejasFamosos entre rejas
Famosos entre rejas
 
Itinerario
ItinerarioItinerario
Itinerario
 
Higiene de mano 2.010 ojeda clara
Higiene de mano 2.010 ojeda claraHigiene de mano 2.010 ojeda clara
Higiene de mano 2.010 ojeda clara
 
Diseño Curricular Nacional
Diseño Curricular NacionalDiseño Curricular Nacional
Diseño Curricular Nacional
 
Presentaciones : El amor
Presentaciones : El amor Presentaciones : El amor
Presentaciones : El amor
 
Sistema nervioso
Sistema nerviosoSistema nervioso
Sistema nervioso
 
Sb pb14-verdaderaalegria
Sb pb14-verdaderaalegriaSb pb14-verdaderaalegria
Sb pb14-verdaderaalegria
 
Taller 3 informatica
Taller 3 informaticaTaller 3 informatica
Taller 3 informatica
 
Revista
RevistaRevista
Revista
 

Similar to WCF Introduction: Service-Oriented Architecture, WCF Fundamentals and Development

Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web ServicesJose Selman
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication FoundationMichelle Herrera
 
SOA en la Práctica: WCF &amp; WSSF
SOA en la Práctica: WCF &amp; WSSFSOA en la Práctica: WCF &amp; WSSF
SOA en la Práctica: WCF &amp; WSSFjuliocasal
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)Vivi Marquez
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)Vivi Marquez
 
Windows communication foundation(wcf)
Windows communication foundation(wcf)Windows communication foundation(wcf)
Windows communication foundation(wcf)Nanda Moran
 
Windows communication foundation wcf
Windows communication foundation  wcfWindows communication foundation  wcf
Windows communication foundation wcfelvis mendieta
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del ProyectoLuis Fernando Aguas Bucheli
 
Windows communication foundation completo
Windows communication foundation completoWindows communication foundation completo
Windows communication foundation completoANGIEZAMBRANO57
 
Windows communication foundation completo
Windows communication foundation completoWindows communication foundation completo
Windows communication foundation completoEduardo Bazurto
 
Windows communication foundation
Windows communication foundationWindows communication foundation
Windows communication foundationJoseph Bros
 
WINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATIONWINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATIONTeDy j Sanchez
 
Servicios web
Servicios webServicios web
Servicios webjogoram
 

Similar to WCF Introduction: Service-Oriented Architecture, WCF Fundamentals and Development (20)

Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication Foundation
 
SOA en la Práctica: WCF &amp; WSSF
SOA en la Práctica: WCF &amp; WSSFSOA en la Práctica: WCF &amp; WSSF
SOA en la Práctica: WCF &amp; WSSF
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
Windows communication foundation(wcf)
Windows communication foundation(wcf)Windows communication foundation(wcf)
Windows communication foundation(wcf)
 
Ugmmontoya
UgmmontoyaUgmmontoya
Ugmmontoya
 
Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
Wcf
WcfWcf
Wcf
 
Windows communication foundation wcf
Windows communication foundation  wcfWindows communication foundation  wcf
Windows communication foundation wcf
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 
Windows communication foundation completo
Windows communication foundation completoWindows communication foundation completo
Windows communication foundation completo
 
Semana 15 -servicios_web
Semana 15 -servicios_webSemana 15 -servicios_web
Semana 15 -servicios_web
 
Windows communication foundation completo
Windows communication foundation completoWindows communication foundation completo
Windows communication foundation completo
 
Windows communication foundation
Windows communication foundationWindows communication foundation
Windows communication foundation
 
Windows communication
Windows communicationWindows communication
Windows communication
 
Pdfwebservices
PdfwebservicesPdfwebservices
Pdfwebservices
 
Wcf
WcfWcf
Wcf
 
WINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATIONWINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATION
 
Servicios web
Servicios webServicios web
Servicios web
 

More from MICTT Palma

Active directory ds ws2008 r2
Active directory ds ws2008 r2Active directory ds ws2008 r2
Active directory ds ws2008 r2MICTT Palma
 
Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.MICTT Palma
 
¿Qué es la nube?
¿Qué es la nube?¿Qué es la nube?
¿Qué es la nube?MICTT Palma
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrixMICTT Palma
 
WP7 HUB_XNA overview
WP7 HUB_XNA overviewWP7 HUB_XNA overview
WP7 HUB_XNA overviewMICTT Palma
 
WP7 HUB_Consuming Data Services
WP7 HUB_Consuming Data ServicesWP7 HUB_Consuming Data Services
WP7 HUB_Consuming Data ServicesMICTT Palma
 
WP7 HUB_Introducción a Visual Studio
WP7 HUB_Introducción a Visual StudioWP7 HUB_Introducción a Visual Studio
WP7 HUB_Introducción a Visual StudioMICTT Palma
 
WP7 HUB_Creando aplicaciones de Windows Phone
WP7 HUB_Creando aplicaciones de Windows PhoneWP7 HUB_Creando aplicaciones de Windows Phone
WP7 HUB_Creando aplicaciones de Windows PhoneMICTT Palma
 
WP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con SilverlightWP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con SilverlightMICTT Palma
 
WP7 HUB_Platform overview
WP7 HUB_Platform overviewWP7 HUB_Platform overview
WP7 HUB_Platform overviewMICTT Palma
 
WP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightWP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightMICTT Palma
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformMICTT Palma
 
WP7 HUB_Marketplace
WP7 HUB_MarketplaceWP7 HUB_Marketplace
WP7 HUB_MarketplaceMICTT Palma
 
WP7 HUB_Launch event WP7
WP7 HUB_Launch event WP7WP7 HUB_Launch event WP7
WP7 HUB_Launch event WP7MICTT Palma
 
WP7 HUB_Launch event Windows Azure
WP7 HUB_Launch event Windows AzureWP7 HUB_Launch event Windows Azure
WP7 HUB_Launch event Windows AzureMICTT Palma
 
WP7 HUB_Launch event introduction
WP7 HUB_Launch event introductionWP7 HUB_Launch event introduction
WP7 HUB_Launch event introductionMICTT Palma
 

More from MICTT Palma (20)

Active directory ds ws2008 r2
Active directory ds ws2008 r2Active directory ds ws2008 r2
Active directory ds ws2008 r2
 
Office 365
Office 365Office 365
Office 365
 
Ad ds ws2008 r2
Ad ds ws2008 r2Ad ds ws2008 r2
Ad ds ws2008 r2
 
Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.
 
¿Qué es la nube?
¿Qué es la nube?¿Qué es la nube?
¿Qué es la nube?
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrix
 
Ie9 + html5
Ie9 + html5Ie9 + html5
Ie9 + html5
 
WP7 HUB_XNA overview
WP7 HUB_XNA overviewWP7 HUB_XNA overview
WP7 HUB_XNA overview
 
WP7 HUB_Consuming Data Services
WP7 HUB_Consuming Data ServicesWP7 HUB_Consuming Data Services
WP7 HUB_Consuming Data Services
 
WP7 HUB_Introducción a Visual Studio
WP7 HUB_Introducción a Visual StudioWP7 HUB_Introducción a Visual Studio
WP7 HUB_Introducción a Visual Studio
 
WP7 HUB_Creando aplicaciones de Windows Phone
WP7 HUB_Creando aplicaciones de Windows PhoneWP7 HUB_Creando aplicaciones de Windows Phone
WP7 HUB_Creando aplicaciones de Windows Phone
 
WP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con SilverlightWP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con Silverlight
 
WP7 HUB_Platform overview
WP7 HUB_Platform overviewWP7 HUB_Platform overview
WP7 HUB_Platform overview
 
WP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightWP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a Silverlight
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platform
 
WP7 HUB_Marketplace
WP7 HUB_MarketplaceWP7 HUB_Marketplace
WP7 HUB_Marketplace
 
WP7 HUB_XNA
WP7 HUB_XNAWP7 HUB_XNA
WP7 HUB_XNA
 
WP7 HUB_Launch event WP7
WP7 HUB_Launch event WP7WP7 HUB_Launch event WP7
WP7 HUB_Launch event WP7
 
WP7 HUB_Launch event Windows Azure
WP7 HUB_Launch event Windows AzureWP7 HUB_Launch event Windows Azure
WP7 HUB_Launch event Windows Azure
 
WP7 HUB_Launch event introduction
WP7 HUB_Launch event introductionWP7 HUB_Launch event introduction
WP7 HUB_Launch event introduction
 

Recently uploaded

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 

Recently uploaded (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 

WCF Introduction: Service-Oriented Architecture, WCF Fundamentals and Development

  • 1. Introductionto WCF Solutions With Microsoft Visual Studio 2010
  • 2. Agenda ServiceOrientedArchitecture Introducción al desarrollo con Microsoft Windows CommunicationFoundation Hostear servicios WCF Seguridad HoL
  • 3. ServiceOrientedArchitecture (SOA) ¿Qué es SOA? Beneficios de SOA Escenarios y estándares Introducción a WCF
  • 4. ¿Qué es SOA? SOA es un estilo de arquitectura diseñada para construir sistemas distribuidos Desafíos en aplicaciones de negocios Agilidad Productividad Reutilzar Reducir Costes
  • 5. ¿Qué es un servicio? Un servicio expone funcionalidad aceptando datos (peticiones) y algunas veces devolviendo datos (respuestas)
  • 6. Pilares de SOA Los servicios manejan datos, no objetos Los servicios son autónomos Los servicios tienen límites específicos Los servicios exponen contratos y políticas
  • 7. ¿Cómo se accede a un servicio? A través de los bordes Múltiples bordes Dirección WCF Endpoints
  • 8. Beneficios de SOA Mejora de la Productividad Servicios Autónomos Interoperabilidad Testeo
  • 9. Beneficios de SOA Agilidad Contrato Movilidad Cambios dinámicos del cliente Instancias del servicio ajustadas a la carga Integración avanzada
  • 10. Beneficios de SOA Reduce Costes IT Reutilizar módulos Externalizar capacidades Simplicidad Múltiples consumidores
  • 11. Beneficios de SOA Tecnologías de comunicación diversas Políticas de seguridad Patrones mensajería Diferencias tecnológicas entre bordes Load-balanced WCF endpoints
  • 12. Beneficios de SOA Alta escalabilidad Fire and forget Uso de diferentes topologías Múltiples instancias Messages Load-balanced Messagespersisted
  • 13. Beneficios de SOA Interoperabilidad entre sistemas El servicio desconoce la tecnología del cliente Exponen datos en un formato concreto Servicios tratan con datos Los mensajes se pueden transformar WS -* standards
  • 14. Beneficios de SOA Fiabilidad del servicio Políticas de reintento Backup Persistencia en los mensajes Monitorización y administración runtime
  • 15. Beneficios de SOA Seguridad integrada Capas de seguridad Servicios de intercambio de datos Protección de datos Autenticación y autorización Implementación de buenas prácticas en seguridad
  • 16. Escenarios y Estándares Aplicaciones expuestas como Servicios Web Aplicaciones de Intranet como Servicios Aplicaciones 2.0 en el Navegador Los servicios pueden usar SOAP Los servicios pueden usar REST WS-* StandardsIntegrate Web Services
  • 18. Aplicaciones de Intranet como servicios
  • 19. Aplicaciones 2.0 en el Navegador
  • 20. SOAP Estándar basado en XML Transporta mensajes para Web Services, que son creados de acuerdo al contrato de servicio <s:Envelopexmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> <To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none"> http://127.0.0.1:8080/CalcService </To> <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none"> Add </Action> </s:Header> <s:Body> <Addxmlns="http://www.fabrikam.com"> <a>2</a> <b>3</b> </Add> </s:Body> </s:Envelope>
  • 21. REST Arquitectura de estilos para servicios Protocolo HTTP El contrato está basado en verbos HTTP GET POST PUT DELETE Datos escritos en la URI Interoperabilidad y versionado Diferentes estándares de codificación
  • 22. WS-* StandardsIntegrate Web Services WS-* es un grupo de estándares basados en XML relevantes para servicios Web WS-* definen como la seguridad, transacción, direccionamiento y fiabilidad de la información es transmitida WS-* forma la base de la interoperabilidad de los servicios
  • 23. Introducción a WCF ¿Qué es WCF? Objetivos de WCF para la implementación de servicios El modelo de comunicación WCF
  • 24. ¿Qué es un WCF? Framework unificado para la construcción de aplicaciones orientadas a servicios Fue introducido en el framework 3.0 y extendido en el 3.5 y 4.0 Es la unión de otras tecnologías distribuidas de Microsoft
  • 25. Objetivos WCF para la implementación de servicios La implementación del servicio debe ser simple pero extensible para llegar a una amplia variedad de necesidades Una sola API debe ser utilizada para todos los protocolos de comunicación Los servicios deben ser interoperables Los servicios deben usar estándares WS-* siempre que sea aplicables Los servicios pueden soportar SOAP, REST y otras arquitecturas de comunicación
  • 26. El modelo de comunicación WCF
  • 27. Introducción al desarrollo con Microsoft Windows CommunicationFoundation Contrato e Implementación de Servicios Albergar Servicios WCF WCF Behaviors Consumir Servicios WCF
  • 28. Contrato e Implementación de Servicios Ciclo de vida del desarrollo de un servicio ServiceContractsWCF y Data Contracts Definir ServiceContracts y Data Contracts Consideraciones en la implementación de un servicio Implementar un Servicio WCF
  • 29. Ciclo de vida del desarrollo de un servicio Contrato: Decidir que datos y operaciones van a ser expuestos Implementación: Crear una clase CLR que implemente el contrato Hosting: Crear los endpoints y escuchar las peticiones Testing: Asegurarse que el servicio se comporta correctamente Consumo: Crear un cliente
  • 30. ServiceContractsWCF y Data Contracts Que va a ser expuesto es el primer paso para cualquier sistema distribuido ServiceContract: Operaciones Data Contract: Representación de datos Los ServiceContractsse expresan como interfaces de C# Los Data Contracts se expresan como clases de C# Los atributos se usan para convertir entidades C# en declaraciones WCF
  • 31. Definir ServiceContracts y Data Contracts
  • 32. Consideraciones en la implementación de un servicio Un servicio WCF es una implementación del interfaz del servicecontract Ubicar el contrato y la implementación en ensamblados diferentes La implementación tiene que considerar la instancia WCF y el modelo de concurrencia
  • 33. Implementar un Servicio WCF El Servicio ComplexCalc implementa el contrato de servicio IComplexCalc
  • 34. Albergar Servicios WCF ¿Qué es un endpoint? Address, Binding, Contract Binding Definir un endpoint Crear un Service Host
  • 35. ¿Qué es un endpoint? Es una combinación de Address Binding Contract El host da vida al servicio Une la infraestructura WCF al servicio Crea endpointsy escucha las peticiones
  • 36. ¿Qué es un endpoint? Cliente Servicio Endpoint Endpoint Endpoint
  • 37. Binding Encapsula toda la tecnología relacionada con la comunicación y el control de los mensajes Define la tecnología de transporte (HTTP, TCP,..) Define la codificación del mensaje Define los protocolos y los estándares (seguridad, etc…) Define las propiedades de los mensajes (timeouts, etc…)
  • 40. Bindingspredefinidos y personalizables Es posible definir bindingpersonalizados con una combinación propia de elementos binding Existen muchos bindings predefinidos diseñados para escenarios comunes Los bindingspredefinidos son más sencillos de usar Normalmente no hay necesidad de definir bindingpropios
  • 44. Definir un endpoint Para definir un endpointdebemos definir la dirección, el bindingy el contrato
  • 45. Crear un Service Host Un Service Host puede ser cualquier proceso Windows La información sobre los servicios albergados se escribe en el código debajo de <system.serviceModel> La clase base para todos los WCF Service Hosts es ServiceHostBase Los servicios que se ejecutan en el IIS, WAS o AppFabric se abren automáticamente. Otros hosts necesitan la llamada al método Open
  • 46. WCF Behaviors Dispatchersy el ChannelStack Uso de Behaviorspara configurar los DispatchersWCF Definir Behaviorsen el archivo de Configuración Definir Behaviorspor código
  • 47. Dispatchersy el ChannelStack El channelstack necesita ser extendido para permitir configuraciones adicionales Una vez superado el pipeline del canal los dispatchers procesarán el mensaje Los dispatchers son usados para ajustar el comportamiento del servicio en aspectos como: Instanciamiento Concurrencia Velocidad de ejecución Seguridad Serialización …
  • 48. Uso de Behaviorspara configurar los DispatchersWCF El mecanismo para configurar los dispatchers se denomina behaviors Existen una amplia variedad de behaviorspara WCF Algunos pueden ser adjuntados al código mediante el uso de atributos, mientras que otros pueden ser escritos en el archivo de cofiguración Los behaviors son extensibles en WCF
  • 49. Definir Behaviorsen el archivo de Configuración
  • 50. Definir Behaviorspor código Algunos behaviors son orientados al desarrollador, mientras que otros se orientan hacia el administrador: Desarrollador Instanciamiento Concurrencia Serialización Administrador Velocidad de ejecución Credenciales de seguridad Exponer metadatos
  • 51. Definir Behaviorspor código Los behaviors orientados al desarrollador se escriben en el código gracias al uso de atributos
  • 52. Consumir Servicios WCF El patrón proxy Añadir una Service Reference Demo: Crear un Cliente WCF Construir un proxy usando un Channel Factory Uso correcto de ChannelFactories Demo: Uso de Channel Factory
  • 53. El patrón proxy Un proxy refleja una entidad fuera de la aplicación El proxy traduce las llamadas a los métodos a mensajes de intercambio
  • 54. Añadir una Service Reference
  • 55. Demo: Crear un cliente WCF
  • 56. Construir un proxy usando un ChannelFactory Un proxy a un servicio WCF puede ser construido sin Visual Studio 2010 y con automatización de generación de código Crear un ChannelFactory<T> Crear un canal
  • 57. Uso correcto de ChannelFactories Cuando se usa la factoría de canal se es responsable para: Establecer la configuración del cliente Importar los contratos de servicio y datos Eliminación del proxy correctamente
  • 58. Demo: uso del Channel Factory