Arquitectura Orientada a Servicios
|
Arquitectura Orientada a Servicios (también conocida como SOA). Es la primera arquitectura de Tecnologías de Información (TI) que asume lo que los negocios han sabido desde hace mucho tiempo. Se trata esencialmente de un set de servicios sueltos, donde cada uno es relativamente económico para construirlo o reemplazarlo si es necesario.
Sumario
Análisis del desarrollo del Software
El desarrollo del Software necesita de un giro inmediato. Es necesario poder acceder a las soluciones de negocio desde cualquier parte, para clientes y proveedores, independientemente de los canales o las tecnologías que usen para ello.
Se demanda crear una infraestructura tecnológica flexible y adaptable, que requiere la combinación de diferentes tecnologías, plataformas de hardware y software para alcanzar un funcionamiento acorde con dichas necesidades.
No obstante la realidad existente es otra. El desarrollo de nuevos sistemas consume mucho tiempo, dinero y los requerimientos de integración son cada vez mayores y complejos. No existe flexibilidad en los procesos de negocio, ni manera de mantener la relación de negocio y tecnología. Todo esto trae consigo que la mayor parte del presupuesto de las Tecnologías de la Información (TI) está destinado al mantenimiento de la actual infraestructura TI y solo una pequeña porción se encuentra disponible para nuevas funcionalidades a fin de impulsar nuevas oportunidades de negocio.
La arquitectura actual (TI) es vista como una colección de aplicaciones, que dada la relativa poca importancia que le presta a los procesos de negocio, terminó creando silos de aplicaciones segregados dentro del mapa arquitectónico de la empresa.
Lo anterior exige, poner especial atención y cuidado al diseño de la arquitectura, bajo la cual estará soportado el funcionamiento de los sistemas.
La solución:Arquitectura Orientada a Servicio(SOA por sus siglas en inglés).
El concepto de SOA domina ya el panorama actual de las Tecnologías de la Información. Sin embargo, aunque ya es una realidad sus beneficios, no existe un claro consenso sobre los conceptos básicos de SOA .
Definición
Definir que cosa es SOA es sumamente difícil, no porque no hallan pocas definiciones, si no porque hay demasiadas desde diferentes enfoques y ajustadas a los intereses de quienes los formulan.
Un ejemplo de esto es que los vendedores de soluciones en forma de herramientas afirman que SOA es algo que se puede vender y de ahí sale el concepto de "SOA en la caja", mientras que los "tecnócratas" siguen creyendo que SOA es un concepto del área de TI y por lo tanto usando algunas herramientas como los Registro/repositorio, ESB, herramientas BAM, y demás soluciones que aparecen en el mercado se puede implementar una SOA.
Lamentablemente SOA no es tan sencilla, y al decir que es un paradigma y un estilo arquitectónico ya se está diciendo que es algo abstracto, y una forma de pensar en términos de servicios, junto con esto se debe entender que, al igual que el Diseño OO tuvo sus principios los cuales pocos cumplen y muchos desconocen, el análisis y diseño orientado a servicios que se desprende del paradigma orientado a servicios y que constituye la base de SOA posee también una serie de principios inviolables más una serie de patrones que son los que definen como SOA se expresa y funciona, y garantizan además el cumplimiento de las promesas que han posibilitado su adopción por la industria.
Se puede resumir que SOA es un enfoque para diseñar y construir soluciones de negocio, a partir de componentes independientes que exponen funciones como servicios accesibles por otros componentes a través de interfaces estándares.
SOA no se trata de software o de un Lenguaje de programación, es un marco de trabajo conceptual que permite a las organizaciones unir los objetivos de negocio con la infraestructura TI, integrando los datos y la lógica de negocio de sus sistemas separados.
Objetivos
Los grandes objetivos de SOA tienen que ver con ayudar a alinear las capacidades de TI con los objetivos de negocio y proveer una infraestructura técnicamente ágil para responder fácil y rápidamente a los cambios de requerimientos.
Beneficios
La importancia de la arquitectura SOA es que ofrece una oportunidad real de situar las tecnologías de la información en un nuevo nivel, convirtiéndolas en auténticos habilitadores del negocio. De esta manera se garantiza la agilidad de los negocios, aspecto fundamental para las organizaciones que quieren alcanzar el éxito en el actual mercado mundial, que cada día es más competitivo.
Algunos de los principales beneficios que obtienen las organizaciones al implementar una Arquitectura SOA son:
- Agilidad para habilitar rápidamente soluciones innovadoras y para adaptarse a cambios en el mercado cuando ocurran.
- Flexibilidad para reducir los tiempos y costos de implantación, y para contar con una arquitectura ágil que permita la evolución, cambio y crecimiento del negocio.
- Rapidez para llegar primero al mercado antes que la competencia y crecer la participación de mercado.
- Obtener mejor visibilidad de la información a través de toda su organización.
- Optimiza sus procesos de negocios.
- Tasas internas del retorno sobre la inversión de hasta el 100%.
- Ahorro en TCO (Total Cost of Ownership) de los componentes de software y de las aplicaciones construidas utilizando estos componentes.
- Capacidad de reutilizar y potenciar otras aplicaciones informáticas como ERP's, CRM's, etcétera. Por otra parte permite: Una "personalización masiva" de las tecnologías de la información.
- La simplificación del desarrollo de soluciones mediante la utilización de estándares de la industria y capacidades comunes de industrialización.
- Aislar los sistemas frente a cambios generados por otras partes de la organización (protección de las inversiones realizadas).
- Alinear y acercar las áreas de tecnología y negocio.
SOA resuelve la mayoría de los problemas de software que se presentan en la actualidad, como son los de facilitar y estandarizar la integración de los sistemas, a través de la interoperabilidad entre los datos de negocio, las aplicaciones y los requerimientos de los procesos de negocio. Permitiendo mayor flexibilidad y la de reutilización de los procesos de negocio para acomodarlos en el nuevo sistema de información de la empresa. Y todo ello con dos importantes factores, menor coste y mayor rapidez de desarrollo. Cubriendo las necesidades de las empresas modernas:adaptación al cambio con el menor coste y tiempo posible.
Mediante la arquitectura SOA las empresas pueden alcanzar el alto rendimiento a través de tres palancas: diferenciación en el mercado, simplificación interna en la operación, y flexibilidad y rapidez de adaptación al cambio.
Documentación
La documentación relacionada con esta nueva arquitectura es abundante, pero no concreta, es decir, que las metodologías para su implantación son propietarias. Empresas líderes como Software AG, TIBCO, Oracle, CBDI, cuentan con un framework completo con el soporte tecnológico asociado a la misma. Cuba por su parte intenta insertarse en este nuevo mundo del desarrollo SOA. En la Universidad de Ciencias Informáticas (UCI) se desarrolla la Línea de Investigación y Desarrollo SOA, del Centro de Consultoría Tecnológica e Integración de Sistemas. Este centro tiene entre sus objetivos estratégicos lograr la independencia tecnológica en el marco SOA a través de la creación de un Modelo de Referencia SOA a partir de estándares internacionales, con el fin de poder establecer una Metodología que pueda ser utilizada por cualquier desarrollador.
SOA constituye la arquitectura de software del futuro, que permitirá realizar lo que antes era imposible. Es un tema bastante amplio y nuevo, pero que solo requiere del interés de los desarrolladores e investigadores dispuestos evolucionar en el desarrollo de software.
Empresas Open Source que desarrollan tecnologías para SOA
Enlaces externos
- Blog desarrolloSOA
- Descripción de SOA
- El por qué usamos SOA
- Por qué necesitamos un ESB
- Charla de Pat Helland, de Microsoft. Donde introduce el concepto de SOA.
- Wiki comunitaria con todo sobre SOA en español.
- Microsoft - Hacia una arquitectura empresarial basada en servicios.
- Web Services seguros, confiables y transaccionales: Arquitectura y Composición.