SAAP: desenvolvendo e expandindo sistemas usando software livre

por csetti — publicado 29/10/2001 01h00, última modificação 24/06/2003 11h54
Neste artigo, Paulo F. Souza Jr., Wu Man Qi e Wilton S. Alencar, da área de produtos e serviços tecnológicos do Interlegis, mostram as vantagens do uso de softwares livres na elaboração do Sistema de Apoio à Atividade Parlamentar. Este trabalho foi apresentado no IV Fórum Internacional de Software Livre 2003, realizado em Porto Alegre
 

SAAP: Desenvolvendo e Expandindo Sistemas Usando Software Livre

Paulo F. Souza Jr. 1, Wu Man Qi1,2, Wilton S. Alencar1,3

1Interlegis – Programa Interlegis – Senado Federal
Via N-2 Anexo E Senado Federal – 70.165-900 – Brasília –Distrito Federal

2UnB – Universidade de Brasília

3UNIP – Universidade Paulista (SUPERO)


Abstract. This article presents the System of Support to Parliamentarian’s Activity - SAAP. This system was developed by Programa Interlegis’s main team, with the use of a platform entirely composed by free software. The SAAP’s objective is to provide one set of integrated subsystems that allow optimization of tasks related to parliamentarian’s activity. This includes mainly the management of parliamentarian’s interactions with people, groups and organizations, in several Legislative Houses of the country. The SAAP was fully developed in Zope, by exploring the expansion possibility of server’s features for posterior system implementation.                       

Resumo. Este artigo apresenta o Sistema de Apoio à Atividade Parlamentar - SAAP. Esse sistema foi desenvolvido pela equipe central do Programa Interlegis, com a utilização de uma plataforma composta totalmente por software livre. O objetivo do SAAP é prover um conjunto de subsistemas integrados que permita a otimização das tarefas relativas à atividade parlamentar. Isso envolve principalmente o gerenciamento das interações de parlamentares com pessoas, grupos e organizações, nas diversas Casas Legislativas do país. O SAAP foi todo construído em Zope, explorando a possibilidade de expansão das funcionalidades do servidor para posterior construção do sistema.

1. Introdução

O Sistema de Apoio à Atividade Parlamentar - SAAP - é a terceira experiência da equipe central do Programa Interlegis no uso de software livre, para se atingirem as metas do programa, no que se refere a produtos e serviços em tecnologia da informação. A primeira experiência foi o SAPL - Sistema de Apoio ao Processo Legislativo [1] e a segunda, o portal Interlegis (www.interlegis.gov.br).

O Interlegis é um programa concebido, em 1997, pelo Centro de Informática e \Processamento de Dados do Senado Federal – Prodasen (atual Secretaria Especial de Informática) – e vem sendo implementado pelo Senado Federal em parceria com o Banco Interamericano de Desenvolvimento – BID. O seu objetivo é a modernização e a integração do Poder Legislativo nos seus níveis federal, estadual e municipal, promovendo maior transparência e interação desse Poder com a sociedade. Os meios utilizados são as novas tecnologias de informação (Internet, videoconferência e transmissão de dados), que permitem a comunicação e a troca de experiências entre as Casas Legislativas e os legisladores e entre o Poder Legislativo e o público, visando aumentar a participação da população no processo legislativo.

            O SAAP é composto de um conjunto de subsistemas integrados, baseados em tecnologia Web. O seu objetivo é permitir a otimização das tarefas relativas à atividade parlamentar. Isso envolve principalmente o gerenciamento das interações de parlamentares com pessoas, grupos e organizações, nas diversas Casas Legislativas do país.

            A primeira versão estável do sistema está disponível no portal colaborativo do Interlegis (http://genesis.interlegis.gov.br), desde o final do ano passado, para a Comunidade Legislativa.  Por meio desse portal, esta comunidade poderá fazer sugestões e recomendações que, uma vez analisadas e aceitas, serão incorporadas ao sistema nas suas sucessivas versões.

2. Subsistemas do SAAP

Gerenciamento de Áreas de Trabalho: esse subsistema permite a um Administrador do sistema criar uma nova área de trabalho, associando-a a um proprietário, por exemplo, um parlamentar. Uma vez criada a área, o acesso a ela é restrito ao seu proprietário e as pessoas autorizadas por ele. Na criação da área, é gerada nela a estrutura dos subsistemas de contatos, atendimentos, compromissos, documentos e mala direta.

Gerenciamento de Contatos: esse subsistema permite a um usuário autenticado, numa determinada área de trabalho, cadastrar as informações básicas de pessoas físicas e jurídicas, bem como seus endereços, telefones, endereços eletrônicos, filiações partidárias e grupos aos quais elas pertencem.

Gerenciamento de Atendimentos: esse subsistema permite a um usuário autenticado, numa determinada área de trabalho, cadastrar os processos de atendimento (solicitação) que chegam num gabinete parlamentar, facilitando o acompanhamento das suas tramitações.

Gerenciamento de Compromissos: esse subsistema permite a um usuário autenticado, numa determinada área de trabalho, agendar e acompanhar os compromissos e as tarefas do dia-a-dia do parlamentar.

Gerenciamento de Documentos: esse subsistema permite a um usuário autenticado, numa determinada área de trabalho, armazenar os documentos em diversos formatos (doc, pdf, txt, html, entre outros) numa biblioteca, onde seus conteúdos serão catalogados, possibilitando buscas por palavras do texto. 

Mala Direta: esse subsistema permite a um usuário autenticado, numa determinada área de trabalho, emitir cartas, ofícios ou etiquetas elaboradas para um conjunto de pessoas selecionadas.

3. Plataforma Adotada – Software Livre

A plataforma adotada é composta totalmente por software livre:

-       Sistema Operacional: Linux (distribuição Conectiva 8.0 [2])

-       Servidor de Aplicações Web: Zope [3]

-       Linguagem de Programação: Python [4]

-       Banco de Dados Orientado a Objetos: ZODB [5]

4. Por Que Zope?

O Zope - Z Object Publishing Environment – é uma plataforma livre para desenvolvimento de aplicativos Web, que vem integrado com um servidor de banco de dados orientado a objetos ZODB. Ele visa criar sites e aplicações dinâmicas na Web. A sua administração é feita via navegador da Internet como Netscape ou Internet Explorer.

            Essa ferramenta foi desenvolvida pela empresa Digital Creations (atual Zope Corporation), utilizando uma linguagem de alto nível orientada a objetos chamada Python. A sua distribuição está disponível para vários sistemas operacionais tais como GNU/Linux, FreeBSD, Windows 95, 98, 2000 e NT.

            Uma das grandes características do Zope é o fato de ser um software com o código fonte aberto. Além disso, ele oferece diferentes componentes e funcionalidades que facilitam o desenvolvimento de aplicativos Web, tais como:

-       Gerenciamento e desenvolvimento de aplicativos via Web;

-       Controle de acesso ao nível de perfil de usuário;

-       Catalogação de documentos e pesquisa por palavra-chave;

-       Integração com banco de dados relacional;

-       Suporte à comunicação com outros aplicativos via protocolo XML-RPC, SOAP, CORBA e outros;

-       Possibilidade de adição de módulos desenvolvidos em Python;

-       Publicação “automática” de todos os objetos criados no Zope por meio dos protocolos dos quais ele possui suporte (HTTP, FTP, XML-RPC, WebDAV, CORBA, SOAP e outros);

-       Extensão do Zope via criação de produtos OO, semelhantes aos packages do Java, utilizando ZClasses ou FSP (File System Product).

5. Implementação do SAAP

O SAAP foi desenvolvido com a utilização de ZClasses. Essa característica permite a expansão das funcionalidades do servidor de aplicações Zope a partir da construção de componentes personalizados.

            Esses componentes, uma vez construídos, estarão disponíveis para ser utilizados no desenvolvimento de qualquer sistema, podendo ser colocados à disposição da comunidade de software livre, a fim de que os mesmos sejam aperfeiçoados com a colaboração dos demais desenvolvedores da área.

            A metodologia adotada no desenvolvimento do SAAP foi a implementação inicial de diversos componentes pré-especificados, que posteriormente serviram de base para a construção do sistema. Um ponto importante das ZClasses é que, a qualquer alteração numa determinada classe, todos os seus objetos instanciados serão atualizados automaticamente.

            Foi incorporado ao SAAP, com pequenas adaptações, um produto chamado Document Library, que está disponível no site www.zope.org. Esse produto armazena documentos e os cataloga para pesquisas por palavra-chave.

            Um fator crítico desse sistema é em relação à segurança dos dados armazenados, já que esses representam informações particulares que dizem respeito a cada parlamentar. Para atender a esse requisito, o uso do Zope foi essencial, pois cada área de trabalho do sistema possui o esquema de controle de acesso semelhante ao do próprio Zope, além dos dados serem armazenados no seu banco de dados orientados a objetos ZODB .

6. Conclusão

O uso de ZClasses do Zope e a experiência com a adaptação de um produto nos mostraram que a possibilidade de expansão dos sistemas baseados em software livre é maior comparada àqueles baseados em plataforma fechada.

            O SAAP é um exemplo dessa possibilidade, pois com o uso do Zope como servidor de aplicações e do Linux como sistema operacional base, ele se moldou a uma arquitetura flexível e poderosa, via expansão do Zope a partir de uma funcionalidade intrínseca, mas que é inerente ao software livre.

            Essa já é a terceira experiência do uso de software livre pelo programa Interlegis no âmbito do Poder Legislativo, consolidando mais uma vez o uso dessa opção como uma ferramenta robusta e eficaz, capaz de fazer frente a qualquer ferramenta comercial convencional.

            Atualmente, o Interlegis tem sido referência, no âmbito governamental, sobre o uso de software livre no desenvolvimento de soluções coorporativas, sendo fomentador desse tipo de iniciativas em outras organizações governamentais como a ABIN, o Ministério do Planejamento, o DataPrev e o INSS.

7. Referências

[1]   Wu Man Qi, “Uso de Software Livre no Legislativo: SAPL – Sistema de Apoio ao Processo Parlamentar”, Anais do III Workshop sobre Software Livre. Porto Alegre: SBC, p. 66-69, 2002.

[2]   Conectiva, http://www.conectiva.com.br.

[3]   Pelletier, M. and Latteier, A., “The Zope Book”, Ed. 2.5, 2002, http://www.zope.org/Members/michel/ZB/IntroducingZope.dtml.

[4]   Harms, D. and McDonald, K., “The Quick Python Book”, 2000.

[5]   Bwarsaw and Jeremy, “Zope Object Database”, 2003, http://www.zope.org/Wikis/ZODB.