JavaRush /Blog Java /Random-ES /Parte 1. Lo que necesitas saber antes de aprender Spring ...

Parte 1. Lo que necesitas saber antes de aprender Spring y JavaEE

Publicado en el grupo Random-ES
Si ya has completado tus estudios de Java SE o estás cerca de hacerlo, es hora de pensar en los próximos pasos para conquistar la profesión de desarrollador Java. Parte 1. Lo que necesitas saber antes de aprender Spring y JavaEE - 1Por un lado, ya tienes buenos conocimientos de Java: sabes cómo trabajar con el IDE, escribir programas y mucho más. Pero ¿qué debemos hacer a continuación con ellos, los programas? ¿Cómo hacerlos más geniales y “liberarlos al mundo”? Resulta obvio que es hora de empezar a estudiar tecnologías empresariales. Y aquí es donde comienza la diversión. No importa con qué pila de tecnología decida comenzar. Ya sea JavaEE o Spring, probablemente encontrará muchas cosas que aún están más allá de su comprensión. Entre los conceptos básicos de Java y las tecnologías avanzadas, todavía existe un nivel intermedio de conocimiento que te ayudará a no perder los restos de autocontrol y confianza en ti mismo al leer documentación voluminosa. Por lo tanto, el propósito de esta serie de artículos es brindarle los conocimientos teóricos mínimos necesarios para seguir estudiando JavaEE o Spring. Todo el material se divide en 7 partes:
  1. Hablemos un poco de la red.
  2. Consideremos la estructura del cliente-servidor y la arquitectura de tres niveles.
  3. Veamos los protocolos HTTP/HTTPS.
  4. Aprendamos todo lo que necesita saber sobre Maven.
  5. Hablemos de servlets.
  6. Contenedores de servlets.
  7. Y finalmente, sobre MVC.

Parte 1. Hablemos un poco de la red

Comencemos con lo más importante y hablemos de la base sobre la cual se construyen todas las redes sociales, servicios y aplicaciones web, mensajería instantánea y sitios simples: sobre la red ( en el contexto de esta serie de artículos, el término "red" significa Internet Global ). Una red está formada por una gran cantidad de ordenadores: están interconectados y son capaces de comunicarse. Es importante entender cómo lo hacen, porque las aplicaciones web son responsables de transferir información de una computadora a otra.

modelo de red OSI

El modelo OSI (Interconexión de sistemas abiertos) crea un enfoque en capas para construir una red. Muestra claramente cómo y en qué nivel los miembros de una misma red pueden interactuar entre sí. En total, este modelo contiene 7 niveles:
7 Aplicado
6 Representación
5 Sesión
4 Transporte
3 Red
2 Conducto
1 Físico
Dividir en capas abstractas permite a los especialistas que trabajan, por ejemplo, en la capa de transporte, no pensar en los detalles de la implementación de la red en las capas de red y de sesión. Este enfoque también se utiliza en programación. Veamos todas las capas del modelo OSI y descubramos cuáles nos interesan:
  1. 1. Nivel físico : aquí las leyes de la física hacen su trabajo y la tarea del hombre es utilizarlas y dirigirlas para sus propios fines. Por ejemplo, crear cables y tenderlos a los miembros de la red.

    No estamos interesados.

  2. Capa de enlace de datos : responsable de transmitir datos a los nodos de la red y crear canales de transmisión de datos en objetos físicos.

    Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.

  3. Сетевой уровень — для определения DIRECCIÓNов отдельных пользователей сети и маршрутов к ним. На этом уровне стоит остановиться подробнее, а именно — на DIRECCIÓNе пользователя в сети.

    Он определяется специальным протоколом: самый распространённый — IPv4 (Internet Protocol version 4). Именно его нужно использовать веб-программисту для обращения к другому абоненту сети.

    IPv4 состоит из четырех byteовых значений, разделенных точкой, например: 192.0.2.235. Стоит помнить, что значения byteовые, а значит, они лежат в пределах 0..255.

    IP-DIRECCIÓNа, в свою очередь, делятся на классы, и просто так присвоить себе красивую комбинацию циферок не получится, но так сильно углубляться мы не станем. Достаточно понимать, что IP-DIRECCIÓN — это уникальный идентификатор абонента в сети, по которому мы сможем к нему обратиться.

  4. Транспортный уровень — занимается доставкой информации DIRECCIÓNату. Для этого используются разные протоколы, которые нам пока не интересны. Гораздо больше нас интересует понятие, которое появляется на этом уровне, — port.

    Порты отвечают за идентификацию конкретного aplicaciones на компьютере. Например, ты написал чат на Java, установил на 2 компа и хочешь отправить своему собеседнику. Твое сообщение упаковывается, отправляется по конкретному IP-DIRECCIÓNу, доставляется твоему собеседнику, но его ПК не знает, что делать с полученной информацией, так Cómo не понимает, Cómoое приложение должно обработать твое сообщение. Для этого и указываются порты при общении абонентов в сети.

    Порт представляет собой число от 0 до 65535. Он добавляется к IP-DIRECCIÓNу после двоеточия: 192.0.2.235:8080. Но нельзя использовать все порты из указанного диапазона: часть из них зарезервирована под операционную систему, еще часть принято использовать с конкретно оговоренной целью. В преднаsignificado разных портов углубляться не будем, пока достаточно понимать их роль в процессе общения в сети.

  5. Сеансовый уровень — создает и управляет сеансами связи приложений. На этом уровне становится возможным взаимодействие приложений, отправка pedidoов служебного уровня. Для нас важно знать, что на этом уровне между двумя абонентами открывается сессия (session), с которой нам часто придется работать.

    Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.

    Si una aplicación se comunica con varios usuarios simultáneamente, se establece un número adecuado de conexiones y, por tanto, de sesiones. Cada sesión tiene un identificador único (ID) , que permite a la aplicación distinguir entre los usuarios con los que se produce la comunicación.

  6. Capa de presentación : responsable de codificar/decodificar datos. Obviamente, si necesitamos enviar la cadena "Hola web" a otro usuario, primero se convierte (codifica) en código binario y solo luego se envía. Una vez que llega al destino, el mensaje se vuelve a convertir (decodifica) y el destinatario puede ver la cadena original. Estas acciones ocurren a nivel de presentación.

  7. La capa de aplicación es la capa más interesante para nosotros. Permite que las aplicaciones interactúen con la red. En este nivel recibiremos, enviaremos mensajes, realizaremos solicitudes a servicios y bases de datos remotas.

    Son muchos los protocolos que se utilizan a este nivel: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET y, por supuesto, HTTP/HTTPS. Un protocolo es un acuerdo universal al que nos adherimos al redactar mensajes. Definitivamente hablaremos sobre los protocolos HTTP/HTTPS por separado y con más detalle.

Parte 1. Lo que necesitas saber antes de aprender Spring y JavaEE - 2 No necesitamos saber cómo funciona cada nivel de este modelo. Lo principal es comprender los principios de funcionamiento de los elementos con los que tendremos que lidiar al escribir aplicaciones web, a saber:
  • Dirección IP: la dirección del suscriptor en la red;
  • Puerto: dirección de aplicación de un suscriptor específico;
  • La sesión es una entidad que existe durante toda la comunicación entre dos suscriptores;
  • Los protocolos de aplicación (HTTP/HTTPS) son las reglas que nos guiarán a la hora de redactar y enviar mensajes.
Cuando vamos a, digamos, una tienda online, indicamos su dirección de ubicación y puerto. En tu primera visita se crea una sesión en la que la tienda puede registrar información. Por ejemplo, sobre la mercancía que dejamos en el carrito. Si cerramos la pestaña de la tienda online y luego volvemos a ella, nuestros productos permanecerán en el carrito porque se guardan en la sesión. Bueno, por supuesto, recibimos toda la información que recibimos de la tienda a través del protocolo HTTP/HTTPS, y nuestro navegador puede procesarla. Puede objetar y decir que nunca ingresó la dirección y el puerto en el navegador, y en parte tendrá razón, porque ingresó el nombre de dominio que se convirtió en el servidor DNS. Pero aquí, echemos un mejor vistazo a qué es qué.

DNS (Sistema de nombres de dominio)

Como ya hemos descubierto, cada suscriptor de la red tiene una dirección única. Si hablamos de una aplicación, su dirección única será IPv4:puerto . Conociendo esta dirección, podrás acceder directamente a la aplicación. Imaginemos que escribimos una aplicación web que muestra la temperatura promedio del aire en todos los países en tiempo real. Lo implementamos en un servidor con la dirección 226.69.237.119 y en el puerto 8080. Para que el usuario reciba nuestra información, debe ingresar 5 números en el navegador: 226.69.237.119:8080. A la gente realmente no le gusta recordar conjuntos de números: no todos recordamos más de dos números de teléfono. Por eso se inventó el sistema de nombres de dominio . Podemos crear un "alias" para nuestra dirección (por ejemplo, world-temperature.com) y, en lugar de buscarnos usando una dirección de cinco dígitos, el usuario puede escribir nuestro nombre de dominio en la barra de direcciones del navegador. Para unir nombres de dominio y direcciones reales, existen servidores DNS . Cuando un usuario ingresa, por ejemplo, javarush.ru en el navegador, su solicitud se envía al servidor DNS, donde se convierte en una dirección real. Parte 1. Lo que necesitas saber antes de aprender Spring y JavaEE - 4Es importante que entendamos esto, porque en nuestras aplicaciones llamaremos a servicios remotos tanto por nombre de dominio como por dirección real, y estos serán los mismos servicios. ¡Eso es todo! En este artículo, analizamos los conceptos básicos del diseño de redes, que le serán útiles antes de comenzar a aprender programación web. La próxima vez veremos qué es la arquitectura cliente-servidor y por qué es tan importante comprenderla. Parte 2. Hablemos un poco sobre arquitectura de software Parte 3. Protocolos HTTP/HTTPS Parte 4. Conceptos básicos de Maven Parte 5. Servlets. Escribir una aplicación web sencilla Parte 6. Contenedores de servlets Parte 7. Introducción del patrón MVC (Modelo-Vista-Controlador) Parte 8. Escribir una pequeña aplicación Spring-boot
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION