Simular Usuário da rede

8 respostas
J

Pessoal eu tenho um Sistema que controla o uso de Documentos (GED - Gerenciador Eletrônico de Documentos) desenvolvido em VB 6 … agora estava querendo criar uma versão em Java, mas para isso preciso saber se vou conseguir fazer algumas coisas … seguinte:

Eu tenho a MáquinaA rodando o Sistema … nesta máquina em tenho uma pasta/diretório chamada SGED onde estão os documentos do usuário desta Máquina …

Eu tenho a MáquinaB rodando o Sistema tb … nesta máquina eu tb tenho uma pasta chamada SGED onde estão os documentos deste outro usuário …

Agora … através do Sistema eu quero que o usuário da MáquinaA copie um documento na pasta SGED da MáquinaB … mas o q pega é o seguinte: a pasta SGED na MáquinaB não pode ser acessada pelo ambiente de rede ou explorer por exemplo, ela pode ter os documentos copiados apenas via sistema … para isso, no VB eu criava esta pasta nas maquinas dos usuarios e compartilhava ela apenas para o usuario USGED que é o usuário utilizado pelo (dentro) do Sistema … eu consigo isso no java ?

Resumindo: através da máquinaA, onde usuário realizou o login na rede com qualquer usuário válido, eu vou precisar “simular” através do sistema o usuário USGED para poder copiar um documento da pasta SGED na máquinaB …

valeu…

8 Respostas

anjomal

e ai firmão !!!
Bom vou ser direto se vc quer isso somente no Windows vc pode fazwer uso do JNI para fazer chamadas as APIs do windows como vc fazia em VB, não uso muito esse metodo pois destroi a portabilidade do Sistema vc pode dar uma olhada na api JNI. Agora se vc pensa em fazer algo que rode em qualquer plataforma indepente da REDE ou do SO usando TCP/IP tb e possivel, em JAVA e em C/C++ tudo e possivel, so que as coisas não estão mastigadinha como em VB e DELPHI em JAVA as coisas ainda são bem melhores, vc podia implementar um MINI FTP para compartilhar as pastas de seus usuarios um MINI FTP que so seu sistema enten deria que trabalhasse numa porta alta, mais isso ja e bem mais dificil e exigiria conhecimentos de TCP/IP. Mais o produto final seria fabuloso … mais ai depende do tempo que vc quer implementar isso, e de seus conhecimentos !!!

mais qualquer coisa estamos ai !!!
t+

J

Hummm … mas aí este miniFTP teria que estar configurado em todas as máquinas certo ? É … eu até consigo fazer isso … mas será q não tem algo mais simples … sei lá …

anjomal

Vai de JNI e musga API :D, agora vc teria de ter o cliente do seu MINI FTP em todas maquinas sim, agora configurar ? vc pode mandar um broadcast para toda rede falando quem esta conectado,tipo oque o windows faz. não necessitaria de configurar, nesse broadcast vc enviaria o ip da galera e mostraria ele numa janela, e poderia por exemplo mandar o nome da pessoa cadastrado no seu programa … mais isso ja e panaceia :smiley:

mais facil usa a API do windows que ja ta pronta !!!

link falando sobre JNI da uma olhada !!!
http://java.sun.com/docs/books/tutorial/native1.1/
http://www.javaworld.com/isearch?qt=jni&site=javaworld&ms=1&tid=1&st=1&rf=0

Rafael_Steil

Eh, Java nao tem suporte nativo ao que voce esta querendo. Como ja disseram, faz uma dll em VB que faz as acoes que voce precisa, e entao usa JNI para chamar as funcoes da dll… nao eh exatamente simples de fazer, mas funciona.

Rafael

Paulo_Silveira

creio que exista uma solucao bem porca:
rode a aplicacao java a parteir desse diretorio ai! ai voce vai ter direito de escrever e copiar dele/nele.

mas se voce quiser fazer da outra maneira, realmente vai precisa de JNI

desconheco outra solucao, mas provavelmente tem.

J

Hum … talvez seja uma alternativa eu gravar o Documento dentro do banco, ao invés da String com o Path como faço atualmente … Isso me possibilitaria movimentar o Documento via comandos SQL … ou ainda, usar Sockets para transferência dos arquivos; neste caso acho que nem precisaria ter as tais pastas compartilhadas, mas sim trabalhar com envio de arquivos entre Servidores(ServerSockets) e Clientes(Sockets) em uma porta qualquer …

:arrow: Julio

Elvis.The.Pelvis

E ai torelli. O sistema é swing né? Se fosse web dava pra resolver ASAP. Vou falar com o Richardson. Ele já implementou uma aplicação swing que se comunicava com um servlet e fazia transferência de arquivos. Dá até pra dividir o conteudo (tipo envie de 1024 em 1024 bytes). A bronca é que você tem que ter um conteiner web em cada máquina. Ou você poderia fazer com que apenas uma máquina fosse servidora de arquivos e tudo ficasse armazenado lá.

J

Fala Elvis … kra … eu tb fiz isso com vb… hehe: Meu programa VB chama uma página ASP … então tenho uma máquina como servidor onde esta página roda e controla toda a troca de arquivos …

Acho q se não tiver outro jeito, vou resolver assim tb, através de Servlet … é q eu não sabia se dava …

ah … e parabéns pela sua certificação …

t+

Criado 27 de janeiro de 2003
Ultima resposta 27 de jan. de 2003
Respostas 8
Participantes 5