Tecnologias Envolvidas


XML

XML (eXtensible Markup Language), que em português significa Linguagem de Marcação Estendida, é um formato de arquivo usado geralmente para troca de informações entre diversos sistemas, pois é um formato de dados estruturado que permite o processamento em diversas linguagens de programação. O XML possibilita
uma forma de escrever dados estruturados, facilitando declarações precisas de conteúdos. Ele é um subconjunto da SGML (Standard Generalized Markup Language) , possuindo assim suas virtudes, assim como as virtudes da HTML (HyperText Markup Language) e sem qualquer uma de suas limitações.


A XML permite que a informação e a descrição seja armazenada em um mesmo local e é estruturada em forma de uma árvore hierárquica, onde existe uma raiz e vários elementos de nível inferior estão ligados e estes elementos inferiores também podem estar ligados a outros elementos de nível inferior.


Desenvolvida em 1996, pelo W3C (Word Wide Web Consotium), que é uma organização encarregada de desenvolver e manter a maior parte dos padrões da web, ela permite a definição de um número infinito de tags, podendo assim ser declarado diversos tipos de dados como valores, descrições de produto, número de documentos ou qualquer outro tipo de elemento.


A compreensão de arquivos XML é relativamente simples pois permite ver a descrição da informação e em seguida o conteúdo desta informação.


Na NFe o XML é usado nas mensagens trocadas entre as aplicações locais e as aplicações dos estados e a NFe em si é um arquivo XML com as informações comerciais da transação comercial.

Web Service e SOAP

Com o surgimento da internet e o aumento de sua popularidade, os usuários tinham um papel exclusivamente passivo solicitando informações aos servidores e recebendo as respostas para exibição nos computadores. Para que esta exibição fosse realizada de forma correta, era necessária uma linguagem padronizada que funcionasse nos diversos navegadores web. A partir desta necessidade que foi criada a HTML pela W3C. Porém, com o passar dos anos, diversas tecnologias foram surgindo, e cada vez mais aplicações desenvolvidas em tecnologias diferentes precisavam trocar informações entre si. Com isto nasceu o conceito de Web Service, que foi definido pela W3C como sistemas de software projetados para serem interoperáveis dentro de uma rede.

Um Web Service é uma maneira de aplicativos diferentes se comunicarem, ou seja, permitir que aplicativos de plataformas diferentes sejam compatíveis. Surgiu por um consórcio de empresas lideradas pela Microsoft e IBM e hoje se tornou um padrão do W3C.

Os Web Services são componentes que permitem às aplicações trocar dados (enviar e receber) em formato XML. Não faz parte do conceito de Web Service a criação de interfaces gráficas, então é possível afirmar que os Web Services são utilizados apenas por desenvolvedores de sistemas.

Um Web Service e não precisa necessariamente ser implementado na mesma tecnologia do sistema requisitante, porém, precisa de uma troca de mensagens num “idioma” que seja compreendido pelas duas
aplicações. A esse “idioma” se dá o nome de protocolo, e no caso da NFe, o protocolo usado é o SOAP(Simple Object Access Protocol), um dos mais utilizados. O SOAP é um protocolo que utiliza documentos em formato XML e tem especificações descritas pelo W3C.

Na NFe todos as interfaces entre contribuinte - fisco são feitas através de WebServices disponibilizados pelos estados usando SOAP como protocolo de comunicação.

Assinatura Digital

Para realizar a Assinatura Digital, necessária em alguns Web Services da NFe, e necessário o uso de um certificado digital. O certificado digital é um documento eletrônico que tem por objetivo comprovar a identidade de uma pessoa física ou jurídica para assegurar a validade jurídica de transações onlines e a troca eletrônica de documentos.

Na NFe o certificado digital é usado para realizar a assinatura digital do XML que contém as informações da transação comercial. Através desta assinatura digital é que é garantida o vínculo entre os dados do XML e o emitente da NFe. Além do uso na assinatura digital o certificado também é usado no momento da transmissão do XML para os Web Services do governo para criar um canal de conexão seguro(criptografado) garantindo que a informação seja apenas entendida pelo transmissor e pelo receptor da mensagem.

No Brasil a emissão dos certificados digitais é feito por por Autoridades Certificadoras credenciadas ao ICP-BR(Infra-Estrutura de Chaves Públicas Brasileira).

Tipos de Certificado Digital

Existem dois tipos de certificados aceitos para emissão da NFe: A1 e A3. O certificado digital do tipo A1 é um certificado gerado em arquivo que pode ser instalado em diversas máquinas e por isso pode ser usado simultaneamente em diversos computadores. O certificado digital do tipo A3 é gerado em um hardware(cartão inteligente, token) e não pode ser copiado, só funcionando quando está conectado fisicamente a máquina. Pelos motivos citados, o certificado do tipo A3 é considerado mais seguro, pois só só funciona quando conectado fisicamente ao computador e não pode ser copiado, mas, para empresas que possuem filiais, o uso do A1 acaba sendo mais vantajoso pois permite que diversas máquinas utilizem do certificado digital ao mesmo tempo

Fonte: MORAES, André Ferreira. Uso do Componente ACBrNFe para a Emissão da Nota Fiscal Eletrônica – NFe, 2010, 79 f.(Monografia apresentada à Faculdade de Ensino Superior Santa Bárbara, FAESB, para obtenção do título de Bacharel em Sistemas de Informação).