sábado, 13 de abril de 2013

Principios SOA: Descubrimiento

Uno de los criterios más importantes al construir una arquitectura SOA es verificando que se cumplan los principios de orientación a servicios.
No existe una definición estándar de cuales son los principios, por ello algunos consideran hasta mas de 8. Sin embargo, se considera solo aquellos que se encuentren orientados a servicios.


SOA_Principles_Poster.pdf




Por ahora hablaremos del principio de DESCUBRIMIENTO - SERVICE DISCOVERABILITY


Este principio indica que los servicios deben de exponer descripciones que permitan ser descubiertos de manera efectiva. Por tal motivo, se deben de tener meta-datos que podrán ser interpretados de manera automática facilitando la reutilización. Para ello, se podría disponer de un mecanismo de descubrimiento como por ejemplo el UDDI (*).
En una arquitectura orientada a servicios (SOA) se entine que la reutilización es de vital importancia, por ello se debe de destacar que existirá una mejor oportunidad de reutilización si en primer lugar se puede descubrir el servicio. Sin embargo, debemos de tener en cuenta que este principio será beneficioso si la calidad de la meta-data es entendible, por ello se deberá de tener en cuenta lo siguiente:
  1. Documentar la información de manera consistente.
  2. Guardar la información en un repositorio centralizado.
  3. Permitir la búsqueda eficiente de la información documentada.
La calidad de la meta-data también deberá de tener las siguiente consideraciones:
  1. Deben de expresar el contexto funcional y los detalles de las capacidades del servicio.
  2. Conocer el comportamiento y limitaciones del servicio.
 

De tener en cuenta esto se permite que los servicios sean mas interoperables.
Este principio se aplica durante la fase de análisis orientado al servicio ya que aquí se exponen los detalles del servicio y la funcionalidad que estarán disponible.
Todo servicio para que sea considerado un activo de TI necesita ser fácilmente identificado y comprendido cuando se presente la oportunidad de reutilización.
Implementación en la organización:
Se va a realizar el proyecto del área de ventas para las funciones de pedidos y cotizaciones y la apertura de un nuevo local. Para ello será de vital importancia conocer los servicios que van a ser implementados y poder identificar en la fase de análisis las funciones y limitaciones que estos van a tener.
Ejemplo:
En la empresa existe más de 20 programas de los cuales solo 3 implementan webservices, el problema es que todos fueron desarrollados por diferentes equipos y no existe la documentación completa, lo que ocasiona que se repita muchas funciones existentes y solo cambia el nombre del servicio.


(*)UDDI son las siglas del catálogo de negocios de internet denominado Universal Description, Discovery and Integration.


Referencias:
http://www.slideshare.net/urumisama/soa-3244791
http://pensandoensoa.com/2010/02/27/principios-de-soa/
http://serviceorientation.com/serviceorientation/service_discoverability
http://en.wikipedia.org/wiki/Service_discoverability_principle
http://estrategiasoa.wordpress.com/tag/principios-soa/



No hay comentarios: