CONSTRUÇÃO DE SISTEMAS WEB UTILIZANDO FERRAMENTAS

Propaganda
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
Verônica Pedrozo de Medeiros
RESUMO
Professora Orientadora:
Ms. Leticia Teixeira Cottini Soares
Professor Colaborador:
Fernando Salles Claro
Curso:
Ciência da Computação
FACULDADE ANHANGUERA DE TAUBATÉ
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.
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
Publicação: 10 de maio de 2010
ANUIC_N14_miolo.pdf 385
Trabalho realizado com o incentivo e fomento
da Anhanguera Educacional S.A.
385
7/6/2010 18:17:06
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
Verônica Pedrozo de Medeiros
2.
387
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
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
Verônica Pedrozo de Medeiros
389
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
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
JUDE
ArgoUML
Visual
Paradigm
Visual UML 1
×
×
×
×
×
×
×
—
×
×
×
×
×
—
—
×
×
×
×
×
×
×
×
—
×
×
×
×
×
—
—
—
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.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400
ANUIC_N14_miolo.pdf 389
7/6/2010 18:17:06
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
Verônica Pedrozo de Medeiros
391
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
ERwin 2
Foward Engineering
Reverse Engineer
Sincronização do Modelo
Exportar como Imagem
Exportar como PDF
Exportar como XML
Criação de Modelo Lógico
Criação de Modelo Conceitual
—
—
—
×
—
—
×
×
×
×
×
×
×
—
×
—
×
—
×
×
—
×
×
×
x
x
x
x
—
×
×
×
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.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400
ANUIC_N14_miolo.pdf 391
7/6/2010 18:17:06
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
Verônica Pedrozo de Medeiros
393
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
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
Eclipse
NetBeans
JDeveloper
JBuilder3
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
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.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400
ANUIC_N14_miolo.pdf 393
7/6/2010 18:17:06
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
Verônica Pedrozo de Medeiros
395
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
Triggres (Gatilhos)
Stored Procedures
Criptografia
View
Funções agregadas (count, sum, avg, …)
Consultas aninhadas (subselects)
Outer Joins
Backups on-line
MySQL
PostgreSQL
Derby
Oracle 4
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
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.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400
ANUIC_N14_miolo.pdf 395
7/6/2010 18:17:06
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
Verônica Pedrozo de Medeiros
397
Tabela 5 – Comparativo entre os frameworks livres.
Funcionalidades
Padrão MVC
Java EE
Java SE
Injeção de dependência
Acesso remoto
Integração com outros Frameworks
Plugins
Orientado a aspectos
Struts
Spring
JSF
×
×
—
—
—
×
×
—
Spring MVC
×
×
×
×
×
×
×
×
×
—
×
×
×
×
—
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
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
Verônica Pedrozo de Medeiros
399
Tabela 6 – Comparativo entre as ferramentas livres para servidor de aplicação.
Características
Flexibilidade com Java EE 5
Utiliza EJB
JSP
Suporte a JavaServer Faces
Clustering
Eclipse IDE suporta
Netbeans IDE suporta
JDeveloper IDE suporta
5.
Tomcat
GlassFish
JBoss
Oracle Application
Server 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.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400
ANUIC_N14_miolo.pdf 399
7/6/2010 18:17:06
400
Construção de sistemas web utilizando ferramentas livres
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/2
007/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.
Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 14, Ano 2009 • p. 385-400
ANUIC_N14_miolo.pdf 400
7/6/2010 18:17:06
Download