View
251
Download
0
Category
Preview:
DESCRIPTION
Citation preview
04/10/23Version 1.1
DB2 pureXML:Entendendo e aplicando
Autores:Juliano Marcos Martins julianom@br.ibm.comAlex Sandro R. de Souza Poletto apoletto@femanet.com.br
2 de 23 DB2 pureXML – Entendendo e aplicando
Agenda
• Quem sou eu• Justificativa• XML• Interação entre sistemas• SOA• XML e Banco de dados• DB2 pureXML• Entendendo e aplicando• Conclusão• Referencias
3 de 23 DB2 pureXML – Entendendo e aplicando
Quem sou eu
Juliano Marcos MartinsIBM Advisory IT Specialist
Embaixador Acadêmico IBM
DB2 8.2 Fundamentals Certified
Especializando em Arquitetura de integração de sistemas
4 de 23 DB2 pureXML – Entendendo e aplicando
Justificativa
Demanda por integração de sistemas
Demanda para otimização na integração de sistemas ou serviços
Falta mão de obra qualificada
Escassez de documentação em português
5 de 23 DB2 pureXML – Entendendo e aplicando
Dificuldade de encontrar profissionaisEasy to find:Business Analyst DBA Oracle UNIXDEV C/C++ (w DB any)DEV C/C++ (w/o DB)DEV Java (Basic) with
any DBDEV Java Full Set with
any DBDEV Microsoft
environmentProject ManagerTester (Basic)
ESTIMATED AVERAGE LEAD TIME : 2 WEEKS
Moderate to find: Business Analyst special requirementsDEV ExcelDEV MVS, DB2, COBOL, JCLProject AdministratorProject Manager special requirementsSecond Level Support
ESTIMATED AVERAGE LEAD TIME: 3 WEEKS
Difficult to find:BI / DW / OLAPDBA Oracle AIXDBA Oracle MVSDEV C/C++ (w DB DB2)DEV DB2DEV Java (Basic) with DB2DEV Lotus 123DEV NotesDEV SiebelDEV WASSAP FunctionalTester (winnrunner)DEV DB2 special requirementsDEV Excel special requirementsDEV MVS, DB2, PL/1, JCLProject Administrator special requirements
ESTIMATED AVERAGE LEAD TIME: 4 – 5 WEEKS
HOT SKILLS: DBA DB2 UNIXDEV Java Full set with DB2DEV Lotus 123 special requirementsDEV Notes special requirementsDEV WAS PortalOperational WAS Portal special requerimentsSAP ABAPSecond Level Support special requirementsDBA DB2 AIXDBA DB2 MVSDEV AssemblerDEV MVS / REXXDEV VM / REXXTester (loadrunner)
ESTIMATED AVERAGE LEAD TIME: 6 – 8 WEEKS
* The difficulty level depends on customer acceptance of training / skills ramp-up plans or premium rates acceptance for experienced resources;
* The average lead time numbers are just estimates and depends on demand volumes;
6 de 23 DB2 pureXML – Entendendo e aplicando
Integração entre sistemas
• O ambiente corporativo atualmente está dividido em dois tipos de corporações: 1- as que demandam que as aplicações interajam entre si cada vez mais;2- e as que já têm esse ambiente de interação implementado
• Integração é feita através de XML na maioria dos casos.
7 de 23 DB2 pureXML – Entendendo e aplicando
SOA
8 de 23 DB2 pureXML – Entendendo e aplicando
XML – eXtensible Markup Language
• Derivada da linguagem Standard Generalized Markup Language
• Provê um formato para descrever dados estruturados• Especificação técnica desenvolvida pela W3C (World
Wide Web Consortium)
<?xml version="1.0" encoding="UTF-8"?><curriculo>
<InformacaoPessoal> <DataNascimento>23-07-68</DataNascimento><Nomecompleto>Fulano de Tal</Nomecompleto><Contatos>
<Morada>Rua Asfaltada, 572,Bairro do Limoeiro, SP, SP, Brasil</Morada><Telefone>97446182</Telefone><CorreioEletronico>fulano@gmail</CorreioEletronico>
</Contatos><Nacionalidade>brasileiro</Nacionalidade><Sexo>M</Sexo>
</InformacaoPessoal><objetivo>Atuar area de TI</objetivo><Experiencia>
<Cargo>Suporte tecnico</Cargo><Empregador>Thechnikos, Av.Nossa Sra. do Carmo, 1191 Belo Horizonte, Brasil</Empregador>
</Experiencia><Formacao>Superior Completo</Formacao>
</curriculo>
9 de 23 DB2 pureXML – Entendendo e aplicando
O uso do XML na integração• XML é multi-plataforma, não depende de um determinado sistema operacional, bem como da arquitetura, utilizando
um servidor de aplicação específico. XML é suportado por todos os softwares e hardwares do mercado;• XML é independente de fornecedor, não existe um fornecedor do padrão XML;• Pode ser convertido facilmente para outros formatos, por exemplo, XLS e HTML. • Manipulação no sistema de arquivos
– Escalabilidade– Concorrência– Recuperação– Segurança– Usabilidade
• Por que não utilizar um banco de dados?
10 de 23 DB2 pureXML – Entendendo e aplicando
XML e banco de dados
• Armazenamento de documentos XML em objetos• Divisão ou decomposição de dados XML• Banco de dados XML
11 de 23 DB2 pureXML – Entendendo e aplicando
DB2 pureXML
• Banco de dados híbrido
• XML é um tipo de dados
12 de 23 DB2 pureXML – Entendendo e aplicando
Trabalhando no DB2
13 de 23 DB2 pureXML – Entendendo e aplicando
Criação do banco de dados
• create database test using codeset UTF-8 territory BR
14 de 23 DB2 pureXML – Entendendo e aplicando
Criação de tabelas
connect to test;create table itens(
codigo int primary key not null,nome varchar(30),comentarios xml
);create table clientes(
codigo int primary key not null,nome varchar(50),
cidade varchar(50),contatos xml
);
15 de 23 DB2 pureXML – Entendendo e aplicando
Povoando as tabelas
• Através da instrução insert
• Através do utilitário import
16 de 23 DB2 pureXML – Entendendo e aplicando
Povoando as tabelas - insert
• insert into clientes values (1, 'João da Silva', 'São Paulo', '<addr>Rua Vergueiro 79, 39508000, Paraíso</addr>')
17 de 23 DB2 pureXML – Entendendo e aplicando
Povoando as tabelas - import
• Arquivo .del• Documentos .xml a serem importados• IMPORT FROM "C:\arquivos\clientes.del" OF DEL
INSERT INTO CLIENTES; 4,"Marcos Pereira","Tarumã","<XDS FIL=""marcos.xml""/>"5,"José Damico","São Paulo","<XDS FIL=""damico.xml""/>"6,"Argemiro Lima","Rio de Janeiro","<XDS FIL=""lima.xml""/>"7,"Walter Casagrande","São Paulo","<XDS FIL=""casa.xml""/>"8,"Maria Lima","Hortolandia","<XDS FIL=""maria.xml""/>"9,"Benedita Pereira","Rio de Janeiro","<XDS FIL=""bene.xml""/>
<?xml version="1.0"?><Cliente> <Endereco>
<rua>Rua do Mar 154</rua> <cidade>Rio de Janeiro</cidade>
<estado>RJ</estado> <cep>8888888</cep>
</Endereco> <telefones> <comercial>553133457898</comercial> <residencial>553133454444</residencial> <celular>553197054849</celular> </telefones></Cliente>
8,"Maria Lima","Hortolandia",
18 de 23 DB2 pureXML – Entendendo e aplicando
Recuperando informações - select• select * from clientes;
• select nome from clientes where xmlexists('$c/Cliente/Endereco[estado="RJ"]'passing clientes.contatos as "c");
• select xmlquery('$c/Cliente/telefones' passing contatos as "c") from clientes where codigo = 8;
• select xmlquery('$c/Cliente/telefones/residencial[1]' passing contatos as "c") from clientes where codigo = 8;
• select xmlquery('$c/Cliente/email' passing contatos as "c") from clientes where xmlexist('$c/Cliente/email' passing contatos as "c");
• select xmlelement (name "item", xmlelement (name "codigo",codigo), xmlelement (name "nome", nome)) from itens;
19 de 23 DB2 pureXML – Entendendo e aplicando
Alterando dados - update• update clientes set contatos=
(xmlparse(document '<Cliente> <Endereco>
<rua>Rua dos Pássaros 154</rua> <cidade>Sao Paulo</cidade>
<estado>SP</estado> <cep>888888888</cep>
</Endereco> <telefones> <comercial>551833457898</comercial> <residencial>551833454444</residencial>
<celular>551897054849</celular> </telefones> <email>email@email.com.br</email></Cliente>' ) )where codigo = 4;
• Stored procedure - DB2XMLFUNCTIONS.XMLUPDATE
20 de 23 DB2 pureXML – Entendendo e aplicando
Excluindo dados - delete
• delete from clientes where código = 1; • delete from clientes where xmlexists('$c/Clientes/endereco[estado="RJ"]' passing clientes.contatos as "c");
21 de 23 DB2 pureXML – Entendendo e aplicando
Conclusões
Demanda para o armazenamento de informações XML aumentando.
Armazenamento e manipulação de tais documentos em banco de dados é a solução definitiva.
É muito importante que programadores e Administradores de Banco de Dados(DBAs) estejam familiarizados com as formas disponíveis para se trabalhar com XML em banco de dados.
O artigo apresenta de forma prática e sucinta os conceitos e aplicação dos mesmos, podendo servir de material de consulta.
Importante buscar mais informações nas referências citadas,Livro DB2 PureXML.
A linguagem XQuery tem inúmeras funções não cobertasneste artigo, tais como “for”, “let”, “order by” e “return”.
22 de 23 DB2 pureXML – Entendendo e aplicando
Referencias
• W3C - XQuery– http://www.w3.org/XML/Query
• Developer Works– http://www.ibm.com/developerworks
• Site DB2– http://www.ibm.com/db2
• Grupo de discussão FEMA:– http://br.groups.yahoo.com/group/informatica_fema/
• Meu blog– http://jmmwrite.blogspot.com/
23 de 23 DB2 pureXML – Entendendo e aplicando
Perguntas (?)
Obrigado!
Juliano Marcos Martins julianom@br.ibm.com
Recommended