SOA: Qué es realmente

Transcripción

SOA: Qué es realmente
105
SOA
SOA: Qué es realmente
HAY QUE ENTENDER QUE SOA ES UN CONCEPTO DE DISEÑO DE ARQUITECTURA QUE TRATA
DE ALINEAR A LAS TIS CON EL PROPIO NEGOCIO DE LA ORGANIZACIÓN
La definición de componentes
Óscar
Roncero
SENIOR SOLUTION
ARCHITECT
Progress Software
utilización estándar y que abstraiga
ya que lleva utilizándose a nivel de
completamente de la implementación
desarrollo desde el comienzo de los
interna o tecnología de dicho
lenguajes de programación mediante
servicio. El objetivo de esto, es que
la definición de “funciones” (como en
sea muy rápido y sencillo
C) o “clases” (como en Java).
interconectar servicios
Sin embargo en el caso de SOA, los
Qué es SOA
Antes de nada conviene aclarar qué
es realmente SOA, ya que en muchas
comprender, y un interfaz de
reutilizables no es un concepto nuevo,
independientemente de la tecnología
componentes reutilizables a crear son
con la que se hayan desarrollado y
servicios de aplicación con significado
de la plataforma en la que se
propio, flexibles, débilmente acoplados
ejecuten. Así, un servicio Java podría
y altamente interoperables sobre
ser fácilmente usado por ejemplo por
estándares tecnológicos abiertos. El
una aplicación Cobol. Otro típico
ocasiones se confunde con una
error a la hora de pensar en SOA es
tecnología o producto software, y
pensar siempre en Servicios Web
nada más lejos de la realidad.
Hay decenas de definiciones
distintas de SOA en la Web y aunque
la mayoría de ellas son acertadas,
unas son más completas que otras.
Hay que entender que SOA es un
concepto de diseño de arquitectura
que trata de alinear a las TI con el
propio negocio de la organización. Y
para esto, sugiere la creación de
servicios y funcionalidades de negocio
SOA intenta integrar las TI
con el negocio para que las
soluciones que aporte sean
lo más cercanas a los
requisitos de negocio que
se intenten cubrir
fácilmente reutilizables. Estos
como estándar de definición de un
servicio, pero esto no es así, ya que
por norma general solamente entre
el 20 y el 40% de los servicios
usarán este interfaz.
En definitiva, SOA, a diferencia de
otras soluciones de integración como
EAI (“Enterprise Application
Integration”) no se limita al uso de
una herramienta o "plataforma de
herramientas" para integrar
aplicaciones, sino que sugiere una
servicios deben ser flexibles, seguros
arquitectura ágil, escalable y
y lo más importante de todo, con una
hecho de usar estándares facilita el
completamente distribuida por toda la
arquitectura basada en estándares.
uso de los servicios creados y que no
organización. En las arquitecturas
SOA intenta integrar las TI con el
haya que utilizar tecnologías
SOA entre otras muchas
negocio para que las soluciones que
propietarias. Esto es de vital
funcionalidades, se integran
aporte sean lo más cercanas a los
importancia cuando se decide hacer
aplicaciones al igual que hacen los
requisitos de negocio que se intenten
disponibles los servicios a terceros,
EAIs, pero no se reduce a la
cubrir, y dejen de ser soluciones
como es el caso del B2B (“Business to
integración de éstas dentro de una
departamentales que cubran o
Business”) o del B2C (“Business to
localización concreta, sino que va mas
resuelvan solo parcialmente parte de
Consumer”).
allá, va a los procesos de las
las necesidades existentes sin tener
Para comunicarse entre sí, estos
organizaciones, a la gobernabilidad, al
una visión de la globalidad del
servicios deben ofrecer una
uso de tecnología estándar, a la
proceso.
definición formal fácil de
integración en entornos distribuidos, …
nº 8 marzo 2007
106
SOA
Modelo de niveles SOA
Qué es un ESB
un lado un sistema de mensajería
incluyen funcionalidades reutilizables,
robusto de alta disponibilidad y
accesibles de manera estándar y que
altamente escalable que permita
pueden formar parte de procesos de
SOA y que también conviene aclarar
garantizar la comunicación entre los
negocio.
es el de ESB (Enterprise Service
distintos servicios y aplicaciones de la
Orquestación de los Servicios
Bus). A diferencia de SOA, ESB sí es
organización independientemente de
previamente creados, mediante la
una tecnología o producto software.
su localización geográfica, y por otro
definición de Procesos que utilizarán
Puede definirse un ESB como la
lado un mecanismo que permita
dichos servicios disponibles en la
Infraestructura que sirve como el
fácilmente la definición de nuevos
organización.
backbone de las Arquitecturas
procesos o su posterior modificación
Construcción de nuevos
Orientadas a Servicios (SOA). Un ESB
orquestando los servicios existentes
servicios según son necesarios para
permite a una empresa, conectar,
en la organización. Además debe
la orquestación de los nuevos
mediar, y controlar la interacción
proporcionar funcionalidades
Procesos y reutilización de los
entre diversas aplicaciones y
avanzadas como la de enrutamiento
Servicios ya existentes en distintos
servicios a lo largo de entornos
de datos dinámico basado en el
Procesos.
altamente distribuidos y
contenido de estos.
Enterprise Service Bus (ESB).
Otro concepto muy asociado a
heterogéneos.
Una vez que el número de procesos
SOA de por sí puede aportar una
gran potencia y flexibilidad a una
orquestados es importante, la
Etapas en la evolución a SOA
organización sin necesidad de utilizar
un ESB, pero sin un ESB es muy
organización descubre que es difícil
controlarlos y es difícil escalar
Una vez que una organización decide
procesos existentes, y en ese
complicada la gestión y mantenimiento
implementar SOA, es muy típico pasar
momento es cuando las
de los procesos SOA y el escalado de la
por todas estas fases en el camino de
organizaciones realmente descubren
arquitectura en caso de ser necesario.
evolución hacia la madurez SOA:
que es muy complicado gestionar y
Creación de los Servicios dentro
escalar una Arquitectura SOA si se
de la organización. Estos Servicios
carece de un ESB.
Normalmente un ESB debe
proporcionar a una organización por
nº 8 marzo 2007
107
SOA
Cuadros de mando de
monitorización de servicio web
y servidores de aplicaciones
Monitorización de los Procesos
estructura de datos de una aplicación,
en SOA. Además de conocer los
en SOA. Una vez se definen los
ya que es muy complejo identificar a
procesos que están en ejecución,
primeros procesos SOA, surge la
qué puede afectar dicho cambio, todos
surge la necesidad de tener
necesidad de tener visibilidad en
los cambios a realizar en otras
información en tiempo real del
quién está utilizando estos servicios,
negocio, es decir, cuántos pedidos
qué tiempos de respuesta se están
estamos recibiendo en este
ofreciendo, etc. Este punto será tenido
momento, cuántos pagos no se han
en cuenta en distintos momentos en
el camino hacia la madurez SOA
Integración Semántica de Datos.
Es la problemática conocida como la
del “Año SOA + 1”, ya que es una
problemática que habitualmente no se
tiene en cuenta a la hora de diseñar
SOA y que se descubre cuando se
empieza a utilizar. Toda la gestión de
Puede definirse un ESB
como la Infraestructura que
sirve como el backbone de
las Arquitecturas Orientadas
a Servicios (SOA)
realizado y caducan en dos días, si
hay retraso en la entrega de algún
producto, etc.
Una de las principales garantías de
éxito para una organización a la hora
de abordar una evolución hacia SOA
es apoyarse en proveedores que
realmente tengan experiencia en este
tipo de proyectos, y que sean capaces
las transformaciones de datos, en
de orientarla para evitar caer en
muchas ocasiones se solventan a nivel
errores ya vividos en otros proyectos
del Orquestador o del BPM o incluso a
SOA. Y cuando hablo de experiencia
nivel del ESB, implementando en
aplicaciones o transformaciones de
en proyectos SOA me refiero a
muchas ocasiones complicadas
datos para gestionar dicho cambio y
proyectos SOA que realmente estén
transformaciones XSLT incluso para
dónde realizarlos.
en producción, y no pilotos o puesta
formatos no XML. Esto genera
Monitorización de negocio
en producción de un cierto número de
problemas a la hora de cambiar la
(BAM) de los procesos en ejecución
Servicios Web aislados.
nº 8 marzo 2007

Documentos relacionados