En el medio de los EJB o webservices existen dos tipos de ellos que separan marcadamente la forma de como operar con ellos: Statefull y Stateless.
Estos dos tipos tienen que ver con la capacidad de guardar o no guardar el estado del EJB o Webservices. La diferencia implica el como se puede trabajar con ellos, por ejemplo si quisieramos sumar dos números y no podemos guardar el estado debiesemos hacer la operacion en una sola llamada:
suma(a,b)
En el caso que se pudiese guardar el estado de más llamadas a métodos consecutivas se podría hacer:
setA(numero)
setB(numero)
suma()
Con esto se entiende que se puede llamar a dos metodos y estos conservan la información de la instancia que se esta ocupando, luego de la primera llamada (establecer A) el EJB o Webservices conserva el estado y puede ser establecido B, para el StateFull (que conserva el estado) es válido, pero en el caso del Stateless luego de establecer A (setA) «olvida» que se estableció, por lo que luego al establecer B ya no recuerda que A fue establecido, ni menos al llamar a suma(), el Stateless no podría sumar ni A ni B porque no se acuerda que fueron establecidos. Por lo mismo para trabajar con Stateless hay que hacerlo a través de hacer todo en una sola operación como fue ejemplificado al principio: suma(A,B).