JavaRush /Blog Java /Random-FR /Partie 1. Ce que vous devez savoir avant d'apprendre Spri...

Partie 1. Ce que vous devez savoir avant d'apprendre Spring et JavaEE

Publié dans le groupe Random-FR
Si vous avez déjà terminé vos études sur Java SE ou si vous êtes sur le point de le faire, il est temps de réfléchir aux prochaines étapes pour conquérir le métier de développeur Java. Partie 1. Ce que vous devez savoir avant d'apprendre Spring et JavaEE - 1D'une part, vous avez déjà une bonne compréhension de Java : vous savez travailler avec l'EDI, écrire des programmes et bien plus encore. Mais que devrions-nous faire ensuite avec eux, les programmes ? Comment les rendre plus cool et les « libérer dans le monde » ? Il devient évident qu’il est temps de commencer à étudier les technologies d’entreprise. Et c'est là que le plaisir commence. Peu importe la pile technologique avec laquelle vous décidez de commencer. Qu'il s'agisse de JavaEE ou de Spring, vous rencontrerez probablement beaucoup de choses qui dépassent encore votre compréhension. Entre les bases de Java et les technologies avancées, il existe encore un niveau intermédiaire de connaissances qui vous aidera à ne pas perdre les restes de maîtrise de soi et de confiance en soi lors de la lecture d'une documentation volumineuse. Par conséquent, le but de cette série d’articles est de vous donner le minimum de connaissances théoriques nécessaires pour une étude plus approfondie de JavaEE ou Spring. Tout le matériel est divisé en 7 parties :
  1. Parlons un peu du réseau.
  2. Considérons la structure de l'architecture client-serveur et à trois niveaux.
  3. Regardons les protocoles HTTP/HTTPS.
  4. Apprenons tout ce que vous devez savoir sur Maven.
  5. Parlons des servlets.
  6. Conteneurs de servlets.
  7. Et enfin - à propos de MVC.

Partie 1. Parlons un peu du réseau

Commençons par la chose la plus importante et parlons de la base sur laquelle sont construits tous les réseaux sociaux, services et applications Web, messageries instantanées et sites simples - du réseau ( dans le contexte de cette série d'articles, le terme « réseau » signifie l'Internet mondial ). Un réseau est constitué d'un très grand nombre d'ordinateurs : ils sont interconnectés et capables de communiquer. Il est important de comprendre comment ils procèdent, car les applications Web sont chargées de transférer les informations d'un ordinateur à un autre.

Modèle de réseau OSI

Le modèle OSI (Open Systems Interconnection) crée une approche en couches pour construire un réseau. Il montre clairement comment et à quel niveau les membres d’un même réseau peuvent interagir les uns avec les autres. Au total, ce modèle contient 7 niveaux :
7 Appliqué
6 Représentation
5 Session
4 Transport
3 Réseau
2 Canal
1 Physique
Le découpage en couches d'abstraction permet aux spécialistes qui travaillent, par exemple, sur la couche transport, de ne pas penser aux détails de la mise en œuvre du réseau au niveau des couches réseau et session. Cette approche est également utilisée en programmation. Examinons toutes les couches du modèle OSI et découvrons lesquelles d'entre elles nous intéressent :
  1. 1. Niveau physique - ici, les lois de la physique font leur travail, et la tâche de l'homme est de l'utiliser et de la diriger à ses propres fins. Par exemple, créer des câbles et les poser vers les membres du réseau.

    Nous ne sommes pas intéressés.

  2. Couche liaison de données - responsable de la transmission des données aux nœuds du réseau et de la création de canaux de transmission de données sur les objets physiques.

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

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

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

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

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

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

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

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

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

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

    Si une application communique avec plusieurs utilisateurs simultanément, un nombre approprié de connexions, et donc de sessions, sont établies. Chaque session possède un identifiant (ID) unique , qui permet à l'application de distinguer les utilisateurs avec lesquels la communication a lieu.

  6. Couche de présentation - responsable du codage/décodage des données. Évidemment, si nous devons envoyer la chaîne « Hello web » à un autre utilisateur, elle est d'abord convertie (codée) en code binaire, puis envoyée seulement. Une fois arrivé à destination, le message est reconverti (décodé) et le destinataire peut voir la chaîne d'origine. Ces actions se produisent au niveau de la présentation.

  7. La couche application est pour nous la couche la plus intéressante. Il permet aux applications d'interagir avec le réseau. A ce niveau, nous recevrons, enverrons des messages, ferons des requêtes aux services et bases de données distantes.

    De nombreux protocoles sont utilisés à ce niveau : POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET et bien sûr HTTP/HTTPS. Un protocole est un accord universel auquel nous adhérons lors de la rédaction de messages. Nous parlerons certainement des protocoles HTTP/HTTPS séparément et plus en détail.

Partie 1. Ce que vous devez savoir avant d'apprendre Spring et JavaEE - 2 Nous n'avons pas besoin de savoir comment fonctionne chaque niveau de ce modèle. L'essentiel est de comprendre les principes de fonctionnement des éléments avec lesquels nous devrons composer lors de l'écriture d'applications web, à savoir :
  • Adresse IP : l'adresse de l'abonné sur le réseau ;
  • Port — adresse d'application d'un abonné spécifique ;
  • La session est une entité qui existe tout au long de la communication entre deux abonnés ;
  • Les protocoles d'application (HTTP/HTTPS) sont les règles qui nous guideront lors de la rédaction et de l'envoi de messages.
Lorsque nous visitons, par exemple, une boutique en ligne, nous indiquons son adresse et son port. Lors de votre première visite, une session est créée dans laquelle le magasin peut enregistrer des informations. Par exemple, sur les marchandises que nous avons laissées dans le panier. Si nous fermons l'onglet boutique en ligne puis y revenons, nos produits resteront dans le panier car ils sont enregistrés dans la session. Eh bien, bien sûr, nous recevons toutes les informations que nous recevons de la boutique via le protocole HTTP/HTTPS, et notre navigateur peut les traiter. Vous pouvez objecter et dire que vous n'avez jamais saisi l'adresse et le port dans le navigateur, et vous aurez en partie raison, car vous avez saisi le nom de domaine qui a été converti sur le serveur DNS. Mais ici, regardons mieux ce qui se passe.

DNS (système de noms de domaine)

Comme nous l'avons déjà découvert, chaque abonné du réseau possède une adresse unique. Si nous parlons d'une application, son adresse unique sera IPv4:port . Connaissant cette adresse, vous pouvez accéder directement à l'application. Imaginons que nous ayons écrit une application Web qui affiche en temps réel la température moyenne de l'air dans tous les pays. Nous l'avons déployé sur un serveur avec l'adresse 226.69.237.119 et sur le port 8080. Pour que l'utilisateur reçoive des informations de notre part, il doit saisir 5 chiffres dans le navigateur : 226.69.237.119:8080. Les gens n’aiment pas vraiment se souvenir d’une série de numéros : nous ne nous souvenons pas tous de plus de deux numéros de téléphone. C'est pourquoi le système de noms de domaine a été inventé . Nous pouvons créer un « alias » pour notre adresse – par exemple, world-temperature.com – et au lieu de nous rechercher à l’aide d’une adresse à cinq chiffres, l’utilisateur peut saisir notre nom de domaine dans la barre d’adresse du navigateur. Pour faire correspondre les noms de domaine et les adresses réelles, il existe des serveurs DNS . Lorsqu'un utilisateur saisit, par exemple, javarush.ru dans le navigateur, sa demande est envoyée au serveur DNS, où elle se transforme en une véritable adresse. Partie 1. Ce que vous devez savoir avant d'apprendre Spring et JavaEE - 4Il est important pour nous de comprendre cela, car dans nos applications nous appellerons les services distants à la fois par nom de domaine et par adresse réelle, et ce seront les mêmes services. C'est tout! Dans cet article, nous avons examiné les bases de la conception de réseaux, qui vous seront utiles avant de commencer à apprendre la programmation Web. La prochaine fois, nous examinerons ce qu'est l'architecture client-serveur et pourquoi il est si important de la comprendre. Partie 2. Parlons un peu de l'architecture logicielle Partie 3. Protocoles HTTP/HTTPS Partie 4. Les bases de Maven Partie 5. Servlets. Écrire une application Web simple Partie 6. Conteneurs de servlets Partie 7. Présentation du modèle MVC (Model-View-Controller) Partie 8. Écrire une petite application Spring-boot
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION