- Hablaremos un poco de networking.
- Examinaremos la arquitectura cliente-servidor y de tres niveles.
- Exploraremos los protocolos HTTP/HTTPS.
- Aprenderemos todo lo que necesitas saber sobre Maven.
- Estamos hablando de registro.
- Acerca de los contenedores de servlets.
- Y finalmente, sobre MVC.
Parte 1. Hablaremos un poco sobre networking.
Comencemos con lo que más importa al hablar sobre en qué se basa cada red social, servicio web y aplicación web, mensajería instantánea y sitio web simple: la red (en el contexto de esta serie de artículos, el término "red" significa Internet ) . La red consta de una gran cantidad de computadoras: están interconectadas y pueden comunicarse. Es importante entender cómo lo hacen, porque las aplicaciones web envían información de una computadora a otra.modelo OSI
El modelo de interconexión de sistemas abiertos (OSI) crea un enfoque escalonado para construir una red. Muestra claramente cómo y en qué capa las entidades de la misma red pueden interactuar entre sí. En total, este modelo contiene 7 capas:7 | Solicitud |
6 | Presentación |
5 | Sesión |
4 | Transporte |
3 | Red |
2 | Enlace de datos |
1 | Físico |
-
Capa física : esta capa se ocupa de las leyes de la física y cómo usarlas para nuestros propósitos. Por ejemplo, crear cables y tenderlos a entidades en la red.
Esta capa no nos interesa.
-
Capa de enlace de datos : esta capa es responsable de transmitir datos a los nodos de la red y crear canales de transmisión de datos para objetos físicos.
Esta capa no nos interesa a menos que quieras escribir firmware para el hardware que establece enlaces de datos.
-
Capa de red : esta capa sirve para determinar las direcciones de los usuarios de la red individuales y las rutas hacia ellos. Es valioso aprender más sobre los detalles de esta capa, es decir, las direcciones de red.
Las direcciones de red están definidas por un protocolo especial: el más común es IPv4 (Protocolo de Internet versión 4). Este es el protocolo que un programador web necesita usar para contactar a otro usuario de la red.
Una dirección IPv4 consta de cuatro valores de bytes separados por puntos, por ejemplo: 192.0.2.235. Debe recordar que estos valores son bytes, lo que significa que se encuentran dentro del rango 0..255.
Las direcciones IP, a su vez, se dividen en clases. No podemos simplemente asignarnos una hermosa combinación de números, pero no profundizaremos mucho aquí. Es suficiente entender que una dirección IP identifica de manera única a un usuario de la red y puede usarse para contactar a ese usuario.
-
Capa de transporte : esta capa maneja la entrega de información a un destinatario. Se utilizan varios protocolos para lograr esto. Por ahora, no estamos interesados en ellos. Estamos mucho más interesados en el concepto de puerto , que aparece en esta capa.
Los puertos son responsables de identificar una aplicación específica en una computadora. Por ejemplo, suponga que escribe una aplicación de chat en Java, la instala en 2 computadoras y desea enviar un mensaje a su amigo. Su mensaje se empaqueta, se envía a una dirección IP específica y se entrega a su amigo, pero su computadora no sabe qué hacer con la información recibida porque no entiende qué aplicación debe procesar su mensaje. Cuando las entidades de red se comunican, los puertos se utilizan para indicar qué aplicación debe procesar la información.
El puerto es un número en el rango de 0 a 65535. Se agrega a la dirección IP después de dos puntos: 192.0.2.235:8080 . Pero no puede usar todos los puertos en el rango especificado: algunos de ellos están reservados para el sistema operativo, otros se usan habitualmente para propósitos específicos. No profundizaremos en los propósitos de los diferentes puertos. Por ahora, basta con comprender su papel en el proceso de comunicación en la red.
-
Capa de sesión : esta capa crea y administra sesiones de comunicación. En esta capa, es posible que las aplicaciones interactúen y envíen solicitudes de nivel de servicio. Lo que necesitamos saber es que en esta capa se abre una sesión entre dos usuarios, y tenemos que trabajar con la sesión.
Una sesión es una entidad creada cuando se establece una conexión entre dos usuarios. Puede almacenar la información necesaria sobre un usuario y sobre el historial de interacción con el usuario. Un detalle importante es que cuando se detiene el intercambio de información, la sesión no desaparece. En cambio, conserva su estado durante un período de tiempo determinado, por lo que los usuarios pueden continuar intercambiando información después de un descanso.
Si una aplicación se comunica con varios usuarios al mismo tiempo, se establece un número correspondiente de conexiones (y, por lo tanto, de sesiones). Cada sesión tiene un identificador (ID) único , que permite a la aplicación distinguir entre los usuarios con los que se está comunicando.
-
Capa de presentación : esta capa es responsable de codificar/decodificar datos. Obviamente, si necesitamos enviar la cadena "Hola web" a otro usuario, primero se convierte (codifica como) código binario, y solo entonces se envía. Al llegar al destinatario, el mensaje se vuelve a convertir (decodificar) y el destinatario puede ver la cadena original. Estas acciones tienen lugar en la capa de presentación.
-
La capa de aplicación es la capa más interesante para nosotros. Permite que las aplicaciones se comuniquen con la red. En esta capa, recibimos y enviamos mensajes, y hacemos solicitudes a servicios y bases de datos remotas.
Hay muchos protocolos utilizados en esta capa: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET y, por supuesto, HTTP/HTTPS. Un protocolo es un acuerdo universal al que nos adherimos a la hora de comunicarnos. Definitivamente proporcionaremos una discusión detallada por separado de HTTP/HTTPS.
- Dirección IP — La dirección del usuario en la red
- Puerto: la dirección de la aplicación de un usuario específico
- Sesión — Una entidad que existe a lo largo del período de comunicación entre dos usuarios
- Protocolos de aplicación (HTTP/HTTPS): estas son reglas que seguiremos al redactar y enviar mensajes.
GO TO FULL VERSION