XML, padrões,
armazenamento,
publicação e utilizações
Sistemas de Informação – Puc Minas
1
publicação e utilizações
Prof. ...
Agenda
Introdução
Critérios
Suporte dos SGBDs
Ferramentas de Armazenamento
2
Ferramentas de Armazenamento
Experimentos e A...
Introdução
pessoa
Pessoa
Nome
Introdução
XML : descreve a
representação
dos dados
3
nome
Árvore para Dados XML
Modelo de G...
XML
<pessoa>
Nome: Leonardo
E-mail: grandineti@hotmail.com
Mês aniversário: outubro. Hobbie: leitura.Mês aniversário: outu...
Introdução
Os subelementos podem ser aninhados de
forma hierárquica
Marcação destina-se a delimitar os códigos
necessários...
XML e Esquemas
DTD
XML Schema
Outros
6
XML Schema
<xs:complexType name="Endereço">
<xs:sequence>
<xs:element name="Rua-numero" type="xs:string"/>
<xs:element nam...
Introdução
<Imovel>
<Proprietario>..</Proprietario>
<Descricao>..</Descricao>
<Endereco>..</Endereco>...</Imovel>
8
Propri...
XML Schema Tipo complexo
<xs:complexType name="livro">
<xs:sequence>
<xs:element name="titulo" type="xs:string"/>
<xs:elem...
Introdução
Paralelamente à evolução do suporte dos
sistemas gerenciadores de bancos de
dados (SGBDs) comerciais no
armazen...
Introdução
O mapeamento da estrutura da árvore de
documentos XML para esquemas de
objetos fornece o suporte para algumas
a...
Introdução
Abordagens de Armazenamento de
documentos XML: técnicas genéricas,regras
fixas,linguagens de consulta, etc.
12
...
Introdução
Evolução do suporte dos sistemas
gerenciadores de bancos de dados (SGBDs)
comerciais no armazenamento de
docume...
Critérios
O mapeamento de elementos e atributos XML
para tabelas e colunas do banco de dados
O suporte para a modelagem do...
Critérios
A geração ou não de tabelas adicionais para
atributos do tipo composto e/ou coleções das
classes
A tradução de t...
SGBDs
Mapeamento de tipos de dados complexos
para o SGBD
Verificação dos relacionamentos
Documentos com conteúdo misto
Tip...
SGBD´s comerciais
Oracle 9i->versão 10g
SQL Server 2000->versão 2005
IBM DB2 v.8
17
IBM DB2 v.8
Oracle 9i
Possibilita o armazenamento do documento
utilizando um tipo especial do tipo CLOB,
chamado XMLType
Ferramenta XS...
Oracle 9i
Código Java...
Connection conn =
DriverManager.getConnection("jdbc:ora
19
DriverManager.getConnection("jdbc:ora
...
<?xml version="1.0"?>
Oracle 9i
Regras fixas de mapeamento. Alternativa:
utilização da XSLT mas é preciso
customização adi...
21
Oracle 9i
SQL Server 2000
Especificação do mapeamento da estrutura
do documento para o banco de dados
baseada na linguagem XDR (XML-...
SQL Server - mapeamento
<Imovel>
<Proprietario>..</Proprietario>
<Descricao>..</Descricao>
<Endereco>..</Endereco>...</Imo...
SQL Server 2000
VBScript:
Set objBL =
CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
objBL.ConnectionString = "provider=SQL...
SQL Server
25
SQL Server
IBM DB2 v.8
XML Extender para o gerenciamento de
documentos XML e dois modelos para o
armazenamento relacional dos documen...
IBM DB2 v.8
Possui suporte para uma API para permitir as
consultas(XQuery)
27
Os elementos são traduzidos para tabelas ou
...
Suporte dos SGBD´s
O armazenamento de documentos XML
comumente exige a especificação do
mapeamento da estrutura do documen...
Ferramentas
XML-DBMS
Altova XML Spy
Castor, Especificação JAXB, Outras
29
Castor, Especificação JAXB, Outras
Edição de doc...
XML-DBMS
É um conjunto de classes Java, desenvolvidas
por BOURRET, que permite transferências de
informações entre os docu...
XML-DBMS
As classes são traduzidas para tabelas, as
propriedades são mapeadas para colunas
e as referências para o relacio...
XML-DBMS
<!ELEMENT LIVRO (TITULO, CAPITULO+)>
<!ELEMENT TITULO (#PCDATA)>
<!ELEMENT CAPITULO (#PCDATA)>
CREATE TABLE "LIVR...
Altova XML Spy
Ambiente de desenvolvimento de
aplicações que permite manipular, editar,
projetar e transformar documentos ...
Altova XML Spy
O mapeamento de documentos XML é feito
para um modelo de objetos e uma interface
chamada XMLData possibilit...
35
Altova XML Spy
Altova XML Spy
CREATE TABLE [Teste].[dbo].[IMOVEL] (
[PROPRIETARIO] varchar (255) NOT NULL ,
[DESCRICAO] varchar (255) NOT...
JAXB
A arquitetura JAXB constitui uma
referência de implementação de um
padrão de mapeamento para classes Java
A especific...
JAXB
<xsd:schema
xmlns:xsd=http://www.w3.org/2001/XMLSchema xmln
s:jxb="http://java.sun.com/xml/ns/jaxb"
jxb:version="1.0"...
Castor
Framework para os objetos XML e o esquema
XML
39
Possui um conjunto de APIs que facilitam a
conversão entre objetos...
Análise
Suportam o mapeamento de tipos de
elementos complexos para classes e tipos
de elementos simples e atributos para
p...
Análise
Possuem limitação na geração do esquema
para o SGBD relacional, exigindo a
intervenção do projetista
Mapeamento do...
Análise
Geração de tabelas adicionais para
atributos do tipo composto e/ou coleções
das classes
Tradução de tipos de dados...
Análise
Especificação do XML Schema
Tipos de Dados
Especificação do mapeamento :
43
Especificação do mapeamento :
Ferramen...
Análise
A reconstrução do documento
Resumidamente, as classes são traduzidas
para tabelas, as propriedades são
mapeadas pa...
Análise
Limitações: cadeia de caracteres, geração do
script, reconstrução do documento,
especificação do XML Schema, diver...
Conclusões
Aninhamento dos elementos e ordem dos
elementos
Predominantemente relacional
Relacionamentos
46
Padronização: m...
Conclusões
A maior parte das ferramentas possui
uma ligação com os SGBDs e permite que
o armazenamento do documento XML
se...
Conclusões
Ferramentas: campos caractere 255 posições,
blob
Objetos
Intervenção do projetista
SGBDs:
48
SGBDs:
a dificulda...
Trabalhos Relacionados e
Futuros
Trabalhos Relacionados
Futuros
Análise das novas versões
Suporte nativo
49
Suporte nativo...
Dúvidas
50
Próximos SlideShares
Carregando em…5
×

Xml pucminas2013

408 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
408
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Xml pucminas2013

  1. 1. XML, padrões, armazenamento, publicação e utilizações Sistemas de Informação – Puc Minas 1 publicação e utilizações Prof. Leonardo Grandinetti Chaves, MSc, PMP SECOMP – PUC MINAS - 2013
  2. 2. Agenda Introdução Critérios Suporte dos SGBDs Ferramentas de Armazenamento 2 Ferramentas de Armazenamento Experimentos e Análise Conclusões Trabalhos relacionados
  3. 3. Introdução pessoa Pessoa Nome Introdução XML : descreve a representação dos dados 3 nome Árvore para Dados XML Modelo de Grafo Sem uma limitação de profundidade <pessoa> <nome>Leonardo</nome> <email>grandineti@hotmail.com</email> </pessoa>
  4. 4. XML <pessoa> Nome: Leonardo E-mail: grandineti@hotmail.com Mês aniversário: outubro. Hobbie: leitura.Mês aniversário: outubro. Hobbie: leitura. Estatura: mediana. </pessoa> 4
  5. 5. Introdução Os subelementos podem ser aninhados de forma hierárquica Marcação destina-se a delimitar os códigos necessários ao processamento do documento 5 necessários ao processamento do documento Documentos bem formados (sintaxe) e Documentos válidos (associados a gramáticas ou formalismos de esquemas)
  6. 6. XML e Esquemas DTD XML Schema Outros 6
  7. 7. XML Schema <xs:complexType name="Endereço"> <xs:sequence> <xs:element name="Rua-numero" type="xs:string"/> <xs:element name="Cidade" type="xs:string"/> <xs:element name="Estado" type="xs:string"/><xs:element name="Estado" type="xs:string"/> <xs:element name="Cep" type="xs:string"/> </xs:sequence> <xs:attribute name="tel contato" type="xs:string"/> </xs:complexType> 7
  8. 8. Introdução <Imovel> <Proprietario>..</Proprietario> <Descricao>..</Descricao> <Endereco>..</Endereco>...</Imovel> 8 Proprietario Descricao Endereco Esquemas XML: XML- Data, DCD, DDML, Relax NG, DTD, XML Schema, outros Tabela: Imovel
  9. 9. XML Schema Tipo complexo <xs:complexType name="livro"> <xs:sequence> <xs:element name="titulo" type="xs:string"/> <xs:element name="autor" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> 9 <xs:sequence> <xs:element name="nome" type="xs:string"/> <xs:element name="email" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:integer"/> </xs:complexType>
  10. 10. Introdução Paralelamente à evolução do suporte dos sistemas gerenciadores de bancos de dados (SGBDs) comerciais no armazenamento de documentos XML, observa-se a crescente utilização das ferramentas que traduzem esquemas XML 10 observa-se a crescente utilização das ferramentas que traduzem esquemas XML em classes das linguagens de programação orientadas a objetos DOM 3
  11. 11. Introdução O mapeamento da estrutura da árvore de documentos XML para esquemas de objetos fornece o suporte para algumas abordagens de armazenamento de documentos XMLdocumentos XML Data Binding : consiste basicamente em acoplar alguma linguagem de definição de esquemas para XML em uma linguagem tipada existente, traduzindo tipos de documentos em uma hierarquia de classes ou tipos de dado 11
  12. 12. Introdução Abordagens de Armazenamento de documentos XML: técnicas genéricas,regras fixas,linguagens de consulta, etc. 12 Divergências quanto ao modelo mais adequado para o armazenamento de documentos XML
  13. 13. Introdução Evolução do suporte dos sistemas gerenciadores de bancos de dados (SGBDs) comerciais no armazenamento de documentos XML 13 Crescente utilização das ferramentas que traduzem esquemas da XML em classes das linguagens de programação orientadas a objetos
  14. 14. Critérios O mapeamento de elementos e atributos XML para tabelas e colunas do banco de dados O suporte para a modelagem do esquema do banco de dados relacional 14 banco de dados relacional O mapeamento dos documentos XML para um modelo de objetos e o armazenamento em sistemas de bancos de dados relacionais
  15. 15. Critérios A geração ou não de tabelas adicionais para atributos do tipo composto e/ou coleções das classes A tradução de tipos de dados simples, incluindo as restrições 15 incluindo as restrições A limitação para o controle da ordem dos elementos do esquema do documento A especificação do XML Schema DTDs Tipos de dados XML mais utilizados Outros
  16. 16. SGBDs Mapeamento de tipos de dados complexos para o SGBD Verificação dos relacionamentos Documentos com conteúdo misto Tipos de elementos não contemplados Tipos de dados gerados na tradução para o SGBD 16
  17. 17. SGBD´s comerciais Oracle 9i->versão 10g SQL Server 2000->versão 2005 IBM DB2 v.8 17 IBM DB2 v.8
  18. 18. Oracle 9i Possibilita o armazenamento do documento utilizando um tipo especial do tipo CLOB, chamado XMLType Ferramenta XSU: armazenamento dos 18 Ferramenta XSU: armazenamento dos elementos e atributos por várias tabelas (com maior granularidade), mas não possibilita o armazenamento dos valores dos atributos, que exigem transformação
  19. 19. Oracle 9i Código Java... Connection conn = DriverManager.getConnection("jdbc:ora 19 DriverManager.getConnection("jdbc:ora cle:oci:@","hr","hr"); OracleXMLSave sav = new OracleXMLSave(conn, "employees"); sav.insertXML(sav.getURL(argv[0]));
  20. 20. <?xml version="1.0"?> Oracle 9i Regras fixas de mapeamento. Alternativa: utilização da XSLT mas é preciso customização adicional 20 <?xml version="1.0"?> <ROWSET> <ROW num="1"> <PROPRIET>JOSE</PROPRIET> <DESC>APTO</DESC> <CONT>JOAO</CONT> <LOCAL>CONTORNO</LOCAL> </ROW> </ROWSET> PROPRIET DESC CONT LOCAL JOSE APTO JOAO CONTORNO java OracleXML putXML -user "scott/tiger" -fileName “imovel.xml" “imovel"
  21. 21. 21 Oracle 9i
  22. 22. SQL Server 2000 Especificação do mapeamento da estrutura do documento para o banco de dados baseada na linguagem XDR (XML-Data Reduced Schema) 22 Alguns atributos são usados para declarar uma tabela e uma coluna e o relacionamento entre duas tabelas no esquema do banco de dados Xpath, Utilitário XML Bulk Load
  23. 23. SQL Server - mapeamento <Imovel> <Proprietario>..</Proprietario> <Descricao>..</Descricao> <Endereco>..</Endereco>...</Imovel> 23 <ElementType name="Imovel" sql:relation="Imovel"> <element type="Proprietario" sql:field="Proprietario" /> <element type="Descricao" sql:field="Descricao" /> <element type="Endereco" sql:field="Endereco" /> ... </ElementType>
  24. 24. SQL Server 2000 VBScript: Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad") objBL.ConnectionString = "provider=SQLOLEDB.1;data source=MeuServidor;database=MeuBD;uid=usuario;pwd=senha" objBL.ErrorLogFile = "c:erro.log" 24 objBL.ErrorLogFile = "c:erro.log" objBL.Execute "c:mapaImovel.xml", "c:imovel.xml“ Criação das tabelas de forma automática: ... objBL.CheckConstraints=true objBL.XMLFragment = True objBL.SchemaGen = True objBL.SGDropTables = True...
  25. 25. SQL Server 25 SQL Server
  26. 26. IBM DB2 v.8 XML Extender para o gerenciamento de documentos XML e dois modelos para o armazenamento relacional dos documentos: XML Column e XML Collection 26 Possui uma linguagem de especificação do mapeamento da estrutura do documento para o esquema do banco de dados chamada DAD (Data Access Definition)
  27. 27. IBM DB2 v.8 Possui suporte para uma API para permitir as consultas(XQuery) 27 Os elementos são traduzidos para tabelas ou colunas do banco de dados, os atributos são mapeados para colunas e os relacionamentos entre os elementos XML são mapeados para os relacionamentos entre as chaves primárias/estrangeiras das tabelas do banco de dados
  28. 28. Suporte dos SGBD´s O armazenamento de documentos XML comumente exige a especificação do mapeamento da estrutura do documento para 28 mapeamento da estrutura do documento para o esquema do banco de dados Proprietárias, limitadas para o mapeamento das estruturas dos documentos XML e encontram-se embutidas no SGBD Intervencão do projetista
  29. 29. Ferramentas XML-DBMS Altova XML Spy Castor, Especificação JAXB, Outras 29 Castor, Especificação JAXB, Outras Edição de documentos XML
  30. 30. XML-DBMS É um conjunto de classes Java, desenvolvidas por BOURRET, que permite transferências de informações entre os documentos XML e os 30 informações entre os documentos XML e os SGBD´s O conjunto de classes traduz o documento como uma árvore de objetos e utiliza um mapeamento objeto-relacional para mapear esses objetos para um esquema de banco de dados relacional
  31. 31. XML-DBMS As classes são traduzidas para tabelas, as propriedades são mapeadas para colunas e as referências para o relacionamento chave primária/chave estrangeira(DOM) 31 Gera a definição do esquema apenas para bancos de dados relacionais Inexistência de uma interface para a manutenção do documento de mapeamento
  32. 32. XML-DBMS <!ELEMENT LIVRO (TITULO, CAPITULO+)> <!ELEMENT TITULO (#PCDATA)> <!ELEMENT CAPITULO (#PCDATA)> CREATE TABLE "LIVRO" ("TITULO" VARCHAR(255) NOT NULL, 32 NULL, "LIVROPK" INTEGER NOT NULL, CONSTRAINT PrimaryKey PRIMARY KEY ("LIVROPK")); CREATE TABLE "CAPITULO" ( "CAPITULOPK" INTEGER NOT NULL, "LIVROFK" INTEGER NOT NULL, "CAPITULO" VARCHAR(255) NOT NULL, CONSTRAINT PrimaryKey PRIMARY KEY ("CAPITULOPK"), CONSTRAINT LIVROFK FOREIGN KEY ("LIVROFK") REFERENCES "LIVRO" ("LIVROPK"));
  33. 33. Altova XML Spy Ambiente de desenvolvimento de aplicações que permite manipular, editar, projetar e transformar documentos XML com o suporte a XML Schema, DTD, XLST e possui compatibilidade com padrões da 33 e possui compatibilidade com padrões da indústria e os inúmeros SGBDs relacionais e XML nativo
  34. 34. Altova XML Spy O mapeamento de documentos XML é feito para um modelo de objetos e uma interface chamada XMLData possibilita a tradução do formato DOM 34 Os processos de importação, exportação e geração do esquema dos dados do documento XML para os sistemas de bancos de dados relacionais são feitos através dos métodos de um objeto chamado Application (aplicação), definido por esse modelo
  35. 35. 35 Altova XML Spy
  36. 36. Altova XML Spy CREATE TABLE [Teste].[dbo].[IMOVEL] ( [PROPRIETARIO] varchar (255) NOT NULL , [DESCRICAO] varchar (255) NOT NULL , [TIPO] varchar (255) NOT NULL , 36 [TIPO] varchar (255) NOT NULL , [ENDERECO] varchar (255) NOT NULL , [CONTATO] varchar (255) NOT NULL , [VALORMAXIMO] varchar (255) NOT NULL , [VALORMINIMO] varchar (255) NOT NULL );
  37. 37. JAXB A arquitetura JAXB constitui uma referência de implementação de um padrão de mapeamento para classes Java A especificação define um conjunto de 37 A especificação define um conjunto de regras-padrão para o mapeamento Tipos: java.lang.string, etc.
  38. 38. JAXB <xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema xmln s:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="1.0"> <xsd:annotation> <xsd:documentation> 38 <xsd:documentation> Declaração das regras globais do documento </xsd:documentation> <xsd:appinfo> <jxb:globalBindings ...="java.util.date" --------------------- </jxb:globalBindings> </xsd:appinfo> </xsd:annotation>
  39. 39. Castor Framework para os objetos XML e o esquema XML 39 Possui um conjunto de APIs que facilitam a conversão entre objetos Java e os arquivos XML Similarmente à ferramenta XML-DBMS, é possível especificar e combinar o mapeamento de objetos em arquivos externos
  40. 40. Análise Suportam o mapeamento de tipos de elementos complexos para classes e tipos de elementos simples e atributos para propriedades 40 Ferramentas que utilizam esse mapeamento classificam, de forma bastante simplificada, os tipos de elementos em classes ou propriedades da classe.
  41. 41. Análise Possuem limitação na geração do esquema para o SGBD relacional, exigindo a intervenção do projetista Mapeamento dos esquemas dos documentos 41 Mapeamento dos esquemas dos documentos para o SGBD relacional Determinação dos relacionamentos entre as tabelas geradas para o SGBD relacional
  42. 42. Análise Geração de tabelas adicionais para atributos do tipo composto e/ou coleções das classes Tradução de tipos de dados simples, 42 Tradução de tipos de dados simples, incluindo as restrições Limitação para o controle da ordem dos elementos do esquema do documento, dentre outros
  43. 43. Análise Especificação do XML Schema Tipos de Dados Especificação do mapeamento : 43 Especificação do mapeamento : Ferramentas SGBDs
  44. 44. Análise A reconstrução do documento Resumidamente, as classes são traduzidas para tabelas, as propriedades são mapeadas para colunas e as referências são 44 mapeadas para colunas e as referências são mapeadas para o relacionamento chave primária/chave estrangeira Possibilidade de alteração do resultado do mapeamento e a utilização do formato DOM
  45. 45. Análise Limitações: cadeia de caracteres, geração do script, reconstrução do documento, especificação do XML Schema, diversas linguagens para a especificação do mapeamento, tabelas /colunas, campos do tipo 45 mapeamento, tabelas /colunas, campos do tipo BLOB, suporte builtin dos SGBDs, regras fixas Limitações na geração do esquema e armazenamento Necessidade de customização e Intervenção do projetista
  46. 46. Conclusões Aninhamento dos elementos e ordem dos elementos Predominantemente relacional Relacionamentos 46 Padronização: modelo OR
  47. 47. Conclusões A maior parte das ferramentas possui uma ligação com os SGBDs e permite que o armazenamento do documento XML seja customizado, desde que se utilize uma codificação adicional específica 47 uma codificação adicional específica DOM
  48. 48. Conclusões Ferramentas: campos caractere 255 posições, blob Objetos Intervenção do projetista SGBDs: 48 SGBDs: a dificuldade de padronização; necessidade de pré-especificação do modelo de armazenamento dos documentos; a complexidade da especificação do esquema XML; Regras fixas: predominantemente relacional (BLOB).
  49. 49. Trabalhos Relacionados e Futuros Trabalhos Relacionados Futuros Análise das novas versões Suporte nativo 49 Suporte nativo SGBDs gratuitos XQuery Framework
  50. 50. Dúvidas 50

×