Java Desktop com cliente magro  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
lauronolasco
JavaEvangelist
[Avatar]

Membro desde: 30/11/2007 19:19:59
Mensagens: 409
Localização: Vitória da Conquista - BA
Offline

To com um pouco de dúvida em relação a aplicacoes cliente/servidor em swing.... ja trabalhei com jsp e servidor de aplicações...

mas comecei a desenvolver em swing ha algum tempo... sistemas pequenos...
mas agora fiquei curioso... como funciona um servidor de aplicações para clientes que usamm swing??
o que preciso saber para desenvolver tal solução? É possível passar objetos, como uma Session do Hibernate, so serv para o cliente?

"Conhecimento nunca é demais!"
[Email] [MSN]
pozzo
JavaEvangelist

Membro desde: 08/04/2006 11:07:20
Mensagens: 331
Localização: Curitiba
Offline

Lauro, até hoje não vi muito interesse em implementar um thin client com swing (são vários os motivos por preferirem web). Mas o conceito pode ser aplicado da mesma forma. Você passaria a deixar as regras de negócio no servidor e acessa-las por objetos remotos com a tecnologia de sua preferência ou mais adequada para o seu caso (spring, ejb, rmi mesmo, etc). Ou seja, o seu cliente swing seria apenas uma forma de apresentação para o seu sistema, que conteria apenas regrinhas de validação de tela, preenchimento dos DTOs (ou quem sabe acesso remoto das entidades), enfim, tela.
gibaholms
JavaTeenager
[Avatar]

Membro desde: 13/11/2007 13:37:48
Mensagens: 151
Localização: Santos - SP
Offline

Você pode instanciar os seus EJBs do servidor atraves de RMI, assim como qualquer cliente web.

SCJA 1.0 | SCJP 4 | SCWCD 5 | SCBCD 5 | Oracle Weblogic Portal 10g Developer
[WWW] [MSN]
lauronolasco
JavaEvangelist
[Avatar]

Membro desde: 30/11/2007 19:19:59
Mensagens: 409
Localização: Vitória da Conquista - BA
Offline

ok... mas seria possivel por exemplo.... eu passar um objeto instranciado para do cliente para o servidor, e nao passar parameters como se faz no jsp... com request e response...
queria saber assim... se dava pra eu passar um objeto instanciado pra um metodo do servidor e ele me retornar um boolean... + - isso?

"Conhecimento nunca é demais!"
[Email] [MSN]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Pode passar o objeto como parâmetro de um método no EJB por exemplo.
Mas o problema é que todo objeto que você precisa instanciar na camada Swing, vai ter de ser empacotado junto com o jar do cliente.

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
lauronolasco
JavaEvangelist
[Avatar]

Membro desde: 30/11/2007 19:19:59
Mensagens: 409
Localização: Vitória da Conquista - BA
Offline

entendi... entao eu tenho que ter a classe so meu objeto tanto no cliente como no servidor

"Conhecimento nunca é demais!"
[Email] [MSN]
lauronolasco
JavaEvangelist
[Avatar]

Membro desde: 30/11/2007 19:19:59
Mensagens: 409
Localização: Vitória da Conquista - BA
Offline

ainda estou desenvolvendo sistemas relativamente pequenos.... no servidor fica apenas o banco de dados...( ultimamente o firebird ) e cada cliente tem um .jar com a aplicacao completa...
isso é errado?

"Conhecimento nunca é demais!"
[Email] [MSN]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

Lauro. Aqui desenvolvemos aplicações swing que acessam um servidor de aplicação através disso
http://static.springframework.org/spring/docs/2.5.x/reference/remoting.html

Funciona blz. Como o rafael falou, todo objeto que trafega entre o servidor e o cliente deverá estar num
jar dentro do classpath do cliente.
[WWW] [MSN] [ICQ]
lauronolasco
JavaEvangelist
[Avatar]

Membro desde: 30/11/2007 19:19:59
Mensagens: 409
Localização: Vitória da Conquista - BA
Offline

mas o que eu disse acima é correto? ou não é correto nem incorreto?

"Conhecimento nunca é demais!"
[Email] [MSN]
gibaholms
JavaTeenager
[Avatar]

Membro desde: 13/11/2007 13:37:48
Mensagens: 151
Localização: Santos - SP
Offline

opa!! então cara, se precisasse do objeto também no cliente seria osso neh.. hehehehe ai não teria o porque fazer distribuido

no cliente você soh precisa dos "stubs", que são apenas as interfaces dos seus EJB... os EJBs propriamente ditos, apenas no server.

quanto ao sistema que vc descreveu, poderia deixar TUDO referente a regras de negocio no server, e nos clients deixar apenas a camada de apresentação (o swingão).

SCJA 1.0 | SCJP 4 | SCWCD 5 | SCBCD 5 | Oracle Weblogic Portal 10g Developer
[WWW] [MSN]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Não usem RMI para comunicação entre o cliente e o servidor se pretendem que sua aplicação cresça muito

fabiofalci wrote:Lauro. Aqui desenvolvemos aplicações swing que acessam um servidor de aplicação através disso

http://static.springframework.org/spring/docs/2.5.x/reference/remoting.html

Funciona blz. Como o rafael falou, todo objeto que trafega entre o servidor e o cliente deverá estar num
jar dentro do classpath do cliente.


Porque optaram por fazer RPC ao invés de apenas trocar mensagens usando um simples servlet? A simples troca de mensagens escala muito melhor.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

gibaholms wrote:no cliente você soh precisa dos "stubs", que são apenas as interfaces dos seus EJB... os EJBs propriamente ditos, apenas no server.


Não faça isto. A vida pode ser muito mais simples do que isto.

Use EJBs 3.0 no servidor mas nunca no cliente.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
gibaholms
JavaTeenager
[Avatar]

Membro desde: 13/11/2007 13:37:48
Mensagens: 151
Localização: Santos - SP
Offline

A troca de mensagens pelo servlet eu nunca utilizei, mas acredito que seria através de sockets se comunicando via GET certo ?

Se for isso cara, pode ateh ter mais escalabilidade, mas a manutenabilidade piora bastante... o codigo fica maior e mais complexo, tem q trabalhar com multithreading no socket, etc...

Acho que o RMI não foi criado a toa

SCJA 1.0 | SCJP 4 | SCWCD 5 | SCBCD 5 | Oracle Weblogic Portal 10g Developer
[WWW] [MSN]
fabiofalci
GUJ Master
[Avatar]

Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline

lauronolasco wrote:mas o que eu disse acima é correto? ou não é correto nem incorreto?


Como disse o luca num post

"Sistema que o cliente acessa direto o bando de dados está obsoleto desde o milênio passado."
[WWW] [MSN] [ICQ]
gibaholms
JavaTeenager
[Avatar]

Membro desde: 13/11/2007 13:37:48
Mensagens: 151
Localização: Santos - SP
Offline

apenas complementando oq o fabiofalci falou, fazendo isso voce perde toda a razão de existir dos EJBs, pois tudo aquilo que o container ejb faz pra você de controle de transação, e entidades jpa não serão utilizados.

SCJA 1.0 | SCJP 4 | SCWCD 5 | SCBCD 5 | Oracle Weblogic Portal 10g Developer
[WWW] [MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team