You are on page 1of 53

Thiago Mendes Borges

O CMS JOOMLA COMO AMBIENTE DE DESENVOLVIMENTO WEB:


ANÁLISE DO SISTEMA WEBGIZ DA UNIMONTES

Monografia apresentada ao curso de Sistemas


de Informação da Universidade Estadual de
Montes Claros, como exigência para obtenção
do grau de Bacharel em Sistemas de
Informação.

Orientador: Professor Alcino Franco de


Moura Júnior

Montes Claros - MG
Dezembro / 2010
Thiago Mendes Borges

O CMS JOOMLA COMO AMBIENTE DE DESENVOLVIMENTO WEB:


ANÁLISE DO SISTEMA WEBGIZ DA UNIMONTES

Monografia apresentada ao curso de Sistemas


de Informação da Universidade Estadual de
Montes Claros, como exigência para obtenção
do grau de Bacharel em Sistemas de
Informação.

Orientador: Professor Alcino Franco de Moura


Júnior

Membros:

_____________________________________________
Professora Gilmara Aparecida de Freitas Dias

______________________________________________
Professor Frederico Bida de Oliveira

Montes Claros - MG
Dezembro / 2010
RESUMO

As 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 informação. Neste contexto o CMS (Content Manangement Systems) ou Sistema
Gerenciador de Conteúdo Joomla! é apresentado como ambiente para o desenvolvimento de
aplicações web usufruindo de todos os benefícios advindos desse sistema. Para tanto foram
feitos estudos, pesquisas e foi analisada a aplicação WebGiz a fim de avaliar as vantagens da
implantação do sistema acadêmico na Unimontes utilizando o Joomla. O sistema acadêmico
WebGiz que subdivide-se nos módulos WebAluno e WebProfessor, é integrante da plataforma
GIZ, 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. Ao final é
apresentado algumas características do desenvolvimento de aplicação e avaliou como
vantajoso a utilização do Joomla! no desenvolvimento do sistema acadêmico WebGiz.

Palavras-chave: Gerenciamento de Conteúdo, CMS, Joomla, Desenvolvimento web.


ABSTRACT

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.

Key-words: Content Management, CMS, Joomla, Web Development.


LISTA DE FIGURAS

Figura 1 - Processo padrão de um website. Fonte: Okanagan (2010) ...................................... 21


Figura 2 - Processo otimizado de colaboração. Fonte: Okanagan (2010) ................................ 22
Figura 3 - Utilização dos CMS durante os anos de 2004 a 2010.............................................. 24
Figura 4 - Organização hierárquica do conteúdo. Fonte: Oreilly (2010). ................................ 27
Figura 5 - Exemplo de disposição de componente, plugin e módulo. ...................................... 29
Figura 6 - Estrutura de diretórios do Joomla! ........................................................................... 29
Figura 7 - Estrutura de diretório do componente de conteúdo. ................................................ 31
Figura 8 - Estrutura de diretório do template Beez. ................................................................. 32
Figura 9 - Estrutura MVC do Joomla!. Fonte: AFTEK (2010) ................................................ 33
Figura 10 - Estrutura do Framework do Joomla!. Fonte: Aldeia Numaboa (2010).................. 33
Figura 11 - Tela de acesso ao sistema WebGiz. ........................................................................ 39
Figura 12 - Módulo de login. .................................................................................................... 42
Figura 13 - Módulo mensagens para visitantes. ....................................................................... 42
Figura 14 - Módulo mensagens específico para alunos ou professores. Fonte: Wiki AIX
Sistemas (2010) ........................................................................................................................ 42
Figura 15 - Módulo menu do perfil aluno. Fonte: Wiki AIX Sistemas (2010)......................... 43
Figura 16 - Tipos de informações de login. Fonte: Wiki AIX Sistemas (2010) ....................... 43
Figura 17 - Estrutura do componente aluno. Fonte: Wiki AIX Sistemas (2010)...................... 44
Figura 18 - Estrutura do componente professor. Fonte: Wiki AIX Sistemas (2010) ................ 44
Figura 19 - Estrutura do componente aixgen. Fonte: Wiki AIX Sistemas (2010) .................... 45
Figura 20 - Tela de administração dos templates. Fonte: Wiki AIX Sistemas (2010) .............. 46
Figura 21 - Frequência de erros do WebGiz. ............................................................................ 47
Figura 22 - Navegação e usabilidade do software. ................................................................... 47
Figura 23 - Atendimentos de suporte realizados aos usuários finais. ....................................... 48
LISTA DE QUADROS

QUADRO 1 - Websites e portais de Minas Gerais que utilizam o Joomla! ................... 25


QUADRO 2 – Arquivos e diretórios da raíz do Joomla! ............................................... 30
SUMÁRIO

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

O problema abordado e motivo de estudos e pesquisa deste trabalho é averiguar se


o CMS Joomla! é adequado para desenvolvimento de sistemas web.

1.2 OBJETIVO

Como objetivo tem-se levantar as características e funcionalidades, estudar a


aplicação WebGiz e seus componentes a fim de verificar sua estrutura de
desenvolvidmento. E por fim verificar as vantagens em utilização do CMS (Content
Manangement System) ou Sistema Gerenciador de Conteúdo Joomla! como um ambiente
para o desenvolvimento do sistema WebGiz da Unimontes.
12

2 REVISÃO DE LITERATURA

Este Capítulo apresenta toda a revisão de literatura necessária para o


desenvolvimento deste trabalho.

2.1 SISTEMA GERENCIADOR DE CONTEÚDO

Este seção apresenta os conceitos, características e benefícios advindos do uso dos


Sistemas de Gerenciamento de Conteúdo. A seguir são apresentados alguns comentários
acerca dos quatro principais CMS disponíveis na atualidade, Wordpress, Joomla, Drupal e o
Plone.

2.1.1 Gestão de conteúdo

De acordo com Content Management (2001), “conteúdo é, em essência, qualquer


tipo ou unidade de informação digital que é utilizada nas páginas dos websites. Ele pode ser
texto, imagem, gráficos, vídeo, som ou, em outras palavras, qualquer coisa que é possível de
ser publicada em uma intra, inter ou extranet”. Assim, a Gestão de Conteúdos, ou “Content
Management” apoia organizações na captação, organização e distribuição de conteúdos
originários de várias fontes e destinados a diversos tipos de dispositivos de saída.
De acordo com as definições de Lapa (2004), a gestão de conteúdo pode ser
definida como uma série de técnicas, exemplos e metodologias de ordem estratégica e
tecnológica visando à integração e automatização de todos os processos relacionados à
criação, agregação, personalização, entrega e arquivamento de conteúdos de uma organização.
Há pouco tempo o tipo de conteúdo que existia nos portais web que segundo Gant
& Gant (2002) serve como meio de acesso integrado que fornece aos visitantes um ponto
único de contato e acesso aos serviços e informações, e intranets se destacava principalmente
por páginas estáticas. Porém, hoje são os usuários que ditam quais são os conteúdos que serão
disponibilizados e os tipos destes variam muito. Originando de fontes diversas, de diversos
13

tipos e a serem destinados aos mais variados dispositivos.


As páginas estáticas necessitam que desenvolvedores web programem cada página
do site e qualquer mudança que seja necessário será realizada pelos mesmos.
As empresas passaram a contar com mais um canal de distribuição de informações
para funcionários, clientes, fornecedores e todos os que se relacionam com as mesmas. Passou
a ser possível disponibilizar, para toda essa gama de interessados, conteúdos que se sofisticam
e crescem em complexidade a cada dia, integrando formatos mais convencionais (textos e
figuras) e sons, vídeos, filmes, etc. Neste novo cenário, as empresas passaram a necessitar de
ferramentas que permitam cuidar de seu conteúdo informacional de forma ágil.
De acordo com Bax (2003)

As ferramentas de Gestão de Conteúdo Web são atualmente objeto de forte interesse.


Poucos projetos Internet de expressão são encarados hoje sem recurso à uma solução
que integre o maior número possível de funcionalidades de gestão de conteúdo.

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

disponíveis. Em seguida, estes conteúdos são armazenados em repositórios centralizados para


serem tratados (gerenciados, padronizados, formatados e publicados no website) através do
CMS, que deve gerir também as revisões, atualizações e o controle de acesso, garantindo
confiabilidade ao que será publicado e segurança quanto à propriedade e a autoria dos
conteúdos.
Rahmel (2007) ainda afirma que com a implantação de um CMS, a maioria
problemas relacionado à administração local do conteúdo praticamente desaparecem, as
diversas áreas do site são atualizadas dinamicamente sem necessidade de qualquer
programação.
Ainda, segundo Rahmel (2007) para que grandes empresas tenham sucesso com
essas ferramentas, seja para gerenciar os milhares de usuários cadastrados nos portais ou para
organizar e publicar textos, há a necessidade de se ter um bom conhecimento dessas
aplicações.
Suas funcionalidades variam de acordo com o uso que se pretende, existindo CMS
específicos para áreas como mídia (áudio e vídeo), notícias (textos e imagens), plataformas de
ensino, comércio eletrônico ou ainda aqueles genéricos que podem ser utilizados em qualquer
área, agregando-se ao sistema básico, componentes e módulos adicionais de acordo com as
necessidades apresentadas (MICHELAZZO, 2007).
Um CMS é composto por módulos que oferecem serviços de forma ágil para a
gestão de conteúdos. Para Bax (2003) as funcionalidades essenciais que caracterizam o
conceito e que se desenvolvem à medida que novos produtos disponíveis no mercado chegam
a maturidade são:
 controle de usuários e dos seus direitos - permite o controle de acesso dos
usuários por meio das ferramentas de autenticação, autorização e
auditorias, possibilitando a criação de perfis de usuário. Este perfil
representa os interesses e constitui um recurso essencial para melhorar a
precisão do processo de recuperação da informação;
 criação, edição e armazenamento de conteúdo em formatos diversos –
suporte oferecido pelo CMS à criação, edição e manipulação de conteúdos,
considerando os vários tipos de conteúdo (áudio, vídeo, imagem, xml,
html, texto etc);
 metadados - descrevem características importantes do conteúdo como
descrição, autor, linguagem, data de criação, data de revisão e etc. São
15

ú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.

AppliedTheory (2002) ainda complementa as definições propostas por Bax,


afirmando que os quatro maiores componentes no gerenciamento de conteúdo são a
customização e integração com sistemas legados, a administração do conteúdo, acesso e
segurança e gerenciamento de workflow. Este assunto será tratado com mais detalhes nas
próximas seções.
Para o autor a segurança e o controle de acesso trabalham conjuntamente com o
gerenciamento do workflow para garantir o acesso no ciclo de vida do conteúdo (criação,
edição, revisão, aprovação, publicação, leitura, remoção e arquivamento).

4
Rich Site Summary é um formato padronizado para a troca de notícias.
16

2.1.2 Características dos cms

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

Ramos (2009) afirma que:

Modularização é uma característica inerente a um sistema, componente, projeto ou


qualquer conjunto de procedimentos, que objetivam resolver um problema
específico e bem definido. Este conceito é também compartilhado na programação
estruturada, com a mesma denotação e finalidade, definida em torno do reuso do
módulo e da facilidade de manutenção, dentre outras.

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

Uma extensão do quesito usabilidade que constitui um benefício da implantação


de um CMS é a padronização, proposta pelos templates. De acordo com Souza (2002), a
padronização oferece vantagens nos seguintes quesitos:
 tempo de trabalho, uma vez que o maior esforço será feito apenas
uma vez na fase de elaboração dos padrões;
 na produção de novos conteúdos. Com um sistema de navegação
fixo, a equipe terá mais tempo para investir em melhorias de
conteúdo e apresentação dos mesmos;
 as despesas de suporte tenderão a diminuir, pois uma interface
básica padrão dará ao usuário muito mais domínio sobre o ambiente
e, com isso, ele passará a resolver seus problemas de forma
independente, recorrendo ao suporte apenas em casos
extraordinários;
 os usuários que possuírem permissões administrativas poderão
desenvolver, com essas diretrizes, o conteúdo de seus sites
pensando nesses padrões. Isso diminui o tempo gasto na adaptação
dos textos finais para a web.

5
Templates são designs pré-definidos de apresentação de um site.
18

2.1.2.4 Escalabilidade

Segundo Microsoft (2004), a escalabilidade consiste em responder rapidamente a


condições de negócio em rápida alteração, através de sistemas e plataformas que ofereçam os
mais altos níveis de flexibilidade. Ainda, segundo a mesma empresa, os benefícios advindos
da implementação de sistemas altamente escaláveis giram em torno da maior agilidade e uma
habilidade drasticamente aprimorada de implantar os recursos necessários quando novas
oportunidades aparecerem e as condições são alteradas.
Em suma, de acordo com Microsoft (2004), algumas características são essências
para que o sistema possa ser escalável:
 a habilidade de tratar grandes cargas de trabalho;
 a habilidade de entregar altos níveis de performance;
 a capacidade de crescer fácil e rapidamente;
 uma razão preço/desempenho compatível - ou melhor- com as normas
da indústria.
A utilização de CMS permite então que os portais cresçam conforme demanda,
estando preparados para atender a um número grande e crescente de requisições, devido à sua
estrutura escalável.

2.1.2.5 Manutenabilidade

Atividades requeridas para prover suporte ao sistema de software.


Algumas atividades comumente realizadas pela administração do conteúdo
segundo Oliveira (2004) são:
 mudança contínua: os sistemas devem ser continuamente adaptados,
caso contrário estes se tornarão progressivamente insatisfatórios;
 aumento da complexidade: o sistema aumenta sua complexidade
conforme ele evolui, a não ser que algo seja feito para controlar tal
complexidade;
19

 crescimento contínuo: o conteúdo funcional de um sistema deve


crescer continuamente para manter a satisfação do usuário durante a
sua vida útil.

2.1.3 Integração aos sistemas legados

No caso da customização e integração com os sistemas legados, como afirma o


autor, as organizações se diferem pela sua manufatura, políticas e procedimentos, práticas
comerciais, objetivos e estruturas organizacionais. Diante deste cenário, a forma de
customização e a integração com sistemas legados em cada organização são diferentes. Um
sólido gerenciamento de conteúdo precisa ser personalizável para atender às necessidades
específicas de uma organização e coexistir com os sistemas legados. Portanto, um sistema de
gerenciamento de conteúdo precisa se integrar totalmente com a infraestrutura de informação
existente. Dessa forma, os usuários podem utilizar o sistema de gerenciamento de conteúdo e
seus sistemas legados como se fosse um único e grande sistema, adaptado às suas
necessidades. Essa, talvez, seja a tarefa mais trabalhosa. Uma que exige um maior
conhecimento tanto da parte administrativa quanto no que se refere a programação de
extensões para o CMS, das técnicas necessárias e do sistema legado para que as
customizações necessárias possam ser cumpridas.
Tipicamente, os sistemas de gerenciamento de conteúdo precisam se integrar
como sistemas de planejamento de recursos (Enterprise Resource Planning – ERP), sistemas
de gerenciamento de Call Center ou outras aplicações internas ou externas (parceiros de
negócio).
O sistema de gerenciamento de conteúdo também pode ser integrado com um
sistema de gerenciamento do relacionamento com o cliente (Customer Relationship
Management – CRM) ou sistemas de estoque e financeiro para criar aplicações de e-
commerce. O gerenciamento de conteúdo pode ser uma ponte entre potenciais usuários do
conteúdo de uma organização e entre o conteúdo novo e o legado (através dos sistemas) da
organização. Os usuários recebem informações personalizadas, de acordo com suas
necessidades, e são autorizados a ver onde a informação é armazenada. Um sistema de
gerenciamento de conteúdo deve esconder dos usuários a diferença entre conteúdo e
20

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 é:

o neologismo criado para designar camadas de software que não constituem


diretamente aplicações, mas que facilitam o uso de ambientes ricos em tecnologia da
informação. A camada de middleware concentra serviços como identificação,
autenticação, autorização, diretórios, certificados digitais e outras ferramentas para
segurança.

2.1.4 Benefícios do uso de cms

Um sistema de gestão de conteúdo proporciona benefícios tanto para os


administradores do sistema quanto para os colaboradores. Sendo que um desses benefícios -
talvez o maior deles - possa ser a possibilidade de se usar templates e itens comuns de design
assegurando dessa forma a consistência da apresentação de todo um site (BAX E PEREIRA,
2002). Além do mais, a responsabilidade pela apresentação das páginas web é retirada dos
colaboradores e passa a ser centralizada na área de TI. Assim, há uma simplificação na
manutenção dos sites das organizações.
A partir de então, o conteúdo desenvolvido pelos colaboradores é incorporado
automaticamente aos templates pelo próprio sistema de gestão de conteúdo, permitindo aos
colaboradores a preocupação apenas com o conteúdo. Daí, a alteração na apresentação de um
site pode ser feita pelos administradores, os quais modificarão somente os templates e não
cada uma das dezenas de páginas individualmente.
Um sistema de gestão de conteúdo simplifica também a incumbência de
responsabilidades pelo fornecimento e manutenção do conteúdo do site. Appliedtheory apud
Moratelli e Valdameri (2002). Os sistemas de gestão de conteúdo possibilitam, em geral,
21

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.

Figura 1 - Processo padrão de um website. Fonte: Okanagan (2010)


22

Figura 2 - Processo otimizado de colaboração. Fonte: Okanagan (2010)

O webmaster cria um gargalo entre os colaboradores de conteúdo e visitantes do


site. As atualizações para o seu site não estão disponíveis para os visitantes do site, sem
primeiro passar pelo webmaster.
Diversas funcionalidades extras podem ser arquitetadas dentro do próprio
ambiente dos sistemas de gestão de conteúdo ou podem ser disponibilizadas por terceiros em
forma de extensões6. O fornecimento de funcionalidades economiza tempo, que seria
normalmente gasto no desenvolvimento ou tentativa de integrar tais componentes. Segundo
Bax e Pereira (2002), os sistemas mais avançados de gestão de conteúdo oferecem benefícios
adicionais de segurança, ferramentas de gerenciamento, facilitam a interação com a base de
dados, além de ferramentas de indexação e catálogo. Estes benefícios reduzem o tempo de
desenvolvimento de outros componentes do portal e garantem a sua evolução.
O CMS possui um Framework7 que oferece um uma API8, afim de que o
desenvolvedor possa trabalhar a partir de uma mesma base para criar diversos produtos e
serviços.

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

Campos (2006) aponta quatro liberdades que devem existir simultaneamente em


um software para que seja considerado Software Livre:

 a liberdade de executar o programa, para qualquer propósito (liberdade nº 0);


 a liberdade de estudar como o programa funciona, e adaptá-lo para as suas
necessidades (liberdade nº 1). Acesso ao código-fonte é um pré-requisito para
esta liberdade;
 a liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo
(liberdade nº 2);
 a liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de
modo que toda a comunidade se beneficie (liberdade nº 3). Acesso ao código-
fonte é um pré-requisito para esta liberdade.

A quantidade de CMS disponíveis hoje é muito grande, o que dificulta escolher


um quando se deseja desenvolver um software utilizando gerenciamento de conteúdo. A
editora Packt Publishing, que publica livros destinados a desenvolvedores, administradores e
iniciantes, realiza anualmente a votação dos melhores CMS open source. A votação leva em
consideração vários fatores como desempenho, usabilidade, acessibilidade, facilidade de
configuração e personalização, escalabilidade e segurança. Os CMS que ganharam o prêmio
Overall Open Source CMS Award, ou seja, da categoria global, nos últimos quatro anos
foram:
 2009 Wordpress, MODx, SilverStripe
 2008 Drupal, Joomla!, Dotnetnuke
 2007 Drupal, Joomla!, CMS Made Simple
 2006 Joomla!, Drupal, Plone

Os vencedores do prêmio Best Open Source PHP Content Management System,


ou seja, de melhor CMS open source desenvolvido em PHP, nos últimos três anos foram:
 2009 Drupal, WordPress, Joomla!
 2008 Drupal, Joomla!, CMS Made Simple
 2007 Joomla!, Drupal, e107

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

Figura 3 - Utilização dos CMS durante os anos de 2004 a 2010.


Fonte: Google Trends (2010).

2.2 CASO JOOMLA

O Joomla! é um software do tipo CMS (Content Management System) ou Sistema


Gerenciador de Conteúdo com a finalidade de tornar mais prático e econômico o
gerenciamento de conteúdo e informação em grandes e pequenos sites, em especial do tipo
portal. Ele facilita de tal forma essa tarefa, que praticamente qualquer pessoa, mesmo que não
possua conhecimento algum em informática, pode gerenciar o conteúdo do site.
O Joomla foi criado em 2005 a partir de outro CMS, o Mambo. Após a ruptura da
empresa Miro, detentora da marca Mambo, com os programadores do projeto mambo, criou-
se o projeto Joomla, mantendo-se fiel à filosofia de Software Livre. O nome Joomla vem do
equivalente fonético da palavra Swahili "Djumla”, que significa “todos juntos” ou “como um
todo”(NORTH, 2008).
Desenvolvido em PHP e com suporte a banco de dados MySQL, o Joomla é
disponibilizado aos usuários comercialmente ou através de licença GNU/GPL. Disponível na
versão 1.5.20, versão estável com a tradução para o português do Brasil e mais outros 64
idiomas, o Joomla tem uma vasta gama de sites de suporte e documentação no Brasil além do
oficial joomla.org que é mundial.
25

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)

O Joomla possui um Framework bastante rico, oferecendo um uma API com


diversos recursos, afim de que o desenvolvedor possa trabalhar a partir de uma mesma base
para criar diversos produtos e serviços.

Devido à abstração do Joomla em relação as suas extensões é possível desenvolver


subsistemas, podendo integrar componentes, módulos e plugins, que podem ser publicados
separadamente sem o sistema original. Isto permite manipular, gerir ou remover parte do
sistema sem afetar o restante.
Desenvolver uma extensão para o Joomla é livre para qualquer pessoa, desde que
cumpra os métodos prescritos para a criação dos mesmos.

2.2.1 Organização do site

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

Figura 4 - Organização hierárquica do conteúdo. Fonte: Oreilly (2010).

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

Caratti e Silva (2009) define extensão como “...uma pequena aplicação


desenvolvida com regras de construção estabelecidas pelo ambiente Joomla!.” Ainda,
segundo os mesmos autores, essas extensões são instaláveis, facilitando tanto o processo de
adicionar ou remover uma funcionalidade.
De acordo com os autores as extensões classificam-se em componentes, módulos,
plugins, templates e idiomas:
28

 componentes: é uma aplicação responsável por apresentar conteúdo na página


principal. Somente um componente pode ser executado ou exibido por página
carregada. Entre os demais tipos de extensões é o mais complexo no que se refere
ao esforço de desenvolvimento e administração. Cada componente em uma
instalação Joomla! possui um único nome. Em geral, seu código é divido em duas
partes, frontend e backend, e cada parte fica situada em diretórios distintos.
 módulos: é uma pequena porção de software, que normalmente é apresentada
como parte de um conteúdo de uma página. Mais de um módulo pode ser
apresentado em uma página na forma de uma barra lateral, menu, cabeçalho ou
rodapé. A configuração de um módulo consiste basicamente em definição de
parâmetros de apresentação, incluindo sua posição na página.
 plugins: é uma pequena porção de código contido em uma função ou método que
pode ser executado em reposta a eventos que ocorrem no Joomla!. Como
exemplo, é possível desenvolver um plugin que coloca parte do texto de um artigo
em negrito durante a sua apresentação na página.
 template: é responsável pela forma com que o site será apresentado ao usuário,
incluindo cor, fonte de caracteres, estilos, etc. É ele quem determina a organização
dos objetos de uma página no navegador web.
 idiomas: permite o desenvolvimento de sites ou aplicações para vários idiomas.
Ao instalar este tipo de extensão e selecioná-lo como padrão, todas as mensagens,
menus e textos pertencentes ao Joomla! serão apresentados no novo idioma.
29

A figura 5 ilustra uma página destacando as extensões citadas anteriormente.

Figura 5 - Exemplo de disposição de componente, plugin e módulo.

2.2.3 Estrutura de diretórios e arquivos

Ao descompactar o pacote do Joomla! obtém-se a estrutura de diretórios percebida


pela figura 6.

Figura 6 - Estrutura de diretórios do Joomla!


30

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

Cache Arquivos de cache do Joomla

Components Todos os arquivos dos componentes instalados, exceto os da


parte administrativa.

Images Pasta padrão para as images utilizadas pelas extensões

Includes Arquivos do núcleo do Joomla

Installation Arquivos necessários para a instalação do Joomla

Languages Todos os arquivos de linguagem

Libraries Estão localizados os arquivos de terceiros e do core do


Joomla, toda a API se encontra nesta pasta

Logs Pasta onde será salvo os arquivos de log

Media Contém os arquivos relacionados às interfaces dos usuários,


tais como algumas bibliotecas em javascript, arquivos flash,
etc.

Plugins Todos os arquivos de plug-ins

Modules Todos os arquivos de modules do frontend instalados

Templates Arquivos de todos os templates do frontend

Tmp Arquivos temporários, geralmente arquivos de extensões


são copiados para esta pasta durante o processo de
instalação
31

Nome Descrição
Index.php Arquivo de inicio do frontend

Index2.php Arquivo de inicio do backend

Configuration.php Arquivos com as configuração principais do sistema como


dados do banco de dados, ftp, etc

Segundo Caratti e Silva (2009), é percebido que a estrutura de diretórios dos


componentes do frontend seguem o padrão MVC (Model – View – Crontroller). A estrutura de
diretório é geralmente algo como o apresentado abaixo na figura 7.

Figura 7 - Estrutura de diretório do componente de conteúdo.

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

Figura 8 - Estrutura de diretório do template Beez.

Para os componentes, deve-se ter uma estrutura de diretório começando como o


nome do componente (o mesmo que é encontrado no diretório components), o nome da pasta
de visualização (o nomeda view), e, finalmente, inclui um arquivo PHP com o mesmo nome
do arquivo de layout que deseja mudar.
Já para os módulos, procede-se da mesma maneira, com exceção de que eles não
possuem visualizações, apenas o layout para mudar .

2.2.4 Entendendo o framework do joomla!

Antes de prosseguir, iremos entender um pouco mais sobre o funcionamento do


Framework do Joomla!. A figura 9 mostra como ocorre o fluxo de requisição de conteúdo.
33

Figura 9 - Estrutura MVC do Joomla!. Fonte: AFTEK (2010)

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!.

Figura 10 - Estrutura do Framework do Joomla!. Fonte: Aldeia Numaboa (2010)


34

2.2.4.1 A camada framework

Segundo Vicki (2008), o framework é constituído por classes de objetos que


controlam, geram informações e coordenam as ações do Joomla. Ele possui vários pacotes:
 o pacote aplicativo, que alimenta a camada aplicativo e contém a classe
JApplication;
 o pacote com as bibliotecas de cache;
 o pacote chamado de comum e que contém as classes básicas e as bibliotecas de
compatibilidade com versões anteriores;
 o pacote conector com bibliotecas para clientes como FTP9 e LDAP10;
 o pacote para a base de dados que contém a classe JDatabase e as bibliotecas
necessárias;
 o pacote documento com as bibliotecas necessárias para criar e apresentar páginas;
 o pacote do sistema de arquivos com bibliotecas para interagir com o filesystem;
 o pacote i18n com bibliotecas de internacionalização (idiomas);
 o pacote de instalação com bibliotecas para poder instalar extensões (componentes,
módulos, plugins, templates, etc);
 o pacote de e-mail com bibliotecas;
 o pacote modelo com bibliotecas o objeto de acesso de dados;
 o pacote de parâmetros com bibliotecas para a manipulação de parâmetros;
 o pacote de registro (registry) com bibliotecas de armazenamento de
configurações;
 o pacote de modelos com bibliotecas de templates;
 o pacote de utilidades com diversas bibliotecas de uso geral;
 a classe JFactory que permite instanciar os objetos do framework;
 a classe JVersion que permite obter a versão 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.

2.2.4.2 A camada aplicativo

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.

2.2.4.3 A camada das extensões

Esta camada é constituída por componentes, módulos e templates. Os


componentes são aplicativos escritos para o Joomla que ampliam a funcionalidade do sistema.
Como exemplo, temos um sistema de gerenciamento de weblinks ou de downloads. Os
componentes são elementos incluídos no corpo da página.
Os módulos também são pequenos aplicativos que podem ser incluídos em todas
as páginas (ou apenas nas da sua escolha) em posições definas no arquivo de template como
no topo, nas laterais ou no rodapé. Exemplos são o módulo de login e o módulo de estatística
do site.
Templates são modelos de apresentação das páginas. Controlam a disposição dos
módulos e fornecem informações sobre a aparência e disposição do texto e qualquer outro
conteúdo.
36

2.2.4.4 Entendendo o mecanismo

Para produzir extensões para o Joomla é muito importante entender o mecanismo


do sistema. Conhecendo o funcionamento do sistema fica mais fácil criar extensões que se
integrem de forma harmônica e que incorporem a segurança e a coordenação oferecida pelo
sistema. O processo de maneira simplificada seria algo como:
 um script dispara um evento para que o framework forneça os modelos
(classes) necessários para produzir todos os objetos que vão compor o
sistema;
 isando o JFactory como ferramenta, o script vai cria todos os objetos
necessários para o funcionamento do mesmo, vai compondo a camada
aplicativo povoando-a com objetos e com referências a bibliotecas;
 quando esta camada estiver pronta e ativa, os componentes, módulos e
templates são incorporados e os plugins são ativados.
É importante ressaltar que para poder compreender objetos interligados é preciso
conhecer as características de cada objeto e saber quais métodos (funcionalidades) oferecem e
quais as variáveis que utilizam. Para tanto, é necessário um grau de aprofundamento nos
estudos sobre os objetos fornecidos pelo Joomla!, o que foge o objetivo deste trabalho.
Todo o código fonte do framework localiza-se no diretório /libraries/joomla e
seus subdiretórios.

2.2.5 Requisitos de sosftware

Para instalação do Joomla! é necessário um ambiente computacional que tenha


um servidor web, PHP e banco de dados MySQL. Embora otimizado para um servidor web
Apache, o Joomla! pode ser executado em outros servidores web como o Microsoft IIS. Os
requisitos mínimos para o Joomla 1.5 são:

 PHP - 4.3.10 ou superior;


 MySQL - 3.23 ou superior;
37

 Apache - 1.3 ou superior.

A instalação e configuração de um servidor Web, PHP e banco de dados ainda que


em um ambiente de testes local não são tarefas triviais. Para configurar em um computador
esses serviços existem pacotes que permitem a instalação de todos esses serviços em um só
aplicativo. Existem os seguintes pacotes para os diversos sistemas operacionais:

 XAMPP - multi-plataforma - Apache, MySQL, PHP, instalação;


 LAMP - plataforma Linux - Apache, MySQL, PHP, instalação;
 WAMP - plataforma Windows - Apache, MySQL, PHP, instalação;
 MAMP - plataforma Macintosh - Apache MySQL, PHP, instalação;
 JSAS - Servidor pré configurado com Joomla!.

É recomendado que se utilize uma IDE11 de programação para facilitar a


depuração bem como destacar a sintaxe da linguagem de programação, possibilitando uma
legibilidade melhor do código. Além de facilitar o acesso aos métodos das classes do Joomla!

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

2.3 WEBGIZ NA UNIMONTES

De acordo com o site da Universidade Estadual de Montes Claros (Unimontes) o


cumprimento de sua missão, visa contribuir para a melhoria e a transformação da sociedade,
atendendo às aspirações e os interesses de sua comunidade e promover o Ensino, a Pesquisa e
a Extensão com eficácia. Com o principal objetivo a democratização do acesso à educação
superior pública e de qualidade.
Com a grande demanda de informações gerada pelo enorme fluxo operacional da
instituição viu-se necessário a implantação de sistemas que automatizassem tarefas, como o
controle de informações acadêmicas. Segundo o Relatório de Gestão da Unimontes, referente
ao período de dezembro de 2008 à dezembro de 2009, apresenta um total de 1.323 (um mil
trezentos e vinte e três) docentes, dentre eles mestres, doutores, especialistas e graduados, e
8.776 (oito mil setecentos e setenta e seis) discentes dentre os cursos de graduação presencial
e a distância que utilizam o sistema WebGiz.
O sistema WebGiz, integrante da plataforma GIZ, é um aplicativo de é um
sistema de informatização que permite um controle total e integrado da área acadêmica da
instituição online, 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 consiste em uma ferramenta que permite agilidade no processo de renovação
matrícula para a Secretaria e para o aluno, e serve, também como um canal de integração
entre a instituição e os alunos. O WebAluno é utilizado pelos acadêmicos da Unimontes para
as seguintes consultas: frequência, notas, ocorrências disciplinares, histórico escolar resumido
e gráfico de desempenho aluno x turma. A alimentação das informações no sistema acerca de
situação acadêmica é realizada em parte por funcionários pela Secretaria Geral através da
plataforma GIZ e em parte pelos professores, sendo permitido aos alunos atualizar seus dados
pessoais e renovar matrícula.
O sistema Giz 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. O sistema gera como resultado dos lançamentos dos
39

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.

Figura 11 - Tela de acesso ao sistema WebGiz.

O conjunto de aplicativos envolvidos no WebGiz são fundamentados na


ferramenta Joomla, ou seja, o sistema WebGiz é a soma de módulos e componentes para o
Joomla!.
O contexto WebGiz utiliza o banco de dados MySql para gerenciar o
funcionamento do Joomla! e faz acesso ao banco de dados SQL Server para exibir os dados
referentes ao Sistema Giz.
40

3 METODOLOGIA

3.1 CARACTERIZAÇÃO

A presente pesquisa tem um caráter documental e bibliográfico, com o intuito de


levantar toda a documentação necessária de modo a dar suporte técnico e teórico ao
desenvolvimento deste. De acordo com Lakatos (2000), a bibliografia “oferece meios para
definir, resolver, não somente problemas já conhecidos, como também explorar novas áreas
onde os problemas não se cristalizaram suficientemente”. Neste estudo, adotou-se a pesquisa
qualitativa. Segundo Lakatos e Marconi (2000), A pesquisa qualitativa trabalha com dados
subjetivos, crenças, valores, opiniões, fenômenos, hábitos. Nesse sentido, percebe-se que a
pesquisa qualitativa desse estudo envolveu a obtenção de dados com questionários realizados,
para que os dados levantados possam auxiliar na análise do software WebGiz.

3.2 PROCEDIMENTO

Para o presente trabalho teve-se uma atividade inicial de estudo da literatura


relacionada a desenvolvimento web, linguagens de programação, bancos de dados e o sistema
de gerenciamento de conteúdo Joomla! de modo a dar suporte técnico e teórico ao
desenvolvimento deste.
Em seguida, foi realizada uma análise no CMS Joomla! para levantar as
funcionalidades oferecidas pelo mesmo a serem estudadas. Foram reunidos alguns requisitos
identificados como essenciais ao desenvolvimento do sistema web em questão, o WebGiz,
sendo eles: usabilidade, padronização, segurança e persistência dos dados, manutenabilidade e
escalabilidade.
Logo após, foi estudado o sistema WebGiz, mais precisamente os módulos
WebAluno e WebProfessor que estão implantados na Unimontes e disponíveis para acesso via
internet, visando identificar os principais fatores que levaram a empresa AIX Sistemas à
atualização e adequação desses módulos para a plataforma em questão. Para tanto, foi
41

confeccionado um questionário próprio para levantamento das informações junto à empresa


desenvolvedora. Um questionário também foi elaborado, e enviado aos sete funcionários que
integram a equipe da Unimontes, participante do processo de implantação e responsável pelo
suporte do sistema para verificar as mudanças ocorridas com a atualização do software bem
como as vantagens proporcionadas pelo sistema.

3.3 INSTRUMENTO

Foi utilizado um questionário eletrônico para realizar a coleta dos dados. De


forma prática e simples pode-se enviar o questionário via e-mail aos destinatários.
42

3 RESULTADOS E DISCUSSÕES

Ao final dos estudos realizados sobre a aplicação WebGiz foram identificados os


componentes e módulos básicos que compõem a versão da aplicação utilizada na Unimontes,
sendo eles: os módulos login, mensagem, menu, info e o componente professor, componente
aluno e componente aixgen. A seguir é descrito cada um deles:
A figura 12 ilustra o módulo de login, sendo mod_aixlogin o nome do diretório da
extensão. Ele é responsável por exibir a caixa de diálogo para solicitar o usuário, senha,
instituição e tipo de usuário.

Figura 12 - Módulo de login.

Já as figuras 13 e 14 ilustram o módulo responsável por exibir mensagens


cadastradas para visitante ou específica para alunos e professores. Sendo mod_aixmensagem
o nome do diretório da extensão.

Figura 13 - Módulo mensagens para visitantes.

Figura 14 - Módulo mensagens específico para alunos ou professores. Fonte: Wiki AIX Sistemas (2010)
43

O módulo de menu é responsável por exibir as opções de menu de acordo com as


licenças e o tipo de usuário. A figura 15 ilustra esse módulo. O nome do diretório desta
extensão é mod_aixmenu.

Figura 15 - Módulo menu do perfil aluno. Fonte: Wiki AIX Sistemas (2010)

O módulo informações de login, chamado mod_aixinfologin, é responsável por


exibir uma lista de informações do usuário ativo. Geralmente contém informações de nome,
curso, período. A figura 16 ilustra os seguintes tipos de usuário: Administrador, Aluno,
Professor, Responsável e Coordenador.

Figura 16 - Tipos de informações de login. Fonte: Wiki AIX Sistemas (2010)


44

O componente aluno, chamado de com_aixaluno é responsável por todos os links


relativos aos registros do acadêmico. Nele as interfaces de notas/frequência, histórico
resumido, avaliações dentre outras são processados. Como se pode perceber na figura 17, é
possível ver a estrutura de views no componente.

Figura 17 - Estrutura do componente aluno. Fonte: Wiki AIX Sistemas (2010)

Igualmente ao componente aluno o componente professor possui uma estrutura de


views e todas as funcionalidades do módulo professor. A figura 18 apresenta essa estrutura.

Figura 18 - Estrutura do componente professor. Fonte: Wiki AIX Sistemas (2010)


45

Segundo a página wiki da AIX Sistemas o componente chamado aixgen é de


fundamental importância. Este componente é responsável por conter os arquivos de terceiros
utilizados no sistema WebGiz e por fornecer dados aos outros componentes e módulos. Nele
também se encontram os DAO12 utilizados para obter as informações (SQL) do banco de
dados do Giz. A figura 19 apresenta a estrutura deste componente. Geralmente tem o mesmo
nome da entidade de banco de dados com o sufixo dao no final. Exemplo: alunodao.php.

Figura 19 - Estrutura do componente aixgen. Fonte: Wiki AIX Sistemas (2010)

Como visto anteriormente, foi utilizado um padrão para se alcançar a persistência


dos dados. O objetivo é separar das regras da aplicação a tecnologia de persistência de dados.
O padrão DAO interliga a aplicação ao SGBD (Sistema Gerenciador de Banco de Dados). O
objetivo maior ao usar este padrão é promover isolamento e flexibilidade, principalmente,
quando se deseja, por exemplo, mudar o SGBD.
Temos então, até aqui, uma grande vantagem que foi observada. A modularização
do WebGiz, possibilita fácil manutenção em determinado módulo ou componente sem que
afete diretamente algum outro. Um outro ponto é a padronização atingida com o uso do
template, com ele foi possível definir um layout para toda a aplicação. O processo de
mudança de template da aplicação também é facilitado pela simplicidade da alteração dos

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

temas. A figura 20 ilustra a tela de administração dos templates.

Figura 20 - Tela de administração dos templates. Fonte: Wiki AIX Sistemas (2010)

Após a aplicação dos questionários foi realizado a tabulação dos dados


informados pela equipe da Unimontes. Foi perguntado sobre o grau de importância da
aplicação, em seu contexto geral, para a instituição. Para todos da equipe que responderam, o
WebGiz exerce um papel muito importante nas atividades relativas ao registro acadêmico,
oferecendo agilidade e dinamismo ao processo, resultando em uma apresentação de
informações mais rápida e confiável ao aluno uma vez que esses dados são lançadas pelo
professor.
O próximo ponto foi verificar se a versão anterior do software WebGiz estava
atendendo satisfação a demanda de utilização da aplicação. Pôde-se perceber que, para 50%
dos profissionais do setor em questão a versão anterior do software atendia a demanda de
utilização e execução das atividades com satisfação, para a outra metade o software ainda não
conseguia atender a demanda.
Quanto aos problemas de acesso ou falhas. Para 100% dos funcionários o WebGiz
tinha falhas de acesso ou erros, que afetavam o funcionamento correto da aplicação em sua
versão anterior.
O próximo passo foi verificar com que frequência os erros aconteciam. A figura
21 ilustra que as opiniões ficaram dividas em por igual entre as opções disponíveis:
raramente, frequentemente e poucas vezes.
47

Figura 21 - Frequência de erros do WebGiz.

Observou-se que a usabilidade e a padronização foram itens que o sistema


conseguiu cumprir com satisfação. Como se pode perceber na figura 22, para 100% das
entrevistas houve uma melhora na navegação e usabilidade do software.

Figura 22 - Navegação e usabilidade do software.

Como é possível perceber pela figura 23, a implantação do software WebGiz


desenvolvido com o Joomla! reduziu consideravelmente os atendimentos de suporte
realizados pela equipe, tornando assim, o software mais estável.
48

Figura 23 - Atendimentos de suporte realizados aos usuários finais.

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

Durante este trabalho buscou-se averiguar a utilização do CMS Joomla! como um


ambiente de desenvolvimento para outras aplicações e evidenciou-se que há muitas vantagens
em utilizá-lo.
Baseado no estudo e pesquisa realizado para o desenvolvimento deste trabalho
conclui-se que, desenvolver uma aplicação com o Joomla! consiste basicamente em seguir as
regras de construção estabelecidas pelo ambiente, para que se tenha garantido a consistência,
usabilidade, padronização e manutenabilidade da aplicação. Não excluindo a possibilidade de
se utilizar outros padrões, adotados para o desenvolvimento de aplicações web, para que se
tenha, por exemplo, persistência dos dados. Foi avaliado o sistema acadêmico WebGiz a fim
de verificar as vantagens do desenvolvimento deste sistema com o Joomla!. Questionários
foram enviados ao setor da Unimontes responsável pelo suporte ao público, e a empresa AIX
Sistemas, desenvolvedora e mantenedora da aplicação. Após a tabulação dos dados verificou-
se que a aplicação WebGiz apresentou uma melhora satisfatória, tanto em desempenho, com
em usabilidade e manutenção. Algumas dificuldades encontradas durante a execução do
presente trabalho, como por exemplo, alguns questionários não foram respondidos, e a pouca
documentação impressa sobre o Joomla!, impediram que resultados mais precisos fossem
obtidos.
50

REFERÊNCIAS

AFTEK. Disponivel em: < http://www.aftek.com/itservices/joomla.shtml>. Acessado em 29


de agosto de 2010.

Aldeia Numaboa. Disponivel em: <http://www.numaboa.com/informatica/tutos/joomla/877-


joomla-framework>. Acessado em 15 de agosto de 2010.

APPLIEDTHEORY CORPORATION. Content Management White Paper. New York,


1995. Disponível em: <http://www.appliedtheory.com/promotions/contentmanagement.pdf >.
Acesso em: 01 agosto. 2010.

BAX, M.P.; PARREIRAS, Fernando. Gestão de Conteúdo com Software Livre. In: Anais
KMBrasil, São Paulo, 2003.

BAX, M. P., PEREIRA, J. C. L. Introdução a Gestão de Conteúdos. In: 3o. Workshop


Brasileiro de Inteligência Competitiva e Gestão do Conhecimento, 2002, São Paulo. Anais.
1o. Congresso Anual da Sociedade Brasileira de Gestão do Conhecimento, 2002.

CAMPOS, Augusto. O que é software livre. BR-Linux. Florianópolis, março de 2006.


Disponível em <http://br-linux.org/linux/faq-softwarelivre>. Consultado em: 20 outubro.
2010.

CARATTI, Ricardo Lima; SILVA, Leonardo Mafra. Joomla! Avançado. Novatec, 2009.

CONTENT MANAGEMENT. 2001. Disponível em <http://www.contentmanager.eu.com>


Acesso em: 01 de outubro de 2010.

DALL’OGLIO, Pablo. PHP Programando com Orientação a Objetos. Novatec 2007.

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

JASSINEK, Jassinek, R. A Influência da Internet em Negócios Empresariais:


Identificação e Caracterização de Elementos para Análise de Sites. Dissertação (Mestrado
em Administração) – Programa de Pós-Graduação em Administração, Universidade Federal
do Rio Grande do Sul. 163 p. Porto Alegre, 2000.

JUNIOR, Fred Cox – Programando Para Web Com Php e MySql. 2ª edição, UPE – POLI –
Engenharia Eletrônica. 2001.

LAKATOS, Eva Maria; MARCONI, Marina de Adrade. Fundamentos de metodologia


cientifica. 3 ed. São Paulo: Atras, 2000.

LAPA, Eduardo. Gestão de Conteúdo como apoio à Gestão do Conhecimento.


1º ed. Rio de Janeiro: Brasport, 2004.

LAUDON, Kenneth C.; LAUDON, Jane Price. Sistema de informação. 4ª ed. Rio de
Janeiro: Livros Técnicos e Científicos Editora, 1999.

LOZANO, Fernando. Apache + PHP + MySQL. Disponível em:


<http://www.lozano.eti.br/>. Acessado em: 10/06/2010.
MAZZETTI, Gerardo; MINK, Carlos. HTML 4 com XML. 1ª Ed. São Paulo: Makron
Books, 2000.

MICHELLAZO, Paulino. Ferramentas de CMS parceiras de Sucesso. PHP Magazine, 1ª


Edição, Janeiro de 2007.

MICROSOFT. The Business Case for a Web Content Management System.


2001. Disponível em
<http://www.microsoft.com/cmserver/evaluation/cmsroi.doc>. Acesso: 01 de outubro
de 2010.

MINETTO, Elton Luíz. Frameworks para Desenvolvimento em PHP. Novatec, 2007.

Ministério da Ciência e Tecnologia. Disponível na Internet


<http://www.mct.gov.br/index.php/content/view/3479.html?toPrint=yes>. Acesso: 01 de
Novembro de 2006.

MORATELLI, A. S.; VALDAMERI, A. R. . Sistema de gerenciamento de conteúdo para


ambiente WEB. Anais do XI Seminário de Computação, Blumenau, v. 1, n. 1, p. 53-64,
2002. Disponível na Internet
52

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.

SAUVÉ, Jacques Philippe. O que é um framework. Disponível em: <


http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/frame/oque.htm> Acessado em
20/06/2010

SOUZA, Andre de Abreu de. Usabilidade e a Padronização no E-Learning. Anais IX


Congresso Internacional de educação a Distância, SP, 2002.

SOUZA, Amanda Ramos de. Utilização de cms para o portal acadêmico do


Ccet/unimontes: Estudo, Adaptação e Implantação. 2009.

UNIMONTES. Institucional. Disponível em: < http://unimontes.br/ > Acessdo em 20 de


novembro de 2010.

VICKI, vovó. Entenda o Framework do Joomla 1.5. Disponivel em:


http://www.numaboa.com/informatica/tutos/joomla/877-joomla-frame?showall=1
Acesso em: 05 de outubro de 2010.

WELLING , Luke; THOMSON, Laura. PHP e MYSQL. Desenvolvimento Web. 3ª Edição.


2005.

Wiki AIX Sistemas. Disponivel em: < http://www.aix.com.br/wiki/index.php>. Acessado em


10 de outubro de 2010.
53

APÊNDICE

You might also like