1.2 ARQUITECTURA ORIENTADA A SERVICIOS
Qué es SOA
La
Arquitectura SOA establece un marco de diseño para la integración de aplicaciones
independientes de manera que desde la red pueda accederse a sus
funcionalidades, las cuales se ofrecen como servicios. La forma más habitual de
implementarla es mediante Servicios Web, una tecnología basada en estándares e
independiente de la plataforma, con la que SOA puede descomponer aplicaciones
monolíticas en un conjunto de servicios e implementar esta funcionalidad en
forma modular.
Un
servicio es una funcionalidad concreta que puede ser descubierta en la red y
que describe tanto lo que puede hacer como el modo de interactuar con ella.
Desde la
perspectiva de la empresa, un servicio realiza una tarea concreta: puede
corresponder a un proceso de negocio tan sencillo como introducir o extraer un
dato como “Código del Cliente”. Pero también los servicios pueden acoplarse
dentro de una aplicación completa que proporcione servicios de alto nivel, con
un grado de complejidad muy superior –por ejemplo, “introducir datos de un
pedido un proceso que, desde que comienza hasta que termina, puede involucrar
varias aplicaciones de negocio.
La
estrategia de orientación a servicios permite la creación de servicios y
aplicaciones compuestas que pueden existir con independencia de las tecnologías
subyacentes. En lugar de exigir que todos los datos y lógica de negocio residan
en un mismo ordenador, el modelo de servicios facilita el acceso y consumo de
los recursos de IT a través de la red. Puesto que los servicios están diseñados
para ser independientes, autónomos y para interconectarse adecuadamente, pueden
combinarse y recombinarse con suma facilidad en aplicaciones complejas que
respondan a las necesidades de cada momento en el seno de una organización. Las
aplicaciones compuestas (también llamadas “dinámicas”) son lo que permite a las
empresas mejorar y automatizar sus procesos manuales, disponer de una visión
consistente de sus clientes y socios comerciales y orquestar sus procesos de
negocio para que cumplan con las regulaciones legales y políticas internas. El
resultado final es que las organizaciones que adoptan la orientación a
servicios pueden crear y reutilizar servicios y aplicaciones y adaptarlos ante
los cambios evolutivos que se producen dentro y fuera de ellas, y con ello
adquirir la agilidad necesaria para ganar ventaja competitiva.
SOA
define las siguientes capas de software:
§ Aplicaciones
básicas -
Sistemas desarrollados bajo cualquier arquitectura o tecnología,
geográficamente dispersos y bajo cualquier figura de propiedad;
§ De
exposición de funcionalidades - Donde las funcionalidades de la capa
aplicativa son expuestas en forma de servicios (generalmente como servicios
web);
§ De
integración de servicios - Facilitan el intercambio de datos entre elementos de la capa
aplicativa orientada a procesos empresariales internos o en colaboración;
§ De composición
de procesos -
Que define el proceso en términos del negocio y sus necesidades, y que varía en
función del negocio;
§ De
entrega -
donde los servicios son desplegados a los usuarios finales.
Diseño y
desarrollo de SOA
La
metodología de modelado y diseño para aplicaciones SOA se conoce como análisis
y diseño orientado a servicios. La arquitectura orientada a servicios es tanto
un marco de trabajo para el desarrollo de software como un marco de trabajo de
implementación. Para que un proyecto SOA tenga éxito los desarrolladores de
software deben orientarse ellos mismos a esta mentalidad de crear servicios
comunes que son orquestados por clientes o middleware para implementar los
procesos de negocio. El desarrollo de sistemas usando SOA requiere un compromiso
con este modelo en términos de planificación, herramientas e infraestructura.
Cuando la
mayoría de la gente habla de una arquitectura orientada a servicios están
hablando de un juego de servicios residentes en Internet o en una intranet,
usando servicios web. Existen diversos estándares relacionados a los servicios
web. Incluyen los siguientes:
Hay que
considerar, sin embargo, que un sistema SOA no necesariamente necesita utilizar
estos estándares para ser “Orientado a Servicios” pero es altamente
recomendable su uso.
Los
beneficios que puede obtener una organización que adopte SOA son:
§ Mejora en los tiempos de
realización de cambios en procesos.
§ Facilidad para evolucionar a
modelos de negocios basados en tercerización.
§ Facilidad para abordar modelos de
negocios basados en colaboración con otros entes (socios, proveedores).
§ Poder para reemplazar elementos
de la capa aplicativa SOA sin disrupción en el proceso de negocio.
§ Facilidad para la integración de
tecnologías disímiles.
No hay comentarios:
Publicar un comentario