Conceptos clave sobre arquitectura Cliente/Servidor y RPC

Conceptos clave sobre arquitectura Cliente/Servidor

1.- Asocie el número (en el casillero opción) de una de las siguientes alternativas que corresponda a los siguientes conceptos.

  • Middleware: es el elemento que corresponde a la interfaz que provee la conectividad entre cliente y el servidor para poder intercambiar mensajes.
  • Desencadenantes: son mecanismos que permiten realizar acciones automáticamente sobre los datos, las cuales están asociadas a algún evento definido. Normalmente
  • Funcional: la computación cliente/servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aun en entornos multiplataforma. Es una definición desde el punto de vista
  • Tamaño de componentes: este tipo de clasificación se basa en los grados de libertad que brinda el modelo cliente/servidor para balancear la carga de proceso entre los niveles de presentación, aplicación y base de datos.
  • Cliente: procesar la lógica de la aplicación y hacer validaciones locales es una función que lleva a cabo el (cliente)
  • Dos planos: esta estructura se caracteriza por la conexión directa entre el proceso cliente y un administrador de base de datos
  • Procedimientos almacenados: en este esquema el cliente envía llamadas a funciones que residen en la base de datos, y esta quien resuelve y procesa la totalidad de las instrucciones SQL agrupadas en la mencionada función.
  • Capas o planos:
  • SQL remoto: es el procedimiento en el cual el cliente envía mensajes con solicitudes SQL al servidor de base de datos y el resultado de cada instrucción SQL es devuelto por la red, no importando si son uno, diez, cien o mil registros
  • Tres planos: esta estructura se caracteriza por elaborar la aplicación en base a dos capas principales de software, más la capa correspondiente al servidor de base de datos.
  • Restricciones: son acciones que se realizan asociadas a algún evento determinado y están orientadas a llevar a cabo validaciones más simples de datos
  • Fat-client: el grueso de la aplicación es ejecutada en el cliente, es decir, el nivel de presentación y el nivel de aplicación corren en un único proceso cliente
  • Servidor: procesar la lógica de la aplicación y realizar validaciones a nivel de base de datos, es una función que la lleva a cabo el (servidor)

Selección múltiple

  1. Reduce el tráfico por la red al procesar los datos en la misma base de datos, haciendo viajar solo el resultado final de un conjunto de instrucciones SQL. Es una ventaja de
    Dos planos y SQL remoto
  2. Cuando es necesario añadir un código para control de la concurrencia en acceso a datos compartidos del servidor en un inconveniente de
    Multi-thread
  3. El enviar el mensaje de llamada y encaminar el mensaje de llamada a la función que debe manejarlo, es la función de
    Dispatching
  4. Es el elemento, cuyo objetivo es imitar el funcionamiento de una llamada a procedimiento local
    RPC
  5. Es la semántica de RPC que se retransmiten las peticiones hasta que se recibe una respuesta, pero el servidor no filtra las peticiones. Si el servidor falla, el cliente es advertido mediante una
    Al menos una vez
  6. Es la función cuya petición es servida por una tarea diferente. Y no es necesario crear estructuras de datos para almacenar el contexto de una petición cuando se hace necesario esperar
    Multi-thread
  7. Cuando el servidor no controla cuantos ni que clientes tiene, no da ninguna garantía más ala de la ejecución correcta de una petición de servicio y puede cambiar su información sin necesidad de comunicarse con los clientes. Son las características de:
    Stateless
  8. Este directorio contiene información temporal de los programas (lo cual no implica que se pueda borrar su contenido, de hecho no se debe hacer)
    /var

Esquema: complete el siguiente diagrama para que corresponda con el fases de un RPC.

Imagen

Desarrollo

1. Nombre las 3 opciones de almacenamiento de Red Hat:

Soporte de encriptación de datos del dispositivo

2. Nombre 2 de las 5 desventajas de cliente servidor implementado con procedimientos almacenados

R: No existen dos implementaciones de proveedores iguales.
Se pierde la independencia entre el código de la aplicación

3. Nombre 3 de los 10 subdirectorios de /usr de Red Hat

R:
usr/info ficheros de información de GNU
usr/lib librerías generales de los programas
usr/src código fuente de programa

4. Nombre las acciones que realiza el stub de cliente

R:
Envía la solicitud
Espera la respuesta
Ejecuta el marshaling
Ejecuta el binding

5. Nombre las 6 características de seguridad de Red Hat

  • Las mejoras SELinux incluyen políticas objetivo y seguridad de nivel múltiple para todos los servicios
  • SEtroubleshooter GUI simplifica la administración de SELinux
  • Directorio integrado y capacidades de seguridad
  • Mejoras IPSEC para la seguridad y el rendimiento
  • Las mejoras ExecShield, tales como call frame Canary word, aumentan las defensas contra los hackers
  • Las nuevas herramientas de auditoría brindan una importante nueva búsqueda/informe y monitoreo en tiempo real

6. RPC’s ligera

  • Frecuentemente, cliente y servidor se encuentran en el mismo nodo.
  • Es posible reducir el número de copias de los parámetros.
  • En una RPC normal, se efectúan al menos 2 llamadas al sistema (envío de mensaje y recepción).
  • Al menos 4 copias de los parámetros:
    • Marshaling
    • Paso al kernel para construir mensaje
    • Recepción de los parámetros en el espacio del servidor
    • Unmarshal
  • LRPC:
    • Uso de memoria compartida entre cliente/servidor
    • Uso de la misma tarea para evitar context-switch y llamadas al sistema.

Binding: implementación

  • El binder es el servicio del cual todos los demás dependen.
  • Suele tener incorporado algún esquema de soporte de fallos.
    • i.e. replicación, almacenamiento de datos en memoria estable.
  • Generalmente uno por nodo que accede a servicios RPC.
  • Encontrar el binder debe ser independiente del servicio de binder mismo.
    • Generalmente disponible en una dirección bien conocida
      • Nodo local.
      • Puerto estándar.

Cliente/Servidor Tres Planos: Características

Ventajas de la clasificación de tres planos

  • Reduce el tráfico de información en la red por lo que mejora el rendimiento de los sistemas (especialmente respecto de la estructura en dos planos).
  • Brinda una mayor flexibilidad de desarrollo y de elección de plataformas sobre la cual montar las aplicaciones.
  • Provee escalabilidad horizontal y vertical.
  • Se mantiene la independencia entre el código de la aplicación (reglas y conocimiento del negocio) y los datos, mejorando la portabilidad de las aplicaciones.
  • Los lenguajes sobre los cuales se desarrollan las aplicaciones son estándares lo que hace más exportables las aplicaciones entre plataformas.
  • Dado que mejora el rendimiento al optimizar el flujo de información entre componentes, permite construir sistemas críticos de alta confiabilidad.
  • El mismo hecho de localizar las reglas del negocio en su propio ambiente, en vez de distribuirlos en la capa de interfaz de usuario, permite reducir el impacto de hacer mantenimiento, cambios urgentes de última hora o mejoras al sistema.
  • Disminuye el número de usuarios (licencias) conectados a la base de datos.

Desventajas

  • Dependiendo de la elección de los lenguajes de desarrollo, puede presentar mayor complejidad en comparación con cliente/servidor dos planos.
  • Existen pocos proveedores de herramientas integradas de desarrollo con relación al modelo cliente/servidor dos planos, y normalmente son de alto costo.
  • Debido a estas desventajas es aquí la mayor importancia del Generador (aplicación creada en el presente trabajo).

grep -i «coquimbo» datos–> solo coquimbo
grep -v «coquimbo» datos. –> todo excepto Coquimbo
nl -v500 -i10 datos –> del 500 muestra de 10 en 10
cut -d «;» -f 1,3 datos—> muestra cortado
paste -d «;» datos5 datos6 > datos7—> pega archivos en uno nuevo

Ventajas de cliente/servidor implementado con procedimientos almacenados

  • Presenta las mismas ventajas de una arquitectura dos planos con procedimientos almacenados, pero mejora considerablemente el rendimiento sobre ésta, dado que reduce el tráfico por la red al procesar los datos en la misma base de datos, haciendo viajar sólo el resultado final de un conjunto de instrucciones SQL.

Desventajas de cliente/servidor implementado con procedimientos almacenados

  • Si bien la complejidad de desarrollo se ve disminuida, se pierde flexibilidad y escalabilidad en las soluciones implantadas (especialmente respecto de cliente/servidor en tres planos, como se verá más adelante).
  • Obliga a basar el grueso de la aplicación en SQL extendido, propios del proveedor de la base de datos que se elija. Debiera considerarse que sí bien los procedimientos almacenados (stored procedures), los desencadenantes (triggers) y las reglas (constraint) son útiles, en rigor son ajenos al estándar de SQL:
  • No existen dos implementaciones de proveedores iguales.
  • El lenguaje para la descripción de los procedimientos almacenados y probablemente su funcionalidad varía de un proveedor a otro. Lo que implica que los procedimientos almacenados no son totalmente exportables entre plataformas de distintos proveedores.
  • Se pierde la independencia entre el código de la aplicación (conocimiento y reglas del negocio) y los datos.

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.