Maison  >  Article  >  Java  >  Technologies J2EE

Technologies J2EE

WBOY
WBOYoriginal
2024-08-30 15:13:41545parcourir

J2EE est une forme abrégée de Java 2 Enterprise Edition, anciennement Java 2 Platform Enterprise Edition, avec des spécifications étendant Java 2 Standard Edition (J2SE). J2EE offre un ensemble intégré de services utilisés à grande échelle, prenant en charge des architectures multiniveaux, basées sur des composants et distribuées. Habituellement, J2EE est un ensemble d'API permettant de créer des applications à grande échelle. La technologie J2EE utilise les API et constitue une norme pour la création et le déploiement d'applications d'entreprise. Il promet « écrivez une fois, exécutez n'importe où ».

PUBLICITÉ Cours populaire dans cette catégorie J2EE - Spécialisation | 14 séries de cours | 6 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Java Enterprise Edition comprend plusieurs spécifications à des fins diverses telles que la génération de pages Web, la lecture et l'écriture à partir de la base de données et la gestion des files d'attente distribuées.

Liste des technologies J2EE

Représentation graphique de la plateforme J2EE.

Technologies J2EE

1. Servlet Java

Les servlets Java s'exécutent sur un serveur Web, génèrent des pages Web dynamiques, traitent les requêtes des navigateurs Web, traitent les requêtes et renvoient les données traitées au navigateur.

Common Gateway Interface (CGI) est également utilisée pour développer des pages Web dynamiques, mais elle présente plusieurs limitations, telles que les performances, l'évolutivité, la réutilisabilité, etc. Pour surmonter cette limitation, nous pouvons utiliser un servlet.

L'un des inconvénients les plus importants de CGI est que chaque fois qu'une nouvelle requête de l'utilisateur, le programme CGI la gère en créant un nouveau processus. Si le nombre d'utilisateurs augmente, CGI doit alors créer un nouveau processus pour chaque demande ; en créer un nouveau pour chaque processus n'est pas valable pour le côté serveur car ses ressources sont limitées. Contrairement à CGI, des threads distincts gèrent les programmes de servlets.

Technologies J2EE

Processus d'exécution des servlets :

  • Le client envoie une demande.
  • Le serveur web reçoit la requête.
  • Le serveur web transmet les requêtes au servlet correspondant.
  • Le servlet traite la demande et génère une réponse sous forme de sortie.
  • Servlet renvoie une réponse à un serveur Web
  • Le serveur Web envoie une réponse au client.

2. Pages du serveur Java (JSP)

Les développeurs utilisent Java Server Pages pour la programmation côté serveur afin de créer des pages Web dynamiques et de créer des applications Web.

Caractéristiques de JSP :

  • Les performances JSP augmentent considérablement car elles permettent aux utilisateurs d'intégrer du code Java dans HTML.
  • Comme une servlet, JSP a également accès aux API Enterprise Java
  • Les développeurs utilisent également des pages JSP en combinaison avec des servlets.
  • Les balises JSP qui permettent d'intégrer du code Java avec HTML sont <%—–Code JSP—- %>
  • L'intégration du code JSP dans HTML rend les pages HTML dynamiques, comme les formulaires d'inscription, les listes déroulantes, etc.
  • JSP est utilisé pour accéder aux objets Java Beans.
  • JSP sépare la couche de présentation de la logique métier.
  • Il fournit le moyen le plus simple de générer des pages Web dynamiques par rapport aux servlets.
  • Le conteneur Web gère toutes les modifications du code JSP sans nécessiter de recompilation.
  • Comme les servlets, JSP [ne nécessite pas de fichiers supplémentaires Class Files et web, XML.
  • Le mappage web.xml supplémentaire n'est pas nécessaire pour JSP.

L'architecture de JSP :

Technologies J2EE

Fonctionnement de l'Architecture #1

Dans cette architecture, JSP joue un rôle important dans le traitement des requêtes des clients.

  • Un client envoie une requête à JSP
  • JSP crée un objet JavaBean.
  • JavaBeans traite la demande en utilisant les données nécessaires de la base de données si nécessaire.
  • Le serveur renvoie la réponse au client.

Technologies J2EE

Fonctionnement de l'Architecture #2

Dans cette architecture, Servlet joue un rôle important. La servlet agit comme un contrôleur.

  • Le client envoie une demande.
  • Servlet traite la requête envoyée par le client.
  • La servlet crée un objet bean et appelle une page JSP spécifique.
  • Ici, JSP ne traite aucune demande client.
  • JSP effectue la partie présentation.

3. Bean Java d'entreprise (EJB)

Enterprise Java Beans est une architecture de développement permettant de créer des applications d'entreprise hautement évolutives et robustes.

Caractéristiques des EJB :

  • Le développeur doit se concentrer sur la logique métier de l'application puisque le serveur d'application fournit la plupart des services au niveau du système, transactions, journalisation, gestion des exceptions, etc.
  • Le conteneur EJB gère toutes les instances EJB.
  • Les composants EJB s'exécutent sur n'importe quel serveur compatible EJB. Ces avantages sont indépendants de la plateforme.

Types de beans Enterprise :

a. Haricot de session

Les beans session effectuent la tâche pour le client. Le client peut invoquer par programme la logique métier encapsulée.

Il existe trois types de beans de session :

  • Stateful Session Bean : L'instance du bean de session Stateful représente l'état d'un client unique, souvent appelé état conversationnel. On l'appelle également session interactive et elle n'est associée qu'à un seul utilisateur. L'état est conservé une fois que le client supprime la session des beans et l'état disparaît.
  • Bean de session sans état : L'instance de session sans état ne maintient pas un état de conversation avec le client. Lorsqu'un client invoque, une méthode de variable de bean sans état est contenue spécifique à ce client mais uniquement pour la durée de l'invocation. L'instance s'applique à tous les clients. Peut implémenter un service Web.
  • Singleton Session Bean : Instancié une fois par application et existe pendant le cycle de vie de l'application. Utilisé lorsqu'un bean d'instance unique est partagé entre tous les clients simultanés. Le serveur conserve les états entre les invocations des clients, mais n'est pas tenu de conserver l'état lors des arrêts du serveur. Il doit être instancié au démarrage de l'application.

b. Basé sur des messages

Un bean géré par message est un écouteur pour un type de message particulier, tel qu'une API de serveur de messages Java.

Architecture EJB :

Technologies J2EE

4. Connectivité de base de données Java (JDBC)

Java Database Connectivity est une API Java utilisée pour connecter et exécuter des requêtes. Il utilise des pilotes JDBC pour la connectivité.

Types de conducteurs :

  • Pilote de pont JDBC-ODBC
  • Pilote natif.
  • Pilote de protocole réseau.
  • Pilote fin.

Caractéristiques :

  • ODBC utilise des pilotes ODBC pour la connexion, car ceux-ci dépendent de la plate-forme. Java a donc développé sa propre API JDBC.
  • Java peut être utilisé pour écrire des exécutables de différents types, notamment des applets Java, JSP, EJB, servlets, etc.

Architecture JDBC :

L'architecture JDBC est divisée en deux types

  • Architecture à deux niveaux.
  • Architecture à trois niveaux.

a. Architecture à deux niveaux

Représentation graphique de l'architecture à deux niveaux.

Technologies J2EE

L'application Java est directement accessible depuis la base de données dans cette architecture à deux niveaux. Le client accède aux données directement à l’aide du pilote JDBC. La base de données peut être située sur la même machine ou sur une autre machine dans une configuration client-serveur.

b. Architecture à trois niveaux

Représentation graphique de l'architecture à trois niveaux.

Technologies J2EE

Cette architecture envoie des commandes au niveau intermédiaire, qui traite la demande puis la transmet à la source de données. La source de données traite la demande et les résultats sont renvoyés au niveau intermédiaire, qui est ensuite envoyé à l'utilisateur. Trois niveaux maintiennent le contrôle de l'accès aux données et des mises à jour apportées aux données de l'entreprise.

5. Service de messages Java (JMS)

Java Messaging Service est une API qui assure une communication formelle entre les ordinateurs d'un réseau appelé Messaging Service.

  • L'échange de messages peut être en mode synchrone ou asynchrone.
  • L'API JMS permet l'interopérabilité entre d'autres langages de la plateforme Java.
  • Les applications sont construites sur le concept de file d'attente de messages, d'expéditeur et de destinataire.

Il existe deux types de domaines de messagerie dans JMS.

a. Domaine de messagerie point à point

  • Les applications sont basées sur le concept de files d'attente, d'expéditeur et de destinataire.
  • Chaque message envoyé à un récepteur de file d'attente de messagerie stocke les messages dans la file d'attente de messagerie.
  • La file d'attente stocke tous les messages jusqu'à ce qu'ils soient consommés ou expirés.
  • Si le destinataire n'est pas disponible sur un réseau, le message restera, courtier de messages, jusqu'à ce que le destinataire consomme le message.
  • Le destinataire accuse réception de la consommation du message.

b. Publier/Abonnez-vous au domaine de messagerie

  • Les applications envoient des messages à des courtiers de messages appelés sujet.
  • Le sujet publie un message à tous les abonnés.
  • Le sujet conserve tous les messages jusqu'à ce que le destinataire les consomme.
  • Ici, plusieurs consommateurs et consommateurs recevront des messages après leur inscription.

Architecture JMS :

Technologies J2EE

6. API de transactions Java (JTA)

JTA permet d'effectuer des transactions distribuées pour accéder et mettre à jour les données par plusieurs ordinateurs dans un réseau. L'API JTA agit comme une interface Java entre Transaction Manager et le client.

Le serveur d'applications et le gestionnaire de ressources contrôlent l'accès aux transactions de ressources partagées.

  • Atomicité : Le gestionnaire de transactions est chargé de prendre la décision finale de s'engager ou d'annuler.
  • Assure la cohérence : Si une transaction échoue, l'intégrité des données est préservée.
  • Il n'est pas possible d'arrêter progressivement la transaction jusqu'à ce que la transaction par d'autres applications ou threads soit validée ou annulée.
  • Le commit peut être conservé même en cas de panne du système.
  • Trois types de gestionnaires de transactions.
  • Base de données : les transactions empêchent que la base de données soit laissée dans un état incohérent en raison d'une mise à jour incomplète.
  • Les fournisseurs JMS utilisent les transactions pour garantir que les messages sont livrés de manière fiable.
  • Composants de l'architecture du connecteur J2EE.
  • Transactions gérées par le conteneur : Le conteneur EJB définit les limites de la transaction et peut utiliser n'importe quel bean entreprise. Le code n'inclut pas les instructions qui commencent et terminent une transaction.
  • Transaction gérée par composants : Les transactions sont gérées par l'API JDBC, qui permet la gestion des transactions dans l'application elle-même. Les beans gérés par messages marquent explicitement les limites des transactions.

Architecture JTA :

Technologies J2EE

7. Java Mail

Java Mail est une API. Cela nous permet de rédiger, lire et rédiger des e-mails. Cette API fournit des informations indépendantes du protocole et de la plate-forme.

Protocoles utilisés avec l'API Java Mail :

  • SMTP : SMTP (Simple Mail Transfer Protocol) est un mécanisme permettant de transférer des e-mails. Apache James Server et d'autres logiciels de serveur de messagerie peuvent être utilisés comme serveur SMTP pour envoyer et relayer des e-mails.
  • POP : POP est le protocole postal /POP3. C'est un mécanisme pour recevoir l'e-mail. Prend en charge une seule boîte aux lettres pour chaque utilisateur. Apache James Server, le serveur de messagerie, peut être utilisé pour la fonctionnalité POP.
  • IMAP : Internet Message Access Protocol est un protocole avancé pour recevoir des messages. Prend en charge plusieurs boîtes aux lettres pour chaque utilisateur.
  • MIME : L'extension de messagerie Internet multiple indique au navigateur ce qui est envoyé, comme le format de l'e-mail, les pièces jointes, etc.

Architecture de messagerie Java :

Technologies J2EE

8. Interface de nommage et d'annuaire Java (JNDI)

Java Naming and Directory Interface est une API pour le service de nommage et d'annuaire qui permet aux utilisateurs de découvrir des données à l'aide de noms spécifiques.

  • JNDI est indépendant de la mise en œuvre.
  • Il fournit des interfaces de fournisseur de services (SPI) – permet un service d'annuaire connecté au framework.
  • Les développeurs utilisent l'API pour connecter les applications Java à un répertoire externe.
  • Il fournit un mécanisme pour lier un objet au nom.
  • L'interface d'événements permet aux clients de déterminer quand les entrées du répertoire ont été modifiées.

JNDI utilise les services de noms et d'annuaire suivants.

  • Protocole léger d'accès à l'annuaire (LDAP).
  • Architecture de courtier de requêtes d'objets communs (CORBA).
  • Services d'objets communs (COS)
  • Invocation de méthode à distance Java (RMI).
  • Service de noms de domaine (DNS).

Architecture JNDI :

Technologies J2EE

9. Architecture de connecteur J2EE (JCA)

Le serveur d'applications utilise JCA pour se connecter à un EIS.

  • Le serveur d'applications compatible JCA s'intègre à tout EIS compatible JCA.
  • Resource Adapter permet aux applications Java d'accéder et d'interagir avec le gestionnaire de ressources d'EIS.
  • Il fournit également des services Web d'intégration transactionnelle basée sur les messages basés sur Java EE avec EIS.

JCA définit un ensemble standard de contrats au niveau du système entre le serveur d'applications Java et l'adaptateur de ressources.

  • Gestion des connexions : Active la connexion du pool de serveurs d'applications à l'EIS. Permet aux composants d’application de se connecter. Cela bénéficie d'un environnement d'application évolutif et prend en charge un grand nombre de clients.
  • Gestion des transactions : Permet à un serveur d'applications d'utiliser le gestionnaire de transactions pour gérer les transactions de plusieurs gestionnaires de ressources. Ce logiciel prend en charge la gestion interne des transactions sans impliquer des gestionnaires de transactions externes.
  • Gestion de la sécurité : Empêche les menaces de sécurité contre EIS et protège les ressources précieuses gérées par EIS.
  • Gestion du cycle de vie : Permet au serveur d'applications de gérer le cycle de vie d'un adaptateur de ressources du début à la fin.
  • Gestion du travail : Permet à l'adaptateur de ressources d'attribuer le travail au serveur d'applications pour exécution. Le serveur d'applications distribue des threads pour terminer le travail assigné.
  • Gestion des flux de transactions : Permet à l'adaptateur de ressources de propager les transactions importées vers le serveur d'applications. Permet à l'adaptateur de ressources de transmettre l'achèvement de la transaction et la récupération après incident initiée par EIS.
  • Gestion des flux de messages : Permet la livraison asynchrone de messages aux points de terminaison de messages résidant sur le serveur d'applications.

Architecture JCA :

Technologies J2EE

Conclusion – Technologies J2EE

2EE optimise l'informatique d'entreprise ou les applications d'entreprise qui offrent une amélioration au client. Les conteneurs ou serveurs d'applications fournis par presque toutes les technologies J2EE facilitent un développement et un déploiement rapides, car les normes Java indépendantes de la plate-forme garantissent un développement multiplateforme pouvant s'exécuter sur plusieurs plates-formes. La plupart des technologies J2EE séparent la conception et le développement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Qu’est-ce que J2EE ?Article suivant:Qu’est-ce que J2EE ?