sexta-feira, 30 de setembro de 2016

Projeto de Banco de Dados em XML

Autores: Leonardo Baldo, Leopoldo Ferreira.




1. Origem da XML

Marcação nada mais é que uma informação complementar inserida em um documento, ou seja, acrescenta marcadores nos documentos criados. Em texto, por exemplo, estes marcadores coordenam o aspecto do documento e é constituído de itens como tipo e tamanho da fonte, negrito, sublinhado, itálico etc. Podemos utilizar da marcação generalizada para uma simples designação da importância estrutural de um texto em um documento.
             SGML é um tipo de linguagem de marcação com uso mais específico em medicina ou matemática devido sua dificuldade, fazendo assim com que seus usuários sejam escassos. A HTML, na verdade, é uma aplicação da SGML para a marcação de conteúdo, de modo a prepará-lo para apresentação na World Wide Web Consortium (W3C). Um projeto iniciado pela W3C em 1996 fez a junção da versatilidade da SGML e a ampla aceitação do HTML surgindo assim a XML.
             XML (Linguagem Extensível de Marcação) é uma linguagem de marcação recomendada e criada pela World Wide Web (W3C) para a criação de documentos com dados organizados hierarquicamente, tais como textos, banco de dados ou desenhos vetoriais. A linguagem XML é classificada como extensível porque permite definir os elementos de marcação.

2. Conceitos Básicos de XML e Tecnologias Relacionadas

            XML faz o uso de Tags muito similares as tags usadas em HTML, porém, a diferença é que enquanto o HTML tem um número de tags fixas, o XML define seus elementos e as funcionalidades dos mesmos.
Exemplo 1: Trecho de documento em HTML
<p>
<font face=”verdana” size=10>
<b>Remetente:</b> José da Silva<br>
<b>Destinatária:</b> Maria da Silva<br><br>
</font>
</p>
<p>
<font face=”arial” size=12>
Olá, Maria, bom dia!<br>
</font>
</p>
<p>
<font face=”arial” size=12>
Espero notícias suas! Até mais.<br>
</font>
</p>
                A partir deste exemplo há a possiblidade de se reconhecer que se trata de uma carta, pois, temos o conhecimento prévio de que se trata de uma, já um software não tem condição de ter esse conhecimento, é preciso dar informações precisas para que uma aplicação entenda o que está sendo dito, a linguagem HTML usa as “tags” que apenas controlam como serão exibidos os dados. Interpretação das Tags: <p> diz ao interpretador, no caso, navegador de internet que deve-se quebrar uma linha e inserir uma em branco. <br> insere uma quebra de linha, <b> marca o que estará em negrito e <font> controla a fonte que será utilizada.          
                O problema da HTML é que ela é reconhecida como abordagem “engessada”, pois, limita o uso de tags a apenas uma função, como por exemplo o <p> que dá início e fim, é reconhecido apenas como cabeçalho de carta, e não pode ser usado posteriormente, essa limitação é reconhecida pela XML de tal forma que está exposta em seu nome, onde X significa “eXtensible”, ou extensível, significando que cada XML tem um subconjunto próprio de tags. Essas tags receberiam nome que não correspondem aos dados, apenas representam a estrutura determinada no contexto deste documento em específico. O exemplo 1 poderia ser representado da seguinte forma:

Exemplo 2: Trecho de documento em XML
<carta tipo="social">
<cabeçalho>
<remetente> José da Silva </remetente>
<destinatário> Maria da Silva </destinatário>
</cabeçalho>
<parágrafo>
Olá, Maria, bom dia!
</parágrafo>
<parágrafo>
Espero notícias suas! Até mais.
</parágrafo>
</carta>
Nesse exemplo a estrutura do documento está muito mais clara e é específico para uma carta, XML em si é um arquivo de texto contendo conteúdo e marcação que especifica aquele conteúdo, como no exemplo <carta> determina o início e fim de um documento e dessa forma diferente da HTML podendo existir vários documentos desde que seja marcado seus respectivos inícios e fins através das tags, em que entre as tags há  a informação de o que o elementro representa. Um exemplo ilustrativo pode ser dado por: <parágrafo> Olá, Maria, bom dia! </parágrafo>. Um atributo é uma informação descritiva do elemento, e consiste de um nome e de um valor. Os atributos devem ser especificados sempre entre delimitadores, que podem ser aspas duplas ou simples. Em <carta tipo="simples">, o elemento <carta> possui um atributo chamado tipo, cujo valor é "simples". Somente uma instância de um nome de atributo é permitida dentro de uma tag inicial ou de uma tag vazia, ou seja, o exemplo a seguir seria inválido: <carta tipo="simples" tipo="comercial">.
            São tecnologias relacionadas a XML:
SAX: (Simple API for XML, ou API simples para XML) é um analisador baseado em eventos, e, no caso de eventos, o analisador chama métodos ou rotinas com nomes semelhantes no programa host, que poderão tomar a ação apropriada.
DOM: (Document Object Model) é uma interface de programação de aplicação
completa para documentos XML. Essa interface permite não apenas navegar dentro de
documentos XML, mas também apanhar, acrescentar, modificar ou excluir elementos e
conteúdo.
XPath: é quem define como acessar os nós em documentos XML através de expressões de caminho que especificam um arquivo dentro de um diretório de arquivos, a expressão que identifica o atributo “tipo” da tag <carta> é dada por /carta/@tipo, com isso a localização do caminho é facilitada.
XSL: (Extensible Style Language) é uma linguagem para definir folhas de estilo para
XML. Ela também aceita opções de impressão e transmissão de documentos XML entre
várias plataformas.

3. Banco de Dados em XML

         Com a expansão do uso da internet novos desafios surgiram em relação a trocas comerciais e integração de processos entre organizações, com isso foi desenvolvido um sistema de banco de dados nativo em XML.        
            Sistemas nativos em XML podem ser implementados sobre um modelo relacional, hierárquivo, orientado a objetos, ou mesmo utilizar um formato proprietário de armazenamento. O que difere um banco de dados nativo em XML dos demais modelos é unidade de armazenamento: em um banco de dados relacional uma linha é a menor unidade lógico já no nativos em XML a menor é o próprio documento XML. Esse documento deve ser mantido intacto, e ao ser recuperado deve estar idêntico a quando foi armazenado, é importante entender o que a XML traz de benefícios para o mundo dos bancos de dados, e qual lugar ela ocupa atualmente entre as tecnologias existentes.
            A expansão do uso da internet aconteceu em cima do uso de padrões abertos, ou seja, não-proprietários: código-fonte, interfaces, sistemas operacionais etc., independentes de um fabricante específico e abertos a alterações, adequações e extensões que se fizessem necessárias, sempre mantendo o alinhamento com as regras definidas para estes padrões, com isso surgiu novas maneiras para o aproveitamento comercial da internet, destacando-se dentre elas o comércio eletrônico entre empresas (business-to-business, ou B2B), entre empresas e órgãos governamentais (business-to-government, ou B2G), e entre empresas e clientes finais (business-to-consumer, ou B2C). Segundo Renan Mendes em sua publicação O Dinheiro de Verdade está no E-Commerce B2B:
“No mundo, a expectativa é que em 2020 o mercado de E-commerce B2B dobre o tamanho do mercado online B2C — U$6,7 trilhões vs U$3,2 trilhões de faturamento mundial — de acordo o provedor de pesquisas Frost & Sullivan. A empresa prevê que o país da Alibaba, a China (assim como acontece no B2C), seja o maior mercado online com U$2,1 trilhões em vendas online em 2020.
Nos Estados Unidos, país da Amazon, o E-commerce B2B já é duas vezes maior que o B2C. A Forrester Researcher estima que o mercado B2B supere os U$780 bilhões e com um share de 9.3% das vendas de todo o mercado no fim de 2015. As previsões apontam um crescimento anual de 7,7% ao longo dos próximos 5 anos, dados resultantes da necessidade das empresas em diminuir custos.”


            É indubitável que para que ocorra o comércio eletrônico deva haver troca de informações, e para facilitar a integração entre parceiros, deveria existir uma ferramenta de transmissão de dados de forma padronizada onde todos do grupo de parceiro entenderiam seu significado, até pouco tempo atrás, o que estava disponível nesse sentido era a tecnologia de troca eletrônica de dados, ou Electronic Data Interchange (EDI). Resumidamente, a EDI “define uma plataforma técnica, baseada num conjunto de padrões estruturados para troca de informações entre participantes num mercado” (ALBERTIN, 2001).
            A EDI foi uma solução precária, pois, geralmente requer uma rede de conexão, privada e cara, entre os parceiros de negócios; Os parceiros precisam ter um relacionamento preexistente, para dar a eles tempo para estabelecer uma rede; Não é interativa, inibindo a possibilidade de negociação e discussão dinâmica.
            Com formas de acesso baratas, preços não dependentes da quantidade de informação utilizada, padrões abertos e amplamente adotados a internet se firmou como opção a essa situação de altos custo e seletividade de usuários utilitários do e-commerce.
            Como exposto por Renan, o relacionamento “um-para-um” será gradativamente substituído pelo “um-para-muitos”. Soluções fechadas como a EDI se tornaram obsoletas, a XML se enquadra nesse cenário de busca por padrões abertos que tiram o máximo de vantagem da arquitetura da internet já que redes de computadores tratam basicamente da troca de informações, e a internet nada mais é que uma rede de computadores. Com a XML, essas trocas de informações passaram a ter um padrão aberto, outra característica importante da XML é a sua portabilidade, dizer que ela é portável equivale a dizer que pode ser usada sem adaptações entre plataformas diferentes de hardware e software. A razão para tanto é que qualquer documento escrito usando o padrão XML será sempre um arquivo de texto simples, que usa as regras de marcação da XML. Assim, este arquivo texto pode ser trocado entre diferentes arquiteturas sem ser necessário sofrer alterações em seu formato: arquivos de texto podem ser reconhecidos e processados por qualquer plataforma virtual.
            Não devemos levar em conta somente o uso do XML em si como ferramenta de armazenamento de dados, mas também de todas as tecnologias que o envolvem como XSL, XSD, linguagens para consulta como XPath, Xquery e XQL, e analisadores DOM e SAX, dentre outras. O uso combinado destas tecnologias, muitas das quais padrões publicados ou em fase de aceitação pelo W3C, é que torna viável o uso da XML como padrão robusto de intercâmbio e armazenamento de informações. Sem as tecnologias que o englobam, a XML é apenas mais uma linguagem de marcação, sem o poder e eficiência que apresenta quando usada em conjunto com elas. A adoção da XML vem num ritmo crescente por parte daqueles que usam a internet como meio para a troca de informações, mas é interessante observar que sua importância não se limita a troca de dados ela também invade a área das aplicações de bancos de dados, e com grande destaque.
            Já existe no mercado uma incontável quantidade de sistemas de bancos de dados que lidam satisfatoriamente com dados relacionais que são predominantes no contexto empresarial. Porém, após o surgimento e fortalecimento do padrão XML para troca e armazenamento de dados, surgiram novas necessidades com as quais os desenvolvedores de sistemas de bancos de dados relacionais tiveram que lidar. Ao perceberem a importância do XML os grandes fornecedores de sistemas de bancos de dados adicionaram extensões para XML aplicadas a seus sistemas gerenciadores de bancos de dados relacionais, com o intuito de adaptar estes sistemas para que pudesse de alguma forma armazenar dados XML em suas tabelas relacionais os principais fornecedores de soluções para bancos de dados relacionais são: Oracle, Microsoft e IBM.

4. Conclusão

            O que deve-se levar em consideração em todo e qualquer projeto, é o escopo de seu tamanho, e a real necessidade de qual tecnologia usar e qual será a melhor abordagem para o mesmo, atualmente o banco de dados do tipo relacional é o mais usado pois, com ele pode-se armazenas um imenso volume de informação com confiabilidade de processamento e segurança de armazenamento, ainda mais implementando o ACID para processamento de transações, porém, há projetos em que o uso de banco de dados XML irá melhor atender a necessidade, o que deve ser feito é sua identificação, para assim tirar melhor proveito, pois, como demonstrado ele vem se tornando cada vez mais utilizado devido suas vantagens em certos casos, o que agora deve ser trabalhado é que seja tão confiável para o armazenamento de dados e recuperação de informação quanto o modelo relacional.
             Jímenez, Higasi e Masao demonstra casos em que a implementação de XML seria viável:
“[...] algumas características de sistemas que poderiam ser implementados
sob um banco de dados XML nativo:
· Sistemas de pequeno a médio porte, com pequeno volume de dados e transações;
· Sistemas para dispositivos com poucos recursos, como palmtops e hanhelds, bem como computadores mais antigos que não suportariam um grande SGBD;
· Interface de integração entre sistemas de back-end e front-end ou  outros. Poderíamos ter toda a base de dados relacionada a integração entre sistemas armazenadas nesse tipo de banco de dados, ao invés de utilizar arquivos de configuração e de sincronismo;
· Implementação do próprio sistema de front-end de uma grande aplicação. Poderíamos replicar os dados necessários de um grande SGBD para o Xindice e utilizar esses dados para um sistema específico;
· Implementação de sistemas onde os dados a serem armazenados são semiestruturados, ou seja, não possuem “colunas” fixas, e essas podem ser bastante variadas. Assim, mapear esses dados em um modelo relacional poderia ser bastante trabalhoso, além de desperdiçar espaço (teríamos uma grande quantidades de colunas armazenando valores nulos). Para esses casos, o XML, e mais especificamente o Xindice poderiam ser muito mais indicados, pois a estrutura de um documento XML, apesar de ter sua estrutura, é muito mais flexível e se adaptaria a essa situação facilmente.” (2003, pag. 80)

5. Referências

FIGUEIREDO, Flávio J. V.; HIGASI, Hilton; MURAOKA, Lincoln M. J. “XML e Banco de Dados”. Universidade Presbiteriana Mackenzie, São Paulo/SP, 2003; Disponível em: http://meusite.mackenzie.com.br/rogerio/tgi/2003XMLXindex.PDF Acesso em: Setembro de 2016.


MENDES, Renan. “O dinheiro de verdade está no mercado de E-commerce B2B”. Disponível em: <http://www.profissionaldeecommerce.com.br/dinheiro-mercado-e-commerce-b2b/> Acesso em: Setembro de 2016

Nenhum comentário:

Postar um comentário