Foros del Web » Programación para mayores de 30 ;) » Java »

Que es un Service Bean

Estas en el tema de Que es un Service Bean en el foro de Java en Foros del Web. Bueno estoy iniciandome ne el mundo de los frameworks y ya he conocido un poco de ellos. Quisera hacer una aplicacion donde integre Jsf 2, ...
  #1 (permalink)  
Antiguo 26/12/2010, 01:08
Avatar de cesmichael  
Fecha de Ingreso: julio-2008
Mensajes: 207
Antigüedad: 15 años, 8 meses
Puntos: 0
Que es un Service Bean

Bueno estoy iniciandome ne el mundo de los frameworks y ya he conocido un poco de ellos. Quisera hacer una aplicacion donde integre Jsf 2, spring e Hibernate y estoy documentandome un poco.

Bueno estaba viendo la Arquitectura que conlleva esta integracion y me tope con esto



Estoy tratando de entender, pero en lo que me pierdo es en el Service Bean...

Tengo las siguientes preguntas_:

Tiene que ver con web services??

Si es así, si mi aplicacion no utiliza web services se puede obviar???

Por ultimo alguien sería tan amable de explicarme ese gráfico

Saludos y gracias de antemano
  #2 (permalink)  
Antiguo 27/12/2010, 05:11
 
Fecha de Ingreso: mayo-2009
Mensajes: 72
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Que es un Service Bean

Wenas, antes de nada decirte que hay mil formas de configurar y desarrollar una aplicación con lo que dices. Yo te digo un ejemplo con Spring 3 y JSF 2.0:

Capa DAO: donde tendras tus clases (por ejemplo UserDAO) que extiende de HibernateDaoSupport donde tienes los métodos básicos ya implementados de Hibernate.

Capa Web: los controladores de la vista de Spring se sustituyen por ManagedBeans de JSF. Te pongo un ejemplo para la vista de los usuarios por ejemplo:

Código:
@ManagedBean
@SessionScoped
public class UserBean{
	
	(Atributos)
	
	@ManagedProperty(value="#{userService}")
	private transient UserService userService;
	
	@PostConstruct
	public void init() {}

	@PreDestroy
	public void destroy() {}
init equivaldría al GET y destroy al POST. Con @ManagedProperty tiene inyectado el servicio (o capa de conexion entre la vista y los DAOs).

Capa de servicio: donde defines todas las operaciones que necesitas utilizar en la vista. Por ejemplo para mostrar un listado de usuarios deberás usar el método genérico de Hibernate getList(). Si en tu clase controladora de la vista tienes inyectado el servicio, podras hacer un "userService.getUsers()". Ese método getUsers() lo tendrás implementado en tu clase de servicio userService. La implementacion de este método sería una llamada a UserDAO para que nos devuelva los usuarios:

Código:
	public List<User> getUsers() {
		return userDAO.getList();
	}
Por ultimo falta configurar el web.xml y el face-config.
  #3 (permalink)  
Antiguo 27/12/2010, 10:38
Avatar de cesmichael  
Fecha de Ingreso: julio-2008
Mensajes: 207
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Que es un Service Bean

Cita:
Iniciado por erlolialo Ver Mensaje

Capa Web: los controladores de la vista de Spring se sustituyen por ManagedBeans de JSF. Te pongo un ejemplo para la vista de los usuarios por ejemplo:

Código:
@ManagedBean
@SessionScoped
public class UserBean{
	
	(Atributos)
	
	@ManagedProperty(value="#{userService}")
	private transient UserService userService;
	
	@PostConstruct
	public void init() {}

	@PreDestroy
	public void destroy() {}
Umm...Si voy a sustituir los controladores de Spring, po los beans de JSF, en que momento uso spring en la aplicacion. Por otro lado los Beans de JSF no sirven para la capa vista.

Cita:
Iniciado por erlolialo Ver Mensaje
Capa de servicio: donde defines todas las operaciones que necesitas utilizar en la vista. Por ejemplo para mostrar un listado de usuarios deberás usar el método genérico de Hibernate getList(). Si en tu clase controladora de la vista tienes inyectado el servicio, podras hacer un "userService.getUsers()". Ese método getUsers() lo tendrás implementado en tu clase de servicio userService. La implementacion de este método sería una llamada a UserDAO para que nos devuelva los usuarios:

Código:
	public List<User> getUsers() {
		return userDAO.getList();
	}
Aqui mi duda. En esta capa de Servicio, donde obtengo metodos que requiero de mi vista, no se implementan con los beans de JSF

Espero haberte entendido bien y que me hayas entendido
  #4 (permalink)  
Antiguo 28/12/2010, 03:34
 
Fecha de Ingreso: mayo-2009
Mensajes: 72
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Que es un Service Bean

Los Beans de JSF sirven para mapear la vista. Los servicios son las operaciones que necesitas en tu aplicación independientes de si el mapeo de la vista lo haces con beans de JSF, controladores de Spring, etc. Tu tienes un método en tu userService, por ejemplo, donde te comunicas con la capa DAO para obtener una lista de usuarios. Ese método, debe ser accesible desde un ManagedBean de JSF, o desde cualquier framework que controle la vista. Así, cambiando de tecnología, o de framework, la capa de servicio, u operaciones de tu aplicación no hace falta modificarlas. Al igual que si en vez de hibernate, usases iBatis por ejemplo, desde la capa de servicio accedes a un DAO, el cual se abstrae del framework que estes utilizando, por lo que tampoco se ve alterada la capa de servicio.
  #5 (permalink)  
Antiguo 28/12/2010, 19:08
Avatar de cesmichael  
Fecha de Ingreso: julio-2008
Mensajes: 207
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Que es un Service Bean

He notado que los DAO los puedo implementar con la misma API de Hibernate 3. En ese caso, ya no utilizaría spring para nada.

Cuales son las ventajas/desventajas de usar la clase HibernateDaoSupport que trae spring o usar la misma API de Hibernate para implementar los DAO

Etiquetas: bean, service
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:18.