Uno de los mayores problemas de la plataforma Java EE 5 y anteriores era el manejo de JNDI a la hora de localizar los distintos recursos (DataSources,EJBs etc) ya que cada servidor de aplicaciones lo usaba de una forma distinta . Java EE 6 nos provee de novedades importantes en este ámbito que ayuda a generar homogeneidad entre los distintos servidores de aplicaciones y es algo que se echaba en falta sobre todo en procesos de migraciones. A partir de ahora con Portable JNDI existen 3 namespaces que todos los servidores Java EE 6 Certificados deben soportar.
- java:global : Es el namespace que se va a utilizar para acceder a los EJBs de forma remota para poder usar esta funcionalidad usaremos la siguiente sintaxis
java:global[/nombreAplicacion]/nombreModulo/nombreEJB/nombreInterface
- java:module : Es el namespace que se va a utilizar para acceder a los ejbs que se encuentren en el mismo módulo para acceder a ellos usaremos
java:module/nombreEJB/nombreInterface
- java:app :Es el namespace que se utiliza para acceder a EJBs que se encuentran ubicados en la misma aplicación pero en distinto módulo para acceder a ellos usaremos la siguiente sintaxis.
java:app/nombreModulo/nombreEJB/nombreInterface
Utilizando esta nomenclatura podremos eliminar muchos de los problemas de portabilidad que existían entre los distintos servidores de aplicaciones .
En el proximo post hablaremos de este tema un poco mas a detalle.
[…] de @EJB .Eso si deberemos apoyarnos en los conocimientos adquiridos en el post anterior de “Portable JNDI” y utilizar la anotación @EJB con el atributo de lookup. Vamos a ver un servlet que accede al […]