You are on page 1of 9

UNIVERSIDAD INTERAMERICANA DE PUERTO RICO

RECINTO METRO

Maestra en Ciencias en Computacin en Sistemas Abiertos de Informacin

COIS5120: REDES Y ARQUITECTURA CLIENTE SERVIDOR

TRABAJO DE ARQUITECTURAS

Carla N. Ferrer Virella

SECCIN #21589

Email: ferrer.virella@gmail.com

#Estudiante: M00535719
1. Mencione y describa los "base services" que debe proveer un servidor.

Anticipacin de la tarea Un sistema operativo con preferencia en mltiples tareas debe

asignar espacios de tiempo fijos para la ejecucin de cada tarea. Esto es mucho ms fcil y

seguro para escribir un servidor de programas de mltiples tareas en ambientes donde el

sistema operativo automticamente maneja todos los cambios de tareas.

Prioridad de la tarea Un sistema operativo debe enviar tareas basadas en su prioridad.

Esta caracterstica le permite a los servidores diferenciar el nivel de servicio basado en la

prioridad de sus clientes.

Semforos Un sistema operativo debe proveer mecanismos de sincronizacin simple

para mantener tareas simultneas y evitar que se topen unas con otras cuando accedan a

recursos compartidos. Estos mecanismos sin utilizados para sincronizar las acciones de las

tareas de un servidor independiente y alertarlos cuando algn evento significativo ocurre.

Comunicacin entre procesos Un sistema operativo debe proveer los mecanismos que

permitan procesos independientes para intercambiar y compartir data.

Comunicacin entre procesos local y remota Un sistema operativo debe permitir

redireccin transparente de procesos que llama a un proceso remoto sobre una red sin que

la aplicacin est al tanto. La extensin de la comunicacin entre procesos a travs de los

lmites de las mquinas es la clave para el desarrollo de aplicaciones donde los recursos y

los procesos pueden mover fcilmente a travs de las mquinas.

Hilos (Threads) Estas son unidades de concurrencia provistas por el mismo programa.

Los hilos son utilizados para crear un evento dirigido por servidores de programas

simultneamente. Cada espera de evento puede ser asignada a un hilo que lo bloquea hasta

que el evento ocurra.


Proteccin entre tareas El sistema operativo debe proteger las tareas de interferir con

cada uno de los otros recursos. Una sola tarea no debe ser capaz de destruir un sistema

entero. La proteccin tambin se extiende al sistema de archivos y llama al sistema

operativo.

Sistema de archivos de alto rendimiento para mltiples usuarios El sistema de

archivos debe apoyar mltiples tareas y proveer los bloqueos que protejan la integridad de

la data. El servidor de programas tpicamente trabaja en varios archivos a la vez. El sistema

de archivos debe soportar un gran nmero de archivos abiertos sin mucha deterioracin en

su rendimiento.

Manejo eficiente de la memoria El sistema de memoria debe soportar eficientemente

grandes programas y grades objetos de data. Estos programas y objetos de data se

intercambian fcilmente de un disco a otro.

Extensiones de tiempo de ejecucin vinculadas dinmicamente Los servicios de un

sistema operativo se deben poder extender. Un mecanismo debe ser provisto para permitir

a los sistemas crecer en un tiempo determinado sin recompilar el sistema operativo.

Mencione y describa los 4 tipos de clientes.

Los clientes de clasifican en 3 categoras: Non-GUI Clients (se divide en 2 sub-categoras),

GUI Clients y OOUI Clients.

1. Non-GUI Clients (Clientes Sin Interfaz Grfica de Usuario) consiste en aplicaciones

que generan las peticiones del servidor con una mnima cantidad de interaccin humana.

Clientes Sin Interfaz Grfica de Usuario que no necesitan mltiples tareas - ejemplos

incluyen mquinas de cajeros automticos, lectores de barra, telfonos celulares,


mquinas de fax, entre otros. Estos clientes proveen una interfaz humana simple en el

ciclo de generacin de solicitudes.

Clientes Sin Interfaz Grfica de Usuario que necesitan mltiples tareas - ejemplos

incluyen robots, controladores, entre otros. Estos clientes a menudo requieren a tiempo

real y eventos conducidos por servicios de mltiples tareas.

2. Clientes Con Interfaz Grfica de Usuario son aplicaciones donde pedidos ocasionales

al servidor resultan de la interaccin de un humano con la Interfaz Grfica de Usuario. La

simplicidad de la interface son una buena opcin para la corriente principal y aplicaciones

con tareas repetitivas y de alto volumen. La interfaz grfica reemplaza las pantallas verdes

con dilogos en grficas, colores, barras de men, entre otros.

3. Clientes Con Interfaz Orientada a Objetos de Usuario son utilizados por trabajadores

de informacin haciendo tareas variables cuya secuencia no puede ser predicha. Ejemplos

incluyen sistemas de entrenamiento basados en multimedios, consolas de administracin

de sistemas, entre otros. Este cliente se enfoca en los objetos que requieran completar una

tarea. Tambin provee una metfora comn para crear, copiar, mover, conectar y borrar

algn objeto del escritorio. Una de sus mayores caractersticas es el concepto de vistas

mltiples de objetos.

2. Defina Transparencia de acuerdo a los autores del texto en el captulo 7, compare con las

reglas de Date segn las presenta el libro de Oracle Networking, donde coinciden y donde

difieren.

Segn el captulo 7 transparencia significa ocultar la red y sus servidores a los usuarios e

incluso a los programadores de aplicaciones. En cuanto al acceso en las reglas de Date los datos
son propiedad y manejados localmente. Las operaciones locales siguen siendo puramente locales

lo que coincide con los autores del texto que indican que gracias al acceso remoto/local se puede

trabajar con cualquier recurso en la red como si estuviera en una mquina local. Otra de las reglas

de Date indica que todos los sitios se tratan como iguales. Cada sitio tiene su propio diccionario

de datos. De igual forma el NOS maneja los controles de acceso y provee servicios al directorio.

Por otra parte en la Date en la replicacin tiene independencia y difiere del captulo 7 ya que las

copias almacenadas de datos pueden ubicarse en varios sitios. La replicacin simtrica mediante

desencadenadores hace posible la replicacin legible y grabable. Mientras que en el texto explican

que no es posible mencionar cuantas copias de un recurso existen. Por otro lado en la gestin

distribuida de transacciones Date explica que una transaccin puede actualizar, insertar o eliminar

datos de mltiples bases de datos. El mecanismo de confirmacin en dos fases en Oracle garantiza

la integridad de las transacciones distribuidas. El bloqueo a nivel de fila garantiza un alto nivel de

concurrencia de datos. Lo que difiere del texto pues indica que no se debe ver ningn tipo de

diferencia en el tiempo a travs de los servidores. En cuanto a la independencia del sistema

operativo, Date indica que no se requiere un sistema operativo especfico. Oracle 7 se ejecuta bajo

una variedad de sistemas operativos. Sin embargo la administracin del NOS solo puede lidiar con

solo una interface de administracin de un solo sistema.

3. Mencione y describa brevemente las capas del sistema SQL*Net de Oracle.

User Program Interface (UPI)

Para interactuar con la base de datos, ya sea para establecer la conexin o para intercambiar

datos, la aplicacin del usuario se comunica directamente con la interfaz programtica del usuario

(UPI). UPI es la interfaz necesaria entre el lenguaje SQL que el servidor entiende y la aplicacin
del usuario en s. El cdigo UPI contiene toda la informacin necesaria para iniciar un dilogo

SQL entre el cliente y el servidor. Define las llamadas al servidor para analizar sentencias de SQL

para validacin de sintaxis, vincular las variables de la aplicacin cliente a la memoria compartida

del servidor, describir el contenido de los campos que se devuelven en funcin de los valores en

el diccionario de datos del servidor, ejecutar sentencias SQL dentro del espacio de memoria del

cursor, buscar una o ms filas de datos en la aplicacin cliente, entre otros. La aplicacin cliente

usa alguna combinacin de estas llamadas para solicitar actividad dentro del servidor. Los

productos Oracle intentan minimizar la cantidad de mensajes enviados al servidor combinando

muchas llamadas UPI en un solo mensaje al servidor. Cuando se realiza una llamada, el control

pasa a SQL * Net para establecer la conexin o transmitir la solicitud al servidor.

Two-Task Common

Esta capa proporciona el conjunto de caracteres y la conversin del tipo de datos entre

diferentes conjuntos de caracteres o formatos entre el cliente y el servidor. La misma est

optimizada para realizar conversiones solo cuando sea necesario por conexin. En el momento de

la conexin inicial, SQL * Net versin 2 es responsable de evaluar las diferencias en los datos

internos y las representaciones de los juegos de caracteres y determinar si las conversiones son

necesarias para que las dos computadoras se comuniquen.

SQL*Net

La funcin de SQL * Net es establecer y mantener una conexin entre la aplicacin cliente

y el servidor e intercambiar mensajes entre ellos. El oyente de la red recibe solicitudes de conexin

para una base de datos particular y pasa el control al servidor. SQL * Net es responsable de enviar
informacin a travs de varias redes en nombre de una aplicacin cliente o servidor de base de

datos. En dicha configuracin, comnmente hay dos tipos de computadoras que actan como

cliente y servidor.

Transparent Network Substrate (TNS)

Es una capa que permite a Oracle proporcionar una red de aplicaciones sobre todas las

redes de computadoras existentes. Con TNS, la conectividad de la aplicacin punto a punto es

posible donde no existe conectividad directa a nivel de mquina. En la arquitectura punto a punto,

dos o ms nodos se pueden comunicar entre s directamente, sin la necesidad de ningn dispositivo

intermediario. En un sistema de igual a igual, un nodo puede ser tanto un cliente como un servidor.

A travs de TNS, las aplicaciones de red como SQL * Net pueden operar independientemente de

las tecnologas de red subyacentes. Adems, TNS proporciona la infraestructura necesaria para

establecer y gestionar sesiones en diferentes protocolos de red.

4. Explique el funcionamiento de las arquitecturas de Oracle dedicated server process,

prespawned y multithreaded, compare con las arquitecturas descritas en el texto process per

client y multithreaded.

- Dedicated Server Process - En una configuracin de servidor dedicado, para cada conexin de

entrada, el oyente inicia un proceso de servidor que luego se dedica a dar servicio a esa conexin

hasta que se complete. Una vez completada la sesin, el proceso del servidor desaparece. Esta

configuracin introduce un retraso de procesamiento mientras el servidor se inicia y se configura.

- Prespawned Dedicated Server Processes - Cuando se configura para usar procesos de servidor

dedicados, cada vez que el oyente recibe una solicitud de conexin, genera, o inicia, un proceso
de servidor para manejar la sesin real. Esto introduce un pequeo retraso de procesamiento

mientras el servidor se inicia y configura. Aunque no es tan eficiente en cuanto a los recursos como

la configuracin del servidor de subprocesos mltiples, los procesos del servidor predefinidos son

tiles donde MTS no est disponible o donde la creacin de servidores dedicados es lenta o

requiere gran cantidad de recursos. En lugar de lanzar un nuevo servidor dedicado, el control de la

conexin inicial se redirige a un proceso de servidor existente. Cuando la sesin finaliza, el proceso

del servidor permanece disponible para conexiones posteriores.

- Multi-Threaded Server - El oyente tambin puede configurarse para asignar conexiones

entrantes a un pequeo nmero de procesos de servidores compartidos que persisten ms all de

la duracin de la conexin. Esto es lo que se llama una configuracin de servidor multiproceso

(MTS) Este es ideal para las circunstancias donde hay una gran cantidad de conexiones, ya que

reduce la memoria del sistema operativo del servidor y los requisitos de procesamiento.

Process per client La ventaja de esta arquitectura es que esta protege a los usuarios unos de

otros y al administrador de la base de datos de los usuarios. Tambin los procesos pueden ser

fcilmente asignados a diferentes procesadores en una mquina de mltiples procesadores. Gracias

a que su arquitectura se basa en el sistema operativo local por sus servicios de tareas mltiples. La

desventaja de este es que consume ms memoria y recursos del CPU que los esquemas alternativos.

Este puede ser ms lento debido a los cambios en el contexto del proceso y a la sobrecarga de

comunicaciones entre procesos.

Multithreaded Provee el mejor rendimiento por correr todas las conexiones de los usuarios,

aplicaciones, aplicaciones y la base de datos en el mismo espacio de direccin. Esta arquitectura

provee su propio programador interno y no depende de las tareas del sistema operativo local. La

ventaja es que este conserva memoria y los ciclos del CPU por no requerir frecuentes cambios de
contexto. La desventaja es que el mal comportamiento de una aplicacin de un usuario puede

derribar el servidor de una base de datos por completo y todas sus tareas.

5. Explique el funcionamiento de stored procedures, SQL esttico SQL dinmico, triggers y

rules segn descritas en el captulo 10.