web-dev-qa-db-fra.com

Quelle est la différence entre Java Application Web et Java Application d'entreprise?)

J'ai fait des recherches sur la différence entre Java application web et application d'entreprise et ce que j'ai trouvé, c'est qu'ils ont une architecture un peu similaire.

Par exemple, les applications d'entreprise ont des niveaux Client -, Présentation -, Logique métier - et Données.

Niveau client peut être Java clients, clients basés sur navigateur et clients mobiles.
Niveau Présentation peut être des composants JavaBeans, des servlets, des portails et des composants JSP.
Dans Business Logic Tier vous pouvez avoir des serveurs, des services Web (SOAP, Restful et autres) et des composants MDB.
Dans Niveau de données vous pouvez avoir un SGBD, LDAP et un flux de données.

Maintenant, si nous comparons ces composants à une application Web, vous pouvez les utiliser sans créer Java Application d'entreprise. Par exemple, je peux utiliser de nombreuses technologies différentes pour implémenter mon application Web comme Hibernate, Maven, JSP ou JSF , Bases de données, servlets, JavaBeans et etc.

Ma plus grande question est quelle est la principale différence entre Java Application d'entreprise et application Web? Pourquoi utiliser Java Application d'entreprise?

13
Amir Al

Pourquoi devrais-je utiliser Java Application d'entreprise?

Cette question s'est posée presque en même temps que la spécification elle-même voyait le jour.

Plusieurs livres avaient été écrits sur ce sujet.

Développement expert J2EE individuel sans EJB

POJO en action: développement d'applications d'entreprise avec des cadres légers

Et des technologies comme Spring offrent des alternatives.

Par conséquent, dans la plupart des cas, vous pouvez créer une application Web qui répond aux exigences de votre client sans avoir besoin de créer une application d'entreprise.

Cependant, il existe des applications avec des exigences fonctionnelles et/ou non fonctionnelles spéciales, qui doivent avoir une couche métier s'exécutant sur une infrastructure qui offre certains services tels que: transactions distribuées, traitement de la messagerie, services de temporisation et appel de méthode à distance.

Ce type de services d'infrastructure n'est pas disponible sur les serveurs Web, c'est pourquoi vous devez développer une application (ou au moins certains composants) qui s'exécute sur des serveurs d'applications lourds.

6
Gabriel Aramburu

Comme vous pouvez le voir sur le site Web d'Oracle , le Java Enterprise Edition est une spécification. Il existe de nombreuses implémentations de divers fournisseurs. La principale différence par rapport à l'édition standard et l'entreprise est que pour ce dernier, vous avez besoin d'un serveur d'applications, au lieu d'un serveur Web comme Tomcat. C'est parce que les EJB où vous mettez la logique métier (qui n'existe que dans le Java spécification EE) a besoin d'un conteneur qui s'en occupe.

JBoss, Geronimo, Resin, WebSphere, entre autres, sont des serveurs d'applications qui gèrent les EJB.

6
Paolof76