Sei sulla pagina 1di 23

DB2 pureXML: Entendendo e aplicando

Autores: Juliano Marcos Martins Alex Sandro R. de Souza Poletto julianom@br.ibm.com apoletto@femanet.com.br

Version 1.1

Agenda Quem sou eu Justificativa XML Interao entre sistemas SOA XML e Banco de dados DB2 pureXML Entendendo e aplicando Concluso Referencias
2 de 23 DB2 pureXML Entendendo e aplicando

Quem sou eu
Juliano Marcos Martins
IBM Advisory IT Specialist Embaixador Acadmico IBM DB2 8.2 Fundamentals Certified Especializando em Arquitetura de integrao de sistemas

3 de 23

DB2 pureXML Entendendo e aplicando

Justificativa
Demanda por integrao de sistemas Demanda para otimizao na integrao de sistemas ou servios Falta mo de obra qualificada Escassez de documentao em portugus

4 de 23

DB2 pureXML Entendendo e aplicando

Dificuldade de encontrar profissionais


Easy to find:
Business Analyst DBA Oracle UNIX DEV C/C++ (w DB any) DEV C/C++ (w/o DB) DEV Java (Basic) with any DB DEV Java Full Set with any DB DEV Microsoft environment Project Manager Tester (Basic)

Moderate to find:
Business Analyst special requirements DEV Excel DEV MVS, DB2, COBOL, JCL Project Administrator Project Manager special requirements Second Level Support

Difficult to find:
BI / DW / OLAP DBA Oracle AIX DBA Oracle MVS DEV C/C++ (w DB DB2) DEV DB2 DEV Java (Basic) with DB2 DEV Lotus 123 DEV Notes DEV Siebel DEV WAS SAP Functional Tester (winnrunner) DEV DB2 special requirements DEV Excel special requirements DEV MVS, DB2, PL/1, JCL Project Administrator special requirements ESTIMATED AVERAGE LEAD TIME: 4 5 WEEKS

HOT SKILLS:
DBA DB2 UNIX DEV Java Full set with DB2 DEV Lotus 123 special requirements DEV Notes special requirements DEV WAS Portal Operational WAS Portal special requeriments SAP ABAP Second Level Support special requirements DBA DB2 AIX DBA DB2 MVS DEV Assembler DEV MVS / REXX DEV VM / REXX Tester (loadrunner)

ESTIMATED AVERAGE LEAD TIME : 2 WEEKS

ESTIMATED AVERAGE LEAD TIME: 3 WEEKS

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;
5 de 23 DB2 pureXML Entendendo e aplicando

Integrao entre sistemas


O ambiente corporativo atualmente est dividido em dois tipos de corporaes:
1- as que demandam que as aplicaes interajam entre si cada vez mais; 2- e as que j tm esse ambiente de interao implementado

Integrao feita atravs de XML na maioria dos casos.

6 de 23

DB2 pureXML Entendendo e aplicando

SOA

7 de 23

DB2 pureXML Entendendo e aplicando

XML eXtensible Markup Language Derivada da linguagem Standard Generalized Markup Language <?xml version="1.0" encoding="UTF-8"?> Prov um formato para descrever dados <curriculo> <InformacaoPessoal> estruturados <DataNascimento>23-07-68</DataNascimento> <Nomecompleto>Fulano Tal</Nomecompleto> Especificao tcnica desenvolvidadepela W3C SP, <Contatos> <Morada>Rua Asfaltada, 572,Bairro do Limoeiro, SP, Brasil</Morada> (World Wide Web Consortium) <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>

8 de 23

DB2 pureXML Entendendo e aplicando

O uso do XML na integrao


XML multi-plataforma, no depende de um determinado sistema operacional, bem como da arquitetura, utilizando um servidor de aplicao especfico. XML suportado por todos os softwares e hardwares do mercado; XML independente de fornecedor, no existe um fornecedor do padro XML; Pode ser convertido facilmente para outros formatos, por exemplo, XLS e HTML. Manipulao no sistema de arquivos Escalabilidade Concorrncia Recuperao Segurana Usabilidade Por que no utilizar um banco de dados?

9 de 23

DB2 pureXML Entendendo e aplicando

XML e banco de dados

Armazenamento de documentos XML em objetos Diviso ou decomposio de dados XML Banco de dados XML

10 de 23

DB2 pureXML Entendendo e aplicando

DB2 pureXML

Banco de dados hbrido XML um tipo de dados

11 de 23

DB2 pureXML Entendendo e aplicando

Trabalhando no DB2

12 de 23

DB2 pureXML Entendendo e aplicando

Criao do banco de dados


create database test using codeset UTF-8 territory BR

13 de 23

DB2 pureXML Entendendo e aplicando

Criao 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 );
14 de 23 DB2 pureXML Entendendo e aplicando

Povoando as tabelas

Atravs da instruo insert Atravs do utilitrio import

15 de 23

DB2 pureXML Entendendo e aplicando

Povoando as tabelas - insert

insert into clientes values (1, 'Joo da Silva', 'So Paulo', '<addr>Rua Vergueiro 79, 39508000, Paraso</addr>')

16 de 23

DB2 pureXML Entendendo e aplicando

Povoando as tabelas - import Arquivo .del Documentos .xml a serem importados IMPORT<?xml version="1.0"?> FROM "C:\arquivos\clientes.del" OF DEL <Cliente> <Endereco> INSERT INTO CLIENTES;

<rua>Rua do Mar 154</rua> <cidade>Rio de Janeiro</cidade> 4,"Marcos Pereira","Tarum","<XDS FIL=""marcos.xml""/>" <estado>RJ</estado> 5,"Jos Damico","So Paulo","<XDS FIL=""damico.xml""/>" <cep>8888888</cep> 6,"Argemiro Lima","Rio de Janeiro","<XDS FIL=""lima.xml""/>" </Endereco> 7,"Walter Casagrande","So Paulo","<XDS FIL=""casa.xml""/>" <telefones> 8,"Maria Lima","Hortolandia","<XDS FIL=""maria.xml""/>" <comercial>553133457898</comercial> 9,"Benedita Pereira","Rio de Janeiro","<XDS FIL=""bene.xml""/> <residencial>553133454444</residencial> <celular>553197054849</celular> </telefones> 8,"Maria Lima","Hortolandia", </Cliente>
17 de 23 DB2 pureXML Entendendo e aplicando

Recuperando informaes - 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;

18 de 23

DB2 pureXML Entendendo e aplicando

Alterando dados - update


update clientes set contatos= (xmlparse(document '<Cliente> <Endereco> <rua>Rua dos Pssaros 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

19 de 23

DB2 pureXML Entendendo e aplicando

Excluindo dados - delete delete from clientes where cdigo = 1; delete from clientes where xmlexists('$c/Clientes/endereco[estado="RJ"]' passing clientes.contatos as "c");

20 de 23

DB2 pureXML Entendendo e aplicando

Concluses
Demanda para o armazenamento de informaes XML aumentando. Armazenamento e manipulao de tais documentos em banco de dados a soluo definitiva. muito importante que programadores e Administradores de Banco de Dados(DBAs) estejam familiarizados com as formas disponveis para se trabalhar com XML em banco de dados. O artigo apresenta de forma prtica e sucinta os conceitos e aplicao dos mesmos, podendo servir de material de consulta. Importante buscar mais informaes nas referncias citadas, Livro DB2 PureXML. A linguagem XQuery tem inmeras funes no cobertas neste artigo, tais como for, let, order by e return.
21 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 discusso FEMA: http://br.groups.yahoo.com/group/informatica_fema/ Meu blog http://jmmwrite.blogspot.com/

22 de 23

DB2 pureXML Entendendo e aplicando

Perguntas (?)

Obrigado!
Juliano Marcos Martins
23 de 23 DB2 pureXML Entendendo e aplicando

julianom@br.ibm.com

Potrebbero piacerti anche