Friday, April 28, 2006

Pattern - Business Interface (for EJB)

O pessoal reclama que EJB é um "saco", mas eu particulamente acredito em que alguns casos ainda é possível justificar seu uso (Session Bean).

Vou postar, sobre um pattern bem simples que resolve um dos problemas chatos de lidar com EJB. No caso o Business Interface !

Que na realidade é apenas uma Interface intermediária qual o desenvolvedor implementa na classe Bean, e extende na Interface Component (Remote/Local). Veja um exemplo de utilização:

//Business Interface: define metodos de negocio, expondo um cenario remoto
public interface NegocioDef extends Remote {
public String excutaAlgo() throws NegocioException, RemoteException;
}

//Interface Component: implementação que o cliente utiliza, herdando de NegocioDef
public interface Negocio extends NegocioDef, EJBObject {}

//Bean: o que o provider vai definir
public class NegocioBean implements NegocioDef, SessionBean {
//metodos de ciclo de vida - outro saco...

public String executaAlgo() throws NegocioException {
return "algo";
}
}

Bem simples, dessa forma o bean provider consegue fazer uma amarração de métodos em tempo de compilação, sem precisar se extressar com o "PAU NO DEPLOY".

No comments: