Hola

Solo disponible en BuenasTareas
  • Páginas : 5 (1232 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de agosto de 2012
Leer documento completo
Vista previa del texto
Creando un proyecto WCF
jul 20, 2010 en Productividad por Victor Parasi
En el artículo de SOA, vimos que en la actualidad lo importante no es sólo que tu aplicación funcione bien, sino que funcione acoplada al entorno sobre el cual será puesto en producción,comunicándose con las aplicaciones existentes y futuras mediante un concepto llamado Servicios. En este artículo veremos como implementarun Servicio mediante WCF de Microsoft.

En el post anterior, explique rápidamente que era la arquitectura SOA. En este post veremos que alternativa tenemos para cumplir con lo que nos indica esta arquitectura.
Microsoft desde ya hace unos años, viene trabajando con el concepto de Windows Communication Foundation (WCF). Voy a transcribir la definición oficial de WCF que nos da Microsoften su página web.
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 extremopuede ser un cliente de un servicio que solicita datos de un extremo de servicio. Los mensajes pueden ser tan simples como un carácter 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 actualizadosa otras personas, como un informe sobre tráfico u otro servicio de supervisión.
• Un servicio de chat que permite a dos personas comunicarse o intercambiar datos en tiempo real.
• 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 servicioWCF.
• Una aplicación de Silverlight para sondear un servicio en busca de las fuentes de datos más recientes.
Gráficamente, veamos que podemos ganar implementando servicios WCF al momento de desarrollar nuestras aplicaciones.

Como podemos apreciar, WCF nos brinda un canal seguro de comunicación (a través de contratos) no solo entre aplicaciones de una misma máquina, sino a través de una redque puede estar conformada por servidores Windows o Linux (Interoperabilidad).
Bueno, basta de teoría y veamos como crear un proyecto del tipo WCF en Visual Studio 2010 y utilizando las características que nos da el .Net Framework 4.0
Paso 1: Definir el Contrato
Cuando hablamos de servicios, recuerda que siempre debe de haber un proveedor y un consumidor del servicio, por lo que es necesariodefinir cómo se llevará la comunicación entre estos dos entes. A este proceso le llamaremos: Definición del Contrato.
En el Contrato definiremos básicamente lo siguiente:
• Las operaciones que se podrán realizar.
• Las firmas y los tipos de datos que se enviarán y/o recibirán durante la invocación de las operaciones.
• Los protocolos y formatos de serialización que se utilizan para llevar acabo la comunicación.
Luego de definido esto, recién podemos llevarlo a la programación.
Para el ejemplo voy a definir algo bastante sencillo. Haremos un contrato para permitir la realización de las siguientes operaciones básicas:
• Factorial de un número
view sourceprint?
1 long Factorial(long x);
• Devolver una Lista de enteros, con los "n" primeros números de la serie de Fibonacci.view sourceprint?
1 List Numeros_Fibobacci(int n);
• Suma de los primeros "n" números de la serie de Fibonacci.
view sourceprint?
1 double Sumatoria_Fibonacci(int n);

Paso 2: Creando un Proyecto del Tipo WCF Service Library
Luego de definido las operaciones y el contrato, vamos a crear una aplicación del tipo WCF Service Library, para implementarlos.

Luego de creada la aplicación te...
tracking img