# data[].attributes.body
Es un enfoque que se utiliza para modelar y gestionar los procesos de negocio de una organización de una manera orientada a servicios y que esto se hace siguiendo un estándar abierto.

# data[].attributes.attachment_link.title
Service Oriented Architecture (SOA) Simplified.

# data[].attributes.body
El objetivo es separar la lógica de integración de negocio de la implementación, para que el desarrollador de integración pueda centrarse en ensamblar una aplicación integrada en lugar de hacerlo en los detalles de la implementación.
Para lograrlo, se crean componentes de servicio que contienen la implementación de servicios individuales necesarios para los procesos de negocio.

# data[].attributes.body
El resultado es una arquitectura de tres capas:

1. lógica de integración de negocio,

2. componentes de servicio e

3. implementación

# data[].attributes.headline
Colaboración en una arquitectura orientada a servicios

# data[].attributes.subject
Colaboración en una arquitectura orientada a servicios

# data[].attributes.body
1. Aprovechar activos existentes

2. Facilita la integración y la gestión de la complejidad

3. Mayor capacidad de respuesta y tiempo de comercialización más rápido

4. Reducción de costos y aumento de la reutilización

5. Preparación para el futuro

# data[].attributes.body
Permite a las organizaciones encapsular y exponer sus activos de Tecnologías de Información existentes como servicios, lo que brinda la ventaja de seguir obteniendo valor de esos activos sin necesidad de reconstruir desde cero.

# data[].attributes.headline
 2.2 Facilita la integración y la gestión de la complejidad

# data[].attributes.subject
 2.2 Facilita la integración y la gestión de la complejidad

# data[].attributes.body
El punto de integración en una arquitectura orientada a servicios es la especificación del servicio y no la implementación. Esto proporciona transparencia de implementación y minimiza el impacto cuando se producen cambios en la infraestructura y la implementación.

# data[].attributes.headline
2.3 Mayor capacidad de respuesta y tiempo de comercialización más rápido

# data[].attributes.subject
2.3 Mayor capacidad de respuesta y tiempo de comercialización más rápido

# data[].attributes.body
Al aprovechar los componentes y servicios existentes, se reduce el tiempo necesario para pasar por el ciclo de vida del desarrollo de software que implica recopilar requisitos, realizar el diseño, el desarrollo y las pruebas. Esto conduce a un desarrollo rápido de nuevos servicios empresariales y permite a una organización responder rápidamente a los cambios y reducir el tiempo de llegada al mercado.

# data[].attributes.headline
2.4 Reducción de costos y aumento de la reutilización

# data[].attributes.subject
2.4 Reducción de costos y aumento de la reutilización

# data[].attributes.body
Promueve la reutilización de servicios empresariales, reduciendo costos, logrando una utilización eficientes de los recursos de Tecnologías de Información.

# data[].attributes.body
Las empresas pueden adaptarse y evolucionar para cumplir con los cambios del mercado y las necesidades comerciales. Esto gracias a que SOA permite la creación, modificación y gestión fácil de los procesos comerciales ya que están compuestos por una serie de servicios empresariales.

# data[].attributes.body
a. Mayor complejidad
b. Mayor latencia
c. Consistencia eventual
d. Seguridad

# data[].attributes.body
Al gestionar múltiples servicios, se requiere una mayor coordinación y supervisión, así como herramientas adecuadas para el monitoreo, la depuración y el testing.

# data[].attributes.body
Al realizar llamadas a otros servicios, se puede incrementar el tiempo de respuesta y afectar el rendimiento de la aplicación.

# data[].attributes.body
Al tener cada servicio su propia base de datos, se puede perder la consistencia inmediata de los datos, lo que implica tener que manejar posibles conflictos y sincronizaciones .

# data[].attributes.body
Al exponer múltiples servicios a través de APIs, se puede aumentar el riesgo de ataques o vulnerabilidades, lo que requiere implementar medidas de seguridad adecuadas.

# data[].attributes.headline
4 Situaciones en las que se considera apropiado implementar este estilo

# data[].attributes.subject
4 Situaciones en las que se considera apropiado implementar este estilo

# data[].attributes.body
1. Aplicaciones Empresariales Complejas - cuando se involucran una gran cantidad de funcionalidades y procesos interconectados, el aplicarlo nos puede ayudar a modularizar y gestionar la complejidad  dividir los servicios.

2. Reutilización de funcionalidad - si se desea maximizar la reutilización de funcionalidades.

3. Integración de sistemas - si se necesita integrar sistemas existentes en una arquitectura coherente.

# data[].attributes.headline
4.1 Situaciones en las que se considera apropiado implementar este estilo

# data[].attributes.subject
4.1 Situaciones en las que se considera apropiado implementar este estilo

# data[].attributes.body
4. Cambios frecuentes - si anticipan cambios frecuentes en los requisitos o en la lógica, permite una adaptación rápida al permitir la modificación.

5. Implementar cambios graduales - Si se busca una forma de gestionar cambios en sistemas de manera gradual y sin perturbar los sistemas existentes

# data[].attributes.body
Delaware Electric recurrió a este estilo para integrar sistemas que anteriormente no se comunicaban entre sí, lo que resultó en eficiencias de desarrollo que ayudaron a la organización a mantenerse solvente durante un congelamiento de tarifas eléctricas de cinco años exigido por el estado.

# data[].attributes.headline
Diferentes implementaciones de la arquitectura orientada a servicios

# data[].attributes.subject
Diferentes implementaciones de la arquitectura orientada a servicios

# data[].attributes.body
Cisco adoptó el estilo para asegurarse de que su experiencia de pedido de productos fuera consistente en todos los productos y canales al exponer los procesos de pedido como servicios que las divisiones, adquisiciones y business partners de Cisco podrían incorporar en sus sitios web.

# data[].attributes.headline
5.2 Implementación en Independence Blue Cross (IBC) de Filadelfia

# data[].attributes.subject
5.2 Implementación en Independence Blue Cross (IBC) de Filadelfia

# data[].attributes.body
Implementó el estilo para asegurar que los diferentes componentes que se ocupan de los datos de los pacientes (los agentes del servicio al cliente de IBC, las consultas de los médicos y los usuarios del sitio web de IBC) estuvieran trabajando con la misma fuente de datos (una "única fuente de verdad").

# data[].attributes.headline
6.2 Herramientas y tecnologías asociadas

# data[].attributes.subject
6.2 Herramientas y tecnologías asociadas

# data[].attributes.body
Herramientas de monitorización y gestión - se utilizan para supervisar el estado, el rendimiento y la calidad de los servicios y las composiciones de servicios. Algunos ejemplos son WS-Management, WS-ReliableMessaging y WS-Security.

# data[].attributes.body
La arquitectura basada en servicios es uno de los estilos de arquitectura de software más comúnmente utilizados. Es una combinación de diferentes estilos de arquitectura de microservicios y es altamente flexible. Es una opción popular entre las arquitecturas distribuidas debido a su simplicidad.

# data[].attributes.body
Lenguajes de modelado - se utilizan para especificar los requisitos, el diseño y la implementación de los servicios y las composiciones de servicios. Algunos ejemplos son UML, BPMN, BPEL y WSDL.

Plataformas de desarrollo - se utilizan para crear, probar y desplegar los servicios y las composiciones de servicios. Algunos ejemplos son Visual Studio, Eclipse, NetBeans y JDeveloper.

# data[].attributes.headline
6.1 Herramientas y tecnologías asociadas

# data[].attributes.subject
6.1 Herramientas y tecnologías asociadas

# data[].attributes.body
Middleware  - se utiliza para facilitar la comunicación, la coordinación y la integración entre los servicios. Algunos ejemplos son Enterprise Service Bus (ESB), Message Oriented Middleware (MOM), Web Services Frameworks (WSF) y Service Component Architecture (SCA).

Repositorios de servicios  - : se utilizan para almacenar y gestionar los metadatos de los servicios, como sus descripciones, contratos, políticas y dependencias. Algunos ejemplos son UDDI, WS-MetadataExchange y WS-Policy.

# data[].attributes.body
Erl, T. (2011) SOA governance: Governing shared services on-premise and in the cloud. Upper Saddle River, NJ: Prentice Hall.

Endrei, M. (2004) Patterns service-oriented architecture and web services. Research Triangle Park, NC: IBM Corp., International Technical Support Organization.

IBM documentation. (s. f.). https://www.ibm.com/docs/es/baw/20.x?topic=designer-service-oriented-architecture

¿Qué es AOS? - Explicación sobre la arquitectura orientada a servicios - AWS. (s. f.). Amazon Web Services, Inc. https://aws.amazon.com/es/what-is/service-oriented-architecture/

# data[].attributes.body
¿Qué es la SOA (arquitectura orientada a servicios)? | IBM. (s. f.). https://www.ibm.com/mx-es/topics/soa

Han, J. (2022, 19 noviembre). System Design: Service-Based Architecture - James Han - Medium. Medium. https://james-han.medium.com/system-design-service-based-architecture-3f8280f3859

Mark Richards. (2023, 19 junio). Lesson163 - Service based architecture [Vídeo]. YouTube. https://www.youtube.com/watch?v=LK0tC1-mlFA

Coding Env. (2023, 7 abril). Service Oriented Architecture (SOA) simplified. [Vídeo]. YouTube. https://www.youtube.com/watch?v=PA9RjHI463g