Management System for Collections of Biotechnological Interest · Management System for Collections...
Transcript of Management System for Collections of Biotechnological Interest · Management System for Collections...
Management System for Collections
of Biotechnological Interest
Sidnei de Souza
Centro de Referência em Informação Ambiental, CRIA
Rio de Janeiro, July 2008
WhatWhat is SICol?is SICol?
SICol is a multi-user , multi-platform , multi-language software,
being developed by the Centro de Referência em Informação
Ambiental, CRIA , sponsored by the Financiadora de Estudos e
Projetos, Finep.
Its goal is to improve management and documentation
processes in biological collections (currently focused on
archaea , bacteria , filamentous fungi , yeasts and protozoa ),
ensuring the traceability of procedures and open dissemination
of data through the internet.
(on-line catalogue, SIColNet and the species Link network).
Software designSoftware design
� CABRI guidelines were adopted for the basic design
� Several meetings with collection curators to adapt concepts and guidelines to basic requirements
� Efforts to have a single implementation model for all different collections
� Special attention to the user interface , keeping it as clean , logical, and friendly as possible
� Controlled vocabulary should be used wherever possible
� Free text fields to store general information
� Basic text formatting tools (such as bold, italic, hyperlinks) when enter ing data in free text fields should be available
� When entering free text, internal references to documents, bibliographic references, and taxa
� Multi-Platform� Windows, Linux , MacOS, etc.
� Multi-Web Server� Apache , Microsoft IIS , etc.� User friendly interface
� Multi-Browser� Mozilla Firefox , Microsoft IE , Safari, etc.
� Multi DBMS� MySQL• PostgreSQL, MS-SQL Server, etc.
Multi-Language for use� Navigation menus and field labels in different languages
Portuguese and English : default implementation
� Multi-Language for content� Some fields should have their contents in more than one language.
Software design Software design -- TechnologicalTechnological CharacteristicsCharacteristics
� Security� Multi-user� Users Groups� Access control by record
� Tracing operations� All operations will be registered to allow traceability of any changes made on each
record.
� Most non-free text fields are configurable� The content of each pre-defined field can be configured by the administrator
to meet specific needs
� Names Dictionary� Support to the Taxa module data• Available on-line at http://names.cria.org.br
Software designSoftware design
SecuritySecurity
� Level 1• Applied to: each user• permissions: Access to Sub-Collections
� Level 2• Applied to: each user and/or group• permissions: Create and/or Delete each record on each module
� Level 3• Applied to: each user and/or group• permissions: View and/or Edit each record on each module
� Level 4• Applied to: each record on each module• permissions: make records available to the
open Catalogue
MÓDULOS• Taxa• Strains• Institutions• People• Documents• Bibliographic References• Preservation• Distribution
MÓDULOS• Taxa• Strains• Institutions• People• Documents• Bibliographic References• Preservation• Distribution
Already implemented componentsAlready implemented components
Documentation(archaea, bacteria, fungi, yeast e protozoa)
� Modules: StrainsStrainsTaxaInstitutionsPeopleDocumentsBibliographic References
� Operations: Insert, Edit, and Search
Documentation of processesPreservationDistributionQuality ControlStock Control (minimum stock alert)
Catalog for external on-line access, version 1
TAXATAXA **
INSTITUTIONSINSTITUTIONS
PEOPLEPEOPLE
DOCUMENTSDOCUMENTS REFERENCESREFERENCES
PRESERVATIONPRESERVATION DISTRIBUTIONDISTRIBUTION
GENERALGENERAL
IDENTIDENT
DEPOSITDEPOSITGROWTHGROWTH
CHARSCHARS
PROPSPROPS
STOCKSTOCK
COLLECTCOLLECT
ISOLATIONISOLATION
QCQCSTOCK MAPSTOCK MAP
ONON--LINELINECATALOGCATALOG
ADVANCED SEARCHADVANCED SEARCH&&
REPORTSREPORTS
USERSUSERSACCESSACCESS
CONTROLCONTROLGROUPSGROUPS
CONFIGCONFIG
LOGLOG
USER’SUSER’SMANUALMANUAL
iocl
cbmai
STRAINSSTRAINS
Software statusSoftware status
MultiMulti --collectioncollection andand subsub --collectionscollections
Strain number is unique for each collection
Strain 2Strain 1 Strain 3 Strain 1 Strain 2
Collection 1
Sub-collection 1CCC-B
Sub-collection 2CCC-L
Collection 2
sub-collection 1CCM
Database
Software statusSoftware status
Database
Installation
General General ViewView
PEOPLEINSTITUTIONS
ORIGIN
STRAINS
ISOLATION
IDENTIFICATION
DEPOSIT
GROWTH
GENERAL
PROPERTIES
QC
TAXA
CHARACTERISTICS
DISTRIBUTION
DATABASE
COLLECTION
SUB-COLLECTION
DOCUMENTS REFERENCES
PRESERVATION
STOCK
GENERAL
SEGURITY
GENERAL
SEGURITY
GENERAL
SEGURITY
GENERAL
SEGURITY
GENERAL
SEGURITY
GENERAL
SEGURITY
GENERAL
SEGURITY
INSTALATION USERS
SECURITY
Local area network with a dedicated server
Installation examplesInstallation examples
Single user installation
Local area network with a shared desktop
MultiMulti --ArchitectureArchitecture
Network with multiple dedicated servers
MultiMulti --ArchitectureArchitecture
Installation examplesInstallation examples
Software Software status status –– Next stepsNext steps
� Under development/analysis
� Configurable Nomenclature (re-implementation)� Stock mapping/position� Advanced Search� Specific Reports� SIColNet and speciesLink integration� History of Operations (traceability)
Complementary Activities
� Real world tests with two collections: CBMAI and CLIOC� Analysis of existing data, re-structuring, and import � User’s Manual ( current version: 1.16, April 2008)
Sidnei de [email protected]
Centro de Referência em Informação Ambiental, CRIAwww.cria.org.br
ThankThank youyou !!
Estruturar o sistema a fim de prover níveis suficientes de segurança, com uma arquitetura que ofereça uma qualidade de software compatível aos modelos abertos, o que possibilitará facilidades no entendimento, manutenção e expansões futuras. Esta estrutura segue o modelo de “Arquitetura em Camadas”, onde se tem:
� Camada de Apresentação
� Camada de Negócio
� Camada de Composição
� Camada de Dados
FreeFree OpenSourceOpenSource : : LayersLayers
� Camada de Apresentaçãoonde se reúne código e arquivos referentes ao que se apresenta ao usuário final. Esta camada, para uma interface web, ainda é dividida em quatro partes:
Interação : arquivos de código em linguagem JavaScript, proveêm uma melhor experiência de utilização do sistema pelo usuário final;Página : arquivos de código XHTML (Extensible HyperText Markup Language), proveêm a estrutura de cada página do sistema;Formatação : arquivos de código CSS (Cascading Style Sheets), definem toda a formatação e disposição de textos e objetos em cada página do sistema.Ilustração : arquivos de imagem utilizados nas páginas do sistema.
� Camada de Negóciomódulos em linguagem Python que reúnem todo o entendimento, lógica e funcionamento do sistema. Estão sendo desenvolvidos utilizando-se o conceito de “Programação Orientada à Objetos” (POO), que é adotado amplamente no setor de desenvolvimento por contribuir significamente pela independência de componentes, permitindo reutilizações e expansões rápidas e eficientes sem comprometer as bases da estrutura.
FreeFree OpenSourceOpenSource : : CamadasCamadas
� Camada de Composição
contém arquivos necessários e/ou auxiliares que podem ser usados por todas as demais camadas. Neste sistema, temos três partes desta camada:
SQL: módulos independentes de código SQL (Structured Query Language) usados de acordo com o Sistema Gerenciador de Banco de Dados (SGBD) em uso.Translations : arquivos que contém traduções de tela para os idiomas usados no sistema.Configs : arquivo usado para configurar a instalação do sistema e suas variáveis de ambiente.
� Camada de Dados
onde ficam as bases de dados mantidas pelos seus respectivos sistemas gerenciadores.
FreeFree OpenSourceOpenSource : : CamadasCamadas
� Programação• Orientação a Objetos; [1][2]• Implementação em multi-camadas. [3][4][5]• XML [19]
� Banco de Dados• MySql 5.0 [16]• Sqlite [17]• ISO/ANSI SQL-92 [18]
� Interface• XHTML 1.1; [6]• CSS 2.1; [7]• JavaScript Cross-browser; [8][9]• AJAX; [10][11]• Tableless. [12]
� Dados• RFC 3066; [13]• ISO 639; [14]• ISO 3166. [15]
� Referências[1] http://en.wikipedia.org/wiki/Object-oriented_programming[2] http://pt.wikipedia.org/wiki/POO[3] http://pt.wikipedia.org/wiki/N_camadas[4] http://en.wikipedia.org/wiki/Three-tier_(computing) [5] http://en.wikipedia.org/wiki/Multitier_architecture[6] http://www.w3.org/TR/xhtml11[7] http://www.w3.org/TR/CSS21[8] http://developer.mozilla.org/en/docs/JavaScript[9] http://www.mozilla.org/docs/web-developer/upgrade_2.html#DevCrossBrowser[10] http://pt.wikipedia.org/wiki/AJAX_(Web)[11] http://en.wikipedia.org/wiki/Ajax_(programming) [12] http://tableless.com.br/aprenda/faq/[13] http://www.ietf.org/rfc/rfc3066.txt[14] http://www.oasis-open.org/cover/iso639a.html[15] http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/index.html[16] http://www.mysql.org/doc/refman/5.0/en/index.html[17] http://www.sqlite.org[18] http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt[19] http://www.w3.org/TR/2006/REC-xml-20060816
FreeFree OpenSourceOpenSource : : PadrõesPadrões
Servidor IOC
Acesso InternoColeções
Acesso externoInternet
BD1
BD2
BD3
BD4
BDn
SIColsoftware
http://sicol.ioc.fiocruz.br
http://sicol.ioc.fiocruz.br
http://sicol.ioc.fiocruz.br
http://sicol.ioc.fiocruz.br
http://sicol.ioc.fiocruz.br
SIColcatálogo
http://ioc.fiocruz.br/col1
http://ioc.fiocruz.br/col2
http://ioc.fiocruz.br/col3
http://ioc.fiocruz.br/col4
http://ioc.fiocruz.br/coln
Filt
ros
Proposta de InstalaProposta de Instala çção do SICol na Fiocruzão do SICol na Fiocruz