2010-08-09 6 views
1

En wiki, il est dit:Questions sur Java EE?

Java Platform, Enterprise Edition [...] pour déployer [...] distribué, à plusieurs niveaux logiciel Java, basé en grande partie sur des composants modulaires en cours d'exécution sur un serveur d'application. Pour autant que je sache, distribué signifie "plusieurs ordinateurs" qui est égal à "plusieurs serveurs", alors pourquoi il dit à la fin "en cours d'exécution sur un serveur d'applications" (donc seulement 1 serveur)?

Est-ce une application Java EE doivent être à plusieurs niveaux?

Est-application basée sur une architecture orientée services aussi des applications Java EE?

Les applications utilisant RMI et les prises, sont-elles des applications Java EE (car il y a des appels entre les différents processus qui peuvent être sur des serveurs différents)?

à plusieurs niveaux et/ou ditstributed ont-ils le même sens?

Quand on parle de couches dans ces applications, est-il des couches physiques (base de données, navigateur, serveur web, ...) ou des couches logiques (couche d'accès aux données, couche d'affaires, ...)?

Répondre

2

Qu'est-ce que l'on entend est que JavaEE est une plate-forme de programmation qui offre de nombreuses abstractions à construire des systèmes distribués à plusieurs niveaux.

Vous pouvez aussi le faire par vous-même sans utiliser les abstractions JavaEE et en utilisant RMI ou prises, etc. directement, mais vous ne pouvez pas considérer votre solution pour être JavaEE. Cela dit, le terme du serveur d'application fait référence à un logiciel utilisé pour héberger d'autres applications. Pensez-y comme Tomcat qui est un serveur web qui peut être utilisé pour héberger plusieurs applications web. Le terme middleware ou contenant est aussi parfois utilisé pour désigner ce type de logiciel. Le terme serveur ici ne doit pas être confondue avec la notion de serveur comme une machine physique.

Alors, que l'on entend, est ce que chaque ordinateur du réseau exécute un serveur d'application qui est utilisée pour héberger l'application JavaEE.

application JavaEE suivent généralement une architecture en couches. Une couche est un concept logique, un niveau est une considération phyisique/de déploiement. Toutes les couches peuvent être dans le même ordinateur, auquel cas vous ne parlerez pas de vrai multiniveau. Vous pouvez également diviser les couches sur différents niveaux. La tendance est de simplifier les choses, et la plupart des projets que j'ai vus étaient en couches, mais pas divisés entre les niveaux physiques.

Et enfin, la SOA est un style architectural pour construire un grand système d'entreprise. Une application JavaEE peut s'intégrer dans une architecture SOA. Encore une fois, JavaEE est un ensemble d'abstractions, vous pouvez les utiliser de manière plus ou moins créative pour écrire une application web ou d'autres applications, y compris des choses qui s'intégreraient dans une architecture SOA, notamment les services web.

espère que cela répond à vos questions.

+0

Pourquoi les RMI ou les sockets ne sont-ils pas considérés comme JavaEE? – mohamida

+0

AFAIK, ils sont considérés comme faisant partie de la plate-forme Java SE. Java EE est un ensemble d'API ajoutées à Java SE, telles que EJB, JTA, JMS, JSP/Servlet, JSF, etc. La liste des API est ici http://download.oracle.com/javaee/5/ api /. Si vous n'utilisez pas l'un d'entre eux, vous ne pouvez pas vraiment dire que vous faites JavaEE. Ce qui ne veut pas dire que vous ne faites pas de logiciel de qualité professionnelle. J'ai vu un excellent logiciel backend écrit en utilisant RMI et Java SE. – ewernli

+0

Donc, le fait que vous n'utilisiez pas l'API de JavaEE signifie que vous n'utilisez pas Java EE? Mais avec RMI et socket, vous pouvez développer des applications multi-niveaux et distribuées? – mohamida