Neste projecto pretende-se que os alunos desenvolvam uma aplicação Web que implemente um repositório digital de trabalhos de alunos.
O repositório desenvolvido deverá respeitar a estrutura do modelo de referência internacional OAIS ("Open Archive Information System").
Convem ir verificando o historial de alterações deste documento pois o mesmo irá sofrer alterações ao longo das próximas semanas.
SIP e o processo de Ingestão
DIP e a disseminação/publicação de conteúdos
No dia a dia de uma instituição universitária produzem-se centenas de trabalhos, com mais ou menos profundidade, pelos alunos dessa instituição.
Neste projecto, pretende-se arquivar de forma segura esses projectos e garantir o acesso continuado a toda esta informação. Desta forma, poderemos promover a troca de ideias e dar alguma visibilidade a projectos e alunos que de outra forma seriam ignorados.
O A3 deverá ser implementado seguindo as orientações do modelo OAIS (figura 1).
Figura 1: Modelo de referência OAIS
Como se pode ver pela figura, o sistema terá de interagir com três tipos de actores:
Corresponde a todos os que produziram um trabalho e que o querem e vão depositar no A3;
Como o próprio nome indica é o administrador do sistema. Irá executar acções relacionadas com a manutenção do mesmo;
Corresponde ao futuro utilizador do repositório. Dirigir-se-á a este para consultar e pesquisar informação relativa aos projectos arquivados.
Em termos funcionais, o sistema é constituído por 3 megaprocessos:
Processo responsável pela recepção/depósito de materiais a arquivar;
Processo responsável pela gestão interna do sistema: gestão dos objectos arquivados, gestão de utilizadores, produção de estatísticas, etc.
Processo responsável pela disseminação/distribuição/publicação dos objectos arquivados. Um disseminador tanto pode fornecer ao consumidor final um ZIP com a informação pretendida como pode gerar um website que permita áquele navegar no repositório e visualizar a informação pública.
De acordo com o OAIS, temos três tipos de pacotes de informação a circular no sistema:
Pacote que é enviado pelo produtor ao sistema para ser processado e arquivado. A sua estrutura terá de ser especificada no início do projecto.
Pacote arquivado, ou seja, um SIP depois de processado e armazenado torna-se num AIP. Este terá uma determinada estrutura que irá depender da forma como será armazenado: base de dados relacional, ficheiro XML, conjunto de pares atributo valor, etc.
Pacote oferecido ao consumidor. Tanto poderá ser um website a partir do qual aquele consiga navegar nos conteúdos como pode ser um ficheiro ZIP com um conjunto de conteúdos previamente seleccionados.
Nas secções seguintes iremos detalhar um pouco os requisitos pretendidos para o projecto. Como estes estão muito relacionados com os pacotes de informação que circulam no sistema vamos começar por definir o que se pretende para cada um deles.
Começamos por definir o ponto de entrada no sistema, o SIP e o processo de ingestão que lhe está associado.
Nas primeiras aulas, discutiu-se a estrutura que deveria ter este pacote o que resultou na seguinte especificação:
Um SIP é ficheiro comprimido no formato ZIP;
Ficou também definido que o PR virá sempre num ficheiro de nome pr.xml;
Todos os outros ficheiros do pacote deverão estar ao nível do PR e deverão ser referneciados por este.
O processo de ingestão deverá receber o ficheiro ZIP e realizar as seguintes tarefas:
Armazenar a metainformação do PR na base de dados relacional definida para o efeito (ver secção );
Depois do processo de ingestão a informação do SIP foi armazenada e aquele foi convertido num AIP.
AIP é a designação que se dá ao objecto intelectual depois deste ter ficado devidamente arquivado.
Neste projecto, o AIP irá corresponde a uma solução híbrida, com uma parte da informação a ser guardada numa base de dados relacional, outra no file system e outra num ficheiro XML.
A metainformação relativa ao projecto, ou seja, a informação contida no pr.xml, será guardada numa base de dados relacional. Depois de algum "trabalho de casa", realizou-se um "brain storming" na sala de aula de onde resultou um modelo de entidades e relacionamentos e o esquema da base de dados relacional.
Os ficheiros resultantes de cada projecto deverão ser guardados numa zona "especial" do file system. Foi pedido aos alunos que pensassem numa maneira de fazer isto e que pensassem numa forma de manter a ligação entre estes ficheiros e a respectiva informação guardada na base de dados.
A componente de registo de logs no sistema será guardada num ficheiro XML cuja estrutura e processamento serão abordados durante as aulas.
Os modelos desenvolvidos nas aulas e publicados juntamente com este enunciado são apenas para orientação. Em muitas situações o aluno terá de estender os modelos apresentados. Ou seja, não se limitem ao que foi discutido nas aulas, aproveitem essa informação e tentem ir mais além!
Um DIP corresponde à forma como se irão disponibilizar os conteúdos armazenados.
Para já, pretende-se que o consumidor/utilizador do sistema tenha à sua disposição um website a partir do qual possa explorar os conteúdos armazenados: listar os projectos, consultar a informação relativa a um projecto, descarregar um dos ficheiros do projecto, etc.
Uma outra forma de DIP será a possibilidade de exportação de um projecto. Neste caso, o DIP corresponderá a um ficheiro ZIP com uma estrutura semelhante ao SIP.
Além da interface de ingestão e da interface de consumo/disseminação o sistema deverá ter também uma interface de administração que deverá dar acesso ao seguinte conjunto de operações: