Você está na página 1de 31

Universidade Estadual do Centro-Oeste – UNICENTRO

Felipe Ribas Forbeck

Desenvolvimento de um protótipo de uma arquitetura funcional em JEE como modelo


para a integração e conversão de sistemas comerciais voltado ao front-end

Relatório Final da disciplina


Estágio Supervisionado do 4º
ano do curso de Ciência da
Computação a ser
apresentado como forma de
requisito à obtenção do título
de graduado em Ciência da
Computação.

Orientador: Fábio Luiz Pessoa Albini

Guarapuava
2009
Resumo

Sabe-se sobre a rápida evolução e tendência dos novos sistemas comerciais, o


ambiente web. É de grande valia que as fábricas de softwares de hoje estejam
preparadas para desenvolver serviços neste tipo de ambiente, entretanto esperando por
várias dificuldades. Cita-se em especial, a migração do ambiente desktop para o web
na qual há uma grande diferença visual é encontrada, se tratando das interfaces
gráficas. Assim, este trabalho apresenta o desenvolvimento do front-end de uma
plataforma tecnológica e de um módulo comercial, cujo projeto emprega um
framework JSF com o intuito de facilitar o desenvolvimento e reduzir os impactos da
migração de ambiente para o usuário. O foco é manter um visual semelhante ao
desktop na web e oferecer novas funcionalidades.
Palavras-chave: Sistemas comerciais, plataforma tecnológica, Java, JSF, Front-end

Abstract

It is about the rapid evolution and trend of the new systems business, the web
environment. It is of great value to the plants software today are prepared to develop
services in this type environment, however waiting for a lot of difficulties. Cites in
particular, the migration from the desktop to the web in which there is a great
visual difference is found, the case of graphical interfaces. Thus, this paper presents
the development of front-end of a technology platform and a business module, the
project uses a JSF framework in order to facilitate the development and reduce
impacts of migration environment for User. The focus is to maintain a look similar to
the desktop on the web and offer new features.
Keywords: Commercial systems, Technology Platform, Java, JSF, Front-end
1. Introdução
Ainda hoje, há empresas que dependem de sistemas antigos, sem documentação
e que se tornam mais dispendiosos a medida que evoluem. E o pior, alguns já não
atendem mais as necessidades dos clientes. Tais sistemas podem ser classificados
como Sistemas Legados. E, por serem utilizados a muito tempo sofrem diversas
alterações que acabam desestruturando suas arquiteturas, ademais, em geral, muitas
equipes trabalham em seu desenvolvimento, assim é difícil conseguir uma
padronização no código fonte. Por isso, o sistema se torna cada vez mais complexo.
Com tais características é fundamental para uma empresa que deseja se manter
no mercado buscar por novas tecnologias. Tecnologias que ofereçam novos recursos,
atendam as necessidades dos clientes e não gerem elevados custos de manutenção e
investimento.
Se tratando de novos recursos é válido citar o ambiente web visto que aparenta
ser uma grande tendência dos novos aplicativos, pois sendo uma rede de
comunicação, hoje não só de computadores, mas de diversos dispositivos (KUROSE,
2006), oferece diversas funcionalidades, uma delas é a facilidade de troca de
informações. Entretanto, as aplicações antigas, em geral, foram desenvolvidas para o
ambiente desktop, estas podem até apresentar os recursos disponíveis da web, como
troca de informações, mas talvez não tenham a mesma abrangência.
Na web, funcionalidades como troca de informações e interação de pessoas em
diferentes lugares através de dispositivos como: computadores, PDAs, Tvs, celulares,
entre outros (KUROSE, 2006), são interessantes tanto para os uso comercial quanto
pessoal. Assim, no ambiente comercial é de grande valia as empresas ofertarem tais
recursos para os seus clientes e buscarem adaptações nas aplicações legadas.
É certo que, em geral, sistemas web não fornecem a mesma interatividade e
usabilidade que um sistema desktop, porém com a evolução das tecnologias tem-se
percebido o investimento e busca por um visual mais agradável, intuitivo, interativo e
próximo aos aplicativos convencionais (desktop).
Assim, conceber interfaces mais amigáveis e semelhantes às interfaces
tradicionais não é mais um desafio tão complexo para os desenvolvedores. Pois novas
ferramentas são desenvolvidas com tais propósitos.
Tais ferramentas utilizam as tecnologias Ajax e RIA. Segundo (AMSTEL,
2009) Ajax é o nome criado pela Adaptive Path e RIA - Rich Internet Applications - é
o nome criado pela Macromedia para definir as aplicações ricas que rodam na Web.
Tecnologias diferentes com o mesmo objetivo: melhorar a experiência do usuário.
Embora estejam em fase inicial de desenvolvimento e de testes com usuários,
muitas destas ferramentas com RIA e AJAX estão sendo utilizadas em grandes
projetos. Pode-se citar como exemplo o framework Java Server Faces (JSF) Icefaces
(ICEFACES, 2009) empregado neste trabalho.
A ferramenta é uma implementação de uma especificação da Sun (SUN, 2009)
utilizada para a criação de interfaces web ricas por meio de componentes visuais para
aplicações JEE (JEE, 2009). O framework sendo open source oferece um conjunto
vasto de componentes para desenvolvimento que podem ser encontrados em
(ICEFACES, 2009). E, além de abordar o conceito RIA apresenta um novo conceito
de navegação de páginas, navegação orientada a estados – uma mesma tela pode ter
diferentes estados / comportamento, depende do contexto (PONTE, 2009).
Assim, apresenta-se a tecnologia JSF Icefaces empregada no desenvolvimento
da camada de apresentação de uma plataforma tecnológica, bem como de um módulo
comercial, Nota Fiscal Eletrônica (FERREIRA, 2009). Sendo o desenvolvimento
desta camada o foco principal deste trabalho.
2. Problema
Percebe-se uma oportunidade no mercado de trabalho em que acadêmicos
poderiam realizar propostas de inovação tecnológica para as empresas. Tais
acadêmicos forneceriam Know-How de desenvolvimento com determinada tecnologia
para executar determinados projetos testes. Com base nesses projetos as empresas
poderão analisar qual caminho seguir, ou melhor, no quê exatamente investir.
Assim, aborda-se neste trabalho o caso da empresa Teorema Informática, que
mantém um sistema legado Delphi (EMBARCADERO, 2009) e disponibiliza para
seus clientes diferentes módulos comerciais como: Gestão Financeira, Gestão
Comercial, Emissão de Nota Fiscal-e (eletrônica) , entre outros. Este legado Delphi
já não atende a algumas necessidades dos clientes. Como exemplo a demanda de
emissão da nota fiscal eletrônica.
Dessa forma, a empresa busca por projetos que possam superar as limitações da
ferramenta atualmente utilizada e, além disso seja capaz de suprir as necessidades dos
clientes. E, como um dos principais requisitos, o projeto deve ser desenvolvido
especialmente para plataforma web. Visto que a atual tecnologia utilizada possui
algumas limitações para operar em tal plataforma.
Tendo conhecimento sobre a atual situação da empresa, uma proposta inicial
utilizando a tecnologia JEE - Java Enterprise Edition (JEE, 2009) e JSF foi projetada
juntamente à empresa, com intuito de auxilia-la na busca / pesquisa por tecnologias e
tendências dos novos sistemas.
Dentro dessa proposta existem alguns desafios tanto para os desenvolvedores
quanto para os usuários. Pode-se citar a migração de ambiente como principal
obstáculo para o usuário. Já para os desenvolvedores, uns dos principais desafios é
reduzir os impactos dessa migração simulando o ambiente desktop na web.
Para tal efeito, é importante a implantação de novas funcionalidades no sistema,
bem como manter a semelhança do visual tradicional, porém visando telas mais
simples, intuitivas, fáceis de se criar e eficientes quanto as ações do usuário.
3. Objetivos
O projeto aqui apresentado caracteriza-se como prestação de serviços à empresa
e tem como principal o objetivo desenvolver uma plataforma tecnológica capaz
integrar diferentes módulos comerciais.
A construção da plataforma tecnológica em JEE permitirá que qualquer módulo
comercial em Delphi seja reescrito para a linguagem Java (SUN, 2009) e, assim
poderá ser integrado à plataforma. Espera-se suprir as deficiências e limitações da
atual tecnologia utilizada pela empresa com a abordagem aqui apresentada.
Ademais, como objetivo secundário a conversão de um módulo comercial
Delphi para Java é também aqui descrita. Mais especificamente este módulo se refere
à Emissão de Nota Fiscal-e (eletrônica) – apresentado na seção 4.2.
Vale ressaltar que este trabalho foi desenvolvido em conjunto com (FILHO,
2009) seguindo um padrão de desenvolvimento de sistemas multi-camadas
(SCHLICKMANN, 2009). Assim esta abordagem descreve especialmente o
desenvolvimento da camada de apresentação.
4. Metodologia
4.1 Plataforma Tecnológica
Como supracitado, a empresa Teorema Informática possui um sistema legado
Delphi com diversos módulos comerciais, esse legado pode ser representado na
Figura 1 – plataforma Pitágoras e Módulos Comerciais, na qual os módulos são
integrados.

Figura 1. Plataforma Pitágoras e Módulos Comerciais

Tendo conhecimento da plataforma Pitágoras planejou-se em manter o modelo,


no qual existe um núcleo (ou módulo central) que contém as informações e
funcionalidades em comum à todos os outros módulos. E que, gradativamente, cada
módulo que venha ser convertido para a linguagem Java possa ser integrado a
plataforma.
Assim, fez-se necessário utilizar a tecnologia JEE, que é uma especificação de
implementação para aplicações empresariais de grande porte reduzindo o custo e
complexidade de desenvolvimento, implantação e gerência de aplicações multi-
camadas, centradas no servidor (JEE, 2009). Tal especificação utiliza a linguagem
Java.
Assim a arquitetura Pitágoras, mais especificamente o núcleo da plataforma,
utilizando a tecnologia JEE foi projetada e implementada conforme ilustra a Figura 2.

Figura 2. Núcleo da Plataforma Pitágoras Java


Em suma, cita-se os pacotes e suas funcionalidades:
- Pitágoras-sar: Contém os processos de inicialização do servidor, bem como é
responsável pelo registro do driver JayBird (ligação entre a base de dados e a
aplicação);
- Pitágoras-server: Fornece operações pertinentes ao servidor de aplicação,
como gerência interna de diretórios;
- Pitágoras-business: Contém a lógica de negócio;
- Módulos: Contém os módulos comerciais disponibilizados pela empresa e já
convertidos para Java;
−Web-Container: Pacote responsável pela gerência do front-end (camada de
apresentação). Tal pacote é composto pelos módulos Managed Beans, JSF Pages e
JAAS. Sendo estes módulos pertinentes ao controle das telas, implementação das
páginas e controle de acesso dos usuários, respectivamente.
Mais informações sobre os pacotes não pertinentes ao front-end podem ser
encontradas em (FILHO, 2009).
4.1.1. Processo de Implementação da Plataforma
Seguindo a ideia de manter a estrutura da plataforma Pitágoras deu-se início ao
desenvolvimento. Primeiramente um ambiente com ferramentas foi configurado a fim
de auxiliar e otimizar a produção. Principais tecnologias utilizadas:
− Crystal Reports 4 (SAP, 2009);
− Eclipse Galileo (ECLIPSE, 2009);
− EJB 3.0 (EJB, 2009), (FRANTZ, 2009);
− JBoss Application Server 5.10 (JBOSS, 2009);
− Icefaces 1.8.2 (ICEFACES, 2009);
Sendo assim, tendo o ambiente de desenvolvimento configurado iniciou-se o
processo de desenvolvimento com o levantamento e mapeamento das tabelas da base
de dados. Inicialmente, foram mapeadas somente tabelas pertinentes às
funcionalidades básicas como: autenticar, inserir, atualizar, recuperar, excluir usuário.
Para o mapeamento das tabelas foi utilizada a tecnologia (ECLIPSELINK, 2009).
Em seguida, foi criada a camada de negócios utilizando a tecnologia EJB 3.0
(EJB, 2009) e (FRANTZ, 2009). Neste caso, como as operações eram simples, apenas
foram implementados as funcionalidades básicas, menos a autenticação do usuário.
Tal funcionalidade é tratada pela ferramenta JAAS (Java Authentication and
Authorization Service).
Tendo acesso ao banco de dados e podendo realizar as operações conhecidas
como CRUD (PONTE, 2009) (Create, Retrieve, Update, Delete) realizou-se os testes
a partir do cliente, ou seja, por meio de uma interface o usuário efetua as operações.
Assim, na criação da camada de apresentação utilizou-se a tecnologia
Icefaces. O protótipo da tela criada para as operações CRUD com a ferramenta
Icefaces pode ser visualizada no anexo Telas: Funcionalidades Básicas. Vale ressaltar
que cada operação é realizada mudando o estado da tela através do menu superior da
mesma. Exemplo: estado de edição (click sobre o botão lápis); estado de exclusão
(click sobre o botão lixeira) e assim por diante.
É válido ressaltar que tecnologia para o desenvolvimento do front-end,
Icefaces, foi escolhida por meio de pesquisas e com base no comparativo entre
frameworks JSF em (CONCEIÇÃO, 2008). Mostrando-se superior às demais
tecnologias do comparadas. Ademais, a ferramenta é utilizada por grandes
corporações como: Nasa, HP, Siemens, Johnson & Johnson, Sigma, entre outros
(ICEFACES, 2009). Em suma, é uma implementação de uma especificação proposta
pela (SUN,2009) que possibilita criar interfaces web por meio da linguagem Java.
Além disso possui diversas vantagens sobre as demais encontradas no mercado:
− documentação Java;
− manual de auxílio ao desenvolvedores;
− open-source;
− treinamento;
− integração com facelets – tecnologia que permite e facilita a criação de
templates em páginas web.
− versão para mobile.
Entre outras funcionalidades que acrescentam valor e qualidade ao projeto. A
ferramenta oferece um novo conceito de navegação entra páginas, a navegação
orientada a estados (PONTE, 2009).
Assimilar e aplicar tal conceito no desenvolvimento do projeto foi uma
grande dificuldade para os desenvolvedores, pois a força do hábito de se escrever
páginas com regras de navegação dificultou o aprendizado.
Outra grande dificuldade foi implementar a funcionalidade de sobreposição de
telas, anexo Telas: Sistema Java - Figura 4. Pois a ferramenta não fornecia tal recurso
na versão utilizada inicialmente, assim os códigos fontes foram editados para
conseguir tal efeito.
Após ter a implementação das telas que fornecem as funcionalidades básicas
do módulo comercial, ilustradas no anexo: Telas: Sistema Java, foram realizados
alguns testes na aplicação.
Principais testes realizados:
◦ velocidade de renderização das páginas: inicialmente as páginas
demoravam em torno de 2 a 4 segundos para serem renderizadas
(desenhadas), porém o problema foi resolvido com uma nova versão,
1.8.2, da ferramenta Icefaces reduzindo o tempo e tornando a
renderização imperceptível;
◦ eficiência na autenticação e inicialização do aplicativo para o cliente:
inicialmente o tempo de autenticar e inicializar era em torno de 7 a 10
segundos, pois toda vez que é realizado um login, todas as páginas e
seus Managed Beans (MB) – classes Java responsáveis por controlar
os estados de uma tela, são carregados no servidor. O tempo foi
reduzido para 3 a 5 segundos, pois a correção fez com que as páginas e
seus MB fossem carregados conforme a necessidade.
◦ compatibilidade de browsers: nem todos os browsers aceitam os
mesmos comandos CSS (Cascade Style Sheet), assim fica complexo
escrever funcionalidades para determinados navegadores. Dessa forma
optou-se em homologar a aplicação apenas para o browser FireFox a
partir da versão 3.0.
◦ funcionalidades básicas: apresentou resultados satisfatórios, pois foi
possível efetuar as operações CRUD com sucesso.
Tendo realizado os testes básicos sobre a plataforma e suas camadas, deu-se
inicio ao desenvolvimento de um módulo comercial. Este módulo trata da Emissão de
Nota Fiscal Eletrônica.

4.2. Módulo Comercial: Emissão de Nota Fiscal-e (eletrônica)


Inicialmente, a empresa solicitou a implementação do módulo CRM – Customer
Relationship Management ou Gestão de relacionamento com o cliente, entretanto tal
módulo não é tão utilizado como o de Emissão de Nota Fiscal-e (eletrônica) (NF-e).
Ademais, o NF-e era utilizado com a tecnologia Delphi, que não estava suprindo as
necessidades dos clientes. Assim surgiu a necessidade implementar o pacote NF-e
com outra tecnologia, no caso Java. Então deu-se início a construção do módulo.
Tal módulo tem o objetivo gerar um documento fiscal digital, em outras
palavras, uma nota fiscal digital, que é rigorosamente especificada pelo ENCAT
(Encontro Nacional de Coordenadores e Administradores Tributários Estaduais) e tais
especificações podem ser encontradas no manual de integração do contribuinte
(FAZENDA, 2009). Sendo que este documento fiscal é gerado para aumentar a
fiscalização sobre a movimentação de mercadorias e prestação de serviços no
território nacional [BRITTO, 2008].
O processo de desenvolvimento seguiu os mesmos passos que a construção do
núcleo da plataforma, ou seja, iniciou-se com o mapeamento das tabelas pertinentes a
NF-e em seguida estudou-se as regras de negócio e o modelo operacional, disponíveis
no manual de integração do contribuinte (FAZENDA, 2009). E então, a camada de
negócios foi construída. Tendo a lógica de negócios implementada deu-se início ao
processo de construção das telas.
Como o módulo já era utilizado no Delphi foram utilizadas as telas do ilustradas
no anexo Telas: Sistema Delphi, como modelos para a criação das novas telas. As
novas telas foram projetadas com o intuito de oferecer uma interface mais intuitiva,
eficiente, com visual semelhante ao desktop e com novas funcionalidades. Assim, as
três telas do sistema Delphi foram transformadas em oito telas JSF. Tais telas podem
ser visualizadas no anexo Telas: Sistema Java.
Quanto as funcionalidades de cada tela e suas respectivas ilustrações são
descritas a seguir:
◦ Tela Consulta Documento Fiscal: permite consultar a situação da nota
fiscal, por meio da chave de acesso, nos servidores do estado receptor. A
identificação do estado receptor é capturada na chave de acesso do
documento. A chave de acesso nada mais é do que um número
identificador do documento fiscal, mais detalhes em (FAZENDA, 2009).
Anexo Telas: Sistema Java – Figura 3;
◦ Tela Configuração de Empresa Emitente: permite visualizar as
configurações de emissão de nota fiscal comum para as empresas
cadastradas. Vale ressaltar que o aplicativo fornece a funcionalidade extra
de trabalhar com mais de uma empresa emitindo notas fiscais
simultaneamente. Assim, essas empresas emitentes cadastradas podem ser
visualizadas nesta tela. Ademais, permite configurar o e-mail para
recebimento do xml (Extensible Markup Language) de distribuição, bem
como a DANFE (Documento Auxiliar da Nota Fiscal Eletrônica). Anexo
Telas: Sistema Java – Figura 4;
◦ Tela Configuração de Parâmetros de Emissão: permite configurar
parâmetros de emissão, impressão, e certificados utilizados pelas empresas
emitentes. Anexo Telas: Sistema Java – Figura 5.
◦ Tela Configuração do Certificado A1 e A3: telas semelhantes e com o
mesmo propósito: configurar o certificado digital (FAZENDA, 2009)
utilizado na emissão da nota fiscal. Como funcionalidade extra permite
configurar o certificado A3, uma vez que no sistema Delphi só operava
com apenas um certificado A1, no aplicativo Java é permitida a
configuração de vários certificados. Fez-se necessário duas telas pois cada
certificado, A1 e A3, precisa de um tipo de configuração. Visto que A1 é
um arquivo e o certificado A3 é um Java-Card. Os certificados
configurados também podem ser visualizados nesta tela. Anexo Telas:
Sistema Java - Figuras 7 e 8;
◦ Tela Visualização da Transmissão de Documento: permite acompanhar o
processo de transmissão da nota fiscal eletrônica, bem como a contagem
de documentos transmitidos, processados e recusados. Como
funcionalidade extra a aplicação fornece também o log do que esta
ocorrendo durante o processo e este log é apresentado nesta tela para o
usuário. Anexo Telas: Sistema Java – Figura 9;
◦ Tela Visualização de Documentos Transmitidos: permite a busca, por
diferentes critérios, e a visualização das notas fiscais enviadas e aceitas
pela receita. Ademais, possui a função de gerar o xml de distribuição –
arquivo que comprova a autenticidade do documento transmitido; além
disso, o sistema oferece a funcionalidade extra de gerar o arquivo PDF
(Portable Document Format) da DANFE, um exemplo do arquivo pode
ser visualizado no manual de integração (FAZENDA, 2009). Permite
também selecionar vários documentos para gerar o xml e efetuar o
download no formato .zip (compactado) assim, tornando o processo mais
fácil e eficiente para o usuário. Anexo Telas: Sistema Java – Figura 10;
◦ Tela de Inutilização de Documento: permite inutilizar o documento fiscal
com base no parâmetros da tela. Anexo Telas: Sistema Java – Figura 12.
Após o término da implementação das telas uma versão beta do aplicativo foi
disponibilizada para os clientes. Tal versão foi liberada com o intuito de receber um
feedback dos clientes sobre erros, qualidade, dificuldades, modificações e
comportamento do sistema. Vale ressaltar que os testes foram realizados
informalmente e nenhuma metodologia específica foi aplicada.
Após ter realizado as correções no sistema com base no feedback dos clientes,
surgiu a necessidade de integrar o módulo de CT-e (Conhecimento de Transporte
Eletrônico).
Segundo (NEOGRID, 2009) o CT-e foi idealizado para substituir os seguintes
documentos fiscais em papel, utilizados na prestação de serviços de transporte de
cargas: Conhecimento de Transporte Rodoviário de Cargas; Conhecimento de
Transporte Aquaviário de Cargas; Conhecimento Aéreo; Conhecimento de Transporte
Ferroviário de Cargas; Nota Fiscal de Serviço de Transporte Ferroviário de Cargas; e
Nota Fiscal de Serviço de Transporte, quando utilizada em transporte de cargas.
Assim, com a possibilidade de preencher os documentos eletronicamente, as
transportadoras deverão ganhar tempo na liberação de suas cargas na fiscalização de
trânsito, reduzir o volume de papel armazenado e os custos da emissão e prestação de
informações ao fisco. Além disso, no momento da emissão, o CT-e será transmitido
instantaneamente para a Secretaria da Fazenda (de origem, de destino e para a
Secretaria da Receita Federal), permitindo um maior controle e acompanhamento das
operações realizadas pelos contribuintes, que passam a estar interligados com o fisco.
Finaliza (NEOGRID, 2009) , o CT-e terá modelo único de documentos para
uso de todos os modais: aéreo, rodoviário, ferroviário, aquaviário e multimodal
(segunda fase do projeto). A validade jurídica do Conhecimento de Transporte
Eletrônico será garantida pela assinatura digital do emitente (garantia de autoria e de
integridade) e pela autorização de uso do documento eletrônico, fornecida pelo fisco,
assim como ocorre com a NF-e.
A transportadora deverá imprimir o Documento Auxiliar do CT-e (Dacte) para
acompanhar a carga durante o transporte, antes do início da prestação do serviço. O
Dacte é uma representação simplificada do CT-e. Contém informações básicas sobre
a prestação em curso (emitente, destinatário, valores etc).
Coordenado pelo Encontro Nacional dos Coordenadores e Administradores
Tributários Estaduais (ENCAT), o projeto do CT-e é desenvolvido pelas Secretarias
de Fazenda dos Estados e do Distrito Federal, Receita Federal do Brasil, Suframa,
ANTT, Anac, NTC & Logística e 42 empresas voluntárias de transporte de cargas dos
diversos modais.
Com o mesmo propósito do módulo de NF-e, o módulo de CT-e foi
desenvolvido e integrado a plataforma Pitágoras, entretanto vale ressaltar que apenas
o modelo Conhecimento de Transporte Rodoviário de Cargas foi implementado, pois
a empresa atende clientes apenas neste modelo.
No desenvolvimento da camada de apresentação para o módulo CT-e
percebeu-se semelhança entre as funcionalidades do NF-e. Assim, a fim de ganhar
produtividade o módulo CT-e e NF-e foram mesclados. Com isso, um novo módulo,
para a empresa foi criado: Gestão de Documentação Eletrônica (DOC-e).
Dessa forma, não houve a necessidade de se criar novas telas, apenas reutilizar
e adaptar as já existentes. Percebe-se no anexo Telas: Sistema Java que todas já estão
convertidas para o novo modelo e permitem operar tanto com NF-e quanto CT-e.
Vale ressaltar que ambos os módulos possuem funcionalidades semelhantes
sendo suficientes para unifica-los
4.1. Cronograma
4.1.1 Cronograma proposto
ATIVIDADE / MESES JanFevMarAbrMaiJunJulAgoSet Out
a. Estudo de tecnologias e levantamento X X X X X X X X X
bibliográfico
b. Preparação do ambiente de desenvolvimento X
c. Desenvolvimento da camada de persistência X X
d. Implementação das funcionalidades básicas X X X
e. Definição dos templates de interface gráfica X X
f. Construção do módulo comercial X X X X X
g. Criação da camada de apresentação para o X X X X X
módulo comercial
h. Teste / validação do protótipo X X
i. Relatórios X X

4.1.2 Cronograma realizado


ATIVIDADE / MESES JanFevMarAbrMaiJunJulAgoSetOut Nov
a. Estudo de tecnologias e levantamento X X X X X X X X X X
bibliográfico
b. Preparação do ambiente de X
desenvolvimento
c. Desenvolvimento da camada de X X
persistência
d. Implementação das funcionalidades X X
básicas
e. Definição dos templates de interface X
gráfica
f. Construção do módulo comercial X X X X X X
g. Criação da camada de apresentação X X X X X X
para o módulo comercial
h. Teste / validação do protótipo X X X X X X
i. Relatórios X X X

4.1.3 Observações sobre o cronograma


A extensão do tempo apresentada no cronograma realizado é justificável. Pois,
houve dificuldades para alcançar uma das principais funcionalidades do aplicativo, a
sobreposição de telas. Funcionalidade esta que a ferramenta Icefaces não fornecia até
sua atual versão (ICEFACES, 2009). Assim, levou-se tempo para estudar os códigos
fonte da mesma e efetuar as devidas alterações. Apesar do tempo gasto para alcançar
tal funcionalidade, o desenvolvimento da camada de apresentação teve continuidade
por meio de interfaces protótipos.
Apesar irregularidade com o cronograma proposto o projeto foi concluído,
apenas demandou-se mais tempo devido as necessidades da empresa, como o módulo
de CT-e. E como incremento ao projeto, pode-se citar o desenvolvimento de tal
módulo. Visto que a proposta apresentada descrevera a implementação de apenas um
módulo comercial. Além disso, a junção dos módulos NF-e e CT-e criando o DOC-e
demandou pouco tempo no desenvolvimento, entretanto retardou o processo de
redação do projeto.
5. Resultados e Discussão
Há aproximadamente dois meses o aplicativo esta sendo utilizado pelos clientes
da empresa e apresenta resultados satisfatórios.
Demonstra ser mais eficiente que a ferramenta Delphi utilizada inicialmente,
bem como fornece novas funcionalidades paras os usuários.
Após a disponibilização da versão beta foram realizadas algumas correções,
bem como liberadas novas versões.
A priori os clientes não apresentaram dificuldades quanto a migração de
ambiente como se esperava, pois o visual agradável, a semelhança com o visual
desktop a eficiência e por operar com janelas aninhadas trazendo novas
funcionalidades, a migração não apresentou problemas. Além disso é notável a
satisfação do usuário em trabalhar com interfaces menos poluídas, mais intuitivas e
rápidas.
Vale ressaltar que o conceito de navegação por estados facilitou o controle e o
fluxo de navegação entre as telas, pois não houve a necessidade de escrever regras de
navegação por páginas.
A criação de telas por meio de componentes, característica dos frameworks
JSF, gera ganho de produtividade. Entretanto é valido ressaltar que até que se gere
ganhos de produtividade há o tempo de conhecer a tecnologia, bem como assimilar o
conceitos nela envolvidos, como por exemplo a navegação orientada a estados. Tal
conceito demandou mais tempo de aprendizado devido os desenvolvedores estarem
familiarizados com o processo de navegação por páginas.
As telas do sistema Java, anexo Telas: Sistema Java, quando comparadas às
telas Delphi, anexo Telas: Sistema Delphi, apresentam menos complexidade e grande
diferença visual, bem como funcional.
Além disso, desenvolver aplicativos para a plataforma web foi mais um desafio
superado, pois os desenvolvedores estavam mais familiarizados com o ambiente
desktop.
6. Conclusões
Dessa forma, tendo um plataforma tecnológica implantada na empresa, o custo
de integrar novos módulos é mínimo, uma vez que a plataforma disponibiliza as
funcionalidades em comum para os módulos comerciais, bem como mantém um
padrão de desenvolvimento do projeto. Provê também redução nos custos de
manutenção e proporcionando em produtividade.
Ademais, a plataforma opera no ambiente web, tal característica apresenta as
vantagens encontradas neste ambiente e satisfaz o principal requisito do projeto
proposto pela empresa.
Apesar de se gastar tempo no início do projeto utilizando a tecnologia Java,
pois apresenta uma certa complexidade de desenvolvimento, o custo de manutenção é
reduzido. Ao contrário do Delphi, que se desenvolve rápido, entretanto ajustes se
tornam complexos e mais custosos.
Além disso, o framework Icefaces contribuiu positivamente para o
desenvolvimento da camada de apresentação da plataforma Pitágoras, bem como dos
módulos comerciais. A tecnologia JSF proporciona facilidade de desenvolvimento da
camada de apresentação para aplicações JEE.
Entende-se, portanto, que todo o conjunto de tecnologias aplicado ao projeto
aqui apresentado foi suficiente para concretizá-lo, bem como para demonstrar para a
empresa a capacidade da tecnologia abordada.
Dessa forma, os objetivos foram alcançados, a criação da plataforma
tecnológica, bem como a conversão de um módulo comercial (NF-e), ademais a fusão
de dois módulos comerciais gerando o DOC-e. Obtendo assim, a aprovação do
projeto pela empresa e clientes.
7. Trabalhos Futuros
Em caso de continuidade do projeto espera-se a implementação do PAF-ECF
(Programa Aplicativo Fiscal – Emissor de Cupom Fiscal), criado pela CONFAZ junto
às secretarias da fazenda dos estados, define como deve ser o funcionamento de
aplicativos utilizados nos pontos de venda (PDV) na sua comunicação com os
emissores de cupons fiscais (ECFs) (IONICS, 2009). Além disso, a criação de um
controle de licenças dos softwares fornecidos pela empresa deverá ser implementado.
8. Referências Bibliográficas

AMSTEL, Frederick V. RIA do AJAX. Disponível em:


<http://usabilidoido.com.br/cat_ria_do_ajax.html>. Acesso em: 03 nov. 2009.

BODOFF, Stephanie et al. Tutorial do J2EE Enterprise Edition 1.4. Tradução da 2ª


Edição, Editora Ciência Moderna, 2005.

CONCEIÇÃO, Rodrigo M. Java Server Faces (JSF): Um estudo comparativo


entre bibliotecas de componentes. Disponível em:
<http://www.scribd.com/doc/9197155/JAVASERVER-FACES-JSF-UM-ESTUDO-
COMPARATIVO-ENTRE-BIBLIOTECAS-DE-COMPONENTES> Universidade
Tiradentes. Aracaju, 2008. Acesso: 07 Nov. 2009.

ECLIPSE. Eclipse.org home. Disponível em: <http://www.eclipse.org>. Acesso em:


05 nov. 2009.

ECLIPSELINK. EclipseLink JPA. Disponível em:


<http://www.eclipse.org/eclipselink/jpa.php>. Acesso em: 05 nov. 2009.

EJB. Enterprise Java Beans Technology. Disponível em:


<http://java.sun.com/products/ejb/ > Acesso: 05 Nov. 2009.

EMBARCADERO. Delphi from Embarcadero | RAD Application Development


Software. Disponível em: <http://www.embarcadero.com/products/delphi>. Acesso
em: 03 nov. 2009.

FAZENDA, Ministério da. Projeto Nota Fiscal Eletrônica. Manual de Integração -


Contribuinte. Disponível em:
<http://www.nfe.fazenda.gov.br/portal/docs/Manual_NFe_V400_2009-09-21.pdf>.
Acesso em: 06 nov. 2009.

FAZENDA, Secretaria da. Conhecimento de Transporte Eletrônico de Cargas.


Manual de Integração do Contribuinte. Disponível em:
<http://www.fazenda.sp.gov.br/cte/downloads/Manual_CTe_v103.pdf>. Acesso em:
02 nov. 2009.

FERREIRA, Wandry Mundin. NF-e (Nota Fiscal Eletrônica) - Informações sobre


integração de softwares com a nota fiscal eletrônica. Disponível em:
<http://www.unimake.com.br/uninfe/downloads/ArtigoNFe.pdf>. Acesso em: 05 nov.
2009.

FILHO, Júlio César Araújo Galvão. Desenvolvimento de um protótipo de


plataforma tecnológica para sistemas comerciais em ambiente Java. Trabalho de
Conclusão de Curso (Bacharelado em Ciência da Computação) - Universidade
Estadual do Centro-Oeste, Guarapuava, 2009.

FRANTZ, Rafael Zancan. Enterprise JavaBeans 3.0. Disponível em:


<http://www.j2eebrasil.com.br/mostrar/101>. Acesso em: 02 nov. 2009.
ICESOFT. ICEFaces Open Source Ajax, JSF Java Framework. Disponível em:
http://www.icefaces.org. Acessado em 11 de abril de 2009.

IONICS. PAF-ECF, A IONICS esta pronta para seus clientes também. Disponível
em: <http://www.ionics.com.br/paf/> Acesso: 12 Nov. 2009.

JBOSS. Community driven open source middleware. - JBoss Community.


Disponível em: <http://www.jboss.org>. Acesso em: 05 nov. 2009.

JEE. Java EE Technologies at a Glance. Disponível em:


<http://java.sun.com/javaee/technologies>. Acesso em: 04 nov. 2009.

KUROSE, James F. Redes de Computadores e a Internet: uma abordagem top-


down. 3. ed. São Paulo: Pearson Addison Wesley, 2006.

NEOGRID, Notícias. Conhecimento de Transporte Eletrônico. Disponível em: <


http://www.neogrid.com/nfe/noticias.php?p=3&nt=144 > Acesso: 08 Nov. 2009.

PONTE, Rafael. Utilizando Ajax com JSF de maneira eficiente. Disponível em:
<http://www.rponte.com.br/2008/04/10/utilizando-ajax-com-jsf-de-maneira-eficiente/
> Acesso: 04 Nov. 2009.

SAP. Crystal Reports for Eclipse. Disponível em:


<http://www.sap.com/solutions/sapbusinessobjects/sme/reportingdashboarding/reporti
ng/eclipse/index.epx>. Acesso em: 05 nov. 2009.

SCHLICKMANN, Raquel. Aplicação da arquitetura multicamadas utilizando


Java. 1999. 97 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da
Computação) - Universidade Regional de Blumenau, Blumenau, 1999. Disponível
em: <http://www.inf.furb.br/tcc/index.php?cd=6&tcc=443>. Acesso em: 03 nov. 2009

SUN, Microsystems. Developer Resources for Java Technology. Disponível em:


http://java.sun.com. Acesso: 11 nov. 2009.
9. Anexos
10. Telas: Funcionalidades Básicas

Figura 1 – Tela de Operações CRUD

11. Telas: Sistema Java

Figura 2: Tela Home Sistema Java


Figura 3 - Tela Consulta de Documento Fiscal

Figura 4 - Tela Configuração de Empresa Emitente


Figura 5 - Tela Configuração de Parâmetros de Emissão

Figura 6 - Tela Visualização de Certificados Digitais Ativados


Figura 7 - Tela Configuração de Certificado Tipo A1

Figura 8 - Tela Configuração de Certificado Tipo A3


Figura 9 - Tela Visualização da Transmissão de Documento

Figura 10 - Tela Visualização de Documentos Transmitidos


Figura 11 - Tela Download do arquivo XML

Figura 12 - Tela de Inutilização de Documento


12. Telas: Sistema Delphi

Figura 13 - Tela de Transmissão de NF-e


Figura 14 - Tela Consulta e Inutiliza NF-e
Figura 15 - Tela Configurações de Transmissão de NF-e

Você também pode gostar