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áquinaAcopie 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 …
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
jctorelli
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
mais facil usa a API do windows que ja ta pronta !!!
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
jctorelli
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
jctorelli
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 …