O módulo de circulação desktop é um módulo que deve ser instalado nos computadores que realizam os empréstimos da biblioteca.
Ele foi projetado para agilizar o trabalho dos operadores, com a utilizando de teclas de atalhos no teclado e acesso ao periféricos da máquina, como impressora, leitor de código de barras, leitor de digital, etc.
Esse módulo é basicamente uma interface gráfica swing que acessa o servidor via web services . Toda as regras de negócio e persistência ficam do lado do servidor. Com isso evita-se a duplicação de código e que o sistema funcione de forma diferente dependendo se a operação foi realizada via desktop ou web.
Como a persistência está toda no lado do servidor, os logins e as senhas para acessar esse módulo são as mesmas do SIGAA, porém é preciso que o usuário tenham algum papel em circulação para conseguir utilizar o módulo.
IMPORTANTE: O versionamento da aplicação é feito de um forma diferente. Não existe criação de tags de versionamento do SVN. Então o versionamento é realizado mantendo-se o código de cada versão que foi para produção no projeto: “Backups Desktop Biblioteca”.
Por exemplo, o projeto “SIGAA 3.2.0 13_07_2011” contém o código da aplicação que funciona com a versão 3.2.0 que foi publicada em 13/07/2011 aqui na UFRN, até a versão 3.2.1 do SIGAA.
A partir da versão 3.2.2 deve ser usada a versão “SIGAA 3.2.2 19/07/2011”, e assim por diante.
O código do projeto “BibliotecaCirculacaoDesktop” só funciona com a última versão do SIGAA, Então certifique-se de estar usando a versão compatível com a versão do SIGAA.
Os passo descritos para executar a aplicação são para o projeto BibliotecaCirculacaoDesktop, porém são idênticos ao que precisa ser feito com o projeto BibliotecaCirculacao baixado do Backups Desktop Biblioteca.
Os projetos do Netbeans contidos em Backups Desktop Biblioteca são identicos ao que entrou em produção da UFRN, com uma exceção. Os jar do diretório “lib” do projeto foram removidos para diminiur o tamanho do projeto no SVN.
Os jar se encontram no diretório libs_desktop e devem ser copiados para o diretório lib do projeto do Netbeans. Depois disso é adiciona-los ao class path do projeto junto com as biblioteca do Netbeans usadas, conforme descrito nos passos abaixo.
Para executar a aplicação em desenvolvimento é preciso alterar os endereços dos servidores no arquivo de configuração que está localizado dentro projeto do desktop e escolher o método em que a aplicação executa sem verificar as atualizações.
Não é preciso configurar nenhum endereço de banco na aplicação. O acesso as informações é realizado via o web-services.
Ps.: No próprio arquivo de configuração existem explicações do que significa cada endereço.
Ps2.: O Swing Application FrameWork foi descontinuado pelo Netbeans recentemente . Então só será possível editar a aplicação até a versão 7.0.1 do Netbeans, enquanto o layout da aplicação não for trocado para usar outro gerenciador de layout, coisa que deve demorar ainda.
Configurando o java.library.path caso queira utilizar o leitor de digital.
No NetBeans vá em propriedades do projeto, em Executar
→ Classe Principal:
br.ufrn.sigaa.biblioteca.circulacao.gui.BibliotecaCirculacao
→ Opçoes VM:
-Djava.library.path=“C:\arquivos_leitor_digital;C:\WINDOWS\system32;”
Em primeiro lugar é preciso criar outro projeto e copiar os arquivos, configurações e bibliotecas do projeto BibliotecaCirculacaoDesktop para esse novo projeto.
Não é recomentado usar usar o projeto “BibliotecaCirculacaoDesktop” do SVN na geração do “.jar” da aplicação, pois encontramos alguns problemas na geração do arquivo METAINF gerado pelo Netbeans, quando o projeto é baixado do SVN.
Recomenda-se chamar esse novo projeto de “BibliotecaCirculacao”.
Faça um build do novo projeto, o Netbeans cria um arquivo BibliotecaCirculacao.jar dentro do diretório “dist” do projeto.
Um duplo click no arquivo “BibliotecaCirculacao.jar” deve executa a aplicação.
Observação: Executando a aplicação por fora do Netbeans em desenvolvimento com a utilizando da digital e impressão de comprovante é preciso executar via linha de comando:
java -jar -Djava.library.path=“C:\arquivos_leitor_digital;C:\WINDOWS\system32;” BibliotecaCirculacao.java.
Porque a classe “br.ufrn.sigaa.biblioteca.circulacao.gui.BibliotecaCirculacao” não configura o class path da aplicação com as .dlls da impressora e do leitor do digital.
Também é necessário possuir um diretório lib no mesmo diretório de onde se está executando a aplicação com todos os arquivos .jar utilizados. O Netbeans também gera esse diretório lib automaticamente dentro no diretório “dist”.
Em produção a classe a inicial a ser executada é br.ufrn.sigaa.biblioteca.circulacao.IniciaAplicacaoVerificandoAtualizacao. Assim a verificação das atualizações é realizada, os arquivos necessários para execução são baixados e o java.library.path é configurado via código, dispensando a execução via linha de comando.
No NetBeans vá em propriedades do projeto, em Executar
→ Classe Principal:
br.ufrn.sigaa.biblioteca.circulacao.circulacao.IniciaAplicacaoVerificandoAtualizacao
→ Opçoes VM:
Deixe em branco, o class path é configurado programaticamente via código da classe IniciaAplicacaoVerificandoAtualizacao.java, porque essa opção da VM só é válida para o Netbeans.
Abaixo é mostrando um passo a passo de como gerar uma versão em produção, é recomendado usar esse passo a passo como check list para não esquecer nenhum passso.
Caso queira executar a aplicação em produção via “linha de comando” para ver algum erro no console, utilize o comando:
java -Djava.library.path=“C:/arquivos_leitor_digital;C:/WINDOWS/system32;” -jar BibliotecaCirculacao.jar comClassePathConfigurado
Esse comando executa a aplicação com os diretórios das .dlls configurados e sem que a aplicação verifique novas atualizações. Mesmo que a classe IniciaAplicacaoVerificandoAtualizacao esteja sendo executada.
O módulo desktop de circulaçao foi projetado para se auto atualizar. Evitando que a cada nova versão disponibilizada seja necessário instala-la novamente em todas as máquinas.
Ao iniciar a aplicação, ela verifica se a sua versão está atualizada. Se não, baixa todas os “.jar” utilizados e a propria aplicação “BibliotecaCirculacao.jar”. Após terminar os downloads necessários se reinicializa para executar a nova versão.
Para isso a aplicação acessa o endereço http://www.sistemas.ufrn.br/biblioteca/links_desktop.properties (para o contexto da UFRN) que é um arquivo properties localizado em um dos nossos servidores contendo:
Caso algumas dessas informação estejam diferentes das informações local, ou elas não existem localmente, os dados são baixados.
Ou seja, é preciso configurar 3 endereços nos servidores de produção para configuração.
OBS.: Ao mudar endereço IP tome cuidado com o cache de DNS das máquinas, pode ser que demora algunas horas ou dias para que a máquina consiga acessar o novo endereço corretamente. Nesse caso é bom passar um comando que os usuários consigam executar, para limpar o cache. Se o ambientes estiver bem estável, isso é difícil de ocorrer, até o momento com 3 anos de execução, somento 1 vez foi preciso alterar os endereços IPs dos servidores, e ocorreram alguns problemas de máquina sem conseguir acessar os novos endereços por causa de servidores DNS secundários em alguns centros da UFRN.
N
= número da versão no dia.
Servidor de distribuição: balancer.info.ufrn.br:2222 Diretório de distribuição: /var/www/sistemas/desktop/ Diretório dos arquivos de atualização: /var/www/sistemas/biblioteca/
cd /var/www/sistemas/desktop/
cp .BibliotecaCirculacao.jar /var/www/sistemas/desktop/bak/BibliotecaCirculacao.jar.YYYYMMDD
(substituir final pela data)cp /home/usuario/BibliotecaCirculacao.jar .
vim /var/www/sistemas/biblioteca/links_desktop.properties
ExecutaBiblioteca.jar verifica através do arquivo links_desktop.properties em algum servidor web, qual a versão atual do módulo de circulação da biblioteca. Caso a versão seja diferente de versão local, o módulo da biblioteca é baixado do endereço também contido no arquivo links_desktop.properties.
O endereço do arquivo: links_desktop.properties, é configurado no arquivo executaBiblioteca/executaBiblioteca.properties
.Esse endereço é a “parte fixa” da aplicação. Casos esse endereço mude, será preciso atualizar em todos as máquinas o arquivo ExecutaBiblioteca.jar. Na UFRN é utilizando o endereço: http://www.sistemas.ufrn.br/biblioteca/links_desktop.properties
executaBiblioteca/executaBiblioteca.properties
.
Observação: A partir da verão 3.2 do SIGAA o ExecutaBiblioteca.jar está em desuso, a própria aplicação da biblioteca verifica suas atualizações, baixa se houver e se auto executa novamente. O projeto ExecutaBiblioteca.jar só continuar sendo distribuído, para caso o BibliotecaCirculacao.jar ser corrompido e não executar mais o usuário ter como baixa uma nova versão da aplicação.
A outra opção é baixa novamente a aplicação da página do manual de instalação e substituir o arquivo anterior.
versao_programa=xxxxxxxxx endereco_jar=http://www.sistemasdesktop.ufrn.br/BibliotecaCirculacao.jar endereco_libs=http://www.sistemas.ufrn.br/biblioteca/libs
Gere um arquivo chamado Instalacao.zip. Esse arquivo deve conter:
- Atualize o link para o arquivo Instalacao.zip da página do manual de instalação . Os usuários utilizarão esse link para baixar a nova versão e realizar a instalação nas suas máquinas.
Obs 1.: Compacte o arquivo Instalacao.zip com a senha: circulacao
Obs 2.: O endereço público para acessar o manual de instalação do módulo de circulação é : http://www.sistemas.ufrn.br/ajuda/circulacao
Com o objetivo de falicitar a instalação do usuário, já que era comum o usuário esquecer de copiar algum arquivo na instalação manual e a aplicação não funcionar, foi disponibilizada um instalar para o módulo de bibliotecas da UFRN.
Os passos para se gerar a versão “instalável” da aplicação seguem abaixo:
Baixe o Programa: Installshield 2010 Versão: 16 Trial
Crie um novo projeto: FILE –> NEW
Em seguida escolha o tipo de projeto BASICMSIPROJECT
Adicione o nome do seu projeto, Instação do Módulo da Biblioteca de Circulação e click em ok.
Na Aba Project Assistant adicione o nome do seu pacote MSI chamado BibliotecaCirculacao.
Na Aba Installation Designer selecione Aplication Data no menu lateral.
Dentro da diretório Appication Data adicione seus arquivos que serão instalados. Em Destination computer's folder escolha a diretório que será o diretório de instalação dos arquivos. Por padrão é o diretório chamado “BibliotecaCirculacao”, mas qualquer nome pode ser usado.
Com o diretório de instalação selecionado click com o botão direito e selecione LAUNCH COMPONENT WIZARD, para escolher o tipo de wizard que será usado na instalação.
Deixe a marcado a opção padrão e click em avançar
Escolha onde será o local da instalação dos arquivos no caso em questão, por padrão será utilizado o INSTALLDIR definido anteriormente. Não altere essa opção.
Agora adicione seus arquivos que serão instalado no diretório de instalação (BibliotecaCirculacao.jar, ExecutaBiblioteca.jar (deprecated), e Fingerprint_SDK_Java_2009_Installer.jar)
Agora são os passos para criar o diretório padrão com as dlls da aplicação.
Em Destination computer's folder, botão direito do mouse e selecione um novo LAUNCH COMPONENT WIZARD
Deixe a marcado a opção padrão como no caso anterior e click em avançar .
Agora em vez de deixar a opção padrão INSTALLDIR, Selecione WindowsVolume
Após selecionar os arquivos da impressora (RXTXcomm.jar, rxtxParallel.dll, rxtxSerial.dll) e click em avançar.
Agora adicione os arquivos em um novo diretório que você criará no seu projeto com o nome de arquivos_leitor_digital. Click em WindowsVolume, clicando do lado direito do mouse e selecione NEW FOLDER e renomeei para o nome citado acima em seguida araste seus arquivos para o diretório criado.
!Importante!: O nome do diretório deve ser exatamente esse: arquivos_leitor_digital, senão a aplicação não irá funcionar corretamente.
Observação: Apesar no nome do diretório ser “arquivos_leitor_digital”, ele é usado para as dlls do leitor de digital e também as dlls da impressora. Enfim, todas as dlls da aplicação. Esse nome só permancene por questões de compatibilidade. Se fosse impletar agora na UFRN eu escolheria algo como “arquivos_biblioteca_circulacao”, seria o mais correto.
Por último adicione um atalho no área de trabalho do computador onde a aplicação foi instalada
Na aba PROJECT ASSISTANT –> Appication Shortcuts → New
Na tela que abrirá selecione PROGRAMFILES –> o diretório BIBLIOTECACIRCULACAO → e Selecione o arquivo BibliotecaCirculacao.jar
No Botão Browser Adicione o icon para sua aplicação (use o ícone oficial da biblioteca).
Para gerar o arquivo MSI para instalação primeiro compile a aplicação e clique em Bulid Installation.
Marque o campo Single MSI Package para gerar pacotes MSI.
Para testar a instalção seu projeto click em Build → Run Single Msi Image para testar a remoção da aplicação na sua maquina click em Build → Uninstall Single Msi Image
Para informação sobre instalação da aplicação consulte o manual de instalação
O manual da instalação também está acessível do link: http://www.sistemas.ufrn.br/ajuda/circulacao/