Vous êtes sur la page 1sur 8

ARQUITECTURA ORIENTADA A SERVICIOS

Ana Jimnez Cuestas 1


1 Universidad de las Fuerzas Armadas ESPE, Ecuador, aljc199@gmail.com

RESUMEN
Las Arquitecturas Orientadas a Servicios (SOA), surgen del continuo y creciente desarrollo de la
Tecnologas de la informacin (IT), que se encuentran hoy en la actualidad muy ligadas al desarrollo de los
procesos de negocios de las diferentes instituciones. SOA, permite la orquestacin y composicin de
Servicios Web que permiten integrar gran cantidad de elementos como: procesos, recursos humanos e
informacin en ambientes operativos ofreciendo mayor agilidad y flexibilidad, convirtindose en una
poderosa herramienta para la competencia de los. SOA, se relacin de una forma inmediata con conceptos
de interoperabilidad con sistemas de informacin, afrontando el desafo de hacer ms con menos recursos
del negocio y tecnolgicos.
En este artculo, se definir brevemente que es SOA y sus principales caractersticas. Como as tambin,
la descripcin y ejemplos de los tipos de servicios web, ESB y orquestacin de Servicios con su respectivas
implementaciones.
Palabras Clave: IT, SOA, servicios web, ESB, orquestacin

1. ARQUITECTURA ORIENTADA A SERVICIOS


1. 1 Historia
SOA aparece como el siguiente paso de evolucin de las arquitecturas orientadas a objetos,
transformndose posteriormente en Servicios Web, que cumplen con la funcin de encapsular elementos de
software utilizando aplicaciones web con el objetivo de coordinar los procesos del negocio. Las empresas
han logrado encapsular aspectos trascendentales de la lgica del negocio que existe en sus sistemas y
plasmarlos en servicios. La figura1, describe como las arquitecturas han variado y evolucionado con
relacin al tiempo.

Figura 1: Evolucin de Arquitecturas con en tiempo (Irey, 2012)

El tiempo ha sido uno de los factores que ha incidido en la modificacin de las funcionalidad que SOA
implementa, pero existe otros factores que tambin han incidido en este desarrollo como los son el
desarrollo, la aparicin de nuevos conceptos y tecnologas como se puede apreciar en la figura2.
Figura 2: Evolucin y Antecedentes (LITRIS, 2011)

1. 2 Introduccin
En una misma empresa pueden existir de una o ms de una aplicacin que permiten cumplir con las
reglas del negocio. Lo quiere decir que requerir un esfuerzo mayor y un tiempo mayor para la respuesta a
un determinado requerimiento. Como ejemplo de un primer inconveniente que se genera es el poder
integrar aplicaciones que son desarrolladas en diferentes lenguajes o el funcionamiento de las aplicaciones
en diferentes plataformas que podran representar un inconveniente a la hora de requerir consultar una dato
de una aplicacin a otra.
SOA surge de la necesidad de creacin de infraestructuras flexibles y adaptables combinando los
diferentes elementos como: tecnologas, plataformas de hardware y software, integrndolas para permitir de
esta manera satisfacer las necesidades de los negocios, acoplando de esta manera recursos humanos,
informacin y procesos, como se puede ver en la figura3. Sin embargo adems de estos motivos unas
principales razones de SOA es el enfoque de presupuesto de las Tecnologas de la Informacin (TI). Dicho
de esta forma la arquitectura de TI es vista como conjunto de aplicaciones, que ha creado sitios de
aplicaciones especializados en los procesos del negocio montando marcos arquitectnicos empresariales
(ECURED, 2010).

Figura 3: Ambiente Operativo Integrado (Gladys Dapozo)

SOA pretende entregar una alternativa de solucin para temas como los inconvenientes mencionados en
el prrafo anterior e involucra un mayor mbito para la solucin de inconvenientes detectados. SOA
implementa su funcionalidad basndose en pequeos componentes, que son autnomos y reutilizables a los
cuales se los denomina servicios. (SOA Glossary).

1. 3 Definicin
SOA hace referencia a la arquitectura orientada a servicios, y no existe una definicin universal
reconocida en la que todos estn de acuerdo. Ya que una definicin estar establecida ligada al nivel que
represente SOA para el negocio, sin embargo, se pueden definir tres aspectos de SOA:
SOA como est representado en la figura 4 se puede entender como primera instancia que permite tener
una coleccin de servicios, independiente del lenguaje en el que el servicio que haya sido desarrollado,
acceso a los servicios independiente de la plataforma de implementacin del servicio, y la comunicacin
habilitada.
Figura 4: Divisin de SOA (Udantha, 2013)

Otra definicin afirma a SOA como un conjunto de componentes que pueden ser invocados y cuyas
descripciones de las interfaces pueden ser publicadas y ubicadas. (W3C). Adems encontramos que
Gartner seala que SOA es una arquitectura de software que comienza con una definicin de interfaz y
construye toda la topologa de la aplicacin como una topologa de interfaces, implementaciones y llamadas
a interfaces. Sera ms adecuado llamarla arquitectura orientada a interfaces. SOA es una relacin de
servicios y consumidores de servicios, ambos suficientemente amplios para representar una funcin de
negocios completa. (Gartner)

1. 4 Principales Caractersticas
SOA ha tenido una gran acogida para el desarrollo de las TI acoplndolas con las necesidades de
desarrollo y productividad que mueven las reglas de negocios de cada institucin. Buscando generar
mayores resultados con menos desperdicio de los recursos, consiguiendo obtener efectos ms eficaces,
productivos y eficientes.
Para conseguir los resultados antes mencionados, SOA ha desarrollado una arquitectura capaz de
soportar y responder certeramente ante las exigencias de las empresas, acoplndose a las nuevas
herramientas de tecnologa que se innovan constantemente, a continuacin se enumeraran algunas
caractersticas que hacen sobresalir a esta arquitectura con respecto a las dems.

Reduce la complejidad

Reutiliza los servicios compartidos que han sido desplegados previamente.

Integra aplicaciones heredadas limitando as el coste de mantenimiento e integracin.

Beneficios en el desarrollo, ya que las aplicaciones son reutilizables,

Permite la creacin y cambio de servicios de forma incremental

1. 5 Web Services
SOA, no est nicamente relacionando con los conceptos de Web Services, pero cada da estos son
aadidos con ms grado de importancia ya que las caractersticas, permiten hacerlos adecuados para cubrir
los principios de lo que se considera la orientacin a servicios. Son los Web Services, quienes han permitido
la interoperabilidad entre diversas aplicaciones, sin importar las plataformas y lenguajes de programacin,
en los que hayan sido desarrollados, es decir un web service puede comunicarse y obtener una respuesta
de otro web service sin que sea mandatorio que cumplan ambos con las mismas herramientas de
desarrollo.
Figura 5: Funcionamiento de los Web Services (Irey, 2012)

Explicando la figura 5, se tiene un cliente (el cliente es un cliente Web Service) que al utilizar una
aplicacin solicita la informacin para un viaje, haciendo la peticin a una agencia de viajes que ofrece esta
clase de servicios valindose del Internet, la agencia de viajes a su vez hace las consultas respectivas
accediendo y consumiendo los servicios de otras empresas (aplicaciones), que pertenecen a un hotel y a
una lnea rea, quienes devuelven la informacin a la agencia de viajes para que este, a su vez entregue al
cliente que lo solicito, despus enva una peticin al banco para pago por lo consultando y el banco retorna
la confirmacin de pago.
Con el ejemplo explicado se describe una manera ms clara de cmo funciona la lgica del

funcionamiento de los Web Services permitiendo un mayor entendimiento, Esta tecnologa admite que las
aplicaciones se conecten enviando peticiones y recibiendo respuestas. Un Web Service deber cumplir con
las siguientes caractersticas para ser tiles en su rendimiento y funcin:

Ser reutilizable pudiendo considerar que puede ser accedido masivamente, ya sea por los
procesos internos de la empresa o que sea para dominios pblicos.

Tener un nombre, una forma de acceso, presentando funcionalidad tanto en datos de entrada
como en datos de salida, definiendo las respectivas interfaces

Ser independiente de otro, dando como resultado caractersticas de bajo acoplamiento

Tener su propio entorno de ejecucin, logrando la autonoma del mismo

No debe guardar bajo ningn principio un estado, ya que se pueden generan problemas de
inconsistencia de datos, lo ideal es que estos sean almacenados dentro de una aplicacin
predefinida.

1.5.1 Servicios SOAP


SOAP es un acrnimo que se desprende de Simple Object Access Protocol, lo que determina que es un
protocolo de comunicacin para acceso a los web services de las diferentes aplicaciones, este protocolo es
un formato a travs del cual se puede enviar y recibir mensajes, su medio de transporte para la
comunicacin es el Internet, pero cabe aclara que es muy independiente de la plataforma y del lenguaje de
programacin, se basa especialmente en XML que agrega simplicidad y extensibilidad.

1.5.2 Servicios REST


Roy Thomas Fielding quien argumenta (Fielding, 2012) que la web funciona mejor cuando se utiliza en
el estilo que lo hace REST. Utilizar HTTP como medio de transporte para protocolos de aplicacin a travs
de firewalls es una idea equivocada. Esto reduce la efectividad de tener un firewall, lo cual aumenta las
posibilidades de nuevos agujeros de seguridad (Irey, 2012).

1.5.3 Caractersticas, Ventajas y Desventajas


Mediante la Figura 6 se indica algunas caractersticas, ventajas y desventajas de los Servicios tanto de
REST y Servicios SOAP.
Figura 6: Caractersticas, Ventajas y Desventajas (Irey, 2012)

1. 6 ESB (Enterprise Service Bus)

1.6.1

Definicin

Los ESB son una tecnologa o producto software. Se puede definirlos como la infraestructura que se
ofrece como el backbone de SOA, que admite la integracin de las diversas aplicaciones o servicios
existentes, y gestiona la intercomunicacin entre las mismas. SOA se diferencia de un ESB ya que este se
enfoca a la combinacin de servicios web, en cambio que el ESB no se limita nicamente a servicios web,
sino que adems integra otro tipo de servicios como: correo, ftp, http, jms, entre otros
Figura 7: ESB

Algunas definiciones ms:


Un ESB es una plataforma de integracin basada en estndares que combina mensajera, web services,
transformacin de datos y ruteo inteligente para conectar y coordinar de forma confiable la interaccin de un
gran nmero de aplicaciones diversas a travs de empresas extendidas (empresas + socios de negocios)
con integridad transaccional. (Chappell, 2004)
El ESB es una columna vertebral de mensajera basada en estndares abiertos y diseada para
posibilitar la implementacin, despliegue y administracin de soluciones SOA. Es un conjunto de
capacidades de infraestructura implementadas va tecnologas de middleware que posibilitan una SOA y
alivianan problemas de disparidad entre aplicaciones que se ejecutan en plataformas heterogneas y usan
diversos formatos de datos. (Papazoglou)

1.6.2

Funcionalidades

Los ESB ofrecen las siguientes funcionalidades (Rojas, 2009):


Transparencia de ubicacin: Proporciona una plataforma central para comunicarse con cualquier
aplicacin requerida.
Conversin de protocolo de transporte: Integrar de forma transparente mediante diferentes
protocolos de transporte, como HTTP(s), JMS, FTP, SMTP, TCP, entre otros.
Transformacin de mensajes: Transforma los mensajes de un formato a otro formato basandose
en estndares, como XSLT y XPath.
Seguridad: Provee la autenticacin, autorizacin y funcionalidad de encriptacin para asegurar
los mensajes entrantes. Igualmente, estas funcionalidades se aplican a mensajes salientes para
satisfacer requerimientos de seguridad del proveedor del servicio a consumir.
Monitoreo y administracin: Provee de un ambiente de monitoreo y administracin para que sea
confiable y tenga un alto desempeo. Al mismo tiempo, esto permite monitorear la ejecucin de
mensajes y su flujo dentro.
Figura 8: Funcionalidades ESB (Irey, 2012)

1.6.3

Productos Comerciales

Las soluciones ms reconocidas comercialmente son las de Oracle e IBM. Para Oracle, el producto
Oracle Service Bus48 es un ESB lder en el mercado, construido como plataforma para el manejo del ciclo
de vida SOA. Se conecta a los principios de SOA al tener servicios flojamente acoplados y servicios
basados en estndares, las funciones de negocio se pueden conectar a consumidores de servicios y
servicios de back-end sin interesar la infraestructura sobre la cual se ejecuten.
Figura 9: Oracle Service Bus48 (Irey, 2012)

Existen varias soluciones del tipo Open Source como las siguientes:

Apache ServiceMix (http://servicemix.apache.org/)

Mule ESB (http://www.mulesoft.org/)

OpenESB (http://wiki.open-esb.java.net/)

Fuse ESB (http://fusesource.com/)

PetalESB (http://petals.ow2.org/)

1. 7 Orquestacin de Servicios
1.7.1

Definicin

La orquestacin de los servicios es un trmino comnmente utilizado para referirse a la integracin que
se debe llevar a cabo mediante algunos mecanismos que garanticen que los servicios cooperen entre ellos.
La Orquestacin de servicios es controlada por una nica unidad, lo que quiere decir que un cliente
establece junto con un servicio un acuerdo con respecto al transporte de mensajes y contenidos. Este
acuerdo es establecido a travs de uso de WSDLs, que son los que especifican la sintaxis de los mensajes
y los mecanismos de intercambios que se utilizaran.

1.7.2

Implementacion

La orquestacion de servicios se vuelve necesaria, ya que provee de las siguientes funcionalidades. Es


llevada a cabo por lo ESBs y las plataformas de integracin. Eliminando muchas veces la necesidad de
codificacin personalizada

2. CONCLUSIONES

SOA es una herramienta poderosa para las empresas en la actualidad al igual que para las areas
de IT de las organizaciones, busca integrar los recursos humanos, informacin y procesos del
negocio, generando generado eficiencia y eficacia.

Los ESB no se limitan a prestar sus capacidades sobre los servicios web, sino que adems en la
actualidad estn cada dia implementando la integracin otro tipo de servicios como: correo, ftp,
http, jms, entre otros

La orquestacin de Servicios es muy til ya que tiene que ver con la integracin de cada
componente de la arquitectura, a travs de la correcta configuracin de los ESBs y la correcta
eleccin de las plataformas.

3. REFERENCIAS BIBLIOGRAFA
ECURED. (31 de 5 de 2010). ARQUITECTURA ORIENTADA A SERVICIOS (SOA). Obtenido de
http://www.ecured.cu/
Gartner. (s.f.).
Gladys Dapozo, N. L. (s.f.). Arquitectura Orientada a Servicios (SOA) y Servicios Web. Obtenido de
http://www.sicuma.uma.es/es/formacion/doctoradoargentina/independientes/argentina08/DapozoLitwak/index.htm
IBM. (s.f.).
Irey, J. (18 de 2 de 2012). Sistemas Distribuidos. Recuperado el 23 de 6 de 2014, de
http://cibertec.googlecode.com/files/Desarrollo%20de%20Aplicaciones%20Distribuidas.pdf.
OASIS. (s.f.). Reference Model for Service Oriented Architecture . Obtenido de http://www.oasisopen.org/committees/tc_cat.php?cat=soa
Quiroga, M. G. (27 de 5 de 2011). Treballs academics UPC. Recuperado el 23 de 6 de 2014, de
http://upcommons.upc.edu/pfc/handle/2099.1/1442
SOA
Glossary.
(s.f.).
Definition
for
service
oriented
computing
team.
Obtenido
de
http://www.soaglossary.com/
Udantha, M. (8 de 3 de 2013). What is SOA (service-oriented architecture)? Obtenido de
http://madhukaudantha.blogspot.com/2014/06/switching-activities-in-android.html
W3C. (s.f.). World Wide Web Consortium (W3C). Obtenido de http://www.w3.org/

Vous aimerez peut-être aussi