SlideShare uma empresa Scribd logo
1 de 7
A integração de serviços como requisito fundamental no processo de migração para uma plataforma
                                              livre

                                        Mauro Tapajós Santos
                                  Renata Abadia Rodrigues de Oliveira

                                    Universidade Católica de Brasília

                            tapajós@abordo.com.br, renatarodrigues@ucb.br



                                                Resumo

Dentro de uma organização, a primeira questão a ser levantada num processo de migração para plataforma
livre é a manutenção de serviços essenciais para o seu funcionamento. Exemplo disto é gestão de um
Serviço de Diretórios, solução que permite gerenciar de forma centralizada as informações associadas à
infra-estrutura de recursos numa rede como usuários, impressoras, servidores, aplicações, etc.

        Entretanto, faltam ferramentas de administração de ambientes de TI que propiciem uma gerência
não só eficiente, mas também integrada desses serviços básicos, permitindo não só administrá-los
isoladamente, mas também integrá-los de forma facilitada para prover, por exemplo, autenticação única de
usuários para todos os serviços de rede, gerenciamento do serviço de impressão, mapeamento automático
de drivers em servidores, distribuição automática de pacotes de software para estações de trabalho, backup
automático, etc.

       Dentro deste contexto, propõe-se um serviço de distribuição automática de pacotes de software
como o primeiro de uma série de serviços que irão compor uma arquitetura centralizada de gerência de TI,
baseada em software livre e capaz de atender a ambientes corporativos de maior porte.

1. Introdução

O ambiente de TI atual exige determinados serviços de rede que garantem a operação normal de redes
corporativas. No mundo das plataformas livres estes serviços estão disponíveis porém de forma
desagregada. A integração destes serviços é fundamental para a adoção da plataforma livre em redes
corporativas.
        Apresenta-se então o mecanismo de distribuição de software como serviço básico de rede. Este
serviço é extremamente importante para o correto funcionamento da arquitetura e serve de base para
muitos dos demais serviços.

2. O Ambiente de TI Atual

Um ambiente de TI operacional exige atualmente serviços básicos como:

•Autenticação de usuários na rede (através dos processos de login) para que estes possam utilizar os
recursos de rede disponíveis
•Personalizações no processo de login do usuário (uso de scripts de inicialização, avisos e alertas) para
automatizar processos internos
•Impressão via rede de acordo com regras e quotas pré-definidas
•Acesso a arquivos em servidores em rede com controle de acesso adequado
•Execução controlada e agendada de cópias de redundância de arquivos – backup
•Disponibilização de softwares anti-vírus e suas atualizações
•Instalações e atualizações automáticas de aplicações nas estações de trabalho
•Geração automática de inventário do parque de TI para gerenciamento de configuração
•Geração e tratamento de arquivos de logs dos sistemas
        Com isso se verifica que para garantir o correto funcionamento destes serviços é necessário uma
integração de todos. Com esse objetivo se costuma inserir neste contexto um servidor de diretórios cuja
função é centralizar as informações necessárias à utilização dos serviços citados.
        O servidor de diretórios armazena dados como senhas de usuários, privilégios de impressão,
sistemas de arquivos disponíveis em rede, servidores em operação, controle de acesso aos recursos de
rede e permissões de execução de softwares. O servidor de diretórios é um banco de dados cujo objetivo é
atender da forma mais eficaz e rápida a questionamentos de aplicações externas, ou seja, é um banco de
dados otimizado para operações de leitura.
        O serviço de diretórios aparece então como componente essencial dentro de uma arquitetura
integrada de TI. Em vista de sua importância, o serviço de diretórios normalmente é implementado em
soluções redundantes e, em alguns casos, distribuídas de forma a atender melhor às requisições de clientes
em rede.
        O acesso á um servidor de diretórios também é um elemento importante que pode influir
diretamente no tempo de resposta que aplicações terão ao questionar o diretório. O protocolo mais usado
para acesso a servidores de diretórios em ambiente livre é o LDAP . É um protocolo leve e muito popular
com bom número de implementações, inclusive no mundo de plataformas livres como o software livre
OpenLDAP1.

3. Operação Integrada de Serviços de TI

Em ambiente proprietário, existem algumas alternativas para um ambiente totalmente integrado como as
soluções de fabricantes como Novell e Microsoft. Em todas estas estão presentes as características do
mundo proprietário: dependência de um único fabricante, opções de suporte restritas e caras, polarização
para um conjunto limitados de plataformas ou tecnologias, custos de licenciamento altos, nenhuma
liberdade de atuação no código fonte e uma evolução ditada apenas por diretrizes de negócio dos
fabricantes.
         Em ambientes livres, muitas das características de desenvolvimento dos sistemas UNIX são
herdadas, sendo considerada aqui, principalmente, a estratégia de se desenvolver funcionalidades em
modo atômico para depois integrá-las. Esta abordagem é válida também para os serviços de rede em
discussão. Desta forma, não existe atualmente em plataforma livre uma solução completa e integrada de
serviços de rede para um ambiente de TI livre e de porte corporativo.
         Dentro da proposta de um sistema livre integrado, haverá de existir no seu núcleo um serviço de
diretórios único e saudável acessado por serviços e aplicações externas via protocolo LDAP. Estas
aplicações obtem, assim, as informações necessárias para realizar as tarefas normais de um ambiente de
TI. A figura 1 ilustra esta abordagem. Este é o primeiro passo rumo à integração dos diversos serviços.




                         Figura 1 – Serviços de Rede numa Arquitetura Integrada

4. Aplicações em Plataforma Livre

Usuários em workstations necessitam de aplicações para realizar seus trabalhos. Um dos serviços de rede
primordiais num ambiente de TI é a distribuição de aplicações para usuários em workstations.
         Esta tarefa não é simples por que atua no âmago do sistema computacional: seus programas e os
arquivos que o implementam. Nos ambientes mais simples a estratégia é manter uma equipe que vá
fisicamente em cada estação e realize o trabalho de instalação, atualização e desinstalação de
componentes e aplicações de software. Obviamente não é a solução desejada diante do custo e das
dificuldades de gerenciamento.
         Numa arquitetura de administração integrada para plataforma livre, este processo deve ser
automatizado para permitir um controle total de que aplicações estão sendo instaladas e atualizadas,

1
    OpenLDAP – www.openldap.org
mantendo as informações relacionadas no serviço de diretórios.
      Uma aplicação é constituída por alguns ou todos os seguintes elementos:

•Arquivos executáveis binários para uma determinada plataforma computacional (i386, AMD, Palmtops,
Mainframe, etc)
•Arquivos de instrução em linguagens compiladas (código fonte a ser compilado previamente para
execução)
•Arquivos de instrução em linguagens interpretadas (como por exemplo scripts)
•Ambiente de interpretação (como uma máquina virtual JAVA ou interpretador PERL)
•Bibliotecas de rotinas compiladas ou não
•Arquivos de configuração diversos
•Arquivos adjuntos necessários para a aplicação: imagens, documentação, animações, palhetas de cores,
drivers, ou qualquer outro

         Em plataforma livre é comum a disponibilização de software em formato aberto. Com isso é possível
a visualização de seu código fonte, mas é exigido o passo de compilação do mesmo, de forma a criar
arquivos executáveis binários específicos para a plataforma em questão . Entre as vantagens desta
alternativa está o fato do código poder ser auditado (verificado) e alterado, de acordo com possíveis
demandas de personalização e geração de binários otimizados para a plataforma. Na montagem da árvore
de arquivos de código fonte é necessário que se tenha a informação de que arquivos de código compõem o
binário sendo criado. Mais além, um mesmo binário pode ser criado a partir de vários binários intermediários
chamados de arquivos objetos. Assim, os arquivos objetos podem compor um arquivo executável ou até
mesmo uma biblioteca.
         Para descrever estes relacionamentos, é comum o uso de ferramentas de automatização do
processo de montagem dos binários necessário para a aplicação. O utilitário make2 pode manter as
informações de criação dos binários em arquivos de configuração chamados de makefiles. Nestes, estão
descritos todos os arquivos de código e as instruções para a compilação e montagem dos binários (alvos).
         Uma vez pronta, a aplicação é disparada no sistema por um arquivo executável que se encarrega
de realizar as devidas chamadas para os demais componentes.

5. Pacotes de software

Cada aplicação é composta de um ou mais pacotes de software que podem conter os tipos de arquivos
listados anteriormente. Os pacotes são criados e mantidos de forma individual e são tratados pelas
operações de distribuição de software desta mesma forma.
           Um pacote de software é um conjunto organizado e completo de arquivos e instruções para sua
instalação num sistema computacional. Este conjunto compõe principalmente aplicações mas pode conter
bibliotecas, documentação ou dados quaisquer . Configurações como o acerto de caminhos padrões e
ajuste de variáveis de ambiente podem ser necessárias e estarão descritas no próprio pacote. Cada pacote
possui uma numeração de versão que o identifica diante das demais versões do mesmo pacote e serve de
referência para as informações de dependências.
           Apesar de individualizados, os pacotes de software podem ter dependências uns dos outros. Por
exemplo: se for necessária a instalação de uma aplicação de criptografia, ela pode requerer a prévia
instalação no sistema de uma biblioteca de rotinas criptográficas de que faz uso. Diante deste fato, os
mecanismos de gerenciamento de pacotes a serem adotados deverão compreender corretamente a cadeia
de dependências que existe entre pacotes de software.
           Para realizar as funções de instalação e manutenção de aplicações em estações ou até mesmo
servidores, é necessária a definição de formatos padrões para transporte dos arquivos e suporte de
instalação das aplicações.
           Dentre as alternativas de formatos de pacotes em software livre, as mais usadas são: o formato
RPM (RedHat Package Manager)3, o dpkg (arquivos .deb - usado pelo gerenciador de pacotes da
distribuição Linux Debian4) e o formato usado pela distribuição Slackware5 (arquivos .tgz).
           Todas têm em comum o objetivo de permitir a instalação fácil via rede ou outras mídias como CD's
e DVD's. Cada uma porém organiza os arquivos e configurações de formas diferentes e podem ou não
exigir no sistema ferramentas de manipulação destes pacotes como o RPM (utilitário rpm) e o Debian
(utilitário dpkg). O formato Slackware oferece utilitários mas permite que se trabalhe diretamente com os
pacotes realizando as operações manualmente.
           Um item importante a considerar nos formatos de pacotes é a facilidade de se ter scripts de pré e
pós-instalação que rodariam, respectivamente, antes e depois da instalação do pacote. Este recurso dá
2
    http://www.gnu.org/software/make/make.html
3
    http://www.rpm.org
4
    http://www.debian.org
5
    http://www.slackware
grande flexibilidade para personalizar o sistema para o pacote em questão. Todos os formatos citados
possuem esta característica.
        Os pacotes também podem conter código fonte. O suporte ao uso de makefiles é outro item de
interesse. Ferramentas de geração de pacotes nos formatos citados existem e podem suportar a geração
de pacotes binários a partir de código fonte através da análise de makefiles.

6. Serviço de Distribuição de Software

       O ciclo de vida de uma aplicação se inicia com a instalação da mesma na estação do cliente. O
processo de instalação de aplicações, em maior ou menor grau, envolve as seguintes operações:

1.Cópia dos pacotes de software (normalmente em formato compactado) que compõem a aplicação, para a
estação via rede.
2.Descompressão dos arquivos em local apropriado
3.Geração dos arquivos binários executáveis
4.Transferência dos arquivos gerados para locais apropriados dentro da estação
5.Configurações da aplicação na estação, onde pode ser necessária a interação com o usuário
administrador da mesma (usuário root).
6.Configurações específicas para o usuário, onde pode ser necessária a interação com o mesmo.

         Estes passos nem sempre são fáceis e diretos em ambiente livre , principalmente para usuários
leigos. A solução adotada automatizar ao máximo o processo com o uso de instaladores.
         O problema é que plataformas livres se diferem bastante em termos de configurações e
componentes presentes no sistema. Além disso, é preciso que o sistema tenha o suporte devido ao
processo de compilação e geração dos binários que rodarão a aplicação. Itens como compiladores e
bibliotecas devem já estar disponíveis no sistema, caso contrário, os próprios devem ser instalados
previamente.
         Com isso, surgiram várias ferramentas em plataforma livre que padronizam e automatizam o
processo de instalação e manutenção de software nas estações de trabalho, realizando ou não (no caso do
rpm) a instalação via rede. Algumas das opções são utilitários em linha de comando como o próprio rpm
(usado com pacotes do formato RPM), o yum6 (também usado com pacotes RPM), o apt-get7 (usado com
pacotes debian .deb) e o emerge (usado pelo Portage – sistema gerencidor de software da distribuição
Linux Gentoo8). Outros já são aplicações em ambiente gráfico como o synaptic9 (que trata pacotes do tipo
RPM ou Debian), o up2date (usado pela distribuição RedHat) e o Yast (usado pela distribuição SUSE10 para
pacotes RPM).
         Um detalhe importante a ressaltar é que em plataforma livre as aplicações estão em processo de
desenvolvimento e evolução contínua. Isto resulta numa necessidade constante de atualizações dos
pacotes de software instalados. Qualquer arquitetura que se proponha para este fim deverá permitir este
tipo de mecanismo de modo eficiente e flexível. Em outras palavras, a arquitetura deverá tratar
adequadamente as atualizações através e controle de versões de pacotes de software.
         Para tratamento correto dos aspectos acima é necessário um serviço de distribuição de software via
rede.
         O serviço de distribuição de software é responsável em garantir nas estações de usuários (e até em
servidores) a correta descarga, instalação e configuração de aplicações através de seus pacotes de
softwares, mantendo contínua observância dos mesmos com o objetivo de garantir as devidas atualizações
via rede.
         Para distribuir software, é necessário implementar um reservatório para os pacotes de software.
Este deve ser alcançado via rede, onde clientes do sistema de distribuição possam receber os pacotes e
instalá-los. Não é interessante que se tenham cópias diversas dos pacotes em cada estação ou servidor de
forma descoordenada. A abordagem com um repositório master garante que haja somente um ponto de
distribuição básico evitando problemas de incoerência nos pacotes, mas coloca toda a responsabilidade do
processo de distribuição num único servidor de arquivos.
         Para evitar isso, mais repositórios podem ser agregados ao processo, dividindo a carga de
consultas e downloads no repositório master . Estes repositórios secundários seriam então um espelho do
que existe no repositório master onde as cópias inicialmente são colocadas. Periodicamente seriam feitas
sincronizações dos vários pacotes de software a partir do servidor master para manter a atualidade dos
pacotes nos repositórios secundários. Com isso, descaracteriza-se o único ponto de falha do repositório

6
      http://linux.duke.edu/projects/yum/
7
      O utilitário apt-get também foi portado para ambientes RPM pela Conectiva com o nome AptRpm
     (https://moin.conectiva.com.br/AptRpm)
8
      http://www.gentoo.org
9
      http://www.nongnu.org/synaptic/
10
      http://www.novell.com/linux/suse/index.html
master e pode-se realizar uma distribuição escalável através de uma rede de distribuição de pacotes de
software que cresça com o ambiente de TI corporativo.
        Dentre os itens notáveis em tal arquitetura de distribuição estão:

Instalação transparente e automática para o usuário – o sistema distribuidor deve contar com uma porção
cliente nas estações ou servidores e que analisará cada aplicação sendo instalada e buscará todas as suas
dependências automaticamente via rede poupando o usuário leigo de intervenções neste sentido. Assim,
dependências entre pacotes e versões corretas serão automaticamente tratadas pelo cliente para os
formatos de pacotes de software suportados.

Adequação às limitações de rede – o sistema pode otimizar a transferência dos pacotes. Podem-se utilizar
mecanismos de compressão ou mesmo comprimi-los. O uso de recursos de rede que otimizem o uso de
banda também é desejável, como o rsync11 para transferência de arquivos. É também importante verificar a
operação do sistema atrás de configurações seguras com firewalls.

Categorização de software – é interessante que se possa criar grupos de softwares em categorias como
atualizações de segurança, aplicações gráficas, utilitários de sistema, programas desenvolvidos
internamente ou até mesmo dividindo os pacotes por distribuição Linux.

Uso com diferentes plataformas – o sistema pode suportar diferentes arquiteturas e distribuições do sistema
operacional. Isto significa manipular diferentes conjuntos de aplicações para cada uma das plataformas,
tratando corretamente suas diferentes versões e particularidades.

Administração do serviço de distribuição de pacotes de software – observar se é possível ter a
administração via WEB ou através de ferramenta própria com controle de usuário e senha para o
administrador de pacotes de software. Este processo deve ser seguro pois falhas podem permitir a entrada
de softwares maliciosos como “cavalos de tróia” ou impedir atualizações de segurança. É importante
também que exista a facilidade de anúncio de novos softwares para os usuários, já que normalmente não
haverá limitações de licenciamento (principalmente softwares livres).

Distribuição agendada – esta facilidade permite ao administrador definir pacotes a serem imediatamente
instalados (“push”), ou instalados até determinada data. Isto garante a contínua atualização do parque de
computadores, evitando que aplicações nas mesmas fiquem antigas demais (por exemplo: atualizações de
segurança). Uma vantagem importante deste item é a flexibilidade de se executar distribuições de pacotes
em larga escala ao mesmo tempo na mesma rede.

Tolerância a falhas e segurança – a arquitetura deve prever o funcionamento na ocorrência de queda de
repositórios, mesmo sendo o master, mantendo ainda assim o serviço ativo. Redundância de rede pode ser
obtida com análise específica e uso de recursos conhecidos como DNS para encontrar servidores, uso de
IP's virtuais, etc. Aspectos de segurança ainda podem ser avaliados no que diz respeito à integridade dos
pacotes (como o uso de mecanismos de checagem com MD5) e o transporte dos pacotes entre repositórios
e entre repositório e estação (como o uso de opções de transferências de arquivos seguras como scp12 ou
sftp13 e usando procedimento de autenticação com chaves criptográficas).

7 – O Serviço de Distribuição Automatizada de Pacotes de Software dentro de uma Arquitetura de
Gerenciamento Integrada

No ambiente corporativo, o serviço de distribuição de software figura como um dos mais importantes no
gerenciamento de complexidade do ambiente. Porém, em plataforma livre, ele ainda não possui a
integração adequada com toda uma infra-estrutura de gerenciamento do ambiente de TI. Esta arquitetura
integrada parte de um serviço de diretório preenchido com as informações necessárias para os serviços de
rede operarem (como o próprio serviço de distribuição de software).
         Para a correta integração com o serviço de diretórios, deverão existir objetos que contenham as
informações necessárias para que clientes e a administração de distribuição de software possam consultar
e alterar. Realizando assim o controle adequado do processo de distribuição.
         As regras para administração integradas estarão em objetos que devem descrever itens básicos
como:

1.Usuários e grupos de usuários cadastrados e ativos no ambiente
2.Aplicações disponibilizadas pelo serviço de distribuição de pacotes de software
3.Privilégios de instalação, uso e atualização de aplicações para grupos de usuários e estações de trabalho
11
     http://samba.anu.edu.au/rsync/
12
     Secure copy – parte do pacote de software ssh
13
     Secure FTP – parte do pacote de software ssh
4.Inventário atualizado de TI do ambiente – configurações de hardware e software instalados em cada uma
das máquinas e servidores

         Estas regras devem descrever os processos internos de cada corporação. Usuários e grupos serão
definidos unicamente para toda a arquitetura. Permissões de instalação e execução de aplicações são
dadas com base nas regras em vigor nos processos internos de TI. As mesmas informações de usuários e
grupos se aplicarão para os demais serviços integrados da arquitetura de gerenciamento, como
autenticação e impressão em rede.
         O processo de administração do serviço de distribuição de software por sua vez será responsável
em inserir e retirar os pacotes de softwares a serem disponibilizados no repositório master, atualizando em
paralelo o serviço de diretórios com estas informações através do protocolo LDAP.
         O cliente nas estações e servidores deve, no processo de inicialização do sistema ou mesmo no
login de usuários, checar as aplicações e atualizações disponíveis segundo os privilégios aplicados no
serviço de diretórios. Após este passo, as aplicações e atualizações podem então ser instaladas ou
executadas. Os privilégios podem se ater a usuários e grupos de usuários, ou serem aplicados também
sobre conjuntos de computadores. Assim, para ser possível uma instalação ou execução, deve haver o
cruzamento de dados de usuários e grupos com os dados de estações.
         Neste sentido, um passo intermediário mas necessário na aceitação da instalação de uma
aplicação, é a prévia checagem de requisitos de plataforma para a instalação de pacotes de software. Isto é
possível através de análise das informações de inventário contidas no serviço de diretórios. Por exemplo: se
um pacote de software que contém um aplicativo de escritório deve ser instalado numa estação, então é
feita uma checagem se existe espaço em disco ou quantidade de memória suficiente na mesma analisando
o inventário da estação nas informações do serviço de diretórios. Sendo os requisitos de plataforma
satisfeitos, a instalação prossegue checando os privilégios necessários. A figura 2 ilustra a arquitetura de
distribuição de software integrada.




           Figura 2 – Serviço de Distribuição de Software Integrado com o Serviço de Diretórios

         Dentro da solução com protocolo LDAP é possível se encontrar objetos nos schemas de objetos
padrões para atender somente ao item 1. Os demais itens devem ser modelados e descritos como objetos
em novos schemas que estenderiam o conjunto de objetos num servidor LDAP em plataforma livre,
preferencialmente o OpenLDAP.
         Até o momento atual, nenhuma das alternativas em software citadas neste trabalho possui as
características completas para uso na solução integrada sendo proposta. A solução será a montagem do
sistema partindo dos componentes existentes e desenvolvendo as partes inexistentes como a consulta via
LDAP ao serviço de diretórios.
         O sistema de gerenciamento de ambientes de TI (GATI) , possui um módulo integrado de
distribuição de software que segue as linhas aqui descritas e está em desenvolvimento da sua versão 2.
8. Conclusão

Um ambiente de TI saudável e escalável exige a integração dos seus serviços básicos de forma a permitir
sua operação devidamente controlada, otimizando recursos e atendendo melhor às demandas de usuários.
Foi visto que esta solução deve conter um serviço de diretórios cujo objetivo é manter as informações
operacionais de uso dos diversos serviços de rede. A opção mais indicada em plataforma livre é o uso do
padrão LDAP, cuja implementação mais popular é o OpenLDAP.
        Diante da diversidade de aplicativos disponíveis, é necessário o trabalho de desenvolvimento e
integração da arquitetura de serviços de rede básicos para plataformas baseadas em ambiente livre. Este
trabalho parte do que já existe em termos de funcionalidades e deve complementar o sistema com as
funções de integração com o serviço de diretórios, principalmente o uso do protocolo LDAP e a modelagem
de novos objetos no serviço de diretórios para o trato das informações operacionais.


Bibliografia


[1] WAHL, M; HOWES, T. RFC 2251: Lightweight Directory Access Protocol v3. IETF, 1997.
[2] VOLKERDING, Patrick; FOSTER-JOHNSON, Eric; REICHARD, Kevin. Linux Programming. 1 Ed. Mis
Press, 1997.
[3] BOVET, Daniel; CESATI, Marco. Understanding the Linux Kernel. 2 Ed. O´Reilly, 2003.
[4] FOSTER-JOHNSON, Eric. Red Hat RPM Guide. 1 Ed. Wiley Publishing Inc., 2003.
[5] Slackware Packaging System. Disponível em: <http://www.slackware.org/config/packages.php>.
Acessado em: 11 dez. 2004.
[6] BAILEY, Edward. , Maximum RPM. 1 Ed. Sams, 1997.
[7] Create Debian Linux Packages: Learn how to build easy-to-distribute packages for Debian users.
2003. Disponível em: < http://www-106.ibm.com/developerworks/linux/library/l-debpkg.html>. Acessado em:
15 dez. 2004.
[8] KIRZNER, Rikki. Electronic Software Distribution: A Long Shot. 2003. Disponível em:
<http://www.uniforum.org/news/html/publications/ufm/mar96/swdist.html>. Acessado em: 13 dez. 2004.
[9] BLY, Martin; ALLAN, Alasdair; JENESS, Tim. Source Code Management and Software Distribution
using Open Source Technologies. 2003. Disponível em:
<http://www.adass.org/adass/proceedings/adass02/reprints/P8-2.pdf>. Acessado em: 1 dez. 2004.
[10] LUERKENS, Cameron; COLE, John; LEGG, Danielle. Software Distribution to PC Clients in a
Enterprise Network. 1998. Disponível em: <http://www.usenix.org/publications/library/proceedings/lisa-nt98/
full_papers/luerkens/luerkens.pdf>. Acesso em: 1 dez. 2004.
[11] ANDERSON, Paul. Software Distribution and Repositories. 1997. Disponível em:
<http://homepages.inf.ed.ac.uk/dcspaul/publications/SoftDist.pdf>. Acessado em: 13 dez. 2004.
[12] CRUZ, Fernando; SANTOS, Giovanni; MEDEIROS, Raissa; et al. Uma Ferramenta para a
Administração de Serviços de Diretórios Basedo no OpenLDAP. Anais do 5 Fórum Internacional de
Software Livre, pg 91, Porto Alegre, 2004. Anais.

Mais conteúdo relacionado

Mais procurados (7)

Rede Definida Por Software - SDN
Rede Definida Por Software - SDNRede Definida Por Software - SDN
Rede Definida Por Software - SDN
 
Apostila de sql basico
Apostila de sql basicoApostila de sql basico
Apostila de sql basico
 
Atualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livreAtualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livre
 
Tutorial struts
Tutorial strutsTutorial struts
Tutorial struts
 
Sistemas Operacionais para Servidores
Sistemas Operacionais para ServidoresSistemas Operacionais para Servidores
Sistemas Operacionais para Servidores
 
1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
201406Carvalho
201406Carvalho201406Carvalho
201406Carvalho
 

Destaque

Propostas de Autenticação para SNMP
Propostas de Autenticação para SNMPPropostas de Autenticação para SNMP
Propostas de Autenticação para SNMPMauro Tapajós
 
Proyecto liberació SIGATI
Proyecto liberació SIGATIProyecto liberació SIGATI
Proyecto liberació SIGATIMauro Tapajós
 
Gerência de Redes - 5.SNMPv3
Gerência de Redes - 5.SNMPv3Gerência de Redes - 5.SNMPv3
Gerência de Redes - 5.SNMPv3Mauro Tapajós
 
Pesquisa da Acib para melhoria de redes de telecomunicação em Blumenau
Pesquisa da Acib para melhoria de redes de telecomunicação em BlumenauPesquisa da Acib para melhoria de redes de telecomunicação em Blumenau
Pesquisa da Acib para melhoria de redes de telecomunicação em BlumenauLuis Antonio Hangai
 
TraffManager - Solução de otimização de tráfego de rede WAN
TraffManager  - Solução de otimização de tráfego de rede WANTraffManager  - Solução de otimização de tráfego de rede WAN
TraffManager - Solução de otimização de tráfego de rede WANEdson Marinho
 
Análise de Tráfego da Rede Utilizando o Wireshark
Análise de Tráfego da Rede Utilizando o WiresharkAnálise de Tráfego da Rede Utilizando o Wireshark
Análise de Tráfego da Rede Utilizando o WiresharkIgor Bruno
 
Gerência de Redes - 1.Introdução e Conceitos de Gerência de Redes
Gerência de Redes - 1.Introdução e Conceitos de Gerência de RedesGerência de Redes - 1.Introdução e Conceitos de Gerência de Redes
Gerência de Redes - 1.Introdução e Conceitos de Gerência de RedesMauro Tapajós
 
Wireshark felipe soares_3_c_redes
Wireshark felipe soares_3_c_redesWireshark felipe soares_3_c_redes
Wireshark felipe soares_3_c_redesFelipe Soares
 
Redes - Camada de Inter-Redes
Redes - Camada de Inter-RedesRedes - Camada de Inter-Redes
Redes - Camada de Inter-RedesLuiz Arthur
 
Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Mauro Tapajós
 
Redes I - 2.2 - Camada Física e Tecnologias de Transmissão
Redes I - 2.2 - Camada Física e Tecnologias de TransmissãoRedes I - 2.2 - Camada Física e Tecnologias de Transmissão
Redes I - 2.2 - Camada Física e Tecnologias de TransmissãoMauro Tapajós
 
Apresentação Final - Redes e Telecomunicações
Apresentação Final - Redes e TelecomunicaçõesApresentação Final - Redes e Telecomunicações
Apresentação Final - Redes e TelecomunicaçõesBruno Lins Alves
 
Sistemas de Telecomunicações - Aula 07 - Sistema Telefônico Fixo e Sistema Te...
Sistemas de Telecomunicações - Aula 07 - Sistema Telefônico Fixo e Sistema Te...Sistemas de Telecomunicações - Aula 07 - Sistema Telefônico Fixo e Sistema Te...
Sistemas de Telecomunicações - Aula 07 - Sistema Telefônico Fixo e Sistema Te...Leinylson Fontinele
 
Gerência de Redes - 10.TMN e GIRS
Gerência de Redes - 10.TMN e GIRSGerência de Redes - 10.TMN e GIRS
Gerência de Redes - 10.TMN e GIRSMauro Tapajós
 
Aula cabeamento estruturado Eia/Tia
Aula cabeamento  estruturado Eia/TiaAula cabeamento  estruturado Eia/Tia
Aula cabeamento estruturado Eia/TiaOsimar Almeida
 
Mini curso redes_computadores
Mini curso redes_computadoresMini curso redes_computadores
Mini curso redes_computadoreselgi.elgi
 
Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...
Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...
Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...Leinylson Fontinele
 

Destaque (20)

Propostas de Autenticação para SNMP
Propostas de Autenticação para SNMPPropostas de Autenticação para SNMP
Propostas de Autenticação para SNMP
 
Proyecto liberació SIGATI
Proyecto liberació SIGATIProyecto liberació SIGATI
Proyecto liberació SIGATI
 
Asterisk
AsteriskAsterisk
Asterisk
 
Gerência de Redes - 5.SNMPv3
Gerência de Redes - 5.SNMPv3Gerência de Redes - 5.SNMPv3
Gerência de Redes - 5.SNMPv3
 
Pesquisa da Acib para melhoria de redes de telecomunicação em Blumenau
Pesquisa da Acib para melhoria de redes de telecomunicação em BlumenauPesquisa da Acib para melhoria de redes de telecomunicação em Blumenau
Pesquisa da Acib para melhoria de redes de telecomunicação em Blumenau
 
TraffManager - Solução de otimização de tráfego de rede WAN
TraffManager  - Solução de otimização de tráfego de rede WANTraffManager  - Solução de otimização de tráfego de rede WAN
TraffManager - Solução de otimização de tráfego de rede WAN
 
13 ligações inter-redes
13   ligações inter-redes13   ligações inter-redes
13 ligações inter-redes
 
Análise de Tráfego da Rede Utilizando o Wireshark
Análise de Tráfego da Rede Utilizando o WiresharkAnálise de Tráfego da Rede Utilizando o Wireshark
Análise de Tráfego da Rede Utilizando o Wireshark
 
Gerência de Redes - 1.Introdução e Conceitos de Gerência de Redes
Gerência de Redes - 1.Introdução e Conceitos de Gerência de RedesGerência de Redes - 1.Introdução e Conceitos de Gerência de Redes
Gerência de Redes - 1.Introdução e Conceitos de Gerência de Redes
 
Wireshark felipe soares_3_c_redes
Wireshark felipe soares_3_c_redesWireshark felipe soares_3_c_redes
Wireshark felipe soares_3_c_redes
 
Redes - Camada de Inter-Redes
Redes - Camada de Inter-RedesRedes - Camada de Inter-Redes
Redes - Camada de Inter-Redes
 
Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)
 
Redes I - 2.2 - Camada Física e Tecnologias de Transmissão
Redes I - 2.2 - Camada Física e Tecnologias de TransmissãoRedes I - 2.2 - Camada Física e Tecnologias de Transmissão
Redes I - 2.2 - Camada Física e Tecnologias de Transmissão
 
Redes - ISO/OSI
Redes - ISO/OSIRedes - ISO/OSI
Redes - ISO/OSI
 
Apresentação Final - Redes e Telecomunicações
Apresentação Final - Redes e TelecomunicaçõesApresentação Final - Redes e Telecomunicações
Apresentação Final - Redes e Telecomunicações
 
Sistemas de Telecomunicações - Aula 07 - Sistema Telefônico Fixo e Sistema Te...
Sistemas de Telecomunicações - Aula 07 - Sistema Telefônico Fixo e Sistema Te...Sistemas de Telecomunicações - Aula 07 - Sistema Telefônico Fixo e Sistema Te...
Sistemas de Telecomunicações - Aula 07 - Sistema Telefônico Fixo e Sistema Te...
 
Gerência de Redes - 10.TMN e GIRS
Gerência de Redes - 10.TMN e GIRSGerência de Redes - 10.TMN e GIRS
Gerência de Redes - 10.TMN e GIRS
 
Aula cabeamento estruturado Eia/Tia
Aula cabeamento  estruturado Eia/TiaAula cabeamento  estruturado Eia/Tia
Aula cabeamento estruturado Eia/Tia
 
Mini curso redes_computadores
Mini curso redes_computadoresMini curso redes_computadores
Mini curso redes_computadores
 
Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...
Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...
Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...
 

Semelhante a Integração de Serviços em Plataforma Livre

integração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livreintegração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma LivreMauro Tapajós
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxChadidoDiogo1
 
Integração de software solucao e estilo
Integração de software   solucao e estiloIntegração de software   solucao e estilo
Integração de software solucao e estiloGrupoAlves - professor
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de redeMarcos Monteiro
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de redeMarcos Monteiro
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de redeMarcos Monteiro
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...tdc-globalcode
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018Graziella Bonizi
 
3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdfDimas Francisco
 
TOP Middleware-Basico-20181023.pdf
TOP Middleware-Basico-20181023.pdfTOP Middleware-Basico-20181023.pdf
TOP Middleware-Basico-20181023.pdfFabio Apolinario
 
ConheçA O Apache 2.0 Parte 2
ConheçA O Apache 2.0   Parte 2ConheçA O Apache 2.0   Parte 2
ConheçA O Apache 2.0 Parte 2Felipe Santos
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em NuvemVitor Savicki
 
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]Ministério Público da Paraíba
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Lenin Abadie
 

Semelhante a Integração de Serviços em Plataforma Livre (20)

integração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livreintegração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livre
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
 
Integração de software solucao e estilo
Integração de software   solucao e estiloIntegração de software   solucao e estilo
Integração de software solucao e estilo
 
Integração de software 2
Integração de software 2Integração de software 2
Integração de software 2
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de rede
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de rede
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de rede
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018
 
3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf
 
Gr spice wrks
Gr spice wrksGr spice wrks
Gr spice wrks
 
Cursos
CursosCursos
Cursos
 
TOP Middleware-Basico-20181023.pdf
TOP Middleware-Basico-20181023.pdfTOP Middleware-Basico-20181023.pdf
TOP Middleware-Basico-20181023.pdf
 
ConheçA O Apache 2.0 Parte 2
ConheçA O Apache 2.0   Parte 2ConheçA O Apache 2.0   Parte 2
ConheçA O Apache 2.0 Parte 2
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
 
Servico ad
Servico adServico ad
Servico ad
 
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
 

Mais de Mauro Tapajós

Migração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMigração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMauro Tapajós
 
Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Mauro Tapajós
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do LinuxMauro Tapajós
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoMauro Tapajós
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições LinuxMauro Tapajós
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosMauro Tapajós
 
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaMauro Tapajós
 
Suporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxSuporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxMauro Tapajós
 
Pequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivrePequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivreMauro Tapajós
 
Apresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPApresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPMauro Tapajós
 
Gerência de Redes - 8.Tópicos Avançados
Gerência de Redes - 8.Tópicos AvançadosGerência de Redes - 8.Tópicos Avançados
Gerência de Redes - 8.Tópicos AvançadosMauro Tapajós
 
Gerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
Gerência de Redes - 7.Ferramentas e Sitemas de GerenciamentoGerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
Gerência de Redes - 7.Ferramentas e Sitemas de GerenciamentoMauro Tapajós
 
Gerência de Redes - 6.Arquitetura de Gerenciamento OSI
Gerência de Redes - 6.Arquitetura de Gerenciamento OSIGerência de Redes - 6.Arquitetura de Gerenciamento OSI
Gerência de Redes - 6.Arquitetura de Gerenciamento OSIMauro Tapajós
 
Gerência de Redes - 4.RMON
Gerência de Redes - 4.RMONGerência de Redes - 4.RMON
Gerência de Redes - 4.RMONMauro Tapajós
 
Gerência de Redes - 3.MIBs
Gerência de Redes - 3.MIBsGerência de Redes - 3.MIBs
Gerência de Redes - 3.MIBsMauro Tapajós
 
Gerência de Redes - 2.Modelo SNMP
Gerência de Redes - 2.Modelo SNMPGerência de Redes - 2.Modelo SNMP
Gerência de Redes - 2.Modelo SNMPMauro Tapajós
 

Mais de Mauro Tapajós (18)

Migração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMigração para Software Livre nas Universidades
Migração para Software Livre nas Universidades
 
Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?
 
Software Winrad
Software WinradSoftware Winrad
Software Winrad
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do Linux
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e Instalação
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições Linux
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
 
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
 
Suporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxSuporte e Disponibilidade no Linux
Suporte e Disponibilidade no Linux
 
Pequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivrePequena Apostila sobre Software Livre
Pequena Apostila sobre Software Livre
 
Apresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPApresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMP
 
Projeto CESMIC
Projeto CESMICProjeto CESMIC
Projeto CESMIC
 
Gerência de Redes - 8.Tópicos Avançados
Gerência de Redes - 8.Tópicos AvançadosGerência de Redes - 8.Tópicos Avançados
Gerência de Redes - 8.Tópicos Avançados
 
Gerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
Gerência de Redes - 7.Ferramentas e Sitemas de GerenciamentoGerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
Gerência de Redes - 7.Ferramentas e Sitemas de Gerenciamento
 
Gerência de Redes - 6.Arquitetura de Gerenciamento OSI
Gerência de Redes - 6.Arquitetura de Gerenciamento OSIGerência de Redes - 6.Arquitetura de Gerenciamento OSI
Gerência de Redes - 6.Arquitetura de Gerenciamento OSI
 
Gerência de Redes - 4.RMON
Gerência de Redes - 4.RMONGerência de Redes - 4.RMON
Gerência de Redes - 4.RMON
 
Gerência de Redes - 3.MIBs
Gerência de Redes - 3.MIBsGerência de Redes - 3.MIBs
Gerência de Redes - 3.MIBs
 
Gerência de Redes - 2.Modelo SNMP
Gerência de Redes - 2.Modelo SNMPGerência de Redes - 2.Modelo SNMP
Gerência de Redes - 2.Modelo SNMP
 

Integração de Serviços em Plataforma Livre

  • 1. A integração de serviços como requisito fundamental no processo de migração para uma plataforma livre Mauro Tapajós Santos Renata Abadia Rodrigues de Oliveira Universidade Católica de Brasília tapajós@abordo.com.br, renatarodrigues@ucb.br Resumo Dentro de uma organização, a primeira questão a ser levantada num processo de migração para plataforma livre é a manutenção de serviços essenciais para o seu funcionamento. Exemplo disto é gestão de um Serviço de Diretórios, solução que permite gerenciar de forma centralizada as informações associadas à infra-estrutura de recursos numa rede como usuários, impressoras, servidores, aplicações, etc. Entretanto, faltam ferramentas de administração de ambientes de TI que propiciem uma gerência não só eficiente, mas também integrada desses serviços básicos, permitindo não só administrá-los isoladamente, mas também integrá-los de forma facilitada para prover, por exemplo, autenticação única de usuários para todos os serviços de rede, gerenciamento do serviço de impressão, mapeamento automático de drivers em servidores, distribuição automática de pacotes de software para estações de trabalho, backup automático, etc. Dentro deste contexto, propõe-se um serviço de distribuição automática de pacotes de software como o primeiro de uma série de serviços que irão compor uma arquitetura centralizada de gerência de TI, baseada em software livre e capaz de atender a ambientes corporativos de maior porte. 1. Introdução O ambiente de TI atual exige determinados serviços de rede que garantem a operação normal de redes corporativas. No mundo das plataformas livres estes serviços estão disponíveis porém de forma desagregada. A integração destes serviços é fundamental para a adoção da plataforma livre em redes corporativas. Apresenta-se então o mecanismo de distribuição de software como serviço básico de rede. Este serviço é extremamente importante para o correto funcionamento da arquitetura e serve de base para muitos dos demais serviços. 2. O Ambiente de TI Atual Um ambiente de TI operacional exige atualmente serviços básicos como: •Autenticação de usuários na rede (através dos processos de login) para que estes possam utilizar os recursos de rede disponíveis •Personalizações no processo de login do usuário (uso de scripts de inicialização, avisos e alertas) para automatizar processos internos •Impressão via rede de acordo com regras e quotas pré-definidas •Acesso a arquivos em servidores em rede com controle de acesso adequado •Execução controlada e agendada de cópias de redundância de arquivos – backup •Disponibilização de softwares anti-vírus e suas atualizações •Instalações e atualizações automáticas de aplicações nas estações de trabalho •Geração automática de inventário do parque de TI para gerenciamento de configuração •Geração e tratamento de arquivos de logs dos sistemas Com isso se verifica que para garantir o correto funcionamento destes serviços é necessário uma integração de todos. Com esse objetivo se costuma inserir neste contexto um servidor de diretórios cuja função é centralizar as informações necessárias à utilização dos serviços citados. O servidor de diretórios armazena dados como senhas de usuários, privilégios de impressão, sistemas de arquivos disponíveis em rede, servidores em operação, controle de acesso aos recursos de rede e permissões de execução de softwares. O servidor de diretórios é um banco de dados cujo objetivo é atender da forma mais eficaz e rápida a questionamentos de aplicações externas, ou seja, é um banco de
  • 2. dados otimizado para operações de leitura. O serviço de diretórios aparece então como componente essencial dentro de uma arquitetura integrada de TI. Em vista de sua importância, o serviço de diretórios normalmente é implementado em soluções redundantes e, em alguns casos, distribuídas de forma a atender melhor às requisições de clientes em rede. O acesso á um servidor de diretórios também é um elemento importante que pode influir diretamente no tempo de resposta que aplicações terão ao questionar o diretório. O protocolo mais usado para acesso a servidores de diretórios em ambiente livre é o LDAP . É um protocolo leve e muito popular com bom número de implementações, inclusive no mundo de plataformas livres como o software livre OpenLDAP1. 3. Operação Integrada de Serviços de TI Em ambiente proprietário, existem algumas alternativas para um ambiente totalmente integrado como as soluções de fabricantes como Novell e Microsoft. Em todas estas estão presentes as características do mundo proprietário: dependência de um único fabricante, opções de suporte restritas e caras, polarização para um conjunto limitados de plataformas ou tecnologias, custos de licenciamento altos, nenhuma liberdade de atuação no código fonte e uma evolução ditada apenas por diretrizes de negócio dos fabricantes. Em ambientes livres, muitas das características de desenvolvimento dos sistemas UNIX são herdadas, sendo considerada aqui, principalmente, a estratégia de se desenvolver funcionalidades em modo atômico para depois integrá-las. Esta abordagem é válida também para os serviços de rede em discussão. Desta forma, não existe atualmente em plataforma livre uma solução completa e integrada de serviços de rede para um ambiente de TI livre e de porte corporativo. Dentro da proposta de um sistema livre integrado, haverá de existir no seu núcleo um serviço de diretórios único e saudável acessado por serviços e aplicações externas via protocolo LDAP. Estas aplicações obtem, assim, as informações necessárias para realizar as tarefas normais de um ambiente de TI. A figura 1 ilustra esta abordagem. Este é o primeiro passo rumo à integração dos diversos serviços. Figura 1 – Serviços de Rede numa Arquitetura Integrada 4. Aplicações em Plataforma Livre Usuários em workstations necessitam de aplicações para realizar seus trabalhos. Um dos serviços de rede primordiais num ambiente de TI é a distribuição de aplicações para usuários em workstations. Esta tarefa não é simples por que atua no âmago do sistema computacional: seus programas e os arquivos que o implementam. Nos ambientes mais simples a estratégia é manter uma equipe que vá fisicamente em cada estação e realize o trabalho de instalação, atualização e desinstalação de componentes e aplicações de software. Obviamente não é a solução desejada diante do custo e das dificuldades de gerenciamento. Numa arquitetura de administração integrada para plataforma livre, este processo deve ser automatizado para permitir um controle total de que aplicações estão sendo instaladas e atualizadas, 1 OpenLDAP – www.openldap.org
  • 3. mantendo as informações relacionadas no serviço de diretórios. Uma aplicação é constituída por alguns ou todos os seguintes elementos: •Arquivos executáveis binários para uma determinada plataforma computacional (i386, AMD, Palmtops, Mainframe, etc) •Arquivos de instrução em linguagens compiladas (código fonte a ser compilado previamente para execução) •Arquivos de instrução em linguagens interpretadas (como por exemplo scripts) •Ambiente de interpretação (como uma máquina virtual JAVA ou interpretador PERL) •Bibliotecas de rotinas compiladas ou não •Arquivos de configuração diversos •Arquivos adjuntos necessários para a aplicação: imagens, documentação, animações, palhetas de cores, drivers, ou qualquer outro Em plataforma livre é comum a disponibilização de software em formato aberto. Com isso é possível a visualização de seu código fonte, mas é exigido o passo de compilação do mesmo, de forma a criar arquivos executáveis binários específicos para a plataforma em questão . Entre as vantagens desta alternativa está o fato do código poder ser auditado (verificado) e alterado, de acordo com possíveis demandas de personalização e geração de binários otimizados para a plataforma. Na montagem da árvore de arquivos de código fonte é necessário que se tenha a informação de que arquivos de código compõem o binário sendo criado. Mais além, um mesmo binário pode ser criado a partir de vários binários intermediários chamados de arquivos objetos. Assim, os arquivos objetos podem compor um arquivo executável ou até mesmo uma biblioteca. Para descrever estes relacionamentos, é comum o uso de ferramentas de automatização do processo de montagem dos binários necessário para a aplicação. O utilitário make2 pode manter as informações de criação dos binários em arquivos de configuração chamados de makefiles. Nestes, estão descritos todos os arquivos de código e as instruções para a compilação e montagem dos binários (alvos). Uma vez pronta, a aplicação é disparada no sistema por um arquivo executável que se encarrega de realizar as devidas chamadas para os demais componentes. 5. Pacotes de software Cada aplicação é composta de um ou mais pacotes de software que podem conter os tipos de arquivos listados anteriormente. Os pacotes são criados e mantidos de forma individual e são tratados pelas operações de distribuição de software desta mesma forma. Um pacote de software é um conjunto organizado e completo de arquivos e instruções para sua instalação num sistema computacional. Este conjunto compõe principalmente aplicações mas pode conter bibliotecas, documentação ou dados quaisquer . Configurações como o acerto de caminhos padrões e ajuste de variáveis de ambiente podem ser necessárias e estarão descritas no próprio pacote. Cada pacote possui uma numeração de versão que o identifica diante das demais versões do mesmo pacote e serve de referência para as informações de dependências. Apesar de individualizados, os pacotes de software podem ter dependências uns dos outros. Por exemplo: se for necessária a instalação de uma aplicação de criptografia, ela pode requerer a prévia instalação no sistema de uma biblioteca de rotinas criptográficas de que faz uso. Diante deste fato, os mecanismos de gerenciamento de pacotes a serem adotados deverão compreender corretamente a cadeia de dependências que existe entre pacotes de software. Para realizar as funções de instalação e manutenção de aplicações em estações ou até mesmo servidores, é necessária a definição de formatos padrões para transporte dos arquivos e suporte de instalação das aplicações. Dentre as alternativas de formatos de pacotes em software livre, as mais usadas são: o formato RPM (RedHat Package Manager)3, o dpkg (arquivos .deb - usado pelo gerenciador de pacotes da distribuição Linux Debian4) e o formato usado pela distribuição Slackware5 (arquivos .tgz). Todas têm em comum o objetivo de permitir a instalação fácil via rede ou outras mídias como CD's e DVD's. Cada uma porém organiza os arquivos e configurações de formas diferentes e podem ou não exigir no sistema ferramentas de manipulação destes pacotes como o RPM (utilitário rpm) e o Debian (utilitário dpkg). O formato Slackware oferece utilitários mas permite que se trabalhe diretamente com os pacotes realizando as operações manualmente. Um item importante a considerar nos formatos de pacotes é a facilidade de se ter scripts de pré e pós-instalação que rodariam, respectivamente, antes e depois da instalação do pacote. Este recurso dá 2 http://www.gnu.org/software/make/make.html 3 http://www.rpm.org 4 http://www.debian.org 5 http://www.slackware
  • 4. grande flexibilidade para personalizar o sistema para o pacote em questão. Todos os formatos citados possuem esta característica. Os pacotes também podem conter código fonte. O suporte ao uso de makefiles é outro item de interesse. Ferramentas de geração de pacotes nos formatos citados existem e podem suportar a geração de pacotes binários a partir de código fonte através da análise de makefiles. 6. Serviço de Distribuição de Software O ciclo de vida de uma aplicação se inicia com a instalação da mesma na estação do cliente. O processo de instalação de aplicações, em maior ou menor grau, envolve as seguintes operações: 1.Cópia dos pacotes de software (normalmente em formato compactado) que compõem a aplicação, para a estação via rede. 2.Descompressão dos arquivos em local apropriado 3.Geração dos arquivos binários executáveis 4.Transferência dos arquivos gerados para locais apropriados dentro da estação 5.Configurações da aplicação na estação, onde pode ser necessária a interação com o usuário administrador da mesma (usuário root). 6.Configurações específicas para o usuário, onde pode ser necessária a interação com o mesmo. Estes passos nem sempre são fáceis e diretos em ambiente livre , principalmente para usuários leigos. A solução adotada automatizar ao máximo o processo com o uso de instaladores. O problema é que plataformas livres se diferem bastante em termos de configurações e componentes presentes no sistema. Além disso, é preciso que o sistema tenha o suporte devido ao processo de compilação e geração dos binários que rodarão a aplicação. Itens como compiladores e bibliotecas devem já estar disponíveis no sistema, caso contrário, os próprios devem ser instalados previamente. Com isso, surgiram várias ferramentas em plataforma livre que padronizam e automatizam o processo de instalação e manutenção de software nas estações de trabalho, realizando ou não (no caso do rpm) a instalação via rede. Algumas das opções são utilitários em linha de comando como o próprio rpm (usado com pacotes do formato RPM), o yum6 (também usado com pacotes RPM), o apt-get7 (usado com pacotes debian .deb) e o emerge (usado pelo Portage – sistema gerencidor de software da distribuição Linux Gentoo8). Outros já são aplicações em ambiente gráfico como o synaptic9 (que trata pacotes do tipo RPM ou Debian), o up2date (usado pela distribuição RedHat) e o Yast (usado pela distribuição SUSE10 para pacotes RPM). Um detalhe importante a ressaltar é que em plataforma livre as aplicações estão em processo de desenvolvimento e evolução contínua. Isto resulta numa necessidade constante de atualizações dos pacotes de software instalados. Qualquer arquitetura que se proponha para este fim deverá permitir este tipo de mecanismo de modo eficiente e flexível. Em outras palavras, a arquitetura deverá tratar adequadamente as atualizações através e controle de versões de pacotes de software. Para tratamento correto dos aspectos acima é necessário um serviço de distribuição de software via rede. O serviço de distribuição de software é responsável em garantir nas estações de usuários (e até em servidores) a correta descarga, instalação e configuração de aplicações através de seus pacotes de softwares, mantendo contínua observância dos mesmos com o objetivo de garantir as devidas atualizações via rede. Para distribuir software, é necessário implementar um reservatório para os pacotes de software. Este deve ser alcançado via rede, onde clientes do sistema de distribuição possam receber os pacotes e instalá-los. Não é interessante que se tenham cópias diversas dos pacotes em cada estação ou servidor de forma descoordenada. A abordagem com um repositório master garante que haja somente um ponto de distribuição básico evitando problemas de incoerência nos pacotes, mas coloca toda a responsabilidade do processo de distribuição num único servidor de arquivos. Para evitar isso, mais repositórios podem ser agregados ao processo, dividindo a carga de consultas e downloads no repositório master . Estes repositórios secundários seriam então um espelho do que existe no repositório master onde as cópias inicialmente são colocadas. Periodicamente seriam feitas sincronizações dos vários pacotes de software a partir do servidor master para manter a atualidade dos pacotes nos repositórios secundários. Com isso, descaracteriza-se o único ponto de falha do repositório 6 http://linux.duke.edu/projects/yum/ 7 O utilitário apt-get também foi portado para ambientes RPM pela Conectiva com o nome AptRpm (https://moin.conectiva.com.br/AptRpm) 8 http://www.gentoo.org 9 http://www.nongnu.org/synaptic/ 10 http://www.novell.com/linux/suse/index.html
  • 5. master e pode-se realizar uma distribuição escalável através de uma rede de distribuição de pacotes de software que cresça com o ambiente de TI corporativo. Dentre os itens notáveis em tal arquitetura de distribuição estão: Instalação transparente e automática para o usuário – o sistema distribuidor deve contar com uma porção cliente nas estações ou servidores e que analisará cada aplicação sendo instalada e buscará todas as suas dependências automaticamente via rede poupando o usuário leigo de intervenções neste sentido. Assim, dependências entre pacotes e versões corretas serão automaticamente tratadas pelo cliente para os formatos de pacotes de software suportados. Adequação às limitações de rede – o sistema pode otimizar a transferência dos pacotes. Podem-se utilizar mecanismos de compressão ou mesmo comprimi-los. O uso de recursos de rede que otimizem o uso de banda também é desejável, como o rsync11 para transferência de arquivos. É também importante verificar a operação do sistema atrás de configurações seguras com firewalls. Categorização de software – é interessante que se possa criar grupos de softwares em categorias como atualizações de segurança, aplicações gráficas, utilitários de sistema, programas desenvolvidos internamente ou até mesmo dividindo os pacotes por distribuição Linux. Uso com diferentes plataformas – o sistema pode suportar diferentes arquiteturas e distribuições do sistema operacional. Isto significa manipular diferentes conjuntos de aplicações para cada uma das plataformas, tratando corretamente suas diferentes versões e particularidades. Administração do serviço de distribuição de pacotes de software – observar se é possível ter a administração via WEB ou através de ferramenta própria com controle de usuário e senha para o administrador de pacotes de software. Este processo deve ser seguro pois falhas podem permitir a entrada de softwares maliciosos como “cavalos de tróia” ou impedir atualizações de segurança. É importante também que exista a facilidade de anúncio de novos softwares para os usuários, já que normalmente não haverá limitações de licenciamento (principalmente softwares livres). Distribuição agendada – esta facilidade permite ao administrador definir pacotes a serem imediatamente instalados (“push”), ou instalados até determinada data. Isto garante a contínua atualização do parque de computadores, evitando que aplicações nas mesmas fiquem antigas demais (por exemplo: atualizações de segurança). Uma vantagem importante deste item é a flexibilidade de se executar distribuições de pacotes em larga escala ao mesmo tempo na mesma rede. Tolerância a falhas e segurança – a arquitetura deve prever o funcionamento na ocorrência de queda de repositórios, mesmo sendo o master, mantendo ainda assim o serviço ativo. Redundância de rede pode ser obtida com análise específica e uso de recursos conhecidos como DNS para encontrar servidores, uso de IP's virtuais, etc. Aspectos de segurança ainda podem ser avaliados no que diz respeito à integridade dos pacotes (como o uso de mecanismos de checagem com MD5) e o transporte dos pacotes entre repositórios e entre repositório e estação (como o uso de opções de transferências de arquivos seguras como scp12 ou sftp13 e usando procedimento de autenticação com chaves criptográficas). 7 – O Serviço de Distribuição Automatizada de Pacotes de Software dentro de uma Arquitetura de Gerenciamento Integrada No ambiente corporativo, o serviço de distribuição de software figura como um dos mais importantes no gerenciamento de complexidade do ambiente. Porém, em plataforma livre, ele ainda não possui a integração adequada com toda uma infra-estrutura de gerenciamento do ambiente de TI. Esta arquitetura integrada parte de um serviço de diretório preenchido com as informações necessárias para os serviços de rede operarem (como o próprio serviço de distribuição de software). Para a correta integração com o serviço de diretórios, deverão existir objetos que contenham as informações necessárias para que clientes e a administração de distribuição de software possam consultar e alterar. Realizando assim o controle adequado do processo de distribuição. As regras para administração integradas estarão em objetos que devem descrever itens básicos como: 1.Usuários e grupos de usuários cadastrados e ativos no ambiente 2.Aplicações disponibilizadas pelo serviço de distribuição de pacotes de software 3.Privilégios de instalação, uso e atualização de aplicações para grupos de usuários e estações de trabalho 11 http://samba.anu.edu.au/rsync/ 12 Secure copy – parte do pacote de software ssh 13 Secure FTP – parte do pacote de software ssh
  • 6. 4.Inventário atualizado de TI do ambiente – configurações de hardware e software instalados em cada uma das máquinas e servidores Estas regras devem descrever os processos internos de cada corporação. Usuários e grupos serão definidos unicamente para toda a arquitetura. Permissões de instalação e execução de aplicações são dadas com base nas regras em vigor nos processos internos de TI. As mesmas informações de usuários e grupos se aplicarão para os demais serviços integrados da arquitetura de gerenciamento, como autenticação e impressão em rede. O processo de administração do serviço de distribuição de software por sua vez será responsável em inserir e retirar os pacotes de softwares a serem disponibilizados no repositório master, atualizando em paralelo o serviço de diretórios com estas informações através do protocolo LDAP. O cliente nas estações e servidores deve, no processo de inicialização do sistema ou mesmo no login de usuários, checar as aplicações e atualizações disponíveis segundo os privilégios aplicados no serviço de diretórios. Após este passo, as aplicações e atualizações podem então ser instaladas ou executadas. Os privilégios podem se ater a usuários e grupos de usuários, ou serem aplicados também sobre conjuntos de computadores. Assim, para ser possível uma instalação ou execução, deve haver o cruzamento de dados de usuários e grupos com os dados de estações. Neste sentido, um passo intermediário mas necessário na aceitação da instalação de uma aplicação, é a prévia checagem de requisitos de plataforma para a instalação de pacotes de software. Isto é possível através de análise das informações de inventário contidas no serviço de diretórios. Por exemplo: se um pacote de software que contém um aplicativo de escritório deve ser instalado numa estação, então é feita uma checagem se existe espaço em disco ou quantidade de memória suficiente na mesma analisando o inventário da estação nas informações do serviço de diretórios. Sendo os requisitos de plataforma satisfeitos, a instalação prossegue checando os privilégios necessários. A figura 2 ilustra a arquitetura de distribuição de software integrada. Figura 2 – Serviço de Distribuição de Software Integrado com o Serviço de Diretórios Dentro da solução com protocolo LDAP é possível se encontrar objetos nos schemas de objetos padrões para atender somente ao item 1. Os demais itens devem ser modelados e descritos como objetos em novos schemas que estenderiam o conjunto de objetos num servidor LDAP em plataforma livre, preferencialmente o OpenLDAP. Até o momento atual, nenhuma das alternativas em software citadas neste trabalho possui as características completas para uso na solução integrada sendo proposta. A solução será a montagem do sistema partindo dos componentes existentes e desenvolvendo as partes inexistentes como a consulta via LDAP ao serviço de diretórios. O sistema de gerenciamento de ambientes de TI (GATI) , possui um módulo integrado de distribuição de software que segue as linhas aqui descritas e está em desenvolvimento da sua versão 2.
  • 7. 8. Conclusão Um ambiente de TI saudável e escalável exige a integração dos seus serviços básicos de forma a permitir sua operação devidamente controlada, otimizando recursos e atendendo melhor às demandas de usuários. Foi visto que esta solução deve conter um serviço de diretórios cujo objetivo é manter as informações operacionais de uso dos diversos serviços de rede. A opção mais indicada em plataforma livre é o uso do padrão LDAP, cuja implementação mais popular é o OpenLDAP. Diante da diversidade de aplicativos disponíveis, é necessário o trabalho de desenvolvimento e integração da arquitetura de serviços de rede básicos para plataformas baseadas em ambiente livre. Este trabalho parte do que já existe em termos de funcionalidades e deve complementar o sistema com as funções de integração com o serviço de diretórios, principalmente o uso do protocolo LDAP e a modelagem de novos objetos no serviço de diretórios para o trato das informações operacionais. Bibliografia [1] WAHL, M; HOWES, T. RFC 2251: Lightweight Directory Access Protocol v3. IETF, 1997. [2] VOLKERDING, Patrick; FOSTER-JOHNSON, Eric; REICHARD, Kevin. Linux Programming. 1 Ed. Mis Press, 1997. [3] BOVET, Daniel; CESATI, Marco. Understanding the Linux Kernel. 2 Ed. O´Reilly, 2003. [4] FOSTER-JOHNSON, Eric. Red Hat RPM Guide. 1 Ed. Wiley Publishing Inc., 2003. [5] Slackware Packaging System. Disponível em: <http://www.slackware.org/config/packages.php>. Acessado em: 11 dez. 2004. [6] BAILEY, Edward. , Maximum RPM. 1 Ed. Sams, 1997. [7] Create Debian Linux Packages: Learn how to build easy-to-distribute packages for Debian users. 2003. Disponível em: < http://www-106.ibm.com/developerworks/linux/library/l-debpkg.html>. Acessado em: 15 dez. 2004. [8] KIRZNER, Rikki. Electronic Software Distribution: A Long Shot. 2003. Disponível em: <http://www.uniforum.org/news/html/publications/ufm/mar96/swdist.html>. Acessado em: 13 dez. 2004. [9] BLY, Martin; ALLAN, Alasdair; JENESS, Tim. Source Code Management and Software Distribution using Open Source Technologies. 2003. Disponível em: <http://www.adass.org/adass/proceedings/adass02/reprints/P8-2.pdf>. Acessado em: 1 dez. 2004. [10] LUERKENS, Cameron; COLE, John; LEGG, Danielle. Software Distribution to PC Clients in a Enterprise Network. 1998. Disponível em: <http://www.usenix.org/publications/library/proceedings/lisa-nt98/ full_papers/luerkens/luerkens.pdf>. Acesso em: 1 dez. 2004. [11] ANDERSON, Paul. Software Distribution and Repositories. 1997. Disponível em: <http://homepages.inf.ed.ac.uk/dcspaul/publications/SoftDist.pdf>. Acessado em: 13 dez. 2004. [12] CRUZ, Fernando; SANTOS, Giovanni; MEDEIROS, Raissa; et al. Uma Ferramenta para a Administração de Serviços de Diretórios Basedo no OpenLDAP. Anais do 5 Fórum Internacional de Software Livre, pg 91, Porto Alegre, 2004. Anais.