[S.D.] Tarea 2 - Arquitectura Cliente - Servidor

Introducción:

La idea fundamental del modelo (arquitectura) Cliente - Servidor es que el Servidor responde a las peticiones que hace el cliente, esto es algo fundamental para la comunicación en red, y sirve para la comprensión de algoritmos distribuidos. Se puede utilizar éste modelo en programas que corren en una sola computadora, pero no es tan útil.

Funcionamiento:
El cliente debe solicitar un puerto disponible para mandar su solicitud y esperar a que el servidor le responda, la función del servidor es responder a las solicitudes que se realizan en puertos reservados para un servicio específico.
El cliente utiliza un puerto cualquiera, disponible y no reservado, mientras que los servidores tienen puertos asignados para cada tipo de "respuesta". Deben manejar peticiones en masa, y reforzar su seguridad y sus procedimientos para mantener protegido el sistema en que funcionan. Estos 2 pueden correr en la misma computadora.

Éste tipo de red es de comunicaciones, en ella cual los clientes están conectados a un servidor, en donde se encuentran los recursos que se utilizan; de forma que el servidor se encarga de repartirlos cuando el cliente los solicitados. De manera que, el servidor es el centro de todos los procesos a realizar, en el es donde realmente se poseen las características que solicitan los clientes como los archivos de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados. Este tipo de red puede utilizarse conjuntamente en caso de que se esté utilizando en una red mixta.

Características:
  • Generales:
    • Su representación típica es una computadora, donde los usuarios tienen sus propios programas y aplicaciones, sus bases de datos y archivos sin depender del sistema central de información.
    • El cliente y el servidor pueden trabajar independientemente o en una sola plataforma.
    • Sus funciones pueden trabajar de la misma manera que el cliente y servidor mismos.
  • Del servidor:
    • Es el "pasivo", espera peticiones para responderlas.
    • Responde a los clientes una vez ejecutadas las peticiones.
    • Por lo general (dependiendo de las especificaciones) aceptan conexiones de varios clientes.
  • Del cliente:
    • Es el "activo", manda peticiones y espera su respuesta.
    • Recibe las respuestas del servidor.
    • Gracias a una interfaz gráfica interactúa con otros usuarios.
    • Puede conectarse con varios servidores a la vez.
~ ARQUITECTURAS POR NIVELES: ~
Nivel 1:Acceso a datos (gestión y acceso a datos persistentes).
Nivel 2:Presentación (presentación de resultados al usuario de forma comprensible).
Nivel 3:Lógica del negocio (el procesamiento).

~ ARQUITECTURA A 2 CAPAS: ~
Una capa de presentación y lógica de aplicación y otra de base de datos.
Ejemplos:
  • Cuando se requiera poco procesamiento de datos en la organización.
  • Cuando la base de datos es relativamente estática.
  • Cuando se requiere un mantenimiento mínimo.
~ ARQUITECTURA A 3 CAPAS: ~
Una capa de presentación, una de lógica de la aplicación y una tercera de base de datos.
Ejemplos:
  • Cuando se requiere mucho procesamiento de datos en la aplicación.
  • Cuando los procesos no están relativamente muy relacionados con los datos.
  • Aplicaciones donde la funcionalidad este en constante cambio.
  • Cuando se requiera aislar la base de datos para que sea fácil de cambiar.
  • Cuando se requiera separar el código del cliente para que facilite el almacenamiento.
  • Adecuada para utilizar con la tecnología orientada a objetos.
  • Cuando se tiene una base de datos centralizada en un solo servidor.

CONCLUSIÓN

Éste es un modelo que se utiliza principalmente en sistemas informáticos cuya base es la web, o sistemas funcionales en redes locales. Y es que es gracias a la baja de precios de equipos de computo cada vez más eficientes que se facilita la integración de sistemas diferentes y se nos da la oportunidad de compartir y juntar toda nuestra información entre distintos equipos, aunado a esto los avances en las telecomunicaciones también son una gran ayuda. Éste factor permita la llamada escalabilidad, que no es otra cosa más que poder hacer crecer tu sistema en relación a la cantidad de clientes y de servidores así como su capacidad, esto con el objetivo de tener un mejor desempeño a mayor escala, vertical y horizontalmente(Cliente y Servidor).
Realmente las innovaciones en informática están diseñadas para seguir el modelo Cliente-Servidor, con los que las transacciones y facilidad de uso se disparó brutalmente, tanto así que, las mayor parte de los servicios de Internet siguen éste modelo.