Skip Navigation Links



Translate this page now :



»Programação
»Programação.NET
»Banco de Dados
»Webdesign
»Office
» Certificações Microsoft 4
»Treinamentos4
»Programação 4
»Webdesign«
»Office & User Tips«
»Grupos de UsuĆ”rios
»CĆ©lulas AcadĆŖmicas«
intcontpiada : 118
O melhor teclado da microsoft
Você já está cadastrado e participa do grupo de usuários de sua cidade ? Se não, comente o porque.
 
 
FaƧa um pequeno teste com 10 questƵes de VB
.:.
Teste seus conhecimentos em Visual Basic, SQL Server e ASP 3.0 com nossas provas on-line
.:.
Aprimore seus conhecimentos em programaĆ§Ć£o com nosso treinamento on-line de lĆ³gica de programaĆ§Ć£o
.:.
Veja nosso calendƔrio de treinamentos
Gostou da PƔgina?
Então

para um amigo!

Pesquisa personalizada
Pesquisar Dicas:

 






O que é XML ?

Quando foram criados a Web e o HTML tinham a intenção de servir para publicação de informações. Publicação de textos em si. Por isso o HTML é tão voltado para o layout de um texto e realização de links através dos textos.

Porém a web hoje é extremamente voltada para gerenciamento de informações. Serviços on-line fornecem e captam informações, tal como uma consulta de cep on-line e uma loja virtual, por exemplo.

Os casos mais básicos são resolvidos apenas com HTML, ASP e uso de componetes, porém são cada vez mais comuns casos complexos em que apenas isso não basta.


Exemplo 1 :

Por exemplo, digamos que um desenvolvedor precise fazer uma consulta de cep em uma base de 100.000 registros. Ora, a consulta de cep já existe no site dos correios, ele não poderia aproveita-la ?

Hoje : Se o desenvolvedor deseja aproveitar-se da consulta de cep's ele teria que entrar no site dos correios, identificar a sequencia de páginas até atingir a consulta de cep's. Olhar o fonte destas páginas para identificar qual página ASP é chamada e quais informações são passadas a ela e reproduzir essa chamada em VB.

Tendo reproduzido a chamada em VB, a resposta recebida é em HTML. Desta forma o desenvolvedor precisa tratar a resposta recebida para conseguir encontrar dentro do HTML os dados que ele precisa.

A aplicação teria um funcionamento extremamente frágil : Se o correio mudasse sua sequencia de páginas ou o design de sua página a aplicação pararia de funcionar, pois está toda baseada na montagem do HTML.

Com XML : O próprio correio poderia divulgar uma página ASP que, ao ser chamada com determinados parâmetros, devolve-se um XML de resposta para o client. O XML possui um formato voltado a especificação de dados, por isso diversos fabricantes (inclusive Microsoft e Sun) possuem parsers de XML : objetos que podem ser usados em código de programação e são capazes de abrir um documento XML, identificar os dados no documento e expor tais dados para o programador sem grande esforço.


A idéia do XML (e que já está MUITO avançada, podería-se dizer quase irreversível) é se transformar em uma linguagem padrão para troca de informações. Duas empresas, por exemplo, quando desejarem fazer troca de informações podem fazer a troca em formato XML. Todo tipo de aplicação está sendo compatibilizada com o formato XML : O Office já tem suporte a XML, o SQL Server gera dados em XML a partir de querys, os recordsets do ADO lêem e gravam XML.

O XML tem uma grande diferença para outras linguagens : Ele não tem um conjunto de instruções (tags) definidas, as instruções podem ser criadas por qualquer um.

Assim sendo, duas farmácias podem criar em XML um padrão para a sua transmissão de dados. Quando a transmissão for realizada podem ser usados recursos do próprio XML para validar se um determinado arquivo está escrito corretamente (no novo padrão definido pelas duas farmácias) ou não.

Muitos recursos surgirão sobre a linguagem XML. No que se refere a Web, no tipo de exemplo mostrado logo acima, foi definido um padrão chamado WebServices : Esse padrão define de que forma um site deve anunciar os dados que possui e fornece-los, tudo feito com XML.

O 1o exemplo feito com WebServices ficaria ainda mais fácil : Ao invés de disparar uma página ASP o programador precisaria apenas apontar para o site usando um objeto adequado para isso. O objeto consultaria uma lista de serviços disponíveis naquele site e traria de volta a definição de tais serviços. Feito isso o programador realizaria a consulta de Cep's como se esta fosse um método do objeto que ele está usando, sem ter que se preocupar com como a transmissão está sendo feita (e ela está sendo feita em um padrão feito sobre o XML, que é chamado de SOAP).

Veja alguns exemplos de informações que poderiam ser obtidas através de XML/WEBSERVICES/Soap :

  • A companhia telefônica poderia fornecer consultas telefone/nome/endereço
  • A receita federal poderia fornecer consultas cpf/nome/situação
  • O site da Molicar (http://www.molicar.com.br) poderia fornecer consultas por valores de mercado de automóveis.
  • O site dos correios (como visto no exemplo) poderia fornecer consultas cep/endereço
  • O serasa poderia fornecer consultas na forma de webservices
  • O SPC poderia fornecer consultas na forma de webservices

Observe que serviços que hoje são vendidos como bases de dados ou aplicativos que o usuário precisa instalar em sua máquina podem passar a ser alugados pela Web e a cobrança passar a ser feita por uso do serviço.

Vejamos um pequeno exemplo em VB da obtenção e tratamento de um XML de um site. Primeiramente precisamos de uma página ASP que devolva os dados em XML :


<%
response.contenttype="text/xml"
dim cn,rs

set cn=createobject("adodb.connection")
set rs=createobject("adodb.recordset")

cn.open MM_CNDicas_STRING
rs.open "select * from products",cn

response.write("<produtos>")

while not rs.eof
response.write("<produto>")
response.write("<ID>")
response.write(rs.fields("productid").value)
response.write("</ID>")
response.write("<produto>")
response.write(server.htmlencode(rs.fields("productname").value))
response.write("</produto>")
response.write("<preco>")
response.write(rs.fields("unitprice").value)
response.write("</preco>")
response.write("</produto>")
rs.movenext
wend

response.write("</produtos>")

%>

Observe a forma como são criadas tags para especificar a informação que será transmitida. Como mencionamos, o XML permite a criação de tags. Vamos salvar essa página como produtos.asp. Browsers acima da versão 5 são capazes de exibir os dados em XML, portanto poderá testar a página, bastando coloca-la em um servidor local.

Agora precisamos criar um código em VB para obter esses dados da página. Vamos supor que temos um form com uma listbox e um botão. O carregamento do documento XML ocorre assincronamente. O objeto DOMDocument possui uma propriedade chamada readystate que nos indica como está indo o carregamento e um evento ReadyStateChange que ocorre sempre que a propriedade ReadyState muda de valor. Desta forma, para podermos identificar o carregamento do documento precisaremos utilizar "WithEvents". Veja :

Dim WithEvents x as DOMDocument

Private Sub Command1_Click()
Dim x As New DOMDocument
Dim a as integer


x.Load "http://localhost/atualizadicas.asp"

End Sub

Private Sub x_onreadystatechange()
Dim a As Integer
If x.readyState = 4 Then
list1.clear

For a = 0 To x.documentElement.childNodes.length - 1
list1.additem x.documentElement.childNodes.Item(a).childNodes(1).Text
Next
End If
End Sub

O botão ativa o carregamento do documento. Isso faz com que a propriedade readystate mude de valor várias vezes, ativando o evento readystatechange a cada mudança. Dentro do evento verificamos se o readystate chegou a 4, indicando que o carregamento do documento foi completado. Se chegou, adicionamos na listbox o nome dos produtos recebidos.

Observe que não houve necessidade de fazer nenhum tipo de tratamento a nível texto para obter a informação : O parser de XML da Microsoft (Microsoft XML, que deverá estar marcado no references para que este código funcione) foi ao site, recuperou a informação para nós e nos forneceu a informação pronta em uma estrutura hierárquica fácil de manipular.

Conclusão

Teremos enfim bancos de dados de todo o mundo "integrados" de uma forma a possibilitar a obtenção de informações consistentes em poucos cliques. Aplicações se aproveitarão disso em diversas áreas, no comércio, área financeira, seguros, entre diversas outras.

Conheça mais sobre o nosso site :

Dennes Torres
MCSD,MCSE,MCDBA

 


O que é XML ?

Quando foram criados a Web e o HTML tinham a intenção de servir para publicação de informações. Publicação de textos em si. Por isso o HTML é tão voltado para o layout de um texto e realização de links através dos textos.

Porém a web hoje é extremamente voltada para gerenciamento de informações. Serviços on-line fornecem e captam informações, tal como uma consulta de cep on-line e uma loja virtual, por exemplo.

Os casos mais básicos são resolvidos apenas com HTML, ASP e uso de componetes, porém são cada vez mais comuns casos complexos em que apenas isso não basta.


Exemplo 1 :

Por exemplo, digamos que um desenvolvedor precise fazer uma consulta de cep em uma base de 100.000 registros. Ora, a consulta de cep já existe no site dos correios, ele não poderia aproveita-la ?

Hoje : Se o desenvolvedor deseja aproveitar-se da consulta de cep's ele teria que entrar no site dos correios, identificar a sequencia de páginas até atingir a consulta de cep's. Olhar o fonte destas páginas para identificar qual página ASP é chamada e quais informações são passadas a ela e reproduzir essa chamada em VB.

Tendo reproduzido a chamada em VB, a resposta recebida é em HTML. Desta forma o desenvolvedor precisa tratar a resposta recebida para conseguir encontrar dentro do HTML os dados que ele precisa.

A aplicação teria um funcionamento extremamente frágil : Se o correio mudasse sua sequencia de páginas ou o design de sua página a aplicação pararia de funcionar, pois está toda baseada na montagem do HTML.

Com XML : O próprio correio poderia divulgar uma página ASP que, ao ser chamada com determinados parâmetros, devolve-se um XML de resposta para o client. O XML possui um formato voltado a especificação de dados, por isso diversos fabricantes (inclusive Microsoft e Sun) possuem parsers de XML : objetos que podem ser usados em código de programação e são capazes de abrir um documento XML, identificar os dados no documento e expor tais dados para o programador sem grande esforço.


A idéia do XML (e que já está MUITO avançada, podería-se dizer quase irreversível) é se transformar em uma linguagem padrão para troca de informações. Duas empresas, por exemplo, quando desejarem fazer troca de informações podem fazer a troca em formato XML. Todo tipo de aplicação está sendo compatibilizada com o formato XML : O Office já tem suporte a XML, o SQL Server gera dados em XML a partir de querys, os recordsets do ADO lêem e gravam XML.

O XML tem uma grande diferença para outras linguagens : Ele não tem um conjunto de instruções (tags) definidas, as instruções podem ser criadas por qualquer um.

Assim sendo, duas farmácias podem criar em XML um padrão para a sua transmissão de dados. Quando a transmissão for realizada podem ser usados recursos do próprio XML para validar se um determinado arquivo está escrito corretamente (no novo padrão definido pelas duas farmácias) ou não.

Muitos recursos surgirão sobre a linguagem XML. No que se refere a Web, no tipo de exemplo mostrado logo acima, foi definido um padrão chamado WebServices : Esse padrão define de que forma um site deve anunciar os dados que possui e fornece-los, tudo feito com XML.

O 1o exemplo feito com WebServices ficaria ainda mais fácil : Ao invés de disparar uma página ASP o programador precisaria apenas apontar para o site usando um objeto adequado para isso. O objeto consultaria uma lista de serviços disponíveis naquele site e traria de volta a definição de tais serviços. Feito isso o programador realizaria a consulta de Cep's como se esta fosse um método do objeto que ele está usando, sem ter que se preocupar com como a transmissão está sendo feita (e ela está sendo feita em um padrão feito sobre o XML, que é chamado de SOAP).

Veja alguns exemplos de informações que poderiam ser obtidas através de XML/WEBSERVICES/Soap :

  • A companhia telefônica poderia fornecer consultas telefone/nome/endereço
  • A receita federal poderia fornecer consultas cpf/nome/situação
  • O site da Molicar (http://www.molicar.com.br) poderia fornecer consultas por valores de mercado de automóveis.
  • O site dos correios (como visto no exemplo) poderia fornecer consultas cep/endereço
  • O serasa poderia fornecer consultas na forma de webservices
  • O SPC poderia fornecer consultas na forma de webservices

Observe que serviços que hoje são vendidos como bases de dados ou aplicativos que o usuário precisa instalar em sua máquina podem passar a ser alugados pela Web e a cobrança passar a ser feita por uso do serviço.

Vejamos um pequeno exemplo em VB da obtenção e tratamento de um XML de um site. Primeiramente precisamos de uma página ASP que devolva os dados em XML :


<%
response.contenttype="text/xml"
dim cn,rs

set cn=createobject("adodb.connection")
set rs=createobject("adodb.recordset")

cn.open MM_CNDicas_STRING
rs.open "select * from products",cn

response.write("<produtos>")

while not rs.eof
response.write("<produto>")
response.write("<ID>")
response.write(rs.fields("productid").value)
response.write("</ID>")
response.write("<produto>")
response.write(server.htmlencode(rs.fields("productname").value))
response.write("</produto>")
response.write("<preco>")
response.write(rs.fields("unitprice").value)
response.write("</preco>")
response.write("</produto>")
rs.movenext
wend

response.write("</produtos>")

%>

Observe a forma como são criadas tags para especificar a informação que será transmitida. Como mencionamos, o XML permite a criação de tags. Vamos salvar essa página como produtos.asp. Browsers acima da versão 5 são capazes de exibir os dados em XML, portanto poderá testar a página, bastando coloca-la em um servidor local.

Agora precisamos criar um código em VB para obter esses dados da página. Vamos supor que temos um form com uma listbox e um botão. O carregamento do documento XML ocorre assincronamente. O objeto DOMDocument possui uma propriedade chamada readystate que nos indica como está indo o carregamento e um evento ReadyStateChange que ocorre sempre que a propriedade ReadyState muda de valor. Desta forma, para podermos identificar o carregamento do documento precisaremos utilizar "WithEvents". Veja :

Dim WithEvents x as DOMDocument

Private Sub Command1_Click()
Dim x As New DOMDocument
Dim a as integer


x.Load "http://localhost/atualizadicas.asp"

End Sub

Private Sub x_onreadystatechange()
Dim a As Integer
If x.readyState = 4 Then
list1.clear

For a = 0 To x.documentElement.childNodes.length - 1
list1.additem x.documentElement.childNodes.Item(a).childNodes(1).Text
Next
End If
End Sub

O botão ativa o carregamento do documento. Isso faz com que a propriedade readystate mude de valor várias vezes, ativando o evento readystatechange a cada mudança. Dentro do evento verificamos se o readystate chegou a 4, indicando que o carregamento do documento foi completado. Se chegou, adicionamos na listbox o nome dos produtos recebidos.

Observe que não houve necessidade de fazer nenhum tipo de tratamento a nível texto para obter a informação : O parser de XML da Microsoft (Microsoft XML, que deverá estar marcado no references para que este código funcione) foi ao site, recuperou a informação para nós e nos forneceu a informação pronta em uma estrutura hierárquica fácil de manipular.

Conclusão

Teremos enfim bancos de dados de todo o mundo "integrados" de uma forma a possibilitar a obtenção de informações consistentes em poucos cliques. Aplicações se aproveitarão disso em diversas áreas, no comércio, área financeira, seguros, entre diversas outras.

Dennes Torres
MCSD,MCSE,MCDBA

 






Envie seus comentįrios sobre este artigo

Nome :

E-mail :

Comentários :


Avise-me quando houverem novos comentįrios nesta pįgina

Veja abaixo os comentários já enviados :

Nome : Claudio E-Mail : diocsp@hotmail.com
Oi meu nome é claudio, eu achei legal este artigo, mas não consegui tirar minhas duvidas, e também gostaria de saber a onde o XML substitui o EDI, e quais suas vantagens em comparação o EDI. ETC...

Obrigado.

Fico no aguardo de vossa mensagem
Nome : Eduardo E-Mail : ceratti@banquet.com.br
Parabéns pela matéria, ficou muito boa, e de fácil compreensão.

Nome : Ted k' E-Mail : adamisongs@hotmail.com
Parabéns pela matéria, para os iniciantes está muito definida! Gostei, abraços!!!!!
Nome : Betto E-Mail : nelionelio1@hotmail.com
Oi gostaria de parabeniza-lo pela eficiencia do programa,
e gotaria tbm de aprender fazer paginas, talves eu precise
do programa para começar.

Grt

Betto
Nome : 1 E-Mail : 1
1
Nome : 1 E-Mail : 1
1
Nome : 1 E-Mail : 1
1
Nome : adidas ultra boost E-Mail : xslghfcoqdn@gmail.com
I must show my appreciation to this writer just for rescuing me from this type of dilemma. As a result of checking through the search engines and finding ways that were not powerful, I thought my entire life was gone. Living minus the solutions to the difficulties you have fixed by way of your good blog post is a critical case, as well as those which could have adversely affected my entire career if I hadn't noticed your web blog. Your primary natural talent and kindness in dealing with all the things was useful. I am not sure what I would've done if I had not encountered such a subject like this. I can also at this point look forward to my future. Thanks for your time so much for the professional and sensible help. I will not be reluctant to refer the website to any individual who ought to have guidelines on this subject matter.
adidas ultra boost https://vtu.cc/ultra

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Conheça mais sobre o nosso site :

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



Quer saber mais?
Faça um curso na Búfalo Informática, Treinamento e Consultoria e
Prepare-se para o Mercado!
Veja o que a Búfalo tem para você.

ļæ½ BĆŗfalo InformĆ”tica, Treinamento e Consultoria - Rua Ɓlvaro Alvim, 37 Sala 920 - CinelĆ¢ndia - Rio de Janeiro / RJ
Tel.: (21)2262-1368 (21) 9240-5134 (21) 9240-7281 e-Mail:
contato@bufaloinfo.com.br