Professional Documents
Culture Documents
TCC Versao Final
TCC Versao Final
Praia Grande
2007
SOFTWARE LIVRE E SISTEMAS DE
INFORMAÇÃO NA FATEC PRAIA GRANDE
Praia Grande
2007
Para resolver um problema interessante, comece achando um
problema que é interessante para você.
Eric Raymond
Dedico
Ao Prof. Wagner Alves, pelo apoio e incentivo no assunto tratado, e pelas valiosas
orientações que guiaram este trabalho.
À Profª. Sônia Budin, pelo incentivo e colaboração com material de estudo e apoio no
desenvolvimento dos sistemas.
Aos demais colegas, pela troca constante de informações e apoio ao longo de todo o
curso.
Software livre e sistemas de informação na FATEC de Praia Grande – v
SUMÁRIO
LISTA DE FIGURAS ..............................................................................................................vii
LISTA DE TABELAS.............................................................................................................viii
RESUMO...................................................................................................................................ix
ABSTRACT................................................................................................................................x
INTRODUÇÃO........................................................................................................................11
1. SISTEMAS DE INFORMAÇÃO.........................................................................................14
1.1. Dado, informação, sistemas e T.I. ................................................................................14
1.2. Classificação..................................................................................................................15
1.3. Desenvolvimento...........................................................................................................15
1.4. O Processo Unificado....................................................................................................16
1.5. Unified modeling language...........................................................................................17
2. FERRAMENTAS PARA SISTEMAS ABERTOS..............................................................18
2.1. O software.....................................................................................................................18
2.2. Patentes de software......................................................................................................18
2.3. O software livre.............................................................................................................19
2.4. O sistema operacional Linux.........................................................................................21
2.5. Debian GNU/Linux 3.1r2..............................................................................................22
2.5.1. Conhecendo a distribuição Debian........................................................................22
2.5.2. Conhecendo o sistema operacional Debian...........................................................23
2.5.3. Instalação...............................................................................................................25
2.5.4. Conceitos e utilização básica do sistema...............................................................27
2.6. O servidor web apache..................................................................................................41
2.7. Bancos de dados............................................................................................................46
2.7.1. Gerenciador de banco de dados MySQL...............................................................46
2.7.2. Gerenciador de Bancos de Dados PostgreSQL.....................................................49
2.8. Principais linguagens de programação..........................................................................57
2.8.1. A linguagem C/C++...............................................................................................58
2.8.2. A linguagem Perl...................................................................................................60
2.8.3. A linguagem PHP..................................................................................................62
2.8.4. A linguagem Java..................................................................................................65
2.8.5. Shell Scripting.......................................................................................................67
3. SISTEMA DE GERÊNCIA DE BIBLIOTECAS KOHA....................................................70
Software livre e sistemas de informação na FATEC de Praia Grande – vi
3.1. Contexto........................................................................................................................70
3.2. Requisitos......................................................................................................................71
3.3. Arquitetura.....................................................................................................................74
3.4. Análise da aplicação......................................................................................................82
3.5. Cenários de uso típicos..................................................................................................82
3.6. Instalação do sistema Koha...........................................................................................86
3.6.3. Instalando o Koha 2.2.6.........................................................................................91
4. SISTEMA AGENDA............................................................................................................94
4.1. Introdução......................................................................................................................94
4.2. Concepção.....................................................................................................................95
4.3. Elaboração...................................................................................................................101
4.4. Construção...................................................................................................................110
4.5 Transição......................................................................................................................124
5. RELAÇÃO ENTRE SISTEMAS, ALUNOS E DOCENTES............................................128
5.1. Disponibilização de códigos e documentação.............................................................128
5.2. As disciplinas e o material livre disponível.................................................................129
CONCLUSÃO........................................................................................................................131
ANEXOS................................................................................................................................133
ANEXO A - Utilização básica do sistema Koha................................................................133
REFERÊNCIAS BIBLIOGRÁFICAS....................................................................................147
BIBLIOGRAFIA....................................................................................................................150
GLOSSÁRIO..........................................................................................................................153
Software livre e sistemas de informação na FATEC de Praia Grande – vii
LISTA DE FIGURAS
Figura 1 – Arquitetura do sistema de gerência de bibliotecas Koha.........................................75
Figura 2 – Componentes do Koha.............................................................................................76
Figura 3 – Componentes OPAC................................................................................................77
Figura 4 – Pacote INTRANET..................................................................................................77
Figura 5 – Pacote Deamons......................................................................................................78
Figura 6 – Pacote DB................................................................................................................79
Figura 7 – Esquema do banco de dados 1 de 2.........................................................................80
Figura 8 – Esquema do banco de dados 2 de 2.........................................................................81
Figura 9 – Caso de uso acessos do cliente................................................................................83
Figura 10 – Interface de pesquisa para o cliente.......................................................................83
Figura 11 – Interface de trabalho do funcionário......................................................................84
Figura 12 – Caso de uso do sistema de circulação....................................................................85
Figura 13 – Caso de uso catalogação de materiais....................................................................85
Figura 14 : Fluxo de dados entre processos para o sistema proposto.......................................99
Figura 15 - Diagrama de casos de uso....................................................................................105
Figura 16 - Diagrama de seqüência do caso de uso acessarInternet.......................................106
Figura 17 – Diagrama de seqüência do caso de uso gerenciarAluno......................................107
Figura 18 – Diagrama de seqüência do caso de uso gerenciarAcesso....................................108
Figura 19 – Modelo de domínio do Sistema Agenda..............................................................110
Figura 20 - Modelo de entidades e relacionamentos...............................................................112
Figura 21 – Diagrama de arquitetura lógica............................................................................113
Figura 22 - Diagrama de atividades programa AcessoSquid..................................................114
Figura 23 – Diagrama de classes programa AcessoSquid......................................................115
Figura 24 – Diagrama de atividades, método main(), classe AcessoSquid............................116
Figura 25 – Diagrama de atividades, método conectar_BD(), classe Persistencia.................117
Figura 26 – Diagrama de atividades método consulta_acesso(), classe Persistencia.............118
Figura 27 – Diagrama de atividades método grava_log(), classe Persistencia.......................119
Figura 28 – Diagrama de atividades método grava_acesso() classe Persistencia...................120
Figura 29 – Diagrama de atividades método verifica_usuario() classe Persistencia..............120
Figura 30 – Diagrama de atividades método incrementa_bloqueio() classe Persistencia......121
Figura 31 – Diagrama de estados do sistema, módulo AcessoAdm.......................................122
Figura 32 - Diagrama de implantação do sistema AcessoSquid e dependências....................125
Figura 33 – Diagrama de implantação do sistema AcessoAdm e dependências....................126
Software livre e sistemas de informação na FATEC de Praia Grande – viii
LISTA DE TABELAS
Tabela 1 : Respostas ao instalador do Koha.............................................................................92
Tabela 2 : Lista Ator-objetivo.................................................................................................102
Tabela 3 : Regras do domínio.................................................................................................110
Software livre e sistemas de informação na FATEC de Praia Grande – ix
RESUMO
ABSTRACT
The present work has for objective to relate the information and codes on information
systems using free software, those that decide two problems known in the institution, the
computerization of the library and greater controller and flexibility in relation to the access to
the Internet in the laboratories and other areas of the college. Study on an existing system for
solution of the question of the library was carried through and using of the concepts given for
the course and searched information a system for the solution of the question of the accesses
was developed. It was possible the publication of the material and codes searched and
developed by the use of free licenses as the GNU/GPL in such a way in environment of the
college, for its internal net and the definitive implantation of the site and publication of the
material in this, how much for the external publication in specific site. It was perceived that
the accomplishment of systems of information using itself exclusively of free software is
possible, since the infrastructure until the final customer, with the necessary interaction of
diverse interested and the opened material, for its understanding, use, study and possible in
agreement improvement practical better conventions and of the community of international
free software.
INTRODUÇÃO
Para que se pudesse ter acesso irrestrito ao sistema, o mesmo deveria ser licenciado
como software livre, o que permitiria inclusive que se fizessem alterações no sistema ou
documentação, com a possibilidade de redistribuição destas modificações, em regime de
projeto da faculdade ou trabalho de alguma disciplina, ou isoladamente por algum aluno ou
professor.
Mas para o sistema de controle de acesso nada que atendesse aos requisitos foi
localizado. Em contatos efetuados com o sr. Diretor e a coordenadoria do Centro de
Informática, na época srs. Nilson Duarte e Domingos Latorre, respectivamente, e havendo
então a disciplina de Projeto de Sistemas, com o propósito que um sistema completo fosse
desenvolvido ao longo do semestre, foi decidido que um sistema seria criado para suprir esta
necessidade, utilizando-se exclusivamente de software livre.
Com estas considerações, foi possível então estabelecer o principal objetivo deste
trabalho, que é o compartilhamento de informações sobre desenvolvimento, utilização e
manutenção de sistemas de informação envolvendo software livre, tema ainda não abordado
pela instituição ao longo do curso. Esta definição levou à seguinte pergunta para nortear a
pesquisa e conseqüêntemente o trabalho :
1. SISTEMAS DE INFORMAÇÃO
Ainda, informação é o dado trabalhado, útil, com valor significativo e com sentido
para quem usa a informação.
1.2. Classificação
Na prática, estas definições perdem sentido com o dinamismo dos sistemas, onde não
existe mais a separação formal destes níveis, pois as próprias organizações em razão da
dinâmica dos negócios, complexidade e necessidade de rápidos resultados, promovem a
quebra das barreiras formais entre o corpo gestor, o técnico a alta administração, envolvendo
a todos na conquista dos objetivos comuns.( Rezende, 2005 : p.36).
1.3. Desenvolvimento
aproximadamente 5 anos, caso não sejam feitas adaptações. Das suas fases, entre elas a
concepção, construção, implantação, maturidade, declínio, manutenção e morte, a manutenção
permite e extensão de sua vida útil, retardando a sua morte.( Rezende, 2005 : p.41).
Ainda conforme Larman( 2004 ), o P.U. promove diversas práticas, entre elas se
destacando o desenvolvimento iterativo. Nesta abordagem, cada iteração é um miniprojeto, de
duração fixa, e o resultado de cada é um sistema testado, integrado e executável. Em cada
iteração, são executadas as fases de análise de requisitos, projeto, implementação e testes.
Nestas iterações, o sistema cresce incrementalmente com o tempo, com repetidas iterações de
tempo preferencialmente curto e limitado, até que se atinja o ponto de corresponder a todas as
necessidades a que o sistema em desenvolvimento deve atender.
Conforme Pender(2004), foi criada inicialmente por Grady Booch, Jim Rumbaugh e
Ivar Jacobson, e oferece aos desenvolvedores uma linguagem de modelagem pronta para uso,
expressiva e visual, para a criação e troca de modelos gráficos significativos. A UML foi
projetada especificamente para representar sistemas orientados a objeto, que são descritos
como um conjunto de blocos cooperativos de informações e comportamentos. ( Pender, 2004 :
p.5 ).
2.1. O software
Ainda em seu artigo 2º, a Lei 9609/98 confere ao autor do software o direito da
propriedade intelectual, em conexão com a legislação de direitos autorais, com possibilidade
de registro no Instituto Nacional de Propriedade Industrial (INPI), sendo que para a
reivindicação da paternidade do software o autor não necessita tê-lo registrado.
Em seu capítulo IV, a Lei 9609/98 determina que o uso de programas de computador
no País é objeto de contratos de licença, e que na sua inexistência o documento fiscal relativo
à sua aquisição é a comprovação suficiente da regularidade para seu uso.
Esta fusão do kernel de Linus com os utilitários GNU formou o que se conhece como
sistema operacional GNU/Linux, ou simplesmente linux.(Free software Foundation,
2006:p.1).
Esta breve história deste sistema deve ser conhecida pois este é o precursor de um
movimento de colaboração entre especialistas em computação, cujas idéias e realizações
tornaram possíveis os objetivos deste trabalho.
Esta liberdade garante o uso de um software, sem qualquer tipo de impedimento legal
ou interferência de qualquer natureza.
O acesso ao código fonte é possibilitado pela sua disponibilização para cópia através
de servidores acessíveis pela rede mundial de computadores (Internet).
“Você tem liberdade para redistribuir cópias, tanto grátis como com taxa.
Para que estas quatro liberdades sejam respeitadas, foi criada a Licença Geral Pública
(GNU GPL), pela Fundação GNU4, e desenvolvedores puderam então licenciar seus
programas por esta, e assim manter as quatro liberdades básicas de um software livre como
exposto por Stallman. A documentação dos desenvolvedores, ou criadas por outras pessoas
não diretamente relacionadas ao desenvolvimento de um também podem ser licenciadas e
mantidas livres, para permitir seu acesso e uso a quem delas necessitar.
Conforme Silva (2003) este sistema foi criado em 1991 por Linus Torvalds. É um
sistema operacional de código aberto, distribuído gratuitamente pela internet, e o principal
local de distribuição do kernel é o kernel.org5. Seu código fonte é distribuído como software
livre, sob a licença GPLv2 (veja glossário e anexos). Há avisos de direitos autorais nos
arquivos dos fontes explicando sobre isto detalhadamente e o próprio Linus não pode fechar o
sistema para distribuí-lo comercialmente.
A licença diz que não é crime copiar, instalar em outros computadores ou modificar o
software, mas incentiva a realizar tais ações e a divulgar eventuais alterações.
Linux é composto pelo núcleo desenvolvido por Linus (o kernel) e ferramentas GNU,
como compiladores, editores de texto, entre outras. Existem documentos que descrevem como
construir um sistema Linux a partir dos códigos fonte, como o LFS ou Linux From Scratch,
de Gerard Beekmans6.
O Linux é modelado sobre o sistema operacional Unix. Desde o inicio, o Linux foi
designado para ser um sistema multi-tarefa e multi-usuário.
Software livre e sistemas de informação na Fatec Praia Grande – 24
Conforme o Projeto Debian, são mantidas três frentes de revisões em sua distribuição,
cujos codinomes são relativos a personagens do filme Toy Story, a saber :
• Teste : é a distribuição que ainda não atingiu o nível de estável, mas está na fila de
testes para isto. É a que possui versões dos pacotes mais recentes que a estável e
atualmente tem o codinome Etch. Pacotes desta distribuição comumente recebem
apenas correções de falhas, sem inclusão de muitas novas funcionalidades que
poderiam gerar novas falhas. Passam por uma série de testes e avaliações de
desenvolvedores e usuários até serem considerados estáveis. Conforme anúncios
oficiais da Debian, a previsão de lançamento desta distribuição como nova estável é
dezembro de 2006, cuja versão será 4.0. Amostragens da distribuição estão
disponíveis semanalmente para download.
Software livre e sistemas de informação na Fatec Praia Grande – 25
2.5.3. Instalação
Muitos sistemas operacionais podem requerer que a reinstalação completa seja feita
quando falhas críticas são descobertas ou quando são necessárias atualizações para novas
versões. Até mesmo caso uma nova instalação completa não seja requerida, os programas
deverão ser freqüentemente reinstalados para funcionar adequadamente na nova versão.
Sob a Debian GNU/Linux, é muito mais provável que o sistema seja reparado ao invés
de substituído caso as coisas saiam erradas. A atualização nunca requer uma completa
reinstalação, sempre será possível atualizar o sistema. E os programas são em sua maioria
compatíveis com lançamentos de revisões sucessivas. Caso uma nova versão do programa
requeira uma nova versão de um software, o sistema de empacotamento da Debian se
assegura que todos os programas necessários sejam automaticamente identificados e
instalados. O programa de instalação não está preparado para fazer reinstalações através de
um sistema operacional existente.
• Fazer o backup de dados ou documentos existentes no disco rígido onde deseja instalar
o sistema.
• Obter informações sobre o computador e documentação necessária antes de iniciar a
instalação.
• Criar o espaço na tabela de partição para a Debian no disco rígido.
• Localizar e/ou baixar o programa de instalação e quaisquer arquivos de controladores
especializados que a máquina precise (exceto para usuários que possuem o CD da
Debian).
• Configurar tapes de inicialização/disquetes/cartões de memória USB ou colocar os
arquivos de boot (a maioria dos usuários de CD da Debian podem inicializar a partir
de um dos CDs).
• Iniciar o sistema de instalação.
• Selecionar o idioma da instalação.
• Ativar a conexão de rede ethernet, se disponível.
• Criar e montar as partições que terá o sistema Debian instalado.
• Assistir o download/configuração/instalação automática do sistema básico.
• Instalar um gerenciador de boot que poderá iniciar a Debian GNU/Linux e/ou seu
sistema existente.
Software livre e sistemas de informação na Fatec Praia Grande – 27
• Carregar o novo sistema instalado pela primeira vez e fazer alguns ajustes iniciais.
• Instalar programas adicionais (tarefas (tasks) e/ou pacotes) conforme necessário.
Caso ocorram problemas durante a instalação o debian-installer mostrará que pacotes
estão envolvidos com quais passos. Esta é a relação dos programas atuantes na instalação:
Conforme Silva(2003), o sistema GNU/Linux foi concebido desde o início para ser
utilizado por vários usuários, ao mesmo tempo. Cada usuário pode realizar várias tarefas, ao
mesmo tempo. Este é o conceito de um sistema operacional multiusuário e multitarefa.(Silva,
2003:p.1).
2.5.4.1 Usuários
Mas para que o sistema identifique cada usuário é utilizado um sistema de contas de
usuário, onde cada um em particular tem sua identificação no sistema, o seu login. Para
acessar o sistema, o usuário deve fornecer seu nome de login, que pode ser alfanumérico, e
Software livre e sistemas de informação na Fatec Praia Grande – 28
uma senha. Estas credenciais identificarão o usuário unicamente, e dará a ele permissão para
executar algumas tarefas.
• /bin - Contém arquivos de programas do sistema que são usados por todos os usuários.
• /boot - Contém arquivos necessários para a inicialização do sistema.
• /cdrom - Ponto de montagem da unidade de CD-ROM.
• /dev - Contém arquivos usados para acessar dispositivos (periféricos) existentes no
computador.
• /etc - Arquivos de configuração de seu sistema local.
• /home - Diretórios contendo os arquivos dos usuários.
• /lib - Bibliotecas compartilhadas pelos programas do sistema e módulos do kernel.
• /lost+found - Local para a gravação de arquivos/diretórios recuperados pelo utilitário
fsck.ext2. Cada partição possui seu próprio diretório lost+found.
• /mnt - Ponto de montagem temporário.
• /proc - Sistema de arquivos do kernel. Este diretório não existe no disco rígido, ele é
criado pelo kernel e usado por diversos programas que fazem sua leitura, verificam
configurações do sistema ou modificam o funcionamento de dispositivos do sistema
através da alteração em seus arquivos.
• /root - Diretório do usuário root.
• /sbin - Diretório de programas usados pelo superusuário (root) para administração e
controle do funcionamento do sistema.
• /tmp - Diretório para armazenamento de arquivos temporários criados por programas.
• /usr - Contém a maior parte dos programas. Acessível somente como leitura por
usuários comuns.
• /var - Contém a maior parte dos arquivos que são gravados com freqüência pelos
programas do sistema, e-mails, spool de impressora, cache, etc.
7 Disponível em <http://www.pathname.com/fhs>, Acesso em 21/03/2007.
8 Disponível em <http://www.linux-foundation.org/en/LSB>, Acesso em 21/03/2007.
Software livre e sistemas de informação na Fatec Praia Grande – 30
As permissões são aplicadas aos arquivos em relação ao seu dono, ao grupo ou outros.
Elas podem ser leitura, escrita ou execução. Elas são em modo literal ou octal.
Para a exibição do conteúdo de um diretório pode ser usado o comando ls. Com
opções especiais as permissões destes arquivos podem ser igualmente mostradas. Este é um
exemplo da saída de um comando ls -la em um diretório :
Neste exemplo :
• A primeira letra diz sobre o tipo de arquivo, um d para diretório, l para um link para
outro arquivo, um – para arquivo comum;
• Da segunda à quarta letras, as permissões do dono do arquivo, neste caso r – ler, w –
escrever e x – executar;
• Da quinta à sétima letras, as permissões para o grupo, neste caso, ler e executar;
• Da oitava à décima letras, as permissões para outros, igualmente ler e executar;
• Na próxima posição, diz a quantidade de subdiretórios se for um diretório, ou 1 para
arquivos comuns;
• A próxima posição diz o nome do dono do arquivo;
• A próxima posição diz o nome do grupo do dono do arquivo;
• A próxima posição diz o tamanho do arquivo;
Software livre e sistemas de informação na Fatec Praia Grande – 31
Permissões especiais:
Ao invés de utilizar o modo de permissão literal pode ser usado o modo octal para se
alterar a permissão de acesso a um arquivo. O modo octal é um conjunto de oito números
onde cada número define um tipo de acesso diferente.
Para ajustar a permissão de um arquivo para que todos possam executá-lo, apenas o
dono possa editá-lo, e que seja executado sempre como se o dono estivesse executando, o
comando é o seguinte :
Arquivos podem ser binários, cujo conteúdo somente é legível para máquinas, ou
texto, cujo conteúdo é legível para pessoas. Existem inúmeros comandos para manipular
arquivos em linux, para cópia, edição, leitura ou outras tarefas.
# cp arquivo1 arquivo2
# cat arquivo
Pode-se editar um arquivo texto com vários editores, entre eles o vi, nano , mcedit,
emacs entre outros. Como no exemplo :
# nano arquivo
Pode-se criar um arquivo vazio (sem conteúdo) com o comando touch. Quando
aplicado a um arquivo existente, a data e hora de modificação são alteradas.
/home/mario
/home/mario/pesquisa
/home/mario/arquivos
Para que um usuário possa executar um arquivo, ele deve ter permissão para isto.
Executa-se um arquivo digitando-se o seu nome no aviso de comando, passando após o nome
do arquivo seus parâmetros, conforme o necessário.
Para que o sistema encontre o arquivo digitado no aviso de comando, o caminho onde
o arquivo pode ser encontrado deve estar em seu caminho de busca, ou path. Como a maioria
dos executáveis está em /bin, /usr/bin ou /usr/share/bin ou outros, testes caminhos devem
constar em seu path, que é configurado armazenando-se na variável de ambiente PATH os
caminhos. Executando-se < echo $PATH > pode-se saber qual o caminho de busca atual.
Executando-se < export $PATH:/novo/caminho > adiciona-se um diretório ao path atual.
Software livre e sistemas de informação na Fatec Praia Grande – 36
Para que um usuário execute um arquivo que está em seu próprio diretório, o nome do
arquivo deve ser precedido de ./ , o que referenciará para o aviso de comando que o arquivo a
ser executado está no diretório corrente.
Estas vias podem ser redirecionadas com o uso de comandos especiais, de modo a
flexibilizar o processamento de comandos. A saída de um comando pode ser redirecionada à
entrada de outro, assim como para um arquivo, ou o conteúdo de um arquivo para um
comando, por exemplo. Os direcionadores são >, >>, <, <<, e | . Exemplificando :
O comando acima envia o arquivo relatorio para o comando cat, caso exista um erro o
mesmo é enviado para o arquivo erro.log, sendo que a saída do cat é enviada ao grep. A saída
do grep é enviada ao tee, cuja saída é direcionada ao dispositivo /dev/tty2.
Para que um sistema Linux seja utilizável, uma sequência de arquivos deve ser lida e
executada, e esta varia conforme a distribuição, versão ou origem.
• Se um link é iniciado com a letra K (kill), quer dizer que o serviço será interrompido
naquele nível de execução. O que ele faz é executar o daemon em /etc/init.d seguido
de stop.
• Se um link é iniciado com a letra S (start), quer dizer que o serviço será iniciado
naquele nível de execução (é equivalente a executar o daemon seguido de start).
Primeiro os links com a letra K são executados e depois os com S. A ordem em que os
Software livre e sistemas de informação na Fatec Praia Grande – 38
links são executados dependem do valor numérico que acompanha o link, por exemplo, os
seguintes arquivos são executados em seqüência:
• S10sysklogd
• S12kerneld
• S20inetd
• S20linuxlogo
• S20logoutd
• S89cron
• S99xdm
Por exemplo, para listar o nível de execução atual do sistema digita-se runlevel. O
runlevel deverá listar algo como:
# runlevel
N 2
Para mudar para o nível de execução digite init 3. Digitando-se novamente runlevel,
deverá ver-se este resultado:
Software livre e sistemas de informação na Fatec Praia Grande – 39
#runlevel
2 3
Quando um programa deve ser executado na inicialização, um link deve ser criado no
diretório correspondente ao(s) nível(is) de execução onde o mesmo deve ser iniciado e
parado. Na Debian, estes links apontam para os scripts reais em /etc/init.d.
#apt-get update
#apt-get install zip
Software livre e sistemas de informação na Fatec Praia Grande – 40
Como qualquer sistema Linux, a Debian possibilita que programas distribuídos sob a
forma de código fonte possam ser compilados e instalados para uso. Além dos arquivos
básicos relativos às linguagens como c, c++, entre outras, estes arquivos-fonte podem
depender de outros arquivos. Pacotes de desenvolvimento que contém estas dependências
podem ser instalados e a procura de quais pacotes que contém tais arquivos é auxiliada pelo
utilitário auto-apt. Em arquivos-fonte, são executados três passos básicos para sua
compilação, a saber :
Em sistemas Linux, o nome do arquivo, incluindo sua extensão, nada diz sobre seu
conteúdo para o sistema operacional. Assim, dentro do espaço de 255 caracteres, o arquivo
pode conter quaisquer caracteres menos os especiais e os que formarem palavras reservadas, a
saber :
| & ; ( ) < > || && ;; ( ) | <newline> : :: <tab> ! case do done elif else
esac fi for function if in select then until while { } time [[ ]] . , / \//
O utilitário file é usado para descobrir o tipo do arquivo, independente de seu nome.
Como no exemplo abaixo :
# file /bin/bash
/bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for
GNU/Linux 2.2.0, dynamically linked (uses shared libs), for GNU/Linux
2.2.0, stripped
Além da capacidade de servir texto e imagens estáticas, estes servidores web podem, a
partir da execução de outros componentes de software e de arquivos específicos, também
executar aplicações e realizar a entrega de páginas dinâmicas, de conteúdo variável conforme
valores previamente especificados ou armazenados. Nesta categoria está o servidor web
Apache.
2.6.1. Histórico
A versão inicial, 0.6.2, foi publicada em abril de 1995. A versão 1.0 foi
disponibilizada em primeiro de dezembro do mesmo ano. O Apache Group cresceu como uma
instituição sem fins lucrativos, cujo trabalho era feito completamente pela internet. Usuários
que não pertenciam ao grupo também contribuiam com o projeto, submetendo código ao
grupo para análise, que se aprovados em diversos testes, era incluído na distribuição do
servidor conhecido como Apache web server. O desenvolvimento deste software segue este
molde até os dias atuais.
Conforme o site de pesquisas web NetCraft, o Apache é o servidor web usado por
62,52% de todos os sites ativos no mundo em agosto de 2006, o que corresponde a
57.906.817 de um total de 92.615.362 de sites. O segundo colocado é o IIS da Microsoft, com
Software livre e sistemas de informação na Fatec Praia Grande – 43
Neste trabalho, são abordados assuntos relativos à versão 2.0 deste software, conforme
a Apache Software Foundation(2007) :
Como o servidor web Apache é concebido para propósito geral, a sua configuração
dependerá de sua destinação específica, e a título de exemplo, considera-se uma máquina
instalada em uma rede local, com sistema operacional Debian/GNU Linux instalado e
configurado para acesso a esta rede. O gateway da rede é a máquina com endereço
192.168.0.1, onde está disponível o serviço DNS. O servidor será instalado na máquina com
endereço 192.168.0.2, o domínio é exemplo.com.br e o nome da máquina será www. Haverá
apenas um servidor virtual, acessível na rede interna.
• /etc/hosts
• /etc/apache2/apache2.conf
• /etc/apache2/sites-enabled/000-default
192.168.0.2 www.exemplo.com.br
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@mario.exemplo.com.br
ServerName www.exemplo.com.br
DocumentRoot /var/www/www.exemplo.com.br
<Directory /var/www/www.exemplo.com.br>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>
2.7.1.1. Licença
O MySQL está disponível como software livre, sob a licença GPL, mas para
aplicações onde o software que inclua o MySQL não seja livre, deve ser adquirida uma
licença de uso.
usuário root faça qualquer coisa no MySQL, e permitem a qualquer um criar ou usar
bancos de dados com o nome 'test' ou iniciando com 'test_' .”(MySQL AB,2007:p.1);
• #mysqladmin -u root password nova_senha - configura a senha para o usuário
root, permitindo apenas que este usuário tenha privilégios irrestritos sobre o servidor.
Para que o MySQL possa ser acessado por outras máquinas da rede, é necessário
configurar o arquivo /etc/mysql/my.conf, na diretiva bind-address, que vem configurada para
que apenas a máquina local possa efetuar conexões. Adiciona-se diretivas bind-address para
endereços de interfaces da máquina para as quais se necessita que o servidor possa responder
a conexões. Caso seja necessária conexão também pela rede local, e a interface de rede da
máquina possua o endereço 192.168.0.1, deve-se adicionar a seguinte linha após a diretiva
existente e reiniciar o servidor:
bind-adress = 192.168.0.1
O usuário root ou um usuário com privilégio CREATE pode criar um banco de dados,
onde poderão ser criadas tabelas para armazenar dados. Quando um banco é criado, não
existem tabelas e portanto apenas um subdiretório é criado no diretório de dados configurado
para o MySQL, onde as tabelas neste subdiretório corresponderão a arquivos. O banco é
criado usando o comando SQL CREATE DATABASE <nomedobancodedados>, mas pode-
se criar um banco de dados com o utilitário mysqladmin, com a seguinte sintaxe :
Estes comandos para deletar bancos de dados apagam todas as tabelas existentes do
banco e então o remove. Se o banco de dados for um link simbólico, o link e o original são
deletados.
Software livre e sistemas de informação na Fatec Praia Grande – 49
Isto criará o usuário mario com acesso total ao banco banco e os dois comandos
GRANT são necessários pois se não for adicionada a entrada com localhost, a entrada para o
usuário anônimo para localhost que é criada por mysql_install_db toma precedência na
conexão ao banco a partir da máquina local, porque ele contém um campo Host com um valor
mais específico e também vem antes na ordenação da tabela user, e então a conexão do
usuário criado é negada.
2.7.2.1. História
Em 1996 ficou clara a demanda por um banco de dados de código aberto, e um time
para seu desenvolvimento estava formado.
Hoje, o PostgreSQL é conhecido como uma alternativa de código aberto para projetos
onde é necessário um gerenciador de banco de dados estável, escalável e confiável, o que foi
conseguido pelo modelo de desenvolvimento aberto onde usuários podem contribuir com
código, sugestões de melhorias e relatórios de falhas, diretamente ao time de desenvolvimento
do PostgreSQL.
2.7.2.2. Licença
O software é fornecido sob uma licença tipo BSD, clássica de software livre que
conforme parte do texto contido em arquivo da distribuição : "Permissão de uso, cópia,
modificação e distribuição desse software e sua documentação para qualquer propósito, sem
taxa, e sem um acordo escrito está concedida por esse meio, contanto que a nota da licença
acima, esse parágrafo e os dois parágrafos seguintes apareçam em todas as cópias.".
2.7.2.3. Instalação
A versão disponível na Debian Sarge para instalação é a 7.4, sendo que a mais atual é
a 8.1.4, disponível para instalação nesta distribuição apenas por código fonte ou a partir de
scripts de automatização disponíveis no site oficial da distribuição instável. Será abordada a
instalação da versão 7.4, disponível nos cd's/dvd's da Debian Sarge.
Após estes comandos, um usuário chamado postgres foi criado, o cluster foi
inicializado em /var/lib/postgresql/7.4/main, com a criação do banco inicial template1 que
servirá de base para criação dos outros bancos de dados, e o usuário postgres é o
administrador do banco.
Software livre e sistemas de informação na Fatec Praia Grande – 52
#passwd postgres
#su - postgres
$psql template1
template1=#\q
$exit
#/etc/init.d/postgresql-7.4 stop
de <local all all ident sameuser> para <local all all md5>
Isto fará com que o gerenciador exija a senha anteriormente alterada para a conexão de
qualquer usuário, quando o mesmo estiver abrindo uma sessão no gerenciador a partir da
máquina onde está instalado o mesmo.
Isto permite que máquinas da rede 192.168.0.0 possam abrir conexões com o
gerenciador. Deve-se então reiniciar o servidor e efetuar uma conexão com usuário postgres,
verificando a ação das opções alteradas :
Software livre e sistemas de informação na Fatec Praia Grande – 54
#/etc/init.d/postgresql-7.4 start
#su - postgres
#psql template1 (informar senha)
template1=#\q
Para a criação de um banco de dados o usuário deve ter a permissão <create database>,
e estar conectado ao gerenciador. O comando a seguir cria um banco cujo dono será o usuário
que o executar :
Essencialmente, o banco de dados template1 é clonado, e portanto este não deve ser
usado para trabalhos reais. Outros bancos podem ser criados como base, e passados como
parâmetro na criação dos bancos reais.
Software livre e sistemas de informação na Fatec Praia Grande – 55
Este comando cria o banco estoque, e o dono do banco será o usuário jose.
O utilitário dropdb fornecido para conveniência realiza a tarefa da mesma forma que o
comando SQL. O usuário corrente ou outro especificado como parâmetro com a devida
permissão pode executá-lo. O comando a seguir ilustra o comando:
O superusuário postgres removerá o banco estoque, e para isto será exigida sua senha.
Cada cluster contém uma coleção de usuários, que são independentes dos usuários do
sistema operacional onde o gerenciador está sendo executado. Usuários podem ser donos de
objetos, como tabelas, e podem conceder permissões a outros usuários para seus objetos.
Este comando cria o usuário mario, conectando ao banco como usuário postgres. É
exigida a senha do usuário postgres e o sistema pede a senha para o usuário mario que será
gravada criptografada. O usuário criado tem perfil de superusuário.
Se o gerenciador tiver sido compilado com a opção de SSL (Secure Socket Layer),
então conexões seguras podem ser habilitadas alterando a opção ssl para true no arquivo
postgresql.conf. O pacote de software OpenSSL deve estar instalado para que conexões
criptografadas possam ser estabelecidas.
Para efeitos de teste, um certificado local pode ser gerado, com os seguintes
comandos:
Software livre e sistemas de informação na Fatec Praia Grande – 57
Este comando cria um certificado auto-assinado, cuja senha pode ser deixada em
branco, mas necessita de uma frase-senha. Esta frase é solicitada na inicialização do
gerenciador, o que pode se tornar um inconveniente, e pode ser retirada com os seguintes
comandos :
Serão abordados tópicos referentes a manipulação dos ambientes para utilização das
linguagens, como instalação e configurações específicas, de modo a permitir a usabilidade
destas no sistema operacional Debian GNU/Linux, como obter ajuda no sistema e algumas
fontes de ajuda na Internet. Não serão abordados conceitos sobre lógica de programação,
orientação a objetos ou explicações sobre especificidades de cada linguagem, pois fugiriam ao
foco do trabalho.
Não são todas as linguagens que geram arquivos finais diretamente executáveis. Por
exemplo, java é uma linguagem caracterizada por gerar um código intermediário, conhecido
por byte-code, que deverá ser executado por uma máquina virtual java ( uma espécie de
interpretador) para produzir os efeitos de um programa. Outras linguagens como PHP e Shell
Script, não geram executáveis, mas são interpretadas no momento da execução a partir de
recursos presentes no sistema operacional.
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Alo mundo\n");
return(0);
}
# ./alomundo
Alo mundo
A Practical Extraction and Reporting Language foi criada por Larry Wall, com sua
versão 1.0 disponibilizada em 18 de dezembro de 1987. Conforme Robert(2007)10, Perl é uma
linguagem de programação de propósito geral de alto nível originalmente criada para
manipulação de textos e atualmente usada para diversas tarefas como administração de
sistemas, desenvolvimento para web, programação para rede, entre outras. Ainda, Robert diz
que a intenção da linguagem é de ser prática ao invés de elegante, que suporta programação
estruturada e orientada a objetos, que tem suporte interno poderoso a processamento de textos
e tem uma impressionante coleção de extensões desenvolvidas por terceiros.(Robert,
2007:p.1).
Outro método para instalação de módulos Perl é através do utilitário CPAN. Este
utilitário copia o arquivo com o código-fonte do módulo do repositório oficial de módulos
#apt-get install unzip make lynx wget ncftp ftp less gcc
Este comando efetua a configuração inicial do utilitário, caso nunca tenha sido usado,
atualiza a lista de módulos disponíveis, e então copiará o módulo Event de CPAN.org ou de
outro repositório configurado.
#!/usr/bin/perl
print "alo mundo!\n";
#chmod +x alomundo.pl
#./alomundo.pl
Alo mundo!
Software livre e sistemas de informação na Fatec Praia Grande – 63
Como é uma linguagem de script, não é compilada, e portanto não são gerados
executáveis binários. Mas PHP não é apenas executado em servidores web, e pode ser usado
em scripts para diversos propósitos com o interpretador PHP em aviso de comandos. Tarefas
de administração, aplicações diversas e programas com interface gráfica podem ser
implementados em PHP, com ajuda de extensões.
À época da edição deste trabalho, PHP estava em sua versão 5, que implementava
integralmente conceitos de orientação a objetos, mas a versão 4 permanecia igualmente
Software livre e sistemas de informação na Fatec Praia Grande – 64
2.8.3.1. Instalação
Serão abordados tópicos sobre sua instalação na distribuição Debian GNU/Linux, mas
a partir de informações que podem obtidas no site oficial da linguagem, PHP pode ser
instalado em diversas outras plataformas. Estão disponíveis as versões 4 e 5 para a Debian
através de seu sistema de pacotes APT, mas será abordada a instalação da versão 4. O
seguinte comando instala os pacotes básicos da linguagem e seu módulo para o servidor web
apache 2 :
Após a instalação dos pacotes, deve-se habilitar as extensões para os bancos de dados
MySQL e PostgreSQL, tanto para o módulo do apache quanto para o interpretador da linha de
comandos. O arquivo de configuração do módulo do apache é /etc/php4/apache2/php.ini e o
do interpretador PHP para linha de comando é /etc/php4/cli/php.ini, devendo-se alterar a
seguinte linha :
;extension=mysql.so
extension=mysql.so
extension=pgsql.so
Pode-se testar tanto o ambiente em linha de comando quanto o módulo do apache com
o seguinte trecho de código, gravado no arquivo info.php :
<?
phpinfo();
?>
#php info.php
Mais que uma linguagem, Java é uma plataforma. Composta por um interpretador
conhecido como máquina virtual java e pela java API (aplication programming interface),
está disponível para diversas plataformas de sistemas operacionais e arquiteturas de hardware.
Java é portável, ou seja, um programa java poderá ser executado nas mais diversas
plataformas para as quais exista uma máquina virtual.
#chmod +x jre-1_5_0_08-linux-i586.bin
#./jre-1_5_0_08-linux-i586.bin
Para a instalação visível a todos os usuários, este diretório criado deve estar em um
diretório visível globalmente, por exemplo /usr/share. Move-se ou copia-se o diretório criado
pelo instalador para este, porém são necessários poderes de superusuário, como no exemplo :
usuário o arquivo .bashrc no diretório raiz do usuário contém as suas variáveis de ambiente, e
para visão global o arquivo /etc/bash.bashrc. Ao final de cada arquivo devem ser
acrescentadas as linhas a seguir :
#export PATH=/usr/share/jre1.5.0_05/bin:$PATH
#export JAVA_HOME=/usr/share/jre1.5.0_06
#. /etc/bash.bashrc
import java.lang.* ;
class Alomundo
{
public static void main(String[] args)
{
nome = System.getenv("USER");
System.out.println("Bem vindo " + nome + "!\n");
}
}
O processo de compilação Java cria um código intermediário chamado bytecode, e
este é executado pela máquina virtual java. como no exemplo :
#javac Alomundo.java
#java Alomundo
Bem vindo mario!
Software livre e sistemas de informação na Fatec Praia Grande – 68
mario:x:1000:1000:mario,,,:/home/mario:/bin/bash
Este usuário pode criar um arquivo com os comandos desejados, que poderão ser
executados em sequência, inclusive com passagem de parâmetros para o mesmo, com uso de
variáveis para armazenamento de dados temporários, leitura de arquivos, execução de outros
programas, passagem de parâmetros durante a execução, e a saída deste processamento pode
Software livre e sistemas de informação na Fatec Praia Grande – 69
ser direcionada a outros arquivos, programas, rede, outros usuários, entre outras facilidades.
Este fluxo de trabalho é conhecido como Shell Scripting.
Uma vez que o usuário possa efetuar uma conexão a um sistema Linux, o mesmo está
habilitado a criar scripts, se puder efetuar gravação de arquivos no seu diretório, ou outro do
sistema, ou a executar scripts de outros usuários, se possuir permissão para tal. Qualquer
comando interno do bash ou programa instalado no sistema que o usuário possua permissão
de execução pode ser usado em seus scripts.
#!/bin/bash
#script de teste da linguagem
echo “Ola mundo!\n”
Para que este arquivo possa ser executado diretamente, deve ser concedida permissão
de execução ao mesmo, e então executado, conforme abaixo ;
#chmod +x Alomundo.sh
#./Alomundo.sh
Ola mundo!
Software livre e sistemas de informação na Fatec Praia Grande
Conforme Rosasco & Bakke(2004), o projeto Koha está se tornando popular para
bibliotecas pequenas e especializadas, ou aquelas com orçamentos pequenos, especialmente
para aquelas com necessidades de interfaces web ou padronizadas com baixo custo. Criado
originalmente para uso local da biblioteca, é encontrado agora entre coleções escolares e
institucionais como ferramenta de gerência da coleção. A aplicação provê funcionalidades
comparáveis a sistemas comerciais de gerência, mas não possui alguns dos aspectos mais
polidos encontrados em soluções fornecidas por corporações (incluindo imagem de
arquitetura e explicações de casos de uso). Koha tornou-se suficientemente simples e flexível
para que desenvolvedores locais possam extendê-lo e customizá-lo pela virtude da
“construção”, com mínimo de custos construindo sobre o conjunto existente.
3.1. Contexto
Como parte dos requisitos, a aplicação foi criada sob a GNU Public Licence. Desde a
implementação inicial, o sistema foi extendido por vários contribuidores, largamente
envolvidos com outras bibliotecas usando ou com interesse em usar a aplicação.
3.2. Requisitos
● Robustez :
As interfaces públicas deveriam ser suficiente estáveis para suportar uma operação
errada (pergunta mal feita) que poderia causar a queda do sistema;
● Usabilidade :
O catálogo on-line público (OPAC, do original), deveria ser útil imediatamente ao
cliente esporádico;
● Performance básica :
A média das perguntas deve ser respondida suficientemente rápido para respeitar a
expectativa (quando for difícil atribuir quanto, deve existir um retorno contínuo se este
aspecto for negligenciado);
● Retaguarda
Rotinas de retaguarda são necessárias : quase nenhuma coleção de biblioteca é
estática, então rotinas de acesso aos materiais devem ser suportadas e é aceitável que isto
requeira algum treinamento inicial.
● Inventário :
Veículo de inventário e sistema de relatório são necessários;
● Filiais :
Koha deve ser capaz de lidar com operações em múltiplos locais. HLT possui
Software livre e sistemas de informação na Fatec Praia Grande – 73
● Orçamento :
HLT é uma biblioteca de serviço local, e o esforço da Katipo devia encaixar-se no
orçamento, pois não havia uma base de clientes existente para distribuir custos;
● Custos operacionais :
Os resultados iniciais dos processos da HLT levam a uma condição de necessidade de
custos menores com comunicação;
● Interesses de manutenção :
Katipo Communications é uma pequena empresa local. Uma solução de suporte
contínuo foi desejada, como o tradicional contrato de suporte que várias bibliotecas tem com
os vendedores de seu sistema de gerência nem sempre possível.
Software livre e sistemas de informação na Fatec Praia Grande – 74
● Tempo :
Não necessariamente um requisito, mas a primeira versão do sistema devia ser
entregue a tempo de substituir o sistema não compatível com o ano-2000.
3.3. Arquitetura
A versão original do Koha incluía um cliente não web para atividades dedicadas de
circulação, em parte para criar interfaces com scanners de código de barra de modo simples,
bem como permitir o trabalho com altos nível de tráfego, que não seria confortável com a
interface web.
Com a versão 2.0 do koha, este componente foi retirado, pois a interface web foi o
método aceito para atividades de circulação.
O servidor web Apache é a ferramenta padrão que suporta o coração do sistema Koha,
um conjunto de scripts Perl que são a camada entre os funcionários e clientes e a retaguarda
do sistema. Estes scripts do Apache e os navegadores que mostram seus resultados são um
relacionamento cliente/servidor, como a maioria das aplicações para a web.
Estes scripts do lado do servidor são chamados pela extensão CGI do servidor Apache.
Todos os scripts são escritos em Perl. Estes são módulos Perl que acessam a interface do
banco de dados.
Software livre e sistemas de informação na Fatec Praia Grande – 76
Todas as páginas html são geradas pelos scripts Perl. Um módulo padrão HTML Perl
gera as páginas baseadas em modelos HTML Perl. São em sua maioria como tags HTML e
JSP.
Os módulos Perl são fornecidos nos quatro pacotes seguintes com suas dependências :
● OPAC
Acesso dos clientes ao sistema Koha.
● INTRANET
Retaguarda e interface de trabalho do sistema.
● Deamons
Contém todos os scripts para todos os deamons no sistema.
● DB
Contém os scripts para acesso ao banco de dados para o sistema.
Software livre e sistemas de informação na Fatec Praia Grande – 77
O componente Acquire contém os scripts Perl que tratam aquisições de livros e outros
materiais da biblioteca.
3.3.3.6 Pacote DB
Figura 6 – Pacote DB
Fonte : <http://www.kohadocs.org/Koha_architecture.html>, acesso em 09/04/2007
As bibliotecas Perl DBI são usadas como camada de acesso para tratar conectividade
coma instância do gerenciador de banco de dados MySQL. É um módulo Perl padrão de
terceiros.
Os dois diagramas a seguir mostram uma visão dos esquemas de banco de dados e
provêm uma boa visão funcional do sistema koha.
Software livre e sistemas de informação na Fatec Praia Grande – 80
Uma das questões a responder é quanto escalável é esta arquitetura. Baseada nesta
estrutura cliente/servidor, a aplicação deve escalar desde sistemas pequenos até sistemas
médios, no entanto, isto não foi quantificado em nenhum requisito.
A arquitetura sob a qual o Koha foi criado ajudaram seus usos mais do esperado
originalmente. As funções e decisões em torno dela merecem uma avaliação mais que
“primária” no modo de operar do Koha, ao passo de que se pareceu melhor no projeto
original.
3.5.1. Clientes
3.5.2. Funcionários
O projeto do Koha agrupa todas as funções de funcionários que não são objeto de
acesso pelos clientes em uma interface unificada, referenciada como o componente “Intranet”.
Esta é escondida do cliente (na prática) por ser acessada em uma porta diferente do servidor.
Software livre e sistemas de informação na Fatec Praia Grande – 84
Este capítulo cobre a instalação do Koha no Ubuntu 6.10 Edgy Eft server, que pode
ser obtido no site oficial da distribuição ou no espelho no Brasil mais próximo18.
3.6.2. Dependências
Muitos módulos necessários ao Koha poderão ser instalados pelo método apt-get,
outros apenas recorrendo ao repositório de módulos Perl conhecido como CPAN.
$ sudo passwd
Enter your unix password :
Renter your unix password :
passwd :
Password updated successfully.
Então, deve-se sair e efetuar novo login como root, com a senha informada
anteriormente.
Com o novo login, através do apt-get atualiza-se a base de dados e instala-se o Perl e
os módulos iniciais necessários :
Existem algumas dependências para o Koha que não estão disponíveis como pacotes
na distribuição, assim, devem ser instaladas a partir dos repositórios CPAN. Mas o instalador
do CPAN também depende de alguns aplicativos, que podem ser instalados utilizando o
método apt-get, conforme o comando a seguir :
Software livre e sistemas de informação na Fatec Praia Grande – 88
# apt-get install unzip make lynx wget ncftp ftp less gcc cvs
Deve ser confirmada a informação de hora e data do servidor, para prevenir falhas no
uso do módulo do CPAN. Para esta tarefa usa-se o comando date.
Alguns módulos do CPAN tem dependências que não podem ser instaladas pelo apt-
get. O Yaz é uma destas dependências, e instala-se o mesmo executando os comandos :
# wget http://ftp.indexdata.dk/pub/yaz/yaz-2.1.38.tar.gz
# tar xzvf yaz-2.1.38.tar.gz
# cd yaz-2.1.38
# ./configure
# make
# make install
No primeiro uso do módulo CPAN, a sua configuração inicial deve ser feita, inicia-se
informando ao módulo que instale o Net::Z3950, conforme o comando a seguir :
"/usr/share/perl/5.6.1/CPAN/Config.pm initialized.
If you do not want to enter a dialog now, you can answer 'no' to this
question and I'll try to autoconfigure. (Note: you can revisit this
dialog anytime later by typing 'o conf init' at the cpan prompt.) Are
you ready for manual configuration? [yes]"
Software livre e sistemas de informação na Fatec Praia Grande – 89
"The CPAN module can detect when a module that which you
are trying to build depends on prerequisites. If this
happens, it can build the prerequisites for you
automatically ('follow'), ask you for confirmation
('ask'), or just ignore them ('ignore'). Please set your
policy to one of the three values.
Eventualmente, se um site do CPAN não responder, será feita uma pergunta sobre qual
site o módulo deverá usar. Responde-se como no exemplo :
● ftp://archive.progeny.com/CPAN/
● ftp://cpan.cse.msu.edu/
● ftp://cpan.pair.com/
Alguns módulos do Perl necessitam dos módulos marc, que devem ser instalados a
partir dos códigos fonte disponíveis. Executa-se os comandos a seguir para instalá-los :
# cd marc-record
# perl Makefile.PL
# make
# make install
Este módulo é usado para gerar os arquivos em formato pdf dos relatórios e dos
códigos de barras, mas uma versão específica deve ser instalada. Esta versão está disponível
para download no CPAN19. Assim, segue-se os comandos abaixo para sua instalação ;
# wget http://backpan.cpan.org/modules/by-authors/id/A/AR/AREIBENS/PDF-
API2-0.3r77.tar.gz
# tar xzvf PDF-API2-0.3r77.tar.gz
# cd PDF-API2
# perl Makefile.pl
# make
# make install
19 Disponível em <http://backpan.cpan.org/modules/by-authors/id/A/AR/AREIBENS/PDF-API2-
0.3r77.tar.gz>. Acesso em 04/04/2007.
20 Disponível em <http://www.mysql.com/doc/en/index.html>, acesso em 09/04/2007.
Software livre e sistemas de informação na Fatec Praia Grande – 91
Conforme o site Netcraft de pesquisas na internet , o servidor web apache é usado por
mais de 60% dos servidores no mundo. Maiores informações sobre a pesquisa podem ser
obtidas no site da Netcraft21. No site do desenvolvedor22 estão disponíveis maiores
informações sobre o aplicativo.
Isto efetuará a instalação padrão do apache. Quando o koha for instalado será efetuada
a configuração do apache para o correto funcionamento da aplicação.
# wget http://download.savannah.nongnu.org/releases/koha/koha-2.2.6.tar.gz
# tar xzvf koha-2.2.6.tar.gz
# perl installer.pl
Copia-se o arquivo a ser editado, para outro diretório ou com outro nome, de modo a
manter uma versão do original em caso de problemas.
Este arquivo é gerado a partir do instalador do Koha, com as opções passadas ao mesmo
durante a instalação.
# /etc/init.d/apache2 restart
Neste momento, já pode ser realizado o primeiro teste de conexão, tanto do módulo
OPAC quanto do Intranet, com os seguintes endereços, digitando-os em um navegador que
possua acesso à rede na qual foi instalado o servidor :
OPAC = http://<nomeouipdamaquina>
Intranet = http://<nomeouipdamaquina>:8080
A instalação está finalizada, e o Koha está funcional e pronto para que o usuário possa
iniciar a configuração dos parâmetros da biblioteca ou coleção pessoal e utilizar o
sistema.(Ferraro, 2006:p.1).
Software livre e sistemas de informação na Fatec Praia Grande
4. SISTEMA AGENDA
4.1. Introdução
Motivação
Sob outro ponto de vista, há a disposição de liberar o que for desenvolvido sob a
forma de software livre, facilitando o estudo pelos colegas e servindo como material de apoio
dos professores, com a devida autorização da instituição.
Objetivos
Este sistema proverá mecanismos de registro de dados para que se possa efetuar o
controle dos acessos à internet nas dependências da Fatec. Todo acesso à internet deverá
respeitar as regras básicas da instituição, conforme modelo e regras fornecidos e gerenciados
pela Diretoria e coordenadoria do Centro de Informática.
Software livre e sistemas de informação na Fatec Praia Grande – 95
Metodologia
Toda a documentação gerada por este sistema visa informar as principais decisões de
análise e implementação, não documentar interfaces de classes. A informação criada tem a
intenção de elucidar o funcionamento do sistema, permitindo ao aluno e professor a quem tais
informações são primeiramente destinadas, a aprofundar a documentação, desenvolver,
melhorar e incluir funcionalidades neste sistema de código aberto. Afinal, como diz
Larman(2007) :
Sim! Quase tudo é opcional. Dito isso, algumas das práticas e dos princípios do PU são
invariáveis, como o desenvolvimento iterativo e orientado ao controle dos riscos, bem
como a verificação contínua da qualidade.
4.2. Concepção
4.2.1. O problema
Todo o acesso é monitorado, mas os usuários não são registrados e, portanto, o acesso
de cada um não tem registros suficientes para auditoria.
É ciência da administração que existem alunos que desviam sua atenção das aulas por
ter disponível acesso à internet, lendo e-mails, acessando sites não correspondentes às aulas,
entre outros problemas.
Assim, foi proposto um sistema de controle composto por duas partes. Uma, em
constante conexão com o aplicativo de compartilhamento e controle, receberá as requisições
deste aplicativo e fornecerá respostas baseadas em regras lidas em um banco de dados. Por
outro lado, a outra parte do sistema tratará da edição destas regras, conforme modelo a ser
definido em conjunto com as áreas responsáveis.
A data de início do projeto é a data de início das aulas do segundo semestre de 2006 e
seu término coincide com prazos a serem estabelecidos na disciplina Projeto de Sistemas do
sexto ciclo, sob a coordenação do professor responsável pela disciplina no período.
Para efetiva implantação do que for desenvolvido, será necessária a autorização pela
direção e coordenadoria do centro de informática ao acesso do líder do projeto e seus
designados, às dependências que se fizerem necessárias.
Este projeto não tem relação com a Fábrica de software Livre desta faculdade, mas a
seu critério pode ser designado à Fábrica para sua manutenção após o término do projeto.
O sistema a ser desenvolvido pode ser entendido a partir da figura a seguir, onde setas
indicam o fluxo dos dados importantes para o sistema. Note-se que esta figura não demonstra
o atual estado de conexões de rede ou entre equipamentos, mas tão somente sua interligação a
nível de processos.
Software livre e sistemas de informação na Fatec Praia Grande – 99
Como o sistema pode ser implementado de diversas maneiras, será dada preferência
pelos métodos de desenvolvimento e linguagens de programação já utilizados por professores.
O sistema a ser desenvolvido visa resolver uma questão de bloqueios de acesso a sites
considerados impróprios pela administração, com registro das tentativas, e permitir aos
professores controle mais efetivo do quê os alunos podem acessar em período de aula, e se
podem ou não ter acessos. As pessoas que terão direitos de controle sobre o sistema são os
administradores, na pessoa do diretor e pessoas por ele designadas. Os professores poderão
Software livre e sistemas de informação na Fatec Praia Grande – 100
4.2.5 Pessoal
4.2.6 Equipamentos
4.2.7 Instalações
Como não será contratado pessoal para operação, nem serão adquiridos equipamentos
para o mesmo, não há necessidade de ampliação das instalações existentes, para os propósitos
do sistema.
O sistema desenvolvido tem função acadêmica e pública, uma vez que se propõe a
resolver um problema de uma instituição pública. Assim, não será cobrado para que seu
desenvolvimento ocorra, desde que sejam respeitadas pela instituição as condições de
disponibilização do código-fonte gerado para os interessados.
Software livre e sistemas de informação na Fatec Praia Grande – 101
4.2.9 Treinamento
4.3. Elaboração
Esta lista relaciona os atores, seus principais objetivos a serem alcançados com o
sistema e os casos de uso que realizam estes objetivos.
Interessados e interesses:
➔ Squid : deseja receber a permissão de acesso da URL requisitada pelo
Aluno/Funcionário;
➔ Aluno : deseja visualizar em seu navegador a URL solicitada ao Squid;
➔ Funcionário : deseja visualizar em seu navegador a URL solicitada ao Squid;
➔ Administrador : deseja relatório sobre os acessos realizados pelos Alunos e
Funcionários, e deseja que acessos não autorizados sejam bloqueados e registrados;
➔ Professor : deseja que acessos à internet não permitidos por ele no Laboratório em que
estiver ministrando aula sejam bloqueados e registrados;
Software livre e sistemas de informação na Fatec Praia Grande – 103
Extensões :
*a . A qualquer momento, o sistema falha :
Uma informação será retornada ao Aluno/Funcionário.
1a. Caso falte alguma informação, o sistema retorna ERR, registrando o erro.
2a. Se a URL solicitada constar como bloqueada, o sistema registra o fato e retorna
informando.
2b. Se o Aluno estiver com o acesso bloqueado, o sistema registra o fato e retorna
informando.
2c. Se o Funcionário estiver com o acesso bloqueado, o sistema registra o fato e retorna
informando.
2d. Se o nome do usuário constar no registro de Funcionário, o sistema o identifica como
Funcionário e obedece às regras para o mesmo.
2e. Se o nome do usuário não constar no registro de Funcionário, o sistema o identifica
como Aluno e verifica as regras globais de acesso e as regras do Professor para o
Laboratório/máquina para processar o acesso.
2f. Se a url solicitada constar como exceção ao bloqueio, será retornado OK apenas se não
constarem bloqueios para computadores, laboratórios e usuários.
2g. Se o usuário identificado como aluno estiver na n-ésima tentativa de acessar uma
URL proibida, o sistema o bloqueia.
Interessados e interesses:
Extensões :
*a . A qualquer momento, o sistema falha :
Uma informação será retornada ao Administrador.
Interessados e interesses:
➔ Professor : deseja inserir/remover/atualizar/visualizar regras de acesso e relação de
URL's permitidas e proibidas para os alunos, apenas para o laboratório em que estiver
ministrando aulas, pelo período em que nele estiver.
Extensões :
*a . A qualquer momento, o sistema falha :
Uma informação será retornada ao Professor.
Estes diagramas esclarecem sobre os eventos que ocorrem nos casos de uso.
Conforme Medeiros(2006), este tipo de diagrama pode ser usado para mostrar a
evolução de uma dada situação em determinado momento do software, mostrar uma dada
colaboração entre duas ou mais classes e pode também ser usado para mostrar a tradução de
um Caso de Uso desde a interação com o usuário até a finalização daquele dado
processo.(Medeiros, 2006:p.147).
Este diagrama ilustra a interação entre o usuário do tipo professor e o sistema, em sua
interface de administração.
Software livre e sistemas de informação na Fatec Praia Grande – 107
Este tópico é o repositório de todos os requisitos que não constam nos casos de uso.
4.3.2.1 Funcionalidades
1. Todos os erros devem ser registrados, e um relatório deve poder ser visualizado com
estes erros;
2. O sistema deve permitir regras restritivas ou permissivas, ou seja, liberar acessos a
partir de “lista branca” ou bloquear a partir de “lista negra”;
3. Um relatório com o ranking dos usuários mais bloqueados deve poder ser visualizado.
Software livre e sistemas de informação na Fatec Praia Grande – 109
4.3.2.2 Usabilidade
4.3.2.3 Desempenho
1. O sistema deve parecer transparente para os usuários quando sites permitidos forem
requisitados, isto significa uma espera não maior que 3 segundos para respostas;
1. Devem ser usados apenas soluções de código aberto/software livre para todas as fases
do projeto, como ferramentas case e linguagens de programação;
4.4. Construção
• Usuario - Criador : operações com usuários, como retornar nome, login e estado;
• Computador - Criador : operações com computadores, como retornar laboratório em
que foi cadastrado, e estado de bloqueio;
• Lista_URL - Criador : operações com URL, lógica de negócio com sites;
• Persistencia - Especialista na informação : pesquisa dos dados sobre usuários, sites e
computadores no banco de dados;
• AcessoSquid - Controlador : gerenciamento das operações necessárias, acessando
operações conforme dados recebidos pela interface com o Squid e requisitos;
• AcessoAdm - Interface do administrador / professor para acesso aos recursos de
administração do sistema.
Foi planejada estrutura em três camadas, interfaces com o Squid e com o usuário,
camada de domínio e persistência.
Todo o ambiente foi desenvolvido para ser executado em sistema operacional Linux,
independente de distribuição, mas a interface de administração independe de sistema
operacional, pois é executada no servidor e a interação dá-se através de navegador web, em
conformidade com os padrões da W3C26.
4.4.5 AcessoSquid
Foi usada a linguagem Java, e o programa compilado e empacotado como arquivo jar,
para facilidade de configuração com o programa Squid. É usado um arquivo de
configuração agenda.conf, que contém os parâmetros para acesso ao banco de dados. O
código gerado está disponível como anexo, e o diagrama de atividades está a seguir.
Para resolver este diagrama, foram criadas duas classes, AcessoSquid e Persistencia. A
seguir estão os diagramas de classes e atividades dos métodos criados.
4.4.6 AcessoAdm
Este módulo do sistema é responsável pelos recursos de administração dos dados sobre
bloqueios, sites, usuários e outros dados. Resolve os casos de uso GerenciarAcesso e
GerenciarAluno, respectivamente de interesse do administrador e do professor, e todos os
casos de uso incluídos. O desenvolvimento baseia-se na linguagem PHP, com as páginas
hospedadas em um servidor web apache sob sistema operacional Linux, no ambiente da
faculdade. Os acessos apenas serão efetuados criptografados, de modo a evitar que dados
confidenciais sejam expostos.
Será descrito como será gerado código utilizável a partir do código-fonte, para os
arquivos gerados pelo projeto e para os sistema dos quais depende.
4.4.7.1 AcessoSquid
Para compilar o AcessoSquid, foi usada a ferramenta javac do pacote da Sun, versão
1.6.0 da JDK27.
#javac @arquivo
#jar cfm AcessoSquid.jar manifest-jar-AcessoSquid *.class postgresql-8.1-
405.jdbc3.jar
4.4.7.2 Squid
Para correta execução do cache Squid28, foi necessário a sua compilação a partir do
código-fonte, pois testes efetuados com pacotes pré-compilados das distribuições Debian,
Arch e Ubuntu resultaram em não utilização do AcessoSquid ou falta de parâmetros ao
mesmo, resultando em falha nos testes iniciais.
Explicando :
Os outros pacotes dos quais o Agenda depende podem ser instalados pelos
procedimentos normais da distribuição Linux utilizada, sendo possível teoricamente sua
instalação em ambientes Windows, mas isto não foi testado. Para ambientes Linux, os
procedimentos descritos no capítulo 2 são suficientes.
4.5 Transição
A alteração da configuração do programa Squid deve ser feita de modo manual, mas
um arquivo com um exemplo de uso é fornecido.
A utilização de softwares licenciados como livres, sob licenças como a GNU GPL30,
permite a sua livre redistribuição, mas também permite que se solicite o pagamento de taxas.
Mas a GPL exige que mantenha um meio aberto de disponibilização do material.
Para respeitar esta exigência, e para possibilitar que os interessados nos projetos
tenham acesso ao que foi pesquisado e desenvolvido, foi criado um diretório no equipamento
usado para compartilhar arquivos entre alunos e professores, acessível pela rede da faculdade,
e um acesso a este por meio do servidor web da página da instituição, e assim os interessados
podem ter acesso tanto pela rede interna, através de compartilhamentos com as máquinas dos
laboratórios, quanto pelo site, interna ou externamente.
Igualmente, por ter sido desenvolvido pelo autor deste trabalho, foi disponibilizado o
material que serviu de base para o estudo do sistema Koha, assim como o que foi
desenvolvido para o sistema Agenda. Para que o público interessado pudesse ter ciência sobre
a existência de tal material, foram postadas notícias sobre os assuntos no site br-linux32,
especializado na publicação sobre o assunto software livre. Além do material no servidor da
instituição, este está também acessível pelo site do Grupo de usuários de Linux de Praia
Grande33.
CONCLUSÃO
Além do escopo deste trabalho, mas que também foram utilizados na pesquisa, três
documentos sobre o sistema Koha foram traduzidos pelo autor e publicados no site do Linux
Praia Grande. Até o momento do fechamento deste trabalho, o Guia do novato contou 226
cópias, o Manual de instalação com 313, o Guia de estudo de arquitetura totalizou 252 cópias
efetuadas por interessados.
Além destes dados, o projeto Agenda ali disponível totalizou 207 cópias do código e
40 cópias dos seus respectivos diagramas UML. Estas informações são relativas a data de
acesso em 19/05/2007, e dados atualizados podem verificados no site do Linux Praia
Grande36.
ANEXOS
Koha basicamente tem três grandes partes, uma parte Linux, uma Intranet e um
catálogo on-line. As orientações são para se interagir com a parte Intranet. A intranet é a parte
que trabalha com o que as pessoas vêem na parte OPAC.
Estes passos levam em consideração que não existam conhecimentos sobre o sistema
de gerenciamento de bibliotecas por parte do leitor. Assim, fluxos de trabalho herdados de
outros sistemas se aplicam, ou em parte, haja visto que sistemas como este relacionam-se a
um fluxo de trabalho muito parecido.
A.2. Introdução
É presumido que já se tenha um computador com o Koha instalado. Se não for o caso,
utilize as instruções constantes no capítulo 3.6 deste trabalho.
Este é o material de trabalho que fisicamente faz uma biblioteca. Eles podem ser
livros, músicas ou DVD's. Koha trabalha com qualquer material que você deseje catalogar.
Software livre e sistemas de informação na Fatec Praia Grande – 134
Se houver apenas uma biblioteca, é apenas isto. É como se houvesse uma coleção
caseira ou apenas uma coleção, ou coisa parecida, necessitando de apenas uma filial. Se
expandir depois, o Koha aceita que sejam adicionadas filiais mais tarde.
Digite um código pequeno para a filial. O Koha aceita apenas quatro caracteres aqui.
Um exemplo, foi digitado "MAIN" para filial dos testes.
Se alguma coisa mudar, poderão ser alteradas estas informações mais tarde voltando
nesta tela e clicando em "Edit".
Software livre e sistemas de informação na Fatec Praia Grande – 135
Agora o novo fundo irá aparecer na tela "Book Funds", na forma de uma barra amarela
e verde clara. Clique no ícone de papel com sinal + para dizer ao Koha algo mais sobre o
orçamento.
Koha pede uma data inicial, uma final e o total do orçamento. Note que Koha pede o
formato europeu para datas, dia, mês e ano.
A.4.3. Currencies
Também não é necessário fazer nada aqui, a não ser que se trabalhe com o fundo para
livros.
É todo tipo de material que se desejaria cadastrar, que existe em alguma localização da
biblioteca. Talvez sejam necessários mais ou menos que 28 tipos de itens, mas os 20
primeiros, como exemplo, podem ser :
Adult Audio Book Fiction, Adult Audio Book Non Fiction, Adult Audio Book on
CD Fiction, Adult Audio Book on CD Non Fiction, Adult Fiction, Adult Magazine,
Adult Non Fiction, Board Book, Caldecott Award Book, Comic Book, Musical
CD, DVD, Kid's Easy Reader, Graphic Novel, Kid's Audio Book Fiction, Kid's
Audio Non Fiction, Kid's CD, Kid's Fiction, Kid's Magazine, Kid's Non Fiction
(Interfiled with Adult).
Software livre e sistemas de informação na Fatec Praia Grande – 136
Crie um código de até 4 letras para o tipo de item. Por exemplo, o código para "Adult
Audio Book Fiction" pode ser AAF. Pode ser que não sejam mais vistos estes códigos, mas
ele existe para que o computador trabalhe com ele.
O que será visto é a descrição. Quando listar o primeiro grupo de tipos de itens, serão
todos descrições. Uma boa descrição dá ao cliente e ao funcionário uma idéia geral sobre
onde o item pode ser encontrado e o que ele é. Isto não é nada preciso, apenas uma idéia
geral.
É crucial nomear corretamente os tipos de itens, porque se decidir que alguns devem
ter nomes diferentes mais tarde, deverão ser mudados os registros MARC individualmente
para todos eles depois.
Isto é essencialmente material para apenas uso exclusivo da biblioteca, que não será
emprestado.
Os materiais com esta caixa assinalada são gerenciados, mas não é permitido a eles o
empréstimo.
É quantas vezes o item poderá ter sua renovação no período de empréstimo, desde que
não tenha sido selecionado o campo "Not For Loan", o que fará com que este campo seja
inútil.
Neste campo será digitado o quanto será cobrado por cada empréstimo de seus
Software livre e sistemas de informação na Fatec Praia Grande – 137
A.4.4.1.4. Clique OK
Depois de todo este trabalho, não se deve esquecer de salvá-lo. Tenha certeza de clicar
em "OK" para salvar o que foi digitado nesta tela.
Para o banco de dados, estes tipos de pessoas como são os tipos de itens.
Podem ser diferenciados os tipos de emprestadores para dar aos mesmos direitos
diferentes sobre os materiais. Pode ser desejado cobrar taxas de mensalidade ou anuidade
diferenciadas de uns e não cobrar de outros, por exemplo.
Este campo tem apenas 2 caracteres. Apenas crie um código para os tipos e o digite
aqui.
A.4.5.1.2. Description
Neste campo deve ser digitada a descrição do tipo do emprestador, como Adulto,
Criança, Jovem, Empregado ou outro que seja necessário.
Este é o período em anos pelo qual o registro de um emprestador deste tipo de pessoa
será mantido.
Software livre e sistemas de informação na Fatec Praia Grande – 138
Aqui é digitada a idade máxima que uma pessoa pode ter para pertencer a esta
categoria.
Aqui é digitada a idade mínima que uma pessoa precisa ter para pertencer a esta
categoria.
Aqui é digitada a taxa anual para que o cliente mantenha seu cadastro na biblioteca. Se
for digitado 0 aqui, nada será cobrado, ou digite o valor desejado. O registro do pagamento
será realizado na tela "Members".
Neste campo é digitada a quantidade máxima de itens que pode ser emprestada a cada
vez para este tipo de emprestador.
Neste campo é digitado o valor que será cobrado deste tipo de emprestador para cada
reserva que o mesmo faça de um item. Caso não seja cobrado nada, basta digitar 0 neste
campo.
Software livre e sistemas de informação na Fatec Praia Grande – 139
Cada campo deve ser preenchido com os valores de quantidade de dias de empréstimo
e quantidade de itens a cada empréstimo, números inteiros e separados por uma vírgula. Por
exemplo, "7,2" neste campo (Issue) significa um empréstimo de 7 dias com no máximo 2
itens.
Cada campo deve ser preenchido com valor da multa, tempo em dias para início de
cobrança, e de quantos em quantos dias a cobrança deve ser feita. Por exemplo, "1,7,7" neste
campo significa que será cobrado o valor de 1 moeda cadastrada em "Currencies", começando
7 dias após o empréstimo, e com uma nova cobrança a cada 7 dias.
Observ.: As multas são calculadas pelo script fines2.pl, localizado no diretório misc da
instalação do Koha. Solicite ao seu administrador que o inclua no crontab do servidor para
que as multas possam ser calculadas toda noite.
Caso alguma célula não seja preenchida, os valores constantes nas células "*" serão
usados, e caso não tenha sido preenchida, o valor "21,5" será usado, que está no código do
Koha.
Software livre e sistemas de informação na Fatec Praia Grande – 140
Quando é definida uma estrutura para uma tag MARC, pode ser definido como o
subcampo será gerenciado. Se não for definido nada, o subcampo é livre. se for escolhida uma
categoria de valores autorizados, então uma lista é apresentada e um valor desta lista terá que
ser selecionado.
Então, entre estes valores numa lista autorizada (por exemplo, categoria LANG), e
selecione subcampos de língua para LANG. Os dígitos que forem eng corresponderão a
english, e assim por diante.
A.4.8. Thesaurus
O arquivo Thesaurus pode ser usado de duas formas, gerenciar formas autorizadas e
rejeitadas para o mesmo conceito, ou gerenciar hierarquia dos dados.
Pode ser procurado no thesaurus um valor, acima ou abaixo, adicione o valor se não
for encontrado.
A.4.9. Printers
Aqui são configuradas as impressoras do sistema, que poderão ser usadas nas
operações de circulação e relatórios. Lembrando que a qualquer momento, as telas do
navegador poderão ser impressas caso exista necessidade.
Software livre e sistemas de informação na Fatec Praia Grande – 141
Stop Words são as palavras ignoradas durante uma pesquisa. Palavras comuns como
"A", "O", "de" quando bloqueadas aceleram uma pesquisa.
Nesta tela, podem ser definidos os servidores para as pesquisas. Tenha certeza que os
servidores escolhidos suportam o formato MARC definido nas preferências do sistema. Para
adicionar servidores, devem ser conhecidos o nome ou ip do servidor, a porta e o nome da
base de dados a ser acessada. Alguns servidores não aceitam conexões anônimas, e usuário e
senha podem ser digitados nos seus campos.
Esta tela contém uma miscelânea de configurações que merecem atenção. Elas
definem o comportamento do sistema e devem ser editadas com cuidado.
A.4.13. Tools
Esta ferramenta permite a importação de registros MARC, obtidos de outra forma que
não a pesquisa Z3950 durante a catalogação de materais.
Esta ferramenta pode ser usada para gerar etiquetas com código de barras para os itens
de sua biblioteca. Mas para que isto funcione, a versão 0.33r77 do módulo Perl PDF::API2
deve estar instalada.
A tela pode ser confusa no começo. Pode ser gerada uma ou uma série de etiquetas,
mas apenas de itens que já constam do catálogo. As etiquetas serão geradas em código
EAN128, comum mundo afora. Há um campo que pode ser usado para digitar o texto que será
impresso nas etiquetas, e se estiver em branco será usado o nome e o autor do item
relacionado.
Em uma tabela embaixo pode ser selecionado a partir de qual etiqueta a impressão
começará, pois podem ter sido usadas algumas etiquetas de uma folha de etiquetas adesivas,
por exemplo. A quantidade de etiquetas na página e outros dados podem ser editados clicando
no link "Go to Printer Configuration". Edite os dados nesta página de configuração da
impressora e clique em salvar.
Então, no menu abaixo do título da obra, clique em "normal", e será então apresentada
uma tela com dados básicos da obra e a lista dos itens cadastrados. No menu abaixo do título
da obra clique em "Add to shelf", para relacionar o item a uma prateleira da biblioteca. Se
desejar relacionar o item a uma prateleira já existente, selecione-a em "Add to virtual shelf",
ou então digite o nome da prateleira no campo abaixo de "or add to a new book shelf",
selecionando o tipo de prateleira no campo, ao lado, conforme o desejado.
Clique em "Members -> Add member" para adicionar um novo cliente à biblioteca.
A tela "Add member" será apresentada, e então os campos relativos ao novo cliente
podem ser digitados.
Os campos em negrito são obrigatórios, mas tanto melhor quanto mais informações
forem coletadas neste momento.
Software livre e sistemas de informação na Fatec Praia Grande – 145
Após a edição necessária, não esqueça de clicar em "Save" para salvar sua alterações.
Para alterar o nível de acesso do cliente cadastrado, de modo a que ele tenha o nível de
acesso de um funcionário da biblioteca por exemplo, na tela "Membership record" clique em
"Modify user flags" e altere conforme a permissão desejada ao mesmo.
Pode ser acessada a função diretamente clicando em "Circulation -> Issue". Na tela
apresentada, no quadro "Circulation : Issues" podem ser alteradas as configurações de
impressora ou diretamente digitar o código do cliente ou parte de seu nome. Clicando em
"OK" ou digitando "enter" no teclado, será apresentada uma tela para que seja selecionado o
cliente correspondente se houver mais que um registro que corresponda ao parâmetro
informado, ou a tela de empréstimo se o dado informado se relacionar a apenas um cliente.
No quadro "Enter book barcode", use o leitor de código de barras ou digite o código
respectivo e tecle "Enter". Neste momento, pode aparecer um quadro solicitando a
confirmação do empréstimo, pois o Koha verifica as regras cadastradas e a situação dos itens
e do cliente antes de registrar o empréstimo, e se esta tela aparecer verifique a mensagem,
analisando, confirmando ou negando conforme o necessário. Se a mesma não aparecer ou se o
empréstimo for confirmado, este já está registrado e aparecerá um quadro abaixo de nome
"Previous issues" com o empréstimo efetuado. Se o cliente já possuir empréstimos anteriores,
este quadro já aparecerá após a confirmação dos dados do cliente. Digite o código de barras
Software livre e sistemas de informação na Fatec Praia Grande – 146
Observe que a data do empréstimo pode ser alterada antes da entrada do código do
material, e apenas antes, utilizando os campos de dia, mês e ano. Se for desejado que estas
datas se repitam para cada item emprestado nesta operação, clique no campo "Stycky due
date".
Para retornar um item, clique em "Circulation -> Returns", e então a tela de retornos
será apresentada.
No quadro "Enter book barcode", digite o código de barras e tecle "Enter" ou use o
leitor para entrar com o código do item a ser retornado.
Será apresentado o nome e código do cliente que estava com o item, a descrição do
item para confirmação visual do que está sendo retornado, e o item estará novamente
disponível para novo empréstimo.
Se houver uma reserva pendente para o item, será apresentada uma mensagem, deve
ser clicado "OK" para continuar a retornar itens.
Estas são apenas algumas orientações a respeito deste sistema, e muito mais existe
sobre seu funcionamento e trabalho diário. É altamente recomendável a leitura do manual
disponível em <http://www.kohadocs.org/usersguide/index.html>. No momento da edição
deste trabalho, a versão de produção do Koha é a 2.2.5, disponível para download em
<http://download.savannah.nongnu.org/releases/koha/> .
Software livre e sistemas de informação na Fatec Praia Grande
REFERÊNCIAS BIBLIOGRÁFICAS
ALVES, WILLIAM PEREIRA. Fundamentos de Bancos de Dados. São Paulo : Érica, 2004.
DIÁRIO OFICIAL DA UNIÃO. Lei 9610/98 Lei de Direitos Autorais. Brasília : 20/02/1998.
FERRARO, JOSHUA. Instaling Koha 2.2.7 On Debian GNU/Linux 3.1 "stable" (sarge).
.NET, 2006. Disponível em
<http://www.kohadocs.org/Installing_Koha_on_Debian_sarge.html>. Acesso em 20/05/2007.
FREE SOFTWARE FOUNDATION INC. Gnu General Public Licence. .NET, Boston, jun
1991. Disponível em <http://www.gnu.org/licences/gpl.html>. Acesso em 20/05/2007.
FREE SOFTWARE FOUNDATION. Introdução ao projeto GNU. .NET, Boston, mai. 2005.
Disponível em <http://www.gnu.org/gnu/gnu-history.pt.html>. Acesso em 19/05/2007.
LARMAN, CRAIG. Utilizando UML e padrões. 2. ed. Porto Alegre : Bookman, 2004.
PROJETO DEBIAN. Uma breve história do Debian. .NET, jul. 2002. Disponível em
<http://www.debian.org/doc/manuals/project-history/>. Acesso em 20/05/2007.
ROSASCO, NICHOLAS; BAKKE, ERIK. Koha Arquitetural Study. .Net, 2005. Disponível
em <http://www.kohadocs.org/Koha_architecture.html>. Acesso em 25 mar. 2007.
SCHILDT, HERB. C++ : the complete reference. 3 ed. Osborne : McGraw-Hill, 1998.
SILVA, GLEYDSON MAZIOLI DA. Guia Foca GNU/Linux. .NET, out. 2006. Disponível
em <http://focalinux.cipsga.org.br/guia/iniciante/ch-intro.htm>. Acesso em 20/05/2007.
THE APACHE SOFTWARE FOUNDATION. About the apache HTTP Server Project.
.NET, 2005. Disponível em <http://httpd.apache.org/ABOUT_APACHE.html>. Acesso em
20/05/2007.
Software livre e sistemas de informação na Fatec Praia Grande
BIBLIOGRAFIA
ALVES, WILLIAM PEREIRA. Fundamentos de Bancos de Dados. São Paulo : Érica, 2004.
DIÁRIO OFICIAL DA UNIÃO. Lei 9610/98 Lei de Direitos Autorais. Brasília : 20/02/1998.
ECKEL, BRUCE. Thinking in Java. Upper Saddle River : Printice Hall. 2000.
FERRARO, JOSHUA. Instaling Koha 2.2.7 On Debian GNU/Linux 3.1 "stable" (sarge).
.NET, 2006. Disponível em
<http://www.kohadocs.org/Installing_Koha_on_Debian_sarge.html>. Acesso em 20/05/2007.
FREE SOFTWARE FOUNDATION INC. Gnu General Public Licence. .NET, Boston, jun
1991. Disponível em <http://www.gnu.org/licences/gpl.html>. Acesso em 20/05/2007.
FREE SOFTWARE FOUNDATION. Introdução ao projeto GNU. .NET, Boston, mai. 2005.
Disponível em <http://www.gnu.org/gnu/gnu-history.pt.html>. Acesso em 19/05/2007.
KABIR, J. MOHAMMED. Apache Server 2 Bible. New York : Hungry Minds Inc. , 2002.
LARMAN, CRAIG. Utilizando UML e padrões. 2. ed. Porto Alegre : Bookman, 2004.
PEEK, JERRY. TODINO, GRACE. STRANG, JOHN. Learnig the UNIX operating system.
OReilly . 1998.
PROJETO DEBIAN. Uma breve história do Debian. .NET, jul. 2002. Disponível em
<http://www.debian.org/doc/manuals/project-history/>. Acesso em 20/05/2007.
ROSASCO, NICHOLAS; BAKKE, ERIK. Koha Arquitetural Study. .Net, 2005. Disponível
em <http://www.kohadocs.org/Koha_architecture.html>. Acesso em 25 mar. 2007.
SCHILDT, HERB. C++ : the complete reference. 3 ed. Osborne : McGraw-Hill, 1998.
SILVA, GLEYDSON MAZIOLI DA. Guia Foca GNU/Linux. .NET, out. 2006. Disponível
em <http://focalinux.cipsga.org.br/guia/iniciante/ch-intro.htm>. Acesso em 20/05/2007.
THE APACHE SOFTWARE FOUNDATION. About the apache HTTP Server Project.
.NET, 2005. Disponível em <http://httpd.apache.org/ABOUT_APACHE.html>. Acesso em
20/05/2007.
Software livre e sistemas de informação na Fatec Praia Grande
GLOSSÁRIO
WEB – originalmente significa teia, mas assume o conceito de serviço de páginas acessáveis
por outros computadores em informática.