-
-
-
-
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 IndustrialMediaTechnologyTrabajemos juntos
Contenido Relacionado
5 consejos para una planificación eficaz del sprint
La sprint planning es una de las ceremonias de Scrum en donde se define el objetivo de las siguientes semanas de trabajo. Debido a su importancia y complejidad, suele demorarse más que las otras ceremonias y puede ser difícil para el equipo sobrellevarla.
Conocer más
Pishing: 7 formas de prevenir los ataques
El phishing es la forma más frecuente de ciberdelincuencia, una realidad inquietante subrayada por asombrosas estadísticas. Se calcula que cada día 3.400 millones de correos electrónicos maliciosos inundan las bandejas de entrada de todo el mundo.
Conocer más
¿Es ChatGPT el fin de los desarrolladores?
ChatGPT, junto con otras herramientas de IA, ha cambiado la forma en que los desarrolladores interactúan con el código y agiliza el proceso de desarrollo de software. Estas herramientas están diseñadas para comprender y generar código, proporcionando asistencia valiosa a los programadores.
Conocer más
¿Cómo utilizar éticamente la IA? Los nuevos desafíos corporativos
El futuro se escribe con inteligencia artificial, pero la tecnología en constante desarrollo genera tanto beneficios como preocupaciones. Es por esto que las compañías deben buscar soluciones que controlen su utilización para brindar servicios más óptimos y éticos.
Conocer más
¿Puede la tecnología ponerle fin a las estafas y la inseguridad financiera?
La digitalización financiera es un proceso que está transformando la forma de interacción con el sistema financiero. Sin embargo, existe una percepción errónea de que la digitalización financiera aumenta los riesgos de seguridad.
Conocer más
Share this page:
-
-
-
-
URL copied!