Example: 

A large organization uses ejb's to provide an infrastructure layer (messaging, 
persistence) to all of its products. Products which are realized as appliction 
ears. They might choose a buildning tool like Maven. Maven lets each project 
produce at most one artifact (good practice?), which could be an ejb, war, ear, 
jar etc. Artifacts are uploaded to a repository to be used by other projects.

JBoss uses a server specific deployment descriptor (or annotation) element that 
maps the logical JNDI name as used by the module (EJB,WAR) to a global JNDI 
name. This descriptor is defined and packaged in the module, not in the 
application (EAR).

Since the binding of global names is done in the ejb-jar module there is no way 
to deploy an ejb module twice in the application server.

Reading from "Development Roles" 
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Overview6.html :

"For example, in the application component development phase, an enterprise 
bean software developer delivers EJB JAR files. In the application assembly 
role, another developer combines these EJB JAR files into a J2EE application 
and saves it in an EAR file. In the application deployment role, a system 
administrator at the customer site uses the EAR file to install the J2EE 
application into a J2EE server."

The above statement cannot be true because there is no way for the "application 
assembly role" to _freely_ pick EJB JAR files from the "enterprise bean 
software developer". He will be getting global JNDI conflicts if an EJB JAR is 
assembled inside two EARs and deployed in the same server. 

So how can a infrastructure layer ever be realized if the "resource specifics" 
are bound to the module itself? Also, applications might have diffrent 
requirements on the infrastructure which are not relevant from the module 
itself. 

Why not make it possible to let the application worry about assign global 
resources to logical names instead? 

I think that the approach of not being required to define a global JNDI name 
for a SLSB is great because it allows reuse of these modules across 
applications. 

Cheers,
-Kristoffer


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3959696#3959696

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3959696
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to