Tabla de contenido
Modelos de programación cliente-servidor
World Wide Web:
– Conjunto de recursos interconectados que conforman el conocimiento humano actual.
- Hubs, repetidores, puentes, pasarelas, encaminadores.
- Protocolos de comunicación: TCP, IP, HTTP, FTP, SMTP.
- Sistema de nombres de dominio (DNS).
Configuración arquitectónica más habitual: Cliente/Servidor.
– El cliente es un componente consumidor de servicios.
– El servidor es un proveedor de servicios.
El usuario hace uso del cliente el cual se conecta al servidor para enviar o recibir datos. Esto se hace a través de internet, donde se utilizan los protocolos HTTP, TCP, IP … entre otros.
Las funcionalidades en los entornos cliente/servidor, se dividen en capas;
– Capa de presentación: Es la capa que ve el usuario.
– La Capa de negocio: Es la capa que conoce y gestiona las funcionalidades que esperamos del sistema o aplicación web.
– Capa de persistencia o de datos: Es la capa donde residen los datos y la encargada de acceder a los mismos.
En cuanto a la clasificación de los modelos de programación web, se pueden dividir estas clasificaciones en:
- Según el tamaño de los componentes:
– Fat Client (thin Server), el mayor peso de la aplicación se ejecuta en el cliente.
– Fat Server (thin Client), tiene la funcionalidad asociada al cliente limitada a la presentación del a información enviada por el servidor.
- Según la naturaleza del servicio ofrecido: en función de las capacidades ofrecidas por el servidor.
– Servidores de ficheros, servidores de bases de datos, servidores de transacciones, servidores de objetos, servidores web …
- Reparo de funciones entre cliente y servidor: gestiona y distribuir las responsabilidades de cada una de las presetaciones funcionales entre el cliente y el servidor.
– Modelo de dos capas.
– Modelo de tres capas.
Generación dinámica de páginas Web
La clasificación de las aplicaciones web se pueden dividir en;
– Aplicaciones Web estáticas: el usuario recibe una página web cuya interacción no conlleva ningún tipo de acción.
– Las Aplicaciones Web dinámicas: la interacción del servidor cliente con el recurso recibido por parte del servidor (página web) produce algún tipo de cambio en la visualización del mismo.
– Aplicaciones Web interactivas: la interacción del usuario hace que se genere un diálogo entre el cliente y el servidor.
Lenguajes de programación de entorno servidor
Lenguajes de programación correspondiente a un entorno servidor:
– Es aquel cuyo código, bien sea como objeto precompilado o bien como código interpretado, es ejecutado por un software específico en el componente que actúa como servidor.
Tipos:
– Lenguaje de scripting.
– Aplicaciones CGI y derivados.
– Aplicaciones híbridas de código repartido.
Lenguajes de scripting;
- PHP (PHP Hypertext Processor).
- ASP (Active Server Pages).
- Perl.
- Python.
- JSP (Java Server Pages).
Las Aplicaciones CGI y derivados delegan la creación de páginas dinámicas a un programa externo, que recibe ciertos parámetros de entrada y devuelve como resultado el contenido que debe visualizar el cliente.
El estandar CGI (Common Gateway Interface), especificado en el RFC 3875 define este comportamiento. El programa externo no depende del código a generar.
Su principal desventaja es el escaso rencimiento a la hora de responder a múltiples peticiones CGI simultáneamente.
Las aplicaciones híbridas de código repartido son la tecnología intermedia que es la alternativa a los lenguajes de scripting (interpretados) y a las aplicaciones CGI y derivadas. La solución más representativa sería la plataforma Microsoft .Net Framework a través de ASP.Net. Los formularios están contenidos en archivos con una extensión ASPX que el cliente solicita al servidor mediante una URL. Estos archivos ASPX contienen código HTML y etiquetas propias de la plataforma .Net.
Herramientas de programación para el Desarollo Web
El proceso de desarrollo no tiene por qué realizarse en el mismo equipo en el que finalmente se despliegue y ejecute la aplicación web que se está desarrollando.
Instrumentos involucrados en el desarrollo Web:
– Navegadores.
– Editores de documentos.
– Entornos de programación.
– Herramientas de tratamiento de imágenes.
– Herramientas para la creación y administración de bases de datos.
Los entornos de programación se pueden dividir en;
– Marcadores de texto: nos ayudan a identificar mejor la sintaxis del lenguaje, cambiando de color la etiquetas, realizando tabulaciones en el código, etc … Notepad++, UltraEdit.
– Herramientas genéricas: nos ofrecen capacidades tales como la sugerencia de estructuras o funciones predeterminadas o la posibilidad de validar la corrección del código escrito … Front Page, Eclipse, Dreamweaver.
– Herramientas específicas: son las herramientas para una tecnología concreta, que exigen que el desarrollador tenga instalada una plataforma de desarrollo concreta … Visual Studio, NetBeans IDE.