Hola visitante de diseño web en Alicante y Murcia, Le presentamos los mejores proyectos y formatos gráficos de alta calidad con un montón de características.

En el articulo anterior se han expuesto las características más significativas del servicio de información Web en relación con el desarrollo de software. En este contexto, es necesario incidir en la idea de que el desarrollo de software en entornos Web debe tener siempre en cuenta la distribución de los elementos y la función que tiene cada uno de ellos. Así, para el futuro desarrollador Web es básico comprender que no será posible producir soluciones software adecuadas, si durante su desarrollo no se han considerado las características, distribución y función de los diferentes elementos que conforman el entorno del servicio de información Web.

El modelo de desarrollo de software en entornos Web más habitual se fundamenta en el modelo de arquitectura de software denominado Cliente-Servidor, que está basado en la idea de servicio, en el que el cliente es un proceso consumidor de servicios y el servidor es un proceso proveedor de servicios. Esta relación entre el cliente y el servidor se establece en base al intercambio de mensajes a través de un protocolo de comunicaciones, como el único elemento de acoplamiento entre ambos. Un protocolo de comunicaciones es un conjunto de reglas o estándar que definen la sintaxis, semántica y sincronización de la comunicación entre el cliente y el servidor por medio de un intercambio de mensajes. Así, los elementos intervinientes en el modelo de arquitectura del software Cliente-Servidor son tres: el cliente, el servidor y el protocolo de comunicaciones. En un proceso habitual, el cliente es el que inicia el intercambio de información, solicitando datos al servidor, que responde enviando uno o más flujos de datos al cliente, empleando, para ello, un protocolo de comunicación adecuado. Además de la transferencia de información solicitada, este intercambio de información suele incluir información administrativa adicional, como puede ser: la identificación del recurso a transferir, las direcciones de red y el nombre de la máquina del cliente y del servidor, etc. La imagen muestra la dinámica de este proceso del modo más general.

desarrollo entorno cliente-servidor

El modelo de arquitectura del software del sistema de información Web puede ser considerado como un caso particular de un modelo de arquitectura del software Cliente-Servidor, en el cual los elementos software intervinientes están constituidos, fundamentalmente, por software estándar.

  • Cliente: cualquier navegador Web (Internet Explorer, Firefox, Chrome, Safari, Opera, etc.) desde cualquier dispositivo con acceso a internet (ordenador, tablet, teléfono móvil, etc).
  • Servidor: cualquier servidor Web (Internet Information Services, Apache Tomcat, etc.
  • Protocolos de comunicación: HTTP (servicio de información Web) y TCP/IP (Internet).

Las funcionalidades en la arquitectura Cliente-Servidor del servicio de información Web suelen estar agrupadas en diferentes capas, cada una especializada en la gestión de un determinado aspecto del servicio. Si bien es posible encontrarse con divisiones más o menos especializadas, se suelen identificar tres tipos de capas fundamentales: capa de presentación, capa de la lógica de negocio y capa de persistencia. La imagen de abajo representa el modelo de tres capas de la arquitectura de software Cliente-Servidor. Los modelos de desarrollo del software para el servicio de información Web se pueden clasificar en función de en qué lugar, si en el cliente (navegador Web) o en el servidor (Servidor Web), se sitúan cada una de estas capas. La decisión de dónde se sitúa cada una de estas capas dependerá del entorno de ejecución, de las tecnologías de desarrollo empleadas y de los lenguajes de programación utilizados.

 

  • Capa de presentación: esta capa corresponde con la interfaz de usuario. Una interfaz gráfica integrada en el navegador presenta el contenido del recurso solicitado y sirve para recoger su interacción con el usuario. La capa de presentación es interpretada por el cliente (navegador Web). El desarrollo de esta capa  dentro de la arquitectura de software Cliente-Servidor se centra en el formateo de la información enviada por el servidor y la captura de las acciones interactivas realizadas por el usuario en el cliente, a través del lenguaje HTML. Un aspecto importante a tener en cuenta cuando se desarrolla la capa de presentación para el servicio de información Web es que el navegador Web (cliente) únicamente es capaz de interpretar documentos HTML.
  • Capa de lógica del negocio: es la capa que soporta y gestiona las funcionalidades que esperamos de la aplicación Web. Estas funcionalidades se relacionan con la representación de la lógica o reglas de negocio que implementa la solución software. Habitualmente es donde se reciben las peticiones del usuario y desde donde se envían las respuestas apropiadas tras el procesamiento de la información proporcionada por el cliente. Al contrario que la capa de presentación, la lógica de negocio puede ser desarrollada tanto en el entorno cliente (navegador Web) como en el entorno servidor (servidor Web).
  • Capa de persistencia o datos: es la capa de la arquitectura de software Cliente-Servidor donde residen los datos que maneja la aplicación Web y es la encargada de acceder a los mismos. Normalmente, está formada por uno o más servidores de bases de datos que reciben solicitudes de manipulación (almacenamiento o recuperación) y de administración de la información almacenada desde la capa de negocio. El resultado del procesamiento de información solicitado es enviado hacia la capa de negocio desde la capa de persistencia.

cliente/servidor

El diseño y desarrollo de cada una de estas capas influye a la hora de seleccionar uno u otro modelo de desarrollo para la Web. Los modelos de desarrollo en entornos Cliente-Servidor se pueden clasificar atendiendo a diferentes criterios. Así, es posible clasificarlos dependiendo del tamaño de los componentes, por la naturaleza del servicio ofrecido o según el reparto de funciones entre cliente y servidor:  

  •   Según el tamaño de los componentes: esta primera clasificación hace referencia a qué elemento de la arquitectura Web debe soportar más o menos carga de procesamiento. Así, se suele hablar de configuraciones Rich Client (o Thin Server), cliente rico, donde el mayor peso de la aplicación se ejecuta en el cliente relegando al servidor a un mero administrador de datos. Y también, se suele hablar de configuraciones Thin client (o Rich Server), cliente ligero, donde la funcionalidad asociada al cliente está limitada a la presentación de la información enviada por el servidor.
  •   Según la naturaleza del servicio ofrecido: también es posible clasificar la arquitectura de software Cliente-Servidor en función de las capacidades ofrecidas por el servidor. De esta forma, además del propio Servidor Web, que conforma la base del modelo de la arquitectura Web y que se fundamenta en la existencia de clientes simples que se comunican con servidores Web utilizando HTTP como protocolo de comunicación, se pueden encontrar: servidores de ficheros, que facilitan al cliente el acceso a datos contenidos en ficheros; servidores de bases de datos, que se centran en la provisión y administración de la información almacenada en la bases de datos; servidores de transacciones, centrados en el concepto de transacción con el objetivo de que los flujos de información con el cliente se realicen en un solo intercambio solicitud/respuesta; y, servidores de objetos, cuya principal característica es la utilización de objetos intercomunicados tanto en el cliente como en el servidor.
  •   Según el reparto de funciones entre cliente y servidor: las diferentes tecnologías de desarrollo Web existentes permiten gestionar y distribuir las responsabilidades de cada una de las prestaciones funcionales entre el cliente y el servidor. Lo más habitual es tener una configuración de la arquitectura de software Cliente-Servidor en dos o tres capas. En el caso de que las capas de lógica de negocio y de datos se agrupen se dispondrá de un modelo en dos capas, mientras que si éstas se separan se dispondrá de un modelo de desarrollo de software en tres capas. Las propuestas de arquitecturas para el desarrollo de aplicaciones para la Web se suelen basar en un modelo en tres capas.

Las tecnologías de desarrollo y lenguajes de programación más significativos para el desarrollo de aplicaciones Web en el entorno del cliente-servidor son las siguientes:

  •  En el lado del cliente se suelen emplear, entre otras, las siguientes tecnologías de desarrollo de aplicaciones Web: lenguaje de marcas HTML para estructurar la presentación de la información, hojas de estilo en cascada o CSS para definir la apariencia visual de los elementos, controles ActiveX que son componentes software reutilizables, applets que son miniaplicaciones java, objetos embebidos de tipo Flash para incluir animaciones interactivas visualmente atractivas, otros objetos embebidos que muestran contenidos empleando otras aplicaciones instaladas junto con el cliente, scripts de cliente para incluir código procedural mediante un lenguaje de script interpretado por el cliente (Javascript) y, AJAX que facilita la creación de aplicaciones Web interactivas desde el cliente a través conexiones asíncronas con el servidor para realizar cargas dinámicas de contenidos.
  •   En el lado del servidor es posible utilizar lenguajes scripts de servidor embebidos en el código HTML (ASP, PHP, JSP, etc.), enlaces a ejecutables externos (CGI), objetos de servidor (Servlets), componentes Java en objeto (EJB de Sun) e incluso tecnologías de desarrollo de aplicaciones Web basadas en lenguajes de programación orientados a objetos que separan la presentación de la lógica de negocio (ASP.NET de Microsoft).

DwAlicante.es - Arquitectura de software Cliente-Servidor.

Comentarios

Escriba un comentario

Deje aquí su comentario respetando las normas de buena conducta.

Código de seguridad
Refescar