Professional Documents
Culture Documents
Montes Claros - MG
Dezembro / 2010
Thiago Mendes Borges
Membros:
_____________________________________________
Professora Gilmara Aparecida de Freitas Dias
______________________________________________
Professor Frederico Bida de Oliveira
Montes Claros - MG
Dezembro / 2010
RESUMO
The tools that automate, organize and facilitate the entire process of creating, editing
and publishing in the web environment are key requirements for the administration and
distribution of information. In this context the CMS (Content Manangement Systems) or
Content Management System Joomla! is as an environment for developing web
applications taking advantage of all the benefits from these systems. For both studies
were conducted, research and application WebGiz was analyzed to assess the
advantages of deploying the system in academic Unimontes using Joomla. The
academic system is divided into WebGiz WebAluno and WebProfessor, is a member of
the platform GIZ, an application that allows full control and integration of the
academic institution's accessible via the Internet by users, developed by AIX
Sistemas. At the end it is presented some characteristics of the development of
application and assessed as advantageous to use the Joomla! the development of the
academic system WebGiz.
1 INTRODUÇÃO ................................................................................................... 9
1.1 PROBLEMA ...................................................................................................... 11
1.2 OBJETIVO ......................................................................................................... 11
2 REVISÃO DE LITERATURA .......................................................................... 12
2.1 SISTEMA GERENCIADOR DE CONTEÚDO ................................................ 12
2.1.1 Gestão de conteúdo ............................................................................................ 12
2.1.2 Características dos cms ...................................................................................... 16
2.1.2.1 Modularização ............................................................................................ 16
2.1.2.2 Usabilidade ................................................................................................. 16
2.1.2.3 Padronização ............................................................................................... 17
2.1.2.4 Escalabilidade ............................................................................................. 18
2.1.2.5 Manutenabilidade........................................................................................ 18
2.1.3 Integração aos sistemas legados ......................................................................... 19
2.1.4 Benefícios do uso de cms ................................................................................... 20
2.2 CASO JOOMLA ................................................................................................ 24
2.2.1 Organização do site ............................................................................................ 26
2.2.2 As extensões ....................................................................................................... 27
2.2.3 Estrutura de diretórios e arquivos....................................................................... 29
2.2.4 Entendendo o framework do joomla! ................................................................. 32
2.2.4.1 A camada framework .................................................................................. 34
2.2.4.2 A camada aplicativo .................................................................................... 35
2.2.4.3 A camada das extensões ............................................................................. 35
2.2.4.4 Entendendo o mecanismo ........................................................................... 36
2.2.5 Requisitos de sosftware ...................................................................................... 36
2.3 WEBGIZ NA UNIMONTES ............................................................................. 38
3 METODOLOGIA .............................................................................................. 40
3.1 CARACTERIZAÇÃO ....................................................................................... 40
3.2 PROCEDIMENTO............................................................................................. 40
3.3 INSTRUMENTO ............................................................................................... 41
3 RESULTADOS E DISCUSSÕES ..................................................................... 42
4 CONSIDERAÇÕES FINAIS ............................................................................. 49
REFERÊNCIAS ........................................................................................................... 50
APÊNDICE .................................................................................................................. 53
9
1 INTRODUÇÃO
A Internet passou a fazer parte do dia-a-dia da sociedade, sendo cada vez maior o
número de pessoas que acessam sites a procura de informações sobre os mais variados temas.
A Web se tornou a plataforma universal mais rápida do que qualquer outra tecnologia na
história. Ela permite a empresas de qualquer porte expor seus produtos ou serviços, efetuar
pedidos, prestar suporte personalizado e ajudar clientes e fornecedores a manterem contato
facilmente (JASSINEK, 2000).
Ferramentas que automatizam, organizam e facilitam todo o processo de criação,
edição e publicação em ambiente web são requisitos fundamentais para a administração e
distribuição da peça-chave do mundo atual: a informação. A vantagem de se trabalhar com o
CMS Joomla! está na diversidade de informações e nos diferenciais que a empresa poderá
oferecer ao cliente de forma clara, objetiva e agradável, o que demanda uma atualização
eficiente do site.
Existem CMS baseados em duas licenças diferentes: os baseados e distribuídos
sob a licença GNU/GPL1 (Software Livre) ou licenças similares, e os comerciais, ou seja,
softwares proprietários.
Um sistema baseado na licença do Software Livre tem muitas vantagens sobre um
software proprietário. Dentre elas vale destacar a independência em todos os sentidos em
relação ao fornecedor do software, e a possibilidade de realizar qualquer alteração com um
custo bem inferior ao sistema proprietário.
A utilização do Joomla! integrado ao processo de desenvolvimento de softwares
web provê uma gama de benefícios, principalmente no que se refere ao tempo gasto no
desenvolvimento.
O desenvolvimento de aplicações com o CMS viabiliza o atendimento a alguns
requisitos, que dentre eles estão: padronização, escalabilidade, manutenabilidade e segurança
dos dados.
O fato de o CMS atender a estes requisitos e estar em conformidade com diversos
padrões de desenvolvimento de software é um ponto positivo para que desenvolvedores
consigam os melhores resultados em seus projetos de software.
Em linhas gerais o presente trabalho analisou algumas características do Joomla!,
1
GNU/GPL é uma licença copyleft, que significa que derivações do documento precisam ser livres no mesmo
sentido, para softwares e outros tipos de obras. http://www.gnu.org/licenses/gpl.html.
10
que são relevantes ao processo de desenvolvimento de software para que fosse possível
avaliar as vantagens da implantação do sistema acadêmico WebGiz na Unimontes utilizando o
Joomla!.
O sistema acadêmico WebGiz que subdivide-se em WebAluno e WebProfessor, é
integrante da plataforma GIZ2, aplicativo que permite um controle total e integrado da área
acadêmica da instituição acessível via internet pelos usuários, desenvolvido pela empresa AIX
Sistemas.
O WebAluno é um módulo de acompanhamento acadêmico on-line que possibilita
um canal de comunicação entre professor e aluno. Além disso, é uma alternativa inovadora
que permite o acesso às informações curriculares em qualquer momento via Internet.
O sistema WebProfessor consiste em uma módulo que permite a integração do
trabalho dos professores e da secretaria acadêmica por meio da internet. O professor tem a seu
dispor a qualquer hora e local (desde que tenha acesso à internet) uma ferramenta que permite
realizar o trabalho de registro de notas, faltas, aulas, upload de arquivos e conteúdo
programático de suas disciplinas.
Esse conjunto de aplicativos envolvidos no WebGiz é fundamentados na
ferramenta Joomla!, ou seja, o sistema WebGiz é a soma de módulos e componentes para o
Joomla!.
No Capítulo 1 apresenta-se o contexto deste trabalho na Unimontes em relação ao
desenvolvimento de software utilizando o Joomla!. O Capítulo 2 aborda conceitos e
benefícios dos softwares de gestão de conteúdo incorporados ao desenvolvimento de outros
softwares bem como a integração destes aos sistemas legados, objeto de pesquisa deste
trabalho. No Capitulo 3 é feita uma abordagem do CMS Joomla!, suas características e
requisitos, como é organizado internamente e como funciona o seu framwork. O Capitulo 4
apresenta uma visão geral do sistema WebGiz e seus componentes. No Capitulo 5 é
apresentado a metodologia utilizada para o desenvolvimento deste trabalho. No Capitulo 6 as
informações coletadas são analisadas e é apresentado o resultado. Por fim, no Capitulo 7 são
delineadas algumas considerações finais.
2
GIZ é um suíte de softwares para gestão acadêmica e docente.
11
1.1 PROBLEMA
1.2 OBJETIVO
2 REVISÃO DE LITERATURA
Segundo Bax e Pereira (2002), a ideia básica por trás de um CMS é a separação
entre a gestão de conteúdo e o design gráfico das páginas que a apresentam. Enfim, estruturar,
facilitar, organizar, distribuir e disponibilizar toda informação em um ambiente Web. Com
ferramentas simples e através do próprio navegador, é possível gerenciar todo o conteúdo,
desde a sua criação até a distribuição e o arquivamento.
Moratelli (2002), define gerenciamento do conteúdo como sendo "o controle–
administração, gerenciamento do fluxo, acesso ao conteúdo e segurança das informações de
uma organização (sejam elas textos, imagens, gráficos, áudio ou vídeo)". Complementando,
Teixeira (2005) define CMS como sendo sistemas que gerenciam conteúdo e que permitem
gerenciamento de workflow3, blogs, portais de notícias, fórum, livros de visitas, dentre outros
recursos.
Com base nos autores abordados até agora, tem-se que o processo de gestão de
conteúdos se divide em três etapas básicas: a criação, a gestão e a publicação.
O CMS deve permitir que os próprios colaboradores, no papel de autores, criem
seus conteúdos sem necessidade de intermediários, utilizando os diversos programas
3
Workflow é a automação do processo de negócio na sua totalidade ou em partes, onde documentos,
informações ou tarefas são passadas de um participante para o outro para execução de uma ação, de acordo com
um conjunto de regras de procedimentos.
14
úteis para melhorar a precisão da busca por texto completo, permitindo aos
usuários especificar atributos adicionais;
controle da qualidade de informação - inclui regras associadas aos tipos de
conteúdo, permitindo controle e acompanhamento do ciclo de vida do
conteúdo, ou seja os mecanismos de workflows;
classificação, indexação e busca de conteúdo - inclui mecanismos
automatizados de classificação, indexação e recursos de busca eficientes
baseados em metadados. A função de um mecanismo de busca é fornecer
resultados mais relevantes para uma dada consulta no menor espaço de
tempo;
controle da interface – caracterizado pela independencia da lógica da
aplicação e a apresentação visual. Uma vez que a publicação do conteúdo
é dinâmica, em geral, o acesso é controlado e pode ser agrupado em três
áreas de controle: acesso público, acesso a usuários registrados e acesso
privilegiado ou especial;
sindicalização - permite compartilhar informações entre diferentes sites
através do formato Rich Site Summary 4(RSS).
controle de versões - o versionamento do conteúdo permite que versões
diferentes de um documento sejam salvas automaticamente e que possam
ser facilmente recuperadas quando necessárias.
4
Rich Site Summary é um formato padronizado para a troca de notícias.
16
A seguir são citadas cinco características essenciais e fundamentais dos CMS que
reforçam os objetivos e benefícios de seu uso:
2.1.2.1 Modularização
Uma das funcionalidades mais conhecida dos CMS é a sua modularização, onde
pequenos conjuntos de scripts adicionam novas funções.
2.1.2.2 Usabilidade
A norma ISO 9241-11 Guidelines on Usability, segundo Dias (2001), define que
usabilidade é "a capacidade de um produto ser usado por usuários específicos para atingir
objetivos específicos com eficácia, eficiência e satisfação em um contexto específico de uso".
De acordo com os escritos de Nielsen (1993), a usabilidade não é uma
propriedade que tem um único componente da interface de usuário. A usabilidade tem
componentes múltiplos e é tradicionalmente associada à facilidade de aprendizado, eficiência
na utilização, facilidade de memorização, baixa taxa de erros e satisfação subjetiva.
Pode-se dizer que a utilização de CMS proporciona a usabilidade através da
17
utilização dos templates5, uma vez que possibilita a diversos usuários finais a navegação
através de uma interface amigável que lhes permitirá atingir seus objetivos da melhor maneira
possível. As adaptações necessárias são possíveis através de uma interface de fácil utilização
ou mesmo utilizando ferramentas que permitam a edição dos arquivos do template.
2.1.2.3 Padronização
5
Templates são designs pré-definidos de apresentação de um site.
18
2.1.2.4 Escalabilidade
2.1.2.5 Manutenabilidade
aplicações, criando a desejável ilusão de um único sistema com uma única interface para o
usuário.
De acordo Laudon & Laudon (2007), um modo de integrar sistemas legados é
utilizar uma aplicação especial chamada middleware para criar uma interface ou ponte entre
dois sistemas diferentes. Middleware é a aplicação que conecta dois softwares que, de outra
forma, ficariam separadas, permitindo que se comuniquem e transmitam dados uma para
outra, ou seja, o middleware serve como elemento que aglutina e dá coerência a um conjunto
de aplicações e ambientes.
Segundo a RNP (2005) middleware é:
privilégios diferentes de acesso a serem configurados para separar áreas do site sem que os
administradores responsáveis pela configuração tenham que ir ao nível de controle de
permissão do sistema operacional. Sendo que essa intervenção pode ser feita através de um
browser qualquer.
A partir das figuras 01 e 02 podem-se verificar as mudanças no processo de
manutenção do conteúdo de um site, por exemplo.
6
Extensões podem ser entendidas como pequenas aplicações que agregam uma função particular ou muito
especifica a um sistema.
7
Framework é uma estrutura de software, esqueleto de sistema pré-construído que visa auxiliar o desenvolvedor
de sistemas a diminuir o retrabalho e aumentar o reuso de componentes.
8
API, de Application Programming Interface (ou Interface de Programação de Aplicações), é o termo utilizado
para definir conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas
funcionalidades por programas aplicativos que não querem envolver-se em detalhes da implementação do
software, mas apenas usar seus serviços.
23
De acordo com pesquisas feitas no site Google Trends percebe-se pela Figura 3,
que os CMS mais usuais são o Wordpress e o Joomla!, cada um com suas particularidades e
utilidades.
24
Até a presente data, em que este trabalho está sendo escrito, o repositório oficial
do Joomla! conta com aproximadamente 6000 extensões registradas.
Entre as diversas funcionalidades do Joomla, os sites governamentais de suporte
ao Joomla! em português enumeraram como sendo as mais importantes:
Joomla! é decididamente software livre e não há perspectiva de mudança
com relação à isso (ou seja, deve continuar disponível gratuitamente);
existem vários módulos e componentes disponíveis, criados à partir da
base herdada do Mambo;
a popularidade do Joomla! está crescendo rapidamente;
a equipe por trás do Joomla!, composta por membros chave criadores do
Mambo, está comprometida com o projeto e disposta a modernizar o
software continuamente;
o Joomla! é um CMS com diversos recursos disponíveis e de fácil
utilização;
foi escrito com PHP e MySql, dois dos softwares open source de grande
destaque da Internet.
Em Minas Gerais, o Joomla! tem sido bastante adotado por diversos órgãos
governamentais. O quadro 1, segundo Souza (2009), reúne alguns do websites e portais que
utilizam o CMS Joomla.
QUADRO 1
Websites e portais de Minas Gerais que utilizam o Joomla
Órgão/Repartição Endereço
ACADEPOL www.acadepol.mg.gov.br
ADVOCACIA GERAL ESTADO www.age.mg.gov.br
AUDITORIA GERAL DO ESTADO www.auditoria.mg.gov.br
DEFENSORIA PUBLICA www.defensoriapublica.mg.gov.br
DER www.der.mg.gov.br
ESPORTES www.esportes.mg.gov.br
FABRICA DE SOFTWARE www.gfs.prodemge.gov.br
FCS-INTRANET intranetfcs.mg.gov.br
FEAM www.feam.br
Fund. Artes Ouro Preto www.faop.mg.gov.br
IEF www.ief.mg.gov.br
IEPHA www.iepha.mg.gov.br/
IGAM www.igam.mg.gov.br
OUVIDORIA GERAL www.ouvidoriageral.mg.gov.br
PRODEMGE www.prodemge.gov.br
RURALMINAS www.ruralminas.mg.gov.br
SEDE www.sede.mg.gov.br
SEMAD www.semad.mg.gov.br
26
Órgão/Repartição Endereço
SISTEMASPM - SM03 www.sistemaspm.mg.gov.br/sm03
TJM - TRIB.JUSTIÇA MILITAR www.tjm.mg.gov.br
TURISMO www.turismo.mg.gov.br
URBANO www.urbano.mg.gov.br
ARMAZEM DE INFORMACAO www.portaldoservidor.mg.gov.br
IPSEMG www.ipsemg.mg.gov.br
PORTAL ARMAZEM www.portalarmazem.prodemge.gov.br
INTRANET UCP www.ucp.prodemge.gov.br
CULTURA www.cultura.mg.gov.br
Fonte: Souza (2009)
Segundo North (2008), um CMS separa totalmente o conteúdo das páginas do seu
formato gráfico. Os conteúdos no Joomla podem estar organizados na hierarquia: seções,
categorias e artigos, representada na Figura 4, é utilizada pra classificar e organizar os artigos
(conteúdo). Assim, o Joomla está organizado em torno de um conceito principal, o de artigos.
27
Ainda segundo North (2008), A seção é a camada mais alta da hierarquia, que
pode ter uma ou mais categorias. A categoria constitui a camada do meio na hierarquia, que
deve ser necessariamente vinculada a uma seção e pode ter um ou mais artigos. Já os artigos
são a camada mais baixa na hierarquia e os mais importantes. Os conteúdos são inseridos no
site através dos artigos, que permite inserção de textos, imagens, mídias em flash ou áudio.
A criação de um artigo pode não ter vínculo algum, ou pode estar associado a uma
seção/categoria. Em sites com muito conteúdo recomenda-se tal classificação em hierarquias
para facilitar o gerenciamento dos conteúdos.
2.2.2 As extensões
Estes são todos os diretórios onde estão localizados os arquivos do Joomla! e onde
serão armazenados os arquivos adicionados á aplicação. A seguir, no quadro 2, temos uma
breve descrição de cada diretório e arquivo:
TABELA 2
Arquivos e diretórios da raíz do Joomla!
Nome Descrição
Administrator Pasta onde se encontram todos os arquivos que tratam da
parte administrativa do site. Componentes, módulos, plugins
Nome Descrição
Index.php Arquivo de inicio do frontend
Cada diretório sob a pasta views é geralmente habilitada para ser chamada a partir
de uma URL. Por exemplo: index.php?option=com_content&view=article&id=1.
Os layouts de cada componente reside no diretório views/view_name/tmpl e este é
geralmente, o único lugar onde códigos HTML são apresentados. Como todo componente de
frontend tem o seu código HTML em arquivos de layouts, o Joomla! possui a possibilidade de
alterar esses arquivos individualmente no template ativo. Como exemplo disso, observando a
figura 8, percebe-se que o template Beez possuiu um diretório chamado htm/.
32
Uma vez feita a requisição via navegador web ao servidor onde se encontra a
aplicação, o controlador recebe o evento e acessa o modelo para obter as informações e
requisita a visão apropriada para renderizar as informações no navegador web.
A figura 10, a seguir, apresenta como é feita a estruturação das camadas do
Joomla!.
9
File Transfer Protocol, ou Protocolo de Transferência de Arquivos, e é uma forma bastante rápida e versátil de
transferir arquivos.
10
Lightweight Directory Access Protocol, ou LDAP, é um protocolo para atualizar e pesquisar diretórios rodando
sobre TCP/IP.
35
O framework não pode ser acessado diretamente, mas o Joomla! oferece uma
espécie de ponte para criar seus vários objetos através do JFactory. Os plugins, antes
chamados mambots, são extensões que trabalham com o framework ampliando suas
funcionalidades. Por exemplo, podemos ter um plugin que analisa o texto de uma página antes
que seja apresentado e mude algumas das suas características substituindo partes do texto ou
trocando alguns marcadores por imagens ou que adiciona links automáticos a algumas
palavras previamente configuradas.
Além do JFactory e dos plugins não tem como alterar o comportamento do
framework do Joomla! a não ser alterando seu código fonte.
Ainda de acordo com o Vicki (2008), a camada aplicativo é formada por todos os
objetos necessários para que o sistema funcione de forma integrada e coordenada. Esta
camada também é a interface para as extensões.
11
IDE, do inglês Integrated Development Environment ou Ambiente Integrado de Desenvolvimento, é um
programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o
objetivo de agilizar este processo.
38
professores o diário de classe completamente preenchido que fica disponível no sistema para
impressão. Após o lançamento dos dados pelo professor os resultados podem ser
imediatamente apurados e divulgados. A figura 11 ilustra a tela de acesso ao sistema.
3 METODOLOGIA
3.1 CARACTERIZAÇÃO
3.2 PROCEDIMENTO
3.3 INSTRUMENTO
3 RESULTADOS E DISCUSSÕES
Figura 14 - Módulo mensagens específico para alunos ou professores. Fonte: Wiki AIX Sistemas (2010)
43
Figura 15 - Módulo menu do perfil aluno. Fonte: Wiki AIX Sistemas (2010)
12
DAO (acrônimo de Data Access Object), é um padrão para persistência de dados que permite separar regras de
negócio das regras de acesso a banco de dados.
46
Figura 20 - Tela de administração dos templates. Fonte: Wiki AIX Sistemas (2010)
Em 100% dos casos o grau de dificuldade para se executar uma tarefa no software
ficou entre fácil e muito fácil.
Através deste foi possível observar que o desenvolvimento do software WebGiz
sobre o ambiente Joomla! foi considerado satisfatório uma vez que seu desenvolvimento
modularizado permite acrescentar novas funcionalidades sem afetar diretamente outros
módulos, a padronização de layout favorece uma usabilidade melhor e facilidade na execução
das atividades dentro do sistema, mas sem negar que, como todo software está sujeito a
falhas, erros ainda ocorriam. Mesmo assim as características obtidas do software final permite
facilidade e praticidade na manutenção e ou novas implementações. Quanto a segurança
algumas medidas na fase de desenvolvimento da aplicação foram tomadas e outra passaram
desapercebidas, como por exemplo, teve-se o cuidado por parte dos programadores, evitar o
acesso direto a determinados arquivos, colocando no início de cada arquivo uma constante, a
_JEXEC, que é definida no arquivo index.php do template. Mas por outro lado algumas
situações como o uso de url’s amigáveis, proteger o diretório administrator, desabilitar a
visualização das posições do template pelo fronted não foram implementadas.
49
4 CONSIDERAÇÕES FINAIS
REFERÊNCIAS
BAX, M.P.; PARREIRAS, Fernando. Gestão de Conteúdo com Software Livre. In: Anais
KMBrasil, São Paulo, 2003.
CARATTI, Ricardo Lima; SILVA, Leonardo Mafra. Joomla! Avançado. Novatec, 2009.
DIAS, Cláudia Augusto. Portal corporativo: conceitos e características. Ci. Inf., Jan./Apr.
2001, vol.30, no.1, p.50-60. ISSN 0100-1965. Disponível em:
<http://www.scielo.br/scielo.php?pid=S0100-
19652001000100007&script=sci_arttext&tlng=es>. Acesso em: 14 de agosto de 2010.
Google Trends
<http://www.google.com/trends?q=Wordpress,+Joomla,+Drupal,+Plone&ctab=0&geo=all&d
ate=all&sort=1>.Acesso em: 01 de outubro de 2010.
51
JUNIOR, Fred Cox – Programando Para Web Com Php e MySql. 2ª edição, UPE – POLI –
Engenharia Eletrônica. 2001.
LAUDON, Kenneth C.; LAUDON, Jane Price. Sistema de informação. 4ª ed. Rio de
Janeiro: Livros Técnicos e Científicos Editora, 1999.
http://www.inf.furb.br/seminco/2002/Moratelliseminco2002-18.pdf. Acesso: 14 de
Setembro de 2010.
NORTH, Barrie M. Joomla! Guia do Operador. Rio de Janeiro: Alta Books, 2008.
OLIVEIRA, K.M. de, Soares Ramos C., Anquetil N., Conhecendo Sistemas Legados
através de Métricas de Software. In: III Simpósio Brasileiro de Qualidade de Software,
Anais, 2004 - SBQS, 2004, Brasília – DF.
RNP. Rede Nacional de Ensino e Pesquisa, Grupo de Trabalho sobre Middleware. Data de
publicação: 05/07/2005. Disponível em <http://www.rnp.br/pd/gts2004-
2005/middleware.html >. Acesso em: 12 de agosto de 2010.
APÊNDICE