Arquivo da categoria ‘Desenvolvimento Software’

XML Básico e Prático - Parte 1 / 3

Estou começando um curso rápido de XML com base em algumas ideias sugeridas no site americano http://www.w3schools.com, que por sinal é uma excelente fonte. Também adicionei algumas informações que são importantes para o aprendizado.
Pretendo de forma bem simples mostrar o que é, como funciona e como implementar XML em suas páginas (ou aplicações). Depois deste, partimos para um tópico mais avançado.

Introdução

Levo em consideração que o leitor já tenha certo conhecimento em HTML.

XML significa EXtensible Markup Language

O foco do XML é o armazenamento de dados e a informação do que se trata esses dados. O XML não se preocupa em como mostrar essas informações, mas somente em o que mostrar.

Pelo que você já tem visto por aí, suas marcações são parecidas com HTML, porém sua função é completamente diferente. Aqui trago essa diferença entre HTML e XML.

Veja que interessante, como foi visto, XML se concentra nos dados e o que exibir, enquanto que HTML se concentra em como exibir esses dados e onde exibir. Por enquanto, pense em XML como uma fonte de dados.

As tags do XML não são pré-definidas como em HTML, ou seja, as tags são criadas pelo autor do documento para nomear uma informação em seu conteúdo. XML são documentos auto-descritivos, ao abri-lo em um editor de texto seu entendimento é imediato. E o mais importante, XML é recomendado pelo W3C e possui alguns padrões já estabelecidos.

Resumindo em miúdos e de uma forma bem simples, XML consegue armazenar os dados fora do HTML e podem ser lidos independente de plataforma ou browser.

Seu uso se estende a muitas finalidades, como armazenamento de dados (como dito acima) e compartilhamento de dados; por exemplo, você possui um comércio eletrônico voltado a informática e deseja disponibilizar somente algumas informações de seus produtos da categoria “memórias”, cria-se então um XML como base nesse filtro, então é compartilhado com seu representante. Esse documento poderá ser aberto tanto por outros sites como por aplicativos desktop.

Sintaxe

Veja um exemplo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>

A primeira linha é a declaração: versão do XML e o tipo de codificação do caractere. Nesse caso usamos a versão 1.0 com ISO-8859-1 (Latin-1/West European).
A segunda linha é o nó raiz do documento, informa que teremos informações referentes a uma “nota” (note). As 4 linhas seguintes nos indica os nós filhos: to, from, heading and body. E por fim, fechamos o nó raiz com a tag “</note>”. É aí que nosso documento XML acaba, não há mais informações.

Pontos importantes:

- Ao escrever documentos XML, é obrigatório o fechamento das tags. Em HTML podemos deixar algumas tags em aberto, muitas vezes o navegador “entende” sua intenção. Mas em XML isso não é possível.

- XML é sensível ao caso. A tag <Mensagem> é diferente de <mensagem>.

- Cuidado com as inconsistências de tags. Exemplo:
Certo: <b><i>Texto documento</i></b>
Errado: <b><i>Texto documento</b></i>

- É obrigatório um nó (elemento) raiz, como o exemplo acima. Todos os dados são inseridos em elementos filhos.

- Os atributos (veremos a seguir) devem estar entre aspas:
Errado: <note date=12/11/2002>
Certo: <note date=”12/11/2002″>

- Os espaços em branco no XML são preservados. Exemplo:
Olá      meu nome é Daniel.

- Os comentários devem ser escritos como em HTML: <!– comentário –>

Você percebe que não há nada de especial em documentos XML? São arquivos texto comuns com formatações de fácil compreensão. Seu entendimento é obtido através das próprias tags criadas pelo autor (para isso existem as boas práticas de desenvolvimento).

Elementos

Elementos em XML são as tags que armazenam as informações. Veja o exemplo abaixo:

<note>
<to>Tove</to>
<from>Jani</from>
<body>Don’t forget me this weekend!</body>
</note>

Quais são nossos elementos de armazenamento de informações?
<to>, <from> e <body>

O que esse documento parece para você? Uma mensagem ou um e-mail, certo? Veja como é fácil sua compreensão.

Se o autor resolve adicionar mais informações no futuro:

<note>
<date>2002-08-01</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>

Isso não gera erro, pois XML pode ser alterado ou expandido.

Vários elementos ou hierarquia

Veja um exemplo abaixo de vários registros de livros em um XML:

<book>
<title>My First XML</title>
<prod id=”33-657″ media=”paper”></prod>
<chapter>Introduction to XML
<para>What is HTML</para>
<para>What is XML</para>
</chapter>
<chapter>XML Syntax
<para>Elements must have a closing tag</para>
<para>Elements must be properly nested</para>
</chapter>
</book>

Saída:
My First XML
Introduction to XML
• What is HTML
• What is XML
XML Syntax
• Elements must have a closing tag
• Elements must be properly nested

Aprendemos que nesse caso, o que faz a separação de registros é o elemento <chapter>, por sua repetição. Podemos chamar também de agrupamento, veja os detalhes:

Book é o elemento raiz; Title, prod e chapter são elementos filhos de book. Book é o elemento pai (parent element); Title, prod e chapter são elementos irmãs, pois estão debaixo de um mesmo pai.

Tipos diferentes

Cada elemento XML pode armazenar tipos diferentes de informações. O exemplo acima mostra que title está armazenando somente texto (element content), o elemento prod está vazio (empty content), o elemento chapter está armazenando tanto uma informação como outros elementos (mixed content).

Nomes dos elementos

Devemos seguir as seguintes regras para garantir a sintaxe correta na definição dos nomes dos elementos em XML:

- Podem conter letras, números e outros caracteres;
- Não podem começar com números ou qualquer tipo de pontuação;
- Não podem começar com a palavra “xml”;
- Não podem conter espaços.

Qualquer nome pode ser criado, em XML não há palavra reservadas, mas tente sempre usar o bom senso e lembre-se que outros desenvolvedores poder dar continuidade em seu trabalho.

Os nomes podem ser do tamanho que quiser, não há um limite de caracteres, mas não exagere, sugiro ter um tamanho suficiente para o entendimento do documento, exemplo: <titulo_livro> ao invés de <o_titulo_do_livro>.

Documentos XML são geralmente uma conseqüência de uma estrutura de banco de dados (SQL, MySQL, Oracle, Access), dessa forma, tente nomear seus elementos acompanhando seu banco. Procure não utilizar qualquer tipo de acentuação.

O único caractere reservado em XML é o “:”, este é usado para namespaces (veremos mais pra frente).

Por enquanto ficamos por aqui, estarei continuando.

Postem seu comentários. Qualquer dúvida estamos aí.

EXI - Compressão XML

Sabemos que XML tem sido solução para qualquer tipo de situação hoje em dia tanto para web como para aplicações desktop, e principalmente para integração multi-plataforma. Seu uso quase que virou uma obrigação, e por causa de suas marcações personalizadas dentro de um padrão já estabelecido, tem-se usado em qualquer tipo de aplicação.

Agora o XML Work Group da W3C desenvolveu uma técnica de compressão dos arquivos XML. Não se preocupem que nada vai mudar e nenhum padrão novo está sendo estabelecido. Confesso que quando comecei a ler fiquei um pouco preocupado, mas logo vi que são recursos para ajudar os desenvolvedores e usuários finais, afinal, nada como uma página mais ágil.

Por causa de seu crescimento natural, temos visto aplicações gerarem enormes documentos XML, e o tempo do analisador (parser, XML DOM por exemplo) nessa leitura é muito grande, gerando insatisfação por parte dos usuários, e olha que estamos falando de aplicações comuns, como um site, um software, e para os dispositivos móveis? nem da pra imaginar. Com base nesse problema (principal), chegou a uma solução prática, sua compressão (a primeira publicação oficial do EXI -Efficient XML Interchange- foi em fevereiro de 2007).

Funciona da seguinte maneira, o objetivo do EXI é codificar o XML usando técnicas de compressão tendo no final um formato mais compacto, não “gastando” muito processamento na leitura. No ponto de visa de aplicações, o compartilhamento (ou leitura) de EXI é exatamente como em XML, exceto que ao invés de usar um analisador XML, usa-se então um analisador EXI, tipo um EXI DOM.

Ainda está em projeto, principalmente no que diz respeito na leitura desse formato. Logo no final alguns links incluindo o framework de testes. Segundo a XML Work Group, em dezembro de 2007 será publicada algumas novidades e informações mais concretas sobre a tecnologia.

Acompanhando essa tendência, estarei publicando aqui um tutorial XML Básico passo a passo com as definições e padrões recomendados pela W3C.

Alguns link externos:
- Publicação EXI na W3C Q&A Weblog
- EXI Work Group
- XML Work Group
- EXI - Framework de testes W3C

Abração!
Daniel Accorsi

Windows World (PHP+IIS7+VISTA64, VISTA SP1, VISTA NON-GENUINE)

Atualizado 25/01/2008 - Informo a todos que estamos com endereço novo, os mesmos post permaneceram. Acesse http://www.alvoconhecimento.com.br e atualize seu agregador.

Para acessar esse post em nosso novo endereço, clique aqui.



Eu ia postar somente algumas informações sobre PHP5 no IIS7 (é o nosso foco aqui), porém estive dando uma lida por aí e vi que existem algumas novidades interessantes no mundo Windows e resolvi colocar tudo junto aqui sem ficar fazendo posts diferentes. O objetivo do blog não é notícia, mas dei uma escapadinha…

Confira:

PHP5 + IIS7 + VISTA64 = É possível sim!

O problema é o bit, isso mesmo, o pessoal tem colocado tutoriais por aí para 32bit (e nem sabem disso) e geralmente quem vai tentar a instalação está usando 64bit, e tem diferença. O tutorial abaixo é bem completinho e dá suporte nas duas versões.

Vamos lá, sem redundância de posts (inglês): Blond R

O que acontece com quem não tem Windows Vista original?
Vejo o vídeo explicativo da Microsoft, é de revoltar?

MS libera SP1 do Vista para beta testers
A notícia abaixo é da Info Online

WINDOWS VISTASÃO PAULO - A Microsoft liberou a primeira versão beta do Service Pack 1 para Windows Vista.

A empresa já havia anunciado, no final de agosto, que estava perto de lançar uma versão de testes do SP1 para o Vista.

Segundo a empresa, a versão de estréia do Service Pack 1, disponível para todos os usuários, só deve ficar pronta no primeiro trimestre de 2008.

O programa de testes do SP1 inclui 12 mil participantes que receberão correções de segurança, performance e atualizações para tornar o Windows Vista compatível com um maior número de aplicativos.

Segundo o site americano Cnet, os beta testers que já rodaram o SP1 apontaram novos recursos implementados no Vista, além de correções e mudanças de compatibilidade.

Entre as novas características está um recurso que permite encriptar vários HDs ou partições de HD com um só comando, usando um novo recurso do aplicativo Vista BitLocker.

Veja o artigo na Info Online na qual estive lendo: Info Online

Sim, boas (ou más) novas para os Windowsmaníacos!

Abraços,
Daniel Accorsi

Business Intelligence (BI)

Atualizado 25/01/2008 - Informo a todos que estamos com endereço novo, os mesmos post permaneceram. Acesse http://www.alvoconhecimento.com.br e atualize seu agregador.

Para acessar esse post em nosso novo endereço, clique aqui.



Alguns conceitos vem e vão, tanto em nível de desenvolvimento como em nível organizacional, projetos etc. Nesses dias tenho estudado sobre Business Intelligence(BI). Me identifiquei muito pelo assunto quando ouvi falar pela primeira vez, traz um conceito de desenvolvivmento orientado a tomada de decisões, formação de informação.

Engraçado como vamos evoluindo, a algum tempo CRM e ERP estavam no top, não que agora devemos ignora-los, mas devemos sempre seguir o mercado. BI vem sendo “melhorado” desde a década de 70, agora que veio explodindo, realmente funcional.

O autor de um artigo (link logo abaixo) colocou um exemplo para conseguirmos entender melhor o conceito: “Costumo sempre fazer uma análogia para as pessoas que me perguntam sobre a diferença de um sistema de informação convencional e um BI. Digo que um sistema do tipo transacional é como um restaurante, onde o garçom lhe traz um cardápio e você precisa escolher um prato que já está pronto. Já num sistema self-service (BI), você pode optar por escolher o que lhe agrada e na quantidade desejada.

Para chegar a esse nível, em primeiro lugar precisamos estudar a fundo qual o conceito e os objetivos de BI, caso contrário vamos cair no mesmo lugar, mudando somente o nome, veja:

1. Entenda sobre BI, leia e releia;
2. Estude sobre a empresa, sua regra, seus departamentos e principalmente o problema;
3. Analise e encontre uma solução com foco na tomada de decisões sem passar por burocracia interna (veja item 1);
4. Faça seus diagramas (que tal UML?);
5. Releia todo o processo do item 2 ao mesmo tempo que acompanha os diagramas;
6. Faça a coisa acontecer.

Se eu fosse explicar com uma frase o que significa, diria: um sistema convencional oferece dados, mas não oferece INFORMAÇÃO, BI resolve isso buscando e organizando dados de diversas fontes.

Confira o artigo comentado acima.
Um pouco mais de Business Intelligence

Até a próxima.
Abraços,
Daniel Accorsi.