Вы находитесь на странице: 1из 39

Faculdade de Tecnologia da Paraba Anlise e Desenvolvimento de Sistemas

Thalles Ramon Pinheiro de Sousa

Planejamento e desenvolvimento de um sistema Web para receptao, validao e integrao de Nota Fiscal Eletrnica

Cabedelo - PB 2011

Thalles Ramon Pinheiro de Sousa

Planejamento e desenvolvimento de um sistema Web para receptao, validao e integrao de Nota Fiscal Eletrnica

Relatrio de Estgio apresentado ao Curso de Tecnologia em Anlise e Desenvolvimento de Sistemas da Faculdade de Tecnologia da Paraba - FATECPB como parte dos requisitos para a obteno do ttulo de Tecnlogo em Anlise e Desenvolvimento de Sistemas. Orientadora: Prof. MSc. Alana Marques de Morais

Cabedelo - PB 2011

Dados de acordo com: AACR2, CDU e Cutter Biblioteca Central IESP Faculdades PB

S725p

Sousa, Thalles Ramon Pinheiro de Planejamento e desenvolvimento de um sistema web para receptao, validao e integrao de nota fiscal eletrnica /Thalles Ramon Pinheiro de Sousa. Cabedelo, PB: [s.n], 2011. 38f. Monografia Faculdade de Tecnologia da Paraba (FATEC PB) - Curso de Anlise e Desenvolvimento de Sistemas, 2011. 1. Desenvolvimento de sistemas. 2. Nota fiscal eletrnica. I. Ttulo. CDU 004.41(043.4)

Ningum to sbio que nada tenha para aprender, nem to tolo que nada tenha pra ensinar. Blaise Pascal

LISTA DE FIGURAS
Figura 1: DANFE emitido em folha comum. .......................................................................... 12 Figura 2: Modalidades de emisso da NF-e.......................................................................... 13 Figura 3: NF-e em formato XML com os padres especificados......................................... 14 Figura 4: Tela de pesquisa de NF-e Radar RVi_NF-e. ..................................................... 16 Figura 5: Diagrama de envio e recebimento - NF-e AFA. .................................................... 17 Figura 6: Ilustrao do IDE Eclipse. ....................................................................................... 19 Figura 7: Representao grfica do ciclo de vida no Modelo em Cascata. ........................ 23 Figura 8: Diagrama de Casos de Uso RVI_NFe. ............................................................... 25 Figura 9: Diagrama de Classes - RVI_NFe. .......................................................................... 26 Figura 10: Diagrama de Sequncia RVI_NFe. ................................................................... 28 Figura 11: Arquivo de configurao do agendamento. ......................................................... 29 Figura 12: Classe RVI_NFeScheduler. .................................................................................. 30 Figura 13: Grfico comparativo de validaes - RVI_NFe ................................................... 31 Figura 14: Tela de login - RVI_NF-e....................................................................................... 32 Figura 15: Tela de definio dos parmetros - RVI_NF-e .................................................... 33 Figura 16: Tela de pesquisa de NF-e com gerao de relatrios........................................ 34

LISTA DE SIGLAS
API CRM DANFE DPEC ENCAT Application Programming Interface Customer Relationship Management Documento Auxiliar da Nota Fiscal Eletrnica Declarao Prvia de Emisso em Contingncia Encontro Nacional dos Administradores e Coordenadores Tributrios Estaduais ERP FS FS-DA Enterprise Resourse Planning Formulrio de Segurana Formulrio de Segurana para impresso de Documento Auxiliar de Documento Fiscal Eletrnico GLP ICP-Brasil IDE NF NF-e RVI_NFe SCAN SEFAZ SINIEF SRM TI XML General Public License Infraestrutura de Chaves Pblicas Brasileira Integrated Development Environment Nota Fiscal Nota Fiscal Eletrnica Receptao, Validao e Integrao - Nota Fiscal Eletrnica Sistema de Contingncia do Ambiente Nacional Secretaria da Fazenda Sistema Nacional de Informaes Econmicas e Fiscais Supplier Relationship Management Tecnologia da Informao Extensible Markup Language

SUMRIO

1.

INTRODUO ....................................................................................................................... 7 1.1 1.2 1.3 Objetivo ........................................................................................................................ 8 Grupo E-Gen ............................................................................................................... 8 Estrutura do relatrio .................................................................................................. 9

2.

F UNDAMENTAO TERICA ............................................................................................. 10 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 NF-e ........................................................................................................................... 10 Normas para emisso da NF-e................................................................................ 12 Sistemas semelhantes ............................................................................................. 15 Ferramentas utilizadas ............................................................................................. 18 IDE Eclipse ............................................................................................................ 18 API JavaMail .......................................................................................................... 19 Framework Quartz ................................................................................................ 20

3.

O PROJETO RVI_NFE ...................................................................................................... 22 3.1 3.2 3.3 3.3.1 3.3.1.1 3.3.1.2 3.3.1.3 3.3.2 3.3.3 Objetivo da ferramenta ............................................................................................. 22 Metodologia de desenvolvimento ............................................................................ 22 Atividades Percorridas.............................................................................................. 24 Diagramas ............................................................................................................. 24 Diagrama de Caso de Uso ............................................................................... 24 Diagrama de Classes........................................................................................ 26 Diagrama de Sequncia ................................................................................... 27 Testes de software e validao ........................................................................... 28 Configurao do Quartz ....................................................................................... 29

4.

RESULTADOS ..................................................................................................................... 31 4.1 Cenrio de Uso ......................................................................................................... 31

5.

CONCLUSES .................................................................................................................... 34 5.1 5.2 Dificuldades ............................................................................................................... 35 Trabalhos futuros ...................................................................................................... 35

REFERNCIAS ........................................................................................................................... 36

1.

INTRODUO
Atualmente, diante deste mundo globalizado e competitivo, as empresas e

organizaes

buscam

os

sistemas

computacionais

para

suprir

suas

necessidades, melhorar a produtividade das operaes e servios, controlar gastos e receitas, com isso, atingir seus objetivos corporativos. Gonalves (1993, apud PRATES e OSPINA, 2004) ratifica essa premissa ao afirmar que a tecnologia o fator individual de mudana de maior importncia na transformao das empresas. Concomitantemente, h Parsons (1983) que discute em seu trabalho as relaes da TI (Tecnologia da Informao) com as empresas, como pode ser visto no extrato a seguir: A aplicao da Tecnologia da Informao (TI) pode trazer ganhos significativos a uma organizao, mas a escolha e seleo da tecnologia adequada dependem de profundo entendimento das estratgias adotadas pela empresa (...). (PARSONS, 1983 apud SACCOL et al., 2004, pag. 11) Existem muitos tipos de sistemas aplicados as grandes corporaes. Segundo Filho (2009), os sistemas corporativos de maior importncia so: Sistemas ERP (Enterprise Resourse Planning): Sistemas que integram diversos mdulos necessrios na administrao empresarial; Sistemas CRM (Customer Relationship Management): Responsvel por gerenciar o relacionamento com os clientes; Sistemas SRM (Supplier Relationship Management): Responsvel por gerenciar o relacionamento com os fornecedores; Partindo desse contexto, o Governo Federal do Brasil, por meio da Receita Federal e do ENCAT (Encontro Nacional dos Administradores e Coordenadores Tributrios Estaduais), criou em 2005 o Ajuste SINIEF 07/05 que institui nacionalmente a Nota Fiscal Eletrnica (NF-e) e o Documento Auxiliar da Nota Fiscal Eletrnica (DANFE), com a finalidade de alterar a sistemtica atual de emisso da Nota Fiscal (NF) em papel, por NF-e.
Podemos conceituar a Nota Fiscal Eletrnica (NF-e) como sendo um documento de existncia exclusivamente digital, emitido e armazenado eletronicamente, com o intuito de documentar uma operao de circulao de mercadorias ou prestao de servios, cuja validade jurdica garantida pela assinatura digital do emitente e a Autorizao de Uso fornecida pela administrao tributria do domiclio do contribuinte. (MANUAL, 2009, p. 10).

As principais vantagens encontradas na alterao da sistemtica de emisso da NF so: reduo de custos de impresso e armazenagem, reduo do consumo de papel, com impacto positivo em termos ecolgicos, diminuio da sonegao de impostos resultando no aumento da arrecadao, melhoria no processo de controle fiscal. Com essas novas diretrizes, impostas pelo Governo Federal, a Lojas Maia para atender estas necessidades, decidiu automatizar o processo de

recebimento, validao e integrao da NF-e, que anteriormente era feito de forma manual. Diante do exposto, este trabalho apresenta as etapas de planejamento e desenvolvimento do sistema RVI_NFe, que tem o intuito de automatizar todo o processo de entrada das NF-e.

1.1 Objetivo

Este trabalho tem por objetivo geral mostrar o planejamento e desenvolvimento de uma aplicao Web para receptao, validao e integrao das notas fiscais eletrnicas de entrada. O desenvolvimento deste sistema teve como patrocinador a rede varejista Magazine Luza, com a finalidade de atender a necessidade de automatizao do processo na rede Lojas Maia, empresa pertencente ao grupo. Para atender a este objetivo geral, foi necessrio percorrer os seguintes objetivos especficos: Desenvolver um mecanismo de acesso ao email fornecido pelo Magazine Luza, utilizando um filtro para o acesso apenas aos emails referentes s NF-e; Desenvolver um mecanismo de automatizao para gerenciar todo o processo de download, validao e integrao ao banco de dados; Utilizar o WebService padro disponibilizado para validao automtica das NF-e junto ao site da SEFAZ (Secretaria da Fazenda); Criao de um script para Oracle. Salvar os dados da NF-e no Banco de dados aps validao na SEFAZ;

1.2 Grupo E-Gen

O Grupo E-Gen uma empresa de desenvolvimento de software, sediada em Joo Pessoa-PB. Criada no ano de 2002, com o principal objetivo de aumentar a produtividade no desenvolvimento de sistemas corporativos, tendo como consequncias imediatas reduo dos custos e a possibilidade de agregar valor rapidamente. Utilizando esse conceito, foi criado o e-Gen Developer1, ambiente de desenvolvimento baseado na plataforma Java para criao de aplicaes corporativas no padro Web, sendo ele Open-Source e licena GPL2 (General Public License). A empresa foi responsvel pelo gerenciamento e acompanhamento de alguns projetos utilizando o e-Gen Developer, dentre as principais empresas parceiras so a rede de varejo Lojas Maia, Banco do Brasil, Schartner AG e Brasil Telecom, incorporado posteriormente Oi Telecomunicaes. No estgio recebi treinamento para a utilizao do e-Gen Developer em conjunto com a plataforma Java e seus componentes, linguagem de programao padro da empresa. Os projetos foram desenvolvidos sob a orientao do Analista Desenvolvedor, Sr. Juracy Neto e acompanhados pela equipe de desenvolvimento.

1.3 Estrutura do relatrio

Este documento composto por mais quatro captulos, alm desta introduo: O Captulo 2 encontra-se a fundamentao terica com os conceitos e definies relacionadas NF-e, API JavaMail e ao framework Quartz, destacando os requisitos para o desenvolvimento de cada um deles neste projeto. No Captulo 3 apresentado o Projeto RVI_NFe, mostrando o objetivo do sistema, metodologia de desenvolvimento utilizada e as atividades percorridas durante o projeto. O Captulo 4 encontra-se os resultados, obtidos a partir do

desenvolvimento, testes e implantao do sistema na rede Lojas Maia. Por fim, no Captulo 5 esto contidas as concluses a respeito do trabalho e do perodo de estgio.
1 2

http://www.egen.com.br Designao oficial da licena para software livre.

10

2.

F UNDAMENTAO TERICA
O objetivo deste captulo apresentar os conceitos relacionados NF-e e

as normas necessrias para a sua emisso. Tambm so apresentados sistemas equivalentes ao software desenvolvido, mostrando suas principais no

funcionalidades. Por fim, apresentar algumas desenvolvimento do projeto RVI_NFe.

ferramentas

utilizadas

2.1 NF-e

O Projeto NF-e tem como objetivo a implantao de um modelo nacional de documento fiscal eletrnico, substituindo no processo de validao, a emisso da NF-e em papel. Desenvolvida pela Receita Federal do Brasil em conjunto com as SEFAZ estaduais e o ENCAT, garante integridade e validade jurdica, por meio da assinatura digital do emitente e recepo, pelo fisco. De acordo com o Manual (2009), a NF-e um documento emitido e armazenado eletronicamente, cuja existncia se limita aos meios digitais, com o intuito de documentar uma operao de circulao de mercadorias ou prestao de servios ocorrida entre as partes.
O processo simplificado consiste na gerao de um arquivo eletrnico, contendo as informaes fiscais da operao comercial. Este arquivo dever conter a assinatura digital da empresa emissora, garantindo a integridade dos dados. Esta NF-e ser transmitida pela Internet para a SEFAZ de emisso que devolver uma autorizao de uso. (EMISSOR, 2010, p.4).

A NF-e tem como principais vantagens: Reduo de custos: como a NF-e emitida eletronicamente, no se faz necessrio a aquisio de papel para impresso e alocao de espao para armazenamento; Transparncia fiscal e eficincia da fiscalizao: com a emisso da NF-e, devido segurana e padres como os certificados digitais e web services, ocorrem uma diminuio na sonegao de tributos e um aumento na eficincia da fiscalizao pelo rgo responsvel. Padronizao e incentivo ao uso de tecnologias: a adoo da NF-e acarreta numa padronizao dos equipamentos e sistemas utilizados no processo, seguindo as normas predefinidas, incentivando assim a melhoria e automatizao das empresas brasileiras.

11

Para o transporte da mercadoria, necessria a impresso de um documento auxiliar para representao grfica da NF-e, intitulado DANFE. Tendo em seu contedo, a chave de acesso para consulta da NF-e na Internet e um cdigo de barras para a confirmao de informaes da NF-e pelas unidades fiscais.

2.1.1

DANFE

O DANFE um documento fiscal auxiliar que tem a finalidade de acobertar a circulao da mercadoria e no se confunde com a NF-e da qual mera representao grfica (MANUAL, 2009, p.18). A validade deste documento est condicionada existncia da NF-e devidamente autorizada na SEFAZ de origem e no tem nenhum valor fiscal se emitido em papel comum. Segundo o Manual (2009, p. 90), os principais objetivos da impresso do DANFE so: Acompanhar o trnsito de mercadorias; Colher a firma do destinatrio/tomador para comprovao de entrega das mercadorias ou prestao de servios; Prover a necessidade de representaes impressas adicionais previstas expressamente na legislao; Auxiliar a escriturao da NF-e pelo destinatrio no credenciado como emissor de NF-e. A estrutura do DANFE contm todas as informaes relacionadas ao produto ou servio prestado e pode ser observada na figura 1.

12

Figura 1: DANFE emitido em folha comum. Fonte: http://inforviasistemas.com.br/NFeInicial.htm O DANFE poder ser impresso em papel, com exceo de papel jornal, no tamanho mnimo A4 (210 x 297 mm) e no mximo Ofcio 2 (230 x 330 mm), podendo ser utilizadas folhas soltas, formulrio de segurana, Formulrio de Segurana para Impresso de Documento Auxiliar de Documento Fiscal Eletrnico (FS-DA), formulrio contnuo ou formulrio pr-impresso. (CONTINGNCIA, 2009, p. 18).

2.2 Normas para emisso da NF-e

O Projeto da NF-e baseado no conceito de documento fiscal eletrnico: um arquivo eletrnico com as informaes fiscais da operao comercial que tenha a assinatura digital do emissor. Para a emisso da NF-e, o contribuinte deve seguir algumas normas definidas pelo Manual da Contingncia (2009), que vai desde a autorizao para o uso da NF-e s exigncias tcnicas. De acordo com o Manual de Contingncia (2009), atualmente existem as seguintes modalidades de emisso de NF-e mostradas a seguir na Figura 2:

13

Figura 2: Modalidades de emisso da NF-e. Fonte: http://www.spedbrasil.net/forum/topics/contingencia-desobrigacao-da

Normal: o procedimento padro de emisso da NF-e com transmisso da NF-e para a Secretaria de Fazenda de origem do emissor para obter a autorizao de uso, o DANFE ser impresso em papel comum aps o recebimento da autorizao de uso da NF-e;

FS - Contingncia com uso do Formulrio de Segurana: a alternativa mais simples para a situao em que exista algum impedimento para obteno da autorizao de uso da NF-e. O emissor pode optar pela emisso da NF-e em contingncia com a impresso do DANFE em Formulrio de Segurana.

FS-DA - Contingncia com uso do Formulrio de Segurana para impresso de Documento Auxiliar do Documento Fiscal eletrnico FS-DA: um modelo operacional similar ao modelo operacional da contingncia com uso de Formulrio de Segurana FS, a nica diferena o aumento dos pontos de venda do Formulrio de Segurana com a criao da figura do

estabelecimento distribuidor do FS-DA; SCAN Sistema de Contingncia do Ambiente Nacional: Nesta modalidade de contingncia o DANFE pode ser impresso em papel comum e no existe

14

necessidade de transmisso da NF-e para SEFAZ de origem quando cessarem os problemas tcnicos que impediam a transmisso. DPEC Declarao Prvia de Emisso em Contingncia: O registro prvio das NF-e permite a impresso do DANFE em papel comum. A validade do DANFE est condicionada posterior transmisso da NF-e para a SEFAZ de Origem.

2.2.1 XML

XML uma linguagem de marcao de dados que prov um formato para descrever dados estruturados facilitando declaraes mais precisas do contedo e resultados mais significativos (FURTADO Jr., 2009). Concomitantemente, Menndez (2002) afirma que XML um padro da indstria de informtica que tem como maior objetivo o intercmbio de dados, possibilitando que sistemas possam trocar informaes de uma forma mais abrangente.

Figura 3: NF-e em formato XML com os padres especificados. Fonte: Contingncia, 2009.

Como visto na Figura 3, o Projeto NF-e adota a especificao do documento XML recomendado pela W3C (World Wide Web Consortium) para XML 1.0 e a codificao dos caracteres em UTF-8, com todos os documentos XML iniciados com a declarao <?xml version="1.0" encoding="UTF-8"?>.

15

2.2.2 Certificado Digital

Um dos requisitos tecnolgicos para a emisso de NF-e que a empresa disponha de um certificado digital de pessoa jurdica, emitida pela ICP-Brasil (Infraestrutura de Chaves Pblicas Brasileira). De acordo com o Manual (2009), esse certificado digital possui duas funes: assinar digitalmente as NF-e e identificar o servidor da empresa no momento em que ele se conectar ao sistema da SEFAZ para transmitir as NF-e. Emissor (2010) define dois tipos de certificados digitais de pessoa jurdica: Padro ICP-Brasil: o processo de emisso de um certificado digital de pessoa jurdica requer a apresentao dos documentos, a validao presencial e a assinatura de Termos de Titularidade pelo responsvel legal pela entidade certificada; e-CNPJ: emitido pelas AC (Autoridades Certificadoras)

subordinadas Receita Federal do Brasil, o responsvel legal que assina o Termo de Responsabilidade e ele que deve exclusivamente, a senha e a posse do certificado. manter,

2.2.3

Web Service

Bambinete (2008, apud Snell, Tidwell, Kulchenko, 2002), define Web Service como uma interface acessvel pela rede de funcionalidades de aplicaes, construda usando padres da internet. Web Services so ferramentas computacionais que aceitam solicitaes de outros sistemas atravs da Internet (Menndez, 2002). Destacam-se como principais vantagens encontradas nos Web Services integrao entre aplicaes construdas em diferentes tecnologias e a facilidade de implementao. O Manual (2009) define como padro de comunicao Web Services disponibilizados pelo Sistema de Contingncia da SEFAZ, responsveis pela tramitao das NF-e na Internet.

2.3 Sistemas semelhantes

16

Partindo da obrigatoriedade da emisso da NF-e, imposta pelo Governo Federal, muitas empresas desenvolveram seus prprios sistemas gerenciadores de NF-e, no intuito da comercializao de seus produtos para outras empresas ou mesmo para suprir as suas necessidades. Dentre os sistemas utilizados no mercado, merece destaques o Radar RVI_NF-e, NF-e AFA, Systax:

2.3.1

Radar RVI_NF-e

Desenvolvido pela WK Solues, sediada em Blumenau, Santa Catarina, o Radar RVI_NF-e 3 o sistema no qual baseada a estrutura do sistema RVI_NFe, destacam-se as principais funcionalidades a automatizao do processo de recepo, validao e integrao da NF-e, disponibilizando-o na tela de entradas do sistema, proporcionando agilidade e segurana ao processo. Na figura 4, observa-se o funcionamento do processo de listagem de NF-e no sistema Radar RVI_NF-e.

Figura 4: Tela de pesquisa de NF-e Radar RVi_NF-e. Fonte: http://www.prodatasystems.com.br/img/wkradar/nf-e/Site NF-e.jpg

2.3.2

NF-e AFA

http://www.wk.com.br/Produtos/RadarRVI-NFe.aspx

17

Com o objetivo de proporcionar agilidade e fcil acesso as funes do sistema, foi desenvolvido pela AFA Assessoria e Informtica, o NF-e AFA4, tendo seu pblico alvo s empresas que possuem sistemas para emisso da NF-e e necessitam de um gerenciador que faa a receptao e validao da NF-e.

Figura 5: Diagrama de envio e recebimento - NF-e AFA. Fonte: http://www.afa.inf.br/nf-e/imagens/envio_retorno.png

Observa-se na figura 5, a descrio de todos os processos utilizados pelo sistema NF-e AFA. O processo de envio se caracteriza pela emisso das NF-e por sistemas proprietrios, importao das NF-e para o sistema NF-e AFA, verificao e validao por meio de uma conexo com o WebService. A partir do processo de envio, faz-se necessrio o retorno das NF-e, contendo a gerao de relatrios e da DANFE, impresso e armazenamento em banco de dados.

2.3.3

Systax Validao NF-e

Tendo como principal funo a validao tributria da NF-e, desenvolvida pela FISCOSoft, o Systax5 garante a verificao adequada da incidncia do tributo como um diferencial, processando mais de 452.700 regras de tributao, viabilizando um sistema que possibilite interagir com os sistemas empresarias implantados nas empresas, resultando em agilidade e maior qualidade dos processos.

4 5

http://www.afa.inf.br/nf-e/notafiscal.html http://www.systax.com.br/

18 Software Empresa Funes RVI-NFe Grupo E-gen Receptao, Validao e Integrao Disponibiliza Radar RVINFe NFe-AFA AFA Validao Systax NF-e FISCOSoft Validao

WK Solues
Receptao, Validao e Integrao Disponibiliza

Telas do Sistema

No disponibiliza

No disponibiliza

Tabela 1 - Quadro comparativo entre os sistemas de validao Fonte: Prprio autor.

A tabela acima mostra um comparativo sobre cada um dos sistemas expostos. O Grupo E-gen no desenvolvimento do RVI_NFe tomou por referncia o Radar RVI-NFe por ser completo e bem aceito no mercado. O NFe-AFA se destaca por utilizar um fluxo inteligente e simples do funcionamento, mas no contm um mdulo para receptao das NF-e, precisando assim de outro software ou disponibilizao de um usurio. O Systax NF-e tem seu ponto forte na tributao de impostos, por conter grandes informaes e regras implementadas. 2.4 Ferramentas utilizadas No desenvolvimento deste software, foram utilizadas alm da plataforma Java, algumas ferramentas para auxiliar a construo da aplicao. As principais ferramentas descritas neste trabalho so: IDE Eclipse6, API JavaMail7 e o Framework Quartz8. Segundo Larman (2004), um framework pode ser definido como um conjunto coeso de interfaces e classes que colaboram para fornecer servios para a parte bsica e constante de um subsistema lgico. Neste trabalho, adotou-se o termo framework para definir um conjunto de classes e interfaces implementadas, utilizada para reuso do cdigo. Tambm foi adotado o termo API como um conjunto de rotinas e padres estabelecidos por um software para a utilizao das suas funcionalidades.

2.4.1

IDE Eclipse

6 7

http://www.eclipse.org/ http://www.oracle.com/technetwork/java/javamail/index.html 8 http://www.quartz-scheduler.org/

19

um ambiente de desenvolvimento, desenvolvido em Java, que disponibiliza recursos para o desenvolvimento de aplicaes em diversas linguagens de programao.
Eclipse um IDE (Integrated Development Environment) desenvolvido em Java, seguindo o modelo open source de desenvolvimento de software. O projeto Eclipse foi iniciado na IBM que desenvolveu a primeira verso do produto e doou-o como software livre para a comunidade. (LUCKOW e MELO, 2010)

Nos dias atuais, o Eclipse o IDE Java mais utilizado no mundo. Possui como caractersticas marcantes o uso da SWT e no do Swing como biblioteca grfica, amplo suporte ao desenvolvedor, baseado na forte orientao ao desenvolvimento em plug-ins que procuram atender as diferentes necessidades dos programadores. A figura 6 ilustra o funcionamento do IDE Eclipse, contendo abas de controle para otimizao e organizao no desenvolvimento de sistemas.

Figura 6: Ilustrao do IDE Eclipse. Fonte: http://www.yolinux.com/TUTORIALS/images/JavaIDE-Eclipse_FullSizeImage.gif

2.4.2

API JavaMail

Desenvolvida pela Sun Microsystems, a API JavaMail fornece uma estrutura independente de plataforma e de protocolo para construir e-mail e

20

aplicativos de mensagens. A API JavaMail est disponvel para uso na plataforma Java SE e Java EE.

2.4.3

Framework Quartz

O Quartz um framework Open Source simples e flexvel, utilizado nas plataformas Java EE e Java SE. Permite o desenvolvimento aplicaes com agendamentos por intervalos de tempo, propiciados pelos Jobs de servios em aplicaes, onde possvel construir vrios relacionamentos entre os elementos de sua estrutura bsica: Jobs, Trigger e Scheduler. As principais caractersticas do Quartz so: Criao de agendamentos em tempo de execuo; Agendamentos definidos por ano, data, hora, minuto e segundo; Persistncia de trabalho fornecida por vrios mecanismos de

armazenamento;

2.4.3.1

Jobs
Os Jobs so as tarefas que sero executadas pelo Quartz. A execuo est vinculada a uma determinada condio associada a este processo que deve ser satisfeita. parte do cdigo responsvel por executar a tarefa propriamente dita do agendamento. (GUIA, 2010, p. 4)

O Job uma simples classe Java que realiza uma tarefa. A nica exigncia que esta classe implemente a interface org.quartz.Job e dispare uma JobExecutionException no caso de um erro grave.

2.4.3.2

Trigger

Segundo o Guia (2010), Trigger, ou gatilho, est associado ao evento do disparo durante a execuo de um processo. parte do cdigo responsvel por determinar quando determinado Job dever ser executado. Triggers so usados para disparar a execuo de Jobs. Para o agendamento da tarefa, necessrio instanciar uma Trigger e configurar suas propriedades para prover o agendamento que deseja. Atualmente existem dois tipos de Triggers:

21

SimpleTrigger: utilizado para agendamento de tarefas que devem ser executadas uma vez em uma determinada data ou em uma data especfica e em um determinado intervalo.

CronTrigger: mais utilizado que o SimpleTrigger, trata de expresses mais complexas, determinando quando e de quanto em quanto tempo a tarefa deve ser executada.

Nome Segundos Minutos Hora Dia do ms Ms Dia da semana Ano

Obrigatrio Sim Sim Sim Sim Sim Sim No

Faixa de Valores 0-59 0-59 0-23 1-31 1-12 ou JAN-DEC 1-7 ou SUN-SAT 1970-2099

Especiais ,-*/ ,-*/ ,-*/ , - * ? / LW ,-*/ ,-*?/L# ,-*/

Tabela 2 - Formato das expresses do CronTrigger. Fonte: Prprio autor.

Conforme observado na tabela 1, so listados os requisitos para a criao de expresses de controle CronTrigger. Observa-se ainda a faixa de valores e caracteres especiais suportados pelo framework.

2.4.3.3

Scheduler

a interface que concentra os Jobs, responsvel por iniciar, pausar e parar todo o processo de agendamento. Contm os principais mtodos para o gerenciamento, tais como: scheduling/unscheduling; Starting/Stopping/Pausing; ScheduleJob();

22

3.

O P ROJETO RVI_NFE
Este Captulo tem como objetivo a apresentao do sistema RVI_NFe,

desenvolvido no Grupo e-Gen, descrevendo os requisitos do sistema, funcionais e no-funcionais, a metodologia de desenvolvimento, alm de todo o processo utilizado no sistema.

3.1 Objetivo da ferramenta O intuito principal do desenvolvimento do sistema RVI_NFe, a implementao de uma aplicao Web, criando soluo para os problemas referentes a validao das NF-e, encontrados na rede Lojas Maia. O processo consiste em automatizar toda a funcionalidade de validao, sem a necessidade de mo de obra, anteriormente empregado. Atualmente, o sistema est em pleno funcionamento no Departamento de Tecnologia da Informao das Lojas Maia, em sua matriz, localizado na BR230.

3.2 Metodologia de desenvolvimento Segundo Sommerville (2003), o modelo em cascata foi o primeiro modelo publicado de desenvolvimento de software, baseado em outros processos de engenharia. Concomitantemente Victorino e Brscher (2009) afirmam que o modelo em cascata foi proposto por Winston W. Royce em 1970, e se caracteriza por possuir progresso sequencial entre as fases. O modelo em cascata sugere uma abordagem linear e contnua entre todas as atividades envolvidas no desenvolvimento de software, tambm sendo conhecido como ciclo de vida do software por sua caracterstica sequencial de eventos (Pressman, 2006). Amplamente utilizado, esta metodologia se destaca nos dias atuais por sua simplicidade e qualidade gerada ao desenvolvimento do software. O modelo de processo em cascata tem como principais vantagens a produo de documentao ao final de cada fase e a sua aderncia a outros modelos de processo (Sommerville, 2003).

23

Figura 7: Representao grfica do ciclo de vida no Modelo em Cascata. Fonte: Sommerville, 2003.

Como pode ser visto na figura 7, Sommerville (2003), concomitantemente com Pressman (2006), definem as seguintes fases do modelo em cascata: Anlise dos requisitos de software: As funes, as restries e os objetivos do sistema so estabelecidos por meio da consulta aos usurios do sistema. Tambm so definidos os detalhes que servem como especificao do sistema (SOMMERVILLE, 2003) Projeto de software: Sommerville (2003) define projeto de software como o processo que agrupa os requisitos de hardware e software, estabelecendo uma arquitetura e envolvendo a identificao e descrio do sistema de software. Desenvolvimento: De acordo com Pressman (2006), a atividade de desenvolvimento consiste em transformar, atravs de tcnicas de programao, o projeto de software em um produto executvel e operacional.

24

Integrao e Testes: Para Sommerville (2003), as unidades de programas individuais so integrados e testados como um sistema completo, a fim de garantir que os requisitos de software foram atendidos.

Operao e Manuteno: Ainda segundo Sommerville (2003), a fase mais longa do processo. O sistema instalado e colocado em operao e a manuteno envolve a correo dos erros que no foram descobertos em estgios anteriores.

3.3 Atividades Percorridas

Esta seo apresentada detalhadamente as principais atividades realizadas nos processos de planejamento e desenvolvimento do sistema RVI_NFe.

3.3.1

Diagramas

Como tcnica para diagramao do sistema RVI_NFe, foi escolhido o padro UML (Unified Modeling Language) em conjunto com a ferramenta de modelagem Astah* Community9, desenvolvido pela Change Vision, Inc.
A UML (Unified Modeling Language) uma linguagem para especificao, documentao, visualizao e desenvolvimento de sistemas orientados a objetos. Sintetiza os principais mtodos existentes, sendo considerada uma das linguagens mais expressivas para modelagem de sistemas orientados a objetos. (Vargas, 2008, p.1)

A UML tem por objetivo permitir que desenvolvedores e clientes visualizem os produtos e trabalho realizado em diagramas padronizados.

3.3.1.1 Diagrama de Caso de Uso

O diagrama de Caso de Uso descreve um cenrio que mostra as funcionalidades do sistema do ponto de vista do usurio. Larman (2007) define casos de uso como uma coleo de cenrios relacionados de sucesso e fracasso, que descrevem um ator usando um sistema como meio para atingir um objetivo.

http://astah.net/editions/community

25

Figura 8: Diagrama de Casos de Uso RVI_NFe. Fonte: Prprio autor

Na Figura 8 so apresentadas as aes do sistema, o papel de cada ator e como as aes se relacionam entre si. A seguir so descritos individualmente cada um dos casos de uso apresentados no diagrama de casos de uso: Conectar e-mail: consiste na realizao da conexo automtica com a conta de e-mail referente recepo das NF-e, para a conexo, o administrador precisa informar o e-mail e a senha correspondente. Baixar anexos: O processo consiste em realizar o download dos anexos XML das NF-e e armazen-las em um diretrio do servidor. Toda a manipulao realizada pelo framework Quartz. Validar NF-e: realiza a validao das NF-e, junto ao site da SEFAZ. O sistema enviar a chave de acesso contida na NF-e, consultando sua situao atual, caso o retorno seja Autorizado, ser executado o armazenamento da NF-e no banco de dados.

26

Armazenar no banco de dados: Este procedimento consiste em salvar no banco de dados as informaes contidas na NF-e vlidas.

3.3.1.2 Diagrama de Classes

O diagrama de Classes uma representao da estrutura e relaes das classes implementadas no sistema.

Figura 9: Diagrama de Classes - RVI_NFe. Fonte: Prprio autor

A seguir so descritos individualmente cada classe apresentados no diagrama da Figura 9: NFe: contm atributos referentes aos campos da NF-e emitida, necessrios para a validao junto ao site da SEFAZ. Tais atributos so preenchidos por meio do mtodo Operaes, contido na classe Operaes; Operaes: seus atributos recebem links para os Web Services disponibilizados para a validao na SEFAZ, de acordo com o estado federativo. Contm ainda o mtodo validarNFe para a solicitao de

27

validao e o mtodo Operaes responsvel pela execuo de outros processos no software; RVI_NFeJob: executa o agendamento criado por meio do mtodo execute; RVI_NFeScheduler: principal classe do framework Quartz, contm um atributo instanciado da classe nativa Job e o mtodo SchedulerJob, responsvel por iniciar o agendamento dos processos. ConsultarNFe: responsvel por buscar o resultado da validao, armazenados nos seus atributos. Parametros: contm todos os atributos necessrios para a execuo do sistema, como a conta de e-mail, senha, certificado e assinatura digital, armazenados no banco de dados. ConectarEmail: responsvel pela conexo e download das NF-e,

contm atributos passados pela classe Parametros.

3.3.1.3 Diagrama de Sequncia

O diagrama de sequncia utilizado para representar a continuao dos processos durante a execuo do sistema. Na Figura 9 apresentada a sequncia de processos do sistema RVI_NFe, o papel de cada ator e como as aes se relacionam entre si. O prottipo utiliza a classe Quartz para, atravs dela, executar todos os processos.

28

Figura 10: Diagrama de Sequncia RVI_NFe. Fonte: Prprio autor

3.3.2 Testes de software e validao Os testes de software tm como objetivos validar as funcionalidades desenvolvidas e avaliar se o que foi construdo est de acordo com o que o cliente solicitou, tornando-se assim, uma das fases mais importantes da metodologia de desenvolvimento em cascata. O plano de testes utilizado para a verificao e validao do RVI_NFe foram os Testes Unitrios, utilizando a framework JUnit, disponibilizado na IDE Eclipse. O JUnit10 um framework de testes unitrios automatizados para a linguagem Java. A utilizao do JUnit facilita a criao de cdigo automtico para testes, podendo assim fazer a verificao se cada mtodo de uma classe funciona da forma esperada, exibindo possveis erros ou falhas (NETO, 2009). A validao do sistema veio a partir de testes de implementao, desenvolvidos em ambiente de produo da rede Lojas Maia. O sistema RVI_NFe passou um perodo de sete dias em funcionamento, com testes dirios de receptao e validao de NF-e. Aps este perodo de analise dos resultados, o sistema recebeu a permisso de implantao e utilizao.

10

http://www.junit.org/

29

3.3.3 Configurao do Quartz Dentro do processo de codificao do sistema RVI_NF-e, algumas atividades foram desenvolvidas para a automatizao do sistema. O framework Quartz foi utilizado no RVI_NF-e para proporcionar o agendamento das operaes. Nesta fase, fez-se necessrio a configurao do arquivo quartz-jobx.xml, utilizando as expresses CronTrigger para definio do intervalo de tempo ao qual o sistema ser executado, conforme ilustrado na imagem 11.

Figura 11: Arquivo de configurao do agendamento. Fonte: RVI_NFe

A figura 11 descreve a estrutura do arquivo quartz-jobs.xml, contendo marcaes do tipo: <job>: estrutura que organiza todas as marcaes; <job-detail>: informa o nome do arquivo, grupo de utilizao, descrio e a classe controladora; <trigger>: define que ser implementado um Trigger no sistema; <cron>: informa o nome da expresso, nome do Job utilizado, grupo de utilizao, descrio e a classe controladora;

30

<cronexpression>: contm a expresso que define o intervalo de tempo, utilizando valores e caracteres especiais descritos no quadro 1, na pgina 20;

Figura 12: Classe RVI_NFeScheduler. Fonte: RVI_NFe

A figura 12 mostra a classe RVI_NFeScheduler, responsvel pelo disparo dos Jobs e Triggers implementados no sistema. A estrutura desta classe contm o mtodo RVI_NFeScheduler() que instancia objetos do tipo SchedulerFactory, Scheduler e SimpleTrigger.

31

4.

R ESULTADOS
Os resultados obtidos com o desenvolvimento deste trabalho se mostraram

aceitveis visto que todos os objetivos foram atendidos, tais como, o desenvolvimento de um sistema automtico para receptao e validao de NF-e, e a criao de um banco de dados para o armazenamento das informaes relacionadas s NF-e.
25

20

15 Processo Anterior 10 RVI_Nfe

0 Quantidade de Validaes Figura 13: Grfico comparativo de validaes - RVI_NFe Fonte: Informaes cedidas pelo do ncleo de tecnologia das Lojas Maia.

A figura 13, mostra com base em relatrios mensais gerados pela equipe de TI das Lojas Maia, a comparao entre a quantidade de NF-e validadas utilizando o processo antigo, manualmente operado por funcionrios e o novo modelo de processo, utilizando o RVI_NFe. Nota-se que com a validao feita a partir do RVI_NF-e, o processo tem um maior desempenho, validando assim 50% de NF-e a mais do que no processo anterior.

4.1 Cenrio de Uso Nesta seo, ser mostrado o cenrio de uso do sistema RVI_NFe. As telas de gerenciamento do sistema foram construdas com a utilizao do e-Gen Developer, sistema para gerao de cdigo em diversas plataformas. As imagens a seguir exibem as telas do sistema, visando um melhor entendimento da utilizao do RVI_NFe.

32

Figura 14: Tela de login - RVI_NF-e Fonte: RVI_NF-e

A figura 14 apresenta a tela inicial da ferramenta. No centro da imagem, observa-se os campos username e password. O usurio deve utilizar um nome de usurio e senha cadastrados no sistema para obter permisso de uso. Apenas algumas funes do sistema podem ser manipuladas pelas telas do sistema, pois o framework Quartz encapsula de maneira otimizada outras funes do sistema. As principais vantagens no seu uso so: simplicidade no processo de pesquisa NF-e, criao de relatrios e definio dos parmetros necessrios na configurao, evitando assim complexidade e alterao no cdigo fonte. A figura 15 ilustra a utilizao do processo de definio dos parmetros no sistema RVI_NF-e.

33

Figura 15: Tela de definio dos parmetros - RVI_NF-e Fonte: RVI (2011)

Conforme visto na figura 15, a tela de definio de parmetros proporciona a criao e armazenamento no banco de dados de parmetros de utilizao no sistema RVI_NF-e. Faz-se necessrio o preenchimento do cdigo do parmetro, nome e valor relacionado. A tela de pesquisa contm os campos da NF-e armazenada, mostrando com detalhe todos os valores relacionados. Encontra-se tambm nesta tela, a opo de criao de relatrios em alguns tipos de arquivo, tais como: doc, pdf e xls. A figura 16 ilustra essa situao.

34

Figura 16: Tela de pesquisa de NF-e com gerao de relatrios Fonte: RVI_NF-e

5.

C ONCLUSES
Neste trabalho, foi apresentado o sistema Web RVI_NFe, que teve por

objetivo prover um software para dar suporte ao processo de validao das NF-e de entrada da rede de varejo Lojas Maia.

35

Durante o planejamento do sistema, fez-se necessrio o estudo aprofundado do Projeto NF-e, suas normas e diretrizes impostas a fim de conhecer a regra de negcio necessria no desenvolvimento da aplicao. Alm disso, o planejamento contemplou a definio da metodologia de

desenvolvimento, levantamento de requisitos do sistema e o plano de testes. Todo esse estudo garantiu um desenvolvimento com qualidade elevada, seguindo todo o planejamento e documentao produzida.

5.1 Dificuldades Uma dificuldade encontrada no desenvolvimento deste sistema foram os prazos estipulados para a entrega do produto final, estimados em apenas dez dias teis, contanto a partir do planejamento e definio dos requisitos. Este prazo foi estipulado pela urgncia no desenvolvimento do software, entretanto foi possvel cumpri-lo, pois foi alocada uma equipe experiente, gerando assim a satisfao do cliente por automatizar o processo de validao e recursos para o Grupo E-Gen. Outra dificuldade foram os testes de integrao de envios e validao SEFAZ, pois foi necessria a utilizao de um certificado digital vlido, solicitado s Lojas Maia e validado apenas na sede da empresa, por motivos de segurana. Podemos concluir que o uso das novas tecnologias e diretrizes relacionadas NF-e, impostas pelo Governo Federal do Brasil possibilita a melhoria nos processos de emisso, validao, controle e fiscalizao, alm de reduzir os custos para todos os envolvidos, trazendo assim impacto positivo em termos ecolgicos.

5.2 Trabalhos futuros Como trabalho futuro sugere-se o desenvolvimento de um mdulo do sistema para execuo de procedimentos de emisso da NF-e seguindo o modelo e normas estabelecidas pelo Manual (2009). Com este mdulo, o sistema disponibilizar de todos os recursos, podendo futuramente ser comercializado com outras organizaes.

36

R EFERNCIAS
BAMBINETE, Charles. Sistema de Web Services para inventrio de estaes em rede (2008). Universidade Regional de Blumenau, Blumenau. CONTINGNCIA. Manual de Emisso da NF-e em Contingncia. v.1.0.1. 2009. Disponvel <http://www.fazenda.gov.br/confaz/confaz/Diversos/ATO_COTEPE_14-09__MANUAL_DA_CONTINGENCIA.pdf> Acessado em: 12 de Dezembro de 2011. em:

37

EMISSOR. Como se Tornar Emissor de NF-e. v.1.9. 2010. Disponvel em: < www.sefaz.ba.gov.br/nfen/portal/manual_nfe_v18.pdf > Acessado em: 12 de Dezembro de 2011. FILHO, M. S. - TI aplicada logstica e integrao de sistemas (2009). Disponvel em: <http://www.slideshare.net/mariosilvestri/aula-07-ti-aplicado-a-

logistica-e-integracao-de-sistemas-1052964> Acessado em: 29 de Setembro de 2011. FURTADO Jr., M. B. - XML Extensible Markup Language (2009). Disponvel em: <http://www.gta.ufrj.br/grad/00_1/miguel/> Acessado em: 02 de Novembro de 2011. GONALVES apud PRATES, G.A. e OSPINA, M.T. - Tecnologia da informao em pequenas empresas: fatores de xito, restries e benefcios (2004). Disponvel em: <http://www.scielo.br/scielo.php?pid=S1415-

65552004000200002&script=sci_arttext> Acessado em: 29 de Setembro de 2011. GUIA. Guia para Utilizao do Framework Quartz (2010). 1.ed. Curitiba: Celepar. Disponvel em: <http://migre.me/77BGd> Acessado em: 12 de Dezembro de 2011. JAVA. Java Magazine 60. ed. p.8-10 So Paulo: DevMdia. 2008. LARMAN, Craig. Utilizando UML e Padres: Uma introduo anlise e ao projeto
orientados a objetos e ao desenvolvimento iterativo. 3. ed. Porto Alegre: Bookman, 2007.

LAUDON, K. C e LAUDON, J. P. Gerenciamento de Sistemas de Informao. 3 ed. Rio de Janeiro, LTC, Rio de Janeiro, 2001. LUCKOW, D. H. e MELO, A. A. - Programao Java para a Web: Aprenda a desenvolver uma aplicao financeira pessoal com as ferramentas mais modernas da plataforma Java. 1 ed. So Paulo: Novatec, 2010. MANUAL. Manual de Integrao Contribuinte. v.4.0.1. 2009. MENNDEZ, Andrs I. M. - Uma ferramenta de apoio ao desenvolvimento de Web Services (2002). Dissertao de Mestrado, Universidade Federal de Campina Grande, Coordenao de Ps-Graduao em Informtica, Campina Grande. MF - Ministrio da Fazenda. Ajuste do SINIEF 07/05 (2005). Disponvel em: <http://www.fazenda.gov.br/confaz/confaz/ajustes/2005/AJ_007_05.htm> Acessado em: 15 de Setembro de 2011.

38

PARSONS apud SACCOL, A.Z., et al. Avaliao do Impacto dos Sistemas ERP sobre Variveis Estratgicas de Grandes Empresas no Brasil (2004). Disponvel em: <http://www.scielo.br/pdf/rac/v8n1/v8n1a02.pdf> Acessado em: 28 de Setembro de 2011. PRESSMAN, R. S. Engenharia de Software. 6. ed. So Paulo: Pearson, 2009. SOMMERVILLE, Ian. Engenharia de Software. 6. ed. So Paulo: Addison Wesley, 2003. RVI Documentao de Casos de Uso RVI_NF-e (2011). Grupo E-gen, Joo Pessoa. VARGAS, T. C. S. - A histria de UML e seus diagramas (2008). Universidade Federal de Santa Catarina, Departamento de Informtica e Estatstica, Santa Catarina. VICTORINO, M. e BRSCHER, M. - Organizao da Informao e do Conhecimento, Engenharia de Software e Arquitetura Orientada a Servios: uma Abordagem Holstica para o Desenvolvimento de Sistemas de Informao Computadorizados. Revista de Cincia da Informao - v.10 n.3. 2009.

Вам также может понравиться