Haga click para descargar y leer el informe.
Resumen ejecutivo
Hoy en día la mayoría de las organizaciones apoyan gran cantidad de sus operaciones en tecnologías de información, especialmente en sistemas basados en software, los cuales son desarrollados internamente, por contrataciones externas o creados por terceros. Esta diversidad de los sistemas de software, sumada al cambio constante y rápido del mercado, hacen que los departamentos de TI siempre estén en la búsqueda nuevas opciones que ayuden a mejorar la calidad y el tiempo de entrega de las aplicaciones. Sin embargo, existen aplicaciones de software legadas, que están soportando funcionalidades importantes de negocio que no están diseñadas para cambiar, esto dificulta el avance rápido, ordenado y ágil según los requerimientos del negocio.
Por estas razones, en la última década las empresas y la academia han dirigido sus esfuerzos hacia el diseño e implementación basados en Arquitectura de Software, cuyo principal objetivo es hacer explícita la estructura de un sistema de software, es decir, determinar cuáles son los componentes que la conforman y cómo estos interactúan entre sí. Como resultado de estos esfuerzos, surge la necesidad de crear patrones de software que permitan la repetición y divulgación de buenas prácticas en el diseño de aplicaciones.
A pesar de contar con la forma de cómo documentar, estructurar y transmitir el conocimiento, la diversidad de plataformas para construir software, ha establecido la necesidad de crear y comunicar aplicaciones en ambientes heterogéneos.
Una respuesta que ayuda a satisfacer estos requerimientos es la Arquitectura Orientada a Servicios (SOA), la cual busca como principal objetivo apalancar la optimización de los procesos de negocios por medio de la identificación, definición, almacenamiento y divulgación de servicios, entendiendo como servicios aquellas funcionalidades que provee el negocio por medio de componentes de software o provistas con la intervención humana.
Desde el punto de vista de TI, una Arquitectura Orientada a Servicios permite el diseño aplicaciones de software preparadas para cambiar, ágiles y adaptables, por su bajo acoplamiento, es decir, sin importar las tecnologías con que estas fueron creadas o la plataforma donde vayan a ejecutar.
Por su capacidad de favorecer ambientes heterogéneos, podemos decir que SOA es una estilo arquitectónico, si se quiere, con una mayor orientación al negocio, pues permite la combinación de servicios para crear nuevas funcionalidades o procesos de negocio y así responder a requerimientos inmediatos o futuros.
Este informe orienta al lector sobre los conceptos básicos que están detrás de una Arquitectura
Orientada a Servicios, así como los elementos para introducir tal estilo arquitectónico en su organización. Asimismo, se aclara qué esperar y que no esperar de SOA.
Del autor
Jorge Ramírez Jiménez es Ingeniero de la Gerencia de Arquitectura de TI en BAC | Credomatic Network. Es Ingeniero en Computación del Instituto Tecnológico de Costa Rica y está terminando una maestría en Computación en el Instituto Tecnológico de Costa Rica.
Agradecimiento
Un agradecimiento sincero a Ignacio Trejos y los compañeros de la Gerencia de Arquitectura de TI en BAC | Credomatic Network por la confianza brindada para la publicación de este informe, el cual es una gran oportunidad para compartir el conocimiento y experiencias adquiridas en el tema de Arquitectura Orientada a Servicios. Además un sincero agradecimiento a los lectores por sus valiosos comentarios, los cuales contribuyeron a enriquecer el informe.
Nota editorial
Este informe fue revisado por el Dr. Richard Mark Soley (OMG y SOA Consortium), el Dr. Roberto Sasso (Club de Investigación Tecnológica), el M.Sc. Fulvio Lizano (Universidad Nacional), el M.Sc. Gerardo Porras (Banco Central de Costa Rica), el Ing. Luis Chavarría (BAC | Credomatic Network) y el M.Sc. Ignacio Trejos (Club de Investigación Tecnológica). La edición final estuvo a cargo de Ignacio Trejos.