05/2008 RICARDO BIMBO p.30 BOSSA CONFERENCE 2008 p.24 ENTREVISTA: SAP p.28 No Linux, empresas e voluntários Evento internacional aponta para um Empresa aposta em reestruturação colaboram harmoniosamente. futuro móvel com Código Aberto. de arquiteturas, rumo ao SOA.

#42 05/08 Linux Magazine R$ 13,90 € 7,50 0 0 0 4 2 9 200 4 6 9 # 42 7180 # 42 Maio 2008

A REVISTA DO PROFISSIONAL DE TI 9 7 SOA RNÍIS EHT OAOG SOEAL UPT H SAOI DMIR LI- INDT LPIC-2 ADEMPIERE SPAGOBI PHP PUPPET SHOREWALL NOVAFORGE REDHAT PRINCÍPIOS

A ARQUITETURA ORIENTADA A SERVIÇOS DÁ FOCO AOS NEGÓCIOS E SERVE RECURSOS DISTRIBUÍDOS, COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS. p.34

»SOA A Red Hat oferece a pilha completa para SOA p.36 » Serviços distribuídos, soluções integradas p.40

» NovaForge, uma fábrica de software corporativo p.44

REDES: ADMINISTRAÇÃO CENTRALIZADA p.66 O Puppet toma conta do gerenciamento e confi guração de servidores e desktops na rede.

SEGURANÇA: FIREWALL PRÁTICO p.71 Até os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall.

VEJA TAMBÉM NESTA EDIÇÃO: » ADempiere e Eclipse: desenvolvimento integrado p.49 » LPIC-2, aula 11: DNS p.52 » BI de código aberto com SpagoBI p.59 » Os melhores repositórios de código PHP p.75

WWW.LINUXMAGAZINE.COM.BR © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. Expediente editorial

Diretor Geral Rafael Peregrino da Silva [email protected] Editor-chefe Tadeu Carmona [email protected]

Editor Já, perto EDITORIAL Pablo Hess [email protected] Redator Rodrigo Amorim [email protected] de você Revisão Jamile Leão [email protected] Editor de Arte Lucas Oliveira Prezados leitores da Linux Magazine, [email protected] Assistente de Arte Igor Daurício [email protected] Empresas de pesquisa de mercado têm a árdua tarefa Centros de Competência de, mediante uma cuidadosa e criteriosa observação dos Centro de Competência em Software: Oliver Frommel: [email protected] acontecimentos atuais e passados, estabelecer previsões Kristian Kißling: [email protected] Peter Kreussel: [email protected] Marcel Hilzinger: [email protected] para o comportamento do mercado no futuro, tanto pró- Centro de Competência em Redes e Segurança: Achim Leitner: [email protected] ximo quanto distante. Obviamente, é fácil desacreditar as Jens-Christoph B.: [email protected] Hans-Georg Eßer: [email protected] conclusões de tais profissionais, caracterizando-as como Thomas Leichtenstern: [email protected] Max Werner: [email protected] “achismo” ou “puro chute”. No entanto, é muito interes- Markus Feilner: [email protected] Nils Magnus: [email protected] sante quando verificamos que o erro das previsões está na Anúncios: superestimativa do tempo até a ocorrência do evento. Rafael Peregrino da Silva (Brasil) [email protected] O Gartner Group previu recentemente para o Software Tel.: +55 (0)11 4082 1300 Fax: +55 (0)11 4082 1302 Livre e de Código Aberto (SL/CA) um futuro próspero. Petra Jaser (Alemanha, Áustria e Suíça) [email protected] Segundo as conclusões da empresa, em poucos anos, to- Penny wilby (Reino Unido e Irlanda) [email protected] dos os negócios estarão utilizando SL/CA, mesmo aqueles Amy Phalen (Estados Unidos) com preferência pelo modelo de “software como serviço”, [email protected] Hubert Wiest (Outros países) abordado nesta edição. O engano, no caso, foi a estimati- [email protected] Assinaturas: va de tempo. Já temos, hoje em dia, praticamente todas as www.linuxnewmedia.com.br [email protected] empresas utilizando SL/CA. O acesso aos bancos através Na Internet: da Internet é um dos principais fatores nessa afirmação: www.linuxmagazine.com.br – Brasil www.linux-magazin.de – Alemanha todos os maiores bancos utilizam SL/CA em suas opera- www.linux-magazine.com – Portal Mundial www.linuxmagazine.com.au – Austrália www.linux-magazine.ca – Canadá ções – senão como sistema operacional, como servidor www.linux-magazine.es – Espanha www.linux-magazine.pl – Polônia web, servidor de aplicações ou simplesmente na máquina www.linux-magazine.co.uk – Reino Unido www.linux-magazin.ro – Romênia virtual Java. Gerente de Circulação E não são apenas as empresas; os indivíduos também Mirian Domingues [email protected] utilizam SL/CA a todo momento: quando fazem compras Apesar de todos os cuidados possíveis terem sido tomados durante a produção desta revista, a editora não é responsável em grandes redes de lojas, no uso do Internet banking e por eventuais imprecisões nela contidas ou por conseqüências que advenham de seu uso. A utilização de qualquer material na consulta a sites do governo federal, Google, Yahoo etc., da revista ocorre por conta e risco do leitor. além dos já tradicionais Firefox e BrOffice.org. Nenhum material pode ser reproduzido em qualquer meio, em par- te ou no todo, sem permissão expressa da editora. Assume-se que Em breve, os telefones celulares e subnotebooks (já qualquer correspondência recebida, tal como cartas, emails, faxes, fotografi as, artigos e desenhos, sejam fornecidos para publicação ou licenciamento a terceiros de forma mundial não-exclusiva pela anunciados por diversos fabricantes além da Intel – com Linux New Media do Brasil, a menos que explicitamente indicado. o Classmate PC – e a Asus – eee PC) introduzirão mais Linux é uma marca registrada de Linus Torvalds. Linux Magazine é publicada mensalmente por: uma nova leva de máquinas equipadas com SL/CA, com as Linux New Media do Brasil Editora Ltda. quais muitos vão interagir ainda mais de perto. O “dentro Av. Fagundes Filho, 134 Conj. 53 – Saúde ■ 04304-000 – São Paulo – SP – Brasil de poucos anos”, afinal, parece já ter chegado. Tel.: +55 (0)11 4082 1300 Fax: +55 (0)11 4082 1302 Direitos Autorais e Marcas Registradas © 2004 - 2008: Linux New Media do Brasil Editora Ltda. Pablo Hess Distribuição: Distmag Impressão e Acabamento: Parma Editor Atendimento Assinantes São Paulo: +55 (0)11 3512 9460 Rio de Janeiro: +55 (0)21 3512 0888 Belo Horizonte: +55 (0)31 3516 1280 ISSN 1806-9428 Impresso no Brasil

Linux Magazine #42 | Maio de 2008 3 © Linux New Media do Brasil Editora Ltda. ÍNDICE

CAPA

Bem arquitetado 36 A plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de apli- cações JBoss. Conheça-os em detalhes.

Clientes espalhados, servidores distribuídos 40 Como novo paradigma, a SOA requer algumas mu- danças profundas na forma de projetar, imple- mentar e organizar aplicações corporativas.

Quase faz café 44 Com o NovaForge, é muito prático hospedar, geren- ciar e testar softwares em escala corporativa.

4 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Linux Magazine 42 | ÍNDICE

COLUNAS ANÁLISE

Augusto Campos 08 Negócio inteligente 59 Charly Kühnast 10 O ramo da Business Intelligence conta com poderosas fer- Klaus Knopper 12 ramentas e o SpagoBI se destaca, entre as alternativas li- vres, por sua modularidade e conseqüente flexibilidade. Zack Brown 14 Para conquistar o público 64 NOTÍCIAS Em sua versão 3.0, o Librix, da Itautec, atinge a maturidade para ser adotado por seu atual público-alvo, os usuários inexperientes. Segurança 16 ➧ Notícias de insegurança

Geral 18 ➧ Linux é feito por empresas

➧ Sun homologará Ubuntu

➧ Linux em switches Cisco

➧ BrOffice.org 2.4

CORPORATE REDES Notícias 20 Marionete 66 ➧ Gartner: SL em alta, Windows em colapso Aprenda a economizar tempo e agilize a administra- ção de sistemas com ajuda do Puppet, uma ferramen- ➧ Microsoft cogita aquisição hostil do Yahoo ta de gerenciamento e configuração centralizados.

➧ Concorrente do ODF vira padrão ISO

➧ Sun promete vídeo livre

Artigo: Bossa Conference 2008 24 Artigo: Software Enablement 26 Entrevista: SAP 28 Coluna: Cezar Taurion 29 Coluna: Ricardo Bimbo 30 Coluna: Edgar Silva 32 SEGURANÇA Domando o fogo 71 TUTORIAL É verdade que firewalls devem ser administrados por es- pecialistas. Porém, até esses profissionais podem se be- Produto importado 49 neficiar de uma interface prática para essa tarefa. Se for necessário fazer alterações ao código-fonte do ADempiere, é muito fácil usar o poderoso ambien- te de desenvolvimento Eclipse para importá-lo.

LPI nível 2: Aula 11 52 Configuração do servidor BIND, criação e manuten- ção de arquivos de zonas e ferramentas relacionadas.

PROGRAMAÇÃO Tesouro 75 Programadores PHP podem economizar tem- po e trabalho com o uso do trecho, script ou clas- se perfeitos para usar em seus programas.

SERVIÇOS Editorial 03 Emails 06 Linux.local 78 Eventos 80 Índice de anunciantes 80 Preview 82

Linux Magazine #42 | Maio de 2008 5 © Linux New Media do Brasil Editora Ltda. Emails para o editor Permissão de Escrita Se você tem dúvidas sobre o mundo Linux, críticas ou sugestões que possam ajudar a melhorar a nossa revista, escreva para o seguinte endereço: [email protected]. Devido ao

volume de correspondência, é impossível responder a todas as sanja gjenero – www.sxc.hu

CARTAS dúvidas sobre aplicativos, configurações e problemas de hardware que chegam à Redação, mas garantimos que elas são lidas e analisadas. As mais interessantes são publicadas nesta seção.

Download do primeiro ano Gostaria de informar que, apesar de terem sido li- beradas para download as edições do ano passado, não há links para fazer esses downloads no site da revista. A única alternativa mais óbvia do site é ten- Errata tar baixar a versão em PDF, mas, como antes, o link Na página 65 da edição 40 da Linux Magazine, no direciona para o carrinho de compras. artigo "Montando a gestão", de Eduardo Montene- Diogo Muniz gro, o exemplo 1 está incorreto. O correto é: Resposta Caro Diogo, aparentemente falhamos na precisão, ao comunicarmos a liberação do conteúdo do primei- Exemplo 1: Compilação do PL/Java ro ano da Linux Magazine, e por isso vamos tentar 01 $ sudo mkdir -p /usr/local/src/pljava corrigir esse erro agora. 02 $ sudo chown adempiere /usr/local/ Estão liberados, individualmente, todos os artigos ➥src/pljava de todas as edições do primeiro ano da Linux Maga- 03 $ tar xzvf ./pljava-src-1.4.0.tar.gz zine. Ou seja, qualquer artigo das edições 1 a 12 pode 04 $ mv ./pljava-1.4.0/* /usr/local/src/ ➥pljava ser baixado gratuitamente, em formato digital (PDF), 05 $ cd /usr/local/src/pljava a partir do site da Linux Magazine, em http://www. 06 $ make linuxmagazine.com.br, no link Anteriores. 07 $ sudo sh 08 # export PATH=$PATH:/usr/local/pgsql/ O download de cada uma das edições de 1 a 12, ➥bin:/usr/local/jdk1.5.0_14/bin completas e em formato digital, permanece possível, 09 # make install: porém, sob o preço normal (R$ 9,90). O conteúdo das demais edições da Linux Maga- O leitor Marcelo Sávio informou que, diferente do zine permanece com os tradicionais 30% liberados que é afirmado na página 68 da edição 39 da Li- gratuitamente sob a forma de artigos individuais, nux Magazine, no artigo "Segredos gráficos" sobre e até o final de 2008 vamos liberar gradualmente o utilitário de esteganografia Outguess, o algoritmo 100% do conteúdo do segundo ano da revista (edi- RC4 não é mais recomendável, devido às vulnera- ções 13 a 24). bilidades encontradas. A quem desejar mais infor- Pedimos sinceras desculpas pela falha de comu- mações sobre esse algoritmo criptográfico, o leitor nicação e qualquer inconveniente que ela possa sugere o link http://en.wikipedia.org/wiki/RC4. Muito obrigado, Marcelo. ter causado. ■

6 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. Acessibilidade em Software Livre Augusto Campos

Embora qualquer pessoa possa vir a precisar de tecnologias assistivas, ainda é pouca a atenção dispensada a esse campo, no Software Livre.

COLUNA por Augusto Campos

ecentemente tive a oportunidade de participar tada a eles nem sempre acompanhe a mesma ten- da Comissão de Programa de um evento de dência. Essa é uma realidade que cada um de nós Rinformática corporativa, como parte de uma deveria se preocupar em mudar, e não apenas pela banca, na qual me cabia avaliar e classificar cerca intenção de fazer o bem ao próximo – a acessibi- de 80 trabalhos das mais variadas especialidades da lidade a portadores de necessidades especiais vem Informática. No decorrer dessa atividade, avaliei po- sendo requisito cada vez mais exigido em softwares sitivamente, quanto à aplicabilidade, vários trabalhos adotados por grandes corporações e pelos governos relacionados a tecnologias assistivas e acessibilidade, e a ausência de uma oferta bem estruturada desse mas tive a desagradável surpresa de constatar que na tipo de recurso já foi justificativa para substituir Soft- fase de discussão os demais avaliadores sustentaram ware Livre pelos seus equivalentes proprietários em a posição oposta: a de que tecnologias assistivas inte- telecentros municipais, recentemente. ressam a poucas pessoas, portanto sua aplicabilidade Também o nível do suporte a tecnologias assisti- deveria ser considerada baixa. Resultado: todos os vas em Software Livre vem crescendo, felizmente. trabalhos relacionados à acessibilidade acabaram Agora, além de contarmos com aplicativos espe- ficando de fora do evento. cíficos, como o vocalizador Festival e os drivers para displays em braille, as versões recentes do Gnome passaram a oferecer o Orca, sistema que Essa é uma realidade integra os diversos recursos de acessibilidade dis- que cada um de nós persos (vocalizadores, displays braille, ampliação de tela etc.) às aplicações disponíveis no sistema deveria preocupar-se em operacional (com suporte a Firefox, Thunderbird, mudar, e não apenas Pidgin, BrOffice.org e mais, além da expansibili- dade através de scripts). pela intenção de fazer Não perco oportunidade de divulgar esse tipo de o bem ao próximo. solução, especialmente a quem julga não precisar delas – todos temos chance de um dia chegar a uti- lizá-las. O Software Livre tem forte relação com a A situação estava fora do meu controle e lá eu não idéia de inclusão digital e, se cada administrador de podia fazer nada a respeito, mas agora vou contar sistemas e gestor de TI souber o que está disponível com a compreensão de vocês e usar nosso espaço nesse campo, teremos possibilidade de empregá-las deste mês para falar um pouco sobre tecnologias no momento certo e de prover o estímulo neces- assistivas em Software Livre. sário para que seus desenvolvedores continuem As tecnologias assistivas são aquelas que oferecem investindo nelas. ■ recursos especiais de adaptação, assistência e até re- abilitação para pessoas com necessidades especiais. Isso é feito por intermédio de métodos diferenciados Sobre o autor de interação com tecnologias existentes, permitin- Augusto César Campos é administrador de do que essas pessoas possam realizar tarefas que, de TI e, desde 1996, mantém o site BR-linux.org, outro modo, não estariam a seu alcance. que cobre a cena do Software Livre no Brasil O número de sistemas assistivos disponíveis em e no mundo. Software Livre é crescente, embora a atenção vol-

8 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. Nload Charly Kühnast

Monitores de rede são fáceis de encontrar, mas o Nload é o único que separa tráfego de entrada e saída e ainda desenha no console.

COLUNA por Charly Kühnast

xibir o uso da rede numa interface não é difícil Nload atualizará sua tela duas vezes a cada segundo. e existem inúmeras ferramentas para visuali- Na maioria dos casos, uma configuração mais espaçada Ezar os valores. Mas qual ferramenta oferece a é aceitável: eu costumo usar -t 2000, uma atualização melhor representação gráfica dos valores medidos? a cada dois segundos. Os “escovadores de bit” certamente recomendariam a Para manter os gráficos legíveis, é possível estabe- consulta direta aos dados no diretório /proc/, mas essa, lecer limites para os tráfegos de entrada e saída. Se os obviamente, não é a solução mais prática. dados excederem esse limite, o Nload trunca o gráfico, Também podemos descartar todas as alternativas permitindo a visualização de algo que esteja errado. que dependam do X11, pois servidores geralmente O limite-padrão é 10 Mb/s, mas pode ser modifica- não possuem interfaces gráficas. O IPTraf oferece do com -i para a entrada e -o para a os números necessários, mas não possui um recurso saída. O parâmetro -s , com valor entre 1 e 9, de histórico. O mesmo se aplica ao Iftop[1], embora possibilita a manipulação dos valores médios. Quanto ele informe quanto tráfego sai e entra no parceiro menor o número, mais curto é o intervalo para cálculo de comunicação. das médias. O valor 9 é o padrão. Outro recurso inte- Para um rápido panorama, minha ferramenta favo- ressante é a possibilidade de modificar parâmetros rita é o Nload[2]. Ele exibe o uso atual da rede para críticos em tempo de execução – incluindo a interface dados de entrada e saída, dependendo do gráfico sele- a ser monitorada. Pressionar [O] enquanto o Nload cionado (figura 1). Ao mesmo tempo, oferece os valores está rodando exibe um menu de opções. As alterações médios para um intervalo configurável. O recurso de são aplicadas no mesmo momento. histórico torna o uso do Nload um prazer; não há ris- O parâmetro -m é útil para servidores com múltiplas co de perder um pico, mesmo tirando os olhos da tela interfaces; ele informa o Nload para exibir o uso de por um momento. O parâmetro de linha de coman- múltiplas interfaces ao mesmo tempo, apesar de ser do -t , com valor em milissegundos, permite perdida a possibilidade de desenhar histogramas com a definição do intervalo de atualização. Por padrão, o o uso dessa opção. ■

Mais informações

[1] Iftop: http://www.ex-parrot.com/pdw/iftop/

[2] Nload: http://www.roland-riegel.de/nload/

Sobre o autor

Charly Kühnast é administrador de sistemas Unix no datacenter Moers, perto do famoso rio Reno, na Alemanha. Lá ele cuida, principalmen- te, dos firewalls. Figura 1 Os gráficos do Nload do Charly são impressionantes.

10 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. E-mail marketing Suas mensagens entregues sem filas! E-mail marketing Plug In. A ferramenta de relacionamento por e-mail mais poderosa do mercado.

������������������������� Gabarito ���������������� ,50 por apenas R$42

������������������������������������������������������ � ��������������������������������������������������� ���������������������������������������������� � ������������������������ ������������������������������������������������� ����������� - Conexões Ilimitadas � ��������������������������������������������� ��������������������� - Windows e Linux ����������������������������������� ��������� - Windows e Linux

Powered by

Ligue e contrate: Contrate online: 4003-1001 www.plugin.com.br

© Linux New Media do Brasil Editora Ltda.

anunciodedicado.indd 1 4/14/08 9:54:32 AM Pergunte ao Klaus Klaus Knopper

O criador do Knoppix responde às mais diversas perguntas dos leitores. por Klaus Knopper COLUNA Wifi num Pavilion Prezado Klaus, eu adoro sua coluna na Linux O exemplo 1 mostra um trecho do arquivo de Magazine. Ela já me ajudou várias vezes e sem- log que você me enviou. Esse log confirma que pre aprendo muito. Estou usando o openSUSE o módulo bcm43xx que você possui é adequado 10.3 num notebook HP Pavilion da série dv6000 para a sua versão do kernel, mas o firmware desse (comprei no Natal e estou amando a máquina). adaptador não está presente. Tudo funciona perfeitamente, sem necessidade de alterações em arquivos de configuração, ex- ceto por um problema: a rede sem fio. Exemplo 1: Log do sistema (trecho) Já procurei e conversei pela Internet, visitei o Jan 6 05:26:23 linux kernel: bcm43xx: PHY site do driver e tentei tudo que consegui imaginar ➥connected para resolver esse problema – desde o NDISwrap- Jan 6 05:26:23 linux kernel: bcm43xx: ➥Error: Microcode “bcm43xx_microcode5.fw” per até o comando install_fwcutter_43xx. ➥not available or load failed. Além disso, recentemente postei um bug no Jan 6 05:26:23 linux kernel: bcm43xx: core_ site da minha distribuição, mas não recebi qual- ➥up for active 802.11 core failed (-2) quer resposta. Jan 6 05:26:23 linux firmware.sh[5865]: ➥Cannot find firmware file ‘bcm43xx_ Os programas de conexão sem fio, como KNe- ➥microcode5.fw’ tworkManager, KWiFi-Manager e iwconfig en- xergam a placa de rede sem fio, assim como seu módulo, mas ela não recebe sinal do roteador. Já verifiquei o equipamento e tentei me conec- Provavelmente, é possível obter esse firmware tar a outros roteadores, mas sempre acontece a a partir de vários locais na Internet, mas também mesma coisa. se pode extraí-lo de um adaptador que já o pos- Obrigado por qualquer ajuda que você possa sua, usando o programa bcm43xx-fwcutter que me dar e também por toda a ajuda que dá a todos você mencionou. que lêem sua coluna. E obrigado também a todo Quando você conseguir uma cópia do firm- o pessoal que faz a revista: vocês são ótimos! ware necessário, deve colocá-lo em /usr/lib/ho- Resposta tplug/bcm43xx_microcode5.fw (dependendo da sua O seu problema talvez seja resolvido pelos distribuição, talvez também em /lib/firmware/ drivers de rede sem fio incluídos no kernel bcm43xx_microcode5.fw), em que será automatica- 2.6.24, que sempre oferecem suporte ao inter- mente carregado durante a inicialização do sis- ruptor da rede sem fio ( wifi switch) presente tema, no momento em que o adaptador de rede em alguns notebooks. Esse interruptor costu- sem fio for detectado e ativado. ■ ma impedir o funcionamento da rede sem fio porque simplesmente desliga a antena e, conse- qüentemente, nenhum sinal é recebido, mesmo que o driver e o hardware estejam funcionando Sobre o autor perfeitamente. Klaus Knopper é o criador do Knoppix e Como você disse, ainda será necessário ins- co-fundador do evento Linux Tag. Atual- talar o firmware do adaptador de rede sem fio; mente ele trabalha como professor, progra- mador e consultor. caso contrário, ele somente mostrará mensagens engraçadas nos logs do sistema.

12 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. PATROCINADORES EM 2007 O Ecossistema de Negócios em Software Livre no Brasil © Linux NewMedia doBrasil Editora Ltda.

PROMOÇÃO REALIZAÇÃO 2008 Crônicas do kernel Zack Brown

Linus muda mais uma vez a política de desenvolvimento do kernel, desfazendo-se da tarefa de garantir total estabilidade.

COLUNA por Zack Brown

Inclusão de drivers mais rápida Como o ônus de oferecer estabilidade sempre Recentemente, Linus Torvalds reduziu os empeci- recaía sobre as distribuições, Linus lhes impôs for- lhos para incluir código no kernel. Quando o Linux malmente essa obrigação, livrando-se dessa tarefa. começou, uma das maiores prioridades de Torvalds A decisão indicou uma nova abordagem para o era encorajar contribuições. Para isso, ele reforçou desenvolvimento do kernel – sem abandonar a a resposta a qualquer patch, aceitando diversos de- necessidade de estabilizar aspectos do kernel, mas les e até mesmo publicando estatísticas manuais ainda dando maior liberdade aos contribuidores. sobre aqueles recebidos. Conforme as contribuições Agora, Torvalds começou a aceitar patches de aumentaram, no final da década de 1990, a rapidez drivers com problemas óbvios. Recentemente, nas respostas de Linus diminuiu e ele ficou mais Adrian Bunk reclamou de um envio de driver que propenso a simplesmente ignorar patches, caso não foi aceito no kernel, apesar de conter mais de 250 gostasse deles. Ele também começou a insistir que erros de checkpatch e mais de 2.000 avisos. Antiga- os algoritmos dos patches fossem bonitos, e que dife- mente, esses problemas precisavam ser solucionados rentes partes do kernel se comunicassem de formas antes que um driver fosse aceito na árvore. Parte da naturais para elas. justificativa de Linus para a mudança na política Quando Linus adotou as árvores “estável” e “de é o reconhecimento de que é muito mais provável desenvolvimento”, manteve a insistência no bom que um código seja testado e consertado dentro da gosto, e tornou-se ainda mais estrito no ciclo “es- árvore oficial do que fora dela. tável”. Com a estruturação do envio de códigos Além disso, supõe-se que o usuário médio use o do kernel em uma hierarquia de mantenedores e kernel de sua distribuição, e não o oficial, enquan- “tenentes”, Linus começou a criar uma cultura de to os desenvolvedores são os usuários primários da aderência a suas preferências pessoais de escrita de versão oficial e conseguem lidar melhor com drivers código, na qual outras pessoas que compreendes- mais feios e menos polidos. sem seus gostos podiam atuar como guardas, além Linus lembra que essa nova política visa ao código de de realizar o trabalho técnico de escrever e revisar drivers, que, por definição, são periféricos em relação os códigos em busca de falhas. ao corpo principal do código. Ele diz que é importante Durante a árvore 2.6, Linus abandonou as mu- que os drivers sejam bem testados antes de entrarem danças um tanto desconfortáveis entre as árvores no kernel. O líder do desenvolvimento do Linux não estável e de desenvolvimento. Então, ele reinstituiu está tão preocupado com o visual do código, mas quer um conjunto de micro-forks para o desenvolvimen- garantir que ele funcione e não quebre nem cause per- to estável, no qual a árvore 2.6 principal jamais sai da de dados aos usuários. ■ da fase de desenvolvimento e cada versão gera um novo fork estável. A decisão de abandonar os ciclos Sobre o autor originais de estabilidade e desenvolvimento marca- ram uma época de avaliação de uma grande varie- A lista de discussão Linux-kernel é o núcleo das atividades de desenvolvimento do kernel. dade de problemas. Uma das principais justificativas Zack Brown consegue se perder nesse oce- para a mudança foi a de que as distribuições Linux ano de mensagens e extrair significado! Sua newsletter Kernel Traffic esteve em atividade sempre aplicavam seus próprios patches sobre as de 1999 a 2005. versões oficiais do kernel.

14 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Já nas bancas porpor apenasapenas R$9,90R$9,90 !!!!!!

Easy Linux traz todos os meses notícias, tutoriais de programas e jogos, dicas e tudo que o usuário iniciante precisa saber para usar Linux em casa e no trabalho. Com linguagem simples e abrangente, EasyLinux é a leitura obrigatória para quem quer “desbravar” o software livre! EasyLinux: leia para saber!

Acesse agora: www.revistaesylinux.com.br Peça pelo telefone: 11 4082-1300

por apenas R$9,90 !!! © Linux New Media do Brasil Editora Ltda. Notícias de Insegurança por Kurt Seifried

odos nós já passamos por isso; Também seria possível argumen- na verdade, muitos passaram tar, de forma alternativa, que mes- Trecentemente. Você acorda mo sem sabermos ao certo quan- SEGURANÇA e encontra um email do Bugtraq ou do o isótopo decairá, acionando do Full-Disclosure ou talvez uma noti- a liberação do gás venenoso, ele ficação do seu fornecedor a respeito de vai decair, e provavelmente mais uma atualização de segurança – uma cedo do que se desejaria. atualização que afeta quase todos os A verdade é que um sistema mo- Figura 1 O gato não está vivo nem morto até que se olhe seus sistemas e cujo exploit já está dis- derno possui tanto código instalado dentro da caixa. ponível há vários dias[1]. e em execução que é provável que Obviamente, podemos facilmente alguma vulnerabilidade explorável empregar o poder do Código Aberto venha a ser encontrada e usada para Esse foi meu primeiro erro, por e nos gabar da velocidade com que comprometer o sistema. Então, o dois motivos. Primeiro, ao desati- os desenvolvedores do kernel con- que você pode fazer? var o SELinux, facilitei muito a in- sertaram a vulnerabilidade, permi- vasão do meu sistema, reduzindo tindo que os fornecedores provessem Planos futuros também a quantidade de logs que atualizações rapidamente. Assim como no velho ensinamento seriam gerados em caso de invasão. Ou eu poderia, ainda, falar da im- “planeje-se para o pior, mas espere Se for preciso desativar o SELinux, portância de fazer um inventário de o melhor”, é obrigatório planejar- ao menos use o modo permissivo, seus sistemas e ter um sistema de ge- se para o caso de falhas no sistema que registra as violações. renciamento de patches para aplicá- de segurança. Todos os conselhos- Meu segundo erro foi a clássica los prontamente. Porém, a questão é padrão a respeito de aumento de preguiça administrativa. Para faci- que todos os sistemas são vulneráveis segurança de sistemas, criação de litar a administração do sistema, o tempo inteiro. Permita-me repetir, camadas de segurança e limitação eu havia estabelecido relações de só para assegurar que ninguém pense de acesso e privilégios, sempre que confiança no SSH entre minhas que me confundi: todos os sistemas são possível, ainda são bons conselhos, máquinas e também ativado o vulneráveis o tempo inteiro. mas simplesmente não consegue acesso por sudo sem a requisição Falhas de segurança são bem se- mresponder à pergunta: o que fazer de uma senha. melhantes ao gato de Schrödinger: quando sua segurança falha? Então, uma vez que o agressor nem vivo nem morto até que seja conseguisse invadir um sistema e verificado[2] (figura 1). Da mesma Melhores práticas ganhasse acesso à conta de admi- forma, podemos perguntar se as vul- Por ser praticamente inevitável que nistração, ele teria acesso a todos os nerabilidades de segurança aparecem seus sistemas estejam vulneráveis em meus sistemas. Portanto, quando do nada, como por mágica, quando algum momento – provavelmente um dos meus sistemas foi compro- alguém as observa, colapsando o es- durante um período em que há aces- metido, acabei tendo que reinstalar tado quântico de probabilidade da so público pelo exploit – eles prova- todos eles, pois tinha certeza de que vulnerabilidade em questão para velmente estarão comprometidos. todos haviam sido modificados. Com um estado conhecido. Ou seja, en- Um exemplo perfeito disso é o site freqüência, essa falha de projeto tam- quanto ninguém reconhece uma seifried.org. O SELinux estava ativo, bém ocorre com firewalls e outros vulnerabilidade (e, mais importan- impedindo a exploração de todas as mecanismos de segurança. As organi- te, enquanto ninguém possui um vulnerabilidades de segurança, mas zações implementam uma segurança exploit para ela), ela não existe. Isso também evitando o funcionamento externa bem rígida, mas falham ao também é conhecido como a teoria correto de vários softwares de tercei- implementar a segurança interna, da “árvore que cai na floresta”, em ros. Após brigar um tempo contra o deixando um núcleo apetitoso para segurança da informação. SELinux, desisti e desativei-o. os invasores desfrutarem.

16 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Segurança | NOTÍCIAS

Melhores registros entre precisar reinstalar todo um Com muita freqüência, já vi be- Como disse, eu havia desativado o grupo de máquinas e apenas limpar capes funcionarem perfeitamente SELinux em vez de deixá-lo no modo uma delas. Manter logs também é até serem necessários, além de permissivo. Com o espaço em disco importante para fornecer as infor- imagens de recuperação de baixo sendo relativamente barato atualmen- mações necessárias para consertar nível incompatíveis com o hard- te, raramente faz sentido apagar logs um sistema. Simplesmente retornar ware substituto ou dados exporta- para economizar espaço. um sistema a seu estado original não dos corrompidos e incompletos. Além disso, com a facilidade de criar impedirá que o agressor faça uma Por exemplo, tenho um script de um sistema de logs pela rede com o nova invasão. becape que estava falhando silen- Syslog, não existe desculpa para não ciosamente há três meses porque usar um log centralizado (dificultando Becape eu havia deixado de lado a opção assim a eliminação dos rastros de um Os becapes costumam ser um dos as- “sobrescrever arquivos mais anti- eventual invasor). Entretanto, note pectos mais negligenciados pela segu- gos” e, então, todos os arquivos que muitos ataques deixarão poucas rança da informação. Porém, eles são alterados não haviam recebido a mensagens significativas nos logs. cruciais para garantir que os sistemas cópia de segurança. Freqüentemente, uma mensa- possam ser reinstalados corretamente gem informando que o programa e os dados possam ser recuperados. Pré-funeral servidor fechou será o único indí- Se você não fizer becape de nada Uma das práticas mais poderosas cio da invasão, o que dificilmente mais, ao menos faça um de seus da- que já vi é conduzir um “pré-fu- garante uma investigação completa dos e assegure-se de guardá-lo longe neral”. Em essência, o administra- da ocorrência. da máquina. Além disso, ter sistemas dor finge que o sistema já falhou. Ter um rastro confiável para au- de recuperação que funcionem é tão Ter uma idéia do que fazer nessa ditoria pode significar a diferença importante quanto todo o becape. situação ajuda a evitar a confusão, caso isso de fato aconteça, e tam- Dica de invasão: MySQL bém pode oferecer idéias de ações preventivas a serem tomadas, tais Um método comumente usado para zerar uma senha de root do MySQL como usar firewalls em todos os perdida é usar a opção --skip-grant-tables, que carrega o banco de dados computadores, independente de sem qualquer proteção. Se for necessário usar esse método, use também a máquina estar ou não conectada --skip_networking, para permitir somente conexões locais. Com ela, usuá- rios locais ainda conseguiriam conectar-se, portanto assegure-se de desco- a uma rede pública. nectá-los também. Conclusão Talvez um método melhor seja usar a opção --init file, que lê comandos Da mesma forma que o sistema SQL deste arquivo na inicialização. Cada comando deve estar numa única comprometido, não importa de ver- linha e não deve incluir comentários. dade se o gato está vivo ou morto. Então, basta criar um arquivo texto (zera-senha.txt) com um comando SQL Em algum momento, o gás veneno- para alterar a senha de root: so será liberado, o gato morrerá e o local começará a cheirar mal. SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘NovaSenha’); O truque é encontrar formas efi- e em seguida iniciar o mysqld com a opção --init-file zera-senha.txt. cazes de lidar com falhas, para que Depois de carregar o arquivo, simplesmente reinicie o MySQL normalmente se consiga retornar ao trabalho de e entre com a nova senha. forma rápida e segura. ■

Mais Informações Sobre o autor

[1] SecurityFocus, vulnerabilidade em copy_from_user_mmap_sem(): Kurt Seifried é Consultor de Segurança da Informação, especializado em Linux e re- http://www.securityfocus.com/bid/27796 des desde 1996. Ele é casado e tem qua- tro gatos mas nenhum peixe (porque os ga- [2] Gato de Schrödinger: tos têm mais fome que medo de água). Ele http://pt.wikipedia.org/wiki/Gato_de_Schr%C3%B6dinger sempre se pergunta como essa tecnologia funciona em larga escala, mas freqüente- mente falha em escalas menores.

Linux Magazine #42 | Maio de 2008 17 © Linux New Media do Brasil Editora Ltda. ➧Linux é feito por empresas A Linux Foundation publicou um novo relatório a res- mentada a margem, levando em conta os 30 maiores peito do desenvolvimento do Linux, intitulado “Linux desenvolvedores, esse número sobe para 30%. Kernel Development – How Fast it is Going, Who is Assim, foi estabelecido um ranking das empresas mais Doing It, What They are Doing, and Who is Sponso- atuantes no kernel. Um dos destaques é a Novell, que au- ring It” (Desenvolvimento do Kernel Linux – com que mentou em 300% sua participação nos últimos três anos.

NOTÍCIAS velocidade está ocorrendo, quem o está fazendo, o que A empresa passou de 3,6% para 14,4% do total eles têm feito e quem fi nancia. O estudo foi feito com de contribuições realizadas. Isso a coloca em base nos últimos três anos do desenvolvimento do kernel segundo lugar, logo atrás da Red Hat. ■ Linux – abrangendo desde a versão 2.6.11 até a 2.6.24 – e revela que a maior parte dos desenvolvedores do kernel são pagos por grandes companhias, como IBM, Intel, Ranking Linux Foundation, MIPS Technology, MontaVista, As companhias que de fato constroem o Linux, consi- Movial, NetApp, Novell e Red Hat. derando sua contribuição para o kernel, são: Red Hat Ao longo dos anos, o número de desenvolvedores do (11,2%), Novell (8,9%), IBM (8,3%), Intel (4,1%), Linux Linux tem crescido consideravelmente. Pela análise, a Foundation (3,5%), SGI (2,0%), MIPS Technology (1,6%), versão mais recente do kernel (2.6.24, na liberação do Oracle (1,3%), MontaVista (1,2%) e Linutronix (1,0%). A participação dessas empresas no desenvolvimento do estudo) teve 1.057 desenvolvedores registrados. O estudo Linux tem sua razão de ser. Red Hat, Novell e MontaVista informa que entre 70 e 95% dos desenvolvedores pagos possuem motivos claros: as três desenvolvem e comer- para trabalhar com o Linux, nos últimos três anos, são cializam sistemas Linux. As demais companhias traba- funcionários dessas empresas. Mostra também que, atual- lham no kernel para garantir que o Linux rode correta- mente, a relação das grandes empresas com o Linux é mente em seus hardwares, na intenção de tornar seus bastante próxima. Os investimentos em Código Aber- produtos mais atraentes para os usuários Linux e, com to, portanto, estão diretamente relacionados ao modus isso, aumentar suas vendas. operandi dessas empresas e já incorporados à “corrida Outras empresas que desenvolvem o Linux, como armamentista” do mundo dos negócios. Sony, Nokia e Samsung, são conhecidas por embar- O relatório da Linux Foundation sobre as contribui- carem o sistema aberto como um componente de ções ao Linux exibe também um número elevado de seus próprios produtos (como câmeras de vídeo, te- levisores e telefones móveis). Sua participação no de- contribuições de desenvolvedores individuais ao siste- senvolvimento do kernel busca um investimento de ma. Porém, a quantidade de pessoas que realmente faz médio a longo prazo. Essas empresas desejam ga- o trabalho “braçal” é bem pequena. Nos últimos três rantir que o sistema do pingüim continue a ser uma anos, os dez desenvolvedores que mais contribuíram base sólida para seus produtos no futuro. para o kernel somam 15% de todo esse trabalho. Se au-

➧ Sun homologará Ubuntu Mark Shuttleworth, fundador da Canonical, empresa responsável pelo Ubuntu, afi rmou que a Sun demons- trou interesse em homologar essa distribuição em seus servidores. A ação seria muito importante para a em- presa sul-africana, cuja distribuição passaria a concorrer contra os pesos-pesados das distribuições corporativas (as chamadas Enterprise), Red Hat Enterprise Linux e No- vell Suse Linux Enterprise Server, ambas com modelos baseados em subscrição, diferentemente do Ubuntu. A Canonical já oferece suporte comercial ao Ubun- tu instalado em determinadas máquinas da Sun. O que muda, agora, é a homologação por parte da fa- bricante do hardware. ■

18 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Gerais | NOTÍCIAS

➧ Linux em switches Cisco ➧ BrOffice.org 2.4 A Cisco, através de sua nova plataforma Application Após uma espera relativamente longa, a Extension Platform (AXP), converteu vários mode- nova versão do BrOffice.org finalmente los de seus switches para servidores de aplicações está disponível para download. São Linux. Os novos servidores vêm embarcados com várias as novidades que se destacam bibliotecas C, Java e Perl certificadas. Com isso, os nesse salto de versão; entre elas, me- desenvolvedores serão capazes de usar um kit de lhorias na geração de documentos desenvolvimento (SDK) para construir aplicativos PDF, mudança da fonte-padrão para para o novo sistema. a família DejaVu, melhorias gerais no acesso a banco Os servidores AXP vêm equipados com proces- de dados (MySQL, Oracle JDBC etc.) e inclusão de sadores de arquitetura x86 (o mais recente traz um suporte nativo ao formato proprietário do aplicativo Pentium 1,4 GHz) e são capazes de executar uma de bancos de dados do MS Access 2007. distribuição Linux própria com kernel 2.6.14.3 e A interface dos programas também apresenta algumas bibliotecas compatíveis com o Fedora Core 4. A dis- mudanças. A seleção do idioma no corretor ortográfico tribuição particular da Cisco foi desenvolvida exata- está mais simples, novos atalhos de teclado foram criados mente para rodar sobre para a definição de estilos de parágrafo e os blocos de esse hardware, que in- células do Calc podem ser copiados e movidos mais clui 2 GB de memória facilmente pela planilha. Na janela de impressão, RAM e discos rígidos as opções avançadas podem ser ocultadas, uma vez de 160 GB. ■ que raramente precisam ser alteradas. ■

Linux Magazine #42 | Maio de 2008 19 © Linux New Media do Brasil Editora Ltda. Carsten Müller - www.sxc.hu CORPORATE 20 ➧ SLGartner: em alta, continuam baseando suas vendas nesse detalhe, detalhe, nesse vendas suas baseando continuam tornando-se limitadas. Porém, quando essa limi- essa quando Porém, limitadas. tornando-se propriedade (TCO) – ela fornece muitos outros outros muitos fornece ela – (TCO) propriedade sem custo adicional. Esse fenômeno se deve, prin- isso tudo – esferas diversasexpandiroutras para se pode projeto do abrangência a eliminada, é tação empresas algumas projeto, do valor do 3% apenas aquembenefícios também autiliza. de total custo o reduzir apenas que mais faz livre licença uma que percebeu não Gartner Taylor,o com acordo de Ainda Google. do o é exemplo pal utilizando Código Aberto como serviço – o princi- Aberto”. Ele informa que, atualmente, todos estão Código o subestimando está Gartner o lizmente, de promoção do Open Source Consortium, “infe- a de software como serviço ( essa tecnologia e ignorem prefiempresas mesmas ram utilizar apenas dessas TI de gerentes os que de tipos os todos praticamente anos alguns apenas De acordo com estudo realizado pelo Gartner, em utilizando Código Abertodeformaembarcada. do informa que, até 2012, todas as empresas estarão negócios estarão utilizando Código Aberto, mesmo cipalmente, ao fato de o Código Aberto fornecer Aberto Código o de fato ao cipalmente, De acordo com Mark Taylor, presidente do grupo Mesmo sabendo que o custo da licença representa grande escalabilidade a um custo zero de Windows em colapso transação, para qualquer aplica- SaaS © Linux NewMedia doBrasil Editora Ltda. ção em que se queira ). O mesmo estu- investir. cional líder em vendas, além da experiência experiência da além vendas, em líder cional maram que o sistema Windows corre perigo, perigo, corre Windows sistema o que maram de uso inconsistente entre diferentes versões. versões. diferentes entre inconsistente uso de com 20 anos de idade e os elevados requisitos de de requisitos elevados e os idade de anos 20 com Redmond. de pro- gigante do da duto valor o reduzindo e custos dos gerenciamento de aumento no resultando com aplicativos, incompatibilidade de questões sistema novas do traz interação nova cada ministradores, ad- dos lado no World, PC da matéria Segundo opera- sistema do versão nova cada a inovações trazidas limitadas as e longos extremamente os com acordo de disso, motivos Os resultados. trouxeram não Windows Mi- ao da relação em esforços crosoft os que afirmaram Gartner do sua Em Microsoft. a também risco em pondo afir- Gartner do analistas os tempo, mesmo Ao bilionários do Windows. Windows. do bilionários negócios aos junto Microsoft da rápidas danças mu- esperar devemos não pesquisa, de instituto o adverte entanto, No componentes. e sistemas a retrocompatibili- para específica solução Uma Microsoft. pela feitas sistema grande no de modularização alegações das apesar modularizada, mais ainda Vista do versão uma seria segundo Gartner, o Windows, o para saída A Aberto. digo Có- ao próspero futuro um garantindo outros sistemas, de adoção à analistas, os com acordo de multi-plataforma. e Microsoft em risco em Microsoft hardware até a difusão do uso de aplicativos web web aplicativos de uso do a difusão até hardware por aí. Os analistas do Gartner levantaram ques- levantaram Gartner do analistas Os aí. por dade dos aplicativos residiria na virtualização de de virtualização na residiria aplicativos dos dade conferência “Emerging Trends”, analistas de TI TI de analistas Trends”, “Emerging conferência analistas, incluem os ciclos de desenvolvimento desenvolvimento de ciclos os incluem analistas, sua falta de modularidade, seus trechos de código de código trechos seus de modularidade, falta sua tões técnicas, desde a complexidade do Windows, do Windows, a complexidade desde técnicas, tões Essas questões conduzirão os consumidores, consumidores, os conduzirão questões Essas As críticas ao sistema da Microsoft não pararam pararam não da Microsoft ao sistema As críticas ■ http://www.

linuxmagazine .com.br Notícias | CORPORATE

➧ Microsoft cogita aquisição hostil do Yahoo ➧ Sun promete vídeo livre Após ter, por reiteradas vezes, afi rmado que a aquisição do Yahoo é im- Rob Glidden, da Sun Microsystems, infor- prescindível para os planos de expansão da companhia na concorrência mou em seu blog a respeito de dois novos contra o Google, a Microsoft , em carta redigida pelo CEO, Steve Ball- projetos de Código Aberto da empresa, que mer, enviou, no início de abril, um ultimato à empresa de Jerry Yang: deverão resultar em uma solução livre para caso não cheguem a um acordo com a cúpula diretora da empresa nas multimídia via Web, incluindo codecs de próximas três semanas, a Microsoft deverá recorrer aos acionistas e partir áudio e vídeo. No contexto da iniciativa para uma aquisição hostil. Open Media Commons (OMC), a Sun Na carta, Steve Ballmer advertiu a direção do Yahoo de que, no caso de está trabalhando atualmente no OMS uma ação hostil, a oferta da Microsoft poderá ser menor, devido à redução Video – segundo Glidden, a sigla OMS nos valores das ações das duas empresas ocorrida recentemente. Adicional- pode signifi car tanto Open Media Stack mente, a Microsoft pretende exercer pressão sobre a diretoria do Yahoo, quanto Open Media System . Assim como através de seus próprios representantes no conselho diretor da empresa. ocorre com o formato Flash, da Adobe, Até então, a empresa fundada por Bill Gates havia tentado chegar a um a solução da Sun deverá encapsular um acordo por vias pacífi cas, no intuito de evitar um processo de aquisição codec de áudio e um de vídeo, ao mesmo hostil longo (e possivelmente caro), bem como para preservar as equipes tempo em que cuida do controle e do trans- das duas empresas para quando ocorrer a fusão. Entretanto, segundo Ball- porte de dados, bem como de aspectos de mer, as reuniões realizadas até agora foram infrutíferas. segurança do conteúdo. Os desenvolvedo- Ballmer argumentou ainda, no docu- res do codec de Código Aberto não estão mento, que o Yahoo teria perdido espaço no considerando apenas suas características mercado de máquinas de busca na Internet e técnicas, como velocidade e qualidade: que a situação fi nanceira da companhia teria questões como a aderência da licença do piorado desde que a oferta foi feita. ■ sistema às premissas do Software Livre, ausência de custos com licenciamento e a criação de códigos e métodos que não ➧ Concorrente do ODF vira padrão ISO infrinjam nenhuma patente também são A Organização Internacional de Padronização, ISO, aprovou no dia 1º requisitos do projeto. O desenvolvimento de abril, com 75% dos votos válidos dos membros P , a homologação do do OMS é pautado pela política de direitos formato de documentos de escritório Offi ce Open XML, de autoria da de propriedade intelectual adotada pela Microsoft, como um padrão internacional. A aceitação do formato como Organização Mundial do Comércio, que padrão ocorreu na segunda tentativa da empresa de Steve Ballmer junto não se restringe simplesmente à adoção ao órgão internacional e após sua aprovação pelo ECMA, órgão europeu de uma licença própria – a Common de padronização de sistemas de comunicação e informação. Development and Distribution License O Brasil, representado pela ABNT (Associação Brasileira de Normas (CDDL), que permite uma combinação Técnicas), votou, assim como na primeira avaliação, contra a aprovação de software de código aberto e proprietá- do OOXML – como é chamado o formato – devido a inúmeras questões rio –, mas utiliza também Digital Rights técnicas no documento ofi cial que descreve o formato. Management (DRM). Votaram como o Brasil, o Canadá e a China, além de Cuba, Equa- O codec de vídeo deverá ser dor, Índia, Irã, Nova Zelândia, África do Sul e Venezuela, totalizando oito baseado nas especifi cações do pa- votos de membros P (participantes) e dois de membros O (observadores, drão H.26x – mas sem se limitar a incluindo o Brasil) da ISO. Diversos países se abstiveram, muitos deles elas. Como formato de áudio, os de- emitindo comentários a esse respeito. senvolvedores estão considerando o O período anterior à votação foi alvo de diversas denúncias e formato Xiph Vorbis. A Sun preferiu acusações, relativas a alguns órgãos nacionais e influências exter- não adotar o formato H.264 por não nas e internas de voto. considerá-lo sufi cientemente livre. Pro- Além das falhas técnicas apontadas nas especifi cações do OOXML, jetos que tenham objetivos similares, outro importante argumento contra sua padronização junto à ISO é a exis- como Vorbis , Theora e Dirac , não tência do formato ODF ( Open Document Format), criado de forma aberta são considerados concorrentes, pela organização OASIS, cujo objetivo é justamente o de proporcionar mas “facilitadores”. Glidden, um formato de arquivos de escritório (documentos, planilhas, apresenta- no entanto, não revelou em ções etc.) legível por qualquer programa que o deseje e que já havia sido quanto tempo o produto fi nal aprovado como o padrão ISO/IEC 26300 em 2006. ■ deve estar disponível. ■

Linux Magazine #42 | Maio de 2008 21 © Linux New Media do Brasil Editora Ltda.

21 ����� ������ Tecnologia aSúmario serviço do crescimento da sua empresa.

�������������������������������������� ��������������������������������������� � ���������� �������������������������������� ������������������ ����������������

• Gerenciamento de • Logística • Vendas www.kenos.com.br cadeia e fornecedores • Contabilidade • Produção [email protected] • Análise de performance • Financeiro • CRM (11) 4082-1305 © Linux New Media do Brasil Editora Ltda.

Kenos_Anuncio2.indd 2-3 21.01.08 14:54:57 ����� ������Tecnologia aSúmario serviço do crescimento da sua empresa.

�������������������������������������� ��������������������������������������� � ���������� �������������������������������� ������������������ ����������������

• Gerenciamento de • Logística • Vendas www.kenos.com.br cadeia e fornecedores • Contabilidade • Produção [email protected] • Análise de performance • Financeiro • CRM (11) 4082-1305 © Linux New Media do Brasil Editora Ltda.

Kenos_Anuncio2.indd 2-3 21.01.08 14:54:57 Bossa Conference 2008 A bossa da mobilidade Com um evento único no mundo, a Bossa Conference, do Instituto Nokia de Tecnologia em Recife, comemora sua entrada no calendário internacional. por Pablo Hess

CORPORATE s 9h34min de uma rara manhã é projetada para maximizar o tempo Michael “Mickey” Lauer (figura 1), nublada em Porto de Galinhas, de interação entre as pessoas.” um dos criadores do smartphone total- ÀBrasil, Sandro Alves, Gerente mente livre OpenMoko[4], discursou de Desenvolvimento de Novos Ne- Na prática sobre a construção de distribuições gócios do Instituto Nokia de Tecno- Assim como na edição 2007 do even- Linux específicas para o mercado de logia (INdT)[1], inaugurou a edição to[3], todos os dias contaram com sistemas embarcados com o OpenEm- 2008 da Bossa Conference[2]. Ele sessões voltadas à parte prática dos bedded[5]. Em uma entrevista[6] dada apresentou um curto vídeo contan- sistemas de software que compõem os à Linux Magazine logo em seguida, do detalhes da história e das atrações dispositivos móveis da Nokia. Daniel o alemão exibiu alguns protótipos do de Porto de Galinhas, Recife e do Rocha apresentou o uso de Python dispositivo fabricado pela FIC e con- Estado de Pernambuco. para o desenvolvimento de aplicati- tou a história do desenvolvimento do Alves deu as boas vindas ao público vos sobre a plataforma S60, seguido aparelho que encheu os olhos de todo internacional de 250 pessoas, ainda em- de Mario Hozzano e Leandro Sales, o público presente (figura 2), chamado polgado com a edição de 2007 da Bossa que mostraram como utilizar essa freqüentemente de “playground” para Conference e seu grande sucesso. Logo mesma linguagem na programação hackers, tamanha sua flexibilidade. após a abertura, o gerente explicou o para a plataforma Maemo. No se- Harald Welte, outro alemão partici- trabalho do INdT e, mais importante, gundo dia, Thiago Santos mostrou pante do projeto, tratou de apresentar por que seus funcionários o fazem. na prática como criar plugins para o à platéia o conceito de um smartphone sistema multimídia GStreamer e, após verdadeiramente aberto. Design e conceito o almoço, Denis Kenzior abordou a Depois do almoço, Alp Toker de- Sandro caracteriza o INdT como programação de aplicativos com uso de monstrou ainda os grandes avanços um instituto “movido por design e Bluetooth e OBEX para a plataforma do mecanismo de renderização de conceito” e não “por tecnologia”, Qtopia, desenvolvida pela norueguesa páginas web Webkit, de autoria da embora deixe perfeitamente claro Trolltech e recentemente adquirida Apple e derivado do KHTML, do que não se trata de uma crítica aos pela Nokia. Finalizando as sessões projeto KDE. O desenvolvedor do desenvolvedores de Código Aberto. práticas do evento, Marcelo Oliveira Webkit demonstrou como a equipe “Quando começamos, éramos movi- e Gustavo Barbieri, ambos do INdT, de desenvolvimento do renderiza- dos pela tecnologia”, afirmou, “mas mostraram como desenvolver inter- dor tem preocupação com o uso de gradualmente fomos percebendo faces usando Python e as bibliotecas memória [7], o que vem rendendo que a abordagem orientada ao de- EFL, seguidos de Dave Andreoli, que sign e conceito era muito melhor mostrou outras formas de ir mais fun- e isso tem funcionado muito bem, do no uso dessas bibliotecas. desde então”. A unidade do INdT em Recife Especialistas emprega apenas Código Aberto no Com sua especialização em dispo- desenvolvimento de novos aplicati- sitivos móveis de comunicação e vos e plataformas para dispositivos conectividade, o INdT foi capaz móveis da Nokia e é esse o tema de reunir em Porto de Galinhas central da Bossa Conference: “o um impressionante número de evento é projetado para promover sumidades em grande parte das interação entre os desenvolvedores”, tecnologias que compõem esse Figura 1 Mickey Lauer exibe dois protó- coloca Sandro. “A Bossa Conference crescente mercado. tipos do FIC Neo Freerunner.

24 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Bossa Conference 2008 | CORPORATE

sitivos móveis, como a depuração do Segundo o “dono da festa”, Sandro sistema de comunicação entre processos Alves, os participantes do evento são pes- D-Bus (ministrado por J5 Palmieri), o soas que “amam criar código”, como armazenamento local de dados (semi- definem a si próprios, “sem nenhuma nário de Alexandre Oliva). inclinação política ou ideológica”. O As tendências de desenvolvimento limite de 250 pessoas, afirma Sandro, é também figuraram entre os assuntos para garantir que apenas as pessoas mais debatidos. Daniel Gentleman apre- qualificadas e motivadas participem do sentou formas de interação entre evento, garantindo assim o retorno po- os projetos de Código Aberto e as sitivo de todos -- do público, dos pales- Figura 2 O FIC Neo Freerunner comunidades que os utilizam, dei- trantes e até dos organizadores. ■ é o segundo modelo de xando clara a necessidade de desen- smartphone da FIC a utilizar volvimento nesse campo. a plataforma OpenMoko. Mais informações A questão da mobilidade foi disseca- vários testes desse mecanismo nos da por Marcel Holtmann, mantenedor [1] INdT: dispositivos móveis que são o centro de diversas das pilhas de protocolos http://www.indt.org.br/ da Bossa Conference. de comunicação sem fio no kernel [2] Bossa Conference: Na área de tecnologias visuais – um Linux. Segundo Marcel, o Linux pos- http://bossaconference. dos fetiches desse mercado –, Carsten sui suporte a diversos protocolos de indt.org/ “Rasterman” Haitzler, criador do re- comunicação que nem mesmo estão Bossa Conference 2007, “O conhecidamente inovador ambiente disponíveis comercialmente, o que o [3] futuro da mobilidade”: desktop Enlightenment, demonstrou torna um sistema ideal para os dispo- http://www.linuxmagazine. os motivos do crescente interesse, por sitivos móveis de comunicação. com.br/article/o_ parte dos desenvolvedores de dispositivos Nesse mundo de tantos aparelhos futuro_da_mobilidade embarcados, pelas bibliotecas gráficas com exigências aparentemente para- [4] OpenMoko: que compõem seu software – especial- doxais – cada vez mais funcionalida- http://www.openmoko.org/ mente em relação ao consumo de re- des em dispositivos progressivamente cursos – o que pode acabar por render menores –, a Intel também esteve [5] OpenEmbedded: a essas bibliotecas o posto atualmente presente com seu Mobile Internet http://www. openembedded.org/ ocupado pela GTK[8]. Øyvind Kolås, Device, equipado com o igualmente colaborador de diversos projetos de Soft- novato Ubuntu Mobile Edition. Adil- [6] “O celular mais livre do ware Livre na área visual, como Cairo son Oliveira, da Canonical, apresen- mundo”: e Gimp, também explicou as necessi- tou à imprensa um aparelho não tão http://www.linuxmagazine. com.br/lm/noticia/ dades de hardware para a interface dos pequeno quanto os demais do evento, o_celular_mais_ futuros dispositivos móveis, enquanto e evidentemente com objetivos dife- livre_do_mundo/ Chris Wilson, também envolvido com rentes – o MID é um subnotebook “Webkit em todo canto o Cairo, falou sobre seu processo de reduzido, tanto em capacidade quan- [7] – mesmo”: desenvolvimento, enfatizando os testes to em tamanho – mas equipado com http://www.linuxmagazine. de funcionalidades. uma distribuição que promete mexer com.br/lm/noticia/bossa_ Ainda na questão multimídia, Lennart com esse mercado[9]. conference_2008_webkit_em_ Poetering descreveu a aplicação do ser- todo_canto_ndash_mesmo/ vidor de áudio PulseAudio em dispositi- Um evento único [8] “Enlightenment vai destronar vos embarcados, enquanto Zach Rusin Se o mercado de software para disposi- GTK?”: mostrava, na sala ao lado, os benefícios tivos embarcados tem diversas particu- http://www.linuxmagazine. que os drivers Gallium3D prometem laridades, a Bossa Conference age de com.br/noticia/bossa_ conference_enlightenment_ trazer à área de gráficos 3D. Logo em acordo. Nas duas noites do evento, os vai_destronar_gtk seguida, Conrad Parker completou o participantes foram levados a ambien- tema com sua palestra sobre aspectos tes que propiciavam a interação, o que [9] “Ubuntu para dispositivos internos de reprodutores de vídeo. certamente ajudou muito a troca de embarcados”: http://www.linuxnewmedia. Os organizadores também incluíram idéias entre o público e as “celebrida- com.br/noticia/ubuntu_para_ no programa seminários sobre questões des”, com uma proximidade raramente dispositivos_embarcados especialmente importantes em dispo- vista em outros eventos.

Linux Magazine #42 | Maio de 2008 25 © Linux New Media do Brasil Editora Ltda. Hardware, Código Aberto e Software Enablement Software bem rodado Julia Eisenberg - www.sxc.hu

Por que um fabricante de hardware teria interesse em um software de Código Aberto? Entenda o Software Enablement e seus motivos. por Sulamita Garcia CORPORATE

o final do ano passado, tive radar. Os dois lados, hardware e software, possível verificar quais as prioridades a oportunidade de partici- começam a conversar. O primeiro pas- para o projeto e quais os planos futu- Npar de uma conferência da so, geralmente, é assinar um acordo de ros. Alguns projetos mais maduros têm Intel sobre Software Enabling. Mas confidencialidade – NDA – que defina um planejamento, um roadmap. Um o que é isso e o que tem a ver com os limites sobre as informações com- bom projeto também tem um sistema Software Livre? partilhadas. Então, os engenheiros de de rastreamento de falhas, em que as A dependência entre software e ambas empresas começam a trabalhar pessoas podem relatá-las, verificar o seu hardware, na computação, sempre foi no projeto para o qual foram designa- estado, saber como corrigir um proble- uma discussão do tipo “o ovo e a gali- dos. O tamanho desse time depende ma em particular e até como ajudar a nha”. Hardware não faria nada sem o do projeto, das empresas envolvidas, resolver alguns desses problemas. Então, software; software não faria nada sem da base de usuários que se deseja al- quando se aproxima desses projetos, o hardware. Combinados, porém, eles cançar e de outros fatores. Depois de qualquer um já tem uma boa idéia do fazem tudo o que conhecemos na área. algum tempo, a empresa de software funcionamento dele, antes mesmo de Conforme a tecnologia evolui, o hard- finalmente termina de escrever o có- falar com os responsáveis. ware se torna mais rápido, ao mesmo digo e começa a vendê-lo. Pode exis- Digamos que, com essas informa- tempo em que consome menos energia tir alguma campanha em conjunto, ções, a empresa de hardware tenha e tem o tamanho reduzido. Isso torna em que as duas empresas invistam decido que aquele projeto era inte- possível adicionar mais funcionalidades, algum dinheiro em marketing para ressante, e que valeria a pena traba- tais como melhorar a possibilidade de mostrar o resultado daquele código. lhar com os desenvolvedores. Então, virtualização, integrar redes sem fio ou Algumas vezes, isso traz os resultados a empresa começa a se engajar com ter multiplos núcleos para processar vá- esperados e outras vezes não, mas é alguns dos principais engenheiros, rias instruções ao mesmo tempo. Mas, assim que funciona. que podem apontar quais pessoas para que essas novas funcionalidades Porém, existe outra maneira de fazer têm possibilidade de dedicar tempo façam diferença, o software precisa ser esse mesmo processo. Quando uma a trabalhar com seu hardware. Eles escrito ou modificado para utilizá-la. companhia de hardware se aproxima provavelmente vão precisar de ajuda O Software Enabling é a atividade de de uma empresa de software aberto, no começo e, então, a empresa pode ajudar a escrever esse software. elas podem assinar um contrato de providenciar alguns sistemas para teste, Então, como fazemos isso acon- confidencialidade também, dependen- acesso a documentação e ajuda espe- tecer? Vamos ver como geralmente do dos projetos em que essas empresas cializada dos seus engenheiros. acontece, trabalhando com empresas trabalham. Mas quando uma empresa de código fechado. de hardware quer se aproximar de uma Colaboração comunidade relacionada a um projeto Mas, logo um dos melhores aspectos No radar em particular, não existe uma pessoa do Código Aberto começa a mostrar- Quando o software tem uma boa base para assinar um NDA por todos e isso se: enquanto outros engenheiros, não de usuários ou um bom propósito, ele nem faria sentido. Pela natureza do apenas os da empresa, começam a pode aparecer no radar da companhia Código Aberto, as informações sobre aprender sobre como lidar com o de hardware. Quando a empresa de o projeto também são abertas. Qual- hardware, podem ajudar outras software já pode ter um relacionamento quer bom projeto tem pelo menos uma pessoas no projeto a aprenderem com a empresa de hardware, e já está no lista de afazeres – TODO – em que é também. E esse esforço também

26 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Software Enablement | CORPORATE

aumentará a base de conhecimen- número de especialistas na plataforma blemas de um produto ou inventar to e o número de profissionais com aumentou consideravelmente. recursos que não existem ou não fun- esse conhecimento. cionam não vão render pontos para Depois disso, podemos ter um Interesse em software o produto. A honestidade é sempre software preparado para mostrar as Todavia, há algo que muitas empre- valorizada; esse é um ponto muito novas capacidades do seu hardware. sas não entendem: por que os de- importante e vale a pena reforçar. Quem, então, vai distribuir esse soft- senvolvedores de Código Aberto se Se você fizer isso, pode conquistar ware? Primeiramente, os projetos importariam com o hardware? Bem, valiosos aliados para os projetos, sempre têm seu próprio website. essa é uma parte bastante delicada, que também apreciam serem re- Provavelmente, os usuários desse mas cabe às empresas demonstra- conhecidos por marcas admiradas, software também irão querer testar rem. Isso requer bastante humildade, mas somente se isso não custar a essa nova versão e, então, automati- afinal de contas, o projeto em ques- integridade do projeto. camente é criada uma nova base de tão chegou ao sucesso mesmo sem Algumas empresas falharam usuários. A blogosfera já provou ser apoio da empresa. Tentar dar ordens porque tentaram dizer o que os poderosa para espalhar novas idéias certamente não vai funcionar, nem desenvolvedores deveriam fazer ou e não é incomum desenvolvedores usar a sua grande e poderosa marca mudar os objetivos do projeto ou de software falarem em que andam como se eles devessem ser gratos mexer com as suas razões ideoló- trabalhando ou o que vêm testando. pela empresa ter-se interessado. O gicas – eles acreditam em Código Além de divulgar suas atividades, isso mais importante é que o produto Aberto, não se esqueça disso. ■ também ajuda na documentação. E precisa ser bom. Quando se trata dos se você ainda conseguir ajudá-los a desenvolvedores principais, estamos integrar este a outros projetos em que falando de profissionais altamente Sobre o autor estejam trabalhando, melhor ainda! qualificados, que construíram um Sulamita Garcia é Gerente de Estratégia Os custos para esse tipo de aproxima- projeto suficientemente bom para Linux e Open Source para América Latina da Intel, e uma das coordenadoras do gru- ção são consideravelmente menores, chamar a atenção de uma grande po Linux Chix. em relação ao modelo anterior, e o empresa. Então, maquiar os pro-

Linux Magazine #42 | Maio de 2008 27 © Linux New Media do Brasil Editora Ltda. Entrevista com Theron Morato, responsável pela área de Iniciativas Estratégicas em eSOA da SAP Brasil 100% de serviço

A SAP está reestruturando sua arquitetura para incorporar a disciplina da SOA às suas ofertas. Veja o que esse novo paradigma significa para a empresa. por Pablo Hess CORPORATE disciplina da arquitetura LM» Qual é a estratégia da SAP TM» Nos últimos três anos, os ar- orientada a serviços (SOA) para o mercado de SOA? Que tipo quitetos e consultores da SAP têm Ademanda o contato entre os de parcerias a empresa tem firmado prestado serviços relativos a dife- funcionários de TI e os responsáveis nessa área? rentes aspectos do SOA, entre eles pelos negócios. A alemã SAP faz TM» A estratégia que desenvolve- o roadmap de eSOA. Trata-se do isso há anos e tem reconhecimento mos trabalha com uma semântica desenho de soluções de novos pro- internacional por suas soluções. A de negócios, que tem mais sentido cessos de negócios, com a visão de Linux Magazine conversou com para o analista de negócios, sem o que eles serão reutilizáveis e terão Theron Morato, responsável pela viés técnico. Isso não significa que a vantagens quando implementados área de iniciativas estratégicas em tecnologia não seja importante; mas, com a disciplina do SOA. Com tudo eSOA da SAP Brasil, a respeito das para o público que mais se beneficia isso pronto, nossa expectativa é de que as soluções eSOA da SAP irão ajudar, de forma realmente efetiva, Nossa expectativa é de que as as corporações a superar seus desafios soluções eSOA da SAP irão de negócios com uma plataforma abrangente de serviços. ajudar, de forma realmente LM» Como é a relação da SAP com os efetiva, as corporações a superar fornecedores de componentes para a seus desafios de negócios. infra-estrutura de SOA, como sistema operacional e middleware, especifi- camente os de Código Aberto? ações da empresa no campo de SOA do SOA, que vem das áreas de negó- TM» A SAP tem uma relação de par- e sua relação com padrões abertos e cios, a tecnologia que implementa os ceria com a Novell para que nossos o Código Aberto. conceitos da arquitetura orientada a sistemas possam utilizar como base Linux Magazine» Qual a importância serviços deve ser transparente. o sistema operacional SUSE Linux do mercado de SOA para os negó- A necessidade de uma semântica Enterprise, o qual já é empregado, cios da SAP? de negócios se justifica principalmen- inclusive, nas aplicações BIAccelera- Theron Morato» Extremamente im- te porque não basta termos apenas os tor e Enterprise Search, em parceria portante. Há pelo menos três anos agrupamentos de Web Services, proxies com a HP, IBM e Intel. a SAP vem investindo fortemente e interfaces, pois nem sempre a inte- LM» Qual a relação entre Código Aber- para redesenhar sua arquitetura e gração desses elementos é a melhor to (incluindo padrões abertos) e SOA? assimilar integralmente o conceito maneira de solucionar um desafio de Como a SAP apóia essas iniciativas? de SOA em suas soluções, além de negócios. As parcerias firmadas vêm TM» A SAP está alinhada aos padrões participar ativamente de iniciativas sendo feitas em todos os níveis: de e ferramentas de desenvolvimen- de padronização, linguagens de fornecedores de hardware a fornece- to abertas, como Eclipse, Struts, especificação de processos e ofe- dores de soluções complementares às Hibernate, e linguagens de script. recer todas as suas soluções como soluções da SAP. Nosso objetivo, com isso, é facilitar serviços. Hoje, podemos dizer que LM» Com a disciplina do SOA em o envolvimento de desenvolvedores a empresa tem uma estratégia só- voga atualmente, quais as expecta- Java e SOA na estrutura de enterprise lida e estruturada de enterprise tivas da SAP para esse mercado nos SOA da SAP e no SAP BPP (Business SOA (eSOA). próximos anos? Process Platform). ■

28 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Green IT: soluções para as empresas de TI Cezar Taurion CORPORATE

O consumo de energia dos computadores já está recebendo uma maior parcela de atenção que no passado, o que pode ajudar o Linux a se destacar no mercado. por Cezar Taurion

tema “Green IT” está começando a ser mais eficientes no consumo de energia. Com cer- debatido na mídia e em algumas, ainda teza o tema vai se tornar cada vez mais importante Oesparsas, conversas sobre TI. Ele já faz nos próximos anos. parte da agenda de diversos eventos importantes, Na minha opinião, temos as condições de uma e o último CeBIT foi também palco de vários “Perfect Storm”, que vai disparar ações “verdes”. O anúncios, mostrando a preocupação crescente das termo “Perfect Storm” significa a ocorrência si- empresas com as questões ecológicas. Foi, inclu- multânea de eventos que se tornam muito mais sive, criada uma “Green IT Village”, um saguão poderosos e impactantes quando combinados. dedicado inteiramente às discussões ecológicas e Esses eventos são a crescente conscientização da à exposição de produtos que já usam soluções de realidade do aquecimento global, os crescentes economia de energia e materiais menos agressivos custos de energia e as crescentes mudanças e ao meio ambiente. demandas regulatórias no mundo todo. Isolados, Mas, por que tanta atenção em torno do Green esses eventos têm certo impacto, mas quando IT? Nosso planeta está ameaçado pelo aquecimento combinados deverão gerar uma tendência irre- global. Nós já impusemos tensões cada vez maiores sistível em direção a uma TI Verde. ao finito e limitado meio ambiente, ultrapassando Imagino que, em poucos anos (talvez já em 2010), a sua capacidade de se sustentar. Já consumimos o tema Green IT sairá do campo da curiosidade para 25% mais recursos naturais a cada ano do que o se tornar mainstream, item obrigatório na agenda planeta é capaz de repor. E, nesse ritmo, em 2050 de qualquer gestor de TI. estaremos consumindo mais que o dobro da capa- Entre as tecnologias que vão ganhar muito im- cidade da Terra. pulso nesse contexto, citamos a virtualização e E a TI não fica fora do consumo de energia. À consolidação de servidores e datacenters. Também medida que os servidores se tornam mais poderosos, a discussão sobre thin clients versus PCs completos demandam mais energia e, nos EUA, já representam começará a ter outro apelo. cerca de 1,2% de todo o consumo de eletricidade. E onde entra o Linux nessa história? Entra O Gartner Group cita que, em 2010, cerca de com muita força nas tecnologias acima. Só para metade das empresas listadas na relação Forbes 2000 termos uma idéia da importância do tema, a Li- estarão gastando mais dinheiro com energia que nux Foundation criou uma iniciativa específica, com seus computadores. Seu estudo diz ainda que, acessível em http://www.linux-foundation.org/en/ em média, entre 30% e 60% da energia demandada Green_Linux. Com isso, imagino que o Linux te- em um datacenter é desperdiçada. E lembra que nha grandes chances de se tornar um verdadeiro a TI está hoje como a indústria automotiva estava sistema operacional “verde”, aumentando seu há 20 anos: começando a ser pressionada por maior nível de utilização mundial. ■ eficiência energética. Diante desse quadro, os analistas começam a cha- Sobre o autor mar atenção para o gasto com energia (dos servidores e dos equipamentos de refrigeração) e dizem que, Cezar Taurion ([email protected]) é diretor de novas tecnologias aplicadas da IBM Brasil e editor em breve, os CFOs estarão bem mais preocupados do primeiro blog da América Latina do Portal de com o assunto. Alguns países estão começando a Tecnologia da IBM developerWorks: www-03.ibm. estudar legislações que visem a incentivar e, em al- com/developerworks/blogs/page/ctaurion guns casos, mesmo a obrigar os datacenters a serem

Linux Magazine #42 | Maio de 2008 29 © Linux New Media do Brasil Editora Ltda. Reflexões sobre o desenvolvimento do Código Aberto Ricardo Bimbo

O recente estudo da Linux Foundation sobre o desenvolvimento do kernel Linux indica a participação de empresas, mas é errado imaginar que os tradicionais voluntários estejam desaparecendo. por Ricardo Bimbo CORPORATE

ma recente pesquisa divulgada pela Linux O SourceForge, sozinho, possui quase dois mi- Foundation[1], sobre o desenvolvimento do lhões de usuários registrados e é um erro imaginar- Ukernel, chamou a atenção de diversos blogs mos que sejam todos programadores. Não é difícil e sites de notícia para a participação de funcionários encontrar chamadas solicitando a participação de de empresas dedicados ao dia-a-dia das atividades de gerentes de projetos, especialistas em processos, manutenção, correção e desenvolvimento do kernel especialistas em economia, contabilidade, recursos Linux. Algo como 10.000 patches da atual versão 2.6 humanos e uma infinidade de outras especializações envolveram 1.000 colaboradores e 100 companhias, e conhecimentos. contra 3.700 colaboradores individuais e mais de O que não falta são projetos que disputam 200 empresas, em 2005. a atenção e a dedicação de desenvolvedores. A presença cada vez maior de empresas com cola- E, muitas vezes, esses “voluntários” sentem-se boradores dedicados ao trabalho no kernel evidencia mais eficazes atuando em projetos que têm uma as companhias que têm, hoje, no Linux a principal aplicabilidade no meio em que convivem ou em ou uma das principais fontes de receita. Red Hat, projetos que possam dar sua contribuição dife- IBM, Intel, Novell e a própria Linux Foundation, renciada, seja para destacar-se em seu ambiente juntas com os usuários do Linux, estão na linha de ou só por prazer mesmo. frente do trabalho de manutenção do kernel. Isso demonstra claramente mais uma vantagem do Código Aberto e do desenvolvimento compar- tilhado. Não importam os motivos que levem uma O que não falta são pessoa a participar ou trabalhar em um projeto; projetos que disputam a curva de participação de empresas e seus co- laboradores está deliberadamente vinculada às a atenção e a dedicação curvas de crescimento do projeto e ao número de desenvolvedores. de usuários. Isso reordena o processo produtivo e de desenvolvimento de negócios, abrindo um leque de novas oportunidades. ■ Isso demonstra que o desenvolvedor solitário, independente, está no fim? Todos estão vendendo Mais informações sua força de trabalho intelectual? Não! A conclu- são do estudo da Linux Foundation dá uma dica a [1] Estudo da Linux Foundation: esse respeito: “O kernel Linux é um dos projetos de https://www.linux-foundation.org/ Código Aberto melhor sucedidos”. Existem outros publications/linuxkerneldevelopment.php projetos também de extrema grandeza – como Apa- [2] Sourceforge: che, BrOffice.org, Firefox, Gnome, KDE, MySQL http://www.sourceforge.net/ e PostgreSQL – que disputam o tempo de vários desenvolvedores e têm a participação de empresas. Isso, sem contar os projetos de distribuições como Sobre o autor Fedora e Debian, além dos mais de 170 mil projetos Ricardo Bimbo é Government Relations da Red Hat Brasil e defen- ativos no SourceForge[2] e de um incontável núme- de a idéia de que todo o conhecimento deve ser compartilhado. ro de projetos em outros repositórios.

30 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. ���������������������� ���������

������������� �������� ����������������� ��������������������

�������������������������������������������������������������������������������������������

������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������ ���������������������������������������������������������������

������������������������������

����������������������������������������������������������

© Linux New Media do Brasil Editora Ltda.

LPI.indd 1 26.11.07 16:37:06 Como o PVM influi no mundo BPM Edgar Silva

A modelagem de processos de negócios pode beneficiar-se muito do uso do PVM – Process Virtual Machine. por Edgar Silva CORPORATE

uando falamos em Business Process gem de definição. A PVM é a abstração por trás Modeling, um dos diversos significados de qualquer modelo ou linguagem que a defi- Q de BPM, freqüentemente nos depara- niu. Dessa forma, não importa a linguagem de mos com várias questões importantes. construção do fluxo, porque, no final, todos po- Destas, podemos destacar algumas: derão ser lidos e gerar uma única visão de fluxo ➧ Qual linguagem de processo utilizar? dentro da PVM. ➧ A linguagem escolhida suporta as necessidades O mercado tem apontado inúmeras linguagens para reais de uma forma-padrão? definição dos processos, como BPEL[2], XPDL[3], ➧ Como fazer com que, de fato, uma mudança jPDL e RulesFlow, entre outras. Espera-se, agora, no modelo de negócio se reflita no mecanismo que haja interoperabilidade dos serviços dentro de de execução dos serviços da empresa? uma Arquitetura Orientada a Serviços (SOA). E As respostas para essas questões pairam como um por que não pensar também na interoperabilidade desafio para os arquitetos e engenheiros de software, entre diversos modelos de processos, em diferentes nos dias de hoje. Como o segredo da indústria está linguagens, cooperando e colaborando na execução na padronização, nada mais óbvio que investir em de fluxos de processos de negócio? um trabalho colaborativo que beneficie tanto as Para concluir, o aspecto mais interessante do empresas quanto as comunidades de Software Livre PVM é a total separação do desenho, da execução e, claro, os clientes finais. e de suas linguagens. Isso, com certeza, é um marco Uma novidade no mundo BPM é o PVM (Process muito importante para a concepção de mecanismos Virtual Machine ou Máquina Virtual de Processos), de processos, o que só vai agregar valor às várias so- que vou abordar neste artigo. luções que utilizam os recursos e os conceitos de A indústria tem buscado aplicar os conceitos de workflow e de BPM. ■ workflow e, em paralelo, diagramas de estado e outras formas de diagramação vêm sendo apresentados ao Mais informações mercado diariamente. Entretanto, ainda se percebe um abismo entre o “desenho” e a “execução” dos [1] Flickr: http://www.flickr.com fluxos. Em sua nova roupagem, os workflows, ago- BPEL na Wikipédia: ra mais conhecidos como BPM, tentam aproximar [2] http://en.wikipedia.org/wiki/BPEL esses dois pilares. O objetivo do PVM é promover uma forma-padrão de criar metadados padronizados [3] XPDL: de tudo que é comum a um fluxo, um workflow ou http://www.wfmc.org/standards/xpdl.htm uma máquina/diagrama de estado. Imagine uma foto. Ela possui várias informa- ções de metadados, como fabricante e dia e hora Sobre o autor em que foi tirada. Há sites, como o Flickr[1], Edgar Silva ([email protected]) é Arquiteto de que conseguem ler e apresentar esses dados, in- Soluções JBoss na Red Hat Brasil. Com experiência em obje- dependendo do fornecedor, desde que utilizem tos distribuídos (Corba, COM+ e Java) desde 1998, nos últimos esses padrões. Essa é mais ou menos a idéia da anos Edgar vem pesquisando, aplicando e ministrando pales- tras e treinamentos no Brasil e no exterior sobre assuntos de alta PVM. Entre seus objetivos está a abstração geral tecnologia, incluindo JavaEE e SOA. de qualquer tipo de fluxo e sua possível lingua-

32 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. SOA explicada Sirva-se com software

Software e serviço agora são, com freqüência, a mesma coisa. A arquitetura orientada a serviços proporciona o funcionamento adequado de todos os componentes. CAPA por Pablo Hess

oftwares multi-plataforma já estão no mercado mais importante que os softwares corporativos sejam há tempos. As linguagens de programação ditas capazes de rodar em múltiplas plataformas. S“de script”, por exemplo, como Perl, Python, Tamanha é a importância disso – e do Java nessa Ruby e Tcl, para citar apenas as mais populares, são fórmula – que a Sun chegou até mesmo a alterar seu capazes de executar instruções em qualquer plata- código de quatro letras usado na bolsa NASDAQ de forma que possua uma versão de seu interpretador, SUNW para JAVA, sugerindo que a relevância da lin- inclusive com vistosas interfaces gráficas. guagem, hoje, é superior à tradição da empresa no A oferta da Sun Microsystems, o Java, vai um ramo de workstations. passo além, oferecendo toda uma máquina virtual No entanto, mesmo com uma máquina virtual prati- que trata de toda a interação com o sistema opera- camente onipresente nos desktops e servidores atuais, há cional subjacente, o que facilita ainda mais a cria- dificuldades para distribuir softwares multi-plataforma ção de softwares multi-plataforma. Atualmente, que dependam de extensões ou bibliotecas externas ao com os sistemas de Código Aberto – como o Linux núcleo da linguagem. Lidar com a instalação desses – aumentando sua presença no mercado, mas com componentes pode ser muito fácil para adminis- outros sistemas Unix e Windows® também tradores de sistemas, mas com freqüência, presentes de forma significa- os usuários não-técnicos são prejudi- tiva, é cada vez cados nessa tarefa.

Índice de matérias de capa Bem arquitetado pág.36 Clientes espalhados, servidores distribuídos pág.40 Quase faz café pág.44

34 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. SOA explicada | CAPA

Serviços Nomes Que tal, então, atribuirmos ao administrador a O software como serviço, ou SaaS, na sigla em tarefa de instalar o software e todos os compo- inglês, é também uma nova forma de comerciali- nentes requeridos por ele? Com isso, o usuário zação de softwares, inclusive de Código Aberto. E precisaria apenas apontar seu navegador web para a arquitetura necessária à implantação e desenvol- a URL do software, que, localizado no servidor, vimento de softwares sob esse princípio é a Arqui- seria executado sem dificuldades e sem necessi- tetura Orientada a Serviços, ou SOA. dade de instalação pelo usuário. Como você verá nos artigos desta edição da Linux Felizmente, essa abordagem ainda traz vanta- Magazine, a SOA propõe a infra-estrutura e também gens adicionais. É possível, por exemplo, utilizar as diretrizes para que softwares sejam executados como os poderosos componentes da linguagem criada serviços e comuniquem-se uns com os outros, de forma pela Sun para implementar clusters de alta dis- semelhante ao que ocorre num sistema operacional ponibilidade ou alto desempenho, permitindo, tradicional, com comunicação entre processos e biblio- assim, que os usuários desfrutem do software de tecas e outros componentes compartilhados. forma ininterrupta e com desempenho inega- Nas páginas a seguir, apresentamos a visão da velmente superior ao que seria possível em seu construção de aplicativos como serviços, uma análise hardware local. dos princípios da SOA e a plataforma de desenvol- Essa abordagem para a oferta de softwares já vimento NovaForge, fortemente inclinada à oferta é usada há algum tempo e um de seus exemplos de softwares como serviço. mais populares é o Google Docs[1], um conjunto Boa leitura e bom serviço. ■ de aplicativos de escritório disponível online e gratuitamente para qualquer usuário. Com ele, Mais informações uma pessoa com acesso à Internet pode se desfa- zer da necessidade de baixar ou adquirir softwares [1] Google Docs: http://docs.google.com equivalentes – ou quase equivalentes – como o [2] BrOffice.org: http://www.broffice.org BrOffice.org[2] ou o Microsoft Office.

Linux Magazine #42 | Maio de 2008 35 © Linux New Media do Brasil Editora Ltda. CAPA

SOA sobre JBoss Bem arquitetado A plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de aplicações JBoss. Conheça-os em detalhes. por Edgar Silva

fácil imaginarmos um líder Quando falamos de SOA, é um arquivos, FTP, email e até o acesso ou gerente de TI fugindo ligeiro engano acreditar que basta a banco de dados. Édesesperadamente ao ou- então transformar tudo em Web A divisão JBoss da Red Hat tem vir a pergunta: “O que é SOA?”. Services e – pronto! – sua empresa o JBoss SOA Platform como plata- Embora a resposta simples e direta está 100% aderente a SOA. Isso forma voltada para SOA, que reú- seja a explicação da sigla Service pode ser um passo que, inclusi- ne em um único pacote algumas Oriented Architecture, é importante ve, leva a questões que preparam soluções, descritas abaixo: lembrar de que, muito mais que para os seguintes. Ter as peças ➧ BPM: JBoss jBPM; orientados a serviços, devemos separadas e isoladas não faz um ➧ Engine de regras: JBoss Rules; estar orientados para os serviços. motor de carro funcionar; todas ➧ ESB: JBoss ESB; Partindo desse sentido, devemos as engrenagens, ordens de acon- ➧ Persistência de dados: JBoss associar toda essa visão dos servi- tecimentos (orquestração), regras, Hibernate; ços como agentes impulsionadores seqüência de ações (processos), ➧ Framework de desenvolvi- de negócios. devem ser previstas, para que o mento de aplicações: JBoss Um serviço, a grosso modo, conjunto possa funcionar. Seam; é um componente que pode ser Quando falamos de SOA, é ➧ Servidor de aplicações: JBoss reutilizado independentemente importante lembrar que vários sis- Application Server. de tecnologias, departamentos ou temas ERP no Brasil são legados, Vale ressaltar que, embora o empresas. Ao mesmo tempo que portanto, não possuem aderência JBoss Application Server sustente pode ser genérico, ele pode tam- a Web Services, assim como fal- todas essas soluções de produtos, é bém ser específico às necessida- tam formas de integração das mais possível usar qualquer servidor de des e demandas de uma empresa. diversas, desde a transferência de aplicação de outros fornecedores,

36 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. SOA com JBoss | CAPA como IBM WebSphere, Oracle AS JBoss Hibernate a todo momento, durante a cons- ou BEA WebLogic. Isso só é possí- A tarefa de construir aplicações Java trução de sistemas. vel graças aos padrões abertos, que que se comuniquem com bancos Essa característica do Hibernate permitem ao cliente escolher os de dados pode ser extremamente também é fundamental para que as produtos que melhor supram suas facilitada com o uso de uma fer- aplicações sejam independentes do necessidades. ramenta “modelo-relacional” ou servidor de banco de dados. Desse A seguir, descreveremos cada ORM, como o Hibernate. Dentre modo, pode-se trocar de sistema ge- um dos componentes da platafor- suas inúmeras vantagens, podemos renciador de banco sem aquela antiga ma SOA, oferecidos pela Red Hat citar o fato de que todo o desen- preocupação com o funcionamento sobre seu servidor de aplicações volvimento passa a ser, de fato, de instruções SQL em diferentes de Código Aberto. orientado a objetos. Isso significa bancos de dados. Portabilidade de que comandos SQL, como insert fornecedores de bancos de dados e Servidor de into, update e outros, pertencem produtividade no desenvolvimento ao passado, dando lugar a procedi- de aplicações são importantes para aplicações mentos ocorridos inteiramente no termos respostas rápidas às deman- O JBoss Application Server é a ambiente da aplicação: cria-se uma das ocasionadas por uma arquitetura infra-estrutura para a plataforma estrutura baseada em um objeto do orientada para o serviço. SOA da Red Hat. Com cerca de tipo “cliente” e solicita-se que um oito anos de presença no merca- recurso de sessão (SessionFactory) do, ele constitui o alicerce que o salve. Nesse momento, o Hiber- JBoss SEAM permite executar os outros produ- nate, entre suas várias funções, Quando alguém criticava o Java tos, visando a alta performance, conhece a relação entre o mode- no passado, um dos motivos era escalabilidade e segurança para lo de objetos e as informações da o grande número de camadas de o serviço dos clientes. estrutura de tabelas do banco de componentes para realizar uma Robustez, no entanto, não é si- dados. Sendo assim, caberá a ele, operação. Em alguns casos, o exa- nônimo de dificuldade de instala- não mais ao desenvolvedor, a ta- gero de implementação dos pa- ção, execução e utilização. Caso refa árdua de lidar com a falta de drões de projeto (design patterns) o servidor já possua uma máquina produtividade da linguagem SQL ocasionava uma arquitetura com- virtual Java instalada e confi- gurada, basta descompactar os pacotes dos componentes disponíveis no site de proje- tos do JBoss[1]. Em seguida, vá até o subdiretório bin/ dentro do diretório de ins- talação do JBoss e execute o comando run (em sistemas Windows®) ou run.sh (em Linux, Solaris ou outras va- riantes de Unix). Feito isso, o JBoss estará pronto para a instalação dos seus aplica- tivos Java EE. É claro que poderá haver necessidade de instalação de recursos de bancos de dados (Datasour- ces) ou filas JMS. Nesse caso, e se houver maior interesse, informações a respeito destes recursos estão disponíveis na documentação gratuita Figura 1 Ambiente de projeto de processos do JBoss jBPM. do produto.

Linux Magazine #42 | Maio de 2008 37 © Linux New Media do Brasil Editora Ltda. CAPA | SOA com JBoss

Entre as características principais do JBPM está sua possibilidade de execução sobre qualquer servidor de aplicações Java ou, alternati- vamente, como serviço Java standalone – sem um servidor de aplicações. Também pode manter os dados a respeito de versões e execuções dos processos em qualquer banco de dados. A figura 1 mostra uma visão do ambiente de projeto e gerenciamento do JBoss jBPM.

JBoss Rules O JBoss Rules, ou Drools, (seu nome na versão co- munitária), é um produto Figura 2 O editor de regras do JBoss Rules oferece suporte a DSLs em português. notável, cujas principais características são: plexa e aplicações sujeitas a erros BPMS (Business Process Manage- ➧ baixo custo de suporte e au- clássicos. Pessoalmente, ao longo ment System). Ele satisfaz tanto sência de custo de licenças, de anos prestando consultoria em aos analistas de negócios quanto como seus concorrentes; frameworks sofisticados, perdi a aos engenheiros de software, pois, ➧ marcante evolução de versão conta de quantas vezes nossa equi- muito mais que oferecer uma fer- para versão, com estabilidade pe encontrou problemas ao fechar ramenta de desenho para modelar confiável; conexões de bancos de dados ou negócios e serviços, possui um ➧ membros brasileiros na equipe invocar sem necessidade a consulta framework completo para geren- de desenvolvimento. de contexto de objetos etc. ciamento, monitoração e controle Sobre a motivação para utilizar O Java evoluiu muitíssimo nos de todas as fases dos fluxos dentro esse software, é importante notar últimos anos, permitindo a criação do processo. que as regras de negócios são os de recursos muito mais estáveis e Como novidade, as próximas ativos mais alterados dentro de modernos. O resultado foi o surgi- versões do jBPM devem trazer uma arquitetura SOA. Respostas mento de frameworks como o JBoss a implementação do conceito rápidas e cenários especiais podem Seam, que reúnem em uma única PVM (Process Virtual Machine ser alcançados com facilidade, solução todo o necessário para criar – Máquina Virtual de Processos), separando a maioria das regras aplicações corporativas nos mode- que, em resumo, é um framework de códigos de infra-estrutura e a los Web 2.0 e aderentes a SOA. O de máquina de estado. Porém, o aplicação propriamente dita. Seam utiliza como infra-estrutura propósito da PVM vai muito além Realizar alterações em uma tecnologias estabelecidas, como disso: permite, por exemplo, abs- aplicação Java, muitas vezes, pode o Enterprise Java Beans 3.0 e Java trair a linguagem de composição ocasionar a perda de tempo para Server Faces, além de toda a riqueza do desenho de processos. Com testar novamente todas as partes proporcionada pelo Ajax. isso, espera-se poder ter inúmeras afetadas pela mudança da rede. linguagens para definição, como Porém, esse não é o grande pro- BPEL, jPDL, XPDL e Seam Page blema; muitos ambientes críticos JBoss jBPM Flow. A PVM será capaz de rende- de produção podem ter a neces- O JBoss jBPM é um projeto que rizar de forma visual os processos sidade de reinicialização. Usando resulta em um produto, muito definidos, independente da lin- JBoss Rules, a alteração de uma mais que em uma solução de guagem empregada. regra exigiria apenas a alteração

38 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. SOA com JBoss | CAPA

representação se- parada por virgulas em XML. A partir desse XML, é pos- sível criar objetos Java, publicando, a partir destes, infor- mações numa fila JMS como a do IBM MQSeries ou ain- da invocar um Web Service baseado em C#, rodando num servidor Windows. Atividades como es- Figura 3 Interface do editor do Rules Flow, que permite o desenho de regras de forma visual. sas são possíveis com o JBoss ESB. do arquivo dessa regra, sem a ne- JBoss ESB cessidade de tocar no núcleo da Em agosto de 2007, a nova versão Conclusões aplicação, economizando assim do JBoss ESB trouxe várias inova- Este artigo não tem como objetivo tempo e parte dos testes. ções e melhorias que fizeram com fazer propaganda das soluções da As regras de negócio também que seu posicionamento, antes Red Hat, mas mostrar como essas podem possuir seus idiomas pró- ligeiramente atrasado em relação ferramentas compõem uma ofer- prios – um conceito chamado de aos concorrentes de Código Aber- ta interessante e altamente capaz Domain Specific Language, ou DLS, to (Apache Service Mix e Mule, de fornecer uma infra-estrutura que nos permite o uso de jargões, principalmente), superasse essas adequada à pratica da SOA, em idiomas, expressões e dialetos de alternativas. Agora, o JBoss ESB qualquer empresa. negócio para compor nossas regras. compete de igual para igual com O uso dos produtos descritos Assim, fica mais fácil os analistas soluções de fornecedores como neste artigo não requer o preenchi- de negócios comporem as regras no BEA, Oracle e IBM. mento de formulários ou a compra idioma português brasileiro. O conceito de ESB (Enterprise de licenças, pois tratam-se, todos, O JBoss Rules pode ser embar- Service Bus), em termos gerais, de Softwares Livres. Caso seja ne- cado em soluções de mercado, as- significa ser o barramento para os cessário conformar o serviço a um sim como executado em qualquer serviços que a empresa possui. É SLA, obter garantia ou suporte, servidor de aplicações Java. nele que credenciais de seguran- é possível também contratar esses Os desenvolvedores também ça, single-sign on, orquestração e serviços de forma especializada. dispõem de plugins nativos para outras atividades acontecem. A No Brasil, esse modelo parece o Eclipse[2], que permitem o de- questão, nesse caso, é que mui- ser o mais racional, já que, somente senho e o desenvolvimento da tos ESBs de mercado pregam após investimentos em estudos de escrita de regras. O JBoss Rules que um serviço somente pode ser viabilidade e adequação, as em- também suporta o desenho de re- mascarado ou exposto por meio presas escolhem se e como irão gras por meio de diagramas como de um Web Service; essa obriga- contratar suporte. ■ fluxos de regras. Esse recurso tem toriedade, no entanto, não existe o nome de RulesFlow e pode ser no JBoss ESB, já que, como prin- um guia visual para a execução de cipal diferencial, ele “conversa” suas regras de negócio ou ajudar a com vários protocolos de registros Mais informações visualizar como possível orquestrar de serviços. serviços através de regras de ne- Imagine poder considerar a ge- [1] JBoss: http://www. gócios. As figuras 2 e 3 mostram, ração de um arquivo csv vindo do jboss.org/projects respectivamente, o editor de regras ERP – um evento suficiente para [2] Eclipse: http://www. em modo de código e o ambiente disparar várias atividades dentro eclipse.org/ de desenho do RulesFlow. da empresa, como transformar a

Linux Magazine #42 | Maio de 2008 39 © Linux New Media do Brasil Editora Ltda. O desenvolvimento de aplicações e a SOA Clientes espalhados, Irum Shahid – www.sxc.hu CAPA servidores distribuídos Como novo paradigma, a SOA requer algumas mudanças profundas na forma de projetar, implementar e organizar aplicações corporativas. por Antônio Godinho

uando uma nova tecnologia Princípios viço e, dentro do contexto da SOA, é introduzida no mercado, A base da SOA é a definição do ser- uma aplicação é um conjunto de Quma das principais preocu- viço que será fornecido. Esse servi- provedores de serviços colaborativos pações de qualquer gerente ço é exposto para seu usuário com residentes ou não em uma mesma de desenvolvimento é perguntar-se: funções e interfaces bem definidas, plataforma ou organização. Supondo “Devo adotar a nova arquitetura?”, é independente do consumidor do que a empresa possua vários sistemas “Quais benefícios essa nova solução serviço, pode estar codificado em – entre pacotes, sistemas ERP (En- traz ao meu ambiente?”, “Como co- qualquer linguagem e ser executado terprise Resource Planning) e desen- meço o processo de adoção da SOA em qualquer combinação de plata- volvimento interno e o usuário final (Service Oriented Architecture)?”, “O forma ou sistema operacional e a in- – ao fazer uma consulta precisa de que fazer com as aplicações que já exis- formação sobre esse serviço pode ser dados fornecidos por diversos desses tem?” e “Como desenvolver aplicações obtida a partir de algum diretório na sistemas. Então, temos uma situa- voltadas ao novo ambiente?” rede. Como conseqüência, é possível ção na qual a arquitetura facilita o Avaliar se determinada arqui- substituir um serviço por uma nova ambiente de desenvolvimento, per- tetura ou solução traz benefícios versão, executada em outra platafor- mitindo a criação de uma aplicação para nosso ambiente é funda- ma, sistema operacional ou lingua- composta que utilizará as aplicações mental. Para analisar a primeira gem, sem afetar o consumidor desse já existentes. Cada aplicação existen- questão acima, vamos definir al- serviço, como mostra a figura 1. te é um potencial provedor de um gumas características da arquite- O consumidor do serviço pode serviço usado pela nova aplicação tura orientada a serviços. ser o usuário final ou um outro ser- composta, como na figura 2. Se considerarmos que, atualmen- te, cada empresa depende de outras dentro do contexto de mundo globa- lizado e que há uma sinergia entre aplicações executadas em diferentes empresas, podemos ter um quadro em que uma companhia fornece um serviço para outra e, nesse caso, o usuário final pode usar diversos serviços fornecidos por mais de uma empresa. Além disso, a abordagem SOA permite o desenvolvimento de novos serviços, de forma mais rápida, uma vez que aproveita serviços já exis- tentes e com maturidade e eficiência Figura 1 Camadas adotadas em SOA.

40 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Desenvolvimento e SOA | CAPA

comprovadas, reduzindo o período Uma das boas no- de testes da nova aplicação. tícias da SOA é que a sua adoção não impli- Início da adoção ca descartar o que foi Considerando que resolvemos ado- feito previamente. Os tar a SOA, precisamos responder primeiros passos para a segunda pergunta do gerente de a adoção da arquitetu- desenvolvimento, que diz respeito a ra orientada a serviços como começar o processo de adoção são avaliar as aplicações dessa arquitetura. existentes, analisar os ser- Como em qualquer novo conhe- viços e as funções, sele- cimento, o primeiro passo é difundir cionar quais devem ser a estratégia. O melhor modo de fazer publicadas e, de acordo isso é por meio de oficinas junto à com suas características, equipe, nas quais as tendências de selecionar os conectores mercado são colocadas e é realiza- adequados. Figura 2 O consumidor acessa a aplicação-serviço fornecida da uma exposição das tecnologias Como vimos, o ser- pelos provedores distribuídos. existentes. É importante, também, viço precisa estar bem alinhar a adoção da SOA com as definido e com interfaces claras. Se de serviços, eles podem se comunicar expectativas ou problemas do negó- a aplicação em questão não possui diretamente entre si, como mostrado cio, de maneira a criar a motivação essas características, é preciso usar nas conexões A da figura 3. Os proto- necessária em toda a equipe. um conector que as forneça, como colos podem incluir, por exemplo, É necessário, ainda, fazer um mape- um Resource Adaptor, que encapsu- mensageria e SOAP (Simple Object amento desses problemas de negócio, laria uma aplicação não-conforme Access Protocol). assim como das melhores práticas do na SOA. Nesse caso, estamos abordando a mercado e das vantagens em adquirir questão do reaproveitamento das apli- pacotes, em comparação com o de- Interconexão cações existentes – muitas vezes elas senvolvimento interno, e identificar Nesse momento, começamos a ver mais não suportam os protocolos escolhidos, quais os padrões mais adequados ao um item importante da arquitetura: a sendo chamadas de “não-conformes”. ambiente. Convém ressaltar que, nes- infra-estrutura de interconexão. Ela é A adaptação (encapsulamento) é exe- sa fase é bom ter alguém externo para composta por dois módulos lógicos, cutada por um conector, como mos- fazer a moderação dessa oficina, com como podemos observar na figura 3, trado na figura 3, pela conexão B. O o intuito de contar com uma pessoa que exibe em mais detalhes o barra- conector converte o protocolo no que isenta que possa enxergar o todo e não mento de serviços. O barramento de for necessário para acessar a aplicação esteja envolvida com questões internas serviços conecta todos os fornecedo- – e vice-versa na saída. ou departamentais. res de serviços, enquanto o canal de Uma variedade de serviços básicos acesso une os usuários/consumidores é necessária para que o barramento Aplicações anteriores internos e externos aos serviços. de serviços seja facilmente usado. No mundo do desenvolvimento, Eles abrangem dois grandes grupos: já passamos por vários ciclos de Barramento “Utilitários”, responsável pelo dire- linguagens e arquiteturas. Logo, tório de serviços, tradutores de códi- é natural que a empresa possua de serviços go, formatadores de mensagem; e sistemas, estruturas e linguagens O barramento de serviços integra várias “Gerenciamento”, responsável pela diferentes. Essas aplicações con- entidades de software. O módulo prin- monitoração – incluindo relatório de têm, dentro de si, lógicas de negócio cipal é o subcomponente de “Interco- erros – configuração e segurança. Os desenvolvidas ao longo do tempo e nectividade de serviços”, que fornece subcomponentes do serviço de inter- são um ativo muito importante da os protocolos e outras funções neces- conectividade e os conectores fariam empresa. É natural, portanto, que sárias para conectar o gerenciamento a interface com a lógica comum, as- a terceira dúvida venha à tona: se de canal de acesso aos provedores de sim como os provedores de serviço vamos investir em uma arquitetura serviço, bem como os provedores uns e o componente de gerenciamento SOA, o que devemos fazer com as aos outros. Se eles suportam os proto- canal de acesso, como mostrado nas aplicações existentes? colos utilizados na interconectividade conexões C da figura 3.

Linux Magazine #42 | Maio de 2008 41 © Linux New Media do Brasil Editora Ltda. CAPA | Desenvolvimento e SOA

Camada física Com a abordagem do concentrador, ver com mais detalhes a outra camada Note que, até o momento, falamos o barramento de serviços é implemen- da infra-estrutura de interconexão, apenas da camada lógica. Natural- tado em um servidor independente ou mostrada na figura 4. mente, há uma camada física que em um conjunto de servidores. Os pro- pode ser implementada de forma vedores de serviços podem implementar Usuário distribuída ou centralizada, usando quaisquer dos protocolos suportados O gerenciamento de canal de acesso uma abordagem de concentrador. Na pelo subcomponente de interconec- se conecta ao barramento de serviços abordagem distribuída, os subcom- tividade de serviços. Requisições de do mesmo modo que os provedores ponentes do barramento de serviços entrada são roteadas para o serviço de de serviço. Ele executa duas funções estão espalhados pelos componentes, destino apropriado. O concentrador ou conjuntos de funções: “Gerencia- e a rede fornece as interconexões fí- age, então como um comutador. Pro- mento de interface de usuário”, que sicas necessárias. Essa abordagem é, tocolos diferentes podem ser usados trata da interface para os usuários ou na verdade, uma série de conexões entre as conexões de origem e destino; consumidores de serviço, como na- ponto-a-ponto, que pode rapida- o subcomponente “Interconectividade vegadores web, estações de trabalho mente aumentar a complexidade, de Serviços” no concentrador executa com clientes inteligentes e serviços caso existam mais que apenas um a conversão entre ambos. web; e “Mapeamento e definição do ou dois protocolos, ou um número Com essa estrutura, resolvemos serviço”, que identifica os serviços pequeno de serviços. Para montar a questão das aplicações existentes disponíveis e conecta as requisições um ambiente mais administrável, a do ponto de vista de infra-estrutura de entrada aos provedores de serviço, abordagem com a utilização de um interna. E o contato com o usuário? usando as interfaces expostas. concentrador é melhor. Para trabalharmos esta parte, vamos O mapeamento e a definição do serviço podem ser bem simples – ape- nas um ponteiro para o provedor do serviço. Um processo completo de negócio, no entando, pode necessitar do uso de vários provedores de servi- ço e as seqüências nas quais eles são invocados podem variar, dependen- do do resultado das requisições a um provedor de serviço específico. Orquestração e barramento Figura 3 A infra-estrutura de serviços, em SOA, transita pelo barramento de A orquestração pode ser feita, obviamen- serviços ou ESB. te, escrevendo-se o provedor de serviço externo, que implementa as regras de negócio para o processo em questão e invoca os provedores internos, quando necessário. Contudo, já existem vários produtos para apoiar a criação da infra- estrutura SOA, que incluem portais, produtos de EAI (Enterprise Applica- tion Integration) e, mais recentemente, produtos ESB (Enterprise Service Bus). Poderosas ferramentas de orquestração disponíveis dentro desses produtos per- mitem criar o processo completo, pro- vendo interfaces gráficas para identificar os provedores internos necessários e as Figura 4 As conexões entre provedores internos e externos compõem a outra regras de negócios a serem seguidas camada da estrutura de interconexão. durante o processo.

42 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Desenvolvimento e SOA | CAPA

Desenvolvimento claros, é impor- tante garantir que de aplicações a métrica básica Finalmente, vamos responder a úl- da arquitetura tima pergunta do gerente de desen- orientada a ser- volvimento: “como desenvolver apli- viços seja medida cações voltadas ao novo ambiente?”. e explorada. Um Caso se trate de uma nova aplicação, dos principais atri- o ideal é utilizar uma ferramenta butos da SOA é que possua um ambiente completo a capacidade de e rápido para desenvolvimento e im- reutilizar serviços plementação de aplicativos, permita existentes em no- essa implementação com agilidade vas aplicações – e de novos processos e encapsule o co- é necessário man- nhecimento dos negócios sob a forma ter esse catálogo Figura 5 O ESB realiza a comunicação entre os canais de acesso de múltiplos grupos de provedores, que podem representar de componentes reutilizáveis. bem definido. diferentes departamentos, empresas etc. Um dos pontos fundamentais da Para auxiliar SOA é que o serviço pode ser execu- nesse controle, tado em qualquer plataforma, sistema existem diversas ferramentas disponí- dos: (i) processos de negócios, operacional ou linguagem. Desse modo, veis, que utilizam definições como: (ii) protocolos de colaboração, ao desenvolver um serviço, o desenvol- ➧ UDDI (Universal Descrip- (iii) componentes de dados prin- vedor não deveria se preocupar com tion, Discovery and Integra- cipais, (iv) mensageria, e (v) re- características de uma linguagem ou tion) – registro independente gistro e repositórios. plataforma específica. Esses serviços de plataforma, baseado em devem ser desenvolvidos, rapidamen- XML, cujo objetivo é listar te e com facilidade, em conjunto com serviços acessíveis pela Web. Considerações finais analistas de negócios e usuários finais, Trata-se de uma iniciativa A adoção da SOA tem aumenta- utilizando a terminologia e o vocabulário aberta, que permite às empre- do rapidamente. Além de reunir compreendidos por eles. O importan- sas publicarem listas de servi- muitas vantagens em um ambien- te é se preocupar com o negócio que ços, acessá-los e descrevê-los, te distribuído de aplicações, que é será atendido, e que exista um nível de possibilitando que aplicações a nossa realidade hoje, há diversas abstração entre a lógica de negócio e possam interagir. A UDDI foi ferramentas disponíveis no mercado a plataforma ou linguagem na qual o originalmente proposta e pro- que facilitam o seu uso. Com pro- serviço será executado. jetada para ser interligada por fundas diferenciações em relação Note que há um ambiente (“Mode- mensagens SOAP, provendo ao desenvolvimento tradicional de lador do sistema”), no qual o negócio é acesso a documentos WSDL sistemas, é necessário planejar bas- modelado. O construtor traduz o negócio com as descrições de protoco- tante sua introdução junto às equi- para o ambiente final com todas as ca- los e formatos requeridos para pes de desenvolvimento e contar racterísticas corporativas, para assegurar a interação com os serviços web com apoio externo à empresa para integridade da aplicação modelada. listados no diretório; que a mensagem seja absorvida com O modelador do sistema deve ➧ ebXML (Electronic Business mais facilidade. Com tudo isso, e oferecer a flexibilidade de adicionar using eXtensible Markup Lan- considerando as respostas ao gerente interfaces de usuário final ao modelo, guage) – nada mais que uma de desenvolvimento, a arquitetura que podem ser implementadas em grande biblioteca contendo orientada a serviços é um excelente uma ampla gama de ambientes. informações sobre os serviços caminho para a integração de tran- disponíveis e como acessá-los. sações distribuídas. ■ Governança e Sua infra-estrutura é aberta e baseada em XML, habilitando segurança o uso global das informações Sobre o autor Uma vez que tenham sido realizados de forma interoperável, segura Antonio Godinho é arquiteto de sistemas os levantamentos e as oficinas, a equi- e consistente. Incorpora cinco na Unisys Brasil. pe está motivada e os objetivos estão camadas de definições de da-

Linux Magazine #42 | Maio de 2008 43 © Linux New Media do Brasil Editora Ltda. A fábrica de software corporativo NovaForge Quase faz café

Com o NovaForge, é muito prático hospedar, gerenciar e testar CAPA softwares em escala corporativa. por Pablo Hess

Andrzej Gdula – sxc.hu

istemas de desenvolvimento No entanto, empresas que de- volvedores que desejem hospedar distribuído de software são sejem gerenciar seus projetos de seus projetos nesse sistema, isso Saltamente produtivos. Em- software corporativo de forma significa uma maior base de ferra- pregados amplamente por projetos centralizada, com testes e análises mentas, não apenas para gerenciar de Software Livre, sistemas como de desempenho durante a noite, o código-fonte do projeto mas o git[1], CVS[2][3], SVN[3][4], Mer- além da geração automatizada de projeto em si, assim como toda a curial[5] e Bitkeeper[6], apenas para relatórios, têm como única alter- documentação relevante. citar os mais famosos, possibilitam nativa o emprego de um servidor O NovaForge de fato facilita o desenvolvimento colaborativo da próprio para essas tarefas. Ou me- o gerenciamento de projetos de grande maioria dos softwares de Có- lhor, tinham. software de escala industrial, de digo Aberto, desde o kernel Linux No intuito de oferecer uma al- formas que o SourceForge ou mes- até sofisticados ambientes desktop ternativa de caráter corporativo, mo o CodePlex[14], da Microsoft, como Gnome e KDE. que forneça aos projetos toda a jamais pretenderam fazer. E a Uma interessante alternativa à infra-estrutura para a criação e ge- melhor parte: o sistema é inteira- manutenção de um servidor de de- renciamento, a francesa Bull[12] mente voltado ao Código Aberto senvolvimento “dentro de casa” é o lançou o NovaForge[13]. e padrões abertos. uso de repositórios de projetos de De acordo com a Bull, os prin- software, cujo exemplo mais famoso Corporativo cípios do NovaForge são: é o SourceForge[7], que abriga ou já Em seu whitepaper, a Bull afirma ➧ capitalização: empregar fer- abrigou inúmeros projetos de Código ter “empregado no NovaForge ramentas de desenvolvimen- Aberto, desde os mais simples e de uso seus conhecimentos metodológi- to qualificadas e metodolo- restrito a uma área de atuação até os cos e sua experiência na condu- gias aprovadas, assim como atuais campeões de atividade[8], o ERP ção e realização de projetos de a reutilização dos trabalhos Openbravo[9], o software de comparti- desenvolvimento e integração de já realizados; lhamento Azureus[10] e o programa de sistemas numa plataforma indus- ➧ compartilhamento: compar- gráficos vetoriais Inkscape[11]. trial de produção”. Para os desen- tilhar a mesma visão que os

44 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. NovaForge | CAPA

projetos, independen- temente da localização de seus participantes, e compartilhando tam- bém o repositório de documentação; ➧ flexibilidade: o Nova- Forge foi concebido de forma modular, para incluir ferramentas par- ticulares e, assim, res- ponder aos diferentes níveis de atividade dos projetos, tanto hospedados sobre uma infra-estrutura de rede de alto desem- penho quanto instalado no cliente. É interessante notar que o terceiro item dessa lista já dei- xa clara a inclinação da plata- forma aos novos princípios de software como serviço.

Processo de Figura 1 Diagrama das etapas de desenvolvimento de software no NovaForge. desenvolvimento Sob o NovaForge, as diferentes ➧ ambiente de desenvolvimento pa- e outro – Bull SOA IDE – feito etapas de desenvolvimento de dronizado e com ferramentas po- sobre uma base de blocos de Có- software (figura 1) são realizadas derosas, que permite mascarar para digo Aberto, como o Eclipse, por na seguinte ordem: o desenvolvedor a complexidade exemplo, enriquecidos pela pró- ➧ gestão das exigências da apli- da linguagem Java subjacente; pria Bull. cação a ser desenvolvida; ➧ o ganho de produtividade O primeiro ambiente permite ➧ exportação das exigências para a fer- oferecido pela escolha das a geração de relatórios detalhados ramenta de modelagem UML; ferramentas mais adequadas de concepção a partir dos diagra- ➧ geração do código com auxí- pemite a geração de partes mas UML e das regras de gestão lio do ambiente integrado de do código por meio de tarefas associadas aos casos de uso, além desenvolvimento; recorrentes de produção; das etapas de testes e validação dos ➧ gerenciamento do código-fonte ➧ a escolha de ferramentas de Có- módulos. O segundo, por sua vez, e de suas versões; digo Aberto robustas, poderosas oferece uma interface com a pri- ➧ integração e construção da apli- e aderentes aos padrões de de- meira e integra as ferramentas de cação com uso dos repositórios senvolvimento e comunicação, geração de código – Velocity, por de integração e das ferramentas utilizadas em diversos projetos e exemplo –, assim como uma série de integração contínua; compatíveis com a maioria dos de plugins, descritos a seguir. ➧ testes funcionais frente às exigên- sistemas operacionais. cias e gerenciamento automáti- Ambiente de co de falhas, em caso de erros Seções do e falha de conformidade. concepção As vantagens do uso da infra- desenvolvimento O ambiente de concepção (a ferra- estrutura do sistema para criação de O desenvolvimento no NovaForge menta de modelagem Sprarx Sys- aplicações corporativas, portanto, é dividido em dois ambientes: um tem: Enterprise Architect) não exige podem ser listadas: destinado à concepção do projeto a presença de qualquer módulo ou

Linux Magazine #42 | Maio de 2008 45 © Linux New Media do Brasil Editora Ltda. CAPA | NovaForge

Figura 2 O mecanismo de tagged value enriquece as classes UML com as informações adequadas à geração de código.

funcionalidade por parte do cliente. que o código gerado não depende Isso facilita a chamada e a criação de Ele suporta UML 2.0, salva o modelo de qualquer classe da Bull, pois é serviços, referenciados dentro da em- num banco de dados ou num arquivo puro Java/J2EE. presa, por intermédio de assistentes. e, por fim, exporta-o em XMI. No Nesse sentido, a Bull contribui com entanto, também é possível trabalhar Ambiente de o projeto Eclipse para melhorar o su- com diversos outras ferramentas, porte a J2EE e ao desenvolvimento como Rose, XDE, RAD, Together, desenvolvimento de Web Services e processos de ne- MEGA, Objecteering e PowerAMC, Os principais objetivos de um am- gócios. Além disso, a colaboração da por exemplo. O objetivo, afinal, é biente de desenvolvimento são au- empresa com o Eclipse visa a permitir simplesmente fornecer a entrada mentar a produtividade por meio acesso a aplicações externas – isso é, para a geração de código, para im- de ferramentas para projetar, pro- não escritas em Java – e a bancos de plementar a arquitetura orientada gramar e instalar aplicações J2EE dados, por meio de conectores JCA ao modelo ou MDA. e permitir o desenvolvimento co- ou de métodos de persistência. Uma Dessa forma, a cadeia de concep- laborativo. Para isso, é necessário característica importante é a total in- ção do sistema formaliza a passagem também observar as boas práticas, dependência de classes específicas da do modelo de análise UML a um permitindo a geração do código de Bull, com total aderência ao padrão de concepção e implementação. certos componentes da aplicação e J2EE, mas ainda com suporte aos fra- Além das orientações de concepção também a criação de uma corrente meworks mais usados, como Struts, e das normas de implementação, completa desde os objetos até a base Spring e Hibernate. após a definição da arquitetura de dados, incluindo todos os blocos de processador de destino para a que compõem a arquitetura. aplicação já é possível gerar uma Por fim, o ambiente de progra- Utilização parte do código da aplicação – com mação deve permitir a integração do Os componentes da plataforma o mecanismo de tagged value – fi- desenvolvimento a uma arquitetura NovaForge, portanto, podem ser gura 2. É importante notar também orientada a serviços, caso necessário. listados como a seguir:

46 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. NovaForge | CAPA

➧ ambiente de desenvolvimento o pacote de Código Aberto GFor- gerenciamento de prioridades Java: Eclipse; ge[17], um gerenciador de proje- e outras funções; ➧ ambiente de desenvolvimento tos repleto de funcionalidades. ➧ gerenciamento e atribuição J2EE: JOPE; Como tal, ele centraliza o acesso de tarefas aos participantes ao ➧ plugin: Open Source Web ao conjunto de ferramentas de longo de todo o ciclo de de- Tools; gestão e colaboração necessárias senvolvimento dos projetos; ➧ controle de versões: CVS, à boa realização de um projeto ➧ interface com o CVS ou Sub- Subversion; de desenvolvimento, como por version para gestão da segu- ➧ qualidade do código: Jalopy, exemplo: rança, no que diz respeito ao CheckStyle, PMD; ➧ acesso seguro aos diferentes acesso de escrita e leitura do ➧ testes Unitários: JUnit; módulos de gerenciamento de código-fonte do projeto. ➧ geração: ANT, Maven. código diretamente a partir da Para usar essa estrutura colaborati- interface web; Servidor de va de desenvolvimento, é necessário ➧ gerenciamento de documen- apenas um navegador web. O servidor tos e suas versões; industrialização de aplicação, naturalmente, também ➧ gerenciamento de fóruns e O chamado “servidor de industrializa- é obrigatório e a Bull recomenda o listas de discussão; ção” é uma plataforma de “fábrica de uso do JBoss[15]. ➧ monitoramento das tarefas receitas”, proposta pela Bull, com todo realizadas pelos usuários; o contexto necessário aos procedimentos Servidor colaborativo ➧ gerenciamento de falhas e e seus testes. Seus principais objetivos anomalias do projeto, com são a criação de “nightly builds”, a re- O servidor colaborativo de desenvol- possibilidades ilimitadas em alização de testes de desempenho afim vimento fornece a todos os participan- termos de qualificação das de garantir o correto funcionamento tes do projeto o acesso ao ambiente falhas, atribuição a desenvol- e dos softwares, no momento em que para realização de suas tarefas espe- vedores de diferentes equipes, forem finalizados. cíficas, de acordo com o papel de cada um (desenvolvedor, integrador, líder de projeto, gerente etc.). O portal utiliza a solu- ção eXo Portal[16] que, em sua versão 2.0, oferece suporte a clientes de rich internet applications (RIA, como são mais conhecidos) dentro do próprio navega- dor. O NovaForge faz bom uso dos “aplicativos ricos”, como mostra a figura 3, incluindo o single sign-on para todos os serviços dispo- nibilizados, como comuni- cação, desenvolvimento e acesso a documentos, por exemplo.

GForge Uma das principais fer- ramentas de desenvolvi- Figura 3 O NovaForge já utiliza, e muito bem, as potencialidades dos componentes chamados Rich mento colaborativo utili- Internet Applications. zadas pelo NovaForge é

Linux Magazine #42 | Maio de 2008 47 © Linux New Media do Brasil Editora Ltda. CAPA | NovaForge

A figura 4 demonstra o processo e possibilita a criação de tíquetes de compilação dessa etapa. Em in- de falhas pelo Salomé-TMF. Mais informações tervalos regulares, toda a aplicação, sua documentação e seus testes Conclusões [1] Git: http://git.or.cz/ unitários são gerados, permitindo O NovaForge não tem como obje- [2] CVS, na Wikipédia: http:// que se automatize: tivo substituir os repositórios mais pt.wikipedia.org/wiki/CVS ➧ a análise da qualidade do códi- tradicionais, como o SourceForge, go da aplicação pelos compo- mas criar uma verdadeira fábrica [3] Johannes Plötner e nentes PMD e CheckStyle; de software colaborativo de caráter Steffen Wendzel, “Fonte ➧ a geração automática da apli- corporativo. A linguagem Java, por de organização: http:// www.linuxmagazine. cação, por comparação com as exemplo, é uma obrigação, o que com.br/article/fonte_ últimas versões presentes no pode limitar o uso por projetos co- de_organizacao gerenciador de configurações, munitários de espectro geral, mas a partir do servidor CVS ou não representa uma restrição aos [4] Subversion: http:// subversion.tigris.org/ Subversion; projetos de software corporativos ➧ a geração automática da do- – aliás, muito pelo contrário. [5] Mercurial: http:// cumentação da aplicação; No momento, o NovaForge em- www.selenic.com/ ➧ a execução do conjunto de prega 17 ferramentas para gerenciar mercurial/wiki/ testes unitários, usando os seus softwares, desde o CVS ou [6] Bitkeeper: http://www. componentes JUnit, DBUnit Subversion para o código-fonte, bitkeeper.com/ e HTTPUnit, com geração passando pelo GForge no campo SourceForge: posterior de relatórios; do gerenciamento de projetos e [7] http:// sourceforge.net/ ➧ a implementação da moni- documentos e chegando até o Ma- toração de servidores, da do- ven, para as tarefas automatizadas [8] Ranking de atividade do cumentação e dos relatórios de industrialização. SourceForge: http:// anteriormente gerados. Somada ao prático gerencia- sourceforge.net/top/ mostactive.php?type=week A cada manhã, a análise dos mento, a garantia de qualidade dos relatórios e resultados do servi- projetos abrigados no NovaForge é [9] Openbravo: http:// dor de industrialização oferece um importante convite a qualquer www.openbravo.com/ ao gerente do projeto um pano- organização que deseje desenvol- [10] Azureus: http://azureus. rama absolutamente atualizado ver projetos de alta qualidade em sourceforge.net/ do estado funcional do software escala corporativa. ■ [11] Inkscape: http:// www.inkscape.org/

[12] Bull: http://www. bull.com.br/

[13] NovaForge: http:// www.novaforge.org/

[14] Microsoft CodePlex: http://www.codeplex.com/

[15] JBoss: http://www. jboss.com/

[16] Portal: http://www. exoplatform.com/ portal/public/site/

[17] GForge: http:// gforge.org/

Figura 4 Os testes realizados automaticamente nos nightly builds fornecem vários dados a respeito do aplicativo.

48 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Configurando o ambiente de desenvolvimento

Produto importado TUTORIAL

Se for necessário fazer alterações ao código-fonte do ADempiere, é muito fácil usar o poderoso ambiente de desenvolvimento Eclipse para importá-lo. por Eduardo Montenegro

hegamos agora à terceira Instalação do Eclipse Repositório ADempiere parte de nosso tutorial sobre Continuando a configuração de nos- De volta ao Eclipse, selecionaremos Co ADempiere ERP & CRM. so ambiente de desenvolvimento no o menu Window, Open Perspective e Na última edição[1], fizemos uma Ubuntu[5], iremos fazer a instalação Other. Na janela exibida na figura 6, pequena adaptação ao sistema, crian- do Eclipse, por meio do repositório de deve ser selecionada a opção SVN Re- do um novo campo que permitia a pacotes, usando o Synaptic. Após pro- pository Exploring. Na parte esquerda da entrada de dados pelo usuário. curar o pacote Eclipse, basta efetuar a janela, na aba SVN Repository, iremos Agora, vamos importar o código- instalação da forma normal. Em segui- clicar com o botão direito do mouse e fonte do ADempiere no ambiente da, será necessário iniciá-lo para fazer a adicionar o repositório do ADempiere, de desenvolvimento Java Eclipse[2], instalação do plugin Subclipse. conforme demonstrado na figura 7. Seu que irá permitir o desenvolvimento endereço é https://adempiere.svn.sour- de novos recursos no sistema, utili- Plugin Subclipse ceforge.net/svnroot/adempiere [4]. zando programação. No menu principal do Eclipse, iremos Vale lembrar que o objetivo deste selecionar as opções Help e, em seguida, tutorial é apresentar algumas carac- Software Updates e Find and Install..., terísticas principais do ADempiere, conforme indicado na figura 1. sendo impossível esgotar esse assun- Na próxima janela, como mostra to ou nos aprofundarmos muito em a figura 2, selecionaremos a opção determinados tópicos. Search for New Features to Install, O ambiente de desenvolvimento e depois o botão Next. padrão utilizado pelos desenvolvedo- Na janela seguinte, é preciso acres- res do projeto ADempiere é o Eclipse. centar uma nova fonte remota de Vamos acompanhar os passos neces- softwares, selecionando a opção New sários para instalação desse ambien- Remote Site e digitando na nova janela te de desenvolvimento e do plugin o nome Subclipse 1.2.x (Eclipse 3.2+) e Subclipse[3], que utilizaremos para a URL http://subclipse.tigris.org/upda- fazer o checkout do projeto do servi- te_1.2.x, conforme a figura 3. dor SVN no SourceForge[4]. Em seguida, vamos selecionar para a busca a opção que acabou de ser criada na Figura 2 Como o plugin está num novo repositório, devemos acrescentá-lo janela (figura 4). Ao ser manualmente. exibido, finalmente, o plugin Subclipse (figura 5), deve-se selecioná-lo, pressionando o botão Finish em seguida. Ao concluir a ins- talação do plugin, o Eclipse precisará ser Figura 1 A instalação de novos plugins no Eclipse é reiniciado para que pos- bem simples. sa ser utilizado. Figura 3 Dados do repositório do ADempiere.

Linux Magazine #42 | Maio de 2008 49 © Linux New Media do Brasil Editora Ltda. TUTORIAL | Alterações no código-fonte do ADempiere

Já com as informações do reposi- O projeto do ADempiere estará ➧ 5. finalmente, no campo Main Class, tório no Eclipse, iremos navegar até disponível no Eclipse, possibilitando digitar org.compiere.Adempiere. a pasta Tags e, em seguida, clicando a navegação pelos diversos pacotes Agora, se pressionarmos o botão com o botão direito do mouse em cima e arquivos do projeto por meio da Apply e em seguida selecionarmos da pasta adempiere340/, selecionaremos aba do lado esquerdo, conforme Run, o ADempiere será executado a a opção Checkout (figura 8). exibido na figura 10. partir do Eclipse. Na janela mostrada em seguida, para Para executar o projeto a partir a operação de checkout, basta confirmar do Eclipse, resta apenas definir um Conclusão a operação, selecionando os botões Next perfil de execução, que podemos Ao final desse procedimento, o am- e, em seguida, Finish. Esse passo pode criar com poucos passos: biente de desenvolvimento do ADem- demorar um pouco, pois serão copiados ➧ 1. selecionar o menu Run e, em piere estará configurado. Com isso, no todos os arquivos do projeto ADempiere seguida, Open Run Dialog; próximo artigo, poderemos importar para a máquina local. ➧ 2. na janela aberta (figura 11), o projeto do ADempiereLBR[6], que selecionar a opção Java Appli- é complementar ao LBR e acrescenta De dentro cation no painel esquerdo e diversos recursos para a operação do Vamos agora executar o ADempiere pressionar o botão New; ADempiere no Brasil. de dentro do Eclipse. Selecionan- ➧ 3. no campo Name, entrar com Na próxima edição, veremos tam- do no menu, novamente, as opções o nome Adempiere; bém algumas das principais caracte- Window, Open Perspective e Other, ➧ 4. no campo Project, utilizan- rísticas do desenvolvimento de novos iremos voltar para a perspectiva Java do o botão Browse, selecionar recursos para o ADempiere utilizando (default) (figura 9). o projeto recém-criado; a linguagem Java. ■

Figura 6 O Subclipse permite a impor- Figura 4 Seleção do novo repositório configurado como tação de dados a partir de um fonte do plugin. repositório Subversion.

Figura 5 O plugin do Subclipse já pode ser instalado. Figura 7 Adicionando um repositório Subversion.

50 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Figura 8 Realização do che- Figura 11 Criação de um novo perfil para o ckout no repositório. projeto do ADempiere no Eclipse.

Mais informações

[1] Eduardo Montenegro, “Configuração do ADempiere – Faça a sua gestão”: http://www. linuxmagazine.com. br/article/1649

[2] Eclipse: http://www.eclipse.org/

[3] Subclipse:http:// subclipse.tigris.org/

Figura 9 Com a perspectiva Java, é pos- [4] Repositório do ADempiere sível trabalhar em projetos nessa no SourceForge: linguagem, como o ADempiere. https://adempiere. svn.sourceforge.net/ svnroot/adempiere

[5] Ubuntu: http://www.ubuntu.com/

[6] Projeto AdempiereLBR no Sourceforge: http://sf.net/ projects/adempierelbr

[7] Site do Projeto ADempiere: http://www.adempiere.com/

[8] Wiki do Projeto Adempiere: http://www. adempiere.com/wiki

[9] Fórum do ADempiere em português: http:// Figura 10 Já é possível navegar pelo forum.kenos.com.br código do ADempiere.

Linux Magazine #42 | Maio de 2008 51 © Linux New Media do Brasil Editora Ltda. Décima primeira aula de preparação LPIC-2 LPI nível 2: Aula 11

Configuração do servidor BIND, criação e manutenção de arquivos de zonas e ferramentas relacionadas. por Luciano Siqueira TUTORIAL

Irum_Shahid - www.sxc.hu

Tópico 207: DNS são definidas pelo Internet Systems Consortium. Seu arquivo de confi- zone “.” IN { guração é named.conf, que pode ser type hint; 2.207.1 Configuração básica encontrado no diretório /etc/ ou file “root.hints”; de um servidor DNS /etc/bind/. Em versões do BIND }; Um servidor DNS – Domain Name anteriores à 8, o arquivo de configu- System – converte remotamente no- ração chama-se named.boot e possui Zonas convencionais têm seções mes de máquinas para seus respectivos sintaxe diferente. Arquivos anteriores definidas de forma semelhante (exem- números IP e vice-versa. A correspon- à versão 8 não funcionarão nesta ou plo: zone “localhost IN {...”), e é dência entre o nome e o número IP é na 9. Para converter arquivos de con- importante que para cada uma delas chamada mapeamento e organizado figuração de versões anteriores para seja especificada uma zona para DNS de forma hierárquica. a 8, pode ser utilizado o comando reverso (exemplo: zone “0.0.127.in- Em outras palavras, um domínio named-bootconf. addr.arpa IN {...”). O DNS reverso é como howtos.linux.com será quebrado responsável por converter números IP e resolvido começando por com, de- Servidor caching-only para seus respectivos nomes. pois linux e finalmente howtos – itens O DNS caching-only é a mais simples Voltando ao exemplo, na seção chamados respectivamente top-level implementação de um servidor DNS. options é indicado onde estão os domain, second-level domain e third- Ele apenas requisita a resolução do arquivos de zonas (directory “/ level domain. É nessa ordem que o nome junto a um servidor externo var/named”;). Está definido apenas endereço IP para howtos.linux.com e armazena a resposta, para agilizar o mapeamento para “.”, que será será obtido. Os top-level domains futuras requisições. Exemplo de na- consultado se nenhum outro ma- mais comuns são .com, .org e .net, med.conf para um servidor de DNS peamento for encontrado. É este o mas existem vários outros. caching-only: caso do exemplo. O programa servidor responsável No arquivo /var/named/root.hints pelo mapeamento é o /usr/sbin/ options { há uma lista com os principais ser- named, que é parte do pacote cha- directory “/var/named”; vidores de nomes da Internet. Este mado BIND, cujas especificações }; arquivo é gerado através do comando

52 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. LPI Nível 2 | TUTORIAL

dig @e.root-servers.net . ns. Como Exemplo 1: Trecho de root.hints os endereços de alguns servidores po- dem mudar, é aconselhável atualizar (...) o arquivo mensalmente. O exemplo 1 D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90 A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 mostra um trecho do arquivo /var/ H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53 named/root.hints. C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 Após alterar os arquivos de con- (...) figuração, será necessário reiniciar o daemon named, responsável por Exemplo 2: Arquivo de zona responder às requisições de DNS. Para que as configurações tenham $TTL 3D efeito sem interromper o named, basta @ IN SOA floyd.gink.go. hostmaster.gink.go. ( 2007060401 ; serial enviar o sinal HUP para o processo, 28800 ; refresh (8 horas) através do comando kill: 7200 ; retry (2 horas) 2419200 ; expire (4 semanas) 86400 ; minimum (1 dia) kill -HUP `pidof named` ) NS floyd 2.207.2 Criação e manutenção MX 5 mail de zonas de DNS floyd A 192.168.0.1 hamilton A 192.168.0.2 A principal diferença entre um www CNAME hamilton servidor DNS tradicional e um felix A 192.168.0.4 servidor DNS caching-only está mail CNAME felix nos arquivos de zona. Num ser- emily A 192.168.0.11 vidor tradicional, os arquivos de zona contém a correspondência de IPs e nomes para os domínios Este é um domínio fictício, uti- seguidos a partir deste servidor especificados em named.conf. lizado como exemplo para uma devem ser mantidos em um ca- rede interna. A opção type deter- che de DNS. Criando um domínio mina a prioridade da zona para o Para cada domínio sob responsabili- domínio, pode ser master ou slave. @ IN SOA floyd. dade do servidor, deve ser criada uma O arquivo definido na opção file ➥gink.go. hostmaster.gink.go. ( entrada no arquivo named.conf. Essa deve ser criado no mesmo diretório entrada é muito parecida àquela do selecionado na opção directory da Essa linha corresponde à prin- exemplo de DNS caching-only: seção options. Pode ser escolhido cipal entrada: SOA (Start Of Au- qualquer nome para o arquivo de thority). Ela determina qual o ser- options { zona, mas geralmente elege-se o vidor e o email do administrador directory “/var/named”; nome do domínio leva os prefixos/ do DNS. O sinal @ é apenas um }; sufixos zone ou db. atalho para a origem (o domí- nio da zona), e também pode ser zone “.” IN { Registros da zona especificado literalmente (neste type hint; O arquivo de zona contém várias caso deve ser especificado com file “root.hints”; informações dos nomes do domínio um ponto no final: ginko.go.). O }; em questão pode ser escrito confor- IN significa Internet e determina a me o exemplo 2. classe do registro. Na maior parte zone “gink.go” IN { Vamos analisar item a item este dos servidores DNS, será a única type master; arquivo de zona, para entender cada classe utilizada. O termo SOA indica file “gink.go.zone”; uma das suas entradas: tratar-se do registro da autoridade }; para o domínio, seguido do nome $TTL 3D do servidor DNS e do email do A última entrada indica opções e administrador. Perceba que ambos o arquivo de zona para solicitações Indica a validade-padrão ou são terminados com um ponto. O de nome para o domínio gink.go. por quanto tempo os dados con- email também tem um ponto no

Linux Magazine #42 | Maio de 2008 53 © Linux New Media do Brasil Editora Ltda. TUTORIAL | LPI Nível 2

Exemplo 3: Arquivo de zona do DNS reverso DNS reverso Além das zonas para resolver nomes $TTL 3D para números IP, é praxe criar zonas @ IN SOA floyd.gink.go. hostmaster.gink.go. ( para resolver números IP para nomes, 2007060402 ; serial 28800 ; refresh (8 horas) processo chamado DNS reverso. Para 7200 ; retry (2 horas) isso, deve ser criada uma zona especí- 2419200 ; expire (4 semanas) fica no arquivo named.conf que aponte 86400 ; minimum (1 dia) para outro arquivo de zona. ) NS floyd.gink.go. 1 PTR floyd.gink.go. options { 2 PTR hamilton.gink.go. directory “/var/named”; 4 PTR felix.gink.go. 11 PTR emily.gink.go. };

zone “.” IN { type hint; lugar do @. O parêntese no final hamilton A 192.168.0.2 file “root.hints”; da linha indica o início das proprie- www CNAME hamilton }; dades do registro. felix A 192.168.0.4 mail CNAME felix zone “gink.go” IN { 2007060401 ; serial emily A 192.168.0.11 type master; 28800 ; refresh (8 file “gink.go.zone”; ➥horas) Os demais registros correspondem }; 7200 ; retry (2 horas) às entradas de nomes da zona. Se não zone “0.168.192.in-addr.arpa” IN { 2419200 ; expire (4 for informado no começo da linha, é type master; ➥semanas) assumida a mesma origem (especificada file “db.192.168.0.in- 86400 ; minimum (1 dia) pelo caracter @) e a classe (IN). Tipos ➥addr.arpa”; ) de registro comuns são: allow-update { none; }; ➧ NS : especifica qual dos registros é }; Essa seção especifica algumas pro- o servidor de nomes do domínio, priedades para a zona. O primeiro também citado no registro SOA; O registro em destaque espe- número, 2007060401, determina um ➧ MX: o servidor de email para cifica a zona reversa. O nome da número serial de identificação. Pode o domínio. Pode haver mais zona reversa começa com o trecho ser qualquer número, mas, via de re- de um, sendo suas prioridades do IP referente à rede, escrito de gra, segue o formato de data mais um determinadas pelo número à trás para frente, seguido do termo número decimal. Os demais valores esquerda do nome do servidor. in-addr.arpa, que determina tratar- determinam respectivamente: inter- Valores menores indicam maior se de um registro de DNS rever- valo de atualização, intervalo para prioridade; so. Portanto, o registro mostrado novas tentativas, prazo de validade ➧ A : mapeia o nome especifica- converterá em nomes os IPs que das informações, intervalo mínimo do à esquerda para o IP espe- comecem por 192.168.0. As demais de permanência no cachê. Estes va- cificado à direita. A origem opções, como tipo, nome de ar- lores serão informados aos clientes e (domínio) é automaticamente quivo, etc, obedecem às mesmas outros servidores DNS que utilizam adicionada ao nome, pois está regras do DNS. este mapa. O caracter “;” especifica implícita na entrada (ex. floyd O arquivo de zona para o DNS um comentário e todo texto em se- = floyd.gink.go); reverso é praticamente idêntico ao guida será ignorado pelo programa. ➧ CNAME : cria um alias, especifica- do DNS convencional, mostrado O final das propriedades do registro do à esquerda, para um nome no exemplo 3. é determinado com o fechamento do já definido em outro registro. A única diferença encontra-se parêntese. Continuando o exame: Não pode haver alias para um nos registros de nomes. Aqui, a ori- registro NS; gem também está implícita, sendo NS floyd ➧ PTR : mapeia um número IP para necessário apenas especificar o tre- MX 5 mail um nome. É utilizado para DNS cho do IP específico do host. Por se floyd A 192.168.0.1 reverso, que veremos a seguir. tratar de uma resolução reversa, é

54 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. LPI Nível 2 | TUTORIAL

usado um registro do tipo PTR, Exemplo 4: Arquivo de zona com o regsitro SOA. seguido do nome para o IP es- pecificado. @ IN SOA floyd.gink.go. hostmaster.gink.go. ( Um detalhe importante é 2007060401 ; serial 28800 ; refresh (8 horas) que o nome dos hosts preci- 7200 ; retry (2 horas) sa ser completo, incluindo o 2419200 ; expire (4 semanas) domínio e o ponto no final. 86400 ; minimum (1 dia) Isso evita que o DNS reverso ) interprete a origem (que aqui é 168.192.in-addr.arpa) como o servidor não pôde ser contacta- zone “gink.go” IN { sendo o domínio. do, serão feitas novas tentativas a type forward; Para que as novas configurações cada intervalo especificado no valor forwarders { tenham efeito, é necessário reiniciar retry. A zona deixará de existir no 200.192.140.21; o servidor de nomes. O procedimento servidor escravo se o primário não 200.192.143.5; pode ser feito via script de iniciali- puder ser contactado até o final do } zação ou simplesmente enviando o período-limite especificado no valor }; sinal HUP para o processo: expire. O último valor, minimum, determina o período mínimo que a Os servidores de destino das soli- killall -HUP named zona deve permanecer no servidor citações devem ser especificados da escravo. Por padrão, todos os valo- mesma forma, na opção forwarders. Servidores escravos res são expressos em segundos. Para Para aumentar a disponibilidade do alterar a unidade de tempo, basta Diagnóstico do servidor serviço, é recomendável criar um utilizar um sufixo como H (hora), D Agora, o servidor DNS já pode ser servidor DNS escravo; de preferên- (dia) ou W (semana). Por exemplo, testado para encontrar possíveis pro- cia numa localização física distante 2H (duas horas). blemas. Para uma checagem simples, do servidor primário, para evitar pode ser usado o comando host. Mas que panes elétricas, por exemplo, Redirecionamento de servidor antes, não se esqueça de alterar os afetem ambos. Um redirecionamento simplesmen- dados do servidor de nomes em /etc/ A entrada em named.conf para de- te transfere todas as solicitações fei- resolv.conf para o servidor que você finir um servidor escravo pode ser tas ao servidor para outro servidor acabou de configurar. Feito isso, utilize escrita da seguinte forma: DNS, armazenando os resultados o comando host para um dos nomes temporariamente para agilizar fu- registrados na zona criada: zone “gink.go” { turas solicitações, semelhante a um type slave; servidor caching-only. Para redire- # host felix file “db.gink.go”; cionar qualquer solicitação, basta felix.gink.go has address masters { 192.168.0.1; }; criar a seção options em named.conf ➥192.168.0.4 }; da seguinte forma: Testando o DNS reverso: O servidor escravo armazena- options { rá os registros da zona gink.go, directory “/var/named/”; # host 192.168.4.2 através de um processo chamado forwarders { 4.0.168.192.in-addr.arpa domain transferência de zona. O arquivo 200.192.140.21; ➥name pointer felix.168.192.0.in- de zona no servidor escravo possui 200.192.143.5; ➥addr.arpa. apenas o registro SOA, como mostra } o exemplo 4. }; Pôde ser verificado que, tanto A zona só é transferida se o o DNS convencional quanto o número serial do servidor escra- Serão utilizados os servidores DNS reverso estão funcionando, vo for menor que o do servidor especificados na opção forwarders. ao menos para o nome e IP do primário. O valor refresh especi- Para que apenas solicitações para host felix. fica o intervalo em que o servidor uma zona específica sejam redire- Para evitar alterar o arquivo / escravo verificará atualizações de cionadas, o tipo da zona deve ser etc/resolv.conf e obter informações registro no servidor primário. Se especificado como forward: um pouco mais detalhadas, basta

Linux Magazine #42 | Maio de 2008 55 © Linux New Media do Brasil Editora Ltda. TUTORIAL | LPI Nível 2

fornecer também o nome do servi- Pela saída, podemos verificar, en- Usado sem argumentos, o nslookup dor DNS ao comando host: tre as informações mostradas, que o entra em modo interativo: host www.gink.go trata-se de um alias # host www floyd.gink.go para o host hamilton.gink.go. # nslookup Using domain server: Uma ferramenta específica para > Name: floyd.gink.go diagnóstico de servidores DNS é o Address: 192.168.0.1#53 comando dig (Domain Information Dessa forma, será utilizado o servi- Aliases: Groper). Apesar de possuir várias dor de nomes especificado em /etc/ opções, que podem ser consultadas resolv.conf. Outro servidor pode ser www.gink.go is an alias for na página manual do comando, a especificado da seguinte forma: ➥hamilton.gink.go. forma mais usual de invocá-lo é dig hamilton.gink.go has address @servidor domínio tipo. O servidor # nslookup - floyd ➥192.168.0.2 DNS, especificado pelo caracter @, > Using domain server: será consultado pelo domínio e tipo Name: floyd.gink.go de registro. O exemplo 5 mostra como Note que há um espaço entre o traço Address: 192.168.0.1#53 utilizar o comando dig. e o nome do servidor. A maneira mais Aliases: A saída é dividida em seções. O cam- simples de utilizar o modo interativo po status da seção HEADER nos permite é simplesmente fornecer um nome a www.gink.go is an alias for verificar se foram encontrados erros no verificar e pressionar [enter]: ➥hamilton.gink.go. servidor DNS. A seção QUESTION mostra Using domain server: que tipo de requisição foi feita ao servidor. > hamilton Name: floyd.gink.go A resposta é mostrada na seção ANSWER. Server: 192.168.0.1 Address: 192.168.0.1#53 A seção ADDITIONAL mostra os endereços Address: 192.168.0.1#53 Aliases: dos nomes exibidos em ANSWER. Outra ferramenta é o coman- Name: hamilton.gink.go www.gink.go is an alias for do nslookup, que trabalha de duas Address: 192.168.0.2 ➥hamilton.gink.go. formas: interativo e não-interativo. >

Exemplo 5: Utilização do dig

# dig @floyd gink.go ANY

; <<>> DiG 9.3.2-P1 <<>> @floyd gink.go ANY ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28285 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION: ;gink.go. IN ANY

;; ANSWER SECTION: gink.go. 259200 IN SOA floyd.gink.go. hostmaster.gink.go. 2007060402 28800 7200 2419200 ➥86400 gink.go. 259200 IN NS floyd.gink.go. gink.go. 259200 IN MX 10 felix.gink.go. ;; ADDITIONAL SECTION: floyd.gink.go. 259200 IN A 192.168.0.1 felix.gink.go. 259200 IN A 192.168.0.4

;; Query time: 0 msec ;; SERVER: 192.168.0.1#53(192.168.0.1) ;; WHEN: Mon Jun 4 15:44:09 2007 ;; MSG SIZE rcvd: 146

56 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. LPI Nível 2 | TUTORIAL

Para pesquisar um nome no modo ainda exista, torna inviável sua uti- do-o numa “gaiola” que limitará o não-interativo, podem ser fornecidos lização para quem desconhece os “estrago”, caso o servidor seja com- o nome e o servidor como argumen- endereços IP das máquinas. prometido. Junto com a restrição tos para o nslookup: Num cenário ainda pior, um in- a arquivos e diretórios, o servidor vasor pode interceptar as chamadas deve ser executado por um usuário # nslookup felix floyd DNS e conhecer os nomes e endere- sem privilégios de root. Server: floyd ços das máquinas da rede, facilitan- Por exemplo, o daemon named Address: 192.168.0.1#53 do a identificação e ataque. Caso os pode ser iniciado como proces- registros tenham sido alterados, um so do usuário não-privilegiado Name: felix.gink.go usuário pode conectar-se a uma má- bind, tendo como diretório raiz Address: 192.168.0.4 quina-armadilha, acreditando tratar-se /var/named: de uma máquina conhecida. Neste caso, o invasor poderia facilmente named -u bind -t /var/named 2.207.3 Segurança de DNS conseguir dados sensíveis de todo Para o administrador precavido, a fa- usuário enganado. Para que a jaula chroot fun- lha em um servidor DNS pode não ser cione, é necessário adaptar algu- um desastre de grandes proporções. Enjaular o servidor mas variáveis na configuração do Ele pode conectar-se através do IP O servidor DNS pode ser executa- BIND. O diretório raiz enxergado do servidor (caso o tenha) e recupe- do num ambiente isolado, onde só pelo daemon named será /var/na- rar o serviço. Os demais usuários da existam os componentes necessá- med, portanto, é necessário indi- rede, por sua vez, apenas acessam rios à sua execução. Esse ambiente car corretamente a localização as máquinas através de seus nomes. é denominado jaula chroot. Este de arquivos e diretórios, como o Uma interrupção do servidor DNS, processo ajuda a garantir a segu- diretório dos arquivos de zona e mesmo que a comunicação da rede rança do servidor BIND, colocan- do arquivo de PID.

�����

� ������ ������������� ���������

© Linux New Media do Brasil Editora Ltda. TUTORIAL | LPI Nível 2

DNSSEC cificada a chave, serão utilizadas ➥fdeVbuMhusD5BmS4RMK5hsQmjpd8ew As transferências de informações entre as mencionadas na zona. O arqui- ➥3L17RD6WxHxb5KBhr91qVEakLDcPnBG servidores DNS podem ser autenticadas vo de saída db.gink.go.signed será ➥7fCDKgJ/bG6ynKd8iZKjZHgn5Ve1vQ através de uma chave do DNSSEC, criado e deverá ser especificado no ➥h4az72SCEnkOhljc6mkvUZmg+63PXte um complemento do BIND. registro da zona em named.conf: ➥dw9IJa/XULeq5iMydmZkR/TvZtXlQnx A chave é gerada pelo comando ➥ObOOACSHwzO3WQSWvruOz6R9mjGY dnssec-keygen. Diferentes algorítimos zone “gink.go” IN { ➥oSyhsAbnEx3HEETwn89GyJMKtYA podem ser escolhidos. No exem- type master; ➥sBHsTgAJyKgOMPx3OYOvSPCQ/ThOXDu plo, elas serão geradas no diretório file “db.gink.go.signed”; ➥IoLzYEL3HnUqx5P5PX”; /var/named: allow-update { none; }; }; }; # cd /var/named Restringir acesso # dnssec-keygen -a DSA -b 768 -r / Também serão criados arquivos É possível restringir totalmente ➥dev/uramdom -n ZONE gink.go dsset e keyset, utilizados para que o acesso ao servidor de nomes a o administrador da zona superior uma rede ou a um host específico, A opção -a especifica a criptografia saiba quais chaves são o ponto de através da opção allow-query: utilizada, a opção -b o tamanho da entrada seguro para a zona. chave e -r a fonte de dados aleató- Os servidores DNS que bus- allow-query { rios para gerar a chave (se -r não for cam dados no servidor em que o 192.168.0.0/24; fornecido, o teclado será usado como DNSSEC foi utilizado poderão }; fonte de dados aleatórios). A opção agora validar os dados através da -n especifica qual o tipo do dono da chave pública contida no arqui- Essa opção pode ser definida chave (ZONE). Por fim, é especificado vo Kgink.go.+003+47654.key. Essa tanto na seção options quanto o nome (gink.go). chave deve estar presente na numa entrada de zona. Se defini- Terminada a execução, será entrada trusted-keys do arquivo da em ambos, prevalecerá para a emitida uma resposta no formato named.conf que obedece a seguin- zona as regras nela especificadas. Knnnn.+aaa+iiiii. Os elementos da te sintaxe: Podem ser especificados mais de resposta significam: um endereço de rede ou host. ➧ nnnn : Nome da chave; trusted-keys { Para restringir transferências ➧ aaa: Representação numérica string number number de zona entre servidores – ou do algorítimo; ➥number string ; através de comandos como dig ➧ iiiii : Identificação da chave string number number e nslookup, pode ser utilizada a (ou impressão digital). ➥number string ; ... opção allow-transfer, na seção Neste exemplo, foram gerados }; options: dois arquivos: Kgink.go.+003+47654. key e Kgink.go.+003+47654.pri- A entrada trusted-keys pode allow-transfer { vate. O arquivo .key deve ser fazer referência a várias chaves. 192.168.0.2; mencionado na respectiva zona, Cada campo corresponde ao nome }; através de um $include ao final do domínio, opções, protocolo, do arquivo: algoritmo utilizado e o código da Como para a opção allow-query, chave gerada. Todos esses dados mais de um endereço podem ser $include Kgink.go.+003+47654.key estão contidos no arquivo .key. especificados, separados por “;”. No caso do exemplo, o registro trus- Feito isso, a zona deve ser assinada ted-keys ficaria da seguinte forma: Considerações sobre o tópico com o comando dnssec-signzone: Este é outro tópico muito abor- trusted-keys { dado na prova. Sobretudo, co- dnssec-signzone -r /dev/urandom -o “gink.go.” 256 3 3 “BPDC8 nheça muito bem o formato do ➥ gink.go db.gink.go Kgink. ➥hyXf5G8TrgNikGbTVRTlpzpo5ldQt0R arquivo named.conf e os arquivos ➥go.+003+47654 ➥Ov3viRFBlj7Je2NKIAoJGyEO/hmmG de zona. ➥HRw4Ls0uHLeQasRAFqz3IKIFh3/UpH Comandos relacionados como A opção -o define a origem do ➥3b8KYoebkPaDk68zoFph/MknxTAr3a rndc, dig e host também serão arquivo de zona. Se não for espe- ➥UxPmzMKfkDzfHnfe2izxLhz/Zp52Me abordados. ■

58 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. O SpagoBI oferece um pacote de BI completo e de Código Aberto ramzi hashisho – www.sxc.hu ANÁLISE Negócio inteligente O ramo da Business Intelligence conta com poderosas ferramentas e o SpagoBI se destaca, entre as alternativas livres, por sua modularidade e conseqüente flexibilidade. por Miguel Koren O’Brien de Lacy

prática de BI (Business In- É importante lembrar que, sem vegação pelas informações formam telligence) é tradicionalmente conhecimento do negócio, ou seja, o atual potencial desses sistemas. A Aassociada a bancos de dados das necessidades de informação e das visão é poder obter os benefícios de enormes em que as áreas de mar- decisões que precisam ser tomadas, BI "em qualquer lugar e qualquer keting das empresas tentam descobrir não existe a possibilidade de prati- momento". O objetivo que precisa padrões de preferências dos clientes, car BI. Os sistemas de BI são apenas ser satisfeito hoje é o monitoramento usando consultas padronizadas. Esses facilitadores. de diversos indicadores para diversas bancos de dados, comumente conhe- O uso original de BI e as dificul- áreas e consolidados para a empresa cidos como data warehouses ou data dades em implementar as soluções com o objetivo de aplicar o Geren- mart, são formados por informações fizeram com que o segmento atuasse ciamento de Performance do Negócio vindas dos mais diversos sistemas da como um espelho do passado para (BPM – Business Performance Ma- empresa. Um data warehouse é o mostrar à empresa onde exatamente nagement, nesse caso). Também é repositório eletrônico de informa- ela cometeu erros. O que se deseja, interessante suportar um novo termo; ções armazenadas da empresa. Um atualmente, é um sistema de posi- "BI operacional", que integra as in- data mart é um subconjunto de in- cionamento que mostre onde a em- formações analisadas pelo BI tradi- formações geralmente focadas em presa está e como deve evoluir para cional (em visão de pirâmide são o alguma necessidade específica. Um chegar ao destino pretendido. "BI estratégico" e o "BI tático") com exemplo poderia ser o data mart de Os sistemas BI devem mostrar necessidades operacionais. informações de produção etc. No informação histórica, atual e visões A IDC publicou um estudo, em Brasil, temos o costume de usar o preditivas. O poder analítico e a na- 2006, que mostra um crescimento anu- termo "DW" quando nos referimos a um data mart. Outra aceitação comumente encontrada no mer- cado considera sistemas BI como geradores de relatórios, diminuindo sua utilidade. Para nivelarmos o conhecimento da matéria, podemos convencionar que BI se refere à prática de procu- rar, armazenar e analisar a informa- ção, apresentando, em seguida, os resultados necessários para tomar decisões fundamentadas e corretas. Os sistemas de BI são aplicativos ou ferramentas que suportam e permi- tem essas atividades, necessariamente orientados pelos dados. Figura 1 Modelo estrutural de funções do SpagoBI.

Linux Magazine #42 | Maio de 2008 59 © Linux New Media do Brasil Editora Ltda. ANÁLISE | SpagoBI

dando, aparecem siste- é perceptível o fato de que os siste- mas de BI licenciados mas BI completos de Código Aberto como Software Livre, contam com suporte oficial de uma o que aumenta o nú- empresa, seja atuante no mercado BI mero de opções para os ou profundamente envolvida com o clientes. Essa modali- Software Livre em geral. dade de licenciamento vem ao encontro das Características necessidades de imple- mentação de BI para e tecnologia todos os funcionários O SpagoBI[5] é um sistema que da empresa, pois, pelo satisfaz as condições para ser usa- fato de não existir cus- do corporativamente, atendendo a to de licenciamento, grande parte das necessidades de eles podem ser usados informação relatadas acima. Ele está Figura 2 Modelo estrutural do SpagoBI. por todos. A empresa agrupado sob o conceito do "Spago Ventana Research[4] World" que tem os seguintes obje- al de 10% em soluções BI, entre 2005 publicou um estudo sobre softwa- tivos gerais: e 2010. Diversas fontes citam o valor res de BI livres em 2006, que mostra ➧ fornecer uma solução livre; que o BI representa para as empresas que 48% das empresas entrevistadas ➧ poder ser usado em ambientes e indicam que essa aplicação começa indicaram o fator de custo como o corporativos; a fazer parte das soluções de negócio mais importante na seleção de uma ➧ facilitar a incorporação de outras e não simplesmente um aplicativo solução de código aberto. Adicional- tecnologias para formar um pa- da área de marketing, comprado e mente, 24% dos usuários individuais cote de componentes variados; instalado por acaso. À medida que entrevistados nesse estudo, disseram ➧ enfocar o desenvolvimento de o mercado olha para os sistemas BI que o uso de sistemas BI ajuda a aten- soluções; como críticos para a gestão, as em- der melhor as necessidades pessoais ➧ formar uma comunidade e presas fornecedoras dessa tecnologia de informação e decisão que devem ➧ contar com serviços de suporte. estão se fundindo, resultando em me- fazer no dia-a-dia nas empresas. O SpagoBI é membro do con- nos opções para os clientes. Algumas Não existe uma variedade muito sórcio OW2[6], suportado prin- aquisições recentes em 2007 são a grande de sistemas BI de Código cipalmente pela Bull[7] e pela compra da Hyperion pela Oracle[1], Aberto que possam ser chamados France Telecom[8]. O sistema foi da Business Objects pela SAP[2] e da de completos. Devido à diversidade desenvolvido como um framework Cognos pela IBM[3]. de componentes de um pacote de para aplicativos web em Java, para Ao mesmo tempo que o mercado BI, tais como: atender a projetos internos. Em de sistemas comerciais está se consoli- ➧ geradores de relatórios; 2004, o ambiente foi completado ➧ análise de dados e liberado sob a GPL no Source- em cubos OLAP Forge e posteriormente hospedado (on-line analytic no ObjectWeb, hoje OW2. processing); O sistema, hoje, está sob a li- ➧ mineração de da- cença LGPL e tem também a dos e vantagem de ser verdadeiramente ➧ indicadores e pai- livre, devido ao modelo de negócio néis de controle aplicado. O SpagoBI não oferece (dashboards) qualquer restrição ao uso, e não existem versões comerciais mais entre outros, muitos completas, como é freqüente em sistemas que atendem outros aplicativos de negócio de somente a uma ou Código Aberto. poucas dessas áreas es- Em 2007, foram liberadas algu- tão classificados como mas outras soluções do Spago World: Figura 3 Tela inicial do aplicativo analítico. sistemas BI. Também Spago4Q (indicadores e métricas de

60 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. SpagoBI | ANÁLISE

qualidade no processo de desenvol- Enquanto isso, o SpagoBI Meta dicina, que selecionou o SpagoBI vimento de software) e Spagic (pla- é um mecanismo de armazenamen- como seu componente BI. taforma de integração de sistemas to de metadados (informação que As funcionalidades do sistema são: utilizando SOA e BPM – Business descreve os dados). Os metadados ➧ geração de relatórios com su- Process Management, nesse caso). permitem que o usuário que faz a porte a diversos mecanismos; análise possa conhecer melhor a ➧ análise de dados em visões de informação tratada, assim como a cubos OLAP; Componentes fonte dessa informação. ➧ painéis de controle com indica- O SpagoBI possui seis componentes Por último, as SpagoBI Appli- dores (KPI); principais: servidor SpagoBI, Spago- cations compreendem diversos ➧ mineração de dados; BI Studio, SpagoBI SDK, SpagoBI aplicativos verticais. Dentro desse ➧ visualização geográfica; Meta e SpagoBI Applications. conceito, podemos mencionar o ➧ processos ETL (Extract, Trans- O servidor SpagoBI compreende "SpagoBI for AREAS", utilizado form, Load); o núcleo para consultas pelo aplica- para BI no campo da medicina. ➧ simulações what-if; tivo, além de apresentar o modelo AREAS é um sistema ERP italia- ➧ dossiê, catálogo de informações; analítico do sistema. Ele oferece os no, voltado para empresas de me- ➧ gerador de consultas usando seguintes serviços: ➧ interface com o usuário intuiti- va, tipo rich client; ➧ configuração de fontes de dados; ➧ geração livre de consultas ao sistema para análise; ➧ assinaturas para receber informa- ção periódica e notificações; ➧ áreas (pastas) para uso pessoal; ➧ salvar, importar e exportar as configurações; ➧ página individual (do tipo "MeuBI"); ➧ integração com mecanismos de vi- sualização (PALO, para Excel[9] e JPALO, para Web[10]); ➧ alertas e notificações; ➧ motor de busca; Figura 4 Menu de opções e painel de controle. ➧ acesso a consultas pré-configu- radas, agrupadas por tipos. O SpagoBI Studio, por sua vez, é um ambiente em forma de plugin para o Eclipse[11] para desenvolver soluções dentro do SpagoBI. Ele oferece modeladores para todos os documentos analíticos, permite o upload para o servidor SpagoBI e possibilita a realização de testes aces- sando dados de testes ou reais. A SpagoBI SDK consiste em uma interface para acesso a serviços de BI que possam ser integrados a outros aplicativos. Oferece uma biblioteca de tags, a própria API de integração e acesso a Web Services.

Figura 5 Exemplos de novos termômetros para formar painéis.

Linux Magazine #42 | Maio de 2008 61 © Linux New Media do Brasil Editora Ltda. ANÁLISE | SpagoBI

mecanismos QbE (query um aplicativo para o usuário de BI. by example); Esse aplicativo é acessado de dentro ➧ integração de servi- do ambiente web oferecido por outro ços BI ao Microsoft componente OW2, a Exo Platform[12], Office; que tem a possibilidade de rodar o ➧ colaboração. aplicativo dentro de sua arquitetura A figura 1 mostra o flu- de virtualização da área de trabalho, o xo de informação entre WebOS[13]. Porém, adicionalmente as diversas funções da so- à eXo Platform, o SpagoBI está cer- lução. Todas as funções tificado para rodar dentro do portal são acessadas somente Liferay[14], muito conhecido e uti- pelo módulo denomi- lizado em ambientes de arquitetura nado Modelo Compor- Java. O CMS JSR 170 também é for- tamental, que gerencia necido pela eXo Platform. as permissões de acesso. Figura 6 Tela com a visão geográfica dos dados. O sistema está prepara- do para uso empresarial, Diferenciais considerando as Um diferencial muito importante seguintes carac- do SpagoBI é ser uma plataforma de terísticas: integração para diversas ferramentas ➧ restrição de de BI. Como conseqüência, para ob- acesso às in- tenção de um aplicativo completo, formações; devem ser instalados os diversos me- ➧ single sign-on; canismos individuais do SpagoBI. ➧ a publicação O sistema é completamente desen- de elementos volvido em Java, com operação pelo do sistema, tais navegador web para uso e consultas. como definições Certos componentes são utilizados de relatórios, é em ambiente gráfico – e não web –, gerenciada den- como o mecanismo ETL. Entre os tro do CMS componentes agrupados pelo SpagoBI, (content mana- podemos encontrar projetos de Código gement system) Aberto bem conhecidos, como: Figura 7 Interface de acesso a BI fornecida pelo WebOS. utilizando a nor- ➧ Weka , para mineração de dados; ma JSR 170; ➧ Mondrian e PALO, para análise ➧ sistema escalável, pois é escrito OLAP de cubos multi-dimen- em Java e funciona dentro de sionais; um servidor de aplicação; ➧ BIRT e Jasper Reports, para ge- ➧ permite o uso de vários moto- ração de relatórios; res diferentes, tanto de Código ➧ Talend, para processos ETL; Aberto quanto proprietários; ➧ Lazslo , para painéis de controle ➧ é uma plataforma de integração, e indicadores. não apenas um aplicativo. A figura 2 mostra a arquitetura do SpagoBI. Operação Uma limitação presente com Primeiramente, o aplicativo deve ser freqüência em sistemas BI de Códi- acessado por meio do navegador web. go Aberto é o fato de serem apenas O mecanismo de segurança determi- ferramentas para construir a solução, na as permissões de acesso do usuário sem um aplicativo pronto para ser no processo de login (figura 3). utilizado plenamente. O SpagoBI Após o login, o usuário tem à dis- Figura 8 Seleção de relatórios no navegador BI. se destaca por apresentar também posição a tela inicial, em que pode

62 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. SpagoBI | ANÁLISE

tório ou objeto BI de BI com ele não sentirá falta de em geral permite funcionalidades para aspectos fun- que o usuário faça damentais de BI. Destacamos que, anotações. Assim, para uma implementação bem pode ser delegada sucedida, é muito importante dar a função de pre- passos firmes, sustentados com um parar, por exem- planejamento adequado. ■ plo, um dossiê de status de projeto a Mais informações usuários de dife- rentes áreas, que [1] Aquisição da Hyperion pela possam preparar Oracle: http://www.oracle. o material e re- com/corporate/press/2007_ mar/hyperion.html gistrar questões Figura 9 Relatório gráfico mostrando o editor de notas. relevantes para a [2] Aquisição da Business análise final. Essa Objects pela SAP: http:// selecionar as operações a efetuar. A é a base das possibilidades colabora- www.businessobjects. figura 4 exibe o painel de controle tivas do sistema. com/company/sap/ com indicadores de desempenho. Os relatórios podem ser salvos [3] Aquisição da Cognos É possível substituir os indicadores em diferentes formatos, atualmen- pela IBM: http://www. visuais da figura 4 por outros, como os te limitados a HTML, PDF, XLS, cognos.com/news/ da figura 5, particularmente interes- CSV, XML, TXT e JPG. releases/2007/1112.html santes para o usuário, por mudarem de A figura 9 mostra um exemplo de [4] Ventana Research: http:// posição dinamicamente pelo acesso tela com o editor de notas aberto. www.ventanaresearch.com regular aos dados que representam. [5] SpagoBI: http:// O painel, portanto, não contém ape- Conclusão spagobi.eng.it/ nas informações estáticas. Fazer uso eficiente e produtivo de um Para gerar uma nova consulta, o pacote de BI é uma meta nobre e difícil [6] Consórcio OW2: usuário pode usar a funcionalidade de atingir. A forma de implementar o http://www.ow2.org QbE (query by example), que exibe SpagoBI e a possibilidade de integração [7] Bull: http://www. as tabelas que podem ser consulta- de motores individuais de diferentes fa- bull.com.br das e, para cada uma, os dados que bricantes permite que o uso do SpagoBI podem ser selecionados. comece pouco difundido e aumente [8] France Telecom: http:// Com as consultas definidas tan- conforme as necessidades. www.francetelecom.com to diretamente em bancos de dados A implementação do SpagoBI [9] PALO: http://www. quanto em cubos para análise OLAP, considera ter resultados bons, mesmo jedox.com pode ser configurada uma tela de con- que parciais, algo muito importante [10] JPALO: http:// sulta geográfica, conforme mostrado para o projeto de implementação. www.jpalo.com na figura 6. Selecionando áreas da fi- O SpagoBI permite que a empresa gura, o usuário será levado a telas de inicie, por exemplo, apenas com a [11] Eclipse: http://www. consulta dos detalhes do item. necessidade de um termômetro que eclipse.org Usando as possibilidades do We- mostre em forma de painel de con- [12] eXo Platform: http:// bOS, é possível definir telas BI mais trole a quantidade de peças vendidas wiki.exoplatform.com/ sofisticadas, conforme mostra a figura 7. por semana. xwiki/bin/view/Main/ Porém, caso a consulta requerida seja O estudo da Ventana Research, [13] WebOS: http:// freqüente, talvez já esteja disponível mencionado anteriormente, mos- wiki.exoplatform. para consulta imediata pelo navegador tra que as empresas entrevistadas com/xwiki/bin/view/ de consultas do sistema (figura 8). consideram que os pacotes de BI Main/WebOS+concept A interface gráfica do aplicativo de Código Aberto têm suficientes [14] Liferay: http//www. web permite que o usuário agrupe di- características para serem usados. liferay.com ferentes relatórios e visões em conjun- Esse é o caso do SpagoBI; o clien- tos denominados dossiês. Cada rela- te que resolver iniciar um projeto

Linux Magazine #42 | Maio de 2008 63 © Linux New Media do Brasil Editora Ltda. DVD do assinante: Librix 3 Para conquistar o público

Em sua versão 3.0, o Librix, da Itautec, atinge a maturidade para ser adotado por seu atual público-alvo, os usuários inexperientes.

ANÁLISE por Pablo Hess

istribuições genuinamente ção de distribuições mundialmente ampla gama de usuários. Enquanto nacionais de grande sucesso difundidas, como Open Suse, Fedora os mais íntimos do sistema do pingüim Djá foram numerosas e muito e Mandriva. têm à disposição os flexíveis utilitários presentes nas máquinas brasileiras. A onda de novas distribuições nacio- de linha de comando do Gentoo, os Atualmente, no entanto, são raras, nais, no entanto, promete mudar esse usuários inexperientes, que iniciam especialmente após a meteórica as- cenário. Fortemente baseadas em dis- seu aprendizado em Linux com a dis- cenção do Ubuntu entre os usuários tribuições usadas em grande escala no tribuição da Itautec, desfrutam de um de desktop, assim como a ampla ado- exterior, as distribuições que equipam os agradável e organizado – além de atra- computadores ven- ente, claro – ambiente KDE. didos sob o programa Computador Para Beleza Todos, do Governo A área de trabalho do Librix (figura 1) Federal, geralmente traz os principais ícones que o usuário realizam apenas al- iniciante espera encontrar: além da gumas adaptações Pasta do Usuário, pode-se acessar o gráficas e de idiomas navegador Firefox, o pacote de escritó- para tornarem o uso rio BrOffice.org, o Sistema das máquinas mais (acessando a URI system:/ e exibindo prático para nosso locais de rede e mídias externas – figura povo – com algumas 2) e a lixeira. exceções, é claro. E já começam as inovações. O tema Uma das mais adotado por padrão, como mostra a fi- Figura 1 A área de trabalho do Librix 3 traz os ícones mais impor- tantes e um visual muito atraente. gratas dentre exce- gura 2, é colorido e elegante, capaz de ções está sendo en- agradar todos os tipos de usuários – uma tregue junto com o constante nessa versão da distribuição, DVD do assinante já podemos adiantar. Os efeitos gráficos desta edição da Li- do desktop, fornecidos pelo gerenciador nux Magazine. O de janelas Compiz e com ornamentos Librix 3, fabricado do Emerald, vêm desabilitados, mas pela Itautec, tem um ícone na barra de tarefas (figura base no poderoso 3) permite sua ativação e configura- e flexível Gentoo ção básica com apenas dois cliques do – conhecido espe- mouse ou a alteração de opções mais cialmente entre os avançadas mediante o acionamento usuários avançados de utilitários completos. de Linux. O valor do Ao ser ativado o Compiz, a con- Librix, no entanto, figuração-padrão do Librix 3 utiliza reside justamente todos os recursos disponíveis, geral- em seu sucesso na mente em modo aleatório. Embora Figura 2 O navegador do sistema exibe dispositivos de armazena- oferta de inúmeras isso possa ser impressionante para mento externos e remotos. vantagens a uma fins de demonstração, os usuários

64 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. DVD do assinante | ANÁLISE

podem se cansar rapidamente desse Itautec não utiliza pacotes comportamento exagerado. binários; ou seja, o sistema O menu trazido pela Itautec (figura compila cada um dos pa- 4) é outro aspecto novo nessa versão cotes instalados no sistema, da distribuição. Seu comportamen- salvo importantes exceções, to, diferente do presente nas demais como o BrOffice.org – cuja distribuições Linux da atualidade, no compilação levaria várias entanto, pode ser um fator negativo, horas. Apesar de tornar a Figura 3 Ativar e desativar os efeitos 3D na área de especialmente para os usuários inex- instalação de novos softwa- trabalho do Librix é muito prático. perientes – felizmente, desativá-lo é res significativamente mais tão fácil quanto ativar os efeitos 3D, lenta que distribuições com exigindo apenas um clique com o pacotes DEB, RPM ou tgz, essa estra- o amigável . botão direito sobre o botão Menu e tégia garante a possibilidade de per- Softwares raramente sua configuração. sonalização por meio das flags USE, incluídos em outras responsáveis por ativar ou desativar as distribuições, como Poder opções de compilação de cada pacote o Skype e o geren- O sistema Gentoo que vive sob o Librix que compõe o sistema. Além disso, ciador de downloads é o velho conhecido dos obcecados por garante a constante atualização dos Downloader for X, personalização. Utilizando um mirror pacotes, satisfazendo dependências por exemplo, tam- da distribuição padrão, os pacotes que com facilidade e anulando as restri- bém vêm instalados, diferenciam essa distribuição de sua ções de versões de bibliotecas. mas falta um utilitá- “progenitora” residem nos overlays (re- rio de configuração positórios alternativos de pacotes) locais, Praticidade de conexões PPPoE, em /usr/local/portage/ e /usr/local/ Não há como negar: o público-alvo a mais comum em portage/xeffects/. Isso é suficiente para dessa distribuição é o usuário iniciante, serviços ADSL. Figura 4 O menu KBFX fornecer ao Librix o pacote de escritório que está travando seu primeiro contato vem ativado BrOffice.org (ausente no Gentoo) e o com o Linux. Nesse sentido, um im- Conclusões por padrão, e gerenciador gráfico de pacotes Tutoo portante aspecto do sistema é incluir A Itautec vem me- mostra seme- Package Manager (figura 5), além de “de fábrica” softwares que supram as lhorando seu Librix lhanças com o alguns outros softwares que englobam necessidades de quem já tem costume a cada nova versão. de diferentes versões do desde módulos para a linguagem Python com algum sistema Windows®. Com facilidades im- Windows. até as leves particularidades gráficas do O Librix já traz os codecs de áudio e portantes voltadas sistema da Itautec. vídeo proprietários da Microsoft (WMA aos novos usuários Mesmo com todas essas facilida- e WMV são seus principais represen- Linux, a distribuição se torna uma al- des, o gerenciamento do sistema pode tantes) e é capaz de reproduzir DVDs ternativa interessante para os usuários ser feito inteiramente pela linha de em seu reprodutor multimídia . que temem deixar sua zona de con- comando, com os poderosos emer- Os usuários do iTunes, da Apple, tam- forto em relação ao comportamento ge, eselect, equery e companhia. A bém podem evitar a saudade usando de seu desktop. O gerenciamento de pacotes, agora feito pelo TPM, finalmente alcançou o nível de maturidade exigido para satisfa- zer as necessidades do público iniciante – principalmente a facilidade de uso e compreensão –, ainda assim preservando o poder do Portage “sob o capô”. O visual e o comportamento do am- biente desktop fazem alusão às atuais versões do Windows (XP e Vista), o que certamente contribui para a que- da de uma importante barreira para a Figura 5 O Tutoo Package Manager livra o usuário de adquirir intimidade com adoção dessa distribuição no programa o comando emerge. Computador Para Todos. ■

Linux Magazine #42 | Maio de 2008 65 © Linux New Media do Brasil Editora Ltda. Manipulando máquinas com o Puppet Marionete

Aprenda a economizar tempo e agilize a administração de sistemas com ajuda do Puppet, uma ferramenta de REDES gerenciamento e configuração centralizados. por Juliet Kemp

dimitris petridis – www.sxc.hu

Puppet é um sistema centra- 2.Se houver mais de uma máqui- Para guardar também o conteúdo lizado de gerenciamento de na, é possível instalá-las de forma dos arquivos, será necessário uma con- Oconfiguração que usa uma idêntica ou usar o mesmo siste- figuração de servidor de arquivos, em linguagem de especificação multiplata- ma-base e aplicar as modificações /etc/puppet/fileserver.conf. O código forma. Para usá-lo, executa-se um ser- para clientes individuais. mostrado a seguir exibe o caminho vidor Puppet central – o puppetmaster 3. O conjunto de tipos do Puppet para o armazenamento de arquivos – e os daemons do programa em todos facilita o gerenciamento de no puppetmaster e permite o acesso a os computadores que devem ser admi- múltiplos sistemas a partir de todas as máquinas em exemplo.com: nistrados. As opções de configuração um local único. para todas as máquinas-cliente são es- Outra vantagem do Puppet é que [files] pecificadas no PuppetMaster. Depois, ele funciona em conjunto com uma path /etc/puppet/files as alterações nas configurações são ferramenta chamada Facter. Ela define allow *.exemplo.com propagadas a partir do PuppetMaster, variáveis específicas em cada máquina # deny *.ruim.exemplo.com para os clientes adequados. (como nome da máquina, endereço # allow 192.168.0.0/24 O Puppet permite o gerenciamento IP e sistema operacional) automatica- de arquivos (dono, modo, conteúdo mente, permitindo um ajuste fino de Além disso, também é possível ba- e existência), usuários, grupos, pa- configurações específicas em clientes nir domínios ou máquinas específicos, cotes e serviços a partir de um local individuais, sem perder os benefícios bem como especificar por endereço central. Pode-se rodar comandos ou de uma configuração comum. IP, caso seja preferível. Para criar os scripts e também é possível gerenciar usuários do Puppet que o daemon crontabs, montagem de sistemas de Instalação e utiliza, deve-se usar a opção mkusers, arquivos e configurações de rede. configuração ao executar o daemon puppetmaster Cada item gerenciado é chamado pela primeira vez. de recurso e os recursos são categori- O código-fonte do Puppet está dispo- Como ainda não foram criadas as zados em tipos (por exemplo, arquivo, nível no site do projeto[1] e seus pa- definições dos nós, também será ne- pacote, serviço, cron). O Puppet está cotes estão presentes nos repositórios cessário usar a opção --nonodes: em intenso desenvolvimento, receben- de várias distribuições Linux. do novos tipos regularmente – pode-se O principal arquivo de configuração /usr/bin/puppetmasterd --mkusers - até criar tipos personalizados. é /etc/puppet/puppetmaster.conf, com ➥-nonodes uma estrutura bem clara e simples: Por que usá-lo Receita básica Os três principais motivos para usar [puppetmasterd] Com a configuração básica já feita, o Puppet são: # Assegure-se de que todas as mensagens vejamos como configurar o mani- 1. O programa mantém um regis- # de log sejam enviadas ao di- festo do site e começar a gerenciar tro da configuração do cliente. # retorio correto. as configurações e outros tipos. Por Se um sistema-cliente morrer, # Ele deve ser gravavel pelo padrão, o principal manifesto de site é possível gerar uma configura- # usuario puppet. do Puppet fica em /etc/puppet/ma- ção idêntica num novo sistema, logdir=/var/log/puppet nifests/site.pp. Tudo nesse arquivo com base na informação arma- vardir=/var/lib/puppet será executado em todos os clientes. zenada no Puppetmaster. rundir=/var/run Para começar, podemos tentar colo-

66 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Administração centralizada | REDES

car algo numa receita fácil; o arquivo Após terminar, é importante verifi- e subscribe – para especificar essas sudoers é um bom candidato: car o arquivo /etc/sudoers; o modo deve interações. ser o mesmo especificado no Puppet- O trecho abaixo usa o tipo service, file { “/etc/sudoers”: Master e não o que foi alterado. que pode ser usado para qualquer owner => “root”, Além de gerenciar atributos de daemon que se queira deixar em group => “root”, arquivos, o Puppet também gerencia execução (no caso, o Slapd): mode => “440” seu conteúdo, atuando como servi- } dor de arquivos. Para isso, primeiro service { “slapd”: é preciso criar um arquivo sudoers ensure => running, Isso garante que o arquivo sudoers de exemplo e colocá-lo em /etc/pu- hasrestart => true, do cliente tenha essas propriedades. ppet/files/sudoers. require => Package[“slapd”], Em seguida, edite novamente o subscribe => [File[“ldap. arquivo site.pp para que a receita do ➥conf”], Cliente sudoers fique semelhante a: File[“/etc/ldap/schema”]], Em seguida, é necessário iniciar o } PuppetMaster e configurar um cliente file { “/etc/sudoers”: para testes. No cliente, é necessário owner => “root”, A opção hasrestart informa ao Pu- o pacote puppet. Para definir o nome group => “root”, ppet se ele deve reiniciar o serviço com do servidor para um site, deve-se in- mode => 440, stop/start ou com restart. A diretiva re- cluir no arquivo /etc/puppet/puppetd. source => “puppet:// quire simplesmente fornece um rela- conf a linha: ➥puppetserver.exemplo.com/files/ cionamento de ordem; ela garante que ➥sudoers”, o recurso referido – no caso, o pacote server = puppetserver.exemplo.com } slapd – estará configurado antes deste serviço. Todos os tipos suportam isso. Depois alterar os modos ou o dono Edite o arquivo no cliente para O item subscribe é uma depen- do arquivo /etc/sudoers no cliente que ele fique diferente do con- dência relativa. Se os recursos espe- para que fiquem diferentes do es- teúdo acima e rode novamente o cificados forem alterados, o item é pecificado no arquivo site.pp do Puppet com o comando ppuppetd atualizado. Os tipos exec, service e PuppetMaster. A seguir, deve-se --test. O conteúdo do arquivo mount suportam isso. executar o cliente pela primeira vez será alterado. Note a forma como os recursos do com o comando: O trecho abaixo também mostra Puppet são especificados nesse contex- como usar um único contêiner file {} to: com o nome do tipo, começando puppetd --waitforcert 60 --test para múltiplos recursos de arquivo: com letra maiúscula e fornecendo o nome do recurso. Além disso, esses Os clientes são autenticados por file { recursos precisam ser especificados em uma requisição de certificado ao Pu- “/star”: outros locais ou ocorrerá um erro. ppetMaster. O cliente acusará a falta ensure => link, O Puppet é capaz de gerenciar de um certificado e, em seguida, fará target => “/soft9/star”; diversos tipos. uma pausa para que se possa ordenar ➧ packages : o Puppet interage que o PuppetMaster assine o certifi- “/test/dir”: com a maioria dos principais cado do cliente. O comando puppet- ensure => directory; sistemas de pacotes, e pode ca --list, no PuppetMaster, lista os } garantir que programas espe- clientes que aguardam sua assinatura. cíficos estejam instalados, o Com puppetca --sign cliente.exemplo. que é particularmente útil ao com (novamente no PuppetMaster), o Dependências instalar uma nova máquina. certificado será assinado (puppetca -- Os recursos interagem uns com os sign --all assinará todos os certifica- outros. Certos pacotes são necessá- package { “slapd”: ensure => dos que estão aguardando). Após 60 rios para determinados serviços, por ➥installed; } segundos, o cliente obtém o certificado exemplo, ou talvez se queira reiniciar assinado e é executado. A opção test um serviço quando um arquivo espe- ➧ exec : executa comandos internos. faz com que o cliente rode em modo cífico for alterado. O Puppet possui O comando subscribe é útil nesse verboso e apenas uma vez. dependências – notavelmente, require ponto. Por exemplo, um trecho

Linux Magazine #42 | Maio de 2008 67 © Linux New Media do Brasil Editora Ltda. REDES | Administração centralizada

que atualiza o exim4, quando sua Exemplo 1: Cron job para reiniciar o Puppet configuração é modificada. 01 cron { restart-puppet: exec { “exim4-update”: 02 command => ‘if [ -e /var/run/puppetd.pid ]; then ps uw -p `cat /var/run/puppetd.pid` command => “/usr/sbin/update- | grep -q ‘ ruby /usr/sbin/puppetd’ ➥exim4.conf”, 03 || (rm /var/run/puppetd.pid; /etc/init.d/puppet start) user => “root”, fi’, 04 user => root, subscribe => File[“update- 05 minute => ‘0’, ➥exim4”], 06 } refreshonly => true, } ➧ Também estão disponíveis vários - Diretório principal do Puppet ➧ usuários e grupos: esse tipo tem atributos de rede: máquinas, in- |- Arquivos como objetivo gerenciar usuá- terfaces, listas de email, aliases |- Aplicativos rios do sistema e não usuários de email e chaves SSH. |- Usuários normais. É possível gerenciar |- Manifestos o diretório home (por exemplo, |- site.pp criá-lo), assim como outros atri- Padrões - Nós - diretório com butos de usuário. É possível definir padrões para qual- ➥manifestos de vários nós - quer recurso. Por exemplo, se a maio- ➥confira a próxima seção user { “manager”: ria dos arquivos de uma máquina - Classes - diretório com ensure => present, pertencer ao usuário root e tiverem ➥manifestos de várias classes, home => “/local/manager”, permissões 644, o seguinte trecho ➥dependendo do programa (apt.pp, managehome => true, vai estabelecer esses valores como ➥apache2.pp...) gid => “systemusers”, padrão para todos os arquivos: |- Definições } |- Modelos (templates) File { ➧ cron: gerencia cron jobs. Um uso owner => “root”, Todos os subdiretórios contêm arquivos possível para esse recurso é reini- group => “root”, de classe (veja abaixo), e para incluí-los, ciar o Puppet em clientes, caso mode => “644” o arquivo site.pp fica semelhante a: ele falhe, como mostra o exem- } plo 1. Embora esteja mostrado import “classes/*” em múltiplas linhas, o coman- Para contornar esse padrão, basta es- import “definicoes/*” do também pode ser usado em pecificar um valor diferente para qual- import “nos/*” uma única. A hora e o dia para quer um desses parâmetros num recurso import “usuarios/*” execução do cron job, assim específico. Note que os padrões somente como o usuário a executar a ta- se aplicam a seu próprio escopo (classe) refa, podem ser definidos como e a qualquer classe abaixo dessa; se for Nós no trecho acima. O comando é desejável aplicá-los globalmente, é ne- Até o momento consideramos somen- adicionado ao crontab do usuário cessário defini-los fora de todas as classes te a configuração de uma única má- correspondente. – por exemplo, no arquivo site.pp. quina, mas o Puppet realmente brilha ➧ mount: monta diretórios para o en- quando se tem múltiplas máquinas. sure. Se o parâmetro ensure estiver Organização Se forem todas idênticas, basta criar definido como present, o sistema uma configuração – a padrão. de arquivos estará na tabela, mas do diretório não montado. Se o parâmetro O site do Puppet oferece sugestões # site.pp estiver definido como mounted, de organização de arquivos e ma- default { o sistema de arquivos será adicio- nifestos. Independente do sistema include sudo nado à tabela e montado. E, se o usado, é importante certificar-se de } parâmetro estiver definido como que ele seja compreensível e facil- absent, o sistema de arquivos será mente atualizável. Mas também se pode ter uma confi- removido da tabela. Um exemplo seria: guração diferente para cada máquina,

68 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Administração centralizada | REDES

Exemplo 2: Múltiplas classes e herança assim como criar configurações-base e depois herdá-las ou incluí-las na 01 class base { configuração dos nós. Por exemplo, 02 # Varias coisas basicas 03 include autofs é possível criar uma configuração bá- 04 include cron sica para servidores diferente daquela 05 include puppet para desktops e ambas podem herdar 06 include ssh de uma base ou configuração-padrão 07 # e assim por diante 08 } comum (exemplo 2). 09 As classes podem ser especifica- 10 class desktop inherits base { das num arquivo individual ou em 11 # Tudo na classe ‘base’ serah automaticamente incluido aqui um arquivo por classe; recomenda- 12 # Depois, tambem eh possivel 13 include latex se a segunda forma para facilitar o 14 include gnome gerenciamento. 15 # e assim por diante 16 } 17 Facter, modelos, 18 class server inherits base { 19 # Novamente, tudo da classe ‘base’ serah automaticamente variáveis incluido Um aspecto útil do Puppet é que ele 20 # E depois, outras coisas exclusivas de servidores 21 include nfs vem com o Facter, uma ferramenta 22 # e assim por diante que informa vários “fatos” (facts, em 23 } inglês, daí o nome Facter) a respeito de uma máquina específica, incluindo Exemplo 3: iptables.erb seu nome, IP, arquitetura, sistema ope- racional, chave SSH, informações de 01 *filter processador e memória, entre outros. 02 :INPUT DROP [0:0] Para uma lista completa dos fatos 03 :FORWARD DROP [0:0] 04 :OUTPUT ACCEPT [0:0] fornecidos por padrão, basta digitar 05 -A INPUT -d 127.0.0.0/255.0.0.0 -i ! lo -p tcp -j DROP facter na linha de comando. É pos- 06 -A INPUT -d <%= ipaddress %> -m state --state sível consultar esses fatos de den- ➥RELATED,ESTABLISHED -j ACCEPT 07 -A INPUT -i lo -j ACCEPT tro do Puppet com $nome_do_fato. 08 -A INPUT -s 104.198.153.0/255.255.255.0 -d <%= ipaddress %> -j Eles possuem dois usos importan- ➥ACCEPT tes: criar estruturas condicionais e 09 -A INPUT -d <%= ipaddress %> -p tcp -m tcp --dport 22 -j LOG -- usá-las em modelos. ➥log-prefix “ssh:” -A INPUT -d <%= ipaddress %> -p tcp -m tcp -- ➥dport 22 -j ACCEPT Condicionais 10 COMMIT O Puppet possui três tipos de con- dicionais: ubuntu, o pacote não estará ins- novamente, do valor do fato 1. seletores são usados dentro de talado; se estiver como debian, o $operatingsystem. É possível uma diretiva. pacote estará instalado. O padrão especificar múltiplas condições é não definir o atributo. entre vírgulas. package { 2. A diretiva case oferece uma 3. Também existe uma estrutura “kbr-clients”: forma de aplicar classes con- if/else mais simples: ensure => $operatingsystem ? dicionalmente. ➥{ if $needexample { ubuntu => absent, case $operatingsystem { file { “/usr/local/exemplo”: debian => installed, ubuntu: { include ubuntu } ensure => present } default = undef debian: { include debian } } }; default: { include basic } else { } file { “/usr/local/teste”: Nesse trecho, a classe especí- ensure => present } Nesse trecho, se o fato $opera- fica a cada sistema operacio- } tingsystem estiver definido como nal é incluída, dependendo,

Linux Magazine #42 | Maio de 2008 69 © Linux New Media do Brasil Editora Ltda. REDES | Administração centralizada

Exemplo 4: Uso de variáveis no SSH cronizado e então poderá ser usado em qualquer receita. 01 # em site.pp 02 $server_ssh_users = “root jkemp admin” 03 Outras variáveis 04 # em ssh.pp ou qualquer outro lugar a sua escolha Variáveis também são úteis em outras 05 file { “sshd_config”: situações. Uma variável definida no 06 name => “/etc/ssh/sshd_config”, arquivo sitepp ficará disponível para 07 allow_users => ‘AllowUsers $server_ssh_users’, 08 template => “/etc/puppet/templates/sshd_config.erb”, todos os outros manifestos e classes. 09 } Caso haja um conjunto-padrão de 10 usuários com permissão para fazer 11 # trecho relevante de sshd_config.erb 12 LoginGraceTime 600 login nos servidores e se quiser edi- 13 PermitRootLogin without-password tar o arquivo /etc/ssh/sshd_config 14 StrictModes yes de acordo, o código do exemplo 4 15 funcionará muito bem. 16 <%= allow_users %> Configurar o servidor de arqui- vos por meio de uma variável tam- Atualmente, é possível determinar Porém, caso se deseje criar fatos bém é uma boa idéia; se o servidor apenas se uma dada variável está de- personalizados, é interessante mantê- sofrer alterações, não será neces- finida, sem distinguir entre valores es- los no PuppetMaster e então confi- sário editar cada arquivo que faz pecíficos. Para fazer isso, é necessário gurar os clientes para sincronizarem referência ao Puppet. usar as diretivas case ou selector. seus fatos com o servidor. Acrescente a seguinte seção ao Conclusão Modelos arquivo /etc/puppet/fileserver.conf Essa breve apresentação fornece Os modelos usam a linguagem Ruby no puppetmaster: somente um rápido panorama das para inserir variáveis num arquivo-fonte. possibilidades do Puppet. As versões Em outras palavras, é como fornecer [facts] mais recentes do software permitem um arquivo central que pode variar path /etc/puppet/facts que se organize a configuração em de uma máquina para outra. allow *.exemplo.com módulos, o que oferece ainda mais Um bom exemplo de uso de um flexibilidade e reusabilidade. Caso fato num modelo é definir uma po- e, em cada cliente, adicione a se- se use LDAP para armazenar infor- lítica de ipchains. Por exemplo, o ar- guinte linha ao arquivo /etc/puppet/ mações de máquinas e usuários, é quivo iptables.erb (ERB é a sintaxe puppetd.conf: possível também obter as definições de modelos do Ruby) mostrado no dos nós a partir desse recurso. exemplo 3 utiliza o fato $ipaddress. factsync = true Caso sejam necessárias mais informa- Depois, é possível fazer referência ções ou suporte o site do Puppet, assim a esse modelo: Em seguida, reinicie o PuppetMas- como seu wiki[2] e sua lista de emails[3] ter no servidor e o Puppet nos clientes. são de grande ajuda. Tenha nas mãos o file { “iptables_config”: Agora já é possível colocar qualquer fato controle de suas máquinas! ■ name => “/etc/sysconfig/ personalizado em /etc/puppet/facts/ ➥iptables”, e propagá-lo. Por exemplo, para criar content => template(“/etc/ uma regra que defina o fato $home com Mais informações ➥puppet/templates/iptables.erb”), a variável de ambiente $HOME, basta criar [1] Projeto Puppet: http:// } o arquivo /etc/puppet/facts/home.rb: reductivelabs.com/ projets/puppet Note que, enquanto os arquivos Facter.add(“home”) do Wiki do Puppet: precisam da sintaxe puppet://pu- setcode do [2] http:// reductivelabs.com/ ppetserver.exemplo.com, os modelos ENV[‘HOME’] trac/puppet/wiki não precisam. end end [3] Lista do Puppet: http:// reductivelabs.com/ Fatos personalizados trac/puppet/wiki/ Os fatos-padrão estão disponíveis em Da próxima vez que o Puppet GettingHelp#mailing-list todos os clientes, automaticamente. rodar nos clientes, esse fato será sin-

70 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. SEGURANÇA

Firewall fácil com o Shorewall Domando o fogo É verdade que firewalls devem ser administrados por especialistas. Porém, até esses profissionais podem se beneficiar de uma interface prática para essa tarefa. por Tarcísio Carvalho Espínola

Ramon Gonzalez - www.sxc.hu

ontar um firewall para atarefado administrador de rede e Para ilustrar a utilização do Sho- a proteção de um único o prolixo, mas poderoso, software rewall, mostraremos como configurar Mservidor não é tarefa das Iptables: o Shorewall[1]. o firewall de uma rede normalmente mais simples. Imagine montar um A forma simples e intuitiva como utilizada em pequenas e médias em- firewall para uma rede inteira, que são desenvolvidas as regras no presas (figura 1), embora o Shorewall requer muito mais atenção e conhe- Shorewall facilita bastante a cria- possa ser utilizado em situações bem cimento, tanto dos serviços quanto ção e manutenção do firewall. Na mais complexas. das ferramentas utilizadas. Qualquer inicialização do serviço, as regras descuido pode comprometer toda a definidas pelo administrador são Infra-estrutura segurança da rede e a reputação do compiladas e convertidas em regras Em nossa rede de exemplo, usaremos seu administrador. do Iptables, que será o responsável servidores e estações Linux e Win- No caso específico do Linux, tra- pelo firewall. dows® para mostrar que os serviços balhar com o Iptables na linha de Devido à sua compe- comando torna as coisas um pouco tência, o Shorewall per- mais complicadas, principalmente mite também que o admi- para usuários novatos ou acostuma- nistrador aprimore seus dos apenas com cliques na interfa- conhecimentos na opera- ce gráfica. A criação de regras mais ção do Iptables, estudan- elaboradas requer tantas opções e do as regras criadas pelo parâmetros – e em uma rede mais programa a partir das ins- complexa teremos dezenas delas truções passadas de forma – que é fácil cometer erros. gráfica. Quando o admi- Não estamos questionando a efi- nistrador adota a defini- cácia dessa poderosa ferramenta; ção gráfica de regras pelo muito pelo contrário, o domínio de Shorewall, geralmente seus comandos para uma utilização aumenta sua capacidade eficiente e segura, em situações mais de criar e gerenciar confi- avançadas, exige bastante experiência gurações mais complexas. por parte do administrador. Pensan- O poder da interface grá- do nisso, Thomas M. Eastep teve a fica, nesse caso, está em brilhante idéia de desenvolver uma permitir a administração Figura 1 A rede utilizada neste artigo é bastante simples, ferramenta que funcionasse como de múltiplas regras de composta por uma DMZ, uma rede local e o uma camada entre o estressado e forma facilitada. firewall conectando ambas à Internet.

Linux Magazine #42 | Maio de 2008 71 © Linux New Media do Brasil Editora Ltda. SEGURANÇA | Shorewall

apresentados não de- ➧ IPs utilizáveis: 200.166.161.193 pendem dos sistemas a 200.166.161.254; operacionais utilizados, ➧ IP broadcast: 200.166.161.255. com exceção, claro, do A figura 2 e a tabela 1 detalham os pa- servidor firewall que de- râmetros da nossa rede de exemplo. verá necessariamente Em seguida, basta configurar o usar Linux. servidor DHCP da rede local com os Para fins de exemplo, parâmetros acima. Na configuração das suponhamos que nossos regras do firewall, consideraremos que 64 IPs pertencem à fai- o serviço de DHCP será oferecido pelo xa 200.166.161.192/26, próprio servidor firewall, como veremos distribuídos da se- mais adiante, mas a sua configuração guinte forma: foge do escopo deste artigo. ➧ IP da rede: 200. A DMZ (zona desmilitarizada) 166.161.192; obviamente fica isolada da rede local. ➧ máscara: 255.255. Nela, serão conectados os servidores. 255.192; Observe que, na figura 2, foi definido inclusive o endereço IP da estação re- Figura 2 Detalhes da estrutura da rede usada neste artigo. mota que terá acesso a alguns serviços nas estações da rede local. Note que, dos 64 endereços de que Tabela 1: Descrição da rede de exemplo dispomos, iremos utilizar apenas seis (um para a rede, outro de broadcast, Roteador um no roteador e três nos servidores), Interface Ethernet 200.166.161.254/26 e os 58 restantes serão desperdiçados. Servidor Firewall Isso é muito comum nos contratos com operadoras, ao menos no Brasil. Interface eth0 200.166.161.193/26 Esse tipo de contrato tem ajudado a Interface eth1 192.168.1.254/24 agravar a escassez de endereços IP Interface eth2 10.0.0.1/30 (interface da DMZ) disponíveis na Internet. Gateway padrão 200.166.161.254 (IP do roteador) DNS 200.166.161.193 (o servidor firewall Instalação também servirá DNS) Vamos agora instalar a ferramenta que será utilizada na configuração do Servidor de email (mail.meu_site.com.br) firewall. Antes de iniciar, no entanto, é Interface eth0 200.166.161.194/26 importante lembrar que a versão mais Máscara 255.255.255.192 recente do Shorewall, no momento da Gateway padrão 200.166.161.254 escrita deste artigo, era a 4.08. DNS 200.166.161.193 O Shorewall funciona da seguinte maneira: ao ser iniciado o programa, Servidor Web (www.meu_site.com.br) as configurações definidas nos arquivos Interface Ethernet 200.166.161.254 do diretório /etc/shorewall são com- DNS 200.166.161.193 piladas e convertidas em um arquivo Rede local que contenha as regras para o Iptables. IP da rede 192.168.1.0 Caso não ocorram erros, as regras serão Máscara 255.255.255.0 aplicadas e o firewall ativado. Do con- trário, o motivo da falha será mostrado IPs utilizáveis 192.168.1.1 a 254 e o firewall não será iniciado. Broadcast 192.168.1.255 A partir do lançamento da versão Gateway padrão 192.168.1.254 (eth1 no servidor firewall) 4.0, foram disponibilizadas duas ver- DNS server 192.168.1.254 (eth1 no servidor firewall) sões de compiladores para as regras do Shorewall: a versão em script de shell,

72 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Shorewall | SEGURANÇA

que é a mais antiga e provavelmen- Os pacotes para Debian e Ubun- guradas com o tipo ipv4, pois isso te será descontinuada nas próximas tu, no entanto, deixam os arquivos é obrigatório. Note também que a versões, e a versão em Perl, bem de configuração-padrão em /usr/ zona FW foi definida como sendo o mais rápida, mas que ainda não está share/doc/shorewall/default-con- próprio firewall. Com o comando totalmente funcional. Apesar disso, fig/. Nesse caso, basta copiá-los man shorewall-zones, o administrador muitos administradores já a utilizam para /etc/shorewall/. Em seguida, pode ler mais informações sobre em produção sem qualquer proble- já podemos iniciar a configuração esse arquivo de configuração. ma, por isso vamos usar essa nova do nosso firewall. técnica neste artigo. Interfaces Como o Shorewall está disponível Zonas Cada zona será vinculada a uma in- nos repositórios de pacotes de todas Definiremos duas zonas para a terface de rede do servidor, exceto a as principais distribuições, não abor- montagem do firewall: uma para zona FW, que representará o próprio daremos a compilação do software o próprio servidor firewall, que servidor e não estará vinculada a ne- a partir dos fontes. controlará todo o tráfego entre nhuma interface. Logo, deveremos ter Após a instalação, os arquivos que as zonas, e uma para cada rede a três interfaces em nosso servidor: iremos editar na configuração do fi- que ele estiver conectado. A tabe- ➧ eth0: Interface vinculada à zona rewall serão colocados no diretório la 2 mostra como serão definidas NET. Essa interface será conec- /etc/shorewall/, sendo eles: essas zonas. tada diretamente ao roteador Todas as configurações de zonas que liga a rede à Internet. Em interfaces; no Shorewall deverão ser feitas no nosso exemplo, eth0 receberá masq; arquivo /etc/shorewall/zones. O o IP 200.166.161.193/26. policy; exemplo 1 ilustra como deve ficar ➧ eth1: Interface vinculada à zona proxyarp; esse arquivo em nossa configura- LOC. Essa interface deverá ser rules; ção. Basta ele para definir todas as conectada ao switch da rede lo- shorewall.conf; zonas do firewall. Observe que as cal e será configurada com o IP zones. zonas NET, LOC e DMZ foram confi- 192.168.1.254/24. É preciso confi- gurar também o servidor DHCP Exemplo 1: Arquivo de zonas da rede local, para que ele envie esse endereço como gateway às 01 #ZONE TYPE OPTIONS IN OUT estações (em nosso exemplo, 02 # OPTIONS OPTIONS esse serviço será executado no 03 fw firewall 04 net ipv4 próprio servidor firewall). 05 loc ipv4 ➧ eth2 : Interface vinculada à zona 06 dmz ipv4 DMZ. Essa interface tem uma par- 07 ticularidade: seu IP será con- 08 # Não apagar esta última linha. figurado apenas com o intuito

Tabela 2: Definição das zonas

Nome da zona Componentes Características

Zona FW O próprio firewall Tem livre acesso às demais zonas, mas o acesso a ela será controlado de acordo com os serviços disponibilizados para cada zona. Zona NET Internet Será considerada hostil em nossas configurações. É importante ter muito cuidado com ela. Zona LOC Rede local Nesta zona estarão conectadas as estações locais da empresa. Seu acesso às demais zonas será controlado de acordo com os serviços permitidos para essa zona. Zona DMZ Servidores da empresa Essa zona terá dois servidores, um com Linux (mail.meu_site.com.br), executando ser- que proverão serviços à viços de e-mail, e o outro com Windows Server (www.meu_site.com.br), que hospedará Internet e à rede local o site da empresa (ver figura 1).

Linux Magazine #42 | Maio de 2008 73 © Linux New Media do Brasil Editora Ltda. SEGURANÇA | Shorewall

de ativá-la, mas não pertencerá exemplo) se necessário. Todas as mente. Já para a interface eth0, que terá a nenhuma rede de qualquer configurações de interfaces no Sho- IP estático, foram definidas as opções zona. Nela, configuraremos o IP rewall deverão ser feitas no arquivo tcpflags, routerfilter, nosmurfs, nor- 10.0.0.1/30 e vamos conectá-la ao /etc/shorewall/interfaces. cf1918 e logmartians. mesmo switch no qual serão co- O exemplo 2 mostra como deve ser É interessante consultar o manual nectados os servidores da DMZ. feita essa configuração. Observe que do arquivo de configuração de interfa- Não será necessário seguir o padrão esse caso não configura a zona FW, ces e descobrir a função de cada uma acima para montar os seus próprios uma vez que ela não estará vinculada dessas opções (man shorewall-inter- firewalls; no entanto, é recomendá- a nenhuma interface. Além disso, os faces). Elimine-as, se necessário (não vel fazê-lo. Também é possível usar endereços broadcast foram configura- recomendável), ou adicione outras de aliases de interfaces (eth0:0, por dos para serem detectados automatica- acordo com as suas necessidades.

Exemplo 2: Arquivo de interfaces Políticas Definidas as zonas e interfaces, defi- 01 #ZONE INTERFACE BROADCAST OPTIONS niremos agora as políticas de acesso 02 net eth0 detect tcpflags,routefilter,nosmurfs,norf ➥c1918,logmartians entre cada par de zonas. As definições 03 loc eth1 detect mostradas na tabela 3 serão adotadas 04 dmz eth2 detect como padrão para qualquer requisição 05 que ocorra entre as zonas. 06 # Não apagar esta última linha. Para reforçar a segurança, vamos definir, por fim, que todas as requi- Exemplo 3: Arquivo de políticas sições vindas de qualquer zona (all) com destino a qualquer zona (all) se- 01 #SOURCE DEST POLICY LOG LIMIT:BURST 02 # LEVEL rão bloqueadas, e que esses bloqueios 03 fw all ACCEPT sejam registrados no log com a tag 04 loc all REJECT info info. Essa regra deverá ser a última 05 net all DROP info no arquivo de configuração. 06 dmz all DROP info 07 # Todas as configurações das políticas 08 # THE FOLLOWING POLICY MUST BE LAST de acesso no Shorewall devem ser feitas 09 # no arquivo /etc/shorewall/policy, como 10 all all DROP info exemplo 3 11 mostra o . Note que a regra 12 # Não apagar esta última linha. geral, ou seja, a que define a política de qualquer pacote, foi a última a ser definida, justamente para ser aplicada Tabela 3: Políticas entre zonas apenas se os pacotes não se encaixarem a nenhuma outra regra. Mais uma vez, Zona Política Explicação é importante consultar a página de ma- FW ACCEPT Requisições vindas da zona FW com destino às de- nual do programa (man shorewall-policy) mais zonas (all) serão permitidas e nada será regis- para obter mais detalhes. ■ trado no log. LOC REJECT Requisições vindas da zona LOC; com destino às de- Mais informações mais zonas (all), deverão ser bloqueadas. Uma res- posta será retornada ao solicitante e os bloqueios [1] Shorewall: http://www. serão registrados no log (com a tag info). shorewall.net/ NET DROP Requisições vindas da zona NET; com destino às de- mais zonas (all), deverão ser bloqueadas. Nenhuma Sobre o autor resposta será retornada ao solicitante e os bloqueios serão registrados no log (com a tag info). Tarcísio Carvalho Espínola é coordenador DMZ DROP Requisições vindas da zona DMZ; com destino às de- de TI do Instituto Centec, onde vem traba- lhando na implementação de soluções livres mais zonas (all), deverão ser bloqueadas. Nenhuma nos servidores da empresa. Em seu tempo resposta será retornada ao solicitante e os bloqueios livre, ele ainda mantém o site Opção Linux serão registrados no log (com a tag info). (http://www.opcaolinux.com.br).

74 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Trabalhe com um repositório online de scripts PHP Tesouro PROGRAMAÇÃO

Programadores PHP podem economizar tempo e trabalho com o uso do trecho, script ou classe perfeitos para usar em seus programas. por Kenneth Hess Sophie – www.sxc.hu

á dezenas de repositórios repositórios de scripts possui listas se- til com novos usuários. Além disso, gratuitos de scripts que per- melhantes de categorias. há um fórum Newbies, em que é Hmitem que se navegue e es- Alguns sites não possuem qualquer permitido fazer perguntas que já colha os scripts PHP para seu próprio controle de qualidade ou orientação tenham sido respondidas milhões uso. A maioria desses sites possui vá- de envio para os scripts recebidos, de vezes, sem medo de sofrer repre- rias ofertas, desde scripts simples até mas o Script.com emprega regras sálias – embora seja recomendável aplicativos web completos, incluindo um tanto rigorosas. As orientações fazer uma busca antes de perguntar. conjuntos inteiros de software. Este de envio protegem os usuários de Assim como a maioria dos sites de artigo descreve alguns dos sites mais softwares maliciosos e outros scripts comunidade, é necessário registrar-se importantes na busca de um script ou técnicas danosos que possam pre- (gratuitamente) e fazer login antes PHP pré-fabricado. judicar um site ou atacar o navegador de postar ou participar. O PHP Buil- dos visitantes. Cada script listado tem der é um dos sites de comunidade devshed.com uma descrição completa da tarefa que mais profissionais e bem mantidos O Dev Shed[1] é o avô das comunida- executa, uma nota, um link para o desta seleção. des de desenvolvedores com recursos site do autor e um preço. Nem todos Sua biblioteca de códigos é me- compartilhados. O site tem um pa- os scripts são gratuitos. Na verdade, nor que a dos outros – com apenas gerank de 8 no Google, e conta com alguns são caros, mas geralmente o umas poucas centenas de scripts mais de 150 mil assinantes. Agora par- autor oferece suporte, atualizações e – mas é comum encontrar trechos te da empresa Ziff Davis, o Dev Shed possivelmente outros serviços (como de código nos fóruns, que resolvem é a comunidade de desenvolvedores hospedagem, por exemplo) pelo pre- seus problemas. Caso o programador mais destacada, sendo usada por pro- ço listado. Alguns scripts são gratuitos não esteja seguro de suas habilidades gramadores de várias linguagens e para uso pessoal, mas exigem uma de programação, existe um fórum de tecnologias. O site principal do Dev taxa para uso comercial. crítica de código (chamado Coding Shed tem foco em artigos, tutoriais e Critique) no qual é possível colar na própria comunidade de desenvol- phpbuilder.com o código em questão em busca de vimento. Quem desejar apenas scripts O PHP Builder[3] é 100% dedicado críticas, correções e melhorias. A será redirecionado do site principal ao uso e desenvolvimento de scripts força do PHP Builder não está em para o Scripts.com[2] – a biblioteca PHP. Sua comunidade é ativa e gen- sua biblioteca de código, mas em sua de código do Dev Shed. No Scripts.com, pode-se ver que a área de PHP é a mais numerosa do repositório. Seus mais de 4 mil scripts colocam essa seção com quase o dobro da segunda coloca- da, Perl. Depois de selecionado o repositório PHP a ser usado, são mostradas mais de 60 categorias diferentes. A maioria dos sites com Figura 1 Inicie a instalação a partir da tela do DaDaBIK.

Linux Magazine #42 | Maio de 2008 75 © Linux New Media do Brasil Editora Ltda. PROGRAMAÇÃO | Repositório PHP

am funcionando, mesmo depois de quatro anos em produção. O PHP Classes deve ser incluído nos favoritos de quem quer que esteja à procura de um excelen- te recurso para scripts, classes e trechos PHP. Esse site também possui uma lista de emails que notifica os assinantes em relação a novas classes quando são adicionadas ao repositório – os emails incluem um resumo da clas- se, sua classificação e uma curta Figura 2 Ao término da instalação, é exibido um resumo das mensagens de biografia do autor. Novas classes são alerta e de instalação. acrescentadas todos os dias. php.net O php.net[6] é o site oficial da lin- guagem, onde se origina todo o código PHP gerado. Apesar de não possuir uma biblioteca de código propriamente dita, é possível encon- trar no site uma grande quantidade de códigos. Se o visitante procurar qualquer função – fwrite, por exemplo –, rece- berá a página que descreve a sintaxe e o uso dessa função. Mais abaixo, na mesma página, são exibidos tre- chos de código que demonstram a Figura 3 A página index.php mostra informações da tabela. função em ação.

comunidade. Para os que precisam Classes contém trechos de có- advancescripts.com de respostas, esse é o lugar. digo orientados a objetos, que O oceano de banners e anúncios podem ser acrescentados a qual- piscantes talvez seja a primeira ca- weberdev.com quer código. Para usar as classes racterística a chamar a atenção dos O Weberdev[4] – uma presença e scripts, é preciso ter ao menos visitantes do AdvanceScripts[7]. Esse obrigatória no kit de ferramentas de uma compreensão básica de téc- site tem muito a oferecer e merece ser PHP – tem fóruns, código, links e nicas de programação orientada navegado, então, não se deixe assus- tutoriais excelentes. Se a necessida- a objetos. Felizmente, a maioria tar pela forma de suporte financeiro de for resolver rapidamente algum dos autores das classes fornece escolhida por eles. O AdvanceScripts aspecto de programação em PHP, o documentação e exemplos fun- hospeda quase 6 mil scripts PHP em Weberdev.com é a opção. Sua biblio- cionais de seus códigos, na forma seu repositório. teca de código é um pouco esquisita de páginas PHP completas. Assim como ocorre com os outros de navegar, mas o mecanismo de É possível ler os blogs dos au- sites, nem todos os scripts são gratui- busca é rápido e inteligente. tores, pedir mais informações so- tos, então, é importante ter cuidado bre uma classe diretamente a um com as escolhas feitas. phpclasses.org autor, envolver-se nos fóruns em Para usar algum dos scripts do busca de perguntas e respostas ou Baixe, altere e use PHP Classes[5], é necessário simplesmente obter classes a par- Apenas para ilustrar as ofertas, bai- se registrar e fazer login, mas é tir do enorme repositório. Muitas xei um script de um desses sites e uma felicidade fazê-lo. O PHP classes desse site ainda continu- adaptei-o para meu próprio uso. Esse

76 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Repositório PHP | PROGRAMAÇÃO exemplo rápido mostrará como é fácil Tabela 1: Parâmetros do config.php implementar uma ferramenta a partir de uma biblioteca de código. Como Parâmetro Descrição meu trabalho envolve bancos de da- $dbms_type Tipo do banco de dados (MySQL, Postgres7, Postgres8, dos e PHP, optei pelo foco em scripts Mssql ou oci8po). relacionados a bancos de dados. Na $host Nome do servidor de banco de dados (normalmente local- biblioteca do Scripts.com, em PHP host). Scripts | Database Tools encontrei o db_name Nome do banco de dados a ser usado com o . DaDaBIK[8][9] (Databases Inter- DaDaBIK face Kreator), cuja descrição oficial, $user Conta de usuário do banco de dados que possa fazer SE- traduzida, é: “...um aplicativo PHP LECT, INSERT, DELETE e UPDATE nos registros do banco. gratuito que permite criar facilmen- $pass Senha do usuário no banco de dados. te uma interface de formulário web $site_url URL completa do DaDaBIK (http://www.nome_do_site. altamente personalizável para um com.br/dadabik/). banco de dados MySQL, para buscar, $site_path Caminho relativo do DaDaBIK (/dadabik/). inserir, atualizar e apagar registros; basta especificar alguns parâmetros de configuração”. (figura 3). As tabelas são listadas em fácil. É interessante usar todos os É interessante verificar a descrição ordem alfabética na lista drop-down. recursos disponíveis para conhecer do script antes de baixá-lo. O script é Nessa página, é possível editar, inse- outros profissionais ao longo do pequeno (1,6 MB), bem documen- rir, apagar ou buscar registros. caminho e rapidamente tornar-se tado e livre (utiliza a GPL). Os re- Como se pode ver, o DaDaBIK é o tipo de programador que ajuda quisitos mínimos do DaDaBIK são fácil de instalar e rápido para confi- os outros. ■ PHP posterior à versão 4.05 e um gurar e usar. O exemplo deste artigo banco de dados (MySQL, Oracle, teve sucesso devido à excelente do- PostgreSQL ou MS SQL). cumentação incluída na ferramen- Mais informações As etapas de instalação são seme- ta. Ao procurar numa biblioteca de lhantes às de outros scripts da Inter- código, é importante sempre esco- [1] PHP no Dev Shed: http:// www.devshed.com/c/b/PHP/ net. Deve-se baixar e descompactar lher scripts, classes e aplicativos com o pacote e depois procurar o arquivo muita documentação. [2] Scripts.com: http:// documentation.htm, que fornece as Exceto no caso de programadores www.scripts.com/ instruções de instalação. Seguindo experientes que se sintam confor- [3] PHP Builder: http:// as instruções, renomeie o diretório táveis ao analisar código alheio, é www.phpbuilder.com/ program_files/ para dadabik/ e copie- fundamental ter acesso a uma boa o para o diretório webroot/. documentação. Raramente a docu- [4] Weberdev: http:// Após abrir o arquivo include/con- mentação interna de um script (co- www.weberdev.com/ fig.php, é preciso digitar os parâme- mentários no código) explica com- [5] PHP Classes: http:// tros mostrados na tabela 1. Depois de pletamente seu comportamento. www.phpclasses.org/ digitá-los e salvá-los, abra um nave- gador e aponte-o para a página de [6] PHP.net: http:// Resumo www.php.net/ instalação do DaDaBIK, http://www. Muitos programadores pensam ser nome_do_site.com.br/dadabik/install. capazes de produzir todo o códi- [7] Advance Scripts: http:// php (figura 1). Após clicar no botão go de um aplicativo. Usar trechos www.advancescripts.com/ de instalação e finalizar o processo, de códigos e idéias de outros pro- [8] DaDaBIK no Scripts.com: será exibida uma tela semelhante à gramadores é uma ótima forma http://www.scripts.com/ figura 2, que mostra alertas e men- de melhorar as habilidades em php-scripts/database- sagens da instalação. programação; porém, o trabalho tools/dadabik/ Ao clicar no link no alto da página, não é feito simplesmente baixan- [9] DaDaBIK: http:// para sair da área de administração, do-se um script ou trecho – ainda www.dadabik.org/ o administrador será redirecionado é necessário adaptar o código ao para a página index.php, onde verá ambiente no qual ele será usado. a primeira tabela de banco de dados Freqüentemente essa tarefa não é

Linux Magazine #42 | Maio de 2008 77 © Linux New Media do Brasil Editora Ltda. Linux.local O maior diretório de empresas que oferecem produtos, soluções e serviços em Linux e Software Livre, organizado por Estado. Sentiu Fornecedor de Hardware = 1 Redes e Telefonia / PBX = 2 falta do nome de sua empresa aqui? Entre em contato com a gente: Integrador de Soluções = 3 11 4082-1300 ou [email protected] Literatura / Editora = 4 Fornecedor de Software = 5 Consultoria / Treinamento = 6 SERVIÇOS

Empresa Cidade Endereço Telefone Web 1 2 3 4 5 6 Ceará F13 Tecnologia Fortaleza Rua Coronel Solon, 480 – Bairro de Fátima 85 3252-3836 www.f13.com.br ✔ ✔ ✔ ✔ Fortaleza - CE - CEP: 60040-270 Espírito Santo Linux Shopp Vila Velha Rua São Simão (Correspondência), 18 – CEP: 29113-120 27 3082-0932 www.linuxshopp.com.br ✔ ✔ ✔ ✔ Megawork Consultoria Vitória Rua Chapot Presvot, 389 – Praia do Can- 27 3315-2370 www.megawork.com.br ✔ ✔ ✔ e Sistemas to – CEP: 29055-410 sl 201, 202 Spirit Linux Vitória Rua Marins Alvarino, 150 – CEP: 29047-660 27 3227-5543 www.spiritlinux.com.br ✔ ✔ ✔ Minas Gerais Instituto Online Belo Horizonte Av. Bias Fortes, 932, Sala 204 – CEP: 30170-011 31 3224-7920 www.institutoonline.com.br ✔ ✔ Linux Place Belo Horizonte Rua do Ouro, 136, Sala 301 – Serra – CEP: 30220-000 31 3284-0575 corporate.linuxplace.com.br ✔ ✔ ✔ ✔ Microhard Belo Horizonte Rua República da Argentina, 520 – Sion – CEP: 30315-490 31 3281-5522 www.microhard.com.br ✔ ✔ ✔ ✔ ✔ TurboSite Belo Horizonte Rua Paraíba, 966, Sala 303 – Savassi – CEP: 30130-141 0800 702-9004 www.turbosite.com.br ✔ ✔ ✔ Paraná iSolve Curitiba Av. Cândido de Abreu, 526, Cj. 1206B – CEP: 80530-000 41 252-2977 www.isolve.com.br ✔ ✔ ✔ Mandriva Conectiva Curitiba Rua Tocantins, 89 – Cristo Rei – CEP: 80050-430 41 3360-2600 www.mandriva.com.br ✔ ✔ ✔ ✔ Telway Tecnologia Curitiba Rua Francisco Rocha 1830/71 41 3203-0375 www.telway.com.br ✔ ✔ Rio de Janeiro NSI Training Rio de Janeiro Rua Araújo Porto Alegre, 71, 4ºandar Centro – CEP: 20030-012 21 2220-7055 www.nsi.com.br ✔ ✔ Open IT Rio de Janeiro Rua do Mercado, 34, Sl, 402 – Centro – CEP: 20010-120 21 2508-9103 www.openit.com.br ✔ ✔ Unipi Tecnologias Campos dos Av. Alberto Torres, 303, 1ºandar - Centro – CEP: 28035-581 22 2725-1041 www.unipi.com.br ✔ ✔ ✔ ✔ Goytacazes Rio Grande do Sul 4up Soluções Corporativas Novo Hamburgo Pso. Calçadão Osvaldo Cruz, 54 sl. 301 CEP: 93510-015 51 3581-4383 www.4up.com.br ✔ ✔ ✔ ✔ Definitiva Informática Novo Hamburgo Rua General Osório, 402 - Hamburgo Velho 51 3594 3140 www.definitiva.com.br ✔ ✔ ✔ ✔ Solis Lajeado Rua Comandante Wagner, 12 – São Cristóvão – CEP: 95900-000 51 3714-6653 www.solis.coop.br ✔ ✔ ✔ ✔ ✔ DualCon Novo Hamburgo Rua Joaquim Pedro Soares, 1099, Sl. 305 – Centro 51 3593-5437 www.dualcon.com.br ✔ ✔ ✔ ✔ Datarecover Porto Alegre Av. Carlos Gomes, 403, Sala 908, Centro Comer- 51 3018-1200 www.datarecover.com.br ✔ ✔ cial Atrium Center – Bela Vista – CEP: 90480-003 LM2 Consulting Porto Alegre Rua Germano Petersen Junior, 101-Sl 202 – Hi- 51 3018-1007 www.lm2.com.br ✔ ✔ ✔ gienópolis – CEP: 90540-140 Lnx-IT Informação e Tecnologia Porto Alegre Av. Venâncio Aires, 1137 – Rio Branco – CEP: 90.040.193 51 3331-1446 www.lnx-it.inf.br ✔ ✔ ✔ ✔ Plugin Porto Alegre Av. Júlio de Castilhos, 132, 11º andar Centro – CEP: 90030-130 51 4003-1001 www.plugin.com.br ✔ ✔ ✔ TeHospedo Porto Alegre Rua dos Andradas, 1234/610 – Centro – CEP: 90020-008 51 3286-3799 www.tehospedo.com.br ✔ ✔ São Paulo Ws Host Arthur Nogueira Rua Jerere, 36 – Vista Alegre – CEP: 13280-000 19 3846-1137 www.wshost.com.br ✔ ✔ ✔ DigiVoice Barueri Al. Juruá, 159, Térreo – Alphaville – CEP: 06455-010 11 4195-2557 www.digivoice.com.br ✔ ✔ ✔ ✔ ✔ Dextra Sistemas Campinas Rua Antônio Paioli, 320 – Pq. das Universidades – CEP: 13086-045 19 3256-6722 www.dextra.com.br ✔ ✔ ✔ Insigne Free Software do Brasil Campinas Av. Andrades Neves, 1579 – Castelo – CEP: 13070-001 19 3213-2100 www.insignesoftware.com ✔ ✔ ✔ Microcamp Campinas Av. Thomaz Alves, 20 – Centro – CEP: 13010-160 19 3236-1915 www.microcamp.com.br ✔ ✔ PC2 Consultoria em Carapicuiba Rua Edeia, 500 - CEP: 06350-080 11 3213-6388 www.pc2consultoria.com ✔ ✔ Software Livre Savant Tecnologia Diadema Av. Senador Vitorino Freire, 465 – CEP: 09910-550 11 5034-4199 www.savant.com.br ✔ ✔ ✔ ✔ Epopéia Informática Marília Rua Goiás, 392 – Bairro Cascata – CEP: 17509-140 14 3413-1137 www.epopeia.com.br ✔ Redentor Osasco Rua Costante Piovan, 150 – Jd. Três Montanhas – CEP: 06263-270 11 2106-9392 www.redentor.ind.br ✔ Go-Global Santana de Av. Yojiro Takaoca, 4384, Ed. Shopping Ser- 11 2173-4211 www.go-global.com.br ✔ ✔ ✔ Parnaíba vice, Cj. 1013 – CEP: 06541-038 AW2NET Santo André Rua Edson Soares, 59 – CEP: 09760-350 11 4990-0065 www.aw2net.com.br ✔ ✔ ✔ Async Open Source São Carlos Rua Orlando Damiano, 2212 – CEP 13560-450 16 3376-0125 www.async.com.br ✔ ✔ ✔ Delix Internet São José do Rua Voluntário de São Paulo, 3066 9º – Centro – CEP: 15015-909 11 4062-9889 www.delixhosting.com.br ✔ ✔ ✔ Rio Preto

78 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. Linux.local | SERVIÇOS

Empresa Cidade Endereço Telefone Web 1 2 3 4 5 6 São Paulo (continuação) 4Linux São Paulo Rua Teixeira da Silva, 660, 6º andar – CEP: 04002-031 11 2125-4747 www.4linux.com.br ✔ ✔ A Casa do Linux São Paulo Al. Jaú, 490 – Jd. Paulista – CEP: 01420-000 11 3549-5151 www.acasadolinux.com.br ✔ ✔ ✔ Accenture do Brasil Ltda. São Paulo Rua Alexandre Dumas, 2051 – Chácara Santo Antônio 11 5188-3000 www.accenture.com.br ✔ ✔ ✔ – CEP: 04717-004 ACR Informática São Paulo Rua Lincoln de Albuquerque, 65 –Perdizes – CEP: 05004-010 11 3873-1515 www.acrinformatica.com.br ✔ ✔ Agit Informática São Paulo Rua Major Quedinho, 111, 5º andar, Cj. 11 3255-4945 www.agit.com.br ✔ ✔ ✔ 508 – Centro – CEP: 01050-030 Altbit - Informática Co- São Paulo Av. Francisco Matarazzo, 229, Cj. 57 11 3879-9390 www.altbit.com.br ✔ ✔ ✔ ✔ mércio e Serviços LTDA. – Água Branca – CEP 05001-000 AS2M -WPC Consultoria São Paulo Rua Três Rios, 131, Cj. 61A – Bom Retiro – CEP: 01123-001 11 3228-3709 www.wpc.com.br ✔ ✔ ✔ Big Host São Paulo Rua Dr. Miguel Couto, 58 – Centro – CEP: 01008-010 11 3033-4000 www.bighost.com.br ✔ ✔ ✔ Blanes São Paulo Rua André Ampére, 153 – 9º andar – Conj. 91 11 5506-9677 www.blanes.com.br ✔ ✔ ✔ ✔ ✔ CEP: 04562-907 (próx. Av. L. C. Berrini) Commlogik do Brasil Ltda. São Paulo Av. das Nações Unidas, 13.797, Bloco II, 6º andar – Morumbi 11 5503-1011 www.commlogik.com.br ✔ ✔ ✔ ✔ ✔ – CEP: 04794-000 Computer Consulting Pro- São Paulo Rua Vergueiro, 6455, Cj. 06 – Alto do Ipiranga – CEP: 04273-100 11 5062-3927 www.computerconsulting.com.br ✔ ✔ ✔ ✔ jeto e Consultoria Ltda. Consist Consultoria, Siste- São Paulo Av. das Nações Unidas, 20.727 – CEP: 04795-100 11 5693-7210 www.consist.com.br ✔ ✔ ✔ ✔ mas e Representações Ltda. Domínio Tecnologia São Paulo Rua das Carnaubeiras, 98 – Metrô Conceição – CEP: 04343-080 11 5017-0040 www.dominiotecnologia.com.br ✔ ✔ EDS do Brasil São Paulo Av. Pres. Juscelino Kubistcheck, 1830 Torre 4 - 5º andar 11 3707-4100 www.eds.com ✔ ✔ ✔ Ética Tecnologia São Paulo Rua Nova York, 945 – Brooklin – CEP:04560-002 11 5093-3025 www.etica.net ✔ ✔ ✔ ✔ Getronics ICT Solu- São Paulo Rua Verbo Divino, 1207 – CEP: 04719-002 11 5187-2700 www.getronics.com/br ✔ ✔ ✔ tions and Services Hewlett-Packard Brasil Ltda. São Paulo Av. das Nações Unidas, 12.901, 25º andar – CEP: 04578-000 11 5502-5000 www.hp.com.br ✔ ✔ ✔ ✔ ✔ IBM Brasil Ltda. São Paulo Rua Tutóia, 1157 – CEP: 04007-900 0800-7074 837 www.br.ibm.com ✔ ✔ ✔ ✔ iFractal São Paulo Rua Fiação da Saúde, 145, Conj. 66 – Saúde – CEP: 04144-020 11 5078-6618 www.ifractal.com.br ✔ ✔ ✔ Integral São Paulo Rua Dr. Gentil Leite Martins, 295, 2º andar Jd. Prudência 11 5545-2600 www.integral.com.br ✔ ✔ – CEP: 04648-001 Itautec S.A. São Paulo Rua Santa Catarina, 1 – Tatuapé – CEP: 03086-025 11 6097-3000 www.itautec.com.br ✔ ✔ ✔ ✔ ✔ Kenos Consultoria São Paulo Av: Fagundes Filho, 13, Conj -53 – CEP: 04304-000 11 40821305 www.kenos.com.br ✔ ✔ Konsultex Informatica São Paulo Av. Dr. Guilherme Dumont Villares, 1410 6 andar, CEP: 05640-003 11 3773-9009 www.konsultex.com.br ✔ ✔ ✔ Linux Komputer Informática São Paulo Av. Dr. Lino de Moraes Leme, 185 – CEP: 04360-001 11 5034-4191 www.komputer.com.br ✔ ✔ ✔ ✔ Linux Mall São Paulo Rua Machado Bittencourt, 190, Cj. 2087 – CEP: 04044-001 11 5087-9441 www.linuxmall.com.br ✔ ✔ ✔ Livraria Tempo Real São Paulo Al. Santos, 1202 – Cerqueira César – CEP: 01418-100 11 3266-2988 www.temporeal.com.br ✔ ✔ ✔ Locasite Internet Service São Paulo Av. Brigadeiro Luiz Antonio, 2482, 3º andar – Centro 11 2121-4555 www.locasite.com.br ✔ ✔ ✔ – CEP: 01402-000 Microsiga São Paulo Av. Braz Leme, 1631 – CEP: 02511-000 11 3981-7200 www.microsiga.com.br ✔ ✔ ✔ Novatec Editora Ltda. São Paulo Rua Luis Antonio dos Santos, 110 – Santana – CEP: 02460-000 11 6979-0071 www.novateceditora.com.br ✔ Novell América Latina São Paulo Rua Funchal, 418 – Vila Olímpia 11 3345-3900 www.novell.com/brasil ✔ ✔ ✔ Oracle do Brasil Sistemas Ltda. São Paulo Av. Alfredo Egídio de Souza Aranha, 100 – Bloco B – 5º 11 5189-3000 www.oracle.com.br ✔ ✔ andar – CEP: 04726-170 Proelbra Tecnolo- São Paulo Av. Rouxinol, 1.041, Cj. 204, 2º andar Moema – CEP: 04516-001 11 5052- 8044 www.proelbra.com.br ✔ ✔ ✔ gia Eletrônica Ltda. Provider São Paulo Av. Cardoso de Melo, 1450, 6º andar – Vila Olímpia 11 2165-6500 www.e-provider.com.br ✔ ✔ ✔ – CEP: 04548-005 Red Hat Brasil São Paulo Av. Brigadeiro Faria Lima, 3900, Cj 81 8º andar 11 3529-6000 www.redhat.com.br ✔ ✔ ✔ Itaim Bibi – CEP: 04538-132 Samurai Projetos Especiais São Paulo Rua Barão do Triunfo, 550, 6º andar – CEP: 04602-002 11 5097-3014 www.samurai.com.br ✔ ✔ ✔ SAP Brasil São Paulo Av. das Nações Unidas, 11.541, 16º andar – CEP: 04578-000 11 5503-2400 www.sap.com.br ✔ ✔ ✔ Simples Consultoria São Paulo Rua Mourato Coelho, 299, Cj. 02 Pinheiros – CEP: 05417-010 11 3898-2121 www.simplesconsultoria.com.br ✔ ✔ ✔ Smart Solutions São Paulo Av. Jabaquara, 2940 cj 56 e 57 11 5052-5958 www.smart-tec.com.br ✔ ✔ ✔ ✔ Snap IT São Paulo Rua João Gomes Junior, 131 – Jd. Bonfiglioli – CEP: 05299-000 11 3731-8008 www.snapit.com.br ✔ ✔ ✔ Stefanini IT Solutions São Paulo Av. Brig. Faria Lima, 1355, 19º – Pinheiros – CEP: 01452-919 11 3039-2000 www.stefanini.com.br ✔ ✔ ✔ Sun Microsystems São Paulo Rua Alexandre Dumas, 2016 – CEP: 04717-004 11 5187-2100 www.sun.com.br ✔ ✔ ✔ ✔ Sybase Brasil São Paulo Av. Juscelino Kubitschek, 510, 9º andar Itaim Bibi – CEP: 04543-000 11 3046-7388 www.sybase.com.br ✔ ✔ The Source São Paulo Rua Marquês de Abrantes, 203 – Chácara Tatuapé 11 6698-5090 www.thesource.com.br ✔ ✔ ✔ – CEP: 03060-020 Unisys Brasil Ltda. São Paulo R. Alexandre Dumas 1658 – 6º, 7º e 8º andares – Chácara 11 3305-7000 www.unisys.com.br ✔ ✔ ✔ ✔ Santo Antônio – CEP: 04717-004 Utah São Paulo Av. Paulista, 925, 13º andar – Cerqueira César – CEP: 01311-916 11 3145-5888 www.utah.com.br ✔ ✔ ✔ Visuelles São Paulo Rua Eng. Domicio Diele Pacheco e Silva, 585 – Interlagos 11 5614-1010 www.visuelles.com.br ✔ ✔ ✔ – CEP: 04455-310 Webnow São Paulo Av. Nações Unidas, 12.995, 10º andar, Ed. Plaza Centenário 11 5503-6510 www.webnow.com.br ✔ ✔ ✔ – Chácara Itaim – CEP: 04578-000 WRL Informática Ltda. São Paulo Rua Santa Ifigênia, 211/213, Box 02– Centro – CEP: 01207-001 11 3362-1334 www.wrl.com.br ✔ ✔ ✔ Systech Taquaritinga Rua São José, 1126 – Centro - Caixa Postal 71 – CEP: 15.900-000 16 3252-7308 www.systech-ltd.com.br ✔ ✔ ✔

Linux Magazine #42 | Maio de 2008 79 © Linux New Media do Brasil Editora Ltda. Calendário de eventos Índice de anunciantes Empresa Pág. Evento Data Local Website EasyLinux 15 Guia de TI 83 ApacheCon Europe 2008 7 a 11 de abril Amsterdam, Holanda www.eu.apachecon.com Impacta 27 Kenos 22, 23 II Encontro Software Livre Linux Magazine 33 2 a 4 de maio João Pessoa, PB ensol.org.br da Paraíba Linux Magazine Online 81 Linux Park 84 SERVIÇOS LinuxTag 28 a 31 de maio Berlin, Alemanha htttp://www.linuxtag.org Linux Pocket Pro 02, 09 Linux Pro 31 Linux Technical Review 07 LinuxWorld Conference http://www.linuxworld.expo. 04 a 07 de agosto São Francisco, EUA LPI 57 and Expo com/live/12 Plugin 11 Starter Kit 13 Linux Park 10 de junho Porto Alegre, RS www.linuxpark.com.br Watch Guard 19

Linux Park 24 de junho Rio de Janeiro, RJ www.linuxpark.com.br

User Friendly – Os quadrinhos mensais da Linux Magazine

80 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. LM40_site.pdf 146 ���������������������������������������������������������������������������� ������������������������������������������������������������������������ ��������������������������������������������������������������������������� ������������������������������������������������������������������������������� ������������� ������ ������������������� ������������������������ ������������� © Linux NewMedia doBrasil Editora Ltda.

������ �������� ������ ���� 19.02.08 12:44:36 Na Linux Magazine #43

DESTAQUE Segurança Alta disponibilidade DNSSEC

PREVIEW Se o pneu do seu carro furar, como você age? Se a base de dados principal Os administradores de sistemas e do seu banco cair, o que acontece? Se aquele software do qual sua empresa consultores de segurança utilizam depende profundamente simplesmente fechar, o que poderá ser feito? estratégias sofisticadas para proteger No caso do carro, a resposta é bastante simples: use o estepe. Durante redes, mas ainda existe uma parte alguns minutos, você não poderá andar com o carro, mas esse atraso certa- muito básica da infra-estrutura da mente será perdoado por quem quer que tenha um bom coração. No entanto, Internet que permanece surpreen- o banco de dados de uma instituição financeira, assim como o software de dentemente vulnerável: o sistema missão crítica da sua empresa, jamais pode parar. Para as empresas envolvi- de resolução de nomes. Existem das, qualquer problema significa técnicas elaboradas para forjar res- perder dinheiro – e geralmente, postas DNS e, da mesma forma, em quantidade suficiente para maneiras também engenhosas de ocasionar demissões. contornar esses ataques. De todas Felizmente, para os ad- elas, o DNSSEC desponta como ministradores de sistemas e uma das mais eficazes para prote- gestores de TI, já dispomos ger redes por meio de criptografia hoje de ótimas soluções de e autenticação. alta disponibilidade e vamos Conheça essa tecnologia e man- explorá-las em detalhes na tenha seu sistema de resolução de Linux Magazine 43. ■ nomes protegido. ■ Na EasyLinux #13

DESTAQUE Portáteis! Os laptops e notebooks sempre deram aos seus possui- dores um certo glamour, status de pessoas antenadas e, claro, fama de gente que tinha “grana” – afinal, Oficina um bom portátil, até dois anos atrás, não custava nada barato. Com o passar do tempo, no entanto, Com jeito de cinema fabricantes foram criando uma nova geração de no- A qualidade de aúdio e vídeo da TV digital, recente- tebooks: menores, sem partes mecânicas quebráveis mente iniciada no Brasil, é um atrativo para quem deseja em boa parte de suas versões e mais baratos. Esses assistir programas em alta resolução e até gravar alguns de aparelhinhos, chamados de sub-notebooks, vêm seus preferidos. Se os receptores de TV ainda estão muito ganhando espaço, tanto entre os clientes “tradicio- caros, receptores USB para computador oferecem a ima- nais” dos laptops quanto entre pessoas que jamais gem de cinema e qualidade de som de DVD. E, o que é imaginaram ter um portátil. ■ melhor, usando Linux. ■

82 http://www.linuxmagazine.com.br © Linux New Media do Brasil Editora Ltda. © Linux New Media do Brasil Editora Ltda. 05/2008 RICARDO BIMBO p.30 BOSSA CONFERENCE 2008 p.24 ENTREVISTA: SAP p.28 No Linux, empresas e voluntários Evento internacional aponta para um Empresa aposta em reestruturação colaboram harmoniosamente. futuro móvel com Código Aberto. de arquiteturas, rumo ao SOA.

#42 05/08 Linux Magazine R$ 13,90 € 7,50 0 0 0 4 2 9 200 venda proibida 4 exemplar de 6 9 # 42 Assinante 7180 # 42 Maio 2008

A REVISTA DO PROFISSIONAL DE TI 9 7 SOA RNÍIS EHT OAOG SOEAL UPT H SAOI DMIR LI- INDT LPIC-2 ADEMPIERE SPAGOBI PHP PUPPET SHOREWALL NOVAFORGE REDHAT PRINCÍPIOS

A ARQUITETURA ORIENTADA A SERVIÇOS DÁ FOCO AOS NEGÓCIOS E SERVE RECURSOS DISTRIBUÍDOS, COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS. p.34

»SOA A Red Hat oferece a pilha completa para SOA p.36 » Serviços distribuídos, soluções integradas p.40

» NovaForge, uma fábrica de software corporativo p.44

REDES: ADMINISTRAÇÃO CENTRALIZADA p.66 O Puppet toma conta do gerenciamento e confi guração de servidores e desktops na rede.

SEGURANÇA: FIREWALL PRÁTICO p.71 Até os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall.

VEJA TAMBÉM NESTA EDIÇÃO: » ADempiere e Eclipse: desenvolvimento integrado p.49 » LPIC-2, aula 11: DNS p.52 » BI de código aberto com SpagoBI p.59 » Os melhores repositórios de código PHP p.75

© Linux New Media do Brasil Editora Ltda. WWW.LINUXMAGAZINE.COM.BR