Desenvolvimento de Portal Web E-commerce

Desenvolvimento de Portal Web E-commerce

(Parte 1 de 5)

Pato Branco - PR 2008

Monografia apresentada como requisito parcial para obtenção de título de Tecnólogo no Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas da Universidade Tecnológica Federal do Paraná, Campus Pato Branco.

Orientador: Prof. Géri Natalino Dutra, M.Sc

Pato Branco – PR 2008

Este trabalho é dedicado as incríveis pessoas que fazem parte da minha vida, aos meus pais, ao meu querido irmão Gustavo, e a minha namorada Cristiane. Por sua paciência e compreensão.

Ao colega Tarlis Tortelli Portela pela imensurável contribuição na realização deste trabalho.

O presente estudo apresenta uma análise sobre ferramentas de auxílio no desenvolvimento de softwares, denominados frameworks, para o desenvolvimento de uma aplicação voltada para o ambiente de Internet. Trata-se de um comparativo entre frameworks Struts1, JavaServer Faces2 e Mentawai3, destinados ao controle de aplicações Web. Além da exploração do suporte a persistência através do paradigma do mapeamento Objeto-Relacional. Por fim, o foco na ferramenta Mentawai e na Java Persistence API4 resulta em uma aplicação voltada para o comércio eletrônico. As conclusões apontam que estas ferramentas são alternativas dinâmicas a altura das atuais necessidades e imposições do mercado de software.

1 http://struts.apache.org/ 2 http://java.sun.com/javaee/javaserverfaces/ 3 http://www.mentaframework.org 4 http://java.sun.com/javaee/technologies/persistence.jsp

This study presents an analysis of tools to help in the development of softwares, known as frameworks, for the development of an application dedicated to the environment of Internet. It is a comparison between Struts, JavaServer Faces and Mentawai, for the control of Web applications. Besides the exploration of the support to the persistence through the paradigm of Object-Relational mapping. Finally, the focus in the Mentawai platform and in the Java Persistence API results in an application dedicated to e-commerce. The conclusions suggest that these tools are dynamic alternatives at the same level as the current needs and requirements of the software market.

Figura 2: Ciclo interativo MVC10
Figura 3: Controle descentralizado do Model 11
Figura 4: Controle centralizado do Model 21
Figura 5: Ciclo de vida Struts15
Figura 6: Infra-estrutura de aplicações Web24
Figura 7: Ciclo de vida do JavaServer Faces26
Figura 8: Resultado final para o usuário30
relacional3
Figura 10: Ciclo de vida de software baseado em ciclos interativos35
Figura 12: Os componentes oferecidos pelo EJB42
Figura 13: Organização geral da API EJB 342
Figura 14: Interface resultante do arquivo JSP47
Tabela 1: Pontos fracos do Struts20
Tabela 2: Pontos fortes do Struts20
Tabela 3: Comparativo de algumas funcionalidades Struts vs. JSF31

LISTA DE TABELAS Tabela 4: Comparativo de algumas funcionalidades Struts, JSF e Mentawai. _ 51

API: Application Programming Interface. Interface de Programação de Aplicativos; CD-ROM: Disco compacto de armazenamento de dados. Mídia removível. CE: Comércio Eletrônico. CRUD: Create, Retrieve, Update, Delete. Criar, Consultar, Atualizar e Excluir. EJB: Enterprise JavaBean. HTML: HyperText Markup Language. Linguagem de Marcação de Hipertexto. HTTP: Hypertext Transfer Protocol. Protocolo de Transferência de Hipertexto. IDE: Integrated Development Environment. Ambiente Integrado de Desenvolvimento. JCP: Java Community Process. JEE: Java Enterprise Edition. J2EE: Java 2 Enterprise Edition. JPA: JavaPersistence API. JSF: JavaServer Faces. JSP: JavaServer Pages. JSR: Java Specification Requests. MVC: Model, View, Controller. Modelo, Visão e Controle. ORM: Object-Relational Mapping. Mapeamento Objeto Relacional. POJO: Plain Old Java Objects. RAD: Rapid Application Development. Desenvolvimento Rápido de Aplicação. SQL: Structured Query Language. Linguagem de Consulta Estruturada. TI: Tecnologia da Informação. UML: Unified Modeling Language. Linguagem de Modelagem Unificada. URI: Uniform Resource Identifier. Identificador Uniforme de Recursos. URL: Uniform Resource Locator. Localizador de Recursos Universal. Web: World-Wide-Web. Rede Mundial de Computadores. XML: eXtensible Markup Language. Linguagem de Marcação Extensível.

1 INTRODUÇÃO

Nos últimos anos, o ambiente organizacional tem experimentado profundas mudanças, relacionadas, em sua maioria, com as tecnologias da comunicação. A globalização de mercados e integração interna e externa das empresas, por exemplo, caracterizam um novo ambiente empresarial, no qual as organizações dos mais variados setores têm realizado significativos investimentos em Tecnologia da Informação (TI), passando a oferecer produtos e serviços amplamente apoiados nessa tecnologia.

Assim, seja pelo novo ambiente empresarial ou por força das influências entre os setores, todas as organizações têm sido afetadas pela nova realidade do mercado e comércio eletrônico. Essa situação tem exigido das organizações grande esforço para a assimilação e a utilização das tecnologias de informação referentes a comércio eletrônico, em sua operacionalização e em sua estratégia competitiva. (Albertin, 1999). Nos primeiros seis meses de 2008, o comércio eletrônico (e-commerce) no Brasil faturou 3,8 bilhões de reais, o que representa um crescimento nominal de 45% em relação aos meses de janeiro a junho de 2007, segundo dados da E-BIT Informação, empresa brasileira especializada em fornecimento de informações sobre o e-commerce. (E-BIT empresa, 2008)

De acordo com a E-BIT, o volume faturado no primeiro semestre de 2008 corresponde a praticamente todo montante faturado durante o ano de 2006, quando o e-commerce brasileiro alcançou a marca de R$ 4,4 bilhões em vendas de bens de consumo. De acordo com a empresa, a justificativa para a grande e contínua expansão do comércio pela Internet está no incremento no número de consumidores que, do primeiro semestre de 2007 até o primeiro semestre de 2008, cresceu aproximadamente 42%, ou seja, um acréscimo de 3,5 milhões de novos compradores, totalizando 1,5 milhões de pessoas que já experimentaram comprar na Web até Junho de 2008, o que representa cerca de 6,1% da população brasileira.

Inúmeros são os fatores que tem levado os consumidores a mudar o comportamento de compra, com destaque para a inclusão digital, incentivada pelo Governo Federal, a conveniência da compra on-line, principalmente nas grandes cidades e, a eficiência dos sites de busca e comparadores de preços. (E-BIT empresa, 2008)

O grande motor de todo este movimento, a Internet, proporciona uma imensa rede de oportunidades, abrindo mercados impensáveis e infinitos. Um “ser” de crescimento orgânico, natural, e principalmente, veloz. É neste meio que esta proposta se insere, buscando suprir novas necessidades da sociedade moderna. Necessidades estas, que uma vez supridas tornar-se-ão parte fundamental do cotidiano dos indivíduos.

A Web vem modificando a forma como se estabelecem as relações interpessoais, ou seja, muda-se a forma como as pessoas fazem negócios e se comunicam. A noção de espaço é perdida quando se passa, subitamente, a trabalhar com horizontes globais. Superando-se barreiras, surpreende com a velocidade com que os novos produtos podem passar a fazer parte da realidade dos consumidores. De modo geral, a Internet vem modificando o modo de se relacionar, o modo de comprar e de vender, enfim, a maneira de pensar da sociedade moderna.

Segundo Pinho (2000), montar uma loja virtual é, sem dúvida, muito mais complicado do que fazer um site na Internet. Mas tem futuro: as amplas e ainda promissoras possibilidades do comércio eletrônico na Internet despertam a atenção de empresas e comerciantes, estimulando os empreendedores a se tornarem os novos “Webmilionários” do e-commerce.

Esta evolução constitui instrumento motivador para a entrada de novas ferramentas e sistemas capazes de suprir espaços ainda não explorados pelos “empresários virtuais”.

Diante deste movimento acelerado e consistente, onde os consumidores vem mudando sua maneira de comprar, observa-se a oportunidade para criação de plataformas de comércio voltadas para a Internet: portais de comércio eletrônico. Em suma, propõe-se a criação de um canal capaz de intermediar a negociação entre consumidores e vendedores a fim de permitir que os mais variados produtos e serviços possam ser veiculados e o seu respectivo processo de entrega, gerenciado.

Atualmente, tal qual a evolução existente no âmbito comercial, a tecnologia de informação, que dá sustentabilidade a esta realidade, também está em constante processo de aprimoramento. Ferramentas e técnicas surgem a todo o momento e, entre elas as plataformas (Frameworks) MVC e ORM que são voltadas especificamente para o ambiente da Web. Frameworks desta modalidade serão objetos de estudo deste trabalho e deverão auxiliar no desenvolvimento da aplicação em questão.

3 1.1 JUSTIFICATIVA

A evolução do ambiente da Internet vivenciado atualmente requer não apenas redes mais rápidas e internacionalizadas, exige também revisões constantes do processo de desenvolvimento de software em busca do uso do aparato tecnológico condizente, aliado a adoção das melhores práticas de desenvolvimento.

A interatividade compõe fator primordial das aplicações voltadas para a

Internet, sem ela as aplicações seriam incapazes de oferecer a imensa gama de serviços hoje existentes. As aplicações devem atender às requisições dos usuários, realizando acesso a dados, executando tarefas de negócios, exibindo dados e, controlando seu próprio fluxo, sempre através de uma interface amigável e uma estrutura robusta.

Assim, tão importante quanto visar o conhecimento envolvido no ambiente de comércio eletrônico, faz-se o estudo aprofundado das plataformas que objetivam, justamente, facilitar e agilizar o desenvolvimento, conduzindo analistas e desenvolvedores a focar seus esforços em processos de negócio.

O estudo e a adoção de plataformas tornam-se imprescindíveis quando estas permitem otimizar o desenvolvimento. Os Frameworks MVC desoneram a camada de visão da aplicação, enquanto as plataformas ORM proporcionam uma camada de persistência quase que automatizada, aliviando o programador de tarefas repetitivas cuja implementação manual exigirá conhecimentos específicos.

Comparar as formas de utilização dessas ferramentas, salientando suas características essenciais, permite conduzir empresas e desenvolvedores em busca das melhores alternativas, contribuindo para o aprimoramento geral do processo de criação de software.

No que tange o comercio eletrônico observa-se a possibilidade de aprimorar características e até mesmo traduzir processos tradicionais para o ambiente da Internet, introduzindo tecnologia de informação em processos populares e largamente utilizados.

1.2 OBJETIVOS

Arquitetar e desenvolver um portal de comércio eletrônico (e-commerce), através do qual os usuários possam vender produtos e serviços, gerenciando seus processos de entrega.

1.2.1 Objetivo Geral

Através de técnicas de orientação a objetos, elaborar análise e projeto, implementando, com auxilio de Frameworks e ferramentas específicas, um portal de Internet capaz de executar e gerenciar processos de venda e entrega de produtos e serviços.

1.2.2 Objetivos Específicos a) Desenvolver um estudo bibliográfico sobre o ambiente de comércio eletrônico; b) Explorar a tecnologia Java voltada para a Internet, e alguns dos principais Frameworks MVC e ORM existentes; c) Efetuar análise do sistema; d) Implementar o Sistema utilizando a linguagem de programação Java para Web, desenvolvida pela Sun Microsystems, com o auxilio do framework MVC Mentawai e da JavaPersistence API (JPA). e) Publicar o sistema como portal na Internet.

2 FUNDAMENTACAO TEORICA

Com vistas a analisar e exemplificar algumas das tecnologias existentes destinadas ao desenvolvimento voltado para a Internet serão demonstrados detalhadamente os Frameworks MVC JavaServer Faces e o Apache Struts, além de uma visão geral sobre a técnica ORM e, inicialmente, a respeito do Comércio Eletrônico.

2.1 COMÉRCIO ELETRÔNICO

O comércio eletrônico é a mais recente e promissora aplicação criada com a TI (Tecnologia da Informação), que não se restringe apenas à compra e à venda de produtos e serviços por meio de redes de computadores. Os sistemas de comércio eletrônico (CE) podem ser explorados para fins de comunicação entre filiais, conectividade com clientes e com fornecedores, publicidade e, naturalmente, a realização de transações comerciais. O conceito de comércio eletrônico, segundo Kalakota & Whinston (apud Albertin, 1999), deve então ser entendido sobre quatro diferentes perspectivas: 1. De uma perspectiva de comunicações, o CE é a entrega de informações, produtos/serviços ou pagamentos por meio de linhas de telefone, redes de computadores ou qualquer outro meio eletrônico; 2. De uma perspectiva de processo de negócio, o CE é a aplicação de tecnologia para a automação de transações de negócio e fluxos de dados; 3. De uma perspectiva de serviço, o CE é uma ferramenta que endereça o desejo das empresas, dos consumidores e da gerência para cortar custos de serviços, enquanto melhora a qualidade das mercadorias e aumenta a velocidade da entrega do serviço; 4. De uma perspectiva on-line, o CE prevê a capacidade de comprar e vender produtos e informações na Internet e em outros serviços on-line.

A disseminação do sistema de comércio eletrônico, em todas as suas formas, tem como peça-chave a grande adoção desses tipos de tecnologias por clientes, fornecedores e empresas. A disseminação nas novas tecnologias enfrenta sempre obstáculos – entre eles, a natural resistência a mudanças, os aspectos percebidos com a nova tecnologia, a necessidade de infra-estrutura e os benefícios percebidos, mas pode ser beneficiada pela curva de aprendizagem acumulada pelas tecnologias anteriores. Por isso, os tempos de adoção de tecnologias como o pager, fax, videocassete, telefone celular, computador pessoal, CD-ROM e Web são cada vez mais curtos. (PINHO, 2000, p. 211).

Paralelamente ao crescimento extensivo e a imensa gama de oportunidades que surgem com o advento do comércio eletrônico, é fundamental que as novas propostas sejam avaliadas sob aspectos como concorrência, publicidade e segurança. Segundo Felipini (2007), é fundamental que o site seja visto pela rede, tendo em vista que cerca de 50% dos consumidores on-line pesquisaram seus produtos através de sites de busca como Google, Yahoo, MSN, entre outros, antes de realizar suas compras.

Além dos desafios comerciais existentes neste ambiente competitivo, outro fator preponderante é a grande quantidade de variáveis existentes em sistemas distribuídos como é o caso da Web, o que amplia consideravelmente o grau de complexidade das aplicações desenvolvidas para este fim. Com o intuito de tornar estes desafios mais palpáveis a indústria de software, proprietário ou open source (software de código aberto), vem buscando constantemente desenvolver ferramentas e técnicas capazes de facilitar o trabalho dos desenvolvedores. Algumas destas ferramentas recebem o nome de Framework, ou, plataforma de trabalho. A seguir descreve-se sua funcionalidade básica e duas de suas variações, os Frameworks MVC e os Frameworks ORM.

2.2 FRAMEWORKS

Frameworks são conjuntos de classes que colaboram a fim de oferecer suporte a outros sistemas que podem ser sobre ele desenvolvidos. São projetados com a intenção de facilitar o desenvolvimento de software, habilitando designers5 e

5 Profissionais responsáveis pela elaboração do projeto estético e funcional de um Web Site.

programadores a gastarem mais tempo determinando as exigências do software do que com detalhes de baixo nível do sistema.

Os softwares, assim como as pessoas, são mais semelhantes do que diferentes. Eles são executados nos mesmos computadores, esperam entradas dos mesmos dispositivos, produzem as mesmas exibições e gravam os dados nos mesmos discos rígidos. (HUSTED, 2004, p. 5)

(Parte 1 de 5)

Comentários