Sistemas distribuídos e RMI

[quote=paulohbmetal][quote=Régis Steigleder]Só uma idéia:
swing <-> http <-> servlet <-> classes de negócio <-> dao <-> db
É um caminho …
Na rede vai trafegar o mesmo volume que jsp. (até memos um pouco porque não tem o html só os dados)[/quote]

Uhm…Interessante.Vc já implementou isso?

Poderia dar mais detalhes?!

A Paz!![/quote]

Na verdade acoisa é bem simples.
Eu fiz um boneco uma vez e funcionou legal.
É feijão com arroz mesmo.
Quanto a usar o http com xml é de cada um implementar o seu projeto.
Quanto aos web services são muito bacanas para acesso de processos que não conhecem os dados que vão trafegar. Sendo assim o uso de meta-dados oneram os processos tanto na lado servidor quanto no lado cliente fazendo um trabalho que de certa forma é dispensável.
Você poderia até usar uma api de compactação (zip) o que diminuiria o trafego na rede mais ainda porem onerando os processos.

Entra usar protocolos (ou modos) prontos (Web Services, RMI) ou Servlet + Texto (ou XML), eu prefiro a primeira opção.

Pelo menos não preciso fazer parsing e verificação de dados trafegados.

É. Use a ferramenta certa para cada trabalho.
Não tente matar uma barata com uma bazuca, nem um elefante com espingarda de pressão! hahaha :wink:

[quote=danieldestro]Entra usar protocolos (ou modos) prontos (Web Services, RMI) ou Servlet + Texto (ou XML), eu prefiro a primeira opção.

Pelo menos não preciso fazer parsing e verificação de dados trafegados.[/quote]

É verdade, parece menos trabalhoso…

Hoje vou instalar o JBoss na minha máquina e vou começar os testes.Infelizmente não vou ter uma referência por estar local.

Mas ninguém tem um caso de sucesso aí não.

Swing + EJB?

A Paz!!

Eu fiz um programa cliente (sem telinha) chamando um EJB remoto.
E também fiz uma telinha chamando um Web Services.
Ambos estão em produção.

[quote=danieldestro]Eu fiz um programa cliente (sem telinha) chamando um EJB remoto.
E também fiz uma telinha chamando um Web Services.
Ambos estão em produção.[/quote]

Uhm…Então quer dizer que eu já achei um pra me ajudar quando tiver apanhando?!

:wink: :oops: :lol:

A Paz!!

Sempre que estivermos no fórum. :wink:

Blz então, quando vcs virem algum tópico do tipo SOCORRRO!!!, podem saber que sou eu. :lol:

Então tá, vou usar o seguinte:

Swing + EJB(DAO)

A Paz!!

[modo automatico]
Use titulos de topicos mais descritivos. Evite lugares comuns. Facilita a visuallizacao da tua duvida.
[/modo automatico]

:mrgreen:

Marcio Kuchma

Bom, pra não criar um tópico pedindo Socorro :lol:, vamos lá:

Fiz meu primeiro Hello World em EJB!!! :smiley:

Minha dúvida é a respeito de usar EJB + DAO.

Construi um Bean (StateLess Session Bean), onde ficaram minhas regras de negócio.No meu Bean tenho uma instância do meu DAO(pode?!), e no meu DAO faço as operações no DB.As minha dúvidas são as seguintes:

  • Como posso “marcar” uma transação no meu Bean?
    Por exemplo, vamos supor que o plano de execução entro em um método gravarUsuario, por exemplo.Como posso demarcar que uma transação inicia ao entrar neste método e comita(ou da rollback) ao terminá-la?
  • Qualquer coleção é serealizável?Por exemplo, LinkedList.Ou seja, posso usá-la como tipo de retorno?

Por enquanto é “só”… :oops:

A Paz!!

As Collection são tipos válidos de retorno sim.

Se você usar XDoclet, basta marcar seu método com:

@ejb.transaction type = “RequiresNew”

Abraços

[quote=danieldestro]As Collection são tipos válidos de retorno sim.

Se você usar XDoclet, basta marcar seu método com:

@ejb.transaction type = “RequiresNew”

Abraços[/quote]

Blz, mas como fica a conexão?Como eu vou realizá-la entre o DAO e o JBoss?Como ficaria a integração?

A Paz!!

A conexão eu uso a configuração via JNDI do JBoss e pego pelo DataSource.

Uhmm…

Então vc configura a conexão no JBoss e ele mantém um pool pra vc, é isso?
No meu caso, como eu trabalho hoje?Eu tenho um objeto DataBase e neste objeto tenho todos os comandos possíveis para o DataBase(específico).Daí ele tem a conexão, e os métodos para INSERT/UPDATE/DELETE e SELECT.Nos meus DAO’S eu só passo as strings SQL para ele.

Eu teria que mudar minha forma de trabalhar, ou este meu objeto DataBase teria que pegar uma conexão do pool toda vez que fosse executar um comando SQL?

A Paz!!

Acho melhor vc ajustar o seu Database para pegar uma conexão do Pool do JBoss, via JNDI, deixando ele mesmo cuidar de tudo isso.

Uhm…Blz.Mas assim eu estaria gerando maior overhead né?Pois todo comando que fosse executar, lá iria eu solicitar uma conexão no Pool.

Neste caso não seria interessante “guardar” esta conexão?

Estava eu pesquisando na net(google) e vi uma idéia de EJBHomeFactory, achei interessante, pois no meu caso vou ter várias classes de Regra de Negócio, respecivamente vários Sessions, daí com o Factory, posso ter mais controle sobre minhas classes(Beans) e até mesmo os nomes delas.O que acha?

A Paz!!

Para que guardar? O Pool já não faz isso para você?

Falo por causa do overhead, mas deixa pra lá pois isso é o de menos por enquanto.

E a idéia do EJBHomeFactory, o que acha?

A Paz!!

Mas a idéia do Pool eh justamente pra diminuir o overhead de abrir uma nova conexao… pois ela já estah lah alocada…qdo vc obtê-la do pool vc nada mais fará do q referencia-la como fonte de comunicação com sua base de dados…

[quote=Diogenes]Mas a idéia do Pool eh justamente pra diminuir o overhead de abrir uma nova conexao… pois ela já estah lah alocada…qdo vc obtê-la do pool vc nada mais fará do q referencia-la como fonte de comunicação com sua base de dados…

[/quote]

Ah saquei!! Putz disfarça… :oops:

A Paz!!