Desenvolvendo Aplicativos com Zend Framework e banco de dados CDS/ISIS

download Desenvolvendo Aplicativos com  Zend Framework  e banco de dados CDS/ISIS

If you can't read please download the document

description

Apresentação feita durante a PHP Conference 2008 sobre Desenvolvimento de Aplicativos com Zend Framework e banco de dados CDS/ISIS

Transcript of Desenvolvendo Aplicativos com Zend Framework e banco de dados CDS/ISIS

  • 1. Desenvolvendo Aplicativos comZend Frameworke banco de dados CDS/ISIS Domingos Teruel http://www.dteruel.com.br Osasco, 27 29 de novembro 2008

2. Experincia Profissional Tecnlogo em computao cursando especializao em SistemasWeb e Interface de Usurios; Atua na rea de desenvolvimento eimplementao de projetos desistemas web-basedem Software Livre, trabalha com PHP desde 1999. Analista de Sistemas da instituio ONU/OMS/OPAS/BIREMEdesde 2004 3. Quem esta na Platia?

  • Fs de Software Livre ?
  • Estudantes ?
  • Desenvolvedores Avanado de PHP ?
  • Desenvolvedores de outras Linguagens ?
  • Todas as opes acima !
  • Nenhuma das outras opes !!

4. Linha da apresentao

  • Apresentao do CDS/ISIS
  • Entendendo bases de dados textual
  • Estrutura de dados
  • CDS/ISIS e Web
  • Integrao com PHP
  • Integrao com Zend Framework
  • Desenvolvimento de um Projeto

5. Quem est usando CDS/ISIS

  • UNESCO
  • Ministrio da Sade/Educao
  • Bibliotecas
  • Instituies Pblicas/Privadas da Amrica Latina e Caribe

6. CDS/ISIS Computerized Documentation System / Integrated Set of Information System 7. CDS/ISIS -Definies

  • CDS/ISIS um sistema genrico deArmazenamentoeRecuperao deInformao
  • um sistema desenvolvido para ser usado por bases de dados estruturadas no-numricas cujo contedo em sua maioria textual
  • especializado para contedo informacionais de tamanho varivel
  • Funciona como sistema debase de dados local ou em rede

8. CDS/ISIS -Definies

  • Como o Dbase ou MS-Access, CDS/ISISno um sistema de banco de dados relacional, embora tambm possibilite algumas facilidades relacionais
  • CDS/ISISpossibilitarealizar buscas, tais como:Quais os projetos que tratam de pesquisa em Software Livre na ndia
  • Expansvel
  • Dispe de uma grande variedade de solues para a publicao de dados na Internet

9. CDS/ISIS -O que uma base de dados?

  • O termobase de dadossignifica uma coleo estruturada de informaes
  • Uma base de dados contm elementos de dados chamadosregistros
  • Cada registro da base de dados tem amesma estrutura
  • Algumas unidades de informao em um registro podem estarausentes , outras podemocorrer mais de uma vez
  • As unidades de informao em um registro so chamadas decampos , os quais podem contersubcampos

10. CDS/ISIS O que uma base de dados? Base de dados Campo 1 Campo 2 Campo 3 Campo 4 ausente Campo 1 Campo 2 Campo 3 ausente Campo 4 ausente Campo 1 Campo 2 Campo 3 Campo 4 11. CDS/ISIS Noes Bsicas

  • Registros so armazenados em um arquivo chamadoMaster File(MST)
  • Cada registro possue um identicador nico, chamadoMaster File Number(MFN)
  • O MFN automaticamente atribudo na criao do registro
  • Campos de um registro so identificados por um cdigo numrico chamadoTAG(etiqueta)
  • O acesso ao dado pode ser feito por MFN ou pelo contedo
  • Para isso, deve-se manter umdicionrio de termos de busca,chamadoArquivo Invertido(Inverted File)

12. CDS/ISIS Noes Bsicas

  • O dicionrio de termos de busca construdo de acordo com os critrios estabelecidos pelo criador da base de dados
  • Critrios so padres que instruem o ISIS como extrair os termos de busca de um registro
  • Os critrios so coletados daField Selection Table(FST) (tabela de seleo do campo)

13. CDS/ISIS Noes Bsicas Base de dados FST Dicionrio 14. WWWISIS: Web-based CDS/ISIS Database Server

  • WWWISIS um sistema especialmenteconcebidopara atuar como servidor de bases de dados ISIS na World Wide Web em ambientes Cliente/Servidor
  • WWWISIS foi desenvolvido pela UNESCO, mantido e distribudo pela BIREME, para os pases da Amrica Latina e do Caribe. BIREME um centro especializado da OPAS/OMS
  • WWWISIS est na verso 7.1

15. WWWISIS: Web-based CDS/ISIS Database Server

  • Objetivo/ uso: WWWISIS um programa concebido para servir como servidor para o CDS/ISIS. uma bibliotecaem C completa para administrao e manipulao de bases de dados
  • Disponibilidade
      • O WWWISISest disponvel livremente para vrias plataformas.
        • http://bvsmodelo.bvsalud.org
  • Exemplos de uso e documentao
        • http://bvsmodelo.bvsalud.org

16. WWWISIS- Caractersticas

  • WWWISIS sua operao conduzida por parmetros
    • Os principais parmetros so:
      • Nome da Base de Dados (db)
      • Expreso de Busca (booleana) e
      • especificao de formato de sada (pft)
    • Podem ser gerados dinamicamente
  • WWWISIS pode ser chamado diretamente na linha de comando ou como um script CGI

17. WWWISIS - Caractersticas

  • CDS/ISIS linguagem de formato suportado pelo WWWISIS
  • Parmentros de pesquisa podem ser passadas atravs de formulrios, via CGI
  • WWWISIS: Interface de indexao
    • Multi-record file (ex. Registros biblografico para arquivo)
    • Suporta vrios formatos de arquivos
    • Stop words : Sim
    • Indexao em nivel de campo: Sim

18. WWWISIS - Caractersticas

  • WWWISIS Interface de Pesquisa
    • Suporte a operadores Boleanos (AND, OR e AND NOT)
    • Pesquisa por proximidade
    • Truncamento
    • Pesquisa em nivel de campo
  • WWWISIS Performance de Pesquisa e Indexao
    • No h necessidade de arquivos ou comandos adicionais, somente a base de dados
    • Tempo de resposta (pesquisas simples e complexas)
      • Eficiente e rpida

19. WWWISIS Integrando com PHP

  • Biblioteca WXIS-MODULES
    • Conjunto de scripts WWWIsis que permite, de maneira simples, recuperar em formato XML as informaces da bases de dados CDS/ISIS
      • WXIS_LIST => Recuperao e listagem de registros
      • WXIS_SEARCH => Pesquisa
      • WXIS_INDEX => Listagem do indce do dicionrio de dados
      • WXIS_EDIT => Bloqueio de registros
      • WXIS_WRITE => Insero e atualizao de registros
      • WXIS_DELETE => Excluso de registros
      • WXIS_CONTROL => Funes de controle: status, gerao do dicionrio de dados e desbloqueio de registros

20. WWWISIS Integrando com PHP

  • Classe DB_ISIS
      • Classe que encapsula a biblioteca WXIS-MODULES
      • Tem caracteristicas de um PDO fornecendo os mtodos para acesso e manipulao da base de dados de forma mais transparente

21. WWWISIS Integrando com ZendFramework

  • Preparando o Ambiente
    • Baixar o ZendFramework
      • http://framework.zend.com/download
    • Baixar o utilitrio WWWISIS e a base de exemplo CDS/ISIS
      • http://bvsmodelo.bvsalud.org/php/level.php?lang=pt&component=28&item=2
    • Baixar a biblioteca WXIS-MODULES
      • http://productos.bvsalud.org/docs/level2.php?channel=links&lang=pt&graphic=yes&lang=pt&graphic=yes

22. WWWISIS Integrando com ZendFramework

  • Preparando o Ambiente
    • Estrutura de diretrios
      • application
        • Contm todo o cdigo da sua aplicao
      • library
        • Contm todas as bibliotecas necessrias utilizadads na aplicao (ZF, WXIS-MODULES)
      • htdocs
        • Contm os arquivos pblicos, incluindo o arquivo bootstrap
      • cgi-bin
        • Contm o CGI wxis.exe
      • bases
        • Contm todos os arquivos CDS/ISIS (Arquivos Mestres, Arquivo Invertidos)

23. WWWISIS Integrando com ZendFramework

  • Configurando o Servidor Web (Apache)
      • VirutalHost
        • ServerName wwwisis.local DocumentRoot /home/aplicacoes/wwwisis/htdocs AllowOverride None Options FollowSymLinks MultiViews DirectoryIndex index.htm index.php homepage.htm index.html default.htm default.html ScriptAlias /cgi-bin/ /home/aplicacoes/wwwisis/cgi-bin/ ErrorLog logs/wwwisis-error.log CustomLog logs/wwwisis-access-.log combined
      • wwwisis/.htaccess
        • RewriteEngine on RewriteRule !.(css|ico|js|swf|png|gif|jpg)$ index.php

24. WWWISIS Integrando com ZendFramework

  • Criando do Arquivo de Configurao
    • application/database.def
        • [cds] base_path=/home/wwwisis/bases/cds fst_path=/home/wwwisis/bases/cds/cds.fst

25. WWWISIS Integrando com ZendFramework

  • O arquivo bootstrap
  • ...
  • Zend_Loader::loadClass('Zend_Controller_Front');
  • Zend_Loader::loadClass('Zend_Config_Ini');
  • Zend_Loader::loadClass('Zend_Registry');
  • // load configuration
  • $config = new Zend_Config_Ini('../application/database.def', 'cds');
  • $registry = Zend_Registry::getInstance();
  • $registry->set('config', $config);
  • //setup database
  • $conn = Zend_Db::factory('DB_ISIS', $params);
  • $db = new Database($conn);
  • Zend::register('db', $db);
  • ...

26. WWWISIS Integrando com ZendFramework

  • IndexController