jueves, 8 de septiembre de 2011

Actividades 11 y 12 Unidad 1

11.- ELABORAR UN DOCUMENTO DE TRABAJO DONDE SE SEÑALEN LAS DIFERENTES CARACTERÍSTICAS DE LA ARQUITECTURA CLIENTE-SERVIDOR.

El paradigma Cliente-Servidor es un patrón  arquitectónico para el desarrollo de sistemas distribuidos.
Ø  Distribuye una aplicación entre 2 o mas componentes especializados cuya ejecución se distribuye entre 1 o mas equipos.

Ø  Define dos tipos de entidades diferenciadas que se responsabilizan de acciones diferentes: clientes y servidores.
v  Especifica 2 tipos de procesos con roles diferenciados.

Ø  Define un modelo de interacción basado en el concepto de servicio implementado sobre un dialogo petición-respuesta.
v  Cliente inicia el dialogo mediante el envío de peticiones.
v  Servidor presta el servicio y responde las peticiones recibidas.

Cliente:
Conjunto de Software y Hardware que invoca los servicios de uno o varios servidores.

Características del Cliente:
Ø  Componente del sistema que interactúa con el usuario.
Ø  No comparte sus recursos con otros clientes.
Ø  No suelen tener restricciones especiales respecto a rendimiento, habilidad y escalabilidad.
Ø  No suele requerir equipos de altas prestaciones.
Ø  Fallo en un cliente no afecta al resto del sistema.
Ø  Debe dar soporte a restricciones relativas a ergonomía y seguridad.

Funciones comunes del Cliente:
Ø  Mantener y procesar todo el dialogo con el usuario.
Ø  Manejo de pantallas.
Ø  Menús e interpretación de comandos.
Ø  Entrada de datos y validación.
Ø  Procesamiento de ayudas.
Ø  Recuperación de errores.
Ø  Generación de consultas e informes sobre las bases de datos.

Servidor:
Conjunto de Hardware y Software que responde a los requerimientos de un cliente.

Características del Servidor:
Ø  Componente del sistema que presta servicios a los clientes.
Ø  Gestiona y comparte sus recursos con los clientes a los que sirve.
Ø  Suele tener restricciones especiales respecto a redimiento, habilidad, escalabilidad y seguridad.
Ø  Capacidad suficiente para atender múltiples clientes.
Ø  Fallos en el servidor son críticos e invalidan el sistema.
Ø  El número de clientes puede ser muy variable y aumentar.
v  Si es así, se requiere evitar comprometer la seguridad de los recursos o datos gestionados y de los clientes.

Funciones comunes del Servidor:
Ø  Acceso, almacenamiento y organización de datos.
Ø  Actualización de datos almacenados.
Ø  Administración de recursos compartidos.
Ø  Ejecución de toda la lógica para procesar una transacción.
Ø  Procesamiento común de elementos del servidor:
v  Datos
v  Capacidad de CPU
v  Almacenamiento en disco
v  Capacidad de impresión
v  Manejo de memoria
v  Comunicación
Ø  Gestión de periféricos compartidos.
Ø  Control de accesos concurrentes a bases de datos compartidas.
Ø  Enlaces de comunicaciones con otras redes de área local o extensa

Para que los clientes y los servidores puedan comunicarse se requiere una infraestructura de comunicaciones, la cual proporciona los mecanismos básicos de direccionamiento y transporte. La mayoría de los sistemas Cliente/Servidor actuales, se basan en redes locales y por lo tanto utilizan protocolos no orientados a conexión, lo cual implica que las aplicaciones deben hacer las verificaciones.

Entre las principales características de la arquitectura Cliente-Servidor, se pueden destacar las siguientes:
Ø  El servidor presenta a todos sus clientes una interface única y bien definida.
Ø  El cliente no necesita conocer la lógica del servidor, sólo su interface externa.
Ø  El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo.
Ø  Los cambios en el servidor implican pocos o ningún cambio en el cliente.

12. ANALIZAR E IDENTIFICAR LOS COMPONENTES DE UN GESTOR DE BASE DE DATOS EN UN MANEJADOR COMERCIAL Y LAS DIFERENCIAS ENTRE ESTE Y UN LENGUAJE DE PROGRAMACIÓN.

Un sistema de bases de datos se divide en módulos que se encargan de cada una de las responsabilidades del sistema completo. Algunas de estas funciones del sistema de bases de datos las puede proporcionar el sistema operativo de la computadora. En la mayoría de los casos, los sistemas operativos de la computadora proporcionan sólo los servicios más básicos y los sistemas de bases de datos deben construirse sobre esta base.

Así, el diseño de un sistema de bases de datos debe incluir consideraciones de la interfaz entre el sistema de base de datos y el sistema operativo.

Los componentes funcionales de un sistema de base de datos se pueden dividir en:
ü  componentes de procesamiento de consultas
ü  componentes de gestión y almacenamiento.

Componentes de procesamiento de consultas:
Ø  Compilador de DML (Data Manipulation Language), que traduce las instrucciones del DML en lenguaje de consultas a instrucciones a bajo nivel que entiende el motor de evaluación de consultas. Además, el compilador del DML intenta transformar las peticiones del usuario en otras equivalentes pero más eficientes, encontrando así una buena estrategia para ejecutar la consulta.

Ø  Precompilador del DML embebido, que convierte las instrucciones del DML embebidas en un programa de aplicación en llamadas a procedimientos normales en el lenguaje anfitrión. El precompilador debe interactuar con el compilador del DML para generar el código apropiado.

Ø  Intérprete del DDL (Data Definition Language), que interpreta las instrucciones del DDL y las registra en un conjunto de tablas que contienen metadatos.

Ø  Motor de evaluación de consultas, que ejecuta las instrucciones a bajo nivel generadas por el compilador de DML.

Componentes de gestión de almacenamiento proporcionan la interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicación y envío de consultas al sistema.

El gestor de almacenamiento incluye:
Ø  Gestor de autorización e integridad, que comprueba que se satisfagan las ligaduras de integridad y la autorización de los usuarios para acceder a los datos.

Ø  Gestor de transacciones, que asegura que la base de datos quede en un estado consistente a pesar de los fallos del sistema, y que las ejecuciones de transacciones concurrentes ocurran sin conflictos.

Ø  Gestor de archivos, que gestiona la reserva de espacio de almacenamiento en disco y las estructuras de datos usadas para representar la información almacenada en disco.

Ø  Gestor de memoria intermedia, que es responsable de traer los datos del disco de almacenamiento a memoria principal y decidir qué datos tratar en la memoria caché.

Además, se necesitan varias estructuras de datos como parte de la implementación física del sistema:
Ø  Archivos de datos, que almacenan la base de datos en sí.
Ø  Diccionario de datos, que almacena metadatos acerca de la estructura de la base de datos.
Ø  Índices, que proporcionan acceso rápido a elementos de datos que tienen valores particulares.
Ø  Datos estadísticos, que almacenan información estadística sobre los datos en la base de datos.

DIFERENCIAS ENTRE UN SISTEMA GESTOR DE BASE DE DATOS Y UN LENGUAJE DE PROGRAMACIÓN.

Los SGBD son paquetes de software muy complejos que deben proporcionar una serie de servicios que van a permitir almacenar y explotar los datos de forma eficiente.

Un lenguaje de programación se define como un conjunto de caracteres, símbolos, representaciones y reglas que permiten introducir y tratar la información en un ordenador, este tipo de lenguaje lo clasificaríamos como un lenguaje artificial.

Todos los SGBD ofrecen lenguajes e interfaces apropiadas para cada tipo de usuario: administradores, diseñadores, programadores de aplicaciones y usuarios finales. Los lenguajes van a permitir al administrador de la BD especificar los datos que componen la BD, su estructura, las relaciones que existen entre ellos, las reglas de integridad, los controles de acceso, las características de tipo físico y las vistas externas de los usuarios.

Los lenguajes del SGBD se clasifican en:
Ø  Lenguaje de definición de datos (LDD o DDL): se utiliza para especificar el esquema de la BD, las vistas de los usuarios y las estructuras de almacenamiento. Es el que define el esquema conceptual y el esquema interno. Lo utilizan los diseñadores y los administradores de la BD.

Ø  Lenguaje de manipulación de datos (LMD o DML): se utilizan para leer y actualizar los datos de la BD. Es el utilizado por los usuarios para realizar consultas, inserciones, eliminaciones y modificaciones.

v  Procedurales, en los que el usuario será normalmente un programador y especifica las operaciones de acceso a los datos llamando a los procedimientos necesarios.

v  No procedurales son los lenguajes declarativos. Estos lenguajes permiten especificar los datos a obtener en una consulta, o los datos a modificar, mediante sentencias sencillas.

Ø  La mayoría de los SGBD comerciales incluyen lenguajes de cuarta generación que permiten al usuario desarrollar aplicaciones de forma fácil y rápida, también se les llama herramientas de desarrollo.


Referencias de la investigación:


Elaborado por: Elith Avilés Ochoa
Carrera Lic. Informática
5º Semestre Grupo “A”