Los negocios exigen crear
aplicaciones cada vez más complejas, en menos tiempo y con menor presupuesto.
En muchos casos crear estas aplicaciones requiere de funcionalidades ya antes
implementadas como parte de otros sistemas. Ante esta situación los arquitectos
de software se enfrentan a dos opciones:
- Tratar de reutilizar la funcionalidad ya implementada en otros sistemas. Una labor difícil de realizar, debido a que estos no fueron diseñados para integrarse o se elaboraron para plataformas y/o tecnologías incompatibles entre ellas. También incluimos la dificultad que se encuentran en las organizaciones en el entendimiento entre el Negocio y las TIC.
- Re-implementar la funcionalidad requerida. Aunque implica más tiempo de desarrollo, es en a mayoría de los casos la más fácil y segura.
A pesar de que no sea la más acertada
a largo plazo, la segunda opción es la más escogida. Esto trae como resultado:
- Funcionalidad replicada en varias aplicaciones.
- Dificultad de migración de los sistemas internos, al haber múltiples conexiones desde sistemas que dependen de estos para su funcionamiento.
- Al no haber una estrategia de integración de aplicaciones, se generan múltiples puntos de fallo, que pueden detener la operación de todos los sistemas muy fácilmente.Un modelo así, por lo general no escala muy bien.
- Pobre respuesta al cambio.
- Las aplicaciones siguen siendo concebidas desde un principio como islas independientes.
SOA es una estrategia TIC de Soporte al Negocio
El acrónimo SOA proviene del inglés Service-Oriented
Architecture. Se trata de un modelo de arquitectura que caracteriza el
procedimiento para crear y usar los diversos procesos, reunidos en forma de
servicios, que configuran un determinado Proceso de Negocio (Un proceso de
negocio se puede ver como un conjunto estructurado de tareas, que contribuyen
colectivamente a lograr los objetivos de una organización.)
Esta arquitectura define y proporciona el marco normativo de interoperabilidad entre los sistemas de información que forman el mapa de sistemas de la organización y la participación en los procesos de negocio
se lleve a cabo con total independencia de la plataforma hardware-software
sobre la que trabajan
Algunas de sus principales características:
- uso de estándares internacionales
- análisis de los procesos de negocio de la organización (BPM)
- diseño y publicación de un catálogo de servicios de negocio e infraestructura, que deben ser encapsulados y reutilizables
- orientación a eventos de negocio (EDA), que disparan la orquestación de los servicios mediante mensajería asíncrona y listas de suscripción
- unificación de la semántica del negocio
- creación de un equipo de expertos SOA y de negocio (centro de excelencia, oficina de gobierno SOA, etc), que cíclicamente revise cada avance y posibles mejoras, y ejecute la gobernanza
- monitorización de los procesos de negocio.
Una implementación SOA puede
consistir en una combinación de tecnologías , productos , API, soporte
extensiones de infraestructura , y varias otras piezas . La cara real de una
arquitectura orientada a los servicios desplegados es única dentro de cada
empresa, sin embargo, se caracteriza por la introducción de nuevas tecnologías
y plataformas que apoyan de manera específica la creación , ejecución y
evolución de SOA.
Dear Gabriel,
ResponderEliminarFirst of all, I am sorry for writing in English. As Brazilian, I can read in Spanish, but not write.
Interesting your article. I have written and article some time ago, showing an strategy exactly for joining EAI and SOA, which could also help to address this problem.
If you wanna take a look, you can get in my elance page at:
https://ws.elance.com/file/jbD_-_EAISOA_-_EN.docx?crypted=Y3R4JTNEcG9ydGZvbGlvJTI2ZmlkJTNENjk4MTI1MzYlMjZyaWQlM0QtMSUyNnBpZCUzRDUzOTc3ODk=