Na presente secção serão explanadas todas as ferramentas utilizadas na implementação do website através do qual o sistema de predição fornece os resultados obtidos, apresentando de forma amigável e segura os resultados aos utilizadores finais do sistema, i.e. as equipas ou responsáveis de manutenção.
Através deste interface web, os resultados obtidos pelo protótipo de predição são disponibilizados aos diferentes parceiros. A Informação é disponibilizada através de acessos controlados por login e palavra-passe, assegurando desta forma confidencialidade no acesso aos resultados obtidos.
Os outupts do sistema de predição são fornecidos em formato html 16 pela ferramenta de DM
e exportados diretamente para o servidor web, sendo fornecido pelo interface web os acessos controlados à informação disponibilizada.
O interface web do sistema está disponível no endereço
“http://www.esa.ipb.pt/~bastos/spamuf” (Figura 3-26).
16Abreviatura de HyperText Markup Language, que significa Linguagem de Marcação de Hipertexto. É uma linguagem de marcação utilizada para
Capítulo 3 | O sistema de predição 123 Figura 3-26 - Portal do protótipo do sistema de predição.
3.4.1 Ferramenta de desenvolvimento
O portal foi desenvolvido em Joomla versão 1.5.22, atualmente na versão 3.2, que consiste num Sistema de Gestão de Conteúdo ou CMS (Content Management System) desenvolvido a partir do Mambo17. É escrito em PHP 18 e corre num servidor web Apache 19 conectado a uma base de
dados MySQL20. A ferramenta proporciona dois interfaces, o website onde acedem os utilizadores
e denominado de Front-end e a secção de administração do portal denominada de Back-end. Com este tipo de plataforma o programador somente necessita de prever características básicas para o website. Outro tipo de características como login de utilizadores, criação, edição e publicação de conteúdos, etc., não necessitam de implementação. Estes recursos estão pré- programados e disponíveis na plataforma para serem utilizados. O Joomla conta com extensões que não estão na sua instalação básica, mas que podem ser adquiridos através de download de módulos e componentes que aumentam as suas funcionalidades. Resumidamente, o Joomla é
17Consiste num sistema completo de gestão de conteúdos para criação de simples páginas Web a complexas aplicações empresariais.
18Acrónimo recursivo para "PHP: Hypertext Preprocessor", originalmente Personal Home Page) é uma linguagem interpretada livre e utilizada para
gerar conteúdo dinâmico na World Wide Web.
19Versão do sistema operativo Linux. O Apache é um servidor web gratuito, criado sem fins lucrativos pela Apache Software Foundation, com o
intuito de despoletar o crescimento da World Wide Web.
um “esqueleto” de um website pré-programado e com recursos básicos, com fácil manutenção e administração via web e tem as seguintes características principais:
Código aberto;
Arquivamento para conteúdos não utilizados (Lixeira); Sistema de publicação para o conteúdo;
Sumário de conteúdo no formato RSS 21;
Busca otimizada (qualquer palavra registada); Interface traduzido em várias línguas;
Fácil instalação para novos templates, módulos e componentes; Hierarquia para grupos de utilizadores da plataforma implementada; Estatísticas básicas de visitantes;
Extensões livres em diversos websites (Módulos, Componentes, Templates, Traduções, etc.).
Todo o interface de Back-end do portal é disponibilzado através do endereço “http://www.esa.ipb.pt/~bastos/spamuf/administrator”, através de acessos controlados e está representado no Anexo A.
3.4.2 Linguagens aplicadas
Para o desenvolvimento e funcionamento do interface deste sistema foram aplicadas, tal como referido anteriormente, várias linguagens de programação, designadamente PHP, HTML e MySQL.
De modo a melhor compreensão dos motivos das escolhas efetuadas, bem como das suas potencialidades, são apresentados nas subsecções seguintes conceitos fundamentais de funcionamento de cada uma destas linguagens.
3.4.2.1 A linguagem PHP
O PHP, atualmente na sua versão 5, foi desenvolvido em 1994 por Rasmus Lerdorf, com o intuito de criar as páginas web da sua página pessoal. Inicialmente foi desenvolvido em PERL, sendo posteriormente reescrito em linguagem C. É uma linguagem de Script cujo código é inserido
21 RSS consiste num subconjunto de "dialetos" XML que servem para agregar conteúdo, podendo ser acedido mediante programas ou sites
Capítulo 3 | O sistema de predição 125
em páginas HTML, sendo o seu conteúdo interpretado no servidor http 22. O resultado é
posteriormente enviado para o posto cliente sob a forma de página HTML (Serrão e Marques, 2000).
Esta linguagem tem como principal característica o facto de ser capaz de processar os dados existentes numa base de dados e, ao mesmo tempo, estar embebida no código HTML, possibilitando desta forma a disponibilização da informação ao utilizador. Pelo facto de o PHP permitir facilmente a interface com o MySQL ou outras bases de dados, possibilita-lhe, mediante a interação com uma dessas base de dados, disponibilizar informação dinamicamente formatada. Em suma, o sucesso do PHP sustenta-se no facto de embeber o código PHP no HTML, processar dados provenientes de formulários, comunicar e interatuar com bases de dados de forma persistente e efetuar cálculos complexos (Serrão e Marques, 2000).
3.4.2.2 O HTML
Outro elemento fundamental deste interface é sem dúvida a componente elaborada em HTML e responsável pela apresentação dos outputs do sistema. Não se trata de uma linguagem de programação, mas de uma linguagem de marcação.
O HTML surgiu em 1990, é uma linguagem estática, interpretada pelos browsers e vastamente utilizada na criação de páginas web.
Os documentos são arquivos em forma de texto simples, com tags especiais ou códigos que um browser utiliza para interpretar e exibir informações de forma percetível ao utilizador final.
A estrutura de um documento HTML está normalmente dividida em duas partes:
Cabeçalho (Header) – Contém informações básicas acerca do documento, como por exemplo o título, tipo de codificação da página, formatação, funções provenientes de ficheiros externos, descrição da página, etc.
Corpo (Body) – Contém tudo o que é apresentado na página web, como por exemplo texto, tabelas, imagens, campos de seleção múltipla, hiperligações, etc.
De forma a tornar uma página HTML dinâmica é possível incorporar blocos elaborados em PHP, CSS 23 ou javascrip.
22Protocolo de Transferência de Hipertexto - é um protocolo de comunicação utilizado para sistemas de informação de hipermédia distribuídos e
colaborativos. A sua utilização para a obtenção de recursos interligados levou ao estabelecimento da World Wide Web.
23 CSS é uma linguagem para estilos que define o layout de documentos HTML. Por exemplo, CSS controla fontes, cores, margens, linhas, alturas,
3.4.2.3 O MySQL
O MySQL é um sistema de gestão de bases de dados relacional utilizando a linguagem SQL 24
como base do seu funcionamento. Atualmente é o tipo de base de dados mais utilizado, sobretudo em aplicações web. A ligação entre este e o PHP é tão forte que normalmente um produto é associado ao outro.
O software MySQL funciona tipicamente numa postura cliente servidor, que se baseia num servidor SQL multitarefa suportando diferentes acessos (multiutilizador), diversos programas cliente e bibliotecas, ferramentas de administração várias, bem como diferentes e várias interfaces de programação, para lá de estar catalogado como sendo extremamente rápido (Pires, 2004).