Mostrando entradas con la etiqueta EJB. Mostrar todas las entradas
Mostrando entradas con la etiqueta EJB. Mostrar todas las entradas

viernes, 18 de enero de 2008

Stateful and Stateless (con estado y sin estado )

En el diseño OOP podemos distinguir entre los objetos con [mantenimiento de] estado y sin [mantenimiento de] estado.
El estado se refiere al estado de la información, y la información recaería en las propiedades de nuestros objetos.

En el siguiente ejemplo, creamos un nuevo objeto de la clase Color, y a continuación le asignamos el valor "verde". Este objeto (Stateful) mantiene la información del valor de color en la variable "valor".


public class Color{
String valor;
}

Color color1=new Color();
color1.valor="verde";


Sin embargo en el ejemplo a continuación se muestra un objeto (Stateless) sin estado, es decir no mantiene ninguna información en sus propiedades o atributos, de hecho no tiene propiedades o atributos, únicamente métodos



public class ServicioPintura{
public void cambiaColor(Mesa mesa, Color color){
mesa.setColor(color);
}
}


Los objetos con estado[Stateful] suelen estar relacionados con los objetos que maneja el usuario del programa, y suelen mantener las decisiones(opciones) del usuario durante un proceso o una sesión de uso. Ejemplos de mantenimiento de estado:
  • los diferentes pasos a seguir para registrarse en una página web
  • un carrito de compra
Los objetos sin estado[Stateless ] (generalmente llamados servicios) únicamente operan con los objetos pero no mantienen el estado de los procesos o resultados que generan. Ejemplos de objetos sin estado:
  • petición RSS
  • web services
  • Todos los servicios que veremos en el curso y como el anterior ejemplo: ServicioPintura