GERENCIADOR DE EMAIL EXPRESSO
LIVRE: ESTUDO DE CASO CEPROMAT-MT
Elvio Rufino da Silva
CEPROMAT - Centro de Processamento de Dados do Estado de Mato Grosso
Palácio Paiaguás - Centro Político e Administrativo - Bloco SEPLAN
Caixa Postal 10004 – CPA – Cuiabá, MT – 78050-970 – Brasil
Resumo — O artigo sintetiza o uso do gerenciador de e-mail
Expresso Livre, demonstrando a infra-estrutura necessária para
o funcionamento da aplicação, a padronização dos módulos
utilizados na customização do software e apresenta um estudo de
caso no Centro de Processamento de Dados no Estado de Mato
Grosso. O artigo tem por objetivo difundir a utilização dos
softwares livres na rede pública, e sintetizar o uso do
gerenciador de e-mail Expresso Livre.
Palavras-chave — Software livre, Expresso Livre,
CEPROMAT.
Abstract — The article summarizes the use of manager email
Express Free, demonstrating the necessary infrastructure to run
the application, standardization of the modules used in
customizing the software and presents a case study at the Center
for Data Processing in the State of Mato Grosso. The article
aims to encourage use of free software in public, and summarize
the use of manager email Express Free.
Keywords — open source software, Express Free,
CEPROMAT.
I. INTRODUÇÃO
Quando se houve a expressão fazer “download” gratuito ou
de graça, sem remunerar outrem, isso dá em muitos usuários a
sensação de desconfiança de que o produto tem vírus ou não
vai funcionar. Tratando-se de software livre, o pensamento
sobre estes produtos é normalmente que a instalação é muito
complicada e o produto sempre precisa de correções.
Esta visão vem sendo modificada ao passar do tempo, com a
produção de softwares de qualidade e de grande utilidade nas
organizações. Estas soluções ficam disponíveis na internet e
normalmente são gerenciadas por grupo de empresas que
criam comunidades para corrigir, atualizar e manter estes
produtos. Estes softwares são normalmente caracterizados por
utilizar uma licença GNU (General Public License), ou
simplesmente GPL (Licença Pública Geral), que SILVEIRA
cita como, “A GPL é uma licença que utiliza os princípios do
direito autoral para proteger o software livre e assegurar que
ninguém possa torná-lo proprietário. Uma licença de
software é um contrato que define as condições de uso
daquele programa... A licença GPL assegura as quatro
liberdades para o software livre, ou seja, o uso para qualquer
fim, o estudo de seus códigos, a sua melhoria e a sua
redistribuição.” [9].
Isso significa que nos softwares que são regidos por este
tipo de licença, o autor cede ao licenciado os direitos de usar,
copiar, alterar e redistribuir a sua obra, contudo, a referida
licença contém disposição de reciprocidade, isto é, toda obra
derivada da original também deve ser distribuída pelos termos
desta licença. Este mecanismo foi concebido com o intuito de
garantir que as obras derivadas sejam também distribuídas
como software livre. [4]
Neste sentido pode-se dizer que software livre não quer
dizer de graça, sem valor ou de baixa qualidade, existem
termos de aceite que geram qualidade na sua produção, e o
mais importante, o ambiente colaborativo, conforme cita
Oliva, “software Livre, isto é, software que respeita as
liberdades dos usuários de executar o software para qualquer
propósito, de estudar o código fonte do software e adaptá-lo
para que faça o que o usuário deseja fazer e distribuir cópias
do software, e de melhorar e distribuir as melhorias. Permite
que pessoas usem computadores sem abrir mão de serem
livres e independentes, sem aceitar condições que os
impeçam de obter ou criar o conhecimento desejado.” [3]
O gerenciador de e-mail Expresso Livre segue estas
características, utiliza-se de uma licença GPL e tem uma
comunidade que atua na ampliação e manutenção das suas
versões disponíveis.
Neste artigo será descrito o histórico do gerenciador de email Expresso livre, a arquitetura de implantação, a estrutura
de desenvolvimento do software e a apresentação de um
estudo de caso para demonstrar a sua aplicabilidade e
robustez na sua utilização.
Para isto, este artigo estará dividido nos seguintes tópicos:
(I) Introdução; (II) Abordagem sobre o Gerenciador de e-mail
Expresso Livre: relata um breve histórico do software; (III)
Estrutura física para instalação do gerenciador de e-mail
Expresso Livre: serão apresentados os componentes físicos e
lógicos para o funcionamento da aplicação; (IV) Estrutura de
desenvolvimento do gerenciador de e-mail Expresso Livre:
aborda a metodologia utilizada para desenvolver a aplicação;
(V) Estudo de caso CEPROMAT/MT: Módulo Expresso
Reports 1.0: apresenta a empregabilidade do software e
demonstra como é possível a expansão deste; (VI) Conclusão.
Pg. 1
II. ABORDAGEM SOBRE O GERENCIADOR DE E-MAIL EXPRESSO
LIVRE
A CELEPAR (Companhia de Informática do Paraná),
sociedade de economia mista criada desde 1964, que busca
prover para o Estado do Paraná, soluções tecnológicas junto à
administração pública estadual, idealizou a criação do Projeto
Expresso Livre que foi iniciado em abril de 2004 e trata-se de
uma customização feita em cima da ferramenta alemã
EGroupWare que reúne diversos serviços essenciais em um
ambiente corporativo, tais como: EMail, Catálogo de
Endereços, Agenda de Compromissos, Mensagens
Instantâneas e Workflow. [1]
A Figura 1 apresenta a tela inicial do gerenciador de e-mail
Expresso livre.
Figura 1 – Tela de Login [5]
Com mais de 4 anos de implantação na CELEPAR, o
projeto é considerado um caso de sucesso, pois conta
atualmente com um número superior a 117 mil usuários
(Setembro/2009) fazendo parte de sua rede corporativa. Conta
com uma equipe de 10 pessoas (Des/Infr/Sup) que administra
11 servidores sendo 6 ambientes Expressos com catálogo
único, tem uma média diária de 300 mil e-mails recebidos e
entregues e tem o maior ambiente ativo do Expresso já
alcançado com 4.000 usuários simultâneos em média. [2]
Figura 2 – Evolução do nº de usuários usando o Expresso na Rede do
Governo do Paraná desde 2004. [6]
O Expresso Livre é gerido por um Comitê Gestor, formado
pelas empresas:
CELEPAR - Empresa de TI do Governo do Paraná e
Mantenedora do Projeto
DATAPREV - Empresa de TI da Previdência Social
SERPRO - Empresa de TI do Governo Federal
PRODEB - Empresa de TI do Governo da Bahia
PROGNUS - Empresa de Consultoria
A partir de 2006 foi criada a comunidade para manter o
Expresso Livre, cujo site oficial é:
http://www.expressolivre.org.
Neste site pode-se encontrar informações detalhadas sobre
o Projeto, o fórum com uma lista de discussões sobre o
Expresso livre, o ambiente colaborativo (WiKi/Trac/SVN) e a
versão de demonstração do Gerenciador.
Dentre as empresas públicas e privadas conhecidas que
usam o Expresso livre, citamos: [2]
AGETIS – Sergipe;
PRODEPA – Pará;
PRODEPI – Piauí;
PRODEB – Bahia;
PRODAM – Amazonas;
CODIN – Rio Grande do Norte;
Agência de TI de Pernambuco;
Itaipu Binacional;
DATAPREV – Empresa de TI da Previdência;
SERPRO – Empresa de TI do Governo Federal;
Ministério da Integração;
Ministério da Fazenda;
Governo de São Tomé e Príncipe;
ICMBIO (Instituto Chico Mendes);
PGFN (Procuradoria Geral da Fazenda Nacional);
Rede Metodista de Educação – Rio Grande do Sul;
Unicentro – Paraná;
III. ESTRUTURA FÍSICA PARA INSTALAÇÃO DO GERENCIADOR
DE E-MAIL EXPRESSO LIVRE
Para instalação e bom funcionamento do gerenciador de email Expresso Livre, são utilizados em sua infra-estrutura
vários softwares livres que formam uma rede responsável
pela autenticação, segurança e armazenamento das
informações. Os softwares necessários para uma infraestrutura básica, ou seja, o mínimo para funcionar
corretamente, seriam os seguintes:
Apache: Servidor web, responsável pelo fornecimento das
páginas aos usuários.
PHP: Linguagem de programação com suporte a orientação a
objeto, utilizada para elaborar as páginas web do gerenciador.
PostgreSQL: SGBD (Sistema Gestor de Base de Dados),
responsável pelo armazenamento das informações necessárias
à execução da aplicação, como flags, variáveis dos serviços
de correio, traduções do idioma e outras informações.
OpenLdap: Protocolo de Leve Acesso a Diretórios (LDAP),
responsável por montar a árvore de organizações e usuários,
elabora um cadastro básico contendo, por exemplo, nome,
sobrenome e senha dos usuários, e de servir como base para
outros softwares como o Samba e o Squid, que são utilizados
para fazer autenticação dos usuários.
Pg. 2
Postfix: Serviço de correio do tipo MTA (Mail Transport
Agent), responsável pelo envio das mensagens e trabalha em
conjunto com o LDAP, armazenando os dados como e-mail e
nome da caixa postal do usuário para realizar a entrega de
mensagens aos usuários locais.
Cyrus IMAP: Sistema de alta escalabilidade para correio
eletrônico, responsável por mapear as caixas dos usuários,
gerenciar as mensagens e oferece uma linguagem de filtros
(“sieve”) que gerencia cotas por usuário.
SASL: Camada de Simples Autenticação e Segurança,
responsável pelo método de autenticação das contas dos
usuários e do protocolo de segurança de acesso às caixas de
mensagens, é integrado com o servidor Cyrus IMAP e o
OpenLDAP.
Jabber: Protocolo aberto, extensível, baseado em XML,
responsável pelo gerenciamento das mensagens instantâneas.
A Figura 3 demonstra o esquema de utilização dos
softwares necessários para o funcionamento de gerenciador
de e-mail Expresso Livre.
VI. ESTRUTURA DE DESENVOLVIMENTO DO GERENCIADOR DE
E-MAIL EXPRESSO LIVRE
O expresso livre, por ser uma customização do
EGroupWare, segue uma arquitetura de desenvolvimento de
acordo com os padrões de implementação do “Core Team” do
EGroupWare.
As especificações do “Core Team” determinam desde os
padrões de codificação da linguagem, até os padrões para a
estrutura de diretórios e nomes dos arquivos. Esta arquitetura
proposta pelo EGroupWare, divide os diretórios conforme
apresentado na Tabela 1.
Tabela 1 – Estrutura dos diretórios. [8]
--appname
+--inc
| |--functions.inc.php
| |--header.inc.php
| |--hook_preferences.inc.php
| |--hook_admin.inc.php
| +--footer.inc.php
+--js
| |--base
| +--js_package_name
+--setup
| |--default_records.inc.php
| |--setup.inc.php
| +--tables_current.inc.php
+--templates
+--default
Figura 3 - Autenticação única para outros serviços. [7]
A configuração mínima em relação ao hardware utilizado é
uma questão relativa, pois o dimensionamento deverá ser
feito baseado em diversos fatores, tais como: nº de usuários
cadastrados, média de usuários simultâneos, cota de espaço
por usuário, número de mensagens por minuto etc.
Exemplificando uma situação tem-se o seguinte cenário,
considerando a seguinte média:
– 1.000 usuários cadastrados;
– 50 usuários simultâneos;
– 20 Mb de cota por usuário;
– 500 mensagens recebidas e entregues.
Para esse volume de dados é exigida no mínimo a
configuração a seguir:
– 2 processadores PIII 1.3 Ghz;
– 2 Gb de memória RAM;
– 40 Gb de espaço em disco. [1]
Legenda:
--appname: Diretório da aplicação;
+--inc: Diretório que contém as classes e os includes;
+--js: Diretório que contém os scripts Javascript(*.js);
+--setup: Diretório que contém arquivos e scripts de
instalação;
+--templates: Diretório que contém o template padrão de
interface;
Alocados nestes diretórios, existem arquivos que deverão
seguir as especificações do “Core Team” do EGroupWare.
Estas especificações referem-se aos padrões de nomes de
arquivos que deverão ser utilizados pelo esquema de
templates da própria API (Application Program Interface) do
PHP.
Os nomes dos arquivos estão relacionados com o
funcionamento correto da API, pois o padrão de nomes
garante que os arquivos sejam invocados corretamente pela
API como, por exemplo, na chamada inicial de uma aplicação
demonstrada abaixo:
/egroupware/index/php?menuaction=email.uiindex.index
(email=aplicação;uiindex=classe;index=método). [8]
Neste exemplo, para que seja inicializada esta aplicação,
Pg. 3
deve-se passar um parâmetro para a 'index.php', localizada na
raiz da aplicação do EGroupWare, e a API se encarrega de
chamar a sua aplicação através do método executável que
deverá estar localizada em uma das classes 'UI'.
Para entender esta metodologia de funcionamento das
classes, o desenvolvedor deverá compreender a programação
em camadas, pois o Framework da aplicação é baseado em
uma arquitetura dividida em três camadas:
- Interface do usuário (UI): É responsável por gerar o
código para o cliente, isto inclui HTML, XML, imagens PNG
ou quaisquer outros dados que vão diretamente para o
browser. Os métodos desta interface são os únicos que
poderão
ser invocados
pelo
browser.
Exemplo:
class.uinome.inc.php
- Componentes das regras de negócio (BO): É responsável
por encapsular todas as regras de negócio e intermediar entre
a interface do usuário e a interface de manipulação do banco.
Exemplo: class.bonome.inc.php
- Rotinas de manipulação de dados (SO): É responsável
pela comunicação com o “back-end” do sistema, isto inclui
banco de dados, LDAP ou IMAP, também é responsável pela
limpeza de objetos e espaços em branco vindos em campos
do “resultset” do banco de dados. Exemplo:
class.sonome.inc.php.
A Figura 4 representa o fluxo de funcionamento do
Framework das aplicações desenvolvidas no Expresso Livre.
Tecnologia da Informação (T.I.) para o Estado de Mato
Grosso. Participa do Programa Nacional de Gestão do
Governo Federal, e está classificada no nível de Gestão 3,
dentro do modelo de excelência da gestão pública.
A. Arquitetura de rede
O CEPROMAT iniciou a utilização do gerenciador de email Expresso Livre em março de 2009, sendo assim uma
experiência recente do uso do gerenciador.
Neste período o gerenciador atendeu às expectativas do
CEPROMAT, que conta com uma equipe de 4 pessoas que
administram 2 servidores, sendo um único núcleo de catálogo
que tem 10.256 usuários cadastrados, tem uma média diária
de 900 usuários simultâneos e registra uma marca de e-mails
recebidos e entregues acima de 31 mil e-mails diários
(fevereiro/2010).
Em referência à arquitetura do Expresso Livre adotada pelo
CEPROMAT, a mais apropriada foi a arquitetura simples,
considerando o número de usuários em relação ao hardware
disponível para gerenciar o catálogo único conforme
demonstra a Figura 5.
O hardware adquirido para instalação do servidor é
suficiente para atender a demanda das 42 organizações que
utilizam o serviço ofertado pela empresa.
O servidor que administra o Gerenciador Expresso Livre
contém as seguintes configurações:
- dual Intel(R) Xeon(R) @ 2.33GHz Quadricore
- 16 GB memória RAM
- 1,7 TeraByte de disco
Figura 5 – Arquitetura simples: 1 único servidor
B. Customização do Software
Figura 4 – Framework da Aplicação. [8]
V. ESTUDO DE CASO CEPROMAT/MT: MÓDULO EXPRESSO
REPORTS 1.0
O Centro de Processamento de Dados do Estado de Mato
Grosso (CEPROMAT) é uma empresa dotada de
personalidade jurídica de Direito Privado, com patrimônio
próprio e autonomia administrativa e financeira.
Criado em junho de 1973, o CEPROMAT está vinculada à
Secretaria de Estado de Planejamento e Coordenação Geral
(SEPLAN/MT), que desenvolve produtos e serviços de
Em fevereiro de 2010, a equipe de trabalho do
CEPROMAT idealizou customizar o gerenciador de acordo
com as necessidades das organizações que são gerenciadas
pelo órgão.
Havia uma necessidade de visualizar os dados dos usuários
cadastrados por organização, bem como as suas respectivas
cotas gerenciadas pelo servidor.
Para suprir esta necessidade, foi elaborado e desenvolvido
o Módulo Expresso Reports 1.0, que gera os relatórios para
auxiliar as gerências das organizações nas tomadas de
decisões.
Pg. 4
O módulo Expresso Reports 1.0 ainda não foi submetido ao
grupo do Expresso Livre para avaliação com intenção de
agregar este módulo ao sistema. O módulo será submetido
após estar completo com todos os seus relatórios, de acordo
com o planejamento elaborado pela equipe de trabalho do
CEPROMAT.
Encontram-se finalizados e prontos para utilização 2 (dois)
relatórios:
5) Após os dados serem apresentados, o usuário poderá
gerar o PDF dos resultados; se esta opção for
selecionada o sistema chama uma classe UI de PDF
para gerar o arquivo para o usuário.
Na Figura 5 e Figura 6 apresentam os relatórios que podem
ser gerados pelo módulo Expresso Reports.
- Relatório de usuário por Organização
- Relatório de cotas de usuário por Organização
Os módulos já desenvolvidos foram elaborados de acordo
com as especificações do “Core Team” do EGroupWare,
seguindo a padronização do Framework sugerido.
Seguindo as regras do Framework, a interface do usuário
(UI) é formada pelas classes:
- class.uireports.inc.php
- class.uireports_users.inc.php
- class.uireports_cota.inc.php
- class.uireports_fpdf.inc.php
Estas classes são responsáveis por gerar os códigos HTML
aos clientes, que são apresentados através dos arquivos de
templates:
- report_users_group.tpl
- report_users_group_print.tpl
- report_cota_group.tpl
- report_cota_group_print.tpl
Nestes arquivos estão contidos os códigos HTML das
páginas que apresentam os dados já formatados aos clientes.
Para fazer as funções das classes de componentes das
regras de negócios (BO) e rotinas de manipulações de dados
(SO), foram utilizados os includes:
- class.pdf.inc.php
- class.functions.inc.php
- class.db_functions.inc.php
- class.imap_functions.inc.php
- class.ldap_functions.inc.php
O funcionamento do módulo segue as seguintes regras
quando um usuário pede um relatório:
1) O cliente requisita à classe UI uma informação através
de parâmetros. Estes parâmetros são repassados para a
classe de regra de negócio (BO).
2) A classe de regra de negócio (BO), se necessário
utiliza a classe de banco de dados (SO), para montar
uma estrutura de informação que será retornada às
classes BO.
3) A classe BO, após ter as informações requeridas pelo
usuário, devolve estas informações à classe UI, que
manipula os resultados obtidos para gerar o HTML.
4) A classe UI instancia o template que irá mostrar as
informações formatadas como foi requisitado pelo
usuário.
Figura 5 – Relatório de usuário por Organização
Figura 5 – Relatório de cotas por Organização
VI. CONCLUSÃO
A tomada de decisão por um software proprietário ou por
um software livre deverá ser de acordo com vários fatores que
deverão suprir as necessidades encontradas nas organizações.
Não há uma lei ou regra que determine as normas de como
escolher o produto que deverá estar funcionando dentro das
empresas, esta opção é de livre escolha.
O mito de que software livre ou software de “download”
gratuito é ruim ou não funciona, deverá ser modificado,
principalmente nos softwares livres disponibilizados para fins
de uso nas organizações públicas. Pois se percebe uma
disposição do governo federal para o avanço de se produzir
softwares não proprietários com mais qualidade.
O comprometimento da sociedade da tecnologia da
informação a melhorar e ampliar os produtos disponíveis,
com intenção de produzir softwares de alta qualidade,
robustez e segurança, vem difundindo a idéia do uso dos
softwares livres nas organizações.
Não só por isto, mas também o mais importante a ser
mencionado, é que este movimento pelo conhecimento
comunitário gera um ganho ao ser humano que amplia os seus
conhecimentos e retorna este conhecimento à comunidade,
fazendo assim um bem maior em prol da sociedade.
A partir deste paradigma, conclui-se que trabalhar com o
Gerenciador de e-mail Expresso Livre, permitiu ao Centro de
Processamento de Dados do Estado de Mato Grosso
(CEPROMAT), avançar na melhoria do serviço de e-mail
ofertado para as organizações públicas, customizando a
aplicação para adequar-se aos padrões estipulados pelo órgão
e ampliando o conhecimento das equipes envolvidas no
Projeto.
Pg. 5
REFERÊNCIAS BIBLIOGRÁFICAS
[1] ALFREDO, João Knopik Júnior; EMÍLIO, Nilton Bührer Neto; LUIZ ,
Maurício Viani. É LIVRE, RÁPIDO E SEGURO. Revista Linux Magazine,
edição 32, julho 2007.
[2] EMILIO, Nilton Buhrer Neto. Trabalho apresentado na Latinoware
2008. Foz do Iguaçu. Conferencia Latino America de Software Livre, 2008.
Disponível em:
http://www.expressolivre.org/html/expressolivre/downloads/documents/Expr
esso-Latinoware2008.pdf
Acesso em: 04 mar. 2010.
[3] OLIVA, Alexandre. Software Privativo é Falta de Educação. Revista
Espírito Livre, edição 007, Outubro 2009.
[4] SILVA, Josafá Rodrigues Carvalho. Aplicabilidade do contrato de
licença GPL em face do ordenamento jurídico brasileiro. Jus Navigandi,
Teresina, ano 8, n. 174, 27 dez. 2003.
Disponível em: <http://jus2.uol.com.br/doutrina/texto.asp?id=4632>.
Acesso em: 04 mar. 2010.
[5] Site Oficial do Expresso Livre
Disponível em:
http://www.expressolivre.org/html/expressolivre/index.php?page=videos
Acesso em: 04 mar. 2010.
[6] Ibidem.
Disponível em:
http://www.expressolivre.org/html/expressolivre/index.php?page=comun
idade
Acesso em: 04 mar. 2010.
[7] Ibidem.
Disponível em:
http://www.expressolivre.org/html/expressolivre/index.php?page=arquit
etura
Acesso em: 05 mar. 2010.
[8] Ibidem.
Disponível em:
http://www.expressolivre.org/html/expressolivre/downloads/documents/
Expresso-criandonovomodulo.odt
Acesso em: 05 mar. 2010.
[9] SILVEIRA, Sérgio Amadeu da. Software livre: a luta pela liberdade do
conhecimento / Sérgio Amadeu da Silveira. Editora Fundação Perseu
Abramo, São Paulo, 2004 – (Coleção Brasil Urgente).
Pg. 6
Download

Gerenciador de email expresso livre: caso de uso cepromat-mt.