Compartir
Contenidos contratados por la marca que se menciona

AppFabric Service Bus

AppFabric Service Bus
Guardar
0 Comentarios
Publicidad
\"The \"Prueba \"Conviértete

En un post anterior traté el tema de las colas de mensaje en AppFabric Service Bus, adentrándome en conceptos como ESB o pasando por encima en las capacidades de este componente de AppFabric. En este post quiero adentrarme en el conocimiento de esta tecnología y de la utilidad que me ofrece.

Requisitos

Para desarrollar para AppFabric Service Bus es muy recomendable tener conocimientos básicos en C# o Visual Basic .Net; y estar familiarizado con Windows Comunication Foundation (WCF) ya que es la tecnología de comunicación subyacente en los servicios; y en la documentación se da por conocidos conceptos de este framework. También es conveniente tener experiencia en aplicaciones AppFabric Service Bus para escritorio ya que es similar a la versión de Azure; y por último, el conocimiento de REST es una baza muy positiva ya que la creación de servicios o aplicaciones siguiendo está arquitectura es muy similar al modelo de programación de AppFabric Service Bus.

Los requisitos de hardware son los normales en estos tiempos: windows7+net3.5+SDK Azure. Con la única salvedad de que cuando quiera establecer conexiones FTP o directas con el cliente, tengo que tener abiertos los puertos 808 y 828 para el primer tipo y el 819 para la siguiente.

¿Para qué vale?

Imagínate que tengo un cliente en mi portátil y me quiero conectar contra un servicio en una aplicación en la nube o en cualquier otro sitio. Imagínate que entre mi cliente y el servicio tengo un router haciendo NAT, o un Firewall. Imagínate el dolor de cabeza que significa escribir la lógica de comunicación para que se comuniquen ambas partes de la aplicación. ¿Y si cambian el modelo del Firewall o su fimware?

Para simplificar y evitar el desarrollo de esa lógica de comunicación entre las partes de nuestra aplicación o entre varias que tengamos que permitir que se hablen entre sí, tenemos AppFabric Service Bus. Este componente de Windows Azure Platform ofrece una infraestructura de comunicación basada en WCF para realizar la conectividad sin tener que dejarse la piel en ello; es decir, una vía estable y segura que me abstrae de la arquitectura sobre la que se realiza la comunicación.

Tipos de conexión

AppService Bus Relay Connection

Como ves, este servicio va de conectar aplicaciones o partes de aplicaciones entre ellas. Y antes de definir el tipo de aplicación que va a utilizar el AppFabric Bus, tengo que decidir cuál de los dos modos de enlace voy a utilizar; Relayed o Hibrid.

En el primero toda la comunicación entre los servicios y los clientes se realiza a través del servicio de Bus. Tanto de ida como de vuelta. En cambio, en las comunicaciones Hibridas al menos uno de los endpoints está fuera del Bus; es decir puedo realizar la conexión entre dos aplicaciones de forma directa sin pasar por AppFabric Bus, con la tranquilidad de que si se pierde la comunicación directa, automáticamente AppFabric tomará el control e intentará continuar la conexión a través del servicio de Bus.

AppService Bus Hybrid Connection

Servicio y Cliente

Finalmente he llegado a los tipos de aplicación para las que está diseñado AppFabric Service Bus: Servicios y clientes.

Los servicios son, simplificando mucho, como webservices construidos con WCF. Ofrecen puntos de conexión, endpoints, a donde voy a enviar peticiones y de donde voy a recibir contestaciones. Algo tan simple como enviar una cadena y recibir un string, o tan complejo como mis requisitos de la aplicación exijan. Además, Service Bus me permite acceder al árbol del Registro de Servicios en donde, partiendo del namespace en donde hemos publicado, podremos descubrir todos los servicios publicados en el Service Bus y seleccionar cual queremos utilizar.

La otra pieza de software que tengo que construir es la que se va a conectar a los servicios y va a realizar una comunicación bidireccional con ellos: el cliente.

Estos podrían ser de tres tipos diferentes; clientes externos a Windows Azure y que utilicen AppFabric Service Bus; clientes desplegados en Windows Azure, pero que no utilicen el servicio de Bus; y por último servicios hospedados en Windows Azure y utilicen AppFabric Service Bus.

En los tres casos el cliente que quiero construir tiene que definir a qué URI quiere conectarse, configurar la identificación del cliente para poder acceder al servicio, enviar los parámetros y obtener la respuesta esperada. Lo ideal es realizar el cliente en WCF, así puedo crear fácilmente un cliente SOAP o REST.

Aún se quedan cosas muy interesantes en el tintero como son los tipos de seguridad de los servicios o el uso del Buffer de Mensajes. Pero, creo que por ahora hay de sobra para practicar y aprender.

Vía: MSDN

Publicidad

También te puede gustar

Ver más artículos