Mostrar arquivos de outro servidor

Olá pessoal,

Preciso exibir no sistema os arquivos digitalizados que estão em outro servidor. Só consigo exibir os arquivos que eu coloco no diretório do do sistema dentro do JBoss.
Alguém sabe com fazer isso?

Uma alternativa flexivel e criada justamente pra isso é usar um servidor FTP e do outro lado um cliente ftp.

Vou explicar melhor minha situação:

Todos os processos da empresa sao digitalizado e armazenados em um servidor. Em outro servidor tenho o sistema rodando em JSF, o mesmo tem um modulo que é executado todas as noites e passa por todos os registros da tabela de processos, localizando os processos que não possuem imagens. Quando localiza um processo sem imagem, o sistema faz a busca no servidor de imagens e coloca o caminho do arquivo em um campo da tabela.
O problema é que os arquivo não estão dentro do sistema JSF, no diretorio do JBoss, por isso, os links não funcionam.

Como eu poderia resolver isso com o FTP?

Grato.

[quote]Todos os processos da empresa sao digitalizado e armazenados em um servidor. Em outro servidor tenho o sistema rodando em JSF, o mesmo tem um modulo que é executado todas as noites e passa por todos os registros da tabela de processos, localizando os processos que não possuem imagens. Quando localiza um processo sem imagem, o sistema faz a busca no servidor de imagens e coloca o caminho do arquivo em um campo da tabela.
O problema é que os arquivo não estão dentro do sistema JSF, no diretorio do JBoss, por isso, os links não funcionam.
Como eu poderia resolver isso com o FTP?[/quote]

Chamemos Server1 - o seu servidor repositório de processos cadastrados.
e Server2 - o seu webserver que está rodando jsf.

O Server1 tá mais ou menos assim…

  • /home/usr/processos/
    +/2009/10
    200910148734.tiff
    200910148734.tiff
    200910148734.tiff
    +/2009/11
    200910148734.tiff
    200910148734.tiff
    200910148734.tiff
    E suponha que você também possa instalar um servidor ftp que tenha como pasta base o diretório processos… quando esse servidor ftp (que poderá ser instalado no seu Server1 mesmo) estiver rodando … qualquer pessoa com acesso à ele… pode dar um list… e obter todos os arquivos nele ou mesmo um especifico.

Já o seu Server2 pode rodar um job que irá fazer o dowload de acordo com sua regra (a de que se um processo não tem imagem você deve “criar uma forma de baixá-la”…).

ps: talvez compreendi erradamente o seu problema e estou propondo uma solução besta…

Obrigado dreampeppers99, mas eu não posso duplicar os arquivos por questão de espaço em HD. Temos quase 1 tera de imagens, não posso copiar tudo isso de um servidor para o outro.

O servidor que roda o sistema tem acesso via rede ao servidor com as imagens, o problema mesmo é que não consigo baixar um arquivo que não esteja no diretorio do sistema no JBoss.

Você pode criar um servlet que pegue a imagem (que deve estar em um share de rede, por exemplo) e a direcione para o browser. Isso é relativamente fácil de fazer, e há vários exemplos na Internet.

Digamos que você tenha um servlet desses. Ele poderia ser chamado na sua página como:

<img src='/servlets/showImage?a=200910148734.jpg' >

e ele pegaria o arquivo em algum lugar do servidor para jogá-lo para o browser.

Se você, em vez de usar apenas JSP, estiver usando alguma biblioteca (como o RichFaces do JSF), talvez já haja algo pronto.

Uma outra vantagem é que o servlet pode checar se o arquivo de imagem está sendo puxado a partir da própria página (checando o request header “Referer” ) ou então está sendo puxado a partir de outro site (nesse caso, o “Referer” é diferente. ) Aí você pode evitar que as imagens sejam usadas indevidamente.

Estou usando JSF.

Alguém tem algum exemplo de como fazer isso?

Olé pessoal,

Alguem tem idéia de como fazer isso?