Integrar aplicação Desktop com Web

3 respostas
moacirjava

Olá pessoal, há muito tempo atrás eu vi um exemplo de como integrar uma aplicação desktop com web utilizando para isso EJB.

Após criado o aplicação corporativa (no netbeans) e o EJB, é criado um .jar. Com esse arquivo.jar ele deve ser adicionado as bibliotecas da aplicação desktop, para que a mesma consiga acessar os serviços providos pelo EJB.

Agora minha dúvida é a seguinte, como é e onde é configurada a aplicação desktop para que ela saiba onde está o EJB que está sendo executado?

Se fosse uma aplicação web normal que estivesse acessando o EJB, seria por meio da url do browser, mas no caso do desktop eu não sei onde é!

Esse é o EJB...
package meusBeans;

import entidades.Customer;
import java.util.List;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless(mappedName="processaDados")
@TransactionAttribute(TransactionAttributeType.REQUIRED)
@TransactionManagement(TransactionManagementType.CONTAINER)

public class ProcessadadosBean implements ProcessadadosRemote {
    
    @PersistenceContext
    private EntityManager en;
    
    public List<Customer> getCustomers(){
        return en.createQuery("select cust from Customer cust").getResultList();
    }
}
A sua interface...
package meusBeans;

import javax.ejb.Remote;

@Remote
public interface ProcessadadosRemote {

    public java.util.List<entidades.Customer> getCustomers();
    
}
Agora é a aplicação desktop que é implementada por uma frame simples com um combobox e um botão, só
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        try {

            ProcessadadosRemote mySession = (ProcessadadosRemote) 
                    new InitialContext().lookup("processaDados");
            
            List<Customer> aux = mySession.getCustomers();
            DefaultComboBoxModel dados = new DefaultComboBoxModel();
            dados.addElement("");
            
            for(Customer cust: aux){
                dados.addElement(cust);
            }
            
            jComboBox1.setModel(dados);
            
        } catch (NamingException ex) {
            Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
}
.

3 Respostas

moacirjava

Eu vi esse tópico que configura uma classe Properties, acho que é quase isso…

moacirjava

Ninguém?

moacirjava

Up.

Criado 8 de dezembro de 2008
Ultima resposta 29 de dez. de 2008
Respostas 3
Participantes 1