-
-
-
-
URL copied!
Las arquitecturas basadas en servicios (SOA) representan uno de los más grandes avances en IT de las últimas dos décadas. Su enfoque basado en la reutilización de servicios, y la idea de construir servicios complejos interconectando servicios simples y pequeños ha sido de gran ayuda para el desarrollo de software de calidad. Asimismo, el concepto de “cloud computing” (CC) o “software en la nube” viene incrementando su popularidad y aceptación dentro de la comunidad IT.
Cloud computing se basa fuertemente en Internet, donde tanto recursos, software e información están puestos a disposición de otras computadoras y artefactos. Tanto SOA como CC poseen puntos en común, como ser la arquitectura de comunicación descentralizada, pero es importante notar que tienen enfoques y objetivos distintos. Teniendo esto en cuenta, ambas tecnologías pueden combinarse, aportando atractivos beneficios para cualquier empresa IT.
Puntos en común
Ambas tecnologías radican su potencial en brindar una estructura que permite delegar y particionar la funcionalidad del sistema, descomponiéndola en partes con menor complejidad. Esto no es otra cosa que la composición de servicios, lo cual permite que los usuarios los utilicen sin importar la implementación o cuestiones no funcionales (como la escalabilidad). De la misma forma, ambas proponen desacoplar la interacción entre servicios, promoviendo así la reutilización.
En la referencia [1], expertos en IT destacan estos puntos de encuentro entre SOA y CC: Rob Helm, parte de la corporación Microsoft, afirma que estas tecnologías potencian el desarrollo de componentes reusables y generan las mejores estrategias para correr componentes de gran escala en entornos distribuidos. Por su parte, Sanjiva Weerawarana, de la empresa WSO2 (http://wso2.com) destaca cierta similitud arquitectónica para proveer servicios y funcionalidad.
Diferencias principales
Es importante tener en cuenta las diferencias entre SOA y CC, tanto para su aplicación individual en una empresa, como su utilización en conjunto. En la referencia [2] se explicitan dos de las diferencias más importantes:
- CC tiene un enfoque más vertical, al estar enfocado en estructuras de tipo “layer”. En cambio, en SOA cada servicio tiene a su cargo una funcionalidad de negocio. Todos juntos forman una aplicación o solución de negocio, siguiendo un enfoque más horizontal.
- CC puede verse como una plataforma arquitectónica de ejecución. En cambio, SOA provee una solución arquitectónica para la interacción de servicios, contemplando también el diseño del sistema.
Combinando SOA y Cloud Computing
En la referencia [3] se brinda una interesante analogía que describe con precisión la manera de combinar SOA y CC. Imaginemos una biblioteca llena de material. Los libros representan los servicios que los usuarios pueden acceder una vez que la biblioteca los consigue y los hace disponibles, mientras que el edificio y la infraestructura de la biblioteca representan la noción de CC, donde los usuarios ingresan su búsqueda (servicios). Continuando con la analogía, los libros pueden combinarse para formar una saga (composición de servicios), y un mismo libro puede ser útil a varios usuarios a lo largo del tiempo (reutilización de servicios).
Requerimientos previos
Para proveer servicios dentro de CC existen una serie de condiciones previas, muchas de las cuales son simples extensiones a las condiciones para encarar una arquitectura SOA. Según la referencia [3] las mismas incluyen:
- Virtualización del ambiente de IT para que puede ejecutarse en el lugar más conveniente en términos de costo y espacio.
- Reusabilidad y Disponibilidad: debe existir la logística adecuada dentro de la organización para asegurarse que los servicios estén disponibles para ser usados por muchos usuarios al mismo tiempo.
- Manejo y Sincronización de los servicios: esto implica extender la gestión de los servicios de SOA al nivel CC, donde los mismos pueden no estar bajo control directo.
- Seguridad y controles en los accesos: se deben reforzar las políticas de seguridad dentro de un entorno de CC.
Referencias
[1] http://www.infoworld.com/d/cloud-computing/cloud-soa-connection-724
[2]http://blogs.vmware.com/vcloud/2010/04/soa-and-cloud-computing-are-they-the-same.html
[3]http://www-01.ibm.com/software/solutions/soa/newsletter/nov09/article_soaandcloud.html
Top Insights
Escribiendo User Stories en Agile
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyWhat is TM Forum Frameworx and how to...
UncategorizedAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyImpact Mapping en Metodologías ágiles
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyTop Authors
Blog Categories
Trabajemos juntos
Contenido Relacionado
Expansión sin fronteras: Cómo la IA revoluciona los negocios y la UX
La inteligencia artificial generativa pasa a ser parte como un pilar fundamental de la innovación en diversas industrias. ¿Cuáles son los próximos pasos? Por Gabriel Arango, LatAm Technology Director En un mundo cada vez más digital y competitivo, las empresas se enfrentan al imperativo de tomar decisiones inteligentes para modernizarse, buscando reducir costos, impulsar la innovación, mejorar la … Continue reading SOA y Cloud Computing →
Conocer más
Open Banking: Innovaciones relacionadas al banking en el sector Fintech
El Open Banking, potenciado por la Inteligencia Artificial Generativa (GenAI), está redefiniendo el panorama de los servicios financieros. Según Igor Mikhalev, jefe de estrategia de tecnologías emergentes en la consultora EY, aproximadamente el 20% de los bancos minoristas y comerciales han implementado soluciones de GenAI o están listos para lanzarlas de manera inminente (Meggeson, 2024). … Continue reading SOA y Cloud Computing →
Conocer más
5 razones por las que tu proyecto necesita un Business Analyst
Contar con un Business Analyst (BA) en tu equipo no solo te ayudará a delegar tareas más operativas, sino que también potenciará al equipo de desarrollo y contribuirá significativamente al éxito de tu proyecto de desarrollo de software.
Conocer más
7 claves para ser un miembro de un equipo efectivo
Un gran desarrollador necesita trabajar tanto en sus habilidades técnicas como en sus habilidades blandas, ya que estas forman la base para cualquier profesional que quiera ser una pieza efectiva e inspirar un cambio positivo en su equipo y organización. He recopilado una serie de recomendaciones que considero básicas y de vital importancia para trabajar … Continue reading SOA y Cloud Computing →
Conocer más
Share this page:
-
-
-
-
URL copied!