16
Anhanguera Educacional S.A. Correspondência/Contato Alameda Maria Tereza, 2000 Valinhos, SP - CEP 13278-181 [email protected] [email protected] Coordenação Instituto de Pesquisas Aplicadas e Desenvolvimento Educacional - IPADE Trabalho realizado com o incentivo e fomento da Anhanguera Educacional S.A. Verônica Pedrozo de Medeiros Professora Orientadora: Ms. Leticia Teixeira Cottini Soares Professor Colaborador: Fernando Salles Claro Curso: Ciência da Computação FACULDADE ANHANGUERA DE TAUBATÉ CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS LIVRES ANUÁRIO DA PRODUÇÃO DE INICIAÇÃO CIENTÍFICA DISCENTE Vol. XII, Nº. 14, Ano 2009 RESUMO Atualmente, o processo de desenvolvimento de sistemas esta cada vez mais completo e exigente, devido às novas tecnologias e às constantes mudanças na área de TI (Tecnologia da Informação). A necessidade da implementação de novos recursos e tecnologia, associada ao fato de que o software desenvolvido deve ser reusável, de qualidade e com custo acessível, torna o processo de desenvolvimento mais complexo. Visando a atender essas necessidades, as ferramentas livres são bons exemplos de como encontrar soluções para problemas até então não compartilhados e buscar, de forma barata e inteligente, melhores rumos para o desenvolvimento de sistemas. Este trabalho descreve as principais ferramentas para o desenvolvimento de sistemas web, desde a fase de concepção até a de implantação. Há uma síntese de cada fase do desenvolvimento de um sistema e as características das ferramentas livres indicadas para cada uma destas fases. Assim, utilizando ferramentas livres será possível corrigir erros e esclarecer as dúvidas em comunidade, facilitando o trabalho dos envolvidos no desenvolvimento e barateando o custo do sistema, pois não necessita de softwares privados e licenças exorbitantes. Palavras-Chave: open source; ferramenta livre; desenvolvimento de software. ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06

CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

Anhanguera Educacional S.A. Correspondência/Contato Alameda Maria Tereza, 2000 Valinhos, SP - CEP 13278-181 [email protected] [email protected] Coordenação Instituto de Pesquisas Aplicadas e Desenvolvimento Educacional - IPADE

Trabalho realizado com o incentivo e fomento da Anhanguera Educacional S.A.

Verônica Pedrozo de Medeiros

Professora Orientadora: Ms. Leticia Teixeira Cottini Soares Professor Colaborador: Fernando Salles Claro

Curso: Ciência da Computação

FACULDADE ANHANGUERA DE TAUBATÉ

CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS LIVRES

ANUÁRIO DA PRODUÇÃO DE INICIAÇÃO CIENTÍFICA DISCENTE

Vol. XII, Nº. 14, Ano 2009

RESUMO

Atualmente, o processo de desenvolvimento de sistemas esta cada vez mais completo e exigente, devido às novas tecnologias e às constantes mudanças na área de TI (Tecnologia da Informação). A necessidade da implementação de novos recursos e tecnologia, associada ao fato de que o software desenvolvido deve ser reusável, de qualidade e com custo acessível, torna o processo de desenvolvimento mais complexo. Visando a atender essas necessidades, as ferramentas livres são bons exemplos de como encontrar soluções para problemas até então não compartilhados e buscar, de forma barata e inteligente, melhores rumos para o desenvolvimento de sistemas. Este trabalho descreve as principais ferramentas para o desenvolvimento de sistemas web, desde a fase de concepção até a de implantação. Há uma síntese de cada fase do desenvolvimento de um sistema e as características das ferramentas livres indicadas para cada uma destas fases. Assim, utilizando ferramentas livres será possível corrigir erros e esclarecer as dúvidas em comunidade, facilitando o trabalho dos envolvidos no desenvolvimento e barateando o custo do sistema, pois não necessita de softwares privados e licenças exorbitantes.

Palavras-Chave: open source; ferramenta livre; desenvolvimento de software.

385 Publicação: 10 de maio de 2010

ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06

Page 2: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

386 Construção de sistemas web utilizando ferramentas livres

1. INTRODUÇÃO

Visando a garantir a qualidade, a flexibilidade e a reutilização de código dos programas

desenvolvidos e com o objetivo de alcançar a satisfação do cliente, é necessário apresentar

soluções inteligentes e inovadoras para um mercado cada vez mais exigente.

Muitas dessas soluções são proprietárias, têm o desenvolvimento fechado, o

usuário não tem controle sobre as funcionalidades, as correções e os melhoramentos, elas

não estão ao alcance de muitos desenvolvedores, pequenas empresas e usuários

domésticos interessados porque são caras demais, têm prazo de validade e, muitas vezes

deixam a desejar.

Com o passar dos anos, o desenvolvimento de sistemas web foi melhorando,

problemas com a complexidade do desenvolvimento do projeto foram surgindo, muitos

modelos de especificação, modelagem e desenvolvimento foram criados para auxiliar e

hoje, uma boa opção para o desenvolvimento de sistemas web, desde sua concepção até

sua implantação são as ferramentas livres.

Segundo pesquisa realizada na Universidade Federal de Goiás (2007, p. 04).

“Software Livre é qualquer software cuja licença garanta ao seu usuário liberdades

relacionadas ao uso, alteração e redistribuição”. Seu aspecto fundamental é o fato do

código-fonte estar livremente disponível para ser lido, estudado ou modificado por

qualquer pessoa interessada.”

São várias as vantagens de usar essas ferramentas, dentre elas: a facilidade de

manutenção, o alto grau de disponibilidade das ferramentas livres na web e o baixo custo.

As ferramentas livres aqui mencionadas são as mais utilizadas no mercado de

desenvolvimento de sistemas web, apesar de não apresentarem custos com licenças, elas

têm grande qualidade e beneficiam o projeto de desenvolvimento de sistemas a começar

pelo custo e a satisfação dos desenvolvedores.

Rosa (2007, p. 105) afirma que, “Apesar de parecer apenas programas de

computadores, eu vejo o software livre como uma filosofia de vida”.

Este trabalho apresenta as características das ferramentas livres mais utilizadas

considerando a economia proporcionada e a fuga do uso indevido, ilegal ou pirata de

programas proprietários, que pode ser um risco para as empresas, sujeitas e expostas a

penalidades. Apresenta também uma comparação entre as ferramentas livres e

proprietárias que são destinadas a auxiliar em uma determinada área de desenvolvimento

do sistema web.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

ANUIC_N14_miolo.pdf 386 7/6/2010 18:17:06

Page 3: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

Verônica Pedrozo de Medeiros 387

2. OBJETIVO

Mostrar de forma simples, clara e objetiva as ferramentas livres mais utilizadas e mais

aceitas no mercado atualmente para o desenvolvimento de sistemas web, suas

características principais. Por exemplo, analisar as ferramentas JUDE, ArgoUML, Visual

Paradigm, Eclipse, Netbeans, JDeveloper, TomCat, GlassFish, JBoss, Struts, Spring,

JavaServer Faces, MySQLWorkbench, Open ModelSphere, BRModelo, MySQL,

PostgreSQL, Derby para implementação de sistemas web, desde sua concepção até a fase

de implantação.

Apresentar as ferramentas livres como uma boa opção para o desenvolvimento

de sistemas web e demonstrar por meio de tabelas comparativas que muitas dessas

ferramentas já competem com as grandes ferramentas proprietárias que, até então,

dominavam o mercado.

3. METODOLOGIA

Os dados para abordar as características, comparações, vantagens e desvantagens do uso

das ferramentas livres foram coletados por meio de pesquisa bibliográfica em livros,

revistas especializadas, sites e artigos científicos, objetivando conhecer um pouco mais

sobre cada uma das ferramentas. Esses dados contribuíram para a conclusão das quatro

primeiras etapas deste projeto de pesquisa, que são: Pesquisa inicial, Pesquisa detalhada,

Comparações e Vantagens / Desvantagens da utilização das ferramentas livres.

Serão realizadas também entrevistas com quem utiliza ferramentas livres e testes

em todas as ferramentas que possibilitarão a conclusão da quinta e última etapa do

projeto de pesquisa que é a listagem das dicas de como utilizar alguma ferramentas livres.

4. DESENVOLVIMENTO

As ferramentas livres têm sido, nos últimos anos, objeto de atenção por parte da imprensa

especializada em informática e profissionais da área. Neste trabalho, é possível verificar

que existem ferramentas livres com sofisticação suficiente para atender a grande parte das

demandas empresariais. Verifica-se também que pode existir sucesso em sua utilização,

principalmente com a redução de custos.

Neste trabalho está descrito as principais características das ferramentas livres

utilizadas e indicadas para se desenvolver um sistema web.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

ANUIC_N14_miolo.pdf 387 7/6/2010 18:17:06

Page 4: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

388 Construção de sistemas web utilizando ferramentas livres

4.1. Modelagem UML

A UML (Unified Modeling Language) é uma linguagem visual padrão utilizada para

modelar sistemas computacionais por meio do paradigma de Orientação a Objetos,

permite a construção de modelos precisos e completos.

Ferramenta: JUDE - Versão: JUDE Community 5.5.2

JUDE é uma Ferramenta para Modelagem de Dados UML, com ela é possível realizar

uma modelagem de dados complexa. Ela apresenta os dados para o usuário de forma

clara e, ainda, possui um layout bem intuitivo (Figura 1). Download no site

http://jude.change-vision.com/jude-web/download/index.html.

Essa ferramenta desenvolve diagramas com base na UML 1.4 e 2.0 e vem

expandindo a cada dia suas funcionalidades e por isso foi aqui observado que ela é uma

boa opção para o desenvolvimento de diagramas em UML, até mesmo para “grandes”

projetos. São nove tipos diferentes de diagramas UML que a Ferramenta JUDE oferece.

JUDE possibilita a importação e a exportação de classes de um programa JAVA,

permite a criação automática do diagrama de classe por meio da engenharia reversa.

Figura 1 – Apresentação da ferramenta JUDE, com botões intuitivos, ferramenta auto-explicativa.

Ferramenta: Visual Paradigm - Versão 7.0

É uma ferramenta que auxilia o desenvolvedor a criar diagramas UML. Tem uma interface

de fácil entendimento, apesar de ser uma ferramenta toda no idioma Inglês, seus ícones e

menus são bem intuitivos e isso não é nenhum problema para quem deseja trabalhar com

essa ferramenta. Compatível com UML 2.2.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

ANUIC_N14_miolo.pdf 388 7/6/2010 18:17:06

Page 5: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

Verônica Pedrozo de Medeiros 389

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

Apresenta inúmeras funcionalidades, como geração do Modelo Entidade

Relacionamento (DER), exportação, importação e merge dos formatos XML, XMI e XLS.

Importa arquivos do Visio, Rose, Software Architect e Erwin sem perda de informações. O

Visual Paradigm não é tão complexo como o ArgoUML. Download no site

http://www.visual-paradigm.com/download/.

Ferramenta: ArgoUML - Versão 0.28

É uma ferramenta que utiliza a UML para modelar sistemas. Roda sobre a plataforma Java

e suporta 10 idiomas (incluindo o português). Essa ferramenta apresenta mais recursos

que a ferramenta JUDE, sua interface é bem completa, o que a torna um pouco complexa

de se manipular. Download no site http://argouml.tigris.org/.

É uma ferramenta que aumenta a produtividade dos programadores,

principalmente os iniciantes, já que ela pode gerar a codificação definida com base no

diagrama de classe criado. ArgoUML tem suporte a geração de códigos em Java, C++, C#,

PHP4 e PHP5. Com ela você poderá importar e exportar projetos em XML e gerar as

imagens dos diagramas (Comparação entre ferramentas para UML na Tabela 1).

Tabela 1 – Comparativo entre os Diagramas existentes nas ferramentas livres para modelagem UML.

Diagramas UML JUDE ArgoUML Visual Paradigm Visual UML1

Diagrama de Classes × × × × Diagrama de Casos de Uso × × × × Diagrama de Estados × × × × Diagrama de Atividades × × × × Diagrama de Sequência × × × × Diagrama de Implantação × — × — Diagrama de Estruturas Composta × — × — Diagrama de Distribuição — × — —

4.2. Modelagem de Dados

A Modelagem de Dados é o processo no qual se planeja a base de dados de um sistema,

buscando construir um banco de dados consistente, que reaproveite os recursos do SGBD,

que exija menos espaço em disco e, sobretudo, que possa ser bem administrado. Na

modelagem são apresentadas as regras de negócio do sistema e a especificação de suas

estruturas de dados.

1 Software proprietário da empresa Visual Object Modelers.

ANUIC_N14_miolo.pdf 389 7/6/2010 18:17:06

Page 6: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

390 Construção de sistemas web utilizando ferramentas livres

Ferramenta: MySQL Workbench – Versão 5.1.9 OSS

É uma ferramenta de modelagem de dados com suporte para as funcionalidades do

MySQL, é uma evolução do DBDesigner4. Download no site http://dev.mysql.com/. Roda

nas plataformas Microsoft Windows XP e Windows Vista.

Apresenta uma interface melhor que a do DBDesigner4. Das três ferramentas aqui

listadas, esta é a mais complexa de se trabalhar, além de ser toda no idioma inglês,

apresenta alguns nomes que é necessário se ter conhecimento antes de utilizá-la.

Seus ícones não são tão intuitivos para os iniciantes, como a ferramenta

brModelo, por exemplo. O MySQL Workbench faz sincronia com os modelos de banco de

dados, importa e exporta modelos do DBDesigner4, bem como exporta scripts SQL.

brModelo - Versão 2.0.0

É uma ferramenta excelente para criar modelos lógicos e físicos de maneira prática,

simples e rápida (Figura 2). Download no site Baixaki, ele é bem compacto e pequeno, pode

rodar até em pendrive.

Como é muito leve, não precisa de um “super computador” para rodá-lo com o

desempenho muito bom (Comparação entre as ferramentas de modelagem na Tabela 2).

Figura 2 – Exemplo de Modelagem de Dados com brModelo.

“Minha ferramenta básica para iniciar qualquer projeto. A Gente cria o modelo

conceitual e ele converte para o modelo lógico. Se o autor resolver gerar o script em MySql

e outros bdos essa ferramenta será imbatível.” (CELSO BRITO, 2009).

Das ferramentas aqui listadas, o brModelo é a única no idioma português,

apresenta ícones e menus intuitivos, é de fácil entendimento e manipulação, porém

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

ANUIC_N14_miolo.pdf 390 7/6/2010 18:17:06

Page 7: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

Verônica Pedrozo de Medeiros 391

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

apresenta bem menos funcionalidades que as duas outras ferramentas livres acima

citadas.

Ferramenta: Open ModelSphere - Versão 3.0

O Open ModelSphere é uma ferramenta para modelagem UML e modelagem de dados,

foi desenvolvido para ser independente de plataforma, é uma ferramenta de fácil

utilização, com ícones intuitivos e menus bem organizados, além disso, tem a vantagem

de ser leve. Mesmo sendo totalmente no idioma inglês, não apresenta complexidade.

Permite a engenharia reversa, possibilitando assim a visualização gráfica da

arquitetura da base de dados, suporta todos os tipos de sistemas de gerenciamento de

banco de dados, pois utiliza banco de dados relacional, facilitando assim modificações

futuras. Download no site http://www.modelsphere.org/download.html.

Com Open ModelSphere é possível especificar recursos, transações, trocas de

comunicação, possui sistema de engenharia reversa, geração de scripts, entre outras

coisas. A ferramenta não está restrita apenas a modelagem de negócio, com ela é possível

desenvolver diagramas UML também.

Tabela 2 – Comparativo entre as ferramentas livres para modelagem de dados.

Recursos / Funcionalidades brModelo MySQL Workbench

Open ModelSphere ERwin2

Foward Engineering — × × x Reverse Engineer — × — x Sincronização do Modelo — × × x Exportar como Imagem × × × x Exportar como PDF — × — — Exportar como XML — — × × Criação de Modelo Lógico × × × × Criação de Modelo Conceitual × — × ×

4.3. Ambientes de Desenvolvimento

Um Ambiente de Desenvolvimento é um IDE (Integrated Development Environment), um

ambiente integrado para desenvolvimento de software, uma ferramenta que favorece a

programação.

Ferramenta: JDeveloper - Versão 11g

É o IDE Java da Oracle, tem como finalidade, facilitar o desenvolvimento de aplicações

que utilizam a linguagem JAVA. Apresenta recursos visuais, o que facilita no

2 Software proprietário, ferramenta CASE da empresa Computer Associates.

ANUIC_N14_miolo.pdf 391 7/6/2010 18:17:06

Page 8: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

392 Construção de sistemas web utilizando ferramentas livres

desenvolvimento de aplicações tanto para iniciantes como para experientes

programadores Java (Figura 3). Não apresenta tantas informações na internet .

Oferece funcionalidades para o desenvolvimento em Java, XML, SQL e PL/SQL,

HTML, JavaScript, PHP etc. O download pode ser feito no site da Oracle.

“JDeveloper - É a escolha natural para quem trabalha com as tecnologias da

Oracle, para J2EE, ORM ou JSF... É uma excelente ferramenta para integrar uma equipe

com conhecimento diversificado (experts e novatos).” (MONTALVÃO, 2009).

Figura 3 – Programação em Java utilizando o JDeveloper.

Ferramenta: Eclipse - Versão: 3.5

O Eclipse é uma IDE para o desenvolvimento de aplicações Java, mas também pode ser

usado para o desenvolvimento de aplicações em PHP, C++, etc. Possui um grande

número de plug-ins gratuitos disponíveis, para adicionar e ampliar mais recursos ao IDE,

também possui refactoring, geração de códigos, atalhos e ícones intuitivos. É um IDE que já

atingiu um grande nível de maturidade. (Comparação entre IDE’s na Tabela 3).

A diversidade de opções na escolha de plug-ins propicia total liberdade para

aprimorar cada vez mais esse IDE, mas por outro lado, isto pode ser fonte de

aborrecimentos e confusão para se montar um ambiente suficientemente completo,

integrado e produtivo baseado no Eclipse. O download pode ser feito no site da Eclipse.

O Eclipse Possibilita a geração automática de entidades a partir de um schema de

dados. A versão 3.5 é totalmente compatível com a versão anterior, permitindo assim uma

fácil migração. “O Eclipse é um dos IDE’s mais conceituados para a programação Java,

por conseqüência um dos mais utilizados “ (MOREIRA, 2009).

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

ANUIC_N14_miolo.pdf 392 7/6/2010 18:17:06

Page 9: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

Verônica Pedrozo de Medeiros 393

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

Ferramenta: NetBeans - Versão: 6.7

É uma ferramenta para o programador escrever, compilar e depurar programas Java,

C++, C, Ruby, Groovy, etc. Também é possível criar, testar e eliminar os erros de

aplicações móveis (celulares). Download no site http://www.netbeans.org/downloads/.

O NetBeans permite ao programador criar programas utilizando recursos

gráficos, pois possui recursos GUI (que facilita o aprendizado dos iniciantes), ele oferece

ferramentas com suporte de criação em todos os componentes Java EE, incluindo EJBs,

serviços web, entre outros. É permitida a modelagem de diagramas UML.

É uma ferramenta muito fácil de se utilizar, apresenta ícones e menus intuitivos,

além disso é toda traduzida para o idioma português. Possui assistente de criação de

projeto web, pergunta qual Framework será utilizado, configura o projeto etc.

Tabela 3 – Comparativo entre as ferramentas livres para desenvolvimento.

Características Eclipse NetBeans JDeveloper JBuilder3 Suporte para aplicações desktop × × × × Suporte para aplicações web × × × × Suporte para aplicações móveis × × × × Multiplataforma × × × × Geração de código × × × × Componentes gráficos × × × × Desenvolvimento integrado para Java, XML... × × × × Modelagem visual baseada em UML × × × ×

4.4. Manipulação de Banco de Dados

Para a manipulação e gerenciamento do Banco de Dados é necessário a utilização de um

Sistema Gerenciador de Banco de Dados (SGBD).

“...Com o avanço do Linux no mundo dos servidores e o aumento da qualidade e

oferta dos Banco de Dados gratuitos, muitos optaram por migrar de um SGBD pago para

um gratuito” (FRANCELINO, 2008).

Ferramenta: MySQL - Versão: 5.1

O MySQL pode ser considerado o mais popular banco de dados open source do mundo. É

um banco de dados relacional, isso proporciona velocidade e flexibilidade. Uma das suas

interfaces gráficas é o MySQL Control Center, também open source, que auxilia ainda mais o

usuário. Download no site http://dev.mysql.com/downloads/.

3 Ferramenta proprietária da empresa Borland.

ANUIC_N14_miolo.pdf 393 7/6/2010 18:17:06

Page 10: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

394 Construção de sistemas web utilizando ferramentas livres

A partir da versão 5.x, a ferramenta MySQL se tornou um Sistema Gerenciador

de Banco de Dados Cliente/Servidor Completo, pois, foi implantado os recursos de Stored

procedures, Cursores, Views, Triggers, Foreign Key e Constraints.

Possui consistência, alta performance, confiabilidade, é robusto e fácil de usar. O

MySQL possui suporte a SQL é indicado para quem busca uma base de dados completa e

de fácil d instalação. (Comparação entre os Bancos de Dados na Tabela 4).

“Existem várias razões para utilizar o MySQL, dentre elas se destacam a robustez

e desempenho deste SGBD, além da facilidade de instalação, configuração e uso.”

(DUARTE, 2008)

Ferramenta: PostgreSQL - Versão: 8.3

É um sistema gerenciador de banco de dados relacional, de código aberto e gratuito para

qualquer uso. Download no site http://www.postgresql.org/download. Para utilizar uma

interface gráfica no Postgre, pode-se utilizar o pgAdmin (Figura 4).

O PostegreSQL apresenta o melhor otimizador de consultas dentre todos os

banco de dados livres. Com todas as qualidades listadas acima, o PostgreSQL oferece uma

utilização muito boa quando comparado ao MySQL e ao Derby, principalmente se

tratando de desenvolvimento de sistemas web para empresas.

“Vale lembrar que periodicamente o PostgreSQL ganha novas versões que

incluem novas funcionalidades. Isto nos dá uma segurança extra em relação ao suporte e

evolução do projeto.” (FRANCELINO, 2008).

Figura 4 – Ferramenta pgAdmin: Interface Gráfica Livre do PostgreSQL.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

ANUIC_N14_miolo.pdf 394 7/6/2010 18:17:06

Page 11: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

Verônica Pedrozo de Medeiros 395

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

Ferramenta Derby - Versão: 10.5

Derby é o Sistema Gerenciador de Banco de Dados relacional da Apache, desenvolvido

em Java-puro. É uma nova versão do Claudscape (SGBD comercial).

O Derby possui várias funcionalidades, dentre elas stored procedures e views que o

assemelham com os SGBDs aqui estudados. Ele pode funcionar de duas maneiras

diferentes: Modo Network (aplicação em rede) e Modo Embedded (aplicação embutida).

“... o Derby, não somente é uma grande demonstração da capacidade da

plataforma Java, mas também poderá ser uma ferramenta excelente para a maioria das

aplicações que precisem de um banco relacional.” (DOEDERLEIN, 2008).

O Derby sempre está incorporado a algum produto, seu download pode ser feito

no site da Apache. Pode-se utilizar uma interface gráfica para auxiliar o trabalho.

Tabela 4 – Comparativo entre as ferramentas livres para a manipulação de banco de dados.

Recursos/Funcionalidades MySQL PostgreSQL Derby Oracle4

Triggres (Gatilhos) × × × × Stored Procedures × × × × Criptografia × × × × View × × × × Funções agregadas (count, sum, avg, …) × × × × Consultas aninhadas (subselects) × × × × Outer Joins × × × × Backups on-line × × × ×

4.5. Frameworks

Um framework é uma abstração que une códigos comuns entre vários projetos de software

provendo uma funcionalidade genérica. A utilização de um framework torna-se muito útil

no momento em que o desenvolvedor constrói ou utiliza certo componente mais de uma

vez. A reutilização de códigos que o framework proporciona é fantástica.

Ferramenta: Spring – Versão 3.0

O Spring tem como objetivo facilitar o desenvolvimento de sistemas desktop e de sistemas

web, ele possibilita a redução de código e aumenta a produtividade do desenvolvedor. Isto

é possível por meio de recursos como a “injeção de dependência”, e redução da

quantidade de código XML. Download no site http://www.springsource.org/.

4 Ferramenta proprietária mais utilizada no mercado da empresa Oracle.

ANUIC_N14_miolo.pdf 395 7/6/2010 18:17:06

Page 12: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

396 Construção de sistemas web utilizando ferramentas livres

Ele oferece suporte a serviços remotos (robusto e ao mesmo tempo simples).

Usando o Spring para acessar serviços remotos, tira-se toda a complexidade dos

desenvolvedores, aumentando a produtividade e a qualidade do desenvolvimento.

Apresenta vários recursos para controlar a injeção de dependências e o

gerenciamento dos objetos em seu container. Mesmo com os novos recursos presentes na

plataforma Java EE 5 para a injeção de dependência.

“... o Spring mantém-se um passo além, com uma grande variedade de

funcionaliades avançadas e produtivas. Além disso, o Spring não exige um container Java

EE, podendo ser utilizado também em aplicações Java SE...” (AMADEI, 2007).

Ferramenta: Struts – Versão 2.1.8

Foi desenvolvido pela fundação Apache para desenvolvimento de web com Java EE,

auxilia a programação no modelo MVC. Ele é um framework baseado em ações, portanto as

classes de ação são parte central do framework. Download no site da Apache.

Com o Struts observa-se uma melhora com o desempenho das aplicações web, os

componentes do Struts são reutilizáveis pela aplicação, ele reduz a necessidade de JSPs

redundantes, é leve, compatível com os padrões, é de código fonte aberto e bem

documentado. Ele provê uma série de tag libs para criação de formulários (Figura 5).

Figura 5 – Exemplo de formulário.

Java ServerFaces 2.0

O framework JavaServer Faces é o padrão para a construção de componentes para a

interface de usuário em aplicações web. É como se fosse uma caixa de ferramentas cheia de

componentes prontos para serem usados que você pode reutilizar de forma rápida e fácil

em sua aplicação Web. (Comparação entre os Frameworks na Tabela 5).

Esses componentes podem ser simples (campos de entrada de texto) ou

complexos (campo de data formatado com um calendário pop-up). Pode-se incorporar os

componentes em páginas JSP e usar o framework para manipular a navegação entre

páginas JSP diferentes. O download pode ser feito no site http://java.sun.com/.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

ANUIC_N14_miolo.pdf 396 7/6/2010 18:17:06

Page 13: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

Verônica Pedrozo de Medeiros 397

Tabela 5 – Comparativo entre os frameworks livres.

Funcionalidades Struts Spring JSF

Padrão MVC × Spring MVC × Java EE × × × Java SE — × — Injeção de dependência — × × Acesso remoto — × × Integração com outros Frameworks × × × Plugins × × × Orientado a aspectos — × —

4.6. Servidores de Aplicação

Um servidor de aplicação é um software desenvolvido para disponibilizar uma aplicação

J2EE, também são conhecidos como middleware. Ele é executado em servidores e é

acessado pelos clientes através de uma conexão de rede.

Ferramenta: Glassfish – Versão 3

GlassFish é um servidor de aplicação desenvolvido pela Sun Microsystems para a

plataforma Java EE. Implementa as mais recentes tecnologias do Java EE 5, que ajudam a

melhorar a eficiência do desenvolvedor. Seu download pode ser feito no site da Sun.

Fornece uma arquitetura aberta e extensível para colaboração entre tecnologia de

integração e serviços web em uma arquitetura orientada a serviços. Essa ferramenta

engloba componentes além dos padrões dos servidores de aplicação - framework Grizzly,

os projetos jMaki, Phobos e o DynaFaces. (Comparação entre os Middleware na Tabela 6).

Algumas características do GlassFish são: alta performance, compatibilidade com

todos os frameworks populares atualmente, suporte a AJAX, contentor de scripts / web,

plataforma aberta e modular, suporte a linguagens dinâmicas como Ruby ou Groovy e

suporte total ao Java EE 6.

Ferramenta: Tomcat – Versão 6.0

O Tomcat é um servidor de aplicações Java para web, surgiu dentro do conceituado

projeto Apache Jakarta (Figura 6). Sua principal característica é estar focado na linguagem

de programação Java, em especial nas tecnologias de Servlets e de JSP (Java Server Pages).

O Tomcat pode comportar-se como um servidor web (HTTP).

Trabalha com as tecnologias de Realms e segurança, JNDI Resources e JDBC

DataSources, porém, não implementa pacotes EJB (Enterprise JavaBeans).

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

ANUIC_N14_miolo.pdf 397 7/6/2010 18:17:06

Page 14: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

398 Construção de sistemas web utilizando ferramentas livres

Para utilizar o Tomcat com uma performance satisfatória é recomendável se ter

no mínimo 1GB de memória RAM. Seu download é feito no site da Apache.

Figura 6 – Interface do Servidor de Aplicação Tomcat.

JBoss - Versão: 4.0

O JBoss é um servidor de aplicação Java EE. Possui todo o poder, a flexibilidade e a

confiabilidade dos demais servidores citados. Apresenta facilidades também na hora de

rodar pela primeira vez os servlets e EJBs. Download no site http://www.jboss.com/.

Apresenta atrativos como “hot deploy” e proxies dinâmicos. Outras características

são: ser relativamente leve, com consumo baixo de memória e espaço em disco, sem

comprometer sua performance. O JBoss não possui limites internos relacionados à

quantidade de aplicação, requisições, usuário que é capaz de segurar simultaneamente e

transações, ele escala valores de acordo com a capacidade do hardware do computador.

“... o JBoss é um software rico e poderoso, que está no centro das principais

aplicações corporativas da atualidade. Sua administração deve ser encarada com

seriedade, por profissionais especializados e buscando constante aperfeiçoamento.”

(LOZANO, 2008).

Essa ferramenta não é um servidor que fornece um único serviço, ela proporciona

um conjunto de serviços de redes, quase independentes, cada um tem seu próprio

protocolo de aplicação, porta TCP e parâmetro de configuração.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

ANUIC_N14_miolo.pdf 398 7/6/2010 18:17:06

Page 15: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

Verônica Pedrozo de Medeiros 399

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

Tabela 6 – Comparativo entre as ferramentas livres para servidor de aplicação.

Características Tomcat GlassFish JBoss Oracle Application Server5

Flexibilidade com Java EE 5 × × × × Utiliza EJB — × × — JSP × × × × Suporte a JavaServer Faces × × × × Clustering × × × × Eclipse IDE suporta × × × — Netbeans IDE suporta × × × × JDeveloper IDE suporta × × × ×

5. RESULTADOS

O presente trabalho foi de grande importância para auxiliar os desenvolvedores web que

não sabem ou têm dúvidas sobre qual ferramenta livre utilizar, devido à falta de

informações objetivas.

Descrevendo de forma prática as características de cada ferramenta livre aqui

proposta, realizando testes, criando tabelas comparativas entre ferramentas livres e

proprietárias foi possível reunir nesta pesquisa, as informações relevantes das ferramentas

livres mais utilizadas no mercado atualmente.

Com base nos testes de instalação e uso realizado em cada uma das ferramentas e

nas experiências coletadas (por meio de e-mails informais e conversas), foi possível

afirmar como, onde e quando utilizar alguma das ferramentas, bem como as vantagens de

se utilizar ferramentas livres para o desenvolvimento web.

6. CONSIDERAÇÕES FINAIS

Os objetivos deste projeto de pesquisa foram alcançados. Ao testar cada umas das 18

ferramentas livres aqui presentes e conversar com quem as utilizava, foi possível

descrever suas características mais relevantes e indicar onde cada uma delas melhor se

aplica.

A necessidade de atualização dos tópicos abordados proporcionará que os

demais estudantes e outros interessados providenciem a continuidade do projeto de

pesquisa. Para o ano que vem, há viabilidade de continuação da pesquisa, desenvolvendo

sistemas por meio de estudos de caso, e utilizando algumas das ferramentas livres aqui

descritas.

5 Servidor de Aplicação proprietário da empresa Oracle.

ANUIC_N14_miolo.pdf 399 7/6/2010 18:17:06

Page 16: CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS … 29.pdf · ANUIC_N14_miolo.pdf 385 7/6/2010 18:17:06. 386 Construção de sistemas web utilizando ferramentas livres 1. INTRODUÇÃO

400 Construção de sistemas web utilizando ferramentas livres

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400

REFERÊNCIAS

AMADEI, Daniel Cicero. Indo além com o Spring. Java Magazine, Rio de Janeiro, Ano V, v.45, 2007.

BRITO, Celso. brModelo 2.0. Site Baixaki, Brasil, Março / 2009. Disponível em: <http://www.baixaki.com.br/download/brmodelo.htm>. Acesso em 12 out. 2009.

DOEDERLEIN, Osvaldo Pinali. Demonstrando o Apache Derby. Java Magazine, Rio de Janeiro, Ano IV, v. 29, 2008.

DUARTE, Eder. MySQL. SQL Magazine, Rio de Janeiro, Ano III, v. 37, 2008.

FRANCELINO, Fabio Alves. PostgreSQL O caminho das pedras. SQL Magazine, Rio de Janeiro, Ano II, v. 18, 2008.

LOZANO, Fernando. JBoss: Instalação, Arquitetura, Configuração, Tuning e Administração. Java Magazine, Rio de Janeiro, Ano V, v. 46, 2008.

MONTALVÃO, Michel de. Briga Boa: Eclipse x Netbeans x JDeveloper. Site Java Free, Brasil, Abril / 2009. Disponível em: <http://javafree.uol.com.br/viewtopic.jbb?t=854670>. Acesso em: 26 jul. 2009.

MOREIRA, Carlos. O Eclipse aumenta a sua produtividade!. Site Blog Carlos Moreira, Brasil, abr. 2009. Disponível em: < http://blog.carlos-moreira.eti.br/artigos/eclipse/>. Acesso: 26 jul. 2009.

ROSA, Guilherme Carvalho da. Identidade cultural em comunidades de usuários e desenvolvedores de software livre: o caso Debian-RS. 2003. 156 f. Dissertação (Mestrado em 2007 [Comunicação Social]) - Pontifícia Universidade Católica, Rio Grande do Sul.

UNIVERSIDADE FEDERAL DE GOIÁS - Sistema de Controle Documental do CAC/UFG utilizando exclusivamente ferramentas de Código Aberto. Site Google Docs, Goiás, outubro / 2007. Disponível em: <http://docs.google.com/gview?a=v&q=cache:KREefCZlSeoJ:www.catalao.ufg.br/cc/disc/pfc/2007/2/propostas/proposta1.pdf+Ferramentas+livres+s%C3%A3o+qualquer+software+cuja+licen%C3%A7a+garanta+ao+seu+usu%C3%A1rio+liberdades&hl=pt-BR&gl=br>. Acesso em: 26 jul. 2009.

ANUIC_N14_miolo.pdf 400 7/6/2010 18:17:06