Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introducción
En este excelente artículo realizado por el maestro Cecilio Álvarez, creador de la
web www.arquitecturajava.com, se detalla en forma práctica el concepto de EJB y
su uso.
Esto nos facilitará el futuro camino hacia los microservicios ya que el concepto
de EAR que contiene varios WARs y JARs es bastante lejano a dicha filosofía y
a la modularidad. Vamos a construir un ejemplo de esta casuística . Para
ello necesitamos construir un Dynamic Web Project en Eclipse:
El siguiente paso es construir un EJB dentro del proyecto. En un principio nos
parecerá algo extraño pero el entorno lo soporta sin problema:
1 package com.arquitecturajava.ejb;
2
3 import javax.ejb.Local;
4
5 @Local
6 public interface MensajeEJBLocal {
7
8 public String mensaje() ;
}
9
1
2 package com.arquitecturajava.ejb;
3
import javax.ejb.LocalBean;
4
import javax.ejb.Stateless;
5 @Stateless
6 @LocalBean
7 public class MensajeEJB implements MensajeEJBLocal {
8
9 @Override
public String mensaje() {
10
11 return "hola desde un EJB";
12 }
13
14 }
15
El siguiente paso es construir un Servlet que delegue en el EJB que acabamos de
construir y nos imprima su mensaje.
1
2
package com.arquitecturajava.servlet;
3
4 import java.io.IOException;
5
6 import javax.ejb.EJB;
7 import javax.servlet.ServletException;
8 import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11
12 import com.arquitecturajava.ejb.MensajeEJBLocal;
13
14 @WebServlet("/ServletHola")
15 public class ServletHola extends HttpServlet {
private static final long serialVersionUID = 1L;
16
17 @EJB
18 MensajeEJBLocal mimensaje;
19
20 protected void doGet(HttpServletRequest request, HttpServletResponse response) thro
21
22 response.getWriter().append(mimensaje.mensaje());
}
23
24 }
25
26
Si revisamos el código nos daremos cuenta que el EJB se ha ubicado como una
clase normal de Java en la carpeta classes.
Acabamos de desplegar nuestro primer EJB dentro de un WAR .En muchos
casos usaremos la filosofía de EJB in WAR para desplegar servicios REST y
enfocar hacia los microservicios.