Bloque 3 - Tema 7: Arquitectura Cliente/Servidor
41 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es una ventaja de la arquitectura multicapa mencionada?

  • Limitación en la escalabilidad
  • Incremento del rendimiento (correct)
  • Simplicidad en el mantenimiento del sistema (correct)
  • Requiere menos servidores

¿Cuál de las siguientes es una desventaja al implementar una arquitectura multicapa?

  • Aumento de la complejidad (correct)
  • Disminución de la complejidad
  • Menor coste económico
  • Reducción de la escalabilidad

¿Qué papel desempeñó Java en las arquitecturas multicapa?

  • Eliminó la necesidad de servidores
  • Solo mejoró las interfaces estáticas
  • Limitó el desarrollo de aplicaciones web
  • Facilitó el desarrollo de lógica de negocio compleja (correct)

¿Cuál era el objetivo inicial de las arquitecturas multicapa?

<p>Alcanzar flexibilidad y seguridad a bajo coste (A)</p> Signup and view all the answers

¿Cuál fue un reto en la implementación de las arquitecturas multicapa al final de los 90?

<p>Adaptación de tecnologías existentes a nuevas necesidades (A)</p> Signup and view all the answers

¿Qué tipo de aplicaciones se beneficiaron del uso de arquitecturas multicapa?

<p>Desarrollos corporativos estratégicos (D)</p> Signup and view all the answers

¿Qué se buscaba evitar mediante el uso de arquitecturas multicapa?

<p>El mantenimiento del software de clientes (B)</p> Signup and view all the answers

¿Qué significan las siglas REST?

<p>Representational, State, Transfer (A)</p> Signup and view all the answers

¿Cuál es la principal motivación detrás del desarrollo de REST?

<p>Describir cómo debería funcionar la Web y establecer un marco de trabajo para los estándares de protocolos Web (D)</p> Signup and view all the answers

¿Qué papel desempeñan los enlaces en las representaciones de recursos REST?

<p>Permiten que el cliente cambie su estado accediendo a diferentes URIs (C)</p> Signup and view all the answers

¿Quiénes fueron responsables de definir un estándar de arquitectura para la Web?

<p>El Internet Engineering Taskforce (IETF) y el World Wide Web Consortium (W3C) (D)</p> Signup and view all the answers

¿Cómo ha evolucionado el término REST a lo largo del tiempo?

<p>Ha pasado de ser un conjunto de principios a describir cualquier interfaz Web simple que utiliza XML y HTTP (C)</p> Signup and view all the answers

¿Cuál es el objetivo principal de la arquitectura SOA?

<p>Integrar aplicaciones enfocándose en la construcción de servicios. (D)</p> Signup and view all the answers

Según el manifiesto SOA, ¿qué es priorizado sobre los beneficios específicos de los proyectos?

<p>Las Metas Estratégicas. (C)</p> Signup and view all the answers

¿Cómo define OASIS la Arquitectura Orientada a Servicios (SOA)?

<p>Como un paradigma para organizar y utilizar capacidades distribuidas. (B)</p> Signup and view all the answers

¿Qué elemento NO es parte de lo que define la arquitectura SOA?

<p>Estrategias de marketing. (A)</p> Signup and view all the answers

¿Qué significa la interoperabilidad intrínseca en el contexto de SOA?

<p>La capacidad de integrar diferentes plataformas sin esfuerzo. (B)</p> Signup and view all the answers

¿Cuál es un componente clave en la construcción de servicios en SOA?

<p>La exposición de funcionalidades definidas. (D)</p> Signup and view all the answers

¿Cuál es uno de los principios mencionados en el manifiesto SOA?

<p>El valor del negocio por encima de la estrategia técnica. (A)</p> Signup and view all the answers

¿Qué rol juega la orquestación en SOA?

<p>Ser responsable de la ejecución de un conjunto de servicios. (C)</p> Signup and view all the answers

¿Qué organización es responsable de la definición de estándares para SOA?

<p>OASIS. (C)</p> Signup and view all the answers

¿Cuál es uno de los principios del diseño orientado a servicios?

<p>Contrato de servicio (C)</p> Signup and view all the answers

¿Qué significa 'bajo acoplamiento' en el contexto de SOA?

<p>Evitar acoplarse a la tecnología que los implementa (B)</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones describe un servicio 'sin estado'?

<p>Delegar el manejo de estados en la aplicación (D)</p> Signup and view all the answers

En el diseño orientado a servicios, ¿qué se entiende por reusabilidad?

<p>Transformación de servicios en activos para la empresa (A)</p> Signup and view all the answers

¿Cuál es el propósito principal de la capa de coreografía en la arquitectura SOA?

<p>Establecer el flujo para servicios que actúan juntos (C)</p> Signup and view all the answers

¿Qué significa que un servicio 'garantiza su descubrimiento'?

<p>Los servicios deben estar disponibles para que otros los encuentren (C)</p> Signup and view all the answers

¿Qué característica define a un proceso como 'orquestación' de servicios?

<p>Controlado totalmente por una única entidad (B)</p> Signup and view all the answers

¿Qué papel juegan las capas transversales en la arquitectura SOA?

<p>Encargarse de tareas secundarias como integración y calidad (A)</p> Signup and view all the answers

En qué se enfoca 'el refinamiento evolutivo' según los principios de diseño:

<p>Adaptación gradual a los cambios y mejoras (D)</p> Signup and view all the answers

¿Qué se entiende por 'abstracción' en el contexto del diseño orientado a servicios?

<p>Proporcionar solo la información mínima requerida (D)</p> Signup and view all the answers

¿Cómo se define un proceso de coreografía?

<p>Define colaboraciones entre aplicaciones independientes. (C)</p> Signup and view all the answers

¿Cuál es una característica principale de la orquestación?

<p>Solo una entidad conoce el flujo de control. (A)</p> Signup and view all the answers

¿Qué encierra la arquitectura de microservicios?

<p>Pequeños servicios independientes que funcionan de manera autónoma. (B)</p> Signup and view all the answers

¿Cuál de las siguientes afirmaciones sobre SOA es correcta?

<p>SOA define qué servicios se deben utilizar. (B)</p> Signup and view all the answers

¿Qué significa que un proceso de coreografía sea 'no ejecutable'?

<p>Es más una guía o protocolo de negocio que un flujo de trabajo específico. (C)</p> Signup and view all the answers

¿Qué tecnología se puede utilizar para construir SOA?

<p>Cualquier tecnología basada en servicios. (C)</p> Signup and view all the answers

¿Qué implica que cada microservicio se despliegue de forma independiente?

<p>Cada microservicio puede ser actualizado sin afectar a otros. (B)</p> Signup and view all the answers

¿Qué describe mejor el comportamiento de una coreografía de servicios?

<p>Se basa en interacciones y protocolos comunes entre entidades. (D)</p> Signup and view all the answers

¿Cuál es el rol de los mecanismos ligeros en la arquitectura de microservicios?

<p>Facilitar la comunicación entre servicios de manera eficiente. (D)</p> Signup and view all the answers

¿Qué aspecto de un servicio es fundamental en la arquitectura de microservicios?

<p>La implementación de una funcionalidad completa del negocio. (D)</p> Signup and view all the answers

Flashcards

Arquitectura multicapa

Una alternativa a la arquitectura cliente/servidor clásica, que permite un entorno cliente ligero y evita el mantenimiento de software de PCs cliente.

Arquitectura cliente/servidor clásica

Un modelo de arquitectura de software donde el cliente solicita servicios y el servidor los proporciona.

Mantenimiento más sencillo (arquitectura multicapa)

No necesitas reinstalar los clientes al modificar la aplicación, y el bajo acoplamiento entre funcionalidades facilita el mantenimiento.

Escalabilidad (arquitectura multicapa)

La capacidad de un sistema para manejar un aumento de la carga de trabajo sin disminuir el rendimiento.

Signup and view all the flashcards

Java (en desarrollo web)

Un lenguaje de programación que impulsó el desarrollo de aplicaciones con arquitectura multicapa, facilitando la lógica de negocio compleja y el enriquecimiento de las interfaces de usuario.

Signup and view all the flashcards

Servlets y JSPs (en Java)

Tecnologías que permiten desarrollar la lógica de negocio en los servidores web en el contexto de las arquitecturas multicapa.

Signup and view all the flashcards

Arquitectura de 3 niveles

Un tipo específico de arquitectura multicapa que separa la aplicación en tres componentes principales.

Signup and view all the flashcards

Arquitectura Orientada a Servicios (SOA)

Un paradigma para organizar y utilizar capacidades distribuidas controladas por diferentes propietarios y dominios, ofreciendo una forma uniforme de ofrecer, descubrir, interactuar y usar dichas capacidades.

Signup and view all the flashcards

Objetivo principal de SOA

Proporcionar una estrategia para la integración de aplicaciones, enfocándose en la construcción de servicios, no de aplicaciones finales.

Signup and view all the flashcards

Servicio (SOA)

Unidad de funcionalidad expuesta y definida, encargada de ejecutar acciones específicas.

Signup and view all the flashcards

Aplicación (SOA)

Responsable de orquestar la ejecución de un conjunto de servicios para una tarea.

Signup and view all the flashcards

Reutilización de Servicios (SOA)

Posibilidad de emplear los mismos servicios en otras aplicaciones; aumenta la eficiencia.

Signup and view all the flashcards

Interacciones entre Servicios (SOA)

Cómo se comunican y coordinan los servicios entre sí.

Signup and view all the flashcards

Valor del Negocio (SOA)

Prioridad por encima de la estrategia técnica en SOA.

Signup and view all the flashcards

Metas Estratégicas (SOA)

Prioridad por encima de logros específicos de proyectos en SOA.

Signup and view all the flashcards

Interoperabilidad Intrínseca (SOA)

Importancia de la facilidad de interacción entre componentes.

Signup and view all the flashcards

Orquestación

Un proceso que define completamente las interacciones con los servicios componentes y la lógica necesaria para gestionar esas interacciones. La entidad que orquesta conoce el flujo de control e información.

Signup and view all the flashcards

Coreografía

Un proceso que describe las colaboraciones entre distintos servicios, sin importar el lenguaje o plataforma. No hay un controlador central y se considera un proceso público y no ejecutable.

Signup and view all the flashcards

¿Qué es SOA?

SOA (Arquitectura Orientada a Servicios) define qué servicios se ofrecen, mientras que las tecnologías de servicios web como SOAP definen cómo se implementan esos servicios.

Signup and view all the flashcards

Microservicios

Un enfoque de desarrollo que crea una aplicación como conjunto de servicios pequeños, independientes, que se ejecutan en sus propios procesos y se comunican mediante API ligeras.

Signup and view all the flashcards

Microservicio: Función

Cada microservicio implementa una funcionalidad completa del negocio.

Signup and view all the flashcards

Microservicio: Despliegue

Los microservicios se pueden desplegar de forma independiente, lo que facilita la gestión y actualización.

Signup and view all the flashcards

Microservicio: Lenguajes

Los microservicios pueden utilizar diferentes lenguajes de programación y tecnologías de almacenamiento de datos.

Signup and view all the flashcards

Microservicio: Comunicación

Los microservicios se comunican mediante mecanismos ligeros como API HTTP.

Signup and view all the flashcards

Microservicio: Ejemplo

Un servicio de compra de productos, un servicio de envío de correos electrónicos o un servicio de autenticación de usuarios.

Signup and view all the flashcards

Principios SOA

Un conjunto de principios que guían el diseño de arquitecturas orientadas a servicios (SOA). Enfatizan la flexibilidad, la modularidad y la evolución sobre la optimización inicial y la perfección.

Signup and view all the flashcards

Contrato de servicio

Establece un acuerdo formal entre un proveedor y un consumidor de un servicio, definiendo claramente las interfaces, los datos y las reglas de comunicación.

Signup and view all the flashcards

Bajo acoplamiento

Un principio de diseño que busca minimizar las dependencias entre los componentes del sistema. Los servicios deben ser independientes de la tecnología que los implementa.

Signup and view all the flashcards

Abstracción

Los servicios solo exponen la información esencial, ocultando la complejidad interna.

Signup and view all the flashcards

Reusabilidad

Los servicios deben ser diseñados para ser utilizados en múltiples contextos y aplicaciones.

Signup and view all the flashcards

Autonomía

Los servicios deben ser autosuficientes y capaces de operar independientemente de otros servicios.

Signup and view all the flashcards

Sin estado

Los servicios no deben mantener información sobre las interacciones anteriores. El manejo del estado se delega a la aplicación que utiliza el servicio.

Signup and view all the flashcards

Descubrimiento del servicio

Los servicios deben ser fácilmente descubribles por las aplicaciones que necesitan usarlos.

Signup and view all the flashcards

REST

Un estilo arquitectónico para la web que se basa en la interacción con recursos a través de URIs (Uniform Resource Identifiers).

Signup and view all the flashcards

REpresentational

Significa que el servidor devuelve una representación del recurso solicitado al cliente.

Signup and view all the flashcards

State

La representación del recurso define el estado actual del mismo, que es enviado al cliente.

Signup and view all the flashcards

Transfer

El cliente puede navegar entre los diferentes estados de los recursos a través de enlaces disponibles en las representaciones.

Signup and view all the flashcards

Principios de REST

Los principios de REST buscan describir cómo debería funcionar la web y crear un marco para estándares de protocolos web.

Signup and view all the flashcards

Study Notes

Bloque 3 - Tema 7: Arquitectura de Sistemas Cliente/Servidor y Multicapa

  • Arquitectura de Sistemas Cliente/Servidor y Multicapa: Describe la estructura de aplicaciones que interactúan entre sí a través de una red.
  • Componentes: Las capas de presentación, lógica de negocio y datos son los principales componentes.
    • Capa de Presentación: Presenta la información al usuario y gestiona la interacción con él.
    • Capa de Lógica de Negocio: Procesa la información, realiza cálculos y gestiona las reglas de negocio.
    • Capa de Datos: Almacena y recupera la información de las bases de datos.
  • Arquitecturas de Servicios Web y Protocolos Asociados: Define diferentes tipos de arquitecturas de desarrollo de software para la web, incluyendo los protocolos utilizados para la comunicación entre sistemas
  • Recursos Compartidos: Un servidor puede atender a múltiples clientes al mismo tiempo, compartiendo recursos.
  • Protocolos Asimétricos: Los clientes solicitan servicios a los servidores, mientras que los servidores esperan pasivamente las solicitudes.
  • Separación de Funcionalidad: Las funciones se distribuyen entre clientes y servidores.
  • Código Reutilizable: Los servicios en un sistema distribuido pueden reutilizarse en varios servidores.
  • Independencia: El software puede estar desacoplado del hardware y del sistema operativo.
  • Integridad: Los datos y el código del servidor se centralizan para facilitar el mantenimiento y control.
  • Escalabilidad: Los sistemas cliente/servidor se pueden escalar horizontal y verticalmente (añadiendo/eliminando clientes o migrando a servidores más potentes)
  • Interoperabilidad: Permite que sistemas cliente/servidor diferentes plataformas funcionen entre sí.
  • Transparencia de Acceso: Los recursos locales y remotos se acceden de forma similar.
  • Transparencia de Localización: La localización del servidor no afecta a la interacción cliente-servidor.
  • Transparencia de Concurrencia: Varios usuarios pueden compartir recursos simultáneamente.
  • Transparencia de Replicación: Se pueden emplear múltiples copias de recursos para mejorar la fiabilidad.
  • Transparencia frente a Fallos: La aplicación puede recuperarse de los fallos.
  • Transparencia de Prestaciones: Se pueden reconfigurar los recursos para optimizar las prestaciones.
  • Transparencia de Escalabilidad: El sistema puede ampliarse sin cambiar su estructura.
  • Encapsulación de Servicios: Los servidores se especializan en proporcionar servicios específicos.
  • Intercambios basados en Mensajes: Los clientes y servidores intercambian mensajes y respuestas.

Arquitectura Mononivel (1 Nivel)

  • Única Máquina: Todas las capas (presentación, lógica y datos) residen en la misma máquina.
  • Centralizada: El servidor es responsable de todas las capas.
  • Obsoleta: Poco escalable y costoso de mantener con un gran número de usuarios.

Arquitectura Cliente/Servidor (2 Niveles)

  • Separación: El cliente y el servidor interactúan a través de la red.
  • Front-end (Cliente): Se encarga de la presentación y algunas acciones del negocio.
  • Back-end (Servidor): Procesa solicitudes, gestiona datos y proporciona servicios.
  • Protocolos: Se utilizan protocolos de comunicaciones para la comunicación entre cliente y servidor.

Arquitectura de 3 Niveles

  • Tres Capas: Presentaciones, lógica de negocio y datos en capas separadas.
  • Más Compleja: Ofrece mayor escalabilidad y mantenimiento que sistemas de 2 niveles.

Arquitectura Orientada a Servicios (SOA)

  • Servicios Interconectados: Se basa en la creación de servicios que se interconectan para resolver un problema.
  • Reutilizables: Los servicios se crean para ser reutilizados en otras aplicaciones.

Arquitectura de Microservicios

  • Muchos Servicios: La aplicación se divide en servicios pequeños e independientes.
  • Débilmente Acoplados: Servicios interrelacionados mediante APIs.
  • Autónomos: Cada servicio puede desarrollarse, implementarse y actualizarse por separado.
  • Ventajas: Mayor flexibilidad, escalabilidad y tiempo de desarrollo.

Servicios Web SOAP

  • Protocolo SOAP: Emplea XML para definir los mensajes y la estructura de las peticiones.
  • Descripciones WSDL: Lenguaje para definir las interfaces de los servicios.
  • Registro de Servicios UDDI: Proporciona un directorio de servicios.

Servicios Web RESTful

  • Interfaz: Utilizando protocolos HTTP, generalmente.
  • Basado en Recursos: Considera los recursos como la base de una comunicación.
  • Formato de Datos: Json es un formato común usado.
  • Códigos de estado HTTP (Información): Son claves para comprender si una comunicación tuvo éxito, o cuál fue el problema.

Arquitectura Hexagonal

  • Desacople: Se separa el dominio del resto de la aplicación para fomentar la reutilización.
  • Interfaz: Requiere definir interfaz clara entre las capas
  • Modularidad: Se fomenta la modularidad y la flexibilidad.

Frameworks

  • Apache Axis2: Para SOAP y REST.
  • Apache CXF: Para SOAP y REST.
  • Jersey: Para REST.
  • RESTEasy: Para REST.
  • WCF: Para SOAP y REST (parte de .NET).
  • gSOAP: Para SOAP (C/C++).
  • CodeIgniter, Zend, Laravel: Para PHP (SOAP y REST).
  • OpenAPI/Swagger: Especificación para REST.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Explora la arquitectura de sistemas cliente/servidor y multicapa, incluyendo las capas de presentación, lógica de negocio y datos. Aprende sobre las arquitecturas de servicios web y los protocolos utilizados para la comunicación entre sistemas. Descubre cómo un servidor puede manejar múltiples clientes simultáneamente.

More Like This

Client-Server Architecture
22 questions

Client-Server Architecture

JubilantExuberance avatar
JubilantExuberance
Client-Server Architecture Basics
24 questions

Client-Server Architecture Basics

InstructiveNephrite4861 avatar
InstructiveNephrite4861
Client-Server Architecture Overview
11 questions
Use Quizgecko on...
Browser
Browser