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. |
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.
Muitos desses trabalhos acabam na prateleira do professor uma vez avaliados.
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).
Como se pode ver pela figura, o sistema terá de interagir com três tipos de actores:
Em termos funcionais, o sistema é constituído por 3 megaprocessos:
De acordo com o OAIS, temos três tipos de pacotes de informação a circular no sistema:
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:
O processo de ingestão deverá receber o ficheiro ZIP e realizar as seguintes tarefas:
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: