¿Qué es la arquitectura orientada a servicios?

Una mirada a los aspectos básicos de la arquitectura orientada a servicios

La Arquitectura Orientada a Servicios (SOA) es un estilo de diseño de software en el que los servicios se proporcionan a los otros componentes por los componentes de la aplicación, a través de un protocolo de comunicación sobre un la red. Sus principios son independientes de los proveedores y otras tecnologías. En la arquitectura orientada a servicios, varios servicios se comunican entre sí, de una de dos formas: pasando datos o mediante dos o más servicios que coordinan una actividad. Esta es solo una definición de arquitectura orientada a servicios. Un artículo en Wikipedia ofrece muchos más detalles.

Características de la arquitectura orientada a servicios

Si bien los conceptos que definen la arquitectura orientada a servicios varían de una empresa a otra, existen seis principios clave que abarcan el concepto amplio de Arquitectura Orientada a Servicios. Estos valores fundamentales incluyen:

Valor comercial

Objetivos estratégicos

Interoperabilidad intrínseca

Servicios compartidos

Flexibilidad

Refinamiento evolutivo

Cada uno de estos valores centrales se puede ver en un continuo desde la computación distribuida de formato más antiguo hasta la arquitectura orientada a servicios y la computación en la nube (algo que a menudo se considera una derivación de Arquitectura Orientada a Servicios).

Patrones de Arquitectura Orientada a Servicios

Hay tres roles en cada uno de los componentes básicos de la Arquitectura Orientada a Servicios: proveedor de servicios; corredor de servicios, registro de servicios, depósito de servicios; y solicitante / consumidor de servicios.

El proveedor de servicios trabaja en conjunto con el registro de servicios, debatiendo los porqués y los cómo de los servicios que se ofrecen, como seguridad, disponibilidad, qué cobrar y más. Este rol también determina la categoría de servicio y si es necesario que exista algún acuerdo comercial.

El corredor de servicios pone la información sobre el servicio a disposición de quienes lo solicitan. El alcance del intermediario lo determina quien lo implementa.

El solicitante del servicio ubica las entradas en el registro del intermediario y luego las vincula al proveedor del servicio. Pueden o no tener acceso a múltiples servicios; eso depende de la capacidad del solicitante del servicio.

Implementación de la arquitectura orientada a servicios

Cuando se trata de implementar una arquitectura orientada a servicios (SOA), existe una amplia gama de tecnologías que se puede usar, según cuál sea su objetivo final y lo que esté tratando de lograr.

Normalmente, la arquitectura orientada a servicios se implementa con servicios web, lo que hace que los «bloques de construcción funcionales sean accesibles a través de Internet estándar protocolos. ”

Un ejemplo de un estándar de servicio web es SOAP, que significa Protocolo simple de acceso a objetos. En pocas palabras, SOAP» es una especificación de protocolo de mensajería para intercambiar información estructurada en la implementación de servicios web en Red de computadoras. Aunque SOAP no fue bien recibido al principio, desde 2003 ha ganado más popularidad y se está utilizando y aceptando cada vez más. Otras opciones para implementar la arquitectura orientada a servicios incluyen Jini, COBRA o REST.

Es importante tener en cuenta que las arquitecturas pueden «operar independientemente de tecnologías específicas», lo que significa que pueden implementarse de diversas formas, incluida la mensajería, como ActiveMQ; Apache Thrift; y SORCER.

Por qué es importante la arquitectura orientada a servicios

La arquitectura orientada a servicios tiene muchos beneficios, especialmente en un negocio basado en servicios web. Aquí describiremos algunos de esos beneficios, en breve:

Use Arquitectura orientada a servicios para crear código reutilizable: esto no solo reduce el tiempo invertido en el proceso de desarrollo, sino que no hay razón para reinventar la rueda de codificación cada vez que necesite crear un nuevo servicio o proceso. La arquitectura orientada a servicios también permite por usar múltiples codi ng lenguajes porque todo se ejecuta a través de una interfaz central.

Utilice la arquitectura orientada a servicios para promover la interacción: con la arquitectura orientada a servicios, se establece una forma estándar de comunicación, lo que permite que funcionen los diversos sistemas y plataformas independientes entre sí. Con esta interacción, la Arquitectura Orientada a Servicios también puede evitar los firewalls, lo que permite que «las empresas compartan servicios que son vitales para las operaciones».”

Utilice la arquitectura orientada a servicios para la escalabilidad: es importante poder escalar una empresa para satisfacer las necesidades del cliente, sin embargo, ciertas dependencias pueden obstaculizar esa escalabilidad. El uso de la arquitectura orientada a servicios reduce la interacción cliente-servicio, lo que permite una mayor escalabilidad.

Utilice la arquitectura orientada a servicios para reducir costos: con la arquitectura orientada a servicios, es posible reducir costos mientras aún » manteniendo un nivel de producción deseado «. El uso de la arquitectura orientada a servicios permite a las empresas limitar la cantidad de análisis necesarios al desarrollar soluciones personalizadas.

Cómo funcionan juntas la arquitectura orientada a servicios y la computación en la nube

Primero, es importante tener en cuenta que La arquitectura orientada a servicios puede funcionar con o sin computación en la nube, aunque cada vez más empresas están trasladando el almacenamiento de archivos a la nube, por lo que tiene sentido utilizar la computación en la nube y la arquitectura orientada a servicios juntas.

En pocas palabras, el uso de la computación en la nube permite a los usuarios implementar fácil e inmediatamente servicios adaptados a los requisitos de su clientes, «sin necesidad de consultar a un departamento de TI».

Una de las desventajas de usar la arquitectura orientada a servicios y la computación en la nube es que algunos aspectos no se evalúan, como la seguridad y la disponibilidad. ilidad. Cuando se utiliza la computación en la nube, los usuarios a menudo están a merced del proveedor.

Existe un desafío bastante importante que enfrentan las empresas al fusionar la computación en la nube y la arquitectura orientada a servicios es la integración de los datos y sistemas existentes en la nube solución. Debe haber continuidad de principio a fin para que haya una transición sin problemas. También es importante tener en cuenta que no todos los aspectos de TI se pueden subcontratar a la nube; hay algunas cosas que aún deben hacerse manualmente.

Puede leer más sobre cómo la arquitectura orientada a servicios y la nube la informática trabajan juntos aquí mismo.

La diferencia entre la arquitectura orientada a servicios y SaaS

Hemos hablado bastante sobre qué es la arquitectura orientada a servicios y cómo se puede utilizar para hacer avanzar su negocio. Pero también existe SaaS (software como servicio), que también se puede utilizar para hacer avanzar su negocio. Quizás se esté preguntando qué es SaaS y en qué se diferencia de la arquitectura orientada a servicios. En resumen, los recursos disponibles a través de SaaS son aplicaciones de software. Un componente clave es que la infraestructura SaaS está «disponible para los usuarios, pero oculta». Una ventaja de SaaS es que los usuarios no tienen que instalar y mantener software, lo que elimina los requisitos complejos. Con SaaS, el cliente tampoco requiere ninguna licencia inicial, lo que genera costos más bajos porque los proveedores solo mantienen una sola aplicación.

Diferencias entre la arquitectura orientada a servicios y los microservicios

Microservicios, también conocido como Arquitectura de Microservicios, es un «estilo arquitectónico que estructura una aplicación como una colección de pequeños servicios autónomos, modelados alrededor de un dominio empresarial».

Mientras que los microservicios y la Arquitectura Orientada a Servicios son similares de alguna manera, las diferencias clave vienen en su funcionalidad. Los servicios son, obviamente, el componente principal de ambos. Hay cuatro tipos básicos de servicios:

Servicio funcional: definen las operaciones comerciales centrales

Servicio empresarial: implementan la funcionalidad definida por los servicios funcionales

Aplicación servicio: se limitan al contenido específico de la aplicación

Servicio de infraestructura: implementa tareas no funcionales como autenticación, auditoría, seguridad y registro

Como puede ver, cada uno de estos servicios se basa en el anterior, creando un sistema que no solo es fácil de usar, sino que también le brinda una variedad de formas de administrar su negocio. Al igual que con cualquier funcionalidad, es cuestión de averiguar qué funciona mejor para usted y su empresa.

Puede leer más sobre la arquitectura orientada a servicios y los microservicios aquí.

Algunas reflexiones finales Sobre la arquitectura orientada a servicios

Como puede imaginar, La arquitectura orientada a servicios puede ser un poco difícil de romper, pero una vez que comprenda los aspectos prácticos y los beneficios que puede proporcionar a su empresa, estará encantado de haberla descubierto.

Hemos proporcionado varios recursos excelentes de arquitectura orientada a servicios a lo largo de este artículo y tenemos un par de artículos más próximos que profundizarán en el concepto y le proporcionarán aún más recursos para ayudarlo a impulsar su negocio el siguiente nivel.

Independientemente de la dirección que decida tomar al brindar servicios a sus clientes, es importante tener en cuenta que diferentes cosas funcionarán para diferentes personas. Si bien no puede brindar servicios personalizados para cada cliente que ha contratado, puede brindar una variedad de servicios que se adapten a las necesidades más comunes de sus clientes.

En artículos futuros, veremos en Web 2.0 y profundice en los microservicios de arquitectura orientada a servicios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *