Tema 55. El procesamiento cooperativo y la arquitectura cliente-servidor. Principales características. Arquitectura de dos, tres o más niveles. Ventajas e inconvenientes. Servidores de aplicaciones. Modelos actuales del mercado. Arquitecturas orientadas a servicios. Gobierno SOA. Buses de interoperabilidad. Aplicación de estas tecnologías en el Servicio Andaluz de Salud.

OPE 2025. TFA INFORMÁTICA

Resumen Ampliado:

El procesamiento cooperativo y la arquitectura cliente-servidor son conceptos fundamentales en el diseño y desarrollo de sistemas informáticos modernos. Estas arquitecturas se basan en la cooperación entre diferentes componentes de software y hardware, donde se distribuye el trabajo entre los clientes (usuarios o aplicaciones que solicitan servicios) y los servidores (donde residen los servicios o recursos solicitados).

Arquitectura Cliente-Servidor:

La arquitectura cliente-servidor es un modelo de diseño que organiza las funciones de un sistema informático en dos partes principales:

  • Cliente: Es el dispositivo o aplicación que solicita información o servicios del servidor.
  • Servidor: Es el dispositivo o aplicación que gestiona recursos y procesa solicitudes del cliente.

Este modelo es fundamental en la informática moderna, especialmente en aplicaciones web y servicios en línea. Los clientes generalmente realizan tareas más ligeras, como la interfaz de usuario, mientras que los servidores manejan los procesos más pesados, como la base de datos o la lógica de negocio.

Arquitecturas de Dos, Tres o Más Niveles:

  • Arquitectura de dos niveles: El cliente y el servidor están directamente conectados. El cliente realiza solicitudes de servicios o datos al servidor, que responde directamente.
  • Arquitectura de tres niveles: Se introduce un nivel intermedio, llamado «nivel de aplicación», que maneja la lógica de negocio. Esta capa intermedia hace que la arquitectura sea más escalable y modular.
  • Arquitectura de más niveles: Aquí se agregan capas adicionales para procesar otras funcionalidades, como la gestión de bases de datos, servicios web, y más, lo que proporciona aún mayor flexibilidad y escalabilidad.

Ventajas e Inconvenientes:

  • Ventajas:
    • Escalabilidad: Las arquitecturas de tres y más niveles permiten una mejor gestión del rendimiento al separar las responsabilidades entre los componentes.
    • Mantenimiento y Actualización: Es más fácil actualizar o modificar una capa sin afectar a las otras capas.
    • Distribución de carga: En arquitecturas más complejas, como las de más niveles, la carga de trabajo se distribuye mejor entre los servidores y clientes.
    • Seguridad: Se puede controlar el acceso a las capas de datos y lógica de negocio, mejorando la seguridad.
  • Inconvenientes:
    • Complejidad: La implementación y mantenimiento de arquitecturas de más niveles puede ser más compleja, lo que requiere un esfuerzo adicional.
    • Costos: Los sistemas distribuidos pueden ser más costosos debido a la infraestructura adicional y la necesidad de servidores de alto rendimiento.
    • Latencia: Las arquitecturas de más de dos niveles pueden introducir mayor latencia, ya que los datos deben pasar por más capas antes de llegar al usuario final.

Servidores de Aplicaciones:

Un servidor de aplicaciones es un software que gestiona la ejecución de aplicaciones, incluyendo la comunicación entre el cliente y el servidor. Estos servidores permiten que los usuarios interactúen con las aplicaciones sin tener que preocuparse por la infraestructura subyacente. El servidor de aplicaciones maneja la lógica de negocio y puede integrar servicios como bases de datos y servicios web.

Modelos Actuales del Mercado:

En el mercado actual, los modelos más comunes de arquitectura cliente-servidor incluyen:

  • Servicios Web (SOA – Arquitectura Orientada a Servicios): Este modelo se basa en la creación de servicios independientes que interactúan entre sí a través de mensajes, lo que permite una mayor modularidad y flexibilidad en la integración de sistemas.
  • Microservicios: Un enfoque más granular en comparación con SOA, donde las aplicaciones se descomponen en pequeños servicios independientes que pueden ser implementados y escalados de manera autónoma.
  • Buses de Interoperabilidad: Herramientas que permiten que diferentes sistemas de software (a menudo heterogéneos) se comuniquen de manera eficiente entre sí, facilitando la interoperabilidad.

Gobierno SOA:

El Gobierno SOA hace referencia al conjunto de políticas, prácticas y herramientas que regulan la implementación y gestión de servicios en una arquitectura orientada a servicios. Implica la definición de estándares y la gestión de la calidad, seguridad y rendimiento de los servicios.

Aplicación en el Servicio Andaluz de Salud (SAS):

En el contexto del Servicio Andaluz de Salud (SAS), la arquitectura cliente-servidor y las arquitecturas orientadas a servicios se utilizan para integrar sistemas de información en toda la red sanitaria de Andalucía. Estas tecnologías permiten:

  • La integración de sistemas de información hospitalarios y de atención primaria.
  • El intercambio de información entre diferentes entidades sanitarias (hospitales, centros de salud, etc.) de forma segura y eficiente.
  • La mejora de la atención al paciente a través del acceso centralizado a datos médicos, historial clínico, diagnósticos, etc.

Los buses de interoperabilidad permiten que los distintos sistemas de salud, aunque puedan usar tecnologías diferentes, se comuniquen y trabajen de forma conjunta, facilitando una gestión más eficiente de los procesos sanitarios.


Cuestionario Tipo Test:

1. ¿Qué caracteriza a la arquitectura cliente-servidor?

a) El servidor es el encargado de solicitar datos al cliente
b) El cliente y el servidor comparten la misma base de datos
c) El cliente solicita servicios o recursos al servidor, que los procesa y responde
d) El servidor es solo responsable de almacenar los datos

Respuesta correcta: c) El cliente solicita servicios o recursos al servidor, que los procesa y responde

Argumento:

  • Respuesta correcta (c): En la arquitectura cliente-servidor, el cliente realiza solicitudes de servicios o datos, y el servidor responde procesando esas solicitudes.
  • Respuesta incorrecta (a): El cliente es quien solicita, no el servidor.
  • Respuesta incorrecta (b): Aunque el cliente y el servidor pueden compartir datos, la característica principal es la solicitud de servicios del cliente al servidor.
  • Respuesta incorrecta (d): El servidor no solo almacena datos, sino que también procesa y responde a las solicitudes de los clientes.

2. ¿Cuál es una ventaja de una arquitectura de tres niveles en comparación con una de dos niveles?

a) Mayor simplicidad y menos recursos necesarios
b) Mejor separación de responsabilidades, lo que facilita la escalabilidad y mantenimiento
c) Menor latencia en la comunicación
d) Menor coste de implementación

Respuesta correcta: b) Mejor separación de responsabilidades, lo que facilita la escalabilidad y mantenimiento

Argumento:

  • Respuesta correcta (b): La arquitectura de tres niveles permite separar la lógica de presentación, la lógica de negocio y los datos, lo que facilita la escalabilidad y el mantenimiento.
  • Respuesta incorrecta (a): Las arquitecturas de tres niveles son más complejas y requieren más recursos que las de dos niveles.
  • Respuesta incorrecta (c): La latencia suele aumentar con arquitecturas de más niveles debido a la comunicación entre diferentes capas.
  • Respuesta incorrecta (d): La arquitectura de tres niveles generalmente tiene un coste de implementación mayor debido a la complejidad adicional.

3. ¿Qué es un servidor de aplicaciones?

a) Un servidor dedicado únicamente a almacenar bases de datos
b) Un sistema que solo permite la ejecución de aplicaciones web
c) Un software que gestiona la ejecución de aplicaciones y servicios en el servidor
d) Un servidor que solo sirve archivos estáticos al cliente

Respuesta correcta: c) Un software que gestiona la ejecución de aplicaciones y servicios en el servidor

Argumento:

  • Respuesta correcta (c): Los servidores de aplicaciones gestionan la ejecución de aplicaciones y servicios, facilitando la interacción con la base de datos y la lógica de negocio.
  • Respuesta incorrecta (a): Aunque un servidor puede almacenar bases de datos, un servidor de aplicaciones tiene una función más amplia.
  • Respuesta incorrecta (b): Los servidores de aplicaciones pueden gestionar diversas aplicaciones, no solo aplicaciones web.
  • Respuesta incorrecta (d): Un servidor de aplicaciones maneja más que solo archivos estáticos; también gestiona la ejecución de aplicaciones.

4. ¿Qué describe mejor la arquitectura orientada a servicios (SOA)?

a) Un sistema monolítico donde todos los servicios están integrados en una sola aplicación
b) Un enfoque donde las aplicaciones se descomponen en servicios independientes que se comunican entre sí
c) Un modelo de programación que no necesita comunicación entre servicios
d) Una forma de almacenar datos en diferentes servidores

Respuesta correcta: b) Un enfoque donde las aplicaciones se descomponen en servicios independientes que se comunican entre sí

Argumento:

  • Respuesta correcta (b): SOA es un modelo arquitectónico que promueve la creación de servicios independientes que interactúan entre sí a través de una red de comunicación.
  • Respuesta incorrecta (a): SOA implica la descomposición de las aplicaciones, no la integración de todo en una sola aplicación.
  • Respuesta incorrecta (c): SOA depende de la comunicación entre servicios, no de la independencia total.
  • Respuesta incorrecta (d): Aunque SOA puede involucrar varios servidores, su enfoque principal no es el almacenamiento de datos.

5. ¿Cuál es la función principal de un bus de interoperabilidad?

a) Almacenar datos de forma centralizada
b) Facilitar la comunicación entre diferentes sistemas de software
c) Procesar las solicitudes de los clientes
d) Gestionar las actualizaciones del sistema operativo

Respuesta correcta: b) **Facilitar

la comunicación entre diferentes sistemas de software**

Argumento:

  • Respuesta correcta (b): Un bus de interoperabilidad facilita la comunicación entre sistemas de software heterogéneos, permitiendo su integración.
  • Respuesta incorrecta (a): El bus no se encarga de almacenar datos, sino de facilitar la comunicación entre sistemas.
  • Respuesta incorrecta (c): El bus no procesa solicitudes de clientes, sino que gestiona la interacción entre sistemas.
  • Respuesta incorrecta (d): La gestión de actualizaciones del sistema operativo no es la función principal de un bus de interoperabilidad.

Claro, aquí tienes más preguntas para ampliar el cuestionario.


6. ¿Qué caracteriza a la arquitectura cliente-servidor de dos niveles?

a) El cliente gestiona tanto la interfaz de usuario como la lógica de negocio
b) El cliente se encarga de procesar todos los datos y el servidor solo almacena la información
c) El cliente realiza solicitudes al servidor, que procesa y responde sin intermediarios
d) El servidor solo se encarga de la presentación y el cliente de la lógica de negocio

Respuesta correcta: c) El cliente realiza solicitudes al servidor, que procesa y responde sin intermediarios

Argumento:

  • Respuesta correcta (c): En una arquitectura de dos niveles, el cliente realiza solicitudes de servicios o recursos y el servidor responde procesando esas solicitudes.
  • Respuesta incorrecta (a): En una arquitectura cliente-servidor de dos niveles, la lógica de negocio se encuentra generalmente en el servidor, no en el cliente.
  • Respuesta incorrecta (b): El servidor no solo almacena datos, sino que también procesa las solicitudes.
  • Respuesta incorrecta (d): El servidor no solo se encarga de la presentación, sino que también gestiona la lógica de negocio en una arquitectura de más niveles.

7. ¿Cuál es una ventaja de utilizar una arquitectura de tres niveles en lugar de una de dos niveles?

a) Menor latencia y tiempos de respuesta más rápidos
b) Mayor capacidad para manejar la lógica de negocio de forma centralizada
c) Menor costo de implementación
d) La separación de responsabilidades entre presentación, lógica y datos facilita escalabilidad y mantenimiento

Respuesta correcta: d) La separación de responsabilidades entre presentación, lógica y datos facilita escalabilidad y mantenimiento

Argumento:

  • Respuesta correcta (d): La arquitectura de tres niveles separa la presentación, la lógica de negocio y los datos, lo que mejora la escalabilidad y el mantenimiento del sistema.
  • Respuesta incorrecta (a): La latencia puede aumentar en arquitecturas de tres niveles debido a la necesidad de comunicación entre más capas.
  • Respuesta incorrecta (b): La lógica de negocio se gestiona en el nivel intermedio, pero no necesariamente de forma más centralizada que en una arquitectura de dos niveles.
  • Respuesta incorrecta (c): Las arquitecturas de tres niveles suelen ser más costosas y complejas que las de dos niveles.

8. ¿Qué función cumple un servidor de aplicaciones en una arquitectura cliente-servidor?

a) Solo se encarga de gestionar bases de datos
b) Se encarga de ejecutar aplicaciones y gestionar la lógica de negocio en el servidor
c) Solo gestiona las interfaces de usuario
d) Permite a los clientes conectarse al servidor para recibir información estática

Respuesta correcta: b) Se encarga de ejecutar aplicaciones y gestionar la lógica de negocio en el servidor

Argumento:

  • Respuesta correcta (b): El servidor de aplicaciones ejecuta aplicaciones y gestiona la lógica de negocio en el servidor, permitiendo que los clientes interactúen con las funcionalidades del sistema.
  • Respuesta incorrecta (a): Los servidores de aplicaciones no solo gestionan bases de datos, sino que también ejecutan aplicaciones y servicios.
  • Respuesta incorrecta (c): La gestión de interfaces de usuario no es responsabilidad exclusiva del servidor de aplicaciones, sino del cliente.
  • Respuesta incorrecta (d): Los servidores de aplicaciones no solo gestionan contenido estático, sino que también manejan la lógica de negocio y la ejecución de aplicaciones dinámicas.

9. ¿Qué tipo de arquitectura se caracteriza por la descomposición de las aplicaciones en servicios independientes que interactúan entre sí?

a) Arquitectura Monolítica
b) Arquitectura de tres niveles
c) Arquitectura Orientada a Servicios (SOA)
d) Arquitectura de cliente-servidor

Respuesta correcta: c) Arquitectura Orientada a Servicios (SOA)

Argumento:

  • Respuesta correcta (c): La arquitectura orientada a servicios (SOA) se basa en la descomposición de las aplicaciones en servicios independientes que interactúan a través de mensajes.
  • Respuesta incorrecta (a): La arquitectura monolítica no se descompone en servicios, sino que integra todos los componentes en una única unidad.
  • Respuesta incorrecta (b): La arquitectura de tres niveles tiene múltiples capas, pero no se basa en la descomposición de la aplicación en servicios independientes como en SOA.
  • Respuesta incorrecta (d): La arquitectura cliente-servidor es un modelo donde un cliente solicita servicios a un servidor, pero no necesariamente implica la descomposición en servicios independientes.

10. ¿Cuál es el propósito de un bus de interoperabilidad?

a) Mejorar la velocidad de procesamiento del servidor
b) Facilitar la comunicación entre sistemas de software diferentes
c) Reducir la cantidad de datos almacenados en el servidor
d) Mejorar la experiencia del usuario en el cliente

Respuesta correcta: b) Facilitar la comunicación entre sistemas de software diferentes

Argumento:

  • Respuesta correcta (b): El bus de interoperabilidad facilita la comunicación entre diferentes sistemas de software, incluso si son heterogéneos, promoviendo la integración.
  • Respuesta incorrecta (a): El bus de interoperabilidad no mejora directamente la velocidad de procesamiento del servidor, sino que facilita la integración de sistemas.
  • Respuesta incorrecta (c): Un bus de interoperabilidad no tiene como función principal reducir el almacenamiento de datos, sino facilitar la comunicación entre sistemas.
  • Respuesta incorrecta (d): Aunque un bus de interoperabilidad puede mejorar la interacción entre sistemas, no está diseñado para mejorar la experiencia del usuario en el cliente.

11. ¿Qué es la arquitectura SOA (Arquitectura Orientada a Servicios)?

a) Un modelo que no permite la integración de aplicaciones externas
b) Un enfoque de diseño que promueve la creación de servicios reutilizables e independientes
c) Un modelo que requiere que todos los servicios estén dentro de una misma plataforma
d) Un enfoque que utiliza únicamente sistemas monolíticos para evitar la complejidad

Respuesta correcta: b) Un enfoque de diseño que promueve la creación de servicios reutilizables e independientes

Argumento:

  • Respuesta correcta (b): SOA permite la creación de servicios independientes y reutilizables que pueden ser integrados en diferentes plataformas y aplicaciones.
  • Respuesta incorrecta (a): SOA justamente busca facilitar la integración entre diferentes servicios y aplicaciones.
  • Respuesta incorrecta (c): Aunque SOA facilita la integración, no requiere que todos los servicios estén en una misma plataforma.
  • Respuesta incorrecta (d): SOA busca reducir la complejidad a través de la modularización, no utilizando sistemas monolíticos.

12. ¿Cuál es la principal ventaja de la arquitectura de más de tres niveles?

a) Mayor complejidad, pero con una mejor distribución de las cargas de trabajo
b) Reducción de la seguridad y control de acceso
c) Mayor facilidad de mantenimiento y menos escalabilidad
d) Menor coste y menor esfuerzo de implementación

Respuesta correcta: a) Mayor complejidad, pero con una mejor distribución de las cargas de trabajo

Argumento:

  • Respuesta correcta (a): Aunque la arquitectura de más de tres niveles introduce mayor complejidad, permite distribuir mejor las cargas de trabajo y los servicios.
  • Respuesta incorrecta (b): La arquitectura de más de tres niveles no reduce la seguridad, sino que puede mejorarla al segmentar las responsabilidades.
  • Respuesta incorrecta (c): La arquitectura de más de tres niveles puede ser más escalable y fácil de mantener, no menos.
  • Respuesta incorrecta (d): La complejidad y los costos tienden a aumentar en arquitecturas de más de tres niveles.

 

Este cuestionario cubre aspectos clave sobre arquitecturas cliente-servidor, arquitectura orientada a servicios (SOA), y buses de interoperabilidad, aplicados al contexto del Servicio Andaluz de Salud (SAS), con un enfoque en las ventajas, desventajas y aplicaciones de estas tecnologías.

Deja una respuesta

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