A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Publicando Dados Relacionais e O-R como XML Vânia Vidal

Apresentações semelhantes


Apresentação em tema: "Publicando Dados Relacionais e O-R como XML Vânia Vidal"— Transcrição da apresentação:

1 Publicando Dados Relacionais e O-R como XML Vânia Vidal

2 2 Introdução XML tornou-se um padrão para troca e integração de dados na WEB. A maioria dos dados corporativos estão armazenados em banco de dados relacionais. Isto cria a necessidade de publicar dados armazenados em bases convencionais, no formato XML. Vendedores de sistemas de BD Objeto-Relacional estão estendendo seus produtos para suportar o armazenamento e recuperação de dados XML

3 3 Enfoques para armazenar documentos XML em BDOR Usa visões XML como uma camada intermediária entre a aplicação e o banco de dados. Apropriado para documentos data-centric (dados estruturados). Armazena XML nativo em uma coluna de tabela relacional Apropriado para documentos document- centric (dados sem estrutura bem definida)

4 4 Aula de hoje Como criar visões XML de BDOR Oracle através do XSQL Pages Publishing Framework

5 5 O que é XSQL Pages ? XSQL Pages Publishing Framework é uma plataforma extensível que possibilita a publicação de visões XML de dados objeto-relacionais Combina o poder de SQL, XML e XSLT para publicar conteúdo Web dinâmico baseado nos dados armazenados num BD Gera XML a partir de consultas SQL Usando XSLT é possível transformar o documento XML gerado no formato desejado

6 6 O que é XSQL Pages? Também pode ser usado para carregar dados de um documento XML no BD Inserção, atualização e remoção Possibilidade de utilização com outros SGBDs que não o Oracle Padrão JDBC Multi-plataforma Java

7 7 Visão Geral de XSQL Passo1: A página XSQL é requisitada... Passo2: O documento XML é montado a partir do resultado de uma ou mais consultas SQL. Gera documento XML no formato canônico Passo3: Retorna o documento montado Opcionalmente transforma o documento XML montado num formato desejado usando XSLT HTML WML XML com formato arbitrário

8 8 Visão Geral do XSQL Pages Framework

9 9 Exemplo Tabela Livros Publicar os dados da Tabela Livros usando o XSQL Pages Framework

10 10 Exemplo Select isbn, titulo From Livros exemplo.xsql XSQL Page que retorna o isbn e o titulo de todos os livros

11 11 Resultado no Formato Canônico

12 12 Exemplo Usando XSLT é possível transformar o resultado num formato desejado Select isbn, titulo From Livros exemplo2.xsql

13 13 Exemplo livrohtml.xsl

14 14

15 15 XSQL Pages - Características Uma XSQL Page é um documento XML (.xsql) que contém Elementos estáticos Elementos de ação Consultas SQL embutidas Select col1, col2, col3 From Tabela

16 16 XSQL Pages - Características Arquivos.xsql devem iniciar com O elemento raiz deve conter os seguintes atributos: connection : nome de uma conexão pré-definida no arquivo de configuração do Processador XSQL xmls:xsql=urn:oracle-xsql : declaração do namespace xsql

17 17 Processador XSQL O processador XSQL interpreta, faz o caching e processa o conteúdo de páginas XSQL do servidor Pooling de conexões para BDs Caching de páginas.xsql Caching e pooling de folhas de estilo.xsl

18 18 Processador XSQL O processador XSQL pode ser acionado de 4 formas: A partir da linha de comando XSQL Command Line Utility Através da Web XSQL Servlet instalado no web server de uso Como parte de uma aplicação JSP Utilizando para inclusão de um template.xsql Através de programação Utilizando o objeto XSQLRequest (API Java)

19 19 Processador XSQL Arquitetura

20 20 Passos do Processador XSQL Recebe uma requisição para processar uma XSQL Page Monta um documento XML usando o resultado de uma ou mais consultas SQL. XML com formato canônico Retorna o documento montado Opcionalmente transforma o documento XML montado num formato desejado usando XSLT HTML WML XML com formato arbitrário

21 21 Configuração Básica do XSQL Os pacotes necessários oraclexsql.jar XSQL page processor xmlparserv2.jar XML Parser for Java v2 xsu12.jar Oracle XML SQL utility classes12.zip Oracle JDBC driver O servlet oracle.xml.xsql.XSQLServlet servlet interface Associar extensão.XSQL ao servlet Interface de programação oracle.xml.xsql.XSQLRequest interface de programação

22 22 Configuração Básica O arquivo XSQLConfig.xml scott tiger oracle.jdbc.driver.OracleDriver true system manager jdbc:Polite:POlite oracle.lite.poljdbc.POLJDBCDriver Exemplo de configuração de XSQLConfig.xml Adicionar esse arquivo ao CLASSPATH

23 23 Mapeamento Canônico O resultado da consulta é delimitado pelo elemento raiz..... Cada tupla do resultado é colocada em....., onde o atributo NUM é um identificador da tupla Valores de Atributos (relacional) são mapeados em valor_do_atributo, onde Name é o nome do atributo (coluna)

24 24 Mapeamento Canônico Exemplo : Select nome,idade From Pessoas Lineu Lima 24

25 25 Mapeamento Canônico Mapeamento de atributos cujo tipo é um TAD: Lineu Lima St. Dumont 6997 Exemplo: Select Nome, Endereco From Pessoas

26 26 Mapeamento Canônico Mapeamento de atributos do tipo coleção (Varray or Nested Table: Exemplo: Select nome, fones From Pessoas Lineu Lima

27 27 Usando o operador CURSOR para rowsets aninhadas O operador CURSOR permite selecionar uma rowset aninhada como uma coluna numa consulta SQL O operador CAST-MULTISET possui a mesma função, mas só é utilizado quando o tipo do rowset é previamente definido no banco de dados

28 28 Usando o operador CURSOR para rowsets aninhadas Select Nome, CAST(MULTISET (Select ddd,num From Telefones t Where t.pessoa=p.codigo) as fones_ty ) as Fones From Pessoas p

29 29 Usando o operador CURSOR para rowsets aninhadas Select Nome, Cursor (Select ddd,num From Telefones t Where t.pessoa=p.codigo) as Fones From Pessoas p

30 30 Usando o operador CURSOR para rowsets aninhadas Lineu Lima Alias obrigatório Select Nome, Cursor (Select ddd,num From Telefones t Where t.pessoa=p.codigo) as Fones From Pessoas p

31 31 XSQL Pages com Parâmetros Possibilita flexibilidade e resposta diferentes de acordo com parâmetros de entrada para a página XSQL Incluir sinal ? em qualquer local onde for legal o uso de variáveis de ligação no SQL Toda vez que for acionada a página, os valores de parâmetro são ligados às variáveis de ligação. A ligação é feita de forma posicional. Utilizar o atributo bind-params=par1 par2...

32 32 XSQL Pages com Parâmetros Tabela Pessoas Criar página XSQL para obter o nome e fone de uma pessoa dado o seu CPF.

33 33 XSQL Pages com Parâmetros SELECT nome, fones FROM pessoas WHERE cpf = ? XSQL Page que retorna o nome e fones de uma pessoa cujo CPF é passado como parâmetro.

34 34 XSQL Pages com Parâmetros

35 35 XSQL Pages com Parâmetros Substituição léxica Substituição léxica de parâmetros utiliza a seguinte sintaxe: Ex.:teste2.xsql SELECT * FROM pessoas WHERE cpf = Valor default

36 36 Ação Executa declarações SELECT do SQL Inclui o resultado XML canônico em uma página Requer conexão com o BD alvo Atributo connection="connname"

37 37 Ação SELECT cpf,nome FROM pessoas pessoas.xsql

38 38

39 39 Ação Se a consulta SQL não retorna tuplas, o documento XML retornado será:

40 40 Mapeamento Canônico Inverso O Documento XML que gera uma atualização no Banco de Dados deve seguir o formato canônico apresentado anteriormente Possui algumas restrições Atributos XML são ignorados Possui um único objeto alvo Tabela Relacional Tabela de Objeto Visões Elementos de ROW não necessitam aparecer na mesma ordem das colunas do objeto alvo

41 41 Mapeamento Canônico Inverso Dado o XML Canônico para atualizar o estado do banco de dados, o processador XSQL procede da seguinte forma : Recupera os metadados da tabela ou visão alvo para gerar o comando de atualização apropriado Extrai os dados do documento XML atribuindo-os às colunas/condições apropriadas Executa a operação de atualização Retorna um documento XML contendo o STATUS da execução da atualização

42 42 Exemplo – Tabela Pessoas Tabela Pessoas

43 43 Exemplo – Inserir Pessoa

44 44 Mapeamento Canônico Inverso Operações de DELETE ou UPDATE podem afetar mais que uma linha num objeto do banco de dados Essas operações precisam de um lista de colunas chave para XSQL poder construir uma cláusula WHERE no UPDATE/DELETE para identificar que objetos modificar/remover

45 45 Exemplo – Modifica Pessoa Modificar o nome da pessoa de CPF para Vania Vidal condição

46 46 Exemplo – Modifica Pessoa Modificar os telefones da pessoa de CPF condição

47 47 Exemplo – Remove Pessoa Remover a pessoa de nome Vania Vidal e CPF

48 48 Mapeamento Canônico Inverso Limitações Não possibilita atualizações em Nested Table Só permite condições que envolvem comparações de igualdade em operações UPDATE e DELETE Somente um único objeto pode ser atualizado

49 49 Principais Ações - Atualização Executa qualquer operação DML ou DDL, Insere dados numa tabela ou visão a partir de um documento XML Canônico Atualiza dados numa tabela ou visão a partir de um documento XML Canônico Remove dados numa tabela ou visão a partir de um documento XML Canônico

50 50 PERGUNTAS ?


Carregar ppt "Publicando Dados Relacionais e O-R como XML Vânia Vidal"

Apresentações semelhantes


Anúncios Google