Title: Windows Communication Foundation
1Windows Communication Foundation
Mucio Zarate Olvera
mzarate_at_alfacomtecnologias.com
2La Imperativa de Conectar
EMPLEADOS MÓVILES
CLIENTES
EMPLEADOS MÓVILES
CLIENTES
3Las preguntas del Desarrollador
Cómo debo construir sistemas orientados a
servicios?
Cómo puedo enviar mensajes de forma segura y
confiable?
Cómo puedo desarrollar aplicaciones
interoperables?
Qué API deberÃa usar?
4El framework unificado
para construcción rápida
de aplicaciones orientadas a servicios
5Que es WCF
- La plataforma para la siguiente generacion de
aplicaciones Distribuidas. - Un conjunto de extensiones para el Microsoft.NET
Framework 2.0 - Desarrollar servicios WCF en Visual Studio 2005
usando cualquier lenguaje .NET - Integrado con Orcas CTP March 2007
- Corre sobre
- Microsoft Windows Vista
- Microsoft Windows XP
- Microsoft Windows Server 2003
- Parte del .NET 3.0
6Windows Communication Foundation
7Windows Communication Foundation
8Productividad
9Productividad WCFModelo de Programación
Unificado
.NET Remoting
ASMX
Interop with other platforms
Extensibility Location transparency
Attribute- Based Programming
Message- Oriented Programming
WS- Protocol Support
Enterprise Services
System.Messaging
WSE
10- WCF extiende el .NET Framework
- Los servicios son construidos en Visual Studio
2005 usando cualquier lenguaje de programación
.NET - Edición de código inteligente
- Plantillas de servicios
- Depuración
11Interoperabilidad
12Soporte al Protocolo WS-
13Interoperabilidad en el Mundo Real
- Noviembre 4-10, 2005
- 12 compañÃas (Microsoft, Canon, Nokia, Oracle,
SAP, Sun, entre otras) - 11 especificaciones de interoperabilidad
14Protección de la Inversión
- Co-existencia Side-by-side con las tecnologÃas
distribuidas existentes - Comunicación con aplicaciones construidas con
tecnologÃas existentes - Fácil actualización del código existente a WCF
15Orientación a Servicios
16De Objetos a Servicios
Orientado a Objetos
1980s
- Polimorfismo
- Encapsulación
- Herencia
Orientado a Componentes
- Ubicación Transparente
- Acoplamiento Fuerte
- Metadatos en Tiempo de Ejecución
1990s
Orientado a Servicios
2000s
- Basado en Mensajes
- EsquemaContratoPolÃtica
- Amplia Interoperabilidad
17Cuatro Principios Clave de la Orientación a
Servicios
Los lÃmites son explÃcitos
Los desarrolladores se concentran en consumir,
exponer y definir fachadas de servicios expuestas
al público.
Los servicios y los consumidores son versionados,
puestos en producción, operados y asegurados
independientemente.
Los Servicios son autónomos
Los datos nunca incluyen comportamiento Los
objetos con datos y comportamiento son un
fenómeno local.
Compartir esquema y contrato, no clase
Compatibilidad basada en polÃtica
Las capacidades y requerimientos son
representados por un nombre público único Usados
para definir si un servicio es apropiado.
18Address
- En WCF cada servicio esta asociado a una
dirección única. - Contienen
- Protocolo de transporte.
- Nombre de la máquina donde corre el servicio.
- Ruta de acceso a la máquina donde corre el
servicio. - Es un URI (Uniform Resource Identifyer).
Ejemplos - http//midominio.com8080/UnServicio
- net.tcp//mimaquina.compania.com2222/OtroServicio
19ContratosFormato estandar, de plataforma
neutral para describir lo que hace el servicio
Service
20Binding
- Agrupa los aspectos relacionados con la
comunicación del servicio como son - transport protocol
- message encoding
- Communication pattern
- reliability
- security
- interoperability
21Transporte y Encoding
- Name Transport Encoding Interoperable
- BasicHttpBinding HTTP/HTTPS Text, MTOM Yes
- NetTcpBinding TCP Binary No
- NetPeerTcpBinding P2P Binary No
- NetNamedPipeBinding IPC Binary No
- WSHttpBinding HTTP/HTTPS Text, MTOM Yes
- WSFederationHttpBinding HTTP/HTTPS Text, MTOM
Yes - WSDualHttpBinding HTTP Text, MTOM Yes
- NetMsmqBinding MSMQ Binary No
- MsmqIntegrationBinding MSMQ Binary Yes
22Como seleccionar el binding
23Endpoints
- Describen la ubicación de un servicio.
- Asociados a una dirección, un contrato del
servicio y a bindings (ABCs de un servicio) - Un servicio debe proveer al menos un endpoint
para ser accesible. - También pueden proveer acceso a la metadata de un
servicio.
24Endpoints
Cliente
Servicio
Message
25Address, Binding, Contract
Servicio
Cliente
Message
Address
Binding
Contract
(Donde)
(Como)
(Que)
26ServiceContract interface IMiServicio
OperationContract ClaseResp
MiMetodo(ClaseReq)
Service Contract
Operation Contract
WSDL
Message Contract
?
?
DataContract public class ClaseResp
DataMember public string idProducto
Address
Binding
Endpoint
27Demo
28Recursos Adicionales
- MSDN
- WinFX SDK Libraryhttp//winfx.msdn.microsoft.com/
library/ - Windows Vista Developer Centerhttp//msdn.microso
ft.com/windowsvista/ - Windows SDK Libraryhttp//windowssdk.msdn.microso
ft.com/library/ - Blogs del Equipo de WCF
- Don Boxhttp//pluralsight.com/blogs/dbox/
- Steve Mainehttp//hyperthink.net/blog/
- Richard Turnerhttp//blogs.msdn.com/richardt/
- Comunidad en LÃnea de WCF
- http//www.windowscommunication.net