You are on page 1of 9

NOMBRE DEL ALUMNO: FRANCISCO DUEÑAS MONSIVAIS

NUMERO DE CUENTA: 10199034

MATERIA: GESTION DE BASE DE DATOS

PROFESOR: ROBERTO CARLOS HURTADO TORRES

FECHA DE LA ACTIVIDAD: 07/10/18

TITULO DE LA ACTIVIDAD: ENTREGABLE 2

El modelo cliente - servidor


TCP es un protocolo orientado a conexión. No hay relaciones
maestro/esclavo. Las aplicaciones, sin embargo, utilizan un modelo
cliente/servidor en las comunicaciones.
Un servidor es una aplicación que ofrece un servicio a usuarios de
Internet; un cliente es el que pide ese servicio. Una aplicación consta de
una parte de servidor y una de cliente, que se pueden ejecutar en el
mismo o en diferentes sistemas.
Los usuarios invocan la parte cliente de la aplicación, que construye una
solicitud para ese servicio y se la envía al servidor de la aplicación que usa
TCP/IP como transporte.

Algunos servidores esperan las solicitudes en puertos bien conocidos de modo


que sus clientes saben a que zócalo IP deben dirigir sus peticiones. El cliente
emplea un puerto arbitrario para comunicarse. Los clientes que se quieren
comunicar con un servidor que no usa un puerto bien conocido tienen otro
mecanismo para saber a qué puerto dirigirse. Este mecanismo podría usar un
servicio de registro como Portmap, que utiliza un puerto bien conocido.

¿Qué es Cliente/servidor?

Entre las primeras cosas que hay que decir de la arquitectura cliente/servidor,
es que estamos frente a la plataforma abierta por excelencia. Ciertamente las
posibilidades de igualar o nivelar distintos productos o aplicaciones o
componentes de distintos proveedores nos brinda la oportunidad de hacer una
gran variedad de combinaciones de clientes y servidores.

Pero esta gran variedad de posibilidades de combinación implica que debemos


tener en cuenta también una gran cantidad de elementos a considerar y
evaluar al momento de enfrentar una solución informática basada en la
arquitectura cliente/servidor. Podemos agrupar básicamente en dos aspectos la
problemática cliente/servidor: ¿Qué plataforma elegir? ¿Qué herramientas de
desarrollo elegir?. La primera pregunta tiene relación con la respuesta a
cuestiones aun más específicas como ser ¿Qué plataforma cliente elegir?
¿Qué plataforma servidor? ¿Qué clase de middleware ? ¿Qué administrador o
servidor de base de datos? ¿Sobre qué arquitectura de computación distribuida
se tendrá que montar la solución? El segundo aspecto tiene relación con la
toma de decisiones sobre el área de desarrollo y herramientas de
cliente/servidor. Si bien es cierto que la mayor ventaja de esta tecnología es la
flexibilidad en cuanto a que podemos elegir entre muchas opciones, esto
mismo nos obliga a tener conocimientos importantes para la integración de las
mismas, dado que el desarrollo de aplicaciones cliente/servidor requiere del
manejo de elementos en el área de diseños de bases de datos, comunicación
entre procesos, procesamiento de transacciones, generación de GUI
(interfaces gráficas de usuarios) y para que hablar de Internet, con clientes y
servidores distribuidos a lo largo de la Web.
También las cosas han cambiado en cuanto a las interpretaciones que hasta no
hace mucho tiempo se hacían, para unos el mundo de la computación estaba
basado en el permanente desarrollo y mejoramiento en las PC, y para otros el
verdadero entorno computacional lo conformaban los mainframe. Mantener
éstas posturas no tiene mucho sentido puesto que con cliente/servidor lo único
válido, y el único camino, es mezclar o combinar.

Pensando ya en beneficios más específicos, siempre y cuando se adopten las


decisiones correctas en cuanto al diseño de la aplicación cliente/servidor, esta
arquitectura permite distribuir físicamente los procesos y los datos en forma
más eficiente lo que en computación distribuida afecta directamente el tráfico
de la red, reduciéndolo grandemente.

Pero cliente/servidor también tiene sus desventajas. Quizás, como en la


mayoría de las cosas, los mismos elementos que se presentan como
potenciales ventajas, se pueden convertir también en los principales escollos
en la implantación de proyectos con esta tecnología. Si se dijo anteriormente
que esta tecnología ofrece beneficios en cuanto a que permite y sobre todo
promueve el establecimiento de sistemas abiertos, esto mismo le otorga un alto
grado de complejidad, característica propia de los sistemas abiertos, con una
gran cantidad de componentes que no siempre tienen un compromiso firme o
permanente entre sí, a diferencia de los sistemas propietarios. Si a esto se
agregan las presiones comerciales de los distintos proveedores con objetivos
distintos la cosa se complica aún más. Ya se dijo anteriormente que se
requieren conocimientos de varias áreas, y que las decisiones tomadas
respecto del diseño deben ser las adecuadas, de otra manera resultan más
críticas con relación a desarrollos tradicionales, lo que obliga siempre a
manejarlos en forma mucho más coherente y a tener un gran dominio de
herramientas para lograr una adecuada implantación y explotación.

Manejador de Base de Datos a Utilizar

Nuestro grupo, plantea que el manejador de base de datos para el


presente desarrollo debe de ser SQL Server 2005 Express y
MYSQL SERVER 5.0, el que se ha elegido teniendo en cuenta los
siguientes criterios de evaluación.

 Seguridad.
SQL Server 2005 Express y MYSQL Server 5.0 implementa un
nivel de seguridad a nivel de inicios de sesión y base de datos, lo
cual garantiza la confidencialidad de los datos de la Empresa
“CLEAN SERVICE CAR”.

 Manejo de integridad de la información.


SQL Server 2005 Express valida la integridad de la información
que el usuario intenta guardar al hacer una transacción.

 Sincronización de la base de datos.


El proceso de replicación requiere de sincronización de la base de
datos, para lo cual SQL Server 2005 Express garantiza a través
de sincronización transaccional o instantánea dependiendo de la
funcionalidad de la sucursal.

 Capacidad de datos:
SQL SERVER 2005 Express y MYSQL SERVER 5.0 Soporta
hasta terabytes de información, eso significa una gran capacidad
de datos y beneficio para la empresa.

 Concurrencia de usuarios.
El sistema que se plantea a la Empresa “CLEAN SERVICE CAR”
será implementado en una arquitectura cliente servidor con
concurrencia simultánea de los diferentes puntos de venta, ello
implica que el manejador de base de datos garantice esta
funcionalidad ya que la empresa tiende a crecer y el nivel de
concurrencia podría ser mayor.

 Soporte informático.

Actualmente Microsoft es la empresa más grande del mundo y el soporte


informático sobre sus productos es ilimitado

CARACTERÍSTICAS GENERALES DEL SISTEMA DE INFORMACIÓN.

El sistema de información a desarrollar deberá permitir la automatización de


forma segura y eficiente de todos los procesos operativos, la optimización
en el uso de los recursos de la empresa, la consolidación y presentación de
información de apoyo a la toma de decisiones en todos los niveles de
gestión, permitiendo realizar entre otra información que facilite el análisis de
la gestión.

El sistema Por Implementar tendrá las siguientes características técnicas


generales:
 El sistema funcionará sobre la plataforma Windows
2000/NTWs/95/98/XP y software libre Ubuntu 9.10 (esto debido a que se
tiene en consideración las plataformas que se van a plantear utilizar la
empresa, tanto en recursos de hardware, como de software base para el
sistema de información).
 Tendrá una interfaz gráfica amigable entre el sistema y el usuario.
 El sistema a implementar es de tipo Cliente/Servidor y utilizará el motor
de base de datos relacionar SQL Server 2005 Express y MYSQL
SERVER 5.0.
 El sistema tendrá varios niveles de seguridad protegidos mediante
contraseñas, esto nos permitirá el acceso en forma dinámica a las
diferentes opciones del sistema.
 La información almacenada en las bases de datos será fácilmente
“transportable” para su uso en otro sistema, por ejemplo, exportar la
información en forma de archivos para su uso o consulta con Hojas de
cálculo, Procesadores de Texto, Archivos planos y/u otros.
 El sistema proporcionará reportes, ya sea por pantalla, impresora o
archivo.
 El sistema permitirán la consolidación de la información, incluye
mecanismos de transmisión de datos: manual y automático.
 El sistema será desarrollado en JAVA ECLIPSE/SQL SERVER 2005
EXPRESS Y MYSQL SERVER 5.0.
 Generación e impresión automática de documentos prediseñados en el
sistema.
 Administración de información histórica.

Cliente-Servidor es un término que intenta proveer usabilidad, flexibilidad,


interoperabilidad y escalabilidad en las comunicaciones. Su funcionamiento en
la actualidad es sencillo ya que se tiene una maquina cliente, que es la que
requiere un servicio de otra máquina servidor y este realiza la función para que
lo que está programado.

Se define como Cliente-Servidor:

Una arquitectura distribuida que permite a los usuarios finales obtener


acceso a la información en forma transparente aun en entornos
multiplataforma.

Cliente:

Es el proceso que permite al usuario formular cada uno de los


requerimientos y el encargado de pasarlos al servidor.

Servidor:

Proceso encargado de atender múltiples clientes que hacen diversas


peticiones de algún recurso administrativo por él.
Cliente-Servidor:

Arquitectura que permite distribuir físicamente cada uno de los procesos


y datos en forma eficiente, lo que en computación distribuida afecta
directamente al tráfico de la red.

Ventajas del Modelo Cliente-Servidor:

 Facilita la integración entre sistemas diferentes y comparte información


permitiendo, por ejemplo, que las maquinas ya existentes puedan ser
utilizadas por interfaces amigables al usuario.
 Posibilidad de utilizar maquinas considerablemente más baratas que las
requeridas por una solución centralizada lo cual contribuye a la
reducción de costos y favorece la flexibilidad en la implantación y
actualización de soluciones.

 Es más rápido el mantenimiento y desarrollo de aplicaciones, pues se


pueden emplear las herramientas existentes.

 La estructura inherente modular facilita además la integración de nuevas


tecnologías y el crecimiento de la infraestructura computacional
favoreciendo así la escalabilidad de las soluciones.

 Contribuye a proporcionar a los diferentes departamentos de una


organización, soluciones locales, pero permitiendo la integración de la
información relevante a nivel global.

Desventajas del Modelo Cliente Servidor

 Se cuenta con muy escasas herramientas para la administración y ajuste


del desempeño de los sistemas.
 El mantenimiento de los sistemas es más difícil pues implica la
interacción de diferentes partes de hardware y software, distribuidas por
distintos proveedores, lo cual dificulta el diagnostico por fallas.

 El desempeño y la seguridad que presenta el cliente-servidor.

 Hay que tener estrategias para el manejo de errores y para mantener la


consistencia de los datos.

Sistemas de comunicación que usa el Cliente-Servidor

1. Con Sockets: Esta es la comunicación que está directamente orientada


a conexión y está basada en TCP/IP. Se puede decir que es una
conexión fiable.
2. Comunicación por datagramas, es la que está basada en UDP/IP, este
tipo no es tan fiable.
Los servidores pueden estar conectados a los clientes a través de redes LAN o
WAN, para proveer de múltiples servicios a los clientes y ciudadanos tales
como impresión, acceso a base de datos, fax, procesamiento, etc.

Redes LAN: Red de comunicaciones que sirve a usuarios de un área


geográficamente limitada.

Redes WAN: Red de comunicaciones que abarca áreas geográficas amplias


como pueden ser estado y países.

Tipos de arquitectura Cliente- Servidor

•Por tamaño de componentes: Se basa en quien lleva la mayor carga de


procesos, acá tenemos dos clasificaciones:

 Fat Client: El peso de la aplicación es ejecutada por el


cliente.
 Fat Server: El peso de la aplicación es ejecutada por el
servidor, el cliente tiene solo la interfaz de usuario.

•Por naturaleza del servicio:

 Servidores de ficheros: Con un servidor de archivos, un


cliente lo que hace es requerimientos de los mismos sobre
una red.
 Servidores de Bases de Datos: Permite que un proceso
cliente solicite datos y servicios directamente a un servidor
de bases de datos.

 Servidores de Transacciones: El proceso cliente llama a


funciones, procedimientos o métodos que residen en el
servidor.

 Servidores de objetos: Las aplicaciones Cliente/Servidor


son escritas como un conjunto de objetos que se
comunican.

 Servidores Web: Éste nuevo modelo consiste en clientes


simples que hablan con servidores Web. Un servidor Web
devuelve documentos cuando el cliente pregunta por el
nombre de los mismos.

 Servidores Proxy: Permiten administrar el acceso a internet


en una Red de computadoras permitiendo o negando el
acceso a diferentes sitios Web.
•Por reparto de funciones entre Cliente y Servidor: Las distintas
arquitecturas cliente-servidor varían en su forma de operar sobre la base de
tres conceptos generales:

 La lógica de acceso a datos. Funciones que gestionan


todas las interacciones entre el SW y los almacenes de
datos.
 La lógica de presentación Funciones que gestionan la
interfaz entre los usuarios del sistema y el SW.

 La lógica de negocio o lógica de la aplicación. Funciones


que transforman entradas en salidas.

Según cómo se distribuyen estas tres funciones clasificamos en:

 Presentación Distribuida: El cliente asume parte de las funciones


de presentación de la aplicación, ya que siguen existiendo
programas en el servidor dedicados a esta tarea. El resto de
funciones de la aplicación residen en el servidor.
 Presentación remota: Toda la lógica de negocio y acceso a datos
se ejecuta en el servidor. Todas las funciones de presentación son
ejecutadas en el cliente.

 Lógica o proceso distribuido: La lógica de los procesos se divide


entre los distintos componentes del cliente y del servidor. El
diseñador de la aplicación debe definir los servicios y las
interfaces del sistema de información de forma que los papeles de
cliente y servidor sean intercambiables, excepto en el control de
los datos que es responsabilidad exclusiva del servidor.

Acceso a datos remoto: El cliente realiza tanto las funciones de presentación


como los procesos. El servidor almacena y gestiona los datos que permanecen
en una base de datos centralizada. En esta situación se dice que hay una
gestión de datos remota.

Bases de datos distribuidas: Similar al modelo anterior, pero además el gestor


de base de datos divide sus componentes entre el cliente y el servidor. Las
interfaces entre ambos están dentro de las funciones del gestor de datos y, por
lo tanto, no tienen impacto en el desarrollo de las aplicaciones. En este nivel se
da lo que se conoce como bases de datos distribuidas.

Al llegar al final de la redacción de este ensayo se ha dado a conocer que el


modelo cliente-servidor de acuerdo a las funciones es de suma importancia en
las organizaciones de hoy en día, por lo tanto se está concluyendo que:

 Maneja la interfaz usuario


 Captura y validación de los datos de entrada.
 Gestiona consultas e informes sobre las bases de datos.

 Gestiona periféricos compartidos.

 Controla accesos concurrentes a bases de datos compartidas

 Enlaza comunicaciones con otras redes de área local o extensa.

You might also like