Framework para E-Business

Propaganda
Universidade Federal de Santa Catarina
Framework para E-Business
Douglas Zin Goulart
Índice
Introdução ............................................................................................................................... 3
Tema ....................................................................................................................................... 3
Justificativas ....................................................................................................................... 3
Objetivos................................................................................................................................. 4
Objetivos Gerais ................................................................................................................. 4
Objetivos Específicos ......................................................................................................... 4
Metodologia ............................................................................................................................ 5
Ferramentas utilizadas ........................................................................................................ 5
Da tecnologia JSP ........................................................................................................... 6
Do framework Struts ...................................................................................................... 7
Cronograma ........................................................................................................................ 7
Implementação........................................................................................................................ 8
Resultados............................................................................................................................... 9
Bibliografia ............................................................................................................................. 9
Introdução
A popularização da Internet, aliada ao barateamento do acesso e de utilização,
acabou por revelar esta como o maior canal de distribuição de produtos e serviços da
atualidade, provocando profundas mudanças nas estruturas econômicas e industriais.
Assim, para designar de uma forma ampla as atividades que utilizam-se da infraestrutura proporcionada pela Internet criou-se o termo “e-business”, ou comércio
eletrônico. Como exemplo destas atividades pode-se citar a compra e venda de produtos,
atendimento de clientes ou a colaboração entre parceiros.
Segundo o tipo de iteração proporcionada pela atividade, pode-se utilizar outras
expressões para melhor identificá-las, como B2C (“business to consumer”), quando a
atividade envolve transações entre uma empresa e o consumidor final, ou B2B (“business to
business”), quando as transações são entre empresas.
As atividades de B2B são largamente utilizadas pelas empresas por diversos
motivos, como ampliação dos canais de vendas, redução dos custos e disponibilidade de
operação 24 horas. Essas atividades estão fortemente relacionadas ao sucesso empresarial,
de modo que o aproveitamento das oportunidades oferecidas pelo B2B pode ser um
importante diferencial a ser adotado para o aumento da competitividade da empresa.
Tema
Justificativas
A competitividade entre as empresas provoca uma busca contínua por diferenciais, e
o B2B pode mostrar-se decisivo, pois não somente aumenta os canais de venda ou provê
uma redução nos custos, mas também proporciona maior velocidade na realização dos
processos e ainda agiliza a interação com os fornecedores.
Assim, mostra-se como uma atividade que não somente pode proporcionar novos
processos e oportunidades às empresas, mas que também otimizar as atividades já
existentes no ambiente organizacional.
A realização deste projeto visa o desenvolvimento de uma aplicação que seja
facilmente estendível ou adaptável às necessidades de diferentes empresas de diferentes
ramos, de modo que esta aplicação mostre-se uma alternativa viável também para as
pequenas e médias empresas.
Objetivos
Objetivos Gerais
Desenvolver uma aplicação que proporcione e-business a empresas cujo ramo de
negócio é a distribuição de produtos.
A aplicação a ser desenvolvida visa facilitar transações de negócio entre empresas
através da internet, possibilitando que as empresas clientes possam efetuar seus pedidos de
compra junto às empresas distribuidoras, dispondo de diversas informações sobre os
produtos visados, sem que para isso exista a necessidade de uma visita de um representante
da empresa distribuidora à empresa cliente.
Objetivos Específicos
O objetivo do projeto é desenvolver uma aplicação que proporcione a execução de
transações entre empresas.
A aplicação disponibilizará uma lista dos produtos oferecidos, assim como diversas
informações sobre os mesmos, como fotos, textos informativos e os preços de venda nas
diversas formas de pagamento aceitas.
Para facilitar a localização dos produtos, a aplicação disponibilizará um sistema de
navegação entre as categorias de produtos e um sistema de busca pelos produtos que
satisfaçam os critérios desejados.
Os produtos que o cliente selecionar para seu pedido serão guardados em uma lista,
apresentada na forma de um carrinho de compras, onde este poderá ser consultado a
qualquer momento pelo cliente.
Após a seleção dos produtos, o cliente poderá efetuar a conclusão e efetivação do
pedido. Durante este processo será informada pelo cliente a forma de pagamento desejada,
e a aplicação informará o valor final do pedido.
A alimentação da aplicação com a lista de produtos disponíveis e o preço de cada
produto para cada forma de pagamento será feita através da inclusão de um arquivo de
dados gerado pela aplicação de gestão da empresa. Esta forma de atualização de dados foi
escolhida por facilitar a manutenção e a uniformidade dos dados, removendo assim, a
possibilidade de diferenças de preços entre as aplicações utilizadas da empresa.
Da mesma maneira, porém de forma reversa, a aplicação de gestão da empresa será
notificada dos pedidos efetuados na aplicação B2B também pela inclusão de um arquivo de
dados. Essa abordagem visa centralizar os controles de pedidos efetuados, mantendo assim
uma base de informações única.
Metodologia
Ferramentas utilizadas
A aplicação será desenvolvida utilizando a linguagem Java, utilizando-se das
tecnologias Servlets e JSPs oferecidas pela linguagem. A aplicação também utilizará o
framework Struts do projeto Jakarta da Apache.
Para a hospedagem da aplicação utilizar-se-á o servidor Web Tomcat, também do
projeto Jakarta.
O sistema gerenciador de banco de dados a ser utilizado pela aplicação ainda não foi
decidido, mas sabe-se que será um banco de dados relacional e preferencialmente gratuito.
Da tecnologia JSP
A sigla JSP significa “Java Server Pages”, essa tecnologia é utilizada para prover
conteúdo dinâmico a um usuário de um site. Toda a lógica e tratamento dos dados acontece
durante o processamento do servidor para prover ao browser do usuário uma resposta em
formato HTML. A tecnologia JSP faz parte da plataforma conhecida como J2EE, Java 2
Enterprise Edition, da mesma forma que os Java Servlets e os Java Beans. Seu principal
trunfo é proporcionar o desenvolvimento rápido de aplicações para Web de forma eficiente,
escalável e sergura.
A tecnologia JSP tem como função o desenvolvimento de aplicações para Web,
criando páginas chamadas dinâmicas, de forma semelhante ao ASP, o Active Server Pages.
Todavia, da mesma forma que a tecnologia Java, usufrui da portabilidade, podendo assim
ser executado em diversos Sistemas Operacionais. Além disso, o seu processamento se dá
de forma mais rápida, uma vez que acontece uma compilação do código fonte e pode ainda
utilizar-se do acesso nativo a diversos bancos de dados.
Em comparação com a tecnologia Servlet, pode-se dizer que não há nada feito em
JSP que não pode ser feito utilizando somente a tecnologia Servlet. Em um nível mais
baixo, existe uma tradução do JSP para um Servlet equivalente. A tecnologia JSP entretanto
oferece uma maior facilidade de codificação, provendo um desenvolvimento mais rápido e
uma manutenção mais simples. Outra grande vantagem é a separação da camada de
apresentação da camada de lógica da programação, possibilitando assim o desenvolvimento
de sites mais robustos, além do desenvolvimento de ambas as partes ao mesmo tempo, uma
pelo programador e outra pelo designer da aplicação.
Do framework Struts
A Struts Framework é um projeto open source mantido pela Apache Software
Foundation. É uma implementação do design pattern MVC, que significa Model, View and
Controller, para aplicações Java com internet. O objetivo do design pattern MVC é separar
de maneira clara a camada de apresentação, chamada camada View, da camada de Negócio,
chamada Model.
A arquitetura MVC é um padrão que separa de maneira independente o Modelo, que
representa os objetos de negócio, a camanda Model, da camada de apresentação, que
representa a interface com o usuário ou outro sistema, a camada View e o Controle de fluxo
da aplicação, a camada Controller.
O framework Struts se tornou rapidamente um padrão no mercado, obtendo assim
integração com diversas IDEs de desenvolvimento, além de proporcionar código útil no
desenvolvimento de aplicações para Internet, sendo desnecessário ter de “reinventar a roda”
para obter soluções para problemas freqüentes, aumentando assim drasticamente a
produtividade.
Este framework ainda incorpora design patterns fortemente, sendo que a utilização
destes seja encorajada durante o desenvolvimento dos sistemas, desnecessário nesse ponto
listar o quão benéfico é a utilização de design patterns no desenvolvimento de sistemas,
principalmente nos de grande porte.
Cronograma
As atividades previstas para o desenvolvimento do projeto, bem como as datas de
início e término previsto para as mesmas, seguem relacionadas na tabela abaixo.
Descrição da atividade
Estudo bibliográfico
Análise de requisitos
Projeto
Implementação
Testes
Documentação
Data de início
01/07/2004
01/09/2004
01/10/2004
01/12/2005
01/04/2005
16/04/2005
Data de conclusão
31/08/2004
30/09/2004
30/11/2004
31/03/2005
15/04/2005
15/06/2005
Implementação
A implementação das diferentes funcionalidades do sistema será feita através do
agrupamento de funções de contextos semelhantes em um mesmo modulo. Assim, funções
como inserção, alteração e exclusão de usuário, por exemplo, estarão presentes em
um mesmo modulo.
Esta abordagem visa facilitar a implementação, a organização além da manutenção e
extensão do sistema, pois as funções relacionadas a um mesmo assunto estarão
disponibilizadas no mesmo local.
E mesmo a manutenção/extensão do sistema quando feita por diferentes pesssoas
será simplificada uma vez que possibilitará a alteração simultânea em diferentes partes
do sistema, por exemplo.
A organização dos arquivos referentes a interface destas mesmas funcionalidades
deverá estar organizado de forma semelhante, pelos mesmos motivos, porém feita através
de diferentes diretórios. A implementação da interface do sistema terá sua manutenção
especialmente facilitada pela tecnologia JSP disponibilizada pela linguagem Java, uma
vez que se trata basicamente de HTML. Assim a organização e a manutenção serão
novamente priorizadas.
Estas decisões proporcionarão que duas diferentes empresas a partir do mesmo
sistema base possam desenvolver novos sistemas, totalmente adaptados as suas
necessidades, bem como proporcionar diferenciais competitivos entre elas, mesmo na
internet. Podem ainda personalizar tanto a interface que para o usuário final tratar-se-á de
dois sistemas completamente distintos.
Como elemento de ligação entre a camada Web da aplicação e os módulos de
funções específicas haverá um Servlet Controlador que centralizará as ações preliminares
que deverão ser executadas antes das funcionalidades encontradas nos módulos descritos
acima, e ações que deverão ser executadas após as funcionalidades dos módulos.
Pode-se citar como exemplos de ações que deverão ser executadas antes das
funcionalidades dos módulos a validação das informações enviadas pelo usuário do
sistema. Da mesma forma cita-se como ação a ser executada posteriormente o
redirecionamento do usuário para uma página de erro, contendo mensagens informativas
sobre um erro encontrado, por exemplo, uma indisponibilidade temporária do banco de
dados resultante do processo de backup noturno.
Essa decisão facilitará a implementação das funcionalidades presentes nos módulos,
de modo que a complexidades destes seja reduzida e específica da funcionalidade a ser
implementada.
Resultados
(Explanação sobre os resultados obtidos).
Bibliografia
William George Lopes Saab. “E-Business: O uso corporativo da Internet”.
Disponível em http://www.bndes.gov.br/conhecimento/setorial/get4is15.pdf
Fernando Parreiras. “As muitas faces do E-Business e como encará-las”. Disponível
em http://webinsider.uol.com.br/vernoticia.php/id/2133
Harvey M. Deitel, Paul J. Deitel. “Java: Como programar”, Terceira Edição,
Bookman.
Apache Software Fundation. “The Struts User’s Guide”. Disponível em
http://jakarta.apache.org/struts/userGuide/index.html
Download