• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

dracunciliasis

JAVA GUI Server

3 mensagens neste tópico

Olá

Gostava de saber se é possível realizar o seguinte projecto utilizando um webserver APACHE+TOMCAT.

javaquestionfz1.jpg

width=750 height=18http://img391.imageshack.us/img391/javaquestionfz1.jpg/1/w794.png[/img]

Eu preciso de enviar comandos com um tamanho máximo de 120 BYTES pela porta série (PORTA COM1) de um SERVIDOR (Servidor APACHE+TOMCAT) para um dispositivo de HARDWARE que controla as seguintes tarefas:

- Controlo da luminosidade (Comando 1 - 120 BYTES);

- Controlo da temperatura (Comando 2 - 70 BYTES);

- Controlo da humidade (Comando 3 - 100 BYTES).

Eu planeio fazer um programa em JAVA que corra dentro de uma página HTTP, com apenas 3 botões, um para cada comando, tipo ON/OFF. Quando pressionado o botão no CLIENTE (Browser FIREFOX), então o servidor envia o comando respectivo.

A minha dúvida é como posso eu fazer um só programa em java que apenas coloque o GUI(Graphical user interface) do lado do CLIENT mas que o programa corra do lado do SERVER. Isto é que quando o botão é pressionado a configuração JAVA se encarregue de enviar apenas a notificação de botão pressionado e não envie os 120 BYTES.

Eu sei que posso fazer duas aplicações a comunicar com sockets, mas se for possível correr um só programa que automaticamente envie a GUI mas corra do lado do SERVER melhor.

Se alguém souber somo se faz, please envie-me um exemplo.

Anexei uma imagem para melhor compreensão

Obrigado

Dracunciliasis

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deduzo que querias o GUI e a Web page sincronizadas.

Sem conhecer o que está no Core, é difícil responder, no entanto podes usar uma área de informação partilhada, tipo uma base de dados onde podes, a cada 5 segundos, verificar o estado dos botões.

Quero referir que o facto de evitares duas aplicações me parece um erro de arquitectura e como tal, a solução que deixo aqui é também ela pouco elegante...

Devias mesmo considerar um serviço a correr, que responde e actua sobre o sistema temperatura, etc. a com a qual ambas as interfaces, web e stand alone, comunicam.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fazer "um só programa que automaticamente envie a GUI mas corra do lado do SERVER" não é possível.

Para enviares a parte gráfica terás sempre de ter comunicação cliente-servidor, ora se é cliente-servidor então existem sempre duas aplicações. Poderás fazer a tua aplicação correr no servidor e, através de uma qualquer forma remota, usando um dos vários programas para o efeito, mas isso será o mesmo que ter um programa no cliente a receber a informação gráfica.

Mas porque queres ter a parte gráfica no lado do servidor? Porque não uma aplicação cliente-servidor, em que o servidor efectuar o tratamento dos pedidos, que podem ser HTTP, e o cliente, que pode assim usar toda a capacidade de processamento gráfica do computador, efectuar a gestão?

Julgo ser a forma mais simples e mais fácil de implementar, além de ser a forma que me parece mais adequada.

Entrar com soluções tipo VNC, não me parece o melhor para os requisitos simples que tens, há alguma restrição que te obrigue a que seja feito como indicaste?

Depois de ler a resposta do M6 e o seguinte paragrafo com mais atenção, fiquei um pouco confuso.

A minha dúvida é como posso eu fazer um só programa em java que apenas coloque o GUI(Graphical user interface) do lado do CLIENT mas que o programa corra do lado do SERVER. Isto é que quando o botão é pressionado a configuração JAVA se encarregue de enviar apenas a notificação de botão pressionado e não envie os 120 BYTES.

Afinal, a GUI não irá comunicar directamente com a porta série, não faz muito sentido, e carregar no botão não irá enviar os 120bytes mas sim aceder ao serviço que trata desse pedido. Portanto, não vejo onde está o problema ou a dúvida.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora