apuntes:servlets
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
apuntes:servlets [2023/05/28 20:28] – Santiago Faci | apuntes:servlets [2023/05/28 20:38] (current) – [Arquitectura cliente-servidor] Santiago Faci | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Introducción al desarrollo de aplicaciones web. Servlets y JSP ===== | ===== Introducción al desarrollo de aplicaciones web. Servlets y JSP ===== | ||
+ | |||
+ | ==== Arquitectura cliente-servidor ==== | ||
El modelo de desarrollo web se apoya, en una primera aproximación desde un punto de vista centrado en el hardware, en lo que se conoce como arquitectura cliente-servidor ((https:// | El modelo de desarrollo web se apoya, en una primera aproximación desde un punto de vista centrado en el hardware, en lo que se conoce como arquitectura cliente-servidor ((https:// | ||
Line 10: | Line 12: | ||
{{ cliente_servidor.jpg }} | {{ cliente_servidor.jpg }} | ||
< | < | ||
+ | |||
+ | ==== Protocolo HTTP ==== | ||
+ | |||
+ | El protocolo HTTP es un protocolo para la transferencia de páginas web (hipertexto) entre los clientes (navegadores web) y un servidor web. Cuando un usuario, a través del navegador, quiere un documento (página web), éste lo solicita mediante una petición HTTP al servidor. Éste le contestará con una respuesta HTTP y el documento, si dispone de él. | ||
+ | |||
+ | Hay que tener en cuenta que, al contrario que el resto de protocolos que estamos viendo en esta parte, HTTP no tiene estado. Eso significa que un servidor web no almacena ninguna información sobre los clientes que se conectan a él. Así, cada petición/ | ||
+ | |||
+ | < | ||
+ | {{ http.png }} | ||
+ | < | ||
+ | |||
+ | A continuación, | ||
+ | |||
+ | <code bash> | ||
+ | GET /index.html HTTP/1.1 | ||
+ | Host: www.misitio.com | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Y el servidor web le contesta con el contenido del documento para que el navegador que lo ha solicitado lo pueda renderizar para que el usuario lo visualice en su pantalla: | ||
+ | |||
+ | <code bash> | ||
+ | HTTP/1.1 200 OK | ||
+ | Date: Fri, 31 Dec 2003 23:59:59 GMT | ||
+ | Content-Type: | ||
+ | Content-Length: | ||
+ | |||
+ | <html lang=" | ||
+ | < | ||
+ | <meta charset=" | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | . . . | ||
+ | . . . | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Modelo en 3 capas ==== | ||
Desde un punto de vista de desarrollo una aproximación más detallada para este modelo de ejecución es lo que se conoce como modelo en 3 capas ((https:// | Desde un punto de vista de desarrollo una aproximación más detallada para este modelo de ejecución es lo que se conoce como modelo en 3 capas ((https:// | ||
Line 35: | Line 83: | ||
* **MySQL/ | * **MySQL/ | ||
- | === Front-end, Back-end, Full stack === | + | ==== Front-end, Back-end, Full stack ==== |
También teniendo en cuenta en que lado se ubican las tecnologías y para qué se utilizan éstas, actualmente se habla mucho de 3 perfiles diferenciados en el ámbito del desarrollo web: | También teniendo en cuenta en que lado se ubican las tecnologías y para qué se utilizan éstas, actualmente se habla mucho de 3 perfiles diferenciados en el ámbito del desarrollo web: | ||
Line 49: | Line 97: | ||
Asi como las aplicaciones de escritorio se ejecutan directamente sobre el propio Sistema Operativo, las páginas y aplicaciones web necesitan de una herramienta adicional que permita desplegarlas para su puesta en marcha. Hablamos de servidores web ((https:// | Asi como las aplicaciones de escritorio se ejecutan directamente sobre el propio Sistema Operativo, las páginas y aplicaciones web necesitan de una herramienta adicional que permita desplegarlas para su puesta en marcha. Hablamos de servidores web ((https:// | ||
- | === ¿Qué es un servidor de aplicaciones === | + | ==== ¿Qué es un servidor de aplicaciones |
Un servidor de aplicaciones es una aplicación que contiene una serie de servicios los cuales están accesibles a través de una API expuesta a través de Internet. Normalmente los servidores de aplicaciones proporcionan más servicios que los servidores web. Por ejemplo, en el caso de los servidores de aplicaciones para //Java// o //Python//, éstos proporcionan un acceso transparente a la Base de Datos para que el desarrollador se centre exclusivamente en implementar la capa de negocio. Además, pueden proporcionar también servicios como fail-over o balanceo de carga. | Un servidor de aplicaciones es una aplicación que contiene una serie de servicios los cuales están accesibles a través de una API expuesta a través de Internet. Normalmente los servidores de aplicaciones proporcionan más servicios que los servidores web. Por ejemplo, en el caso de los servidores de aplicaciones para //Java// o //Python//, éstos proporcionan un acceso transparente a la Base de Datos para que el desarrollador se centre exclusivamente en implementar la capa de negocio. Además, pueden proporcionar también servicios como fail-over o balanceo de carga. | ||
- | === Apache Tomcat === | + | ==== Apache Tomcat |
{{ tomcat.png }} | {{ tomcat.png }} | ||
Line 59: | Line 107: | ||
[[http:// | [[http:// | ||
- | === JSP / Servlets === | + | ==== JSP / Servlets |
[[http:// | [[http:// | ||
Line 144: | Line 192: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | (c) 2023 Santiago Faci | ||
apuntes/servlets.1685305729.txt.gz · Last modified: 2023/05/28 20:28 by Santiago Faci