CodeGym /Blog Java /Random-FR /Partie 1. Ce que vous devez savoir avant d'apprendre Spri...
John Squirrels
Niveau 41
San Francisco

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é (ou êtes sur le point de) apprendre Java SE, il est temps de réfléchir à vos 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 - 1 D'une part, vous avez déjà une bonne compréhension de Java : vous savez comment travailler avec un IDE, écrire des programmes, et bien plus encore. Mais que devez-vous faire ensuite avec vos programmes ? Comment les rendre encore plus cool et les "lâcher sur le monde" ? Il devient évident qu'il est temps de se lancer dans l'étude des technologies d'entreprise. Et maintenant, 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 une tonne de choses qui dépassent de loin votre compréhension. Entre les bases de Java et les technologies avancées, il reste une étape intermédiaire dans la connaissance qui doit être franchie afin de conserver ce qui vous reste de maîtrise de soi et de confiance en vous à la lecture d'une documentation volumineuse. Donc,est de vous donner les connaissances théoriques minimales nécessaires à votre étude approfondie de JavaEE ou Spring. Ce matériel est divisé en 7 parties :
  1. Nous allons parler un peu du réseautage.
  2. Nous examinerons l'architecture client-serveur et à trois niveaux.
  3. Nous allons explorer les protocoles HTTP/HTTPS.
  4. Nous apprendrons tout ce que vous devez savoir sur Maven.
  5. On parle de journalisation.
  6. À propos des conteneurs de servlet.
  7. Et enfin, à propos de MVC.

Partie 1. Nous parlerons un peu du réseautage.

Commençons par ce qui compte le plus en parlant de ce sur quoi chaque réseau social, service Web et application Web, messagerie instantanée et site Web simple est construit - le réseau (dans le contexte de cette série d'articles, le terme "réseau" signifie Internet ) . Le réseau est constitué d'un 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 envoient des informations d'un ordinateur à un autre.

Modèle OSI

Le modèle d'interconnexion de systèmes ouverts (OSI) crée une approche à plusieurs niveaux pour construire un réseau. Il montre clairement comment et à quelle couche les entités d'un même réseau peuvent interagir les unes avec les autres. En tout, ce modèle contient 7 couches :
7 Application
6 Présentation
5 Session
4 Transport
3 Réseau
2 Liaison de données
1 Physique
La décomposition du modèle en couches d'abstraction permet aux développeurs travaillant sur la couche transport, par exemple, de ne pas avoir à se soucier des détails d'implémentation au niveau des couches réseau et session. Cette approche est également utilisée en programmation. Considérons toutes les couches du modèle OSI et déterminons celles qui nous intéressent :
  1. Couche physique - Cette couche traite des lois de la physique et de la façon de les utiliser à nos fins. Par exemple, créer des câbles et les poser sur des entités du réseau.

    Cette couche ne nous intéresse pas.

  2. Couche liaison de données — Cette couche est 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 pour les objets physiques.

    Cette couche ne nous intéresse que si vous souhaitez écrire un firmware pour le matériel qui établit les liaisons de données.

  3. Couche réseau — Cette couche sert à déterminer les adresses des utilisateurs individuels du réseau et les routes vers eux. Il est utile d'en savoir plus sur les détails de cette couche, à savoir les adresses réseau.

    Les adresses réseau sont définies par un protocole spécial : le plus courant est IPv4 (Internet Protocol version 4). Il s'agit du protocole qu'un programmeur Web doit utiliser pour contacter un autre utilisateur du réseau.

    Une adresse IPv4 se compose de quatre valeurs d'octets séparées par des points, par exemple : 192.0.2.235. N'oubliez pas que ces valeurs sont des octets, ce qui signifie qu'elles se situent dans la plage 0..255.

    Les adresses IP, à leur tour, sont divisées en classes. Nous ne pouvons pas simplement nous attribuer une belle combinaison de chiffres, mais nous n'irons pas très loin ici. Il suffit de comprendre qu'une adresse IP identifie de manière unique un utilisateur du réseau et peut être utilisée pour contacter cet utilisateur.

  4. Couche transport — Cette couche gère la livraison des informations à un destinataire. Divers protocoles sont utilisés pour y parvenir. Pour l'instant, ils ne nous intéressent pas. Nous sommes beaucoup plus intéressés par le concept de port , qui apparaît à cette couche.

    Les ports sont chargés d'identifier une application spécifique sur un ordinateur. Par exemple, supposons que vous écriviez une application de chat en Java, que vous l'installiez sur 2 ordinateurs et que vous souhaitiez envoyer un message à votre ami. Votre message est conditionné, envoyé à une adresse IP spécifique et livré à votre ami, mais son ordinateur ne sait pas quoi faire des informations reçues, car il ne comprend pas quelle application doit traiter votre message. Lorsque les entités du réseau communiquent, les ports sont utilisés pour indiquer quelle application doit traiter les informations.

    Le port est un nombre compris entre 0 et 65535. Il est ajouté à l'adresse IP après deux-points : 192.0.2.235:8080 . Mais vous ne pouvez pas utiliser tous les ports de la plage spécifiée : certains d'entre eux sont réservés au système d'exploitation, d'autres sont habituellement utilisés à des fins spécifiques. Nous n'approfondirons pas les objectifs des différents ports. Pour l'instant, il suffit de comprendre leur rôle dans le processus de communication sur le réseau.

  5. Couche de session — Cette couche crée et gère des sessions de communication. Au niveau de cette couche, il devient possible pour les applications d'interagir, en envoyant des requêtes au niveau du service. Ce que nous devons savoir, c'est qu'à cette couche, une session est ouverte entre deux utilisateurs, et nous devons travailler avec la session.

    Une session est une entité créée lorsqu'une connexion est établie entre deux utilisateurs. Il peut stocker les informations nécessaires sur un utilisateur et sur l'historique des interactions avec l'utilisateur. Un détail important est que lorsque l'échange d'informations s'arrête, la session ne disparaît pas. Au lieu de cela, il conserve son état pendant une période de temps définie, afin que les utilisateurs puissent continuer à échanger des informations après une pause.

    Si une application communique avec plusieurs utilisateurs en même temps, un nombre correspondant de connexions (et donc de sessions) est établi. Chaque session possède un identifiant unique (ID) , qui permet à l'application de distinguer les utilisateurs avec lesquels elle communique.

  6. Couche de présentation — Cette couche est 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 en code binaire (codée en tant que) et ensuite seulement elle est envoyée. Lorsqu'il atteint le destinataire, le message est reconverti (décodé) et le destinataire peut voir la chaîne d'origine. Ces actions ont lieu au niveau de la couche de présentation.

  7. La couche application est la couche la plus intéressante pour nous. Il permet aux applications de communiquer avec le réseau. Au niveau de cette couche, nous recevons et envoyons des messages, et faisons des demandes aux services et aux bases de données distantes.

    Il existe de nombreux protocoles utilisés à cette couche : 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 communication. Nous fournirons certainement une discussion détaillée séparée de HTTP/HTTPS.

Partie 1. Ce que vous devez savoir avant d'apprendre Spring et JavaEE - 2Nous n'avons pas besoin de savoir comment chaque couche du modèle fonctionne. L'essentiel est de comprendre les principes de fonctionnement des éléments avec lesquels nous aurons à travailler lors de l'écriture d'applications web, à savoir :
  • Adresse IP — L'adresse de l'utilisateur dans le réseau
  • Port — L'adresse de l'application d'un utilisateur spécifique
  • Session — Une entité qui existe tout au long de la période de communication entre deux utilisateurs
  • Protocoles d'application (HTTP/HTTPS) — Ce sont des règles que nous suivrons lors de la composition et de l'envoi de messages.
Lorsque nous visitons une boutique en ligne, par exemple, nous indiquons son adresse et son port. Lors de notre première visite, une session est créée. Le magasin peut enregistrer des informations dans la session. Par exemple, le magasin peut enregistrer des informations sur les articles que nous avons laissés dans le panier. Si nous fermons l'onglet avec la boutique en ligne et que nous y retournons plus tard, nos articles seront toujours dans le panier car ils sont enregistrés dans la session. Bien sûr, toutes les informations que nous recevons du magasin nous les recevons via le protocole HTTP/HTTPS, et notre navigateur sait comment les traiter. Vous pouvez objecter en disant que vous n'avez jamais entré l'adresse et le port dans le navigateur, et vous auriez en partie raison. Ce que vous avez fait, c'est entrer le nom de domaine, qui a été converti par un serveur DNS. Regardons mieux ce qu'il y a ici.

DNS (système de noms de domaine)

Comme nous l'avons déjà appris, chaque utilisateur du réseau a une adresse unique. Si nous parlons de l'application, son adresse unique sera IPv4-address:port . Si vous connaissez cette adresse, vous pouvez accéder directement à l'application. Imaginez que nous écrivions une application Web qui affiche la température moyenne de l'air dans tous les pays en temps réel. Nous l'avons déployé sur un serveur avec l'adresse 226.69.237.119, sur le port 8080. Afin de pouvoir recevoir des informations de notre part, l'utilisateur doit saisir 5 chiffres dans le navigateur : 226.69.237.119:8080. Les gens n'aiment pas mémoriser des ensembles de chiffres : beaucoup d'entre nous ne se souviennent pas de plus de deux numéros de téléphone. C'est pourquoi le système de noms de domainea été inventé. Nous pouvons créer un "alias" pour notre adresse, par exemple world-temperature.com. Au lieu de nous rechercher à l'aide d'une adresse composée de cinq chiffres difficiles à retenir, l'utilisateur peut entrer notre nom de domaine dans la barre d'adresse du navigateur. Il existe des serveurs DNS qui associent les noms de domaine à des adresses réelles. Par exemple, lorsqu'un utilisateur saisit codegym.cc dans un navigateur, sa requête est envoyée à un serveur DNS, qui la convertit en l'adresse réelle. Partie 1. Ce que vous devez savoir avant d'apprendre Spring et JavaEE - 4Il est important que nous comprenions cela, car nos applications appelleront des services distants à la fois par des noms de domaine et par des adresses réelles. Nous devons comprendre que dans les deux cas, les services sont les mêmes. C'est tout pour le moment! Dans cet article, nous avons examiné les bases de la mise en réseau, qui vous seront utiles lorsque vous commencerez à apprendre la programmation Web.La prochaine fois, nous verrons ce qu'est une architecture client-serveur et pourquoi il est si important de la comprendre. Partie 2. Parlons un peu de l'architecture logicielle Partie 3. HTTP/HTTPS Partie 4. Les bases de Maven Partie 5. Les servlets et l'API Java Servlet. Écrire une application Web simple Partie 6. Conteneurs de servlet Partie 7. Présentation du modèle MVC (Model-View-Controller)
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION