Tutorial EJB
Aprendendo EJB de uma maneira fácil!
Paulo Silveira
Aprendendo J2EE
RemoteException
SessionBean
ApplicationServer
JNDI
CMP
EJBLocalHome
ejb-jar.xml
RequiresNew
CMR
EJBContext
Aprendendo J2EE l Quem
já tentou aprender EJBs? l Maiores dificuldades?
Objetivos desse tutorial
Público: quem não conhece EJB, ou quem já conhece, mas não sabe o que está fazendo (extremamente comum). Superar as enormes dificuldades iniciais! l l l l
O que realmente é EJB?
Quando preciso usar?
Quando eu estiver codificando, quero saber realmente o que estou fazendo.
Porque esse monte de interfaces e XMLs?
Tutoriais comuns
Como não aprender J2EE
Home Interface public interface HelloHome extends
EJBHome {
Hello create() throws CreateException,
RemoteException;
}
Object Interface public interface Hello extends EJBObject
{
String sayHello() throws
RemoteException;
}
Component public class HelloBean implements
SessionBean { public void ejbCreate() throws
CreateException {} public String sayHello() { return “Olá Mundo”;
}
}
ejb-jar.xml
...
Hello
HelloHome
Hello
HelloBean
...
Ou então usa uma ferramenta estranha para gerá-lo, e a gente não sabe o que acontece!
Cliente
Context initialContext = new
InitialContext();
HelloHome home = (HelloHome) initialContext.get(“HelloHome”); Hello hello = home.create();
System.out.println(Hello.sayHello());
Para que tudo isso?
??????????????
Incrível resultado
Olá Mundo.
Porque J2EE?
Motivação
Exemplo: abrindo conexões com BD
Abrindo uma conexão para cada void save() {
Connection con =
DriverManager.getConnection(“jdbc://my
sql...”);
Statement s = con.createStatement();
...
BD
}
Uma conexão para todos static Connection con; void save() {
Statement s = con.createStatement();
...
BD
}
Pool de conexões
List list = new ArrayList(); public synchronized Connection get() { return (Connection)