Un servicio es
descrito como un servicio genérico de negocio. En los Sistemas de Información
(IT), un servicio es un elemento que encapsula una funcionalidad atómica, usado
para soportar los servicios de negocio que la organización proporciona. Típicamente un servicio es parte de un
completo servicio de negocio en una organización. En un ambiente computacional orientado a
servicios, los servicios se convierten en bloques pre-construidos usados en la
construcción de bloques más complejos que solucionarán una necesidad. Para ser
útil, un servicio necesita proveer una funcionalidad que sea utilizada en
varios procesos de negocio. El servicio necesita ser implementado en software y
necesita ser desplegado y manejado. A la combinación de varios servicios para
crear un proceso más complejo se le da el nombre de “orquestación”.
Todos los
servicios SOA deben contar con las siguientes características:
Definido: El servicio debe ser definido en términos de qué
es lo que hace. Los procesos de negocio en los que formaran parte, la interfaz
que están usando para comunicarse con otros servicios. Cómo debe ser invocado
el servicio. Los datos que el servicio da como resultado. Cómo debe ser
manejado el servicio.
Implementado: El servicio tiene que estar implementado con
algún software, es decir, debe estar construido o desarrollado.
Desplegado: Para ser usado, el servicio necesita estar
disponible para ser usado por otros servicios.
Manejado: El despliegue del servicio debe estar a cargo de alguien quien controle las versiones y el mantenimiento del mismo. Que monitoreé que el servicio está disponible y que está cumpliendo las funcionalidades para las cuales se creó.
Reusable: Al proveer una definición del servicio, su
funcionalidad, su interfaz, cómo debe de ser usado, etc., habilita la
reutilización del mismo, es decir, puede ser usado en otro proceso de negocio
donde su funcionalidad sea requerida.
Comunicación: Un servicio debe ser accedido mediante envió y recepción de mensajes en el estándar eXtensible Markup Languaje (XML).
Abstracción: El servicio debe ser usado mediante su definición
únicamente. No se debe saber cómo está construido. Debe ser una caja negra.
Granularidad: La complejidad de un servicio puede sencilla o
muy compleja. Entre más sencilla sea la funcionalidad mejor. Un servicio no
debe encapsular funcionalidad compleja dentro de él, sin reutilización. Debe
buscarse siempre alcanzar esa funcionalidad compleja mediante orquestamiento.
Desacoplamiento: Mientras un servicio dependa menos de otro
servicio se dice que esta desacoplado. Los servicios SOA deben desarrollarse
tomando en cuenta el desacoplamiento, de esta manera cuando se necesiten hacer
modificaciones a un servicio, pocos o ningún servicio serían afectados.
No hay comentarios:
Publicar un comentario