2015-II- Wfc
-
Upload
angelo-max-macarlupu-chavez -
Category
Documents
-
view
224 -
download
0
description
Transcript of 2015-II- Wfc
Windows Communication Fundation
PUBLICACIÓN DE SERVICIO WEB WCF
CREACIÓN DEL SERVICIO WEB WCF
1. En el menú principal hacer clic en Archivo/Nuevo y seleccionar Proyecto
2. Seleccionar Visual C# - Web - WCF y luego dentro de las platillas seleccionar Aplicación de servicios WCF. Como nombre poner WcfService.
Ing. Javier Alberto Manrique Quiñonez 1
Windows Communication Fundation
3. Verificar que el IDE del VS 2013 se presente como el en siguiente gráfico.
4. Hacer clic derecho en el nombre de la clase Service1 y selecciones Refactorizar-CambierNombre.
Ing. Javier Alberto Manrique Quiñonez 2
Windows Communication Fundation
5. Cambiar el nombre por el de Service.
6. Verifique la obtención de la vista previa del cambio de nombre.
7. Hacer clic derecho en el nombre de la Interface IService1 (clase base) y seleccione Refactorizar-CambiarNombre.
Ing. Javier Alberto Manrique Quiñonez 3
Windows Communication Fundation
8. Cambiar el nombre por el de IService.
9. Verifique la obtención de la vista previa del cambio de nombre.
10.Verificar que el proyecto se presente como en el siguiente gráfico.
Ing. Javier Alberto Manrique Quiñonez 4
Windows Communication Fundation
11.Hacer clic derecho en el nombre de la Interface Iservice y seleccionar Cambiar nombre.
12.Verificar el cambio de nombre de la Interface IService1.cs por el de Iservice.cs
Ing. Javier Alberto Manrique Quiñonez 5
Windows Communication Fundation
13. Hacer clic derecho en el nombre de la Clase Service1.svc (implementación de la interface) y seleccionar Cambiar nombre.
14.Verificar el cambio de nombre de la Clase Service1.svc por el de Service.svc.cs
Ing. Javier Alberto Manrique Quiñonez 6
Windows Communication Fundation
15.Agregar una clase.
16.Asignar AdministradorDeConexión.cs como nombre de clase.
Ing. Javier Alberto Manrique Quiñonez 7
Windows Communication Fundation
17.Agregar a la clase AdministradorDeConexión.cs el siguiente código.using System.Configuration;using System.Data.SqlClient;namespace WcfService
{ public class AdministradorDeConexión{ public static SqlConnection getConexion()
{ SqlConnection conexion = new SqlConnection(ConfigurationManager.ConnectionStrings[”DbEventoConnectionString”].ConnectionString);try
{ return conexion; }
catch (SqlException e) { return null; } } }}
18.Agregar una clase y denominarla Evento.cs y agregar el siguiente códigousing System.Runtime.Serialization;namespace WcfServiceEvento{ [DataContract] public class Evento { [DataMember] public int idEvento { get; set; } [DataMember] public string nombreDelEvento { get; set; } [DataMember] public int idTipoDeEvento { get; set; } [DataMember] public string fechaDelEvento { get; set; } [DataMember] public int idLugar { get; set; } public Evento() { }
public Evento(int idEvento) { this.idEvento=idEvento; }
public Evento( int idEvento, string nombreDelEvento, int idTipoDeEvento, string fechaDelEvento, int idLugar ) { this.idEvento = idEvento; this.nombreDelEvento = nombreDelEvento; this.idTipoDeEvento = idTipoDeEvento; this.fechaDelEvento = fechaDelEvento; this.idLugar = idLugar; }
public override string ToString() { return nombreDelEvento; } }}
Ing. Javier Alberto Manrique Quiñonez 8
Windows Communication Fundation
19. Hacer doble click en el archivo Web.config para agregar el código que se presenta a continuación del gráfico.
<connectionStrings><add name=”DbEventoConnectionString”
connectionString=” Data Source=JAVIER-PC\MSSQLSERVER2012;Initial Catalog=DbEvento; Persist Security Info=True;User ID=sa; Password=12345”
providerName=”System.Data.SqlClient”/></connectionStrings>
Ing. Javier Alberto Manrique Quiñonez 9
Windows Communication Fundation
20. Verificar que el archivo Web.config se presente como en el siguiente gráfico.
21. Hacer clic en la Interface Iservice.cs para modificar el código por defecto (sentencias y comentarios) e ingresar el siguiente código.
Ing. Javier Alberto Manrique Quiñonez 10
Windows Communication Fundation
22. Hacer clic en la clase Service.svc (Implementación de la Interface) para modificar el código por defecto (sentencias y comentarios) e ingresar el siguiente código.
23. Hacer clic derecho sobre la clase Service.svc y seleccionar Ver en explorador (Google Chrome).
Ing. Javier Alberto Manrique Quiñonez 11
Windows Communication Fundation
24. Verificar el despliegue del Servicio Web WCF en el Navegador Web y verificar que bse ha creado el Servicio Web WCF.
Ing. Javier Alberto Manrique Quiñonez 12
Windows Communication Fundation
PUBLICACIÓN DEL SERVICIO WEB WCF
25. Acceder a la carpeta inetpub del disco local (C:) y crear una nueva carpeta denominada SitioWebServicioWeb.
26. Correr el Internet Information Service
Ing. Javier Alberto Manrique Quiñonez 13
Windows Communication Fundation
27. Seleccionar Agregar sitio web en Sitios del Grupo del aplicaciones de Conexiones del Administrador de Intenet Information service (IIS).
28. En nombre de sitio de Agregar sitio web colocar SitioWebWcfService.
Ing. Javier Alberto Manrique Quiñonez 14
Windows Communication Fundation
29. Haga clic en el el botón de comando seleccionar. En Seleccionar Grupo de aplicaciones, escoger ASP.NET v4.0 y luego aceptar los cambios.
30. Haga clic en en botón de comando (…) y el Buscar carpeta seleccione la carpeta SitioWebWcfService.
Ing. Javier Alberto Manrique Quiñonez 15
Windows Communication Fundation
31. En conectar como, seleccionar Usuario de la aplicación (Autenticación de paso a través).
32. En Puerto coloque el número de puerto de conexión. Para nuestro caso escribamos 85.
Ing. Javier Alberto Manrique Quiñonez 16
Windows Communication Fundation
33. Verifique que la configuración de la publicación de sitio web se presente como en la siguiente.
34. Haga clic en configuración avanzada.
Ing. Javier Alberto Manrique Quiñonez 17
Windows Communication Fundation
35. Verifique que la configuración se presente como en el siguiente cuadro de diálogo.
36. En el Exporador Web escriba: http://localhost:85 y verificar que se presente la siguiente ventana.
Dirección URL solicitada http://localhost:85/
Ing. Javier Alberto Manrique Quiñonez 18
Windows Communication Fundation
37. En el Visual Studio hacer clic derecho en el Proyecto WebApplicationServicioWeb y seleccione Publicar.
38. En Publicación Web, seleccione Personalizado.
Ing. Javier Alberto Manrique Quiñonez 19
Windows Communication Fundation
39. En Perfil personalizado nuevo escriba PerfilServicioWebWcf.
40. Haga clic en la pestaña Conexión y configúrelo como se presenta en la siguiente figura.
Ing. Javier Alberto Manrique Quiñonez 20
Windows Communication Fundation
41. En configuración seleccione Release luego haga clic en el botón de comando siguiente.
42. En Vista previa haga clic en Comenzar previsualización.
43. Verifique que se presente la siguiente ventana.
Ing. Javier Alberto Manrique Quiñonez 21
Windows Communication Fundation
44. Haga clic en el botón de comando Publicar y verifique que se presente la siguiente ventana.
Ing. Javier Alberto Manrique Quiñonez 22
Windows Communication Fundation
CREACIÓN DEL CONSUMIDOR DEL SERVICIO WEB WCF
45. En el menú principal hacer click en Archivo/Nuevo y seleccionar Proyecto
46. En el menú principal hacer clic en Archivo/Nuevo y seleccionar Proyecto
Ing. Javier Alberto Manrique Quiñonez 23
Windows Communication Fundation
47. En el menú principal hacer clic en Archivo/Nuevo y seleccionar Proyecto
48. Seleccionar Visual C# - Web y luego dentro de las plantillas seleccionar Aplicación web ASP.NET Visual C#. Poner como nombre ConsumoDeServicioWebWcf.
Ing. Javier Alberto Manrique Quiñonez 24
Windows Communication Fundation
49. Seleccionar la plantilla Empty (Vacía).
50. Verifique que el Explorador de Soluciones se presente como en el siguiente gráfico.
51. Hacer click derecho en References y seleccionar Agregar referencia.
Ing. Javier Alberto Manrique Quiñonez 25
Windows Communication Fundation
52. En dirección poner la dirección (la dirección de la publicación del servicio web WCF).
53. Cambiar el nombre de la referencia en Espacio de Nombre y hacer clic en el botón de comando Ir y verificar que se presente el siguiente gráfico.
54. Verificar que el Explorador de Soluciones se presente como en el siguiente gráfico.
Ing. Javier Alberto Manrique Quiñonez 26
Windows Communication Fundation
55. Agregar un Formulario Web Forms.
56. Asignar el nombre WebFormConsumoServicioWebWcf.
Ing. Javier Alberto Manrique Quiñonez 27
Windows Communication Fundation
57. Modificar el código del Formulario Web Form con lo que se presenta a continuación. Agregue un TexoBox, GridView y un Botón de Comando.
58. Presentar el Formulario Web form en el modo Diseño.
Ing. Javier Alberto Manrique Quiñonez 28
Windows Communication Fundation
59. Haga soble clic en el botón de comando Rellenar gridView.
60. Modificar el código por defecto y que se presente como en el siguiente gráfico.
Ing. Javier Alberto Manrique Quiñonez 29
Windows Communication Fundation
61. Ejecutar la aplicación web y que se presente como en el siguiente gráfico.
62. Publicar la aplicación web recien creada y hacerla correr en red.
Ing. Javier Alberto Manrique Quiñonez 30
Windows Communication Fundation
SERVICIO WEB WFC: WINDOWS COMMUNICATION FOUNDATION
Windows Communication Foundation (WCF) es un marco de trabajo para la creación de aplicaciones orientadas a servicios. Con WCF, es posible enviar datos como mensajes asincrónicos de un extremo de servicio a otro. Un extremo de servicio puede formar parte de un servicio disponible continuamente hospedado por IIS, o puede ser un servicio hospedado en una aplicación. Un extremo puede ser un cliente de un servicio que solicita datos de un extremo de servicio. Los mensajes pueden ser tan simples como un caracter o una palabra que se envía como XML, o tan complejos como una secuencia de datos binarios. A continuación se indican unos cuantos escenarios de ejemplo:
Un servicio seguro para procesar transacciones comerciales. Un servicio que proporciona datos actualizados a otras personas, como un informe sobre tráfico u otro
servicio de supervisión. Una aplicación de panel que sondea los datos de uno o varios servicios y los muestra en una presentación
lógica. Exponer un flujo de trabajo implementado utilizando Windows Workflow Foundation como un servicio WCF. Una aplicación de Silverlight para sondear un servicio en busca de las fuentes de datos más recientes.
Si bien era posible crear tales aplicaciones antes de que existiera WCF, con WCF el desarrollo de extremos resulta más sencillo que nunca. En resumen, WCF se ha diseñado para ofrecer un enfoque manejable para la creación de servicios web y clientes de servicios web.
Características de WCFWCF incluye el siguiente conjunto de características: Para obtener más información, veaDetalles de las características de WCF.
Orientación a servicios Interoperabilidad Varios modelos de mensajes Metadatos de servicios Contratos de datos Seguridad Varios transportes y codificaciones Mensajes confiables y en cola Mensajes duraderos Transacciones Compatibilidad con AJAX y REST Extensibilidad Integración de WCF con otras tecnologías de Microsoft
Microsoft .NET Services es una iniciativa de computación en nube (cloud computing) que utiliza WCF para la creación de aplicaciones habilitadas para Internet. Utilice .NET Services para crear servicios WCF que funcionan a través de límites de confianza.
El servidor de aplicaciones características de hospedaje de Windows Server AppFabric se ha diseñado específicamente para implementar y administrar aplicaciones que utilizan WCF para las comunicaciones. características de hospedaje incluye sofisticadas opciones de configuración y herramientas diseñadas específicamente para las aplicaciones habilitadas para WCF.
Los servicios son autónomos y comparten esquemas (datos) y contratos (funcionalidad), no tienen que asumir nada de lo que hay al otro lado del extremo. Los clientes consumen servicios y los servicios ofrecen soluciones. Un servicio puede a su vez ser cliente de otro servicio.En WPF los mensajes tienen un envoltorio, una cabecera y un cuerpo y son definidos en XML según el protocolo SOAP. Veamos un mensaje SOAP:
Ing. Javier Alberto Manrique Quiñonez 31
Windows Communication Fundation
?<?xml version =”1.0”><soap:Envelope xmlns:soap=”http://www.w3.org/...”
soap:encodingStyle=”http://www.w3.org/...”><soap:Header>
... aquí iría información específica de la aplicación como puede ser la autenticación ...</soap:Header><soap:Body>
... mensaje al punto final de la comunicación ...<soap:Fault>
... para indicar mensajes de error ...</soap:Fault>
</soap:Body></soap>
Modelo de programación de WCFEl cliente WCF es el que inicia la comunicación y el servicio WCF es el que está esperando que un cliente se comunique con él. Una única aplicación puede actuar como cliente y como servicio. Este modelo de programación orientado a servicios está definido por las clases agrupadas bajo el namespace System.ServiceModel.
Implementar un servicio WCF
Un servicio es una aplicación que expone uno o más extremos, donde cada uno de ellos expone una o más operaciones de servicio. El extremo o punto final proporciona la única manera de comunicación con el servicio. Está compuesto por: Dirección: define la ubicación del servicio (por ejemplo una URL, una dirección FTP o una ruta de acceso local o
de red). Enlace: define la manera de establecer la comunicación con el servicio (BasicHttpBonding,
PollingDuplexHttpBinding o WsHttpBinding). Los enlaces WCF permiten especificar con facilidad un protocolo (HTTP o FTP), un mecanismo de seguridad (autenticación Windows o nombres de usuario y contraseña).
Contrato: incluye las operaciones expuestas por la clase del servicio WCF.
Definir un contratoEl contrato se corresponde con una interfaz, marcada con el atributo ServiceContract, que especifica las operaciones que ofrece el servicio. Cada una de estas operaciones será proporcionada por un método de la clase del servicio marcado con el atributo OperationContract. Los métodos que no estén marcados con este atributo no serán presentados a los clientes.?[ServiceContract]public interface IconvertirGrados
{ // Operaciones ofrecidas por el servicio [OperationContract] double ConvCentAFahr(double gCent);
Ing. Javier Alberto Manrique Quiñonez 32
Windows Communication Fundation
[OperationContract] double ConvFahrACent(double gFahr); }
ServiceContract se corresponde con la clase ServiceContractAttribute. OperationContract se corresponde con la clase OperationContractAttribute. De esta forma indicamos que un
método como ConvCentAFahr o ConvFahrAcent definen una operación que forma parte de un contrato.
Ahora toca consumir el servicio Es decir implementar un cliente WCF. Un cliente está compuesto de un proxy que habilita a una aplicación
para poder establecer comunicación con un servicio WCF y un extremo. para los servicios que exponen varios extremos , el cliente selecciona el que más se ajusta a sus necesidades; por ejemplo uno que permita establecer una comunicación a través de HTTP y sin autenticación.
Un proxy se genera a partir de los metadatos obtenidos del servicio WCF e incluye información sobre los tipos y métodos expuestos por el servicio. Siguiendo con el ejemplo del servicio de la temperatura vamos a crear una interfaz parecida a esta:
Ing. Javier Alberto Manrique Quiñonez 33