SlideShare une entreprise Scribd logo
1  sur  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
Introduction to wcf solutions

Contenu connexe

En vedette

Fuerza aerea de los estados unidos
Fuerza aerea de los estados unidosFuerza aerea de los estados unidos
Fuerza aerea de los estados unidos
nanytam1
 
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
Red Guy
 
Carús rodolfo
Carús rodolfoCarús rodolfo
Carús rodolfo
larafratti
 
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
Mario Schilman
 
Famosos entre rejas
Famosos entre rejasFamosos entre rejas
Famosos entre rejas
Perejil Tom
 
Itinerario
ItinerarioItinerario
Itinerario
gabi95
 
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
silvana584
 
Presentaciones : El amor
Presentaciones : El amor Presentaciones : El amor
Presentaciones : El amor
tatiscarvajal
 
Sb pb14-verdaderaalegria
Sb pb14-verdaderaalegriaSb pb14-verdaderaalegria
Sb pb14-verdaderaalegria
osamari
 

En vedette (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
 

Similaire à Introduction to wcf solutions

Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
Jose Selman
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication Foundation
Michelle Herrera
 
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 wcf
elvis mendieta
 
Windows communication foundation completo
Windows communication foundation completoWindows communication foundation completo
Windows communication foundation completo
ANGIEZAMBRANO57
 
Windows communication foundation completo
Windows communication foundation completoWindows communication foundation completo
Windows communication foundation completo
Eduardo Bazurto
 
Windows communication foundation
Windows communication foundationWindows communication foundation
Windows communication foundation
Joseph Bros
 
WINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATIONWINDOWS COMUNICATION FOUNDATION
WINDOWS COMUNICATION FOUNDATION
TeDy j Sanchez
 
Servicios web
Servicios webServicios web
Servicios web
jogoram
 

Similaire à Introduction to wcf solutions (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
 

Plus de MICTT Palma

Active directory ds ws2008 r2
Active directory ds ws2008 r2Active directory ds ws2008 r2
Active directory ds ws2008 r2
MICTT 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 matrix
MICTT 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 Studio
MICTT 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 Phone
MICTT 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 Silverlight
MICTT Palma
 
WP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightWP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a Silverlight
MICTT Palma
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platform
MICTT Palma
 

Plus de 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
 

Dernier

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Dernier (11)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Introduction to wcf solutions

  • 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