Ola Pessoal,Com a chegada do EJB3, ficou bem mais simples, desenvolver aplicacoes que usam Session Bean e Entity, devido a utilizacao das Annotations, evitando de ficar configurando arquivos XMLs. Entretanto, existe varias aplicacoes no mercado que utilizam o uso de EJB2, por este motivo, resolvi criar este post, que tem como objetivo, mostrar, como que desenvolve uma aplicacao em EJB2 que servira como nosso modelo, e para utilizar este servico, iremos usar 2 maneiras, uma usando Servlet e a outra Swing para acessar o EJB2.Este post tera 2 partes, essa primeira, sera o desenvolvimento da camada EJB2 e a segunda parte, criaremos um Client Servlet e Swing. Para o desenvolvimento do projeto, irei utilizar Java 1.6, Eclipse e o JBoss 4.1. Passo: Vejamos a estrutura da camada de EJB:2. Passo: Crie um projeto chamado ExemploEJB2 do tipo EJB no Eclipse, neste projeto vamos criar duas Interfaces (Remote e Home) e um SessionBean.Primeiro criamos a Interface Remote e declaramos nosso metodo de servico, neste exemplo e bem simples, teremos um metodo para mostrar o nome de uma Pessoa.package com.blogpost.jabesfelipe.service;import java.rmi.RemoteException;import javax.ejb.EJBObject;public interface Hello extends EJBObject { public String showName(String name) throws RemoteException;}Hello.javaCriamos a Interface Home:package com.blogpost.jabesfelipe.service;import java.rmi.RemoteException;import javax.ejb.CreateException;import javax.ejb.EJBHomepublic interface HelloHome extends EJBHome { public Hello create() throws RemoteException, CreateException;}HelloHome.javaAgora criamos nosso SessionBean e iremos implementar nosso metodo que foi declarado na Interface:package com.blogpost.jabesfelipe.service;import java.rmi.RemoteException;import javax.ejb.CreateException;import javax.ejb.EJBException;import javax.ejb.SessionBean;import javax.ejb.SessionContext;public class HelloBean implements SessionBean { public String showName(String name) { return "Meu nome e " + name + "!"; } public void ejbCreate() throws CreateException { System.out.println("Bean criado"); } @Override public void ejbActivate() throws EJBException, RemoteException { System.out.println("Bean ativado"); } @Override public void ejbPassivate() throws EJBException, RemoteException { System.out.println("Bean desativado"); } @Override public void ejbRemove() throws EJBException, RemoteException { System.out.println("Bean removido"); } @Override public void setSessionContext(SessionContext arg0) throws EJBException, RemoteException {}}HelloBean.java3. Passo: Agora vamos configurar (name, state, etc...) do EJB no arquivo ejb-jar.xml que fica dentro da pasta META-INF.O arquivo vai ficar conforme o modelo abaixo:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"><ejb-jar id="ejb-jar_ID"> <display-name>ExemploEJB2</display-name> <enterprise-beans> <session> <display-name>HelloBean</display-name> <ejb-name>HelloBean</ejb-name> <home>com.blogpost.jabesfelipe.service.HelloHome</home> <remote>com.blogpost.jabesfelipe.service.Hello</remote> <ejb-class>com.blogpost.jabesfelipe.service.HelloBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> </session> </enterprise-beans></ejb-jar>ejb-jar.xml4. Passo: Vamos criar um arquivo jboss.xml dentra da pasta META-INF, e neste arquivo definimos o nome da JNDI que ira acessar o EJB.<?xml version='1.0' encoding='UTF-8' ?><jboss> <enterprise-beans> <session> <ejb-name>HelloBean</ejb-name> <jndi-name>HelloBean</jndi-name> </session> </enterprise-beans></jboss>jboss.xml5. Passo: O nosso EJB esta pronto, agora crie um projeto chamado ExemploEJB2-ear do tipo EAR, e vamos configurar o modulo EJB no arquivo application.xml que fica dentro da pasta META-INF.<?xml version="1.0" encoding="UTF-8"?><application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" id="Application_ID" version="5"> <display-name>ExemploEJB2-ear</display-name> <module> <ejb>ExemploEJB2.jar</ejb> </module></application>Bom galera, nossa camada de EJB, esta pronta, e na proxima parte do tutorial, vamos testa-la, usando Servlet e Swing.Qualquer duvida, critica ou segestao, fico a disposicao. Ola Pessoal,Depois de um bom tempo, sem publicar um post, irei mostrar, como criar uma simples aplicacao web, usando o FrameWork Struts 1.3. Para quem nao conhece, o Struts e um framework open-source do projeto Jakarta, ele possibilita o desenvolvimento de aplicacoes web, atuando como um Controller no padrao MVC e tambem oferece suporte na camada View, para a construcao de paginas JSP