miércoles, 7 de abril de 2010

Arquitectura Orientada a Servicios (SOA)

Arquitectura Orientada a Servicios (SOA) 
En cuanto a la INTEGRACION se refiere, una Aplicacion Orientada a SERVICIOS es la solucion.

Trabajar basado en servicios es incrementar el nivel de abstraccion de un problema, es elevar la solucion a una forma mas flexible.

Cuando hablamos de arquitectura en el contexto de software nos referimos a la organizacion fundamental del sistema, es decir, los componentes, como estan relacionados y como se comunican e interactuan unos componentes con otros.

asi como existe el paradigma enfocado a objetos, el paradigma enfocado a servicios es un nivel superior en los sistemas debido a que los servicios son modulos independientes que no tienen estado, su funcionalidad radica en parametros de entrada, en base a estos genera parametros de salida dandole independencia al servicio.

para modelar las reglas de negocio en un paradigma orientado a servicios se utiliza la orquestacion de servicios que no es mas que llevar el control que indica por que servicios ya se ha obtenido resultado y de cuales servicios estamos a espera, es bueno mencionar que lo anterior no quiere decir que el servicio guarde un estado como tal.

Servicio: un proceso que genera beneficios, su forma es intangible y trabajan de forma autonoma, dicho en otras palabras, en un servicio a partir de parametros de entrada se generan parametros de salida cuando se ejecuta la llamada, un servicio no tiene estados porque es independiente, de hecho podemos estar trabajando en un lenguaje por ejemplo java y utilizar servicios codificados en c++ porque son totalmente independientes.

Orquestacion: es secuenciar los servicios para tener orden y control en los resultados, la orquestacion es  utilizada cuando son dos o mas servicios los que se utilizan y como estos no guardan estado entonces es necesario secuenciar los servicios para dar logica al negocio.

SOA (Service Oriented Architecture) es comun pensar en SERVICIOS WEB o web service que es la exprecion mas comun del paradigma orientado a servicios.

por ejemplo en internet o en una intranet se pueden tener servicios web funcionando y contar con una aplicacion de escritorio o una RIA que parte de su funcionalidad este procesada por un web service dado es el caso de los pagos por tarjeta de credito.

Explico, una tienda eletronica cuenta con su pagina web de e-comerce la cual esta compuesta de un catalogo, una carretia de compras y un sistema de autenticacion de usuarios sin embargo permite realizar pagos con tarjeta de credito para lo cual utiliza un servicio web de pagos en linea el cual le permite verificar la terjeta de credito, descontar la cantidad consumida por el cliente y esta funcionalidad es ajena a su pagina de e-commerce mas bien es competencia de la emrpesa emisora de tarjeta de credito (banco o financiera).
Para el ejemplo citado:
  • tipo servicio: web
  • servicio: pagos con tarjeta de credito
  • parametro de llamada: numero de tarjeta de credito, fecha y hora, monto consumido, establecimiento.
  • parametro de respuesta del servicio: aceptacion/rechazo pago, numero de transaccion.
Servicios Web 
Desde luego, el paradigma orientado a serivicios web tiene su manera de funcionar, para poder implementarlo de forma correcta nececitamos emplear
  • SOAP: Simple Object Access Protocol, protocolo utilizado para comunicacion de servicios web, es decir, es el sobre donde se envia la informacion del servicio web.
  • UDDI: catalogo de servicios web, es como una guia de servicios web existentes y disponibles, existen paginas blancas, amarillas y verdes en las cuales se publica el listado de web services ordenados por sector industrial o basado en taxonomias.
  • WSDL: es la estructura de los servicios web, es decir, para comunicarnos con los web services debemos saber que estructura debe tener la comunicacion y que parametros tengo que enviar para ello existe el WSDL.

No hay comentarios:

Publicar un comentario