© Linux New Media do Brasil Editora Ltda.

84
#42 05/08 R$ 13,90 7,50 9 771806 942009 00042 A REVISTA DO PROFISSIONAL DE TI # 42 Maio 2008 WWW.LINUXMAGAZINE.COM.BR RICARDO BIMBO p.30 No Linux, empresas e voluntários colaboram harmoniosamente. BOSSA CONFERENCE 2008 p.24 Evento internacional aponta para um futuro móvel com Código Aberto. ENTREVISTA: SAP p.28 Empresa aposta em reestruturação de arquiteturas, rumo ao SOA. 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 REDES: ADMINISTRAÇÃO CENTRALIZADA p.66 O Puppet toma conta do gerenciamento e configuração de servidores e desktops na rede. SEGURANÇA: FIREWALL PRÁTICO p.71 Até os especialistas beneficiam-se de uma interface facilitada como a do Shorewall. SOA PRINCÍPIOS REDHAT NOVAFORGE SHOREWALL PUPPET PHP SPAGOBI ADEMPIERE LPIC-2 INDT 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 » 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 SOA © Linux New Media do Brasil Editora Ltda.

Transcript of © Linux New Media do Brasil Editora Ltda.

Page 1: © Linux New Media do Brasil Editora Ltda.

42 0508

R$ 1390 euro 750

9771806

942009

00042

A REVISTA DO PROFISSIONAL DE TI

Linu

x M

agazin

e

42 42

M

aio

200

8

052008

WWWLINUXMAGAZINECOMBR

RICARDO BIMBO p30No Linux empresas e voluntaacuterios colaboram harmoniosamente

BOSSA CONFERENCE 2008 p24Evento internacional aponta para um futuro moacutevel com Coacutedigo Aberto

ENTREVISTA SAP p28Empresa aposta em reestruturaccedilatildeo de arquiteturas rumo ao SOA

VEJA TAMBEacuteM NESTA EDICcedilAtildeO

raquo ADempiere e Eclipse desenvolvimento integrado p49

raquo LPIC-2 aula 11 DNS p52

raquo BI de coacutedigo aberto com SpagoBI p59

raquo Os melhores repositoacuterios de coacutedigo PHP p75

REDES ADMINISTRACcedilAtildeO CENTRALIZADA p66

O Puppet toma conta do gerenciamento e confi guraccedilatildeo de servidores e desktops na rede

SEGURANCcedilA FIREWALL PRAacuteTICO p71

Ateacute os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall

SOA

PRINCIacutePIOS

REDHAT

N

OVAFORGE

SHOREWALL

PUPPET

PHP

SPAGOBI

ADEM

PIERE

LPIC-2

INDT

A ARQUITETURA ORIENTADA A SERVICcedilOS DAacute FOCO AOS NEGOacuteCIOS E SERVE RECURSOS DISTRIBUIacuteDOS COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS p34

raquo A Red Hat oferece a pilha completa para SOA p36

raquo Serviccedilos distribuiacutedos soluccedilotildees integradas p40

raquo NovaForge uma faacutebrica de software corporativo p44

SOA

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

3

Expediente editorialDiretor Geral Rafael Peregrino da Silva rperegrinolinuxmagazinecombr

Editor-chefe Tadeu Carmona tcarmonalinuxmagazinecombr

Editor Pablo Hess phesslinuxmagazinecombr

Redator Rodrigo Amorim ramorimlinuxmagazinecombr

Revisatildeo Jamile Leatildeo jleaolinuxmagazinecombr

Editor de Arte Lucas Oliveira loliveiralinuxmagazinecombr

Assistente de Arte Igor Dauriacutecio isilvalinuxmagazinecombr

Centros de Competecircncia Centro de Competecircncia em Software Oliver Frommel ofrommellinuxnewmediade Kristian Kiszligling kkisslinglinuxnewmediade Peter Kreussel pkreussellinuxnewmediade Marcel Hilzinger hilzingerlinuxnewmediade Centro de Competecircncia em Redes e Seguranccedila Achim Leitner aleitnerlinuxnewmediade Jens-Christoph B jbrendellinuxnewmediade Hans-Georg Eszliger hgesserlinuxnewmediade Thomas Leichtenstern tleichtensternlinuxnewmediade Max Werner mwernerlinuxnewmediade Markus Feilner mfeilnerlinuxnewmediade Nils Magnus nmagnuslinuxnewmediade

Anuacutencios Rafael Peregrino da Silva (Brasil) anuncioslinuxmagazinecombr Tel +55 (0)11 4082 1300 Fax +55 (0)11 4082 1302

Petra Jaser (Alemanha Aacuteustria e Suiacuteccedila) anzeigenlinuxnewmediade

Penny wilby (Reino Unido e Irlanda) pwilbylinux-magazinecom

Amy Phalen (Estados Unidos) anzeigenlinuxnewmediade

Hubert Wiest (Outros paiacuteses) hwiestlinuxnewmediade

Assinaturas wwwlinuxnewmediacombr assinaturaslinuxmagazinecombr

Na Internet wwwlinuxmagazinecombr ndash Brasil wwwlinux-magazinde ndash Alemanha wwwlinux-magazinecom ndash Portal Mundial wwwlinuxmagazinecomau ndash Austraacutelia wwwlinux-magazineca ndash Canadaacute wwwlinux-magazinees ndash Espanha wwwlinux-magazinepl ndash Polocircnia wwwlinux-magazinecouk ndash Reino Unido wwwlinux-magazinro ndash Romecircnia

Gerente de Circulaccedilatildeo Mirian Domingues mdomingueslinuxmagazinecombr

Apesar de todos os cuidados possiacuteveis terem sido tomados durante a produccedilatildeo desta revista a editora natildeo eacute responsaacutevel por eventuais imprecisotildees nela contidas ou por consequumlecircncias que advenham de seu uso A utilizaccedilatildeo de qualquer material da revista ocorre por conta e risco do leitor

Nenhum material pode ser reproduzido em qualquer meio em par-te ou no todo sem permissatildeo expressa da editora Assume-se que qualquer correspondecircncia recebida tal como cartas emails faxes fotografi as artigos e desenhos sejam fornecidos para publicaccedilatildeo ou licenciamento a terceiros de forma mundial natildeo-exclusiva pela Linux New Media do Brasil a menos que explicitamente indicado

Linux eacute uma marca registrada de Linus Torvalds

Linux Magazine eacute publicada mensalmente por

Linux New Media do Brasil Editora Ltda Av Fagundes Filho 134 Conj 53 ndash Sauacutede 04304-000 ndash Satildeo Paulo ndash SP ndash Brasil Tel +55 (0)11 4082 1300 Fax +55 (0)11 4082 1302Direitos Autorais e Marcas Registradas copy 2004 - 2008Linux New Media do Brasil Editora LtdaDistribuiccedilatildeo DistmagImpressatildeo e Acabamento Parma

Atendimento AssinantesSatildeo Paulo +55 (0)11 3512 9460Rio de Janeiro +55 (0)21 3512 0888 Belo Horizonte +55 (0)31 3516 1280

ISSN 1806-9428 Impresso no Brasil

Prezados leitores da Linux Magazine

Empresas de pesquisa de mercado tecircm a aacuterdua tarefa de mediante uma cuidadosa e criteriosa observaccedilatildeo dos acontecimentos atuais e passados estabelecer previsotildees para o comportamento do mercado no futuro tanto proacute-ximo quanto distante Obviamente eacute faacutecil desacreditar as conclusotildees de tais profissionais caracterizando-as como ldquoachismordquo ou ldquopuro chuterdquo No entanto eacute muito interes-sante quando verificamos que o erro das previsotildees estaacute na superestimativa do tempo ateacute a ocorrecircncia do evento

O Gartner Group previu recentemente para o Software Livre e de Coacutedigo Aberto (SLCA) um futuro proacutespero Segundo as conclusotildees da empresa em poucos anos to-dos os negoacutecios estaratildeo utilizando SLCA mesmo aqueles com preferecircncia pelo modelo de ldquosoftware como serviccedilordquo abordado nesta ediccedilatildeo O engano no caso foi a estimati-va de tempo Jaacute temos hoje em dia praticamente todas as empresas utilizando SLCA O acesso aos bancos atraveacutes da Internet eacute um dos principais fatores nessa afirmaccedilatildeo todos os maiores bancos utilizam SLCA em suas opera-ccedilotildees ndash senatildeo como sistema operacional como servidor web servidor de aplicaccedilotildees ou simplesmente na maacutequina virtual Java

E natildeo satildeo apenas as empresas os indiviacuteduos tambeacutem utilizam SLCA a todo momento quando fazem compras em grandes redes de lojas no uso do Internet banking e na consulta a sites do governo federal Google Yahoo etc aleacutem dos jaacute tradicionais Firefox e BrOfficeorg

Em breve os telefones celulares e subnotebooks (jaacute anunciados por diversos fabricantes aleacutem da Intel ndash com o Classmate PC ndash e a Asus ndash eee PC) introduziratildeo mais uma nova leva de maacutequinas equipadas com SLCA com as quais muitos vatildeo interagir ainda mais de perto O ldquodentro de poucos anosrdquo afinal parece jaacute ter chegado

Pablo HessEditor

Jaacute perto de vocecirc E

DITORIA

L

Linux Magazine 42 | Maio de 2008

copy Linux New Media do Brasil Editora Ltda

4 httpwwwlinuxmagazinecombr

CAPABem arquitetado 36

A plataforma de SOA da Red Hat oferece alguns

componentes eficazes sobre seu servidor de apli-

caccedilotildees JBoss Conheccedila-os em detalhes

Clientes espalhados servidores distribuiacutedos 40

Como novo paradigma a SOA requer algumas mu-

danccedilas profundas na forma de projetar imple-

mentar e organizar aplicaccedilotildees corporativas

Quase faz cafeacute 44

Com o NovaForge eacute muito praacutetico hospedar geren-

ciar e testar softwares em escala corporativa

IacuteND

ICE

copy Linux New Media do Brasil Editora Ltda

5

COLUNASAugusto Campos 08

Charly Kuumlhnast 10

Klaus Knopper 12

Zack Brown 14

NOTIacuteCIASSeguranccedila 16 Notiacutecias de inseguranccedila

Geral 18 Linux eacute feito por empresas

Sun homologaraacute Ubuntu

Linux em switches Cisco

BrOfficeorg 24

CORPORATENotiacutecias 20 Gartner SL em alta Windows em colapso

Microsoft cogita aquisiccedilatildeo hostil do Yahoo

Concorrente do ODF vira padratildeo ISO

Sun promete viacutedeo 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

TUTORIALProduto importado 49 Se for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte

do ADempiere eacute muito faacutecil usar o poderoso ambien-te de desenvolvimento Eclipse para importaacute-lo

LPI niacutevel 2 Aula 11 52 Configuraccedilatildeo do servidor BIND criaccedilatildeo e manuten-

ccedilatildeo de arquivos de zonas e ferramentas relacionadas

ANAacuteLISENegoacutecio inteligente 59 O ramo da Business Intelligence conta com poderosas fer-

ramentas e o SpagoBI se destaca entre as alternativas li-vres por sua modularidade e consequumlente flexibilidade

Para conquistar o puacuteblico 64 Em sua versatildeo 30 o Librix da Itautec atinge a maturidade para

ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientes

REDESMarionete 66 Aprenda a economizar tempo e agilize a administra-

ccedilatildeo de sistemas com ajuda do Puppet uma ferramen-ta de gerenciamento e configuraccedilatildeo centralizados

SEGURANCcedilADomando o fogo 71 Eacute verdade que firewalls devem ser administrados por es-

pecialistas Poreacutem ateacute esses profissionais podem se be-neficiar de uma interface praacutetica para essa tarefa

PROGRAMACcedilAtildeOTesouro 75 Programadores PHP podem economizar tem-

po e trabalho com o uso do trecho script ou clas-se perfeitos para usar em seus programas

SERVICcedilOSEditorial 03Emails 06Linuxlocal 78Eventos 80Iacutendice de anunciantes 80Preview 82

Linux Magazine 42 | Maio de 2008

| IacuteNDICELinux Magazine 42

copy Linux New Media do Brasil Editora Ltda

6 httpwwwlinuxmagazinecombr

Download do primeiro anoGostaria de informar que apesar de terem sido li-beradas para download as ediccedilotildees do ano passado natildeo haacute links para fazer esses downloads no site da revista A uacutenica alternativa mais oacutebvia do site eacute ten-tar baixar a versatildeo em PDF mas como antes o link direciona para o carrinho de compras

Diogo MunizResposta

Caro Diogo aparentemente falhamos na precisatildeo ao comunicarmos a liberaccedilatildeo do conteuacutedo do primei-ro ano da Linux Magazine e por isso vamos tentar corrigir esse erro agora

Estatildeo liberados individualmente todos os artigos de todas as ediccedilotildees do primeiro ano da Linux Maga-zine Ou seja qualquer artigo das ediccedilotildees 1 a 12 pode ser baixado gratuitamente em formato digital (PDF) a partir do site da Linux Magazine em httpwwwlinuxmagazinecombr no link Anteriores

O download de cada uma das ediccedilotildees de 1 a 12 completas e em formato digital permanece possiacutevel poreacutem sob o preccedilo normal (R$ 990)

O conteuacutedo das demais ediccedilotildees da Linux Maga-zine permanece com os tradicionais 30 liberados gratuitamente sob a forma de artigos individuais e ateacute o final de 2008 vamos liberar gradualmente 100 do conteuacutedo do segundo ano da revista (edi-ccedilotildees 13 a 24)

Pedimos sinceras desculpas pela falha de comu-nicaccedilatildeo e qualquer inconveniente que ela possa ter causado

CARTAS

sanj

a gj

ener

o ndash

ww

ws

xch

u

Emails para o editor

Permissatildeo de EscritaSe vocecirc tem duacutevidas sobre o mundo Linux criacuteticas ou sugestotildees que possam ajudar a melhorar a nossa revista escreva para o seguinte endereccedilo cartaslinuxmagazinecombr Devido ao volume de correspondecircncia eacute impossiacutevel responder a todas as duacutevidas sobre aplicativos configuraccedilotildees e problemas de hardware que chegam agrave Redaccedilatildeo mas garantimos que elas satildeo lidas e analisadas As mais interessantes satildeo publicadas nesta seccedilatildeo

Errata

Na paacutegina 65 da ediccedilatildeo 40 da Linux Magazine no artigo Montando a gestatildeo de Eduardo Montene-gro o exemplo 1 estaacute incorreto O correto eacute

O leitor Marcelo Saacutevio informou que diferente do que eacute afirmado na paacutegina 68 da ediccedilatildeo 39 da Li-nux Magazine no artigo Segredos graacuteficos sobre o utilitaacuterio de esteganografia Outguess o algoritmo RC4 natildeo eacute mais recomendaacutevel devido agraves vulnera-bilidades encontradas A quem desejar mais infor-maccedilotildees sobre esse algoritmo criptograacutefico o leitor sugere o link httpenwikipediaorgwikiRC4 Muito obrigado Marcelo

Exemplo 1 Compilaccedilatildeo do PLJava

01 $ sudo mkdir -p usrlocalsrcpljava02 $ sudo chown adempiere usrlocalsrcpljava03 $ tar xzvf pljava-src-140targz04 $ mv pljava-140 usrlocalsrcpljava05 $ cd usrlocalsrcpljava06 $ make07 $ sudo sh08 export PATH=$PATHusrlocalpgsqlbinusrlocaljdk150_14bin09 make install

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

8

COLUNA

httpwwwlinuxmagazinecombr

Acessibilidade em Software Livre

Augusto CamposEmbora qualquer pessoa possa vir a precisar de tecnologias assistivas ainda eacute pouca a atenccedilatildeo dispensada a esse campo no Software Livrepor Augusto Campos

Recentemente tive a oportunidade de participar da Comissatildeo de Programa de um evento de informaacutetica corporativa como parte de uma

banca na qual me cabia avaliar e classificar cerca de 80 trabalhos das mais variadas especialidades da Informaacutetica No decorrer dessa atividade avaliei po-sitivamente quanto agrave aplicabilidade vaacuterios trabalhos relacionados a tecnologias assistivas e acessibilidade mas tive a desagradaacutevel surpresa de constatar que na fase de discussatildeo os demais avaliadores sustentaram a posiccedilatildeo oposta a de que tecnologias assistivas inte-ressam a poucas pessoas portanto sua aplicabilidade deveria ser considerada baixa Resultado todos os trabalhos relacionados agrave acessibilidade acabaram ficando de fora do evento

A situaccedilatildeo estava fora do meu controle e laacute eu natildeo podia fazer nada a respeito mas agora vou contar com a compreensatildeo de vocecircs e usar nosso espaccedilo deste mecircs para falar um pouco sobre tecnologias assistivas em Software Livre

As tecnologias assistivas satildeo aquelas que oferecem recursos especiais de adaptaccedilatildeo assistecircncia e ateacute re-abilitaccedilatildeo para pessoas com necessidades especiais Isso eacute feito por intermeacutedio de meacutetodos diferenciados de interaccedilatildeo com tecnologias existentes permitin-do que essas pessoas possam realizar tarefas que de outro modo natildeo estariam a seu alcance

O nuacutemero de sistemas assistivos disponiacuteveis em Software Livre eacute crescente embora a atenccedilatildeo vol-

tada a eles nem sempre acompanhe a mesma ten-decircncia Essa eacute uma realidade que cada um de noacutes deveria se preocupar em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo ndash a acessibi-lidade a portadores de necessidades especiais vem sendo requisito cada vez mais exigido em softwares adotados por grandes corporaccedilotildees e pelos governos e a ausecircncia de uma oferta bem estruturada desse tipo de recurso jaacute foi justificativa para substituir Soft-ware Livre pelos seus equivalentes proprietaacuterios em telecentros municipais recentemente

Tambeacutem o niacutevel do suporte a tecnologias assisti-vas em Software Livre vem crescendo felizmente Agora aleacutem de contarmos com aplicativos espe-ciacuteficos como o vocalizador Festival e os drivers para displays em braille as versotildees recentes do Gnome passaram a oferecer o Orca sistema que integra os diversos recursos de acessibilidade dis-persos (vocalizadores displays braille ampliaccedilatildeo de tela etc) agraves aplicaccedilotildees disponiacuteveis no sistema operacional (com suporte a Firefox Thunderbird Pidgin BrOfficeorg e mais aleacutem da expansibili-dade atraveacutes de scripts)

Natildeo perco oportunidade de divulgar esse tipo de soluccedilatildeo especialmente a quem julga natildeo precisar delas ndash todos temos chance de um dia chegar a uti-lizaacute-las O Software Livre tem forte relaccedilatildeo com a ideacuteia de inclusatildeo digital e se cada administrador de sistemas e gestor de TI souber o que estaacute disponiacutevel nesse campo teremos possibilidade de empregaacute-las no momento certo e de prover o estiacutemulo neces-saacuterio para que seus desenvolvedores continuem investindo nelas

Sobre o autorAugusto Ceacutesar Campos eacute administrador de TI e desde 1996 manteacutem o site BR-linuxorg que cobre a cena do Software Livre no Brasil e no mundo

Essa eacute uma realidade que cada um de noacutes deveria preocupar-se em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

10 httpwwwlinuxmagazinecombr

Nload

Charly KuumlhnastMonitores de rede satildeo faacuteceis de encontrar mas o Nload eacute o uacutenico que separa traacutefego de entrada e saiacuteda e ainda desenha no consolepor Charly Kuumlhnast

Exibir o uso da rede numa interface natildeo eacute difiacutecil e existem inuacutemeras ferramentas para visuali-zar os valores Mas qual ferramenta oferece a

melhor representaccedilatildeo graacutefica dos valores medidos Os ldquoescovadores de bitrdquo certamente recomendariam a consulta direta aos dados no diretoacuterio proc mas essa obviamente natildeo eacute a soluccedilatildeo mais praacutetica

Tambeacutem podemos descartar todas as alternativas que dependam do X11 pois servidores geralmente natildeo possuem interfaces graacuteficas O IPTraf oferece os nuacutemeros necessaacuterios mas natildeo possui um recurso de histoacuterico O mesmo se aplica ao Iftop[1] embora ele informe quanto traacutefego sai e entra no parceiro de comunicaccedilatildeo

Para um raacutepido panorama minha ferramenta favo-rita eacute o Nload[2] Ele exibe o uso atual da rede para dados de entrada e saiacuteda dependendo do graacutefico sele-cionado (figura 1) Ao mesmo tempo oferece os valores meacutedios para um intervalo configuraacutevel O recurso de histoacuterico torna o uso do Nload um prazer natildeo haacute ris-co de perder um pico mesmo tirando os olhos da tela por um momento O paracircmetro de linha de coman-do -t ltvalorgt com valor em milissegundos permite a definiccedilatildeo do intervalo de atualizaccedilatildeo Por padratildeo o

Nload atualizaraacute sua tela duas vezes a cada segundo Na maioria dos casos uma configuraccedilatildeo mais espaccedilada eacute aceitaacutevel eu costumo usar -t 2000 uma atualizaccedilatildeo a cada dois segundos

Para manter os graacuteficos legiacuteveis eacute possiacutevel estabe-lecer limites para os traacutefegos de entrada e saiacuteda Se os dados excederem esse limite o Nload trunca o graacutefico permitindo a visualizaccedilatildeo de algo que esteja errado O limite-padratildeo eacute 10 Mbs mas pode ser modifica-do com -i ltvalorgt para a entrada e -o ltvalorgt para a saiacuteda O paracircmetro -s ltvalorgt com valor entre 1 e 9 possibilita a manipulaccedilatildeo dos valores meacutedios Quanto menor o nuacutemero mais curto eacute o intervalo para caacutelculo das meacutedias O valor 9 eacute o padratildeo Outro recurso inte-ressante eacute a possibilidade de modificar paracircmetros criacuteticos em tempo de execuccedilatildeo ndash incluindo a interface a ser monitorada Pressionar [O] enquanto o Nload estaacute rodando exibe um menu de opccedilotildees As alteraccedilotildees satildeo aplicadas no mesmo momento

O paracircmetro -m eacute uacutetil para servidores com muacuteltiplas interfaces ele informa o Nload para exibir o uso de muacuteltiplas interfaces ao mesmo tempo apesar de ser perdida a possibilidade de desenhar histogramas com o uso dessa opccedilatildeo

COLUNA

Mais informaccedilotildees

[1] Iftop httpwwwex-parrotcompdwiftop

[2] Nload httpwwwroland-riegeldenload

Figura 1 Os graacuteficos do Nload do Charly satildeo impressionantes

Sobre o autorCharly Kuumlhnast eacute administrador de sistemas Unix no datacenter Moers perto do famoso rio Reno na Alemanha Laacute ele cuida principalmen-te dos firewalls

copy Linux New Media do Brasil Editora Ltda

- Conexotildees Ilimitadas - Windows e Linux - Windows e Linux

Gab

arit

o

Suas mensagens entregues sem filas

E-mail marketingE-mail marketing Plug In

A ferramenta de relacionamento por e-mail mais poderosa do mercado

Contrate online

wwwplugincombrLigue e contrate

4003-1001

Powered by

por apenasR$4250

anunciodedicadoindd 1 41408 95432 AM

copy Linux New Media do Brasil Editora Ltda

12

COLUNA

httpwwwlinuxmagazinecombr

Pergunte ao Klaus

Klaus Knopper O criador do Knoppix responde agraves mais diversas perguntas dos leitores por Klaus Knopper

Wifi num Pavilion Prezado Klaus eu adoro sua coluna na Linux Magazine Ela jaacute me ajudou vaacuterias vezes e sem-pre aprendo muito Estou usando o openSUSE 103 num notebook HP Pavilion da seacuterie dv6000 (comprei no Natal e estou amando a maacutequina) Tudo funciona perfeitamente sem necessidade de alteraccedilotildees em arquivos de configuraccedilatildeo ex-ceto por um problema a rede sem fio

Jaacute procurei e conversei pela Internet visitei o site do driver e tentei tudo que consegui imaginar para resolver esse problema ndash desde o NDISwrap-per ateacute o comando install_fwcutter_43xx

Aleacutem disso recentemente postei um bug no site da minha distribuiccedilatildeo mas natildeo recebi qual-quer resposta

Os programas de conexatildeo sem fio como KNe-tworkManager KWiFi-Manager e iwconfig en-xergam a placa de rede sem fio assim como seu moacutedulo mas ela natildeo recebe sinal do roteador Jaacute verifiquei o equipamento e tentei me conec-tar a outros roteadores mas sempre acontece a mesma coisa

Obrigado por qualquer ajuda que vocecirc possa me dar e tambeacutem por toda a ajuda que daacute a todos que lecircem sua coluna E obrigado tambeacutem a todo o pessoal que faz a revista vocecircs satildeo oacutetimos

Resposta O seu problema talvez seja resolvido pelos

drivers de rede sem fio incluiacutedos no kernel 2624 que sempre oferecem suporte ao inter-ruptor da rede sem fio ( wifi switch ) presente em alguns notebooks Esse interruptor costu-ma impedir o funcionamento da rede sem fio porque simplesmente desliga a antena e conse-quumlentemente nenhum sinal eacute recebido mesmo que o driver e o hardware estejam funcionando perfeitamente

Como vocecirc disse ainda seraacute necessaacuterio ins-talar o firmware do adaptador de rede sem fio caso contraacuterio ele somente mostraraacute mensagens engraccediladas nos logs do sistema

O exemplo 1 mostra um trecho do arquivo de log que vocecirc me enviou Esse log confirma que o moacutedulo bcm43xx que vocecirc possui eacute adequado para a sua versatildeo do kernel mas o firmware desse adaptador natildeo estaacute presente

Provavelmente eacute possiacutevel obter esse firmware a partir de vaacuterios locais na Internet mas tambeacutem se pode extraiacute-lo de um adaptador que jaacute o pos-sua usando o programa bcm43xx-fwcutter que vocecirc mencionou

Quando vocecirc conseguir uma coacutepia do firm-ware necessaacuterio deve colocaacute-lo em usrlibho-tplugbcm43xx_microcode5fw (dependendo da sua distribuiccedilatildeo talvez tambeacutem em libfirmwarebcm43xx_microcode5fw ) em que seraacute automatica-mente carregado durante a inicializaccedilatildeo do sis-tema no momento em que o adaptador de rede sem fio for detectado e ativado

Sobre o autorKlaus Knopper eacute o criador do Knoppix e co-fundador do evento Linux Tag Atual-mente ele trabalha como professor progra-mador e consultor

Exemplo 1 Log do sistema (trecho)

Jan 6 052623 linux kernel bcm43xx PHYconnectedJan 6 052623 linux kernel bcm43xxError Microcode ldquobcm43xx_microcode5fwrdquonot available or load failedJan 6 052623 linux kernel bcm43xx core_up for active 80211 core failed (-2)Jan 6 052623 linux firmwaresh[5865]Cannot find firmware file lsquobcm43xx_microcode5fwrsquo

copy Linux New Media do Brasil Editora Ltda

REA

LIZA

CcedilAtildeO

PRO

MO

CcedilAtildeO

O Ecossistema de Negoacutecios em Software Livre no Brasil

2008PA

TRO

CIN

AD

ORE

S EM

200

7

copy Linux New Media do Brasil Editora Ltda

14 httpwwwlinuxmagazinecombr

Crocircnicas do kernel

Zack BrownLinus muda mais uma vez a poliacutetica de desenvolvimento do kernel desfazendo-se da tarefa de garantir total estabilidadepor Zack Brown

Inclusatildeo de drivers mais raacutepidaRecentemente Linus Torvalds reduziu os empeci-lhos para incluir coacutedigo no kernel Quando o Linux comeccedilou uma das maiores prioridades de Torvalds era encorajar contribuiccedilotildees Para isso ele reforccedilou a resposta a qualquer patch aceitando diversos de-les e ateacute mesmo publicando estatiacutesticas manuais sobre aqueles recebidos Conforme as contribuiccedilotildees aumentaram no final da deacutecada de 1990 a rapidez nas respostas de Linus diminuiu e ele ficou mais propenso a simplesmente ignorar patches caso natildeo gostasse deles Ele tambeacutem comeccedilou a insistir que os algoritmos dos patches fossem bonitos e que dife-rentes partes do kernel se comunicassem de formas naturais para elas

Quando Linus adotou as aacutervores ldquoestaacutevelrdquo e ldquode desenvolvimentordquo manteve a insistecircncia no bom gosto e tornou-se ainda mais estrito no ciclo ldquoes-taacutevelrdquo Com a estruturaccedilatildeo do envio de coacutedigos do kernel em uma hierarquia de mantenedores e ldquotenentesrdquo Linus comeccedilou a criar uma cultura de aderecircncia a suas preferecircncias pessoais de escrita de coacutedigo na qual outras pessoas que compreendes-sem seus gostos podiam atuar como guardas aleacutem de realizar o trabalho teacutecnico de escrever e revisar os coacutedigos em busca de falhas

Durante a aacutervore 26 Linus abandonou as mu-danccedilas um tanto desconfortaacuteveis entre as aacutervores estaacutevel e de desenvolvimento Entatildeo ele reinstituiu um conjunto de micro-forks para o desenvolvimen-to estaacutevel no qual a aacutervore 26 principal jamais sai da fase de desenvolvimento e cada versatildeo gera um novo fork estaacutevel A decisatildeo de abandonar os ciclos originais de estabilidade e desenvolvimento marca-ram uma eacutepoca de avaliaccedilatildeo de uma grande varie-dade de problemas Uma das principais justificativas para a mudanccedila foi a de que as distribuiccedilotildees Linux sempre aplicavam seus proacuteprios patches sobre as versotildees oficiais do kernel

Como o ocircnus de oferecer estabilidade sempre recaiacutea sobre as distribuiccedilotildees Linus lhes impocircs for-malmente essa obrigaccedilatildeo livrando-se dessa tarefa A decisatildeo indicou uma nova abordagem para o desenvolvimento do kernel ndash sem abandonar a necessidade de estabilizar aspectos do kernel mas ainda dando maior liberdade aos contribuidores

Agora Torvalds comeccedilou a aceitar patches de drivers com problemas oacutebvios Recentemente Adrian Bunk reclamou de um envio de driver que foi aceito no kernel apesar de conter mais de 250 erros de checkpatch e mais de 2000 avisos Antiga-mente esses problemas precisavam ser solucionados antes que um driver fosse aceito na aacutervore Parte da justificativa de Linus para a mudanccedila na poliacutetica eacute o reconhecimento de que eacute muito mais provaacutevel que um coacutedigo seja testado e consertado dentro da aacutervore oficial do que fora dela

Aleacutem disso supotildee-se que o usuaacuterio meacutedio use o kernel de sua distribuiccedilatildeo e natildeo o oficial enquan-to os desenvolvedores satildeo os usuaacuterios primaacuterios da versatildeo oficial e conseguem lidar melhor com drivers mais feios e menos polidos

Linus lembra que essa nova poliacutetica visa ao coacutedigo de drivers que por definiccedilatildeo satildeo perifeacutericos em relaccedilatildeo ao corpo principal do coacutedigo Ele diz que eacute importante que os drivers sejam bem testados antes de entrarem no kernel O liacuteder do desenvolvimento do Linux natildeo estaacute tatildeo preocupado com o visual do coacutedigo mas quer garantir que ele funcione e natildeo quebre nem cause per-da de dados aos usuaacuterios

COLUNA

Sobre o autorA lista de discussatildeo Linux-kernel eacute o nuacutecleo das atividades de desenvolvimento do kernel Zack Brown consegue se perder nesse oce-ano de mensagens e extrair significado Sua newsletter Kernel Traffic esteve em atividade de 1999 a 2005

copy Linux New Media do Brasil Editora Ltda

Acesse agora wwwrevistaesylinuxcombrPeccedila pelo telefone 11 4082-1300

Jaacute nas bancaspor apenas R$990

Easy Linux traz todos os meses notiacutecias tutoriais de programas e jogos dicas e tudo que o usuaacuterio iniciante precisa saber para usar Linux em casa e no trabalho

Com linguagem simples e abrangente EasyLinux eacute a leitura obrigatoacuteria para quem quer ldquodesbravarrdquo o software livre

EasyLinux leia para saber

por apenas R$990

por apenas R$990

por apenas R$990

por apenas R$990

copy Linux New Media do Brasil Editora Ltda

16

SE

GU

RA

NCcedil

A

httpwwwlinuxmagazinecombr

Figura 1 O gato natildeo estaacute vivo nem morto ateacute que se olhe dentro da caixa

Notiacutecias de InseguranccedilaTodos noacutes jaacute passamos por isso

na verdade muitos passaram recentemente Vocecirc acorda

e encontra um email do Bugtraq ou do Full-Disclosure ou talvez uma noti-ficaccedilatildeo do seu fornecedor a respeito de uma atualizaccedilatildeo de seguranccedila ndash uma atualizaccedilatildeo que afeta quase todos os seus sistemas e cujo exploit jaacute estaacute dis-poniacutevel haacute vaacuterios dias[1]

Obviamente podemos facilmente empregar o poder do Coacutedigo Aberto e nos gabar da velocidade com que os desenvolvedores do kernel con-sertaram a vulnerabilidade permi-tindo que os fornecedores provessem atualizaccedilotildees rapidamente

Ou eu poderia ainda falar da im-portacircncia de fazer um inventaacuterio de seus sistemas e ter um sistema de ge-renciamento de patches para aplicaacute-los prontamente Poreacutem a questatildeo eacute que todos os sistemas satildeo vulneraacuteveis o tempo inteiro Permita-me repetir soacute para assegurar que ningueacutem pense que me confundi todos os sistemas satildeo vulneraacuteveis o tempo inteiro

Falhas de seguranccedila satildeo bem se-melhantes ao gato de Schroumldinger nem vivo nem morto ateacute que seja verificado[2] (figura 1) Da mesma forma podemos perguntar se as vul-nerabilidades de seguranccedila aparecem do nada como por maacutegica quando algueacutem as observa colapsando o es-tado quacircntico de probabilidade da vulnerabilidade em questatildeo para um estado conhecido Ou seja en-quanto ningueacutem reconhece uma vulnerabilidade (e mais importan-te enquanto ningueacutem possui um exploit para ela) ela natildeo existe Isso tambeacutem eacute conhecido como a teoria da ldquoaacutervore que cai na florestardquo em seguranccedila da informaccedilatildeo

Tambeacutem seria possiacutevel argumen-tar de forma alternativa que mes-mo sem sabermos ao certo quan-do o isoacutetopo decairaacute acionando a liberaccedilatildeo do gaacutes venenoso ele vai decair e provavelmente mais cedo do que se desejaria

A verdade eacute que um sistema mo-derno possui tanto coacutedigo instalado e em execuccedilatildeo que eacute provaacutevel que alguma vulnerabilidade exploraacutevel venha a ser encontrada e usada para comprometer o sistema Entatildeo o que vocecirc pode fazer

Planos futurosAssim como no velho ensinamento ldquoplaneje-se para o pior mas espere o melhorrdquo eacute obrigatoacuterio planejar-se para o caso de falhas no sistema de seguranccedila Todos os conselhos-padratildeo a respeito de aumento de seguranccedila de sistemas criaccedilatildeo de camadas de seguranccedila e limitaccedilatildeo de acesso e privileacutegios sempre que possiacutevel ainda satildeo bons conselhos mas simplesmente natildeo consegue mresponder agrave pergunta o que fazer quando sua seguranccedila falha

Melhores praacuteticasPor ser praticamente inevitaacutevel que seus sistemas estejam vulneraacuteveis em algum momento ndash provavelmente durante um periacuteodo em que haacute aces-so puacuteblico pelo exploit ndash eles prova-velmente estaratildeo comprometidos Um exemplo perfeito disso eacute o site seifriedorg O SELinux estava ativo impedindo a exploraccedilatildeo de todas as vulnerabilidades de seguranccedila mas tambeacutem evitando o funcionamento correto de vaacuterios softwares de tercei-ros Apoacutes brigar um tempo contra o SELinux desisti e desativei-o

Esse foi meu primeiro erro por dois motivos Primeiro ao desati-var o SELinux facilitei muito a in-vasatildeo do meu sistema reduzindo tambeacutem a quantidade de logs que seriam gerados em caso de invasatildeo Se for preciso desativar o SELinux ao menos use o modo permissivo que registra as violaccedilotildees

Meu segundo erro foi a claacutessica preguiccedila administrativa Para faci-litar a administraccedilatildeo do sistema eu havia estabelecido relaccedilotildees de confianccedila no SSH entre minhas maacutequinas e tambeacutem ativado o acesso por sudo sem a requisiccedilatildeo de uma senha

Entatildeo uma vez que o agressor conseguisse invadir um sistema e ganhasse acesso agrave conta de admi-nistraccedilatildeo ele teria acesso a todos os meus sistemas Portanto quando um dos meus sistemas foi compro-metido acabei tendo que reinstalar todos eles pois tinha certeza de que todos haviam sido modificados Com frequumlecircncia essa falha de projeto tam-beacutem ocorre com firewalls e outros mecanismos de seguranccedila As organi-zaccedilotildees implementam uma seguranccedila externa bem riacutegida mas falham ao implementar a seguranccedila interna deixando um nuacutecleo apetitoso para os invasores desfrutarem

por Kurt Seifried

copy Linux New Media do Brasil Editora Ltda

17

| NOTIacuteCIASSeguranccedila

Linux Magazine 42 | Maio de 2008

Melhores registrosComo disse eu havia desativado o SELinux em vez de deixaacute-lo no modo permissivo Com o espaccedilo em disco sendo relativamente barato atualmen-te raramente faz sentido apagar logs para economizar espaccedilo

Aleacutem disso com a facilidade de criar um sistema de logs pela rede com o Syslog natildeo existe desculpa para natildeo usar um log centralizado (dificultando assim a eliminaccedilatildeo dos rastros de um eventual invasor) Entretanto note que muitos ataques deixaratildeo poucas mensagens significativas nos logs

Frequumlentemente uma mensa-gem informando que o programa servidor fechou seraacute o uacutenico indiacute-cio da invasatildeo o que dificilmente garante uma investigaccedilatildeo completa da ocorrecircncia

Ter um rastro confiaacutevel para au-ditoria pode significar a diferenccedila

entre precisar reinstalar todo um grupo de maacutequinas e apenas limpar uma delas Manter logs tambeacutem eacute importante para fornecer as infor-maccedilotildees necessaacuterias para consertar um sistema Simplesmente retornar um sistema a seu estado original natildeo impediraacute que o agressor faccedila uma nova invasatildeo

BecapeOs becapes costumam ser um dos as-pectos mais negligenciados pela segu-ranccedila da informaccedilatildeo Poreacutem eles satildeo cruciais para garantir que os sistemas possam ser reinstalados corretamente e os dados possam ser recuperados Se vocecirc natildeo fizer becape de nada mais ao menos faccedila um de seus da-dos e assegure-se de guardaacute-lo longe da maacutequina Aleacutem disso ter sistemas de recuperaccedilatildeo que funcionem eacute tatildeo importante quanto todo o becape

Mais Informaccedilotildees

[1] SecurityFocus vulnerabilidade em copy_from_user_mmap_sem() httpwwwsecurityfocuscombid27796

[2] Gato de Schroumldinger httpptwikipediaorgwikiGato_de_SchrC3B6dinger

Sobre o autorKurt Seifried eacute Consultor de Seguranccedila da Informaccedilatildeo especializado em Linux e re-des desde 1996 Ele eacute casado e tem qua-tro gatos mas nenhum peixe (porque os ga-tos tecircm mais fome que medo de aacutegua) Ele sempre se pergunta como essa tecnologia funciona em larga escala mas frequumlente-mente falha em escalas menores

Com muita frequumlecircncia jaacute vi be-capes funcionarem perfeitamente ateacute serem necessaacuterios aleacutem de imagens de recuperaccedilatildeo de baixo niacutevel incompatiacuteveis com o hard-ware substituto ou dados exporta-dos corrompidos e incompletos Por exemplo tenho um script de becape que estava falhando silen-ciosamente haacute trecircs meses porque eu havia deixado de lado a opccedilatildeo ldquosobrescrever arquivos mais anti-gosrdquo e entatildeo todos os arquivos alterados natildeo haviam recebido a coacutepia de seguranccedila

Preacute-funeralUma das praacuteticas mais poderosas que jaacute vi eacute conduzir um ldquopreacute-fu-neralrdquo Em essecircncia o administra-dor finge que o sistema jaacute falhou Ter uma ideacuteia do que fazer nessa situaccedilatildeo ajuda a evitar a confusatildeo caso isso de fato aconteccedila e tam-beacutem pode oferecer ideacuteias de accedilotildees preventivas a serem tomadas tais como usar firewalls em todos os computadores independente de a maacutequina estar ou natildeo conectada a uma rede puacuteblica

ConclusatildeoDa mesma forma que o sistema comprometido natildeo importa de ver-dade se o gato estaacute vivo ou morto Em algum momento o gaacutes veneno-so seraacute liberado o gato morreraacute e o local comeccedilaraacute a cheirar mal

O truque eacute encontrar formas efi-cazes de lidar com falhas para que se consiga retornar ao trabalho de forma raacutepida e segura

Dica de invasatildeo MySQL

Um meacutetodo comumente usado para zerar uma senha de root do MySQL perdida eacute usar a opccedilatildeo --skip-grant-tables que carrega o banco de dados sem qualquer proteccedilatildeo Se for necessaacuterio usar esse meacutetodo use tambeacutem --skip_networking para permitir somente conexotildees locais Com ela usuaacute-rios locais ainda conseguiriam conectar-se portanto assegure-se de desco-nectaacute-los tambeacutem

Talvez um meacutetodo melhor seja usar a opccedilatildeo --init file que lecirc comandos SQL deste arquivo na inicializaccedilatildeo Cada comando deve estar numa uacutenica linha e natildeo deve incluir comentaacuterios

Entatildeo basta criar um arquivo texto (zera-senhatxt) com um comando SQL para alterar a senha de root

SET PASSWORD FOR lsquorootrsquorsquolocalhostrsquo = PASSWORD(lsquoNovaSenharsquo)

e em seguida iniciar o mysqld com a opccedilatildeo --init-file zera-senhatxt Depois de carregar o arquivo simplesmente reinicie o MySQL normalmente e entre com a nova senha

copy Linux New Media do Brasil Editora Ltda

18

NO

TIacuteC

IAS

httpwwwlinuxmagazinecombr

Linux eacute feito por empresas

Sun homologaraacute Ubuntu Mark Shuttleworth fundador da Canonical empresa responsaacutevel pelo Ubuntu afi rmou que a Sun demons-trou interesse em homologar essa distribuiccedilatildeo em seus servidores A accedilatildeo seria muito importante para a em-presa sul-africana cuja distribuiccedilatildeo passaria a concorrer contra os pesos-pesados das distribuiccedilotildees corporativas (as chamadas Enterprise ) Red Hat Enterprise Linux e No-vell Suse Linux Enterprise Server ambas com modelos baseados em subscriccedilatildeo diferentemente do Ubuntu

A Canonical jaacute oferece suporte comercial ao Ubun-tu instalado em determinadas maacutequinas da Sun O que muda agora eacute a homologaccedilatildeo por parte da fa-bricante do hardware

A Linux Foundation publicou um novo relatoacuterio a res-peito do desenvolvimento do Linux intitulado ldquoLinux Kernel Development ndash How Fast it is Going Who is Doing It What They are Doing and Who is Sponso-ring Itrdquo (Desenvolvimento do Kernel Linux ndash com que velocidade estaacute ocorrendo quem o estaacute fazendo o que eles tecircm feito e quem fi nancia O estudo foi feito com base nos uacuteltimos trecircs anos do desenvolvimento do kernel Linux ndash abrangendo desde a versatildeo 2611 ateacute a 2624 ndash e revela que a maior parte dos desenvolvedores do kernel satildeo pagos por grandes companhias como IBM Intel Linux Foundation MIPS Technology MontaVista Movial NetApp Novell e Red Hat

Ao longo dos anos o nuacutemero de desenvolvedores do Linux tem crescido consideravelmente Pela anaacutelise a versatildeo mais recente do kernel (2624 na liberaccedilatildeo do estudo) teve 1057 desenvolvedores registrados O estudo informa que entre 70 e 95 dos desenvolvedores pagos para trabalhar com o Linux nos uacuteltimos trecircs anos satildeo funcionaacuterios dessas empresas Mostra tambeacutem que atual-mente a relaccedilatildeo das grandes empresas com o Linux eacute bastante proacutexima Os investimentos em Coacutedigo Aber-to portanto estatildeo diretamente relacionados ao modus operandi dessas empresas e jaacute incorporados agrave ldquocorrida armamentistardquo do mundo dos negoacutecios

O relatoacuterio da Linux Foundation sobre as contribui-ccedilotildees ao Linux exibe tambeacutem um nuacutemero elevado de contribuiccedilotildees de desenvolvedores individuais ao siste-ma Poreacutem a quantidade de pessoas que realmente faz o trabalho ldquobraccedilalrdquo eacute bem pequena Nos uacuteltimos trecircs anos os dez desenvolvedores que mais contribuiacuteram para o kernel somam 15 de todo esse trabalho Se au-

mentada a margem levando em conta os 30 maiores desenvolvedores esse nuacutemero sobe para 30

Assim foi estabelecido um ranking das empresas mais atuantes no kernel Um dos destaques eacute a Novell que au-mentou em 300 sua participaccedilatildeo nos uacuteltimos trecircs anos A empresa passou de 36 para 144 do total de contribuiccedilotildees realizadas Isso a coloca em segundo lugar logo atraacutes da Red Hat

Ranking

As companhias que de fato constroem o Linux consi-derando sua contribuiccedilatildeo para o kernel satildeo Red Hat (112) Novell (89) IBM (83) Intel (41) Linux Foundation (35) SGI (20) MIPS Technology (16) Oracle (13) MontaVista (12) e Linutronix (10) A participaccedilatildeo dessas empresas no desenvolvimento do Linux tem sua razatildeo de ser Red Hat Novell e MontaVista possuem motivos claros as trecircs desenvolvem e comer-cializam sistemas Linux As demais companhias traba-lham no kernel para garantir que o Linux rode correta-mente em seus hardwares na intenccedilatildeo de tornar seus produtos mais atraentes para os usuaacuterios Linux e com isso aumentar suas vendas

Outras empresas que desenvolvem o Linux como Sony Nokia e Samsung satildeo conhecidas por embar-carem o sistema aberto como um componente de seus proacuteprios produtos (como cacircmeras de viacutedeo te-levisores e telefones moacuteveis) Sua participaccedilatildeo no de-senvolvimento do kernel busca um investimento de meacutedio a longo prazo Essas empresas desejam ga-rantir que o sistema do pinguumlim continue a ser uma base soacutelida para seus produtos no futuro

18copy Linux New Media do Brasil Editora Ltda

19

| NOTIacuteCIASGerais

Linux Magazine 42 | Maio de 2008

BrOfficeorg 24Apoacutes uma espera relativamente longa a nova versatildeo do BrOfficeorg finalmente estaacute disponiacutevel para download Satildeo vaacuterias as novidades que se destacam nesse salto de versatildeo entre elas me-lhorias na geraccedilatildeo de documentos PDF mudanccedila da fonte-padratildeo para a famiacutelia DejaVu melhorias gerais no acesso a banco de dados (MySQL Oracle JDBC etc) e inclusatildeo de suporte nativo ao formato proprietaacuterio do aplicativo de bancos de dados do MS Access 2007

A interface dos programas tambeacutem apresenta algumas mudanccedilas A seleccedilatildeo do idioma no corretor ortograacutefico estaacute mais simples novos atalhos de teclado foram criados

para a definiccedilatildeo de estilos de paraacutegrafo e os blocos de ceacutelulas do Calc podem ser copiados e movidos mais facilmente pela planilha Na janela de impressatildeo as opccedilotildees avanccediladas podem ser ocultadas uma vez que raramente precisam ser alteradas

Linux em switches CiscoA Cisco atraveacutes de sua nova plataforma Application Extension Platform (AXP) converteu vaacuterios mode-los de seus switches para servidores de aplicaccedilotildees Linux Os novos servidores vecircm embarcados com bibliotecas C Java e Perl certificadas Com isso os desenvolvedores seratildeo capazes de usar um kit de desenvolvimento (SDK) para construir aplicativos para o novo sistema

Os servidores AXP vecircm equipados com proces-sadores de arquitetura x86 (o mais recente traz um Pentium 14 GHz) e satildeo capazes de executar uma distribuiccedilatildeo Linux proacutepria com kernel 26143 e bibliotecas compatiacuteveis com o Fedora Core 4 A dis-tribuiccedilatildeo particular da Cisco foi desenvolvida exata-mente para rodar sobre esse hardware que in-clui 2 GB de memoacuteria RAM e discos riacutegidos de 160 GB

copy Linux New Media do Brasil Editora Ltda

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Gartner SL em alta Windows em colapso De acordo com estudo realizado pelo Gartner em apenas alguns anos praticamente todos os tipos de negoacutecios estaratildeo utilizando Coacutedigo Aberto mesmo que os gerentes de TI dessas mesmas empresas ignorem essa tecnologia e prefi ram utilizar apenas a de software como serviccedilo ( SaaS ) O mesmo estu-do informa que ateacute 2012 todas as empresas estaratildeo utilizando Coacutedigo Aberto de forma embarcada

De acordo com Mark Taylor presidente do grupo de promoccedilatildeo do Open Source Consortium ldquoinfe-lizmente o Gartner estaacute subestimando o Coacutedigo Abertordquo Ele informa que atualmente todos estatildeo utilizando Coacutedigo Aberto como serviccedilo ndash o princi-pal exemplo eacute o do Google Ainda de acordo com Taylor o Gartner natildeo percebeu que uma licenccedila livre faz mais que apenas reduzir o custo total de propriedade (TCO) ndash ela fornece muitos outros benefiacutecios tambeacutem a quem a utiliza

Mesmo sabendo que o custo da licenccedila representa apenas 3 do valor do projeto algumas empresas continuam baseando suas vendas nesse detalhe tornando-se limitadas Poreacutem quando essa limi-taccedilatildeo eacute eliminada a abrangecircncia do projeto pode se expandir para diversas outras esferas ndash tudo isso sem custo adicional Esse fenocircmeno se deve prin-cipalmente ao fato de o Coacutedigo Aberto fornecer

grande escalabilidade a um custo zero de transaccedilatildeo para qualquer aplica-

ccedilatildeo em que se queira investir

Microsoft em risco Ao mesmo tempo os analistas do Gartner afir-maram que o sistema Windows corre perigo pondo em risco tambeacutem a Microsoft Em sua conferecircncia ldquoEmerging Trendsrdquo analistas de TI do Gartner afirmaram que os esforccedilos da Mi-crosoft em relaccedilatildeo ao Windows natildeo trouxeram resultados Os motivos disso de acordo com os analistas incluem os ciclos de desenvolvimento extremamente longos e as limitadas inovaccedilotildees trazidas a cada nova versatildeo do sistema opera-cional liacuteder em vendas aleacutem da experiecircncia de uso inconsistente entre diferentes versotildees Segundo mateacuteria da PC World no lado dos ad-ministradores cada nova interaccedilatildeo do sistema traz novas questotildees de incompatibilidade com aplicativos resultando no aumento dos custos de gerenciamento e reduzindo o valor do pro-duto da gigante de Redmond

As criacuteticas ao sistema da Microsoft natildeo pararam por aiacute Os analistas do Gartner levantaram ques-totildees teacutecnicas desde a complexidade do Windows sua falta de modularidade seus trechos de coacutedigo com 20 anos de idade e os elevados requisitos de hardware ateacute a difusatildeo do uso de aplicativos web e multi-plataforma

Essas questotildees conduziratildeo os consumidores de acordo com os analistas agrave adoccedilatildeo de outros sistemas garantindo um futuro proacutespero ao Coacute-digo Aberto A saiacuteda para o Windows segundo o Gartner seria uma versatildeo do Vista ainda mais modularizada apesar das alegaccedilotildees de grande modularizaccedilatildeo no sistema feitas pela Microsoft Uma soluccedilatildeo especiacutefica para a retrocompatibili-dade dos aplicativos residiria na virtualizaccedilatildeo de sistemas e componentes No entanto adverte o instituto de pesquisa natildeo devemos esperar mu-danccedilas raacutepidas da Microsoft junto aos negoacutecios bilionaacuterios do Windows

Cars

ten

Muumll

ler -

ww

ws

xch

u

20copy Linux New Media do Brasil Editora Ltda

21

| CORPORATENotiacutecias

Linux Magazine 42 | Maio de 2008 21

21

Sun promete viacutedeo livre Rob Glidden da Sun Microsystems infor-mou em seu blog a respeito de dois novos projetos de Coacutedigo Aberto da empresa que deveratildeo resultar em uma soluccedilatildeo livre para multimiacutedia via Web incluindo codecs de aacuteudio e viacutedeo No contexto da iniciativa Open Media Commons (OMC) a Sun estaacute trabalhando atualmente no OMS Video ndash segundo Glidden a sigla OMS pode signifi car tanto Open Media Stack quanto Open Media System Assim como ocorre com o formato Flash da Adobe a soluccedilatildeo da Sun deveraacute encapsular um codec de aacuteudio e um de viacutedeo ao mesmo tempo em que cuida do controle e do trans-porte de dados bem como de aspectos de seguranccedila do conteuacutedo Os desenvolvedo-res do codec de Coacutedigo Aberto natildeo estatildeo considerando apenas suas caracteriacutesticas teacutecnicas como velocidade e qualidade questotildees como a aderecircncia da licenccedila do sistema agraves premissas do Software Livre ausecircncia de custos com licenciamento e a criaccedilatildeo de coacutedigos e meacutetodos que natildeo infrinjam nenhuma patente tambeacutem satildeo requisitos do projeto O desenvolvimento do OMS eacute pautado pela poliacutetica de direitos de propriedade intelectual adotada pela Organizaccedilatildeo Mundial do Comeacutercio que natildeo se restringe simplesmente agrave adoccedilatildeo de uma licenccedila proacutepria ndash a Common Development and Distribution License (CDDL) que permite uma combinaccedilatildeo de software de coacutedigo aberto e proprietaacute-rio ndash mas utiliza tambeacutem Digital Rights Management (DRM)

O codec de viacutedeo deveraacute ser baseado nas especifi caccedilotildees do pa-dratildeo H26x ndash mas sem se limitar a elas Como formato de aacuteudio os de-senvolvedores estatildeo considerando o formato Xiph Vorbis A Sun preferiu natildeo adotar o formato H264 por natildeo consideraacute-lo sufi cientemente livre Pro-jetos que tenham objetivos similares como Vorbis Theora e Dirac natildeo satildeo considerados concorrentes mas ldquofacilitadoresrdquo Glidden no entanto natildeo revelou em quanto tempo o produto fi nal deve estar disponiacutevel

Microsoft cogita aquisiccedilatildeo hostil do Yahoo Apoacutes ter por reiteradas vezes afi rmado que a aquisiccedilatildeo do Yahoo eacute im-prescindiacutevel para os planos de expansatildeo da companhia na concorrecircncia contra o Google a Microsoft em carta redigida pelo CEO Steve Ball-mer enviou no iniacutecio de abril um ultimato agrave empresa de Jerry Yang caso natildeo cheguem a um acordo com a cuacutepula diretora da empresa nas proacuteximas trecircs semanas a Microsoft deveraacute recorrer aos acionistas e partir para uma aquisiccedilatildeo hostil

Na carta Steve Ballmer advertiu a direccedilatildeo do Yahoo de que no caso de uma accedilatildeo hostil a oferta da Microsoft poderaacute ser menor devido agrave reduccedilatildeo nos valores das accedilotildees das duas empresas ocorrida recentemente Adicional-mente a Microsoft pretende exercer pressatildeo sobre a diretoria do Yahoo atraveacutes de seus proacuteprios representantes no conselho diretor da empresa Ateacute entatildeo a empresa fundada por Bill Gates havia tentado chegar a um acordo por vias paciacutefi cas no intuito de evitar um processo de aquisiccedilatildeo hostil longo (e possivelmente caro) bem como para preservar as equipes das duas empresas para quando ocorrer a fusatildeo Entretanto segundo Ball-mer as reuniotildees realizadas ateacute agora foram infrutiacuteferas

Ballmer argumentou ainda no docu-mento que o Yahoo teria perdido espaccedilo no mercado de maacutequinas de busca na Internet e que a situaccedilatildeo fi nanceira da companhia teria piorado desde que a oferta foi feita

Concorrente do ODF vira padratildeo ISO A Organizaccedilatildeo Internacional de Padronizaccedilatildeo ISO aprovou no dia 1ordm de abril com 75 dos votos vaacutelidos dos membros P a homologaccedilatildeo do formato de documentos de escritoacuterio Offi ce Open XML de autoria da Microsoft como um padratildeo internacional A aceitaccedilatildeo do formato como padratildeo ocorreu na segunda tentativa da empresa de Steve Ballmer junto ao oacutergatildeo internacional e apoacutes sua aprovaccedilatildeo pelo ECMA oacutergatildeo europeu de padronizaccedilatildeo de sistemas de comunicaccedilatildeo e informaccedilatildeo

O Brasil representado pela ABNT (Associaccedilatildeo Brasileira de Normas Teacutecnicas) votou assim como na primeira avaliaccedilatildeo contra a aprovaccedilatildeo do OOXML ndash como eacute chamado o formato ndash devido a inuacutemeras questotildees teacutecnicas no documento ofi cial que descreve o formato

Votaram como o Brasil o Canadaacute e a China aleacutem de Cuba Equa-dor Iacutendia Iratilde Nova Zelacircndia Aacutefrica do Sul e Venezuela totalizando oito votos de membros P (participantes) e dois de membros O (observadores incluindo o Brasil) da ISO Diversos paiacuteses se abstiveram muitos deles emitindo comentaacuterios a esse respeito

O periacuteodo anterior agrave votaccedilatildeo foi alvo de diversas denuacutencias e acusaccedilotildees relativas a alguns oacutergatildeos nacionais e influecircncias exter-nas e internas de voto

Aleacutem das falhas teacutecnicas apontadas nas especifi caccedilotildees do OOXML outro importante argumento contra sua padronizaccedilatildeo junto agrave ISO eacute a exis-tecircncia do formato ODF ( Open Document Format ) criado de forma aberta pela organizaccedilatildeo OASIS cujo objetivo eacute justamente o de proporcionar um formato de arquivos de escritoacuterio (documentos planilhas apresenta-ccedilotildees etc) legiacutevel por qualquer programa que o deseje e que jaacute havia sido aprovado como o padratildeo ISOIEC 26300 em 2006

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

24

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Agraves 9h34min de uma rara manhatilde nublada em Porto de Galinhas Brasil Sandro Alves Gerente

de Desenvolvimento de Novos Ne-goacutecios do Instituto Nokia de Tecno-logia (INdT)[1] inaugurou a ediccedilatildeo 2008 da Bossa Conference[2] Ele apresentou um curto viacutedeo contan-do detalhes da histoacuteria e das atraccedilotildees de Porto de Galinhas Recife e do Estado de Pernambuco

Alves deu as boas vindas ao puacuteblico internacional de 250 pessoas ainda em-polgado com a ediccedilatildeo de 2007 da Bossa Conference e seu grande sucesso Logo apoacutes a abertura o gerente explicou o trabalho do INdT e mais importante por que seus funcionaacuterios o fazem

Design e conceitoSandro caracteriza o INdT como um instituto ldquomovido por design e conceitordquo e natildeo ldquopor tecnologiardquo embora deixe perfeitamente claro que natildeo se trata de uma criacutetica aos desenvolvedores de Coacutedigo Aberto ldquoQuando comeccedilamos eacuteramos movi-dos pela tecnologiardquo afirmou ldquomas gradualmente fomos percebendo que a abordagem orientada ao de-sign e conceito era muito melhor e isso tem funcionado muito bem desde entatildeordquo

A unidade do INdT em Recife emprega apenas Coacutedigo Aberto no desenvolvimento de novos aplicati-vos e plataformas para dispositivos moacuteveis da Nokia e eacute esse o tema central da Bossa Conference ldquoo evento eacute projetado para promover interaccedilatildeo entre os desenvolvedoresrdquo coloca Sandro ldquoA Bossa Conference

eacute projetada para maximizar o tempo de interaccedilatildeo entre as pessoasrdquo

Na praacuteticaAssim como na ediccedilatildeo 2007 do even-to[3] todos os dias contaram com sessotildees voltadas agrave parte praacutetica dos sistemas de software que compotildeem os dispositivos moacuteveis da Nokia Daniel Rocha apresentou o uso de Python para o desenvolvimento de aplicati-vos sobre a plataforma S60 seguido de Mario Hozzano e Leandro Sales que mostraram como utilizar essa mesma linguagem na programaccedilatildeo para a plataforma Maemo No se-gundo dia Thiago Santos mostrou na praacutetica como criar plugins para o sistema multimiacutedia GStreamer e apoacutes o almoccedilo Denis Kenzior abordou a programaccedilatildeo de aplicativos com uso de Bluetooth e OBEX para a plataforma Qtopia desenvolvida pela norueguesa Trolltech e recentemente adquirida pela Nokia Finalizando as sessotildees praacuteticas do evento Marcelo Oliveira e Gustavo Barbieri ambos do INdT mostraram como desenvolver inter-faces usando Python e as bibliotecas EFL seguidos de Dave Andreoli que mostrou outras formas de ir mais fun-do no uso dessas bibliotecas

EspecialistasCom sua especializaccedilatildeo em dispo-sitivos moacuteveis de comunicaccedilatildeo e conectividade o INdT foi capaz de reunir em Porto de Galinhas um impressionante nuacutemero de sumidades em grande parte das tecnologias que compotildeem esse crescente mercado

Michael ldquoMickeyrdquo Lauer (figura 1) um dos criadores do smartphone total-mente livre OpenMoko[4] discursou sobre a construccedilatildeo de distribuiccedilotildees Linux especiacuteficas para o mercado de sistemas embarcados com o OpenEm-bedded[5] Em uma entrevista[6] dada agrave Linux Magazine logo em seguida o alematildeo exibiu alguns protoacutetipos do dispositivo fabricado pela FIC e con-tou a histoacuteria do desenvolvimento do aparelho que encheu os olhos de todo o puacuteblico presente (figura 2) chamado frequumlentemente de ldquoplaygroundrdquo para hackers tamanha sua flexibilidade Harald Welte outro alematildeo partici-pante do projeto tratou de apresentar agrave plateacuteia o conceito de um smartphone verdadeiramente aberto

Depois do almoccedilo Alp Toker de-monstrou ainda os grandes avanccedilos do mecanismo de renderizaccedilatildeo de paacuteginas web Webkit de autoria da Apple e derivado do KHTML do projeto KDE O desenvolvedor do Webkit demonstrou como a equipe de desenvolvimento do renderiza-dor tem preocupaccedilatildeo com o uso de memoacuteria [7] o que vem rendendo

Figura 1 Mickey Lauer exibe dois protoacute-tipos do FIC Neo Freerunner

Bossa Conference 2008

A bossa da mobilidadeCom um evento uacutenico no mundo a Bossa Conference do Instituto Nokia de Tecnologia em Recife comemora sua entrada no calendaacuterio internacionalpor Pablo Hess

copy Linux New Media do Brasil Editora Ltda

25

| CORPORATEBossa Conference 2008

Linux Magazine 42 | Maio de 2008

vaacuterios testes desse mecanismo nos dispositivos moacuteveis que satildeo o centro da Bossa Conference

Na aacuterea de tecnologias visuais ndash um dos fetiches desse mercado ndash Carsten ldquoRastermanrdquo Haitzler criador do re-conhecidamente inovador ambiente desktop Enlightenment demonstrou os motivos do crescente interesse por parte dos desenvolvedores de dispositivos embarcados pelas bibliotecas graacuteficas que compotildeem seu software ndash especial-mente em relaccedilatildeo ao consumo de re-cursos ndash o que pode acabar por render a essas bibliotecas o posto atualmente ocupado pela GTK[8] Oslashyvind Kolarings colaborador de diversos projetos de Soft-ware Livre na aacuterea visual como Cairo e Gimp tambeacutem explicou as necessi-dades de hardware para a interface dos futuros dispositivos moacuteveis enquanto Chris Wilson tambeacutem envolvido com o Cairo falou sobre seu processo de desenvolvimento enfatizando os testes de funcionalidades

Ainda na questatildeo multimiacutedia Lennart Poetering descreveu a aplicaccedilatildeo do ser-vidor de aacuteudio PulseAudio em dispositi-vos embarcados enquanto Zach Rusin mostrava na sala ao lado os benefiacutecios que os drivers Gallium3D prometem trazer agrave aacuterea de graacuteficos 3D Logo em seguida Conrad Parker completou o tema com sua palestra sobre aspectos internos de reprodutores de viacutedeo

Os organizadores tambeacutem incluiacuteram no programa seminaacuterios sobre questotildees especialmente importantes em dispo-

sitivos moacuteveis como a depuraccedilatildeo do sistema de comunicaccedilatildeo entre processos D-Bus (ministrado por J5 Palmieri) o armazenamento local de dados (semi-naacuterio de Alexandre Oliva)

As tendecircncias de desenvolvimento tambeacutem figuraram entre os assuntos debatidos Daniel Gentleman apre-sentou formas de interaccedilatildeo entre os projetos de Coacutedigo Aberto e as comunidades que os utilizam dei-xando clara a necessidade de desen-volvimento nesse campo

A questatildeo da mobilidade foi disseca-da por Marcel Holtmann mantenedor de diversas das pilhas de protocolos de comunicaccedilatildeo sem fio no kernel Linux Segundo Marcel o Linux pos-sui suporte a diversos protocolos de comunicaccedilatildeo que nem mesmo estatildeo disponiacuteveis comercialmente o que o torna um sistema ideal para os dispo-sitivos moacuteveis de comunicaccedilatildeo

Nesse mundo de tantos aparelhos com exigecircncias aparentemente para-doxais ndash cada vez mais funcionalida-des em dispositivos progressivamente menores ndash a Intel tambeacutem esteve presente com seu Mobile Internet Device equipado com o igualmente novato Ubuntu Mobile Edition Adil-son Oliveira da Canonical apresen-tou agrave imprensa um aparelho natildeo tatildeo pequeno quanto os demais do evento e evidentemente com objetivos dife-rentes ndash o MID eacute um subnotebook reduzido tanto em capacidade quan-to em tamanho ndash mas equipado com uma distribuiccedilatildeo que promete mexer com esse mercado[9]

Um evento uacutenicoSe o mercado de software para disposi-tivos embarcados tem diversas particu-laridades a Bossa Conference age de acordo Nas duas noites do evento os participantes foram levados a ambien-tes que propiciavam a interaccedilatildeo o que certamente ajudou muito a troca de ideacuteias entre o puacuteblico e as ldquocelebrida-desrdquo com uma proximidade raramente vista em outros eventos

Mais informaccedilotildees

[1] INdT httpwwwindtorgbr

[2] Bossa Conference httpbossaconferenceindtorg

[3] Bossa Conference 2007 ldquoO futuro da mobilidaderdquo httpwwwlinuxmagazinecombrarticleo_futuro_da_mobilidade

[4] OpenMoko httpwwwopenmokoorg

[5] OpenEmbedded httpwwwopenembeddedorg

[6] ldquoO celular mais livre do mundordquo httpwwwlinuxmagazinecombrlmnoticiao_celular_mais_livre_do_mundo

[7] ldquoWebkit em todo canto ndash mesmordquo httpwwwlinuxmagazinecombrlmnoticiabossa_conference_2008_webkit_em_todo_canto_ndash_mesmo

[8] ldquoEnlightenment vai destronar GTKrdquo httpwwwlinuxmagazinecombrnoticiabossa_conference_enlightenment_vai_destronar_gtk

[9] ldquoUbuntu para dispositivos embarcadosrdquo httpwwwlinuxnewmediacombrnoticiaubuntu_para_dispositivos_embarcados

Figura 2 O FIC Neo Freerunner eacute o segundo modelo de smartphone da FIC a utilizar a plataforma OpenMoko

Segundo o ldquodono da festardquo Sandro Alves os participantes do evento satildeo pes-soas que ldquoamam criar coacutedigordquo como definem a si proacuteprios ldquosem nenhuma inclinaccedilatildeo poliacutetica ou ideoloacutegicardquo O limite de 250 pessoas afirma Sandro eacute para garantir que apenas as pessoas mais qualificadas e motivadas participem do evento garantindo assim o retorno po-sitivo de todos -- do puacuteblico dos pales-trantes e ateacute dos organizadores

copy Linux New Media do Brasil Editora Ltda

26

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Hardware Coacutedigo Aberto e Software Enablement

Software bem rodadoPor que um fabricante de hardware teria interesse em um software de Coacutedigo Aberto Entenda o Software Enablement e seus motivospor Sulamita Garcia

No final do ano passado tive a oportunidade de partici-par de uma conferecircncia da

Intel sobre Software Enabling Mas o que eacute isso e o que tem a ver com Software Livre

A dependecircncia entre software e hardware na computaccedilatildeo sempre foi uma discussatildeo do tipo ldquoo ovo e a gali-nhardquo Hardware natildeo faria nada sem o software software natildeo faria nada sem o hardware Combinados poreacutem eles fazem tudo o que conhecemos na aacuterea Conforme a tecnologia evolui o hard-ware se torna mais raacutepido ao mesmo tempo em que consome menos energia e tem o tamanho reduzido Isso torna possiacutevel adicionar mais funcionalidades tais como melhorar a possibilidade de virtualizaccedilatildeo integrar redes sem fio ou ter multiplos nuacutecleos para processar vaacute-rias instruccedilotildees ao mesmo tempo Mas para que essas novas funcionalidades faccedilam diferenccedila o software precisa ser escrito ou modificado para utilizaacute-la O Software Enabling eacute a atividade de ajudar a escrever esse software

Entatildeo como fazemos isso acon-tecer Vamos ver como geralmente acontece trabalhando com empresas de coacutedigo fechado

No radarQuando o software tem uma boa base de usuaacuterios ou um bom propoacutesito ele pode aparecer no radar da companhia de hardware Quando a empresa de software jaacute pode ter um relacionamento com a empresa de hardware e jaacute estaacute no

radar Os dois lados hardware e software comeccedilam a conversar O primeiro pas-so geralmente eacute assinar um acordo de confidencialidade ndash NDA ndash que defina os limites sobre as informaccedilotildees com-partilhadas Entatildeo os engenheiros de ambas empresas comeccedilam a trabalhar no projeto para o qual foram designa-dos O tamanho desse time depende do projeto das empresas envolvidas da base de usuaacuterios que se deseja al-canccedilar e de outros fatores Depois de algum tempo a empresa de software finalmente termina de escrever o coacute-digo e comeccedila a vendecirc-lo Pode exis-tir alguma campanha em conjunto em que as duas empresas invistam algum dinheiro em marketing para mostrar o resultado daquele coacutedigo Algumas vezes isso traz os resultados esperados e outras vezes natildeo mas eacute assim que funciona

Poreacutem existe outra maneira de fazer esse mesmo processo Quando uma companhia de hardware se aproxima de uma empresa de software aberto elas podem assinar um contrato de confidencialidade tambeacutem dependen-do dos projetos em que essas empresas trabalham Mas quando uma empresa de hardware quer se aproximar de uma comunidade relacionada a um projeto em particular natildeo existe uma pessoa para assinar um NDA por todos e isso nem faria sentido Pela natureza do Coacutedigo Aberto as informaccedilotildees sobre o projeto tambeacutem satildeo abertas Qual-quer bom projeto tem pelo menos uma lista de afazeres ndash TODO ndash em que eacute

possiacutevel verificar quais as prioridades para o projeto e quais os planos futu-ros Alguns projetos mais maduros tecircm um planejamento um roadmap Um bom projeto tambeacutem tem um sistema de rastreamento de falhas em que as pessoas podem relataacute-las verificar o seu estado saber como corrigir um proble-ma em particular e ateacute como ajudar a resolver alguns desses problemas Entatildeo quando se aproxima desses projetos qualquer um jaacute tem uma boa ideacuteia do funcionamento dele antes mesmo de falar com os responsaacuteveis

Digamos que com essas informa-ccedilotildees a empresa de hardware tenha decido que aquele projeto era inte-ressante e que valeria a pena traba-lhar com os desenvolvedores Entatildeo a empresa comeccedila a se engajar com alguns dos principais engenheiros que podem apontar quais pessoas tecircm possibilidade de dedicar tempo a trabalhar com seu hardware Eles provavelmente vatildeo precisar de ajuda no comeccedilo e entatildeo a empresa pode providenciar alguns sistemas para teste acesso a documentaccedilatildeo e ajuda espe-cializada dos seus engenheiros

ColaboraccedilatildeoMas logo um dos melhores aspectos do Coacutedigo Aberto comeccedila a mostrar-se enquanto outros engenheiros natildeo apenas os da empresa comeccedilam a aprender sobre como lidar com o hardware podem ajudar outras pessoas no projeto a aprenderem tambeacutem E esse esforccedilo tambeacutem

Julia

Eis

enb

erg

- w

ww

sxc

hu

copy Linux New Media do Brasil Editora Ltda

27

| CORPORATESoftware Enablement

Linux Magazine 42 | Maio de 2008

aumentaraacute a base de conhecimen-to e o nuacutemero de profissionais com esse conhecimento

Depois disso podemos ter um software preparado para mostrar as novas capacidades do seu hardware Quem entatildeo vai distribuir esse soft-ware Primeiramente os projetos sempre tecircm seu proacuteprio website Provavelmente os usuaacuterios desse software tambeacutem iratildeo querer testar essa nova versatildeo e entatildeo automati-camente eacute criada uma nova base de usuaacuterios A blogosfera jaacute provou ser poderosa para espalhar novas ideacuteias e natildeo eacute incomum desenvolvedores de software falarem em que andam trabalhando ou o que vecircm testando Aleacutem de divulgar suas atividades isso tambeacutem ajuda na documentaccedilatildeo E se vocecirc ainda conseguir ajudaacute-los a integrar este a outros projetos em que estejam trabalhando melhor ainda Os custos para esse tipo de aproxima-ccedilatildeo satildeo consideravelmente menores em relaccedilatildeo ao modelo anterior e o

nuacutemero de especialistas na plataforma aumentou consideravelmente

Interesse em softwareTodavia haacute algo que muitas empre-sas natildeo entendem por que os de-senvolvedores de Coacutedigo Aberto se importariam com o hardware Bem essa eacute uma parte bastante delicada mas cabe agraves empresas demonstra-rem Isso requer bastante humildade afinal de contas o projeto em ques-tatildeo chegou ao sucesso mesmo sem apoio da empresa Tentar dar ordens certamente natildeo vai funcionar nem usar a sua grande e poderosa marca como se eles devessem ser gratos pela empresa ter-se interessado O mais importante eacute que o produto precisa ser bom Quando se trata dos desenvolvedores principais estamos falando de profissionais altamente qualificados que construiacuteram um projeto suficientemente bom para chamar a atenccedilatildeo de uma grande empresa Entatildeo maquiar os pro-

blemas de um produto ou inventar recursos que natildeo existem ou natildeo fun-cionam natildeo vatildeo render pontos para o produto A honestidade eacute sempre valorizada esse eacute um ponto muito importante e vale a pena reforccedilar Se vocecirc fizer isso pode conquistar valiosos aliados para os projetos que tambeacutem apreciam serem re-conhecidos por marcas admiradas mas somente se isso natildeo custar a integridade do projeto

Algumas empresas falharam porque tentaram dizer o que os desenvolvedores deveriam fazer ou mudar os objetivos do projeto ou mexer com as suas razotildees ideoloacute-gicas ndash eles acreditam em Coacutedigo Aberto natildeo se esqueccedila disso

Sobre o autorSulamita Garcia eacute Gerente de Estrateacutegia Linux e Open Source para Ameacuterica Latina da Intel e uma das coordenadoras do gru-po Linux Chix

copy Linux New Media do Brasil Editora Ltda

28

CORPORATE

httpwwwlinuxmagazinecombr

Entrevista com Theron Morato responsaacutevel pela aacuterea de Iniciativas Estrateacutegicas em eSOA da SAP Brasil

100 de serviccediloA SAP estaacute reestruturando sua arquitetura para incorporar a disciplina da SOA agraves suas ofertas Veja o que esse novo paradigma significa para a empresapor Pablo Hess

A disciplina da arquitetura orientada a serviccedilos (SOA) demanda o contato entre os

funcionaacuterios de TI e os responsaacuteveis pelos negoacutecios A alematilde SAP faz isso haacute anos e tem reconhecimento internacional por suas soluccedilotildees A Linux Magazine conversou com Theron Morato responsaacutevel pela aacuterea de iniciativas estrateacutegicas em eSOA da SAP Brasil a respeito das

accedilotildees da empresa no campo de SOA e sua relaccedilatildeo com padrotildees abertos e o Coacutedigo AbertoLinux Magazineraquo Qual a importacircncia do mercado de SOA para os negoacute-cios da SAPTheron Moratoraquo Extremamente im-portante Haacute pelo menos trecircs anos a SAP vem investindo fortemente para redesenhar sua arquitetura e assimilar integralmente o conceito de SOA em suas soluccedilotildees aleacutem de participar ativamente de iniciativas de padronizaccedilatildeo linguagens de especificaccedilatildeo de processos e ofe-recer todas as suas soluccedilotildees como serviccedilos Hoje podemos dizer que a empresa tem uma estrateacutegia soacute-lida e estruturada de enterprise SOA (eSOA)

LMraquo Qual eacute a estrateacutegia da SAP para o mercado de SOA Que tipo de parcerias a empresa tem firmado nessa aacutereaTMraquo A estrateacutegia que desenvolve-mos trabalha com uma semacircntica de negoacutecios que tem mais sentido para o analista de negoacutecios sem o vieacutes teacutecnico Isso natildeo significa que a tecnologia natildeo seja importante mas para o puacuteblico que mais se beneficia

do SOA que vem das aacutereas de negoacute-cios a tecnologia que implementa os conceitos da arquitetura orientada a serviccedilos deve ser transparente

A necessidade de uma semacircntica de negoacutecios se justifica principalmen-te porque natildeo basta termos apenas os agrupamentos de Web Services proxies e interfaces pois nem sempre a inte-graccedilatildeo desses elementos eacute a melhor maneira de solucionar um desafio de negoacutecios As parcerias firmadas vecircm sendo feitas em todos os niacuteveis de fornecedores de hardware a fornece-dores de soluccedilotildees complementares agraves soluccedilotildees da SAPLMraquo Com a disciplina do SOA em voga atualmente quais as expecta-tivas da SAP para esse mercado nos proacuteximos anos

TMraquo Nos uacuteltimos trecircs anos os ar-quitetos e consultores da SAP tecircm prestado serviccedilos relativos a dife-rentes aspectos do SOA entre eles o roadmap de eSOA Trata-se do desenho de soluccedilotildees de novos pro-cessos de negoacutecios com a visatildeo de que eles seratildeo reutilizaacuteveis e teratildeo vantagens quando implementados com a disciplina do SOA Com tudo isso pronto nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios com uma plataforma abrangente de serviccedilosLMraquo Como eacute a relaccedilatildeo da SAP com os fornecedores de componentes para a infra-estrutura de SOA como sistema operacional e middleware especifi-camente os de Coacutedigo AbertoTMraquo A SAP tem uma relaccedilatildeo de par-ceria com a Novell para que nossos sistemas possam utilizar como base o sistema operacional SUSE Linux Enterprise o qual jaacute eacute empregado inclusive nas aplicaccedilotildees BIAccelera-tor e Enterprise Search em parceria com a HP IBM e IntelLMraquo Qual a relaccedilatildeo entre Coacutedigo Aber-to (incluindo padrotildees abertos) e SOA Como a SAP apoacuteia essas iniciativasTMraquo A SAP estaacute alinhada aos padrotildees e ferramentas de desenvolvimen-to abertas como Eclipse Struts Hibernate e linguagens de script Nosso objetivo com isso eacute facilitar o envolvimento de desenvolvedores Java e SOA na estrutura de enterprise SOA da SAP e no SAP BPP (Business Process Platform)

Nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios

copy Linux New Media do Brasil Editora Ltda

29Linux Magazine 42 | Maio de 2008

CORPORATE

Green IT soluccedilotildees para as empresas de TI

Cezar TaurionO consumo de energia dos computadores jaacute estaacute recebendo uma maior parcela de atenccedilatildeo que no passado o que pode ajudar o Linux a se destacar no mercadopor Cezar Taurion

O tema ldquoGreen ITrdquo estaacute comeccedilando a ser debatido na miacutedia e em algumas ainda esparsas conversas sobre TI Ele jaacute faz

parte da agenda de diversos eventos importantes e o uacuteltimo CeBIT foi tambeacutem palco de vaacuterios anuacutencios mostrando a preocupaccedilatildeo crescente das empresas com as questotildees ecoloacutegicas Foi inclu-sive criada uma ldquoGreen IT Villagerdquo um saguatildeo dedicado inteiramente agraves discussotildees ecoloacutegicas e agrave exposiccedilatildeo de produtos que jaacute usam soluccedilotildees de economia de energia e materiais menos agressivos ao meio ambiente

Mas por que tanta atenccedilatildeo em torno do Green IT Nosso planeta estaacute ameaccedilado pelo aquecimento global Noacutes jaacute impusemos tensotildees cada vez maiores ao finito e limitado meio ambiente ultrapassando a sua capacidade de se sustentar Jaacute consumimos 25 mais recursos naturais a cada ano do que o planeta eacute capaz de repor E nesse ritmo em 2050 estaremos consumindo mais que o dobro da capa-cidade da Terra

E a TI natildeo fica fora do consumo de energia Agrave medida que os servidores se tornam mais poderosos demandam mais energia e nos EUA jaacute representam cerca de 12 de todo o consumo de eletricidade

O Gartner Group cita que em 2010 cerca de metade das empresas listadas na relaccedilatildeo Forbes 2000 estaratildeo gastando mais dinheiro com energia que com seus computadores Seu estudo diz ainda que em meacutedia entre 30 e 60 da energia demandada em um datacenter eacute desperdiccedilada E lembra que a TI estaacute hoje como a induacutestria automotiva estava haacute 20 anos comeccedilando a ser pressionada por maior eficiecircncia energeacutetica

Diante desse quadro os analistas comeccedilam a cha-mar atenccedilatildeo para o gasto com energia (dos servidores e dos equipamentos de refrigeraccedilatildeo) e dizem que em breve os CFOs estaratildeo bem mais preocupados com o assunto Alguns paiacuteses estatildeo comeccedilando a estudar legislaccedilotildees que visem a incentivar e em al-guns casos mesmo a obrigar os datacenters a serem

mais eficientes no consumo de energia Com cer-teza o tema vai se tornar cada vez mais importante nos proacuteximos anos

Na minha opiniatildeo temos as condiccedilotildees de uma ldquoPerfect Stormrdquo que vai disparar accedilotildees ldquoverdesrdquo O termo ldquoPerfect Stormrdquo significa a ocorrecircncia si-multacircnea de eventos que se tornam muito mais poderosos e impactantes quando combinados Esses eventos satildeo a crescente conscientizaccedilatildeo da realidade do aquecimento global os crescentes custos de energia e as crescentes mudanccedilas e demandas regulatoacuterias no mundo todo Isolados esses eventos tecircm certo impacto mas quando combinados deveratildeo gerar uma tendecircncia irre-sistiacutevel em direccedilatildeo a uma TI Verde

Imagino que em poucos anos (talvez jaacute em 2010) o tema Green IT sairaacute do campo da curiosidade para se tornar mainstream item obrigatoacuterio na agenda de qualquer gestor de TI

Entre as tecnologias que vatildeo ganhar muito im-pulso nesse contexto citamos a virtualizaccedilatildeo e consolidaccedilatildeo de servidores e datacenters Tambeacutem a discussatildeo sobre thin clients versus PCs completos comeccedilaraacute a ter outro apelo

E onde entra o Linux nessa histoacuteria Entra com muita forccedila nas tecnologias acima Soacute para termos uma ideacuteia da importacircncia do tema a Li-nux Foundation criou uma iniciativa especiacutefica acessiacutevel em httpwwwlinux-foundationorgenGreen_Linux Com isso imagino que o Linux te-nha grandes chances de se tornar um verdadeiro sistema operacional ldquoverderdquo aumentando seu niacutevel de utilizaccedilatildeo mundial

Sobre o autorCezar Taurion (ctaurionbribmcom) eacute diretor de novas tecnologias aplicadas da IBM Brasil e editor do primeiro blog da Ameacuterica Latina do Portal de Tecnologia da IBM developerWorks www-03ibmcomdeveloperworksblogspagectaurion

copy Linux New Media do Brasil Editora Ltda

30

CORPORATE

httpwwwlinuxmagazinecombr

Reflexotildees sobre o desenvolvimento do Coacutedigo Aberto

Ricardo BimboO recente estudo da Linux Foundation sobre o desenvolvimento do kernel Linux indica a participaccedilatildeo de empresas mas eacute errado imaginar que os tradicionais voluntaacuterios estejam desaparecendopor Ricardo Bimbo

Uma recente pesquisa divulgada pela Linux Foundation[1] sobre o desenvolvimento do kernel chamou a atenccedilatildeo de diversos blogs

e sites de notiacutecia para a participaccedilatildeo de funcionaacuterios de empresas dedicados ao dia-a-dia das atividades de manutenccedilatildeo correccedilatildeo e desenvolvimento do kernel Linux Algo como 10000 patches da atual versatildeo 26 envolveram 1000 colaboradores e 100 companhias contra 3700 colaboradores individuais e mais de 200 empresas em 2005

A presenccedila cada vez maior de empresas com cola-boradores dedicados ao trabalho no kernel evidencia as companhias que tecircm hoje no Linux a principal ou uma das principais fontes de receita Red Hat IBM Intel Novell e a proacutepria Linux Foundation juntas com os usuaacuterios do Linux estatildeo na linha de frente do trabalho de manutenccedilatildeo do kernel

Isso demonstra que o desenvolvedor solitaacuterio independente estaacute no fim Todos estatildeo vendendo sua forccedila de trabalho intelectual Natildeo A conclu-satildeo do estudo da Linux Foundation daacute uma dica a esse respeito ldquoO kernel Linux eacute um dos projetos de Coacutedigo Aberto melhor sucedidosrdquo Existem outros projetos tambeacutem de extrema grandeza ndash como Apa-che BrOfficeorg Firefox Gnome KDE MySQL e PostgreSQL ndash que disputam o tempo de vaacuterios desenvolvedores e tecircm a participaccedilatildeo de empresas Isso sem contar os projetos de distribuiccedilotildees como Fedora e Debian aleacutem dos mais de 170 mil projetos ativos no SourceForge[2] e de um incontaacutevel nuacuteme-ro de projetos em outros repositoacuterios

O SourceForge sozinho possui quase dois mi-lhotildees de usuaacuterios registrados e eacute um erro imaginar-mos que sejam todos programadores Natildeo eacute difiacutecil encontrar chamadas solicitando a participaccedilatildeo de gerentes de projetos especialistas em processos especialistas em economia contabilidade recursos humanos e uma infinidade de outras especializaccedilotildees e conhecimentos

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores E muitas vezes esses ldquovoluntaacuteriosrdquo sentem-se mais eficazes atuando em projetos que tecircm uma aplicabilidade no meio em que convivem ou em projetos que possam dar sua contribuiccedilatildeo dife-renciada seja para destacar-se em seu ambiente ou soacute por prazer mesmo

Isso demonstra claramente mais uma vantagem do Coacutedigo Aberto e do desenvolvimento compar-tilhado Natildeo importam os motivos que levem uma pessoa a participar ou trabalhar em um projeto a curva de participaccedilatildeo de empresas e seus co-laboradores estaacute deliberadamente vinculada agraves curvas de crescimento do projeto e ao nuacutemero de usuaacuterios Isso reordena o processo produtivo e de desenvolvimento de negoacutecios abrindo um leque de novas oportunidades

Mais informaccedilotildees

[1] Estudo da Linux Foundation httpswwwlinux-foundationorgpublicationslinuxkerneldevelopmentphp

[2] Sourceforge httpwwwsourceforgenet

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores

Sobre o autorRicardo Bimbo eacute Government Relations da Red Hat Brasil e defen-de a ideacuteia de que todo o conhecimento deve ser compartilhado

copy Linux New Media do Brasil Editora Ltda

LPIindd 1 261107 163706

copy Linux New Media do Brasil Editora Ltda

32

CORPORATE

httpwwwlinuxmagazinecombr

Como o PVM influi no mundo BPM

Edgar SilvaA modelagem de processos de negoacutecios pode beneficiar-se muito do uso do PVM ndash Process Virtual Machinepor Edgar Silva

Quando falamos em Business Process Modeling um dos diversos significados de BPM frequumlentemente nos depara-

mos com vaacuterias questotildees importantes Destas podemos destacar algumas Qual linguagem de processo utilizar A linguagem escolhida suporta as necessidades

reais de uma forma-padratildeo Como fazer com que de fato uma mudanccedila

no modelo de negoacutecio se reflita no mecanismo de execuccedilatildeo dos serviccedilos da empresa

As respostas para essas questotildees pairam como um desafio para os arquitetos e engenheiros de software nos dias de hoje Como o segredo da induacutestria estaacute na padronizaccedilatildeo nada mais oacutebvio que investir em um trabalho colaborativo que beneficie tanto as empresas quanto as comunidades de Software Livre e claro os clientes finais

Uma novidade no mundo BPM eacute o PVM (Process Virtual Machine ou Maacutequina Virtual de Processos) que vou abordar neste artigo

A induacutestria tem buscado aplicar os conceitos de workflow e em paralelo diagramas de estado e outras formas de diagramaccedilatildeo vecircm sendo apresentados ao mercado diariamente Entretanto ainda se percebe um abismo entre o ldquodesenhordquo e a ldquoexecuccedilatildeordquo dos fluxos Em sua nova roupagem os workflows ago-ra mais conhecidos como BPM tentam aproximar esses dois pilares O objetivo do PVM eacute promover uma forma-padratildeo de criar metadados padronizados de tudo que eacute comum a um fluxo um workflow ou uma maacutequinadiagrama de estado

Imagine uma foto Ela possui vaacuterias informa-ccedilotildees de metadados como fabricante e dia e hora em que foi tirada Haacute sites como o Flickr[1] que conseguem ler e apresentar esses dados in-dependendo do fornecedor desde que utilizem esses padrotildees Essa eacute mais ou menos a ideacuteia da PVM Entre seus objetivos estaacute a abstraccedilatildeo geral de qualquer tipo de fluxo e sua possiacutevel lingua-

gem de definiccedilatildeo A PVM eacute a abstraccedilatildeo por traacutes de qualquer modelo ou linguagem que a defi-niu Dessa forma natildeo importa a linguagem de construccedilatildeo do fluxo porque no final todos po-deratildeo ser lidos e gerar uma uacutenica visatildeo de fluxo dentro da PVM

O mercado tem apontado inuacutemeras linguagens para definiccedilatildeo dos processos como BPEL[2] XPDL[3] jPDL e RulesFlow entre outras Espera-se agora que haja interoperabilidade dos serviccedilos dentro de uma Arquitetura Orientada a Serviccedilos (SOA) E por que natildeo pensar tambeacutem na interoperabilidade entre diversos modelos de processos em diferentes linguagens cooperando e colaborando na execuccedilatildeo de fluxos de processos de negoacutecio

Para concluir o aspecto mais interessante do PVM eacute a total separaccedilatildeo do desenho da execuccedilatildeo e de suas linguagens Isso com certeza eacute um marco muito importante para a concepccedilatildeo de mecanismos de processos o que soacute vai agregar valor agraves vaacuterias so-luccedilotildees que utilizam os recursos e os conceitos de workflow e de BPM

Mais informaccedilotildees

[1] Flickr httpwwwflickrcom

[2] BPEL na Wikipeacutedia httpenwikipediaorgwikiBPEL

[3] XPDL httpwwwwfmcorgstandardsxpdlhtm

Sobre o autor

Edgar Silva (edgarsilvaredhatcom) eacute Arquiteto de Soluccedilotildees JBoss na Red Hat Brasil Com experiecircncia em obje-tos distribuiacutedos (Corba COM+ e Java) desde 1998 nos uacuteltimos anos Edgar vem pesquisando aplicando e ministrando pales-tras e treinamentos no Brasil e no exterior sobre assuntos de alta tecnologia incluindo JavaEE e SOA

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

SOA explicada

Sirva-se com softwareSoftware e serviccedilo agora satildeo com frequumlecircncia a mesma coisa A arquitetura orientada a serviccedilos proporciona o funcionamento adequado de todos os componentespor Pablo Hess

Softwares multi-plataforma jaacute estatildeo no mercado haacute tempos As linguagens de programaccedilatildeo ditas ldquode scriptrdquo por exemplo como Perl Python

Ruby e Tcl para citar apenas as mais populares satildeo capazes de executar instruccedilotildees em qualquer plata-forma que possua uma versatildeo de seu interpretador inclusive com vistosas interfaces graacuteficas

A oferta da Sun Microsystems o Java vai um passo aleacutem oferecendo toda uma maacutequina virtual que trata de toda a interaccedilatildeo com o sistema opera-cional subjacente o que facilita ainda mais a cria-ccedilatildeo de softwares multi-plataforma Atualmente com os sistemas de Coacutedigo Aberto ndash como o Linux ndash aumentando sua presenccedila no mercado mas com outros sistemas Unix e Windowsreg tambeacutem presentes de forma significa-tiva eacute cada vez

CA

PA

34 httpwwwlinuxmagazinecombr

mais importante que os softwares corporativos sejam capazes de rodar em muacuteltiplas plataformas

Tamanha eacute a importacircncia disso ndash e do Java nessa foacutermula ndash que a Sun chegou ateacute mesmo a alterar seu coacutedigo de quatro letras usado na bolsa NASDAQ de SUNW para JAVA sugerindo que a relevacircncia da lin-guagem hoje eacute superior agrave tradiccedilatildeo da empresa no ramo de workstations

No entanto mesmo com uma maacutequina virtual prati-camente onipresente nos desktops e servidores atuais haacute dificuldades para distribuir softwares multi-plataforma que dependam de extensotildees ou bibliotecas externas ao nuacutecleo da linguagem Lidar com a instalaccedilatildeo desses

componentes pode ser muito faacutecil para adminis-tradores de sistemas mas com frequumlecircncia

os usuaacuterios natildeo-teacutecnicos satildeo prejudi-cados nessa tarefa

Iacutendice de mateacuterias de capaBem arquitetado paacuteg36Clientes espalhados servidores distribuiacutedos paacuteg40Quase faz cafeacute paacuteg44

copy Linux New Media do Brasil Editora Ltda

ServiccedilosQue tal entatildeo atribuirmos ao administrador a tarefa de instalar o software e todos os compo-nentes requeridos por ele Com isso o usuaacuterio precisaria apenas apontar seu navegador web para a URL do software que localizado no servidor seria executado sem dificuldades e sem necessi-dade de instalaccedilatildeo pelo usuaacuterio

Felizmente essa abordagem ainda traz vanta-gens adicionais Eacute possiacutevel por exemplo utilizar os poderosos componentes da linguagem criada pela Sun para implementar clusters de alta dis-ponibilidade ou alto desempenho permitindo assim que os usuaacuterios desfrutem do software de forma ininterrupta e com desempenho inega-velmente superior ao que seria possiacutevel em seu hardware local

Essa abordagem para a oferta de softwares jaacute eacute usada haacute algum tempo e um de seus exemplos mais populares eacute o Google Docs[1] um conjunto de aplicativos de escritoacuterio disponiacutevel online e gratuitamente para qualquer usuaacuterio Com ele uma pessoa com acesso agrave Internet pode se desfa-zer da necessidade de baixar ou adquirir softwares equivalentes ndash ou quase equivalentes ndash como o BrOfficeorg[2] ou o Microsoft Office

Mais informaccedilotildees

[1] Google Docs httpdocsgooglecom

[2] BrOfficeorg httpwwwbrofficeorg

NomesO software como serviccedilo ou SaaS na sigla em inglecircs eacute tambeacutem uma nova forma de comerciali-zaccedilatildeo de softwares inclusive de Coacutedigo Aberto E a arquitetura necessaacuteria agrave implantaccedilatildeo e desenvol-vimento de softwares sob esse princiacutepio eacute a Arqui-tetura Orientada a Serviccedilos ou SOA

Como vocecirc veraacute nos artigos desta ediccedilatildeo da Linux Magazine a SOA propotildee a infra-estrutura e tambeacutem as diretrizes para que softwares sejam executados como serviccedilos e comuniquem-se uns com os outros de forma semelhante ao que ocorre num sistema operacional tradicional com comunicaccedilatildeo entre processos e biblio-tecas e outros componentes compartilhados

Nas paacuteginas a seguir apresentamos a visatildeo da construccedilatildeo de aplicativos como serviccedilos uma anaacutelise dos princiacutepios da SOA e a plataforma de desenvol-vimento NovaForge fortemente inclinada agrave oferta de softwares como serviccedilo

Boa leitura e bom serviccedilo

Linux Magazine 42 | Maio de 2008 35

SOA explicada | CAPA

copy Linux New Media do Brasil Editora Ltda

36

CA

PA

httpwwwlinuxmagazinecombr

SOA sobre JBoss

Bem arquitetadoA plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de aplicaccedilotildees JBoss Conheccedila-os em detalhespor Edgar Silva

Eacute faacutecil imaginarmos um liacuteder ou gerente de TI fugindo desesperadamente ao ou-

vir a pergunta ldquoO que eacute SOArdquo Embora a resposta simples e direta seja a explicaccedilatildeo da sigla Service Oriented Architecture eacute importante lembrar de que muito mais que orientados a serviccedilos devemos estar orientados para os serviccedilos Partindo desse sentido devemos associar toda essa visatildeo dos servi-ccedilos como agentes impulsionadores de negoacutecios

Um serviccedilo a grosso modo eacute um componente que pode ser reutilizado independentemente de tecnologias departamentos ou empresas Ao mesmo tempo que pode ser geneacuterico ele pode tam-beacutem ser especiacutefico agraves necessida-des e demandas de uma empresa

Quando falamos de SOA eacute um ligeiro engano acreditar que basta entatildeo transformar tudo em Web Services e ndash pronto ndash sua empresa estaacute 100 aderente a SOA Isso pode ser um passo que inclusi-ve leva a questotildees que preparam para os seguintes Ter as peccedilas separadas e isoladas natildeo faz um motor de carro funcionar todas as engrenagens ordens de acon-tecimentos (orquestraccedilatildeo) regras sequumlecircncia de accedilotildees (processos) devem ser previstas para que o conjunto possa funcionar

Quando falamos de SOA eacute importante lembrar que vaacuterios sis-temas ERP no Brasil satildeo legados portanto natildeo possuem aderecircncia a Web Services assim como fal-tam formas de integraccedilatildeo das mais diversas desde a transferecircncia de

arquivos FTP email e ateacute o acesso a banco de dados

A divisatildeo JBoss da Red Hat tem o JBoss SOA Platform como plata-forma voltada para SOA que reuacute-ne em um uacutenico pacote algumas soluccedilotildees descritas abaixo BPM JBoss jBPM Engine de regras JBoss Rules ESB JBoss ESB Persistecircncia de dados JBoss

Hibernate Framework de desenvolvi-

mento de aplicaccedilotildees JBoss Seam

Servidor de aplicaccedilotildees JBoss Application Server

Vale ressaltar que embora o JBoss Application Server sustente todas essas soluccedilotildees de produtos eacute possiacutevel usar qualquer servidor de aplicaccedilatildeo de outros fornecedores

copy Linux New Media do Brasil Editora Ltda

37

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

como IBM WebSphere Oracle AS ou BEA WebLogic Isso soacute eacute possiacute-vel graccedilas aos padrotildees abertos que permitem ao cliente escolher os produtos que melhor supram suas necessidades

A seguir descreveremos cada um dos componentes da platafor-ma SOA oferecidos pela Red Hat sobre seu servidor de aplicaccedilotildees de Coacutedigo Aberto

Servidor de aplicaccedilotildeesO JBoss Application Server eacute a infra-estrutura para a plataforma SOA da Red Hat Com cerca de oito anos de presenccedila no merca-do ele constitui o alicerce que permite executar os outros produ-tos visando a alta performance escalabilidade e seguranccedila para o serviccedilo dos clientes

Robustez no entanto natildeo eacute si-nocircnimo de dificuldade de instala-ccedilatildeo execuccedilatildeo e utilizaccedilatildeo Caso o servidor jaacute possua uma maacutequina virtual Java instalada e confi-gurada basta descompactar os pacotes dos componentes disponiacuteveis no site de proje-tos do JBoss[1] Em seguida vaacute ateacute o subdiretoacuterio bin dentro do diretoacuterio de ins-talaccedilatildeo do JBoss e execute o comando run (em sistemas Windowsreg) ou runsh (em Linux Solaris ou outras va-riantes de Unix) Feito isso o JBoss estaraacute pronto para a instalaccedilatildeo dos seus aplica-tivos Java EE Eacute claro que poderaacute haver necessidade de instalaccedilatildeo de recursos de bancos de dados (Datasour-ces) ou filas JMS Nesse caso e se houver maior interesse informaccedilotildees a respeito destes recursos estatildeo disponiacuteveis na documentaccedilatildeo gratuita do produto

JBoss HibernateA tarefa de construir aplicaccedilotildees Java que se comuniquem com bancos de dados pode ser extremamente facilitada com o uso de uma fer-ramenta ldquomodelo-relacionalrdquo ou ORM como o Hibernate Dentre suas inuacutemeras vantagens podemos citar o fato de que todo o desen-volvimento passa a ser de fato orientado a objetos Isso significa que comandos SQL como insert into update e outros pertencem ao passado dando lugar a procedi-mentos ocorridos inteiramente no ambiente da aplicaccedilatildeo cria-se uma estrutura baseada em um objeto do tipo ldquoclienterdquo e solicita-se que um recurso de sessatildeo (SessionFactory) o salve Nesse momento o Hiber-nate entre suas vaacuterias funccedilotildees conhece a relaccedilatildeo entre o mode-lo de objetos e as informaccedilotildees da estrutura de tabelas do banco de dados Sendo assim caberaacute a ele natildeo mais ao desenvolvedor a ta-refa aacuterdua de lidar com a falta de produtividade da linguagem SQL

a todo momento durante a cons-truccedilatildeo de sistemas

Essa caracteriacutestica do Hibernate tambeacutem eacute fundamental para que as aplicaccedilotildees sejam independentes do servidor de banco de dados Desse modo pode-se trocar de sistema ge-renciador de banco sem aquela antiga preocupaccedilatildeo com o funcionamento de instruccedilotildees SQL em diferentes bancos de dados Portabilidade de fornecedores de bancos de dados e produtividade no desenvolvimento de aplicaccedilotildees satildeo importantes para termos respostas raacutepidas agraves deman-das ocasionadas por uma arquitetura orientada para o serviccedilo

JBoss SEAMQuando algueacutem criticava o Java no passado um dos motivos era o grande nuacutemero de camadas de componentes para realizar uma operaccedilatildeo Em alguns casos o exa-gero de implementaccedilatildeo dos pa-drotildees de projeto (design patterns) ocasionava uma arquitetura com-

Figura 1 Ambiente de projeto de processos do JBoss jBPM

copy Linux New Media do Brasil Editora Ltda

38 httpwwwlinuxmagazinecombr

CAPA | SOA com JBoss

plexa e aplicaccedilotildees sujeitas a erros claacutessicos Pessoalmente ao longo de anos prestando consultoria em frameworks sofisticados perdi a conta de quantas vezes nossa equi-pe encontrou problemas ao fechar conexotildees de bancos de dados ou invocar sem necessidade a consulta de contexto de objetos etc

O Java evoluiu muitiacutessimo nos uacuteltimos anos permitindo a criaccedilatildeo de recursos muito mais estaacuteveis e modernos O resultado foi o surgi-mento de frameworks como o JBoss Seam que reuacutenem em uma uacutenica soluccedilatildeo todo o necessaacuterio para criar aplicaccedilotildees corporativas nos mode-los Web 20 e aderentes a SOA O Seam utiliza como infra-estrutura tecnologias estabelecidas como o Enterprise Java Beans 30 e Java Server Faces aleacutem de toda a riqueza proporcionada pelo Ajax

JBoss jBPMO JBoss jBPM eacute um projeto que resulta em um produto muito mais que em uma soluccedilatildeo de

BPMS (Business Process Manage-ment System) Ele satisfaz tanto aos analistas de negoacutecios quanto aos engenheiros de software pois muito mais que oferecer uma fer-ramenta de desenho para modelar negoacutecios e serviccedilos possui um framework completo para geren-ciamento monitoraccedilatildeo e controle de todas as fases dos fluxos dentro do processo

Como novidade as proacuteximas versotildees do jBPM devem trazer a implementaccedilatildeo do conceito PVM (Process Virtual Machine ndash Maacutequina Virtual de Processos) que em resumo eacute um framework de maacutequina de estado Poreacutem o propoacutesito da PVM vai muito aleacutem disso permite por exemplo abs-trair a linguagem de composiccedilatildeo do desenho de processos Com isso espera-se poder ter inuacutemeras linguagens para definiccedilatildeo como BPEL jPDL XPDL e Seam Page Flow A PVM seraacute capaz de rende-rizar de forma visual os processos definidos independente da lin-guagem empregada

Entre as caracteriacutesticas principais do JBPM estaacute sua possibilidade de execuccedilatildeo sobre qualquer servidor de aplicaccedilotildees Java ou alternati-vamente como serviccedilo Java standalone ndash sem um servidor de aplicaccedilotildees Tambeacutem pode manter os dados a respeito de versotildees e execuccedilotildees dos processos em qualquer banco de dados A figura 1 mostra uma visatildeo do ambiente de projeto e gerenciamento do JBoss jBPM

JBoss RulesO JBoss Rules ou Drools (seu nome na versatildeo co-munitaacuteria) eacute um produto notaacutevel cujas principais caracteriacutesticas satildeo

baixo custo de suporte e au-secircncia de custo de licenccedilas como seus concorrentes

marcante evoluccedilatildeo de versatildeo para versatildeo com estabilidade confiaacutevel

membros brasileiros na equipe de desenvolvimento

Sobre a motivaccedilatildeo para utilizar esse software eacute importante notar que as regras de negoacutecios satildeo os ativos mais alterados dentro de uma arquitetura SOA Respostas raacutepidas e cenaacuterios especiais podem ser alcanccedilados com facilidade separando a maioria das regras de coacutedigos de infra-estrutura e a aplicaccedilatildeo propriamente dita

Realizar alteraccedilotildees em uma aplicaccedilatildeo Java muitas vezes pode ocasionar a perda de tempo para testar novamente todas as partes afetadas pela mudanccedila da rede Poreacutem esse natildeo eacute o grande pro-blema muitos ambientes criacuteticos de produccedilatildeo podem ter a neces-sidade de reinicializaccedilatildeo Usando JBoss Rules a alteraccedilatildeo de uma regra exigiria apenas a alteraccedilatildeo

Figura 2 O editor de regras do JBoss Rules oferece suporte a DSLs em portuguecircs

copy Linux New Media do Brasil Editora Ltda

39

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

do arquivo dessa regra sem a ne-cessidade de tocar no nuacutecleo da aplicaccedilatildeo economizando assim tempo e parte dos testes

As regras de negoacutecio tambeacutem podem possuir seus idiomas proacute-prios ndash um conceito chamado de Domain Specific Language ou DLS que nos permite o uso de jargotildees idiomas expressotildees e dialetos de negoacutecio para compor nossas regras Assim fica mais faacutecil os analistas de negoacutecios comporem as regras no idioma portuguecircs brasileiro

O JBoss Rules pode ser embar-cado em soluccedilotildees de mercado as-sim como executado em qualquer servidor de aplicaccedilotildees Java

Os desenvolvedores tambeacutem dispotildeem de plugins nativos para o Eclipse[2] que permitem o de-senho e o desenvolvimento da escrita de regras O JBoss Rules tambeacutem suporta o desenho de re-gras por meio de diagramas como fluxos de regras Esse recurso tem o nome de RulesFlow e pode ser um guia visual para a execuccedilatildeo de suas regras de negoacutecio ou ajudar a visualizar como possiacutevel orquestrar serviccedilos atraveacutes de regras de ne-goacutecios As figuras 2 e 3 mostram respectivamente o editor de regras em modo de coacutedigo e o ambiente de desenho do RulesFlow

JBoss ESBEm agosto de 2007 a nova versatildeo do JBoss ESB trouxe vaacuterias inova-ccedilotildees e melhorias que fizeram com que seu posicionamento antes ligeiramente atrasado em relaccedilatildeo aos concorrentes de Coacutedigo Aber-to (Apache Service Mix e Mule principalmente) superasse essas alternativas Agora o JBoss ESB compete de igual para igual com soluccedilotildees de fornecedores como BEA Oracle e IBM

O conceito de ESB (Enterprise Service Bus) em termos gerais significa ser o barramento para os serviccedilos que a empresa possui Eacute nele que credenciais de seguran-ccedila single-sign on orquestraccedilatildeo e outras atividades acontecem A questatildeo nesse caso eacute que mui-tos ESBs de mercado pregam que um serviccedilo somente pode ser mascarado ou exposto por meio de um Web Service essa obriga-toriedade no entanto natildeo existe no JBoss ESB jaacute que como prin-cipal diferencial ele ldquoconversardquo com vaacuterios protocolos de registros de serviccedilos

Imagine poder considerar a ge-raccedilatildeo de um arquivo csv vindo do ERP ndash um evento suficiente para disparar vaacuterias atividades dentro da empresa como transformar a

representaccedilatildeo se-parada por virgulas em XML A partir desse XML eacute pos-siacutevel criar objetos Java publicando a partir destes infor-maccedilotildees 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-sas satildeo possiacuteveis com o JBoss ESB

ConclusotildeesEste artigo natildeo tem como objetivo fazer propaganda das soluccedilotildees da Red Hat mas mostrar como essas ferramentas compotildeem uma ofer-ta interessante e altamente capaz de fornecer uma infra-estrutura adequada agrave pratica da SOA em qualquer empresa

O uso dos produtos descritos neste artigo natildeo requer o preenchi-mento de formulaacuterios ou a compra de licenccedilas pois tratam-se todos de Softwares Livres Caso seja ne-cessaacuterio conformar o serviccedilo a um SLA obter garantia ou suporte eacute possiacutevel tambeacutem contratar esses serviccedilos de forma especializada

No Brasil esse modelo parece ser o mais racional jaacute que somente apoacutes investimentos em estudos de viabilidade e adequaccedilatildeo as em-presas escolhem se e como iratildeo contratar suporte

Mais informaccedilotildees

[1] JBoss httpwwwjbossorgprojects

[2] Eclipse httpwwweclipseorg

Figura 3 Interface do editor do Rules Flow que permite o desenho de regras de forma visual

copy Linux New Media do Brasil Editora Ltda

Irum Shahid ndash wwwsxchu

40

CA

PA

httpwwwlinuxmagazinecombr

O desenvolvimento de aplicaccedilotildees e a SOA

Clientes espalhados servidores distribuiacutedos

Como novo paradigma a SOA requer algumas mudanccedilas profundas na forma de projetar implementar e organizar aplicaccedilotildees corporativaspor Antocircnio Godinho

Quando uma nova tecnologia eacute introduzida no mercado uma das principais preocu-

paccedilotildees de qualquer gerente de desenvolvimento eacute perguntar-se ldquoDevo adotar a nova arquiteturardquo ldquoQuais benefiacutecios essa nova soluccedilatildeo traz ao meu ambienterdquo ldquoComo co-meccedilo o processo de adoccedilatildeo da SOA (Service Oriented Architecture)rdquo ldquoO que fazer com as aplicaccedilotildees que jaacute exis-temrdquo e ldquoComo desenvolver aplicaccedilotildees voltadas ao novo ambienterdquo

Avaliar se determinada arqui-tetura ou soluccedilatildeo traz benefiacutecios para nosso ambiente eacute funda-mental Para analisar a primeira questatildeo acima vamos definir al-gumas caracteriacutesticas da arquite-tura orientada a serviccedilos

PrinciacutepiosA base da SOA eacute a definiccedilatildeo do ser-viccedilo que seraacute fornecido Esse servi-ccedilo eacute exposto para seu usuaacuterio com funccedilotildees e interfaces bem definidas eacute independente do consumidor do serviccedilo pode estar codificado em qualquer linguagem e ser executado em qualquer combinaccedilatildeo de plata-forma ou sistema operacional e a in-formaccedilatildeo sobre esse serviccedilo pode ser obtida a partir de algum diretoacuterio na rede Como consequumlecircncia eacute possiacutevel substituir um serviccedilo por uma nova versatildeo executada em outra platafor-ma sistema operacional ou lingua-gem sem afetar o consumidor desse serviccedilo como mostra a figura 1

O consumidor do serviccedilo pode ser o usuaacuterio final ou um outro ser-

viccedilo e dentro do contexto da SOA uma aplicaccedilatildeo eacute um conjunto de provedores de serviccedilos colaborativos residentes ou natildeo em uma mesma plataforma ou organizaccedilatildeo Supondo que a empresa possua vaacuterios sistemas ndash entre pacotes sistemas ERP (En-terprise Resource Planning) e desen-volvimento interno e o usuaacuterio final ndash ao fazer uma consulta precisa de dados fornecidos por diversos desses sistemas Entatildeo temos uma situa-ccedilatildeo na qual a arquitetura facilita o ambiente de desenvolvimento per-mitindo a criaccedilatildeo de uma aplicaccedilatildeo composta que utilizaraacute as aplicaccedilotildees jaacute existentes Cada aplicaccedilatildeo existen-te eacute um potencial provedor de um serviccedilo usado pela nova aplicaccedilatildeo composta como na figura 2

Se considerarmos que atualmen-te cada empresa depende de outras dentro do contexto de mundo globa-lizado e que haacute uma sinergia entre aplicaccedilotildees executadas em diferentes empresas podemos ter um quadro em que uma companhia fornece um serviccedilo para outra e nesse caso o usuaacuterio final pode usar diversos serviccedilos fornecidos por mais de uma empresa Aleacutem disso a abordagem SOA permite o desenvolvimento de novos serviccedilos de forma mais raacutepida uma vez que aproveita serviccedilos jaacute exis-tentes e com maturidade e eficiecircncia

Figura 1 Camadas adotadas em SOA

copy Linux New Media do Brasil Editora Ltda

41

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

comprovadas reduzindo o periacuteodo de testes da nova aplicaccedilatildeo

Iniacutecio da adoccedilatildeoConsiderando que resolvemos ado-tar a SOA precisamos responder a segunda pergunta do gerente de desenvolvimento que diz respeito a como comeccedilar o processo de adoccedilatildeo dessa arquitetura

Como em qualquer novo conhe-cimento o primeiro passo eacute difundir a estrateacutegia O melhor modo de fazer isso eacute por meio de oficinas junto agrave equipe nas quais as tendecircncias de mercado satildeo colocadas e eacute realiza-da uma exposiccedilatildeo das tecnologias existentes Eacute importante tambeacutem alinhar a adoccedilatildeo da SOA com as expectativas ou problemas do negoacute-cio de maneira a criar a motivaccedilatildeo necessaacuteria em toda a equipe

Eacute necessaacuterio ainda fazer um mape-amento desses problemas de negoacutecio assim como das melhores praacuteticas do mercado e das vantagens em adquirir pacotes em comparaccedilatildeo com o de-senvolvimento interno e identificar quais os padrotildees mais adequados ao ambiente Conveacutem ressaltar que nes-sa fase eacute bom ter algueacutem externo para fazer a moderaccedilatildeo dessa oficina com o intuito de contar com uma pessoa isenta que possa enxergar o todo e natildeo esteja envolvida com questotildees internas ou departamentais

Aplicaccedilotildees anterioresNo mundo do desenvolvimento jaacute passamos por vaacuterios ciclos de linguagens e arquiteturas Logo eacute natural que a empresa possua sistemas estruturas e linguagens diferentes Essas aplicaccedilotildees con-tecircm dentro de si loacutegicas de negoacutecio desenvolvidas ao longo do tempo e satildeo um ativo muito importante da empresa Eacute natural portanto que a terceira duacutevida venha agrave tona se vamos investir em uma arquitetura SOA o que devemos fazer com as aplicaccedilotildees existentes

Uma das boas no-tiacutecias da SOA eacute que a sua adoccedilatildeo natildeo impli-ca descartar o que foi feito previamente Os primeiros passos para a adoccedilatildeo da arquitetu-ra orientada a serviccedilos satildeo avaliar as aplicaccedilotildees existentes analisar os ser-viccedilos e as funccedilotildees sele-cionar quais devem ser publicadas e de acordo com suas caracteriacutesticas selecionar os conectores adequados

Como vimos o ser-viccedilo precisa estar bem definido e com interfaces claras Se a aplicaccedilatildeo em questatildeo natildeo possui essas caracteriacutesticas eacute preciso usar um conector que as forneccedila como um Resource Adaptor que encapsu-laria uma aplicaccedilatildeo natildeo-conforme na SOA

InterconexatildeoNesse momento comeccedilamos a ver mais um item importante da arquitetura a infra-estrutura de interconexatildeo Ela eacute composta por dois moacutedulos loacutegicos como podemos observar na figura 3 que exibe em mais detalhes o barra-mento de serviccedilos O barramento de serviccedilos conecta todos os fornecedo-res de serviccedilos enquanto o canal de acesso une os usuaacuteriosconsumidores internos e externos aos serviccedilos

Barramento de serviccedilosO barramento de serviccedilos integra vaacuterias entidades de software O moacutedulo prin-cipal eacute o subcomponente de ldquoInterco-nectividade de serviccedilosrdquo que fornece os protocolos e outras funccedilotildees neces-saacuterias para conectar o gerenciamento de canal de acesso aos provedores de serviccedilo bem como os provedores uns aos outros Se eles suportam os proto-colos utilizados na interconectividade

de serviccedilos eles podem se comunicar diretamente entre si como mostrado nas conexotildees A da figura 3 Os proto-colos podem incluir por exemplo mensageria e SOAP (Simple Object Access Protocol)

Nesse caso estamos abordando a questatildeo do reaproveitamento das apli-caccedilotildees existentes ndash muitas vezes elas natildeo suportam os protocolos escolhidos sendo chamadas de ldquonatildeo-conformesrdquo A adaptaccedilatildeo (encapsulamento) eacute exe-cutada por um conector como mos-trado na figura 3 pela conexatildeo B O conector converte o protocolo no que for necessaacuterio para acessar a aplicaccedilatildeo ndash e vice-versa na saiacuteda

Uma variedade de serviccedilos baacutesicos eacute necessaacuteria para que o barramento de serviccedilos seja facilmente usado Eles abrangem dois grandes grupos ldquoUtilitaacuteriosrdquo responsaacutevel pelo dire-toacuterio de serviccedilos tradutores de coacutedi-go formatadores de mensagem e ldquoGerenciamentordquo responsaacutevel pela monitoraccedilatildeo ndash incluindo relatoacuterio de erros ndash configuraccedilatildeo e seguranccedila Os subcomponentes do serviccedilo de inter-conectividade e os conectores fariam a interface com a loacutegica comum as-sim como os provedores de serviccedilo e o componente de gerenciamento canal de acesso como mostrado nas conexotildees C da figura 3

Figura 2 O consumidor acessa a aplicaccedilatildeo-serviccedilo fornecida pelos provedores distribuiacutedos

copy Linux New Media do Brasil Editora Ltda

42 httpwwwlinuxmagazinecombr

CAPA | Desenvolvimento e SOA

Camada fiacutesicaNote que ateacute o momento falamos apenas da camada loacutegica Natural-mente haacute uma camada fiacutesica que pode ser implementada de forma distribuiacuteda ou centralizada usando uma abordagem de concentrador Na abordagem distribuiacuteda os subcom-ponentes do barramento de serviccedilos estatildeo espalhados pelos componentes e a rede fornece as interconexotildees fiacute-sicas necessaacuterias Essa abordagem eacute na verdade uma seacuterie de conexotildees ponto-a-ponto que pode rapida-mente aumentar a complexidade caso existam mais que apenas um ou dois protocolos ou um nuacutemero pequeno de serviccedilos Para montar um ambiente mais administraacutevel a abordagem com a utilizaccedilatildeo de um concentrador eacute melhor

Com a abordagem do concentrador o barramento de serviccedilos eacute implemen-tado em um servidor independente ou em um conjunto de servidores Os pro-vedores de serviccedilos podem implementar quaisquer dos protocolos suportados pelo subcomponente de interconec-tividade de serviccedilos Requisiccedilotildees de entrada satildeo roteadas para o serviccedilo de destino apropriado O concentrador age entatildeo como um comutador Pro-tocolos diferentes podem ser usados entre as conexotildees de origem e destino o subcomponente ldquoInterconectividade de Serviccedilosrdquo no concentrador executa a conversatildeo entre ambos

Com essa estrutura resolvemos a questatildeo das aplicaccedilotildees existentes do ponto de vista de infra-estrutura interna E o contato com o usuaacuterio Para trabalharmos esta parte vamos

ver com mais detalhes a outra camada da infra-estrutura de interconexatildeo mostrada na figura 4

UsuaacuterioO gerenciamento de canal de acesso se conecta ao barramento de serviccedilos do mesmo modo que os provedores de serviccedilo Ele executa duas funccedilotildees ou conjuntos de funccedilotildees ldquoGerencia-mento de interface de usuaacuteriordquo que trata da interface para os usuaacuterios ou consumidores de serviccedilo como na-vegadores web estaccedilotildees de trabalho com clientes inteligentes e serviccedilos web e ldquoMapeamento e definiccedilatildeo do serviccedilordquo que identifica os serviccedilos disponiacuteveis e conecta as requisiccedilotildees de entrada aos provedores de serviccedilo usando as interfaces expostas

O mapeamento e a definiccedilatildeo do serviccedilo podem ser bem simples ndash ape-nas um ponteiro para o provedor do serviccedilo Um processo completo de negoacutecio no entando pode necessitar do uso de vaacuterios provedores de servi-ccedilo e as sequumlecircncias nas quais eles satildeo invocados podem variar dependen-do do resultado das requisiccedilotildees a um provedor de serviccedilo especiacutefico

Orquestraccedilatildeo e barramentoA orquestraccedilatildeo pode ser feita obviamen-te escrevendo-se o provedor de serviccedilo externo que implementa as regras de negoacutecio para o processo em questatildeo e invoca os provedores internos quando necessaacuterio Contudo jaacute existem vaacuterios produtos para apoiar a criaccedilatildeo 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 orquestraccedilatildeo disponiacuteveis dentro desses produtos per-mitem criar o processo completo pro-vendo interfaces graacuteficas para identificar os provedores internos necessaacuterios e as regras de negoacutecios a serem seguidas durante o processo

Figura 3 A infra-estrutura de serviccedilos em SOA transita pelo barramento de serviccedilos ou ESB

Figura 4 As conexotildees entre provedores internos e externos compotildeem a outra camada da estrutura de interconexatildeo

copy Linux New Media do Brasil Editora Ltda

43

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

Desenvolvimento de aplicaccedilotildeesFinalmente vamos responder a uacutel-tima pergunta do gerente de desen-volvimento ldquocomo desenvolver apli-caccedilotildees voltadas ao novo ambienterdquo Caso se trate de uma nova aplicaccedilatildeo o ideal eacute utilizar uma ferramenta que possua um ambiente completo e raacutepido para desenvolvimento e im-plementaccedilatildeo de aplicativos permita essa implementaccedilatildeo com agilidade de novos processos e encapsule o co-nhecimento dos negoacutecios sob a forma de componentes reutilizaacuteveis

Um dos pontos fundamentais da SOA eacute que o serviccedilo pode ser execu-tado em qualquer plataforma sistema operacional ou linguagem Desse modo ao desenvolver um serviccedilo o desenvol-vedor natildeo deveria se preocupar com caracteriacutesticas de uma linguagem ou plataforma especiacutefica Esses serviccedilos devem ser desenvolvidos rapidamen-te e com facilidade em conjunto com analistas de negoacutecios e usuaacuterios finais utilizando a terminologia e o vocabulaacuterio compreendidos por eles O importan-te eacute se preocupar com o negoacutecio que seraacute atendido e que exista um niacutevel de abstraccedilatildeo entre a loacutegica de negoacutecio e a plataforma ou linguagem na qual o serviccedilo seraacute executado

Note que haacute um ambiente (ldquoMode-lador do sistemardquo) no qual o negoacutecio eacute modelado O construtor traduz o negoacutecio para o ambiente final com todas as ca-racteriacutesticas corporativas para assegurar a integridade da aplicaccedilatildeo modelada

O modelador do sistema deve oferecer a flexibilidade de adicionar interfaces de usuaacuterio final ao modelo que podem ser implementadas em uma ampla gama de ambientes

Governanccedila e seguranccedilaUma vez que tenham sido realizados os levantamentos e as oficinas a equi-pe estaacute motivada e os objetivos estatildeo

claros eacute impor-tante garantir que a meacutetrica baacutesica da arquitetura orientada a ser-viccedilos seja medida e explorada Um dos principais atri-butos da SOA eacute a capacidade de reutilizar serviccedilos existentes em no-vas aplicaccedilotildees ndash e eacute necessaacuterio man-ter esse cataacutelogo bem definido

Para auxiliar nesse controle existem diversas ferramentas disponiacute-veis que utilizam definiccedilotildees como UDDI (Universal Descrip-

tion Discovery and Integra-tion) ndash registro independente de plataforma baseado em XML cujo objetivo eacute listar serviccedilos acessiacuteveis pela Web Trata-se de uma iniciativa aberta que permite agraves empre-sas publicarem listas de servi-ccedilos acessaacute-los e descrevecirc-los possibilitando que aplicaccedilotildees possam interagir A UDDI foi originalmente proposta e pro-jetada para ser interligada por mensagens SOAP provendo acesso a documentos WSDL com as descriccedilotildees de protoco-los e formatos requeridos para interaccedilatildeo com os serviccedilos web listados no diretoacuterio

ebXML (Electronic Business using eXtensible Markup Lan-guage) ndash nada mais que uma grande biblioteca contendo informaccedilotildees sobre os serviccedilos disponiacuteveis e como acessaacute-los Sua infra-estrutura eacute aberta e baseada em XML habilitando o uso global das informaccedilotildees de forma interoperaacutevel segura e consistente Incorpora cinco camadas de definiccedilotildees de da-

dos (i) processos de negoacutecios (ii) protocolos de colaboraccedilatildeo (iii) componentes de dados prin-cipais (iv) mensageria e (v) re-gistro e repositoacuterios

Consideraccedilotildees finaisA adoccedilatildeo da SOA tem aumenta-do rapidamente Aleacutem de reunir muitas vantagens em um ambien-te distribuiacutedo de aplicaccedilotildees que eacute a nossa realidade hoje haacute diversas ferramentas disponiacuteveis no mercado que facilitam o seu uso Com pro-fundas diferenciaccedilotildees em relaccedilatildeo ao desenvolvimento tradicional de sistemas eacute necessaacuterio planejar bas-tante sua introduccedilatildeo junto agraves equi-pes de desenvolvimento e contar com apoio externo agrave empresa para que a mensagem seja absorvida com mais facilidade Com tudo isso e considerando as respostas ao gerente de desenvolvimento a arquitetura orientada a serviccedilos eacute um excelente caminho para a integraccedilatildeo de tran-saccedilotildees distribuiacutedas

Sobre o autorAntonio Godinho eacute arquiteto de sistemas na Unisys Brasil

Figura 5 O ESB realiza a comunicaccedilatildeo entre os canais de acesso de muacuteltiplos grupos de provedores que podem representar diferentes departamentos empresas etc

copy Linux New Media do Brasil Editora Ltda

Andrzej Gdula ndash sxchu

44 httpwwwlinuxmagazinecombr

A faacutebrica de software corporativo NovaForge

Quase faz cafeacuteCom o NovaForge eacute muito praacutetico hospedar gerenciar e testar softwares em escala corporativapor Pablo Hess

Sistemas de desenvolvimento distribuiacutedo de software satildeo altamente produtivos Em-

pregados amplamente por projetos de Software Livre sistemas como git[1] CVS[2][3] SVN[3][4] Mer-curial[5] e Bitkeeper[6] apenas para citar os mais famosos possibilitam o desenvolvimento colaborativo da grande maioria dos softwares de Coacute-digo Aberto desde o kernel Linux ateacute sofisticados ambientes desktop como Gnome e KDE

Uma interessante alternativa agrave manutenccedilatildeo de um servidor de de-senvolvimento ldquodentro de casardquo eacute o uso de repositoacuterios de projetos de software cujo exemplo mais famoso eacute o SourceForge[7] que abriga ou jaacute abrigou inuacutemeros projetos de Coacutedigo Aberto desde os mais simples e de uso restrito a uma aacuterea de atuaccedilatildeo ateacute os atuais campeotildees de atividade[8] o ERP Openbravo[9] o software de comparti-lhamento Azureus[10] e o programa de graacuteficos vetoriais Inkscape[11]

No entanto empresas que de-sejem gerenciar seus projetos de software corporativo de forma centralizada com testes e anaacutelises de desempenho durante a noite aleacutem da geraccedilatildeo automatizada de relatoacuterios tecircm como uacutenica alter-nativa o emprego de um servidor proacuteprio para essas tarefas Ou me-lhor tinham

No intuito de oferecer uma al-ternativa de caraacuteter corporativo que forneccedila aos projetos toda a infra-estrutura para a criaccedilatildeo e ge-renciamento a francesa Bull[12] lanccedilou o NovaForge[13]

CorporativoEm seu whitepaper a Bull afirma ter ldquoempregado no NovaForge seus conhecimentos metodoloacutegi-cos e sua experiecircncia na condu-ccedilatildeo e realizaccedilatildeo de projetos de desenvolvimento e integraccedilatildeo de sistemas numa plataforma indus-trial de produccedilatildeordquo Para os desen-

volvedores que desejem hospedar seus projetos nesse sistema isso significa uma maior base de ferra-mentas natildeo apenas para gerenciar o coacutedigo-fonte do projeto mas o projeto em si assim como toda a documentaccedilatildeo relevante

O NovaForge de fato facilita o gerenciamento de projetos de software de escala industrial de formas que o SourceForge ou mes-mo o CodePlex[14] da Microsoft jamais pretenderam fazer E a melhor parte o sistema eacute inteira-mente voltado ao Coacutedigo Aberto e padrotildees abertos

De acordo com a Bull os prin-ciacutepios do NovaForge satildeo capitalizaccedilatildeo empregar fer-

ramentas de desenvolvimen-to qualificadas e metodolo-gias aprovadas assim como a reutilizaccedilatildeo dos trabalhos jaacute realizados

compartilhamento compar-tilhar a mesma visatildeo que os

CA

PA

copy Linux New Media do Brasil Editora Ltda

45

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

projetos independen-temente da localizaccedilatildeo de seus participantes e compartilhando tam-beacutem o repositoacuterio de documentaccedilatildeo

flexibilidade o Nova-Forge foi concebido de forma modular para incluir ferramentas par-ticulares e assim res-ponder aos diferentes niacuteveis de atividade dos projetos tanto hospedados sobre uma infra-estrutura de rede de alto desem-penho quanto instalado no cliente

Eacute interessante notar que o terceiro item dessa lista jaacute dei-xa clara a inclinaccedilatildeo da plata-forma aos novos princiacutepios de software como serviccedilo

Processo de desenvolvimentoSob o NovaForge as diferentes etapas de desenvolvimento de software (figura 1) satildeo realizadas na seguinte ordem gestatildeo das exigecircncias da apli-

caccedilatildeo a ser desenvolvida exportaccedilatildeo das exigecircncias para a fer-

ramenta de modelagem UML geraccedilatildeo do coacutedigo com auxiacute-

lio do ambiente integrado de desenvolvimento

gerenciamento do coacutedigo-fonte e de suas versotildees

integraccedilatildeo e construccedilatildeo da apli-caccedilatildeo com uso dos repositoacuterios de integraccedilatildeo e das ferramentas de integraccedilatildeo contiacutenua

testes funcionais frente agraves exigecircn-cias e gerenciamento automaacuteti-co de falhas em caso de erros e falha de conformidade

As vantagens do uso da infra- estrutura do sistema para criaccedilatildeo de aplicaccedilotildees corporativas portanto podem ser listadas

ambiente de desenvolvimento pa-dronizado e com ferramentas po-derosas que permite mascarar para o desenvolvedor a complexidade da linguagem Java subjacente

o ganho de produtividade oferecido pela escolha das ferramentas mais adequadas pemite a geraccedilatildeo de partes do coacutedigo por meio de tarefas recorrentes de produccedilatildeo

a escolha de ferramentas de Coacute-digo Aberto robustas poderosas e aderentes aos padrotildees de de-senvolvimento e comunicaccedilatildeo utilizadas em diversos projetos e compatiacuteveis com a maioria dos sistemas operacionais

Seccedilotildees do desenvolvimentoO desenvolvimento no NovaForge eacute dividido em dois ambientes um destinado agrave concepccedilatildeo do projeto

e outro ndash Bull SOA IDE ndash feito sobre uma base de blocos de Coacute-digo Aberto como o Eclipse por exemplo enriquecidos pela proacute-pria Bull

O primeiro ambiente permite a geraccedilatildeo de relatoacuterios detalhados de concepccedilatildeo a partir dos diagra-mas UML e das regras de gestatildeo associadas aos casos de uso aleacutem das etapas de testes e validaccedilatildeo dos moacutedulos O segundo por sua vez oferece uma interface com a pri-meira e integra as ferramentas de geraccedilatildeo de coacutedigo ndash Velocity por exemplo ndash assim como uma seacuterie de plugins descritos a seguir

Ambiente de concepccedilatildeoO ambiente de concepccedilatildeo (a ferra-menta de modelagem Sprarx Sys-tem Enterprise Architect) natildeo exige a presenccedila de qualquer moacutedulo ou

Figura 1 Diagrama das etapas de desenvolvimento de software no NovaForge

copy Linux New Media do Brasil Editora Ltda

46 httpwwwlinuxmagazinecombr

CAPA | NovaForge

funcionalidade por parte do cliente Ele suporta UML 20 salva o modelo num banco de dados ou num arquivo e por fim exporta-o em XMI No entanto tambeacutem eacute possiacutevel trabalhar com diversos outras ferramentas como Rose XDE RAD Together MEGA Objecteering e PowerAMC por exemplo O objetivo afinal eacute simplesmente fornecer a entrada para a geraccedilatildeo de coacutedigo para im-plementar a arquitetura orientada ao modelo ou MDA

Dessa forma a cadeia de concep-ccedilatildeo do sistema formaliza a passagem do modelo de anaacutelise UML a um de concepccedilatildeo e implementaccedilatildeo Aleacutem das orientaccedilotildees de concepccedilatildeo e das normas de implementaccedilatildeo apoacutes a definiccedilatildeo da arquitetura de processador de destino para a aplicaccedilatildeo jaacute eacute possiacutevel gerar uma parte do coacutedigo da aplicaccedilatildeo ndash com o mecanismo de tagged value ndash fi-gura 2 Eacute importante notar tambeacutem

que o coacutedigo gerado natildeo depende de qualquer classe da Bull pois eacute puro JavaJ2EE

Ambiente de desenvolvimentoOs principais objetivos de um am-biente de desenvolvimento satildeo au-mentar a produtividade por meio de ferramentas para projetar pro-gramar e instalar aplicaccedilotildees J2EE e permitir o desenvolvimento co-laborativo Para isso eacute necessaacuterio tambeacutem observar as boas praacuteticas permitindo a geraccedilatildeo do coacutedigo de certos componentes da aplicaccedilatildeo e tambeacutem a criaccedilatildeo de uma corrente completa desde os objetos ateacute a base de dados incluindo todos os blocos que compotildeem a arquitetura

Por fim o ambiente de progra-maccedilatildeo deve permitir a integraccedilatildeo do desenvolvimento a uma arquitetura orientada a serviccedilos caso necessaacuterio

Isso facilita a chamada e a criaccedilatildeo de serviccedilos referenciados dentro da em-presa por intermeacutedio de assistentes

Nesse sentido a Bull contribui com o projeto Eclipse para melhorar o su-porte a J2EE e ao desenvolvimento de Web Services e processos de ne-goacutecios Aleacutem disso a colaboraccedilatildeo da empresa com o Eclipse visa a permitir acesso a aplicaccedilotildees externas ndash isso eacute natildeo escritas em Java ndash e a bancos de dados por meio de conectores JCA ou de meacutetodos de persistecircncia Uma caracteriacutestica importante eacute a total in-dependecircncia de classes especiacuteficas da Bull com total aderecircncia ao padratildeo J2EE mas ainda com suporte aos fra-meworks mais usados como Struts Spring e Hibernate

UtilizaccedilatildeoOs componentes da plataforma NovaForge portanto podem ser listados como a seguir

Figura 2 O mecanismo de tagged value enriquece as classes UML com as informaccedilotildees adequadas agrave geraccedilatildeo de coacutedigo

copy Linux New Media do Brasil Editora Ltda

47

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

ambiente de desenvolvimento Java Eclipse

ambiente de desenvolvimento J2EE JOPE

plugin Open Source Web Tools

controle de versotildees CVS Subversion

qualidade do coacutedigo Jalopy CheckStyle PMD

testes Unitaacuterios JUnit geraccedilatildeo ANT Maven

Para usar essa estrutura colaborati-va de desenvolvimento eacute necessaacuterio apenas um navegador web O servidor de aplicaccedilatildeo naturalmente tambeacutem eacute obrigatoacuterio e a Bull recomenda o uso do JBoss[15]

Servidor colaborativoO servidor colaborativo de desenvol-vimento fornece a todos os participan-tes do projeto o acesso ao ambiente para realizaccedilatildeo de suas tarefas espe-ciacuteficas de acordo com o papel de cada um (desenvolvedor integrador liacuteder de projeto gerente etc)

O portal utiliza a solu-ccedilatildeo eXo Portal[16] que em sua versatildeo 20 oferece suporte a clientes de rich internet applications (RIA como satildeo mais conhecidos) dentro do proacuteprio navega-dor O NovaForge faz bom uso dos ldquoaplicativos ricosrdquo como mostra a figura 3 incluindo o single sign-on para todos os serviccedilos dispo-nibilizados como comuni-caccedilatildeo desenvolvimento e acesso a documentos por exemplo

GForgeUma das principais fer-ramentas de desenvolvi-mento colaborativo utili-zadas pelo NovaForge eacute

o pacote de Coacutedigo Aberto GFor-ge[17] um gerenciador de proje-tos repleto de funcionalidades Como tal ele centraliza o acesso ao conjunto de ferramentas de gestatildeo e colaboraccedilatildeo necessaacuterias agrave boa realizaccedilatildeo de um projeto de desenvolvimento como por exemplo acesso seguro aos diferentes

moacutedulos de gerenciamento de coacutedigo diretamente a partir da interface web

gerenciamento de documen-tos e suas versotildees

gerenciamento de foacuteruns e listas de discussatildeo

monitoramento das tarefas realizadas pelos usuaacuterios

gerenciamento de falhas e anomalias do projeto com possibilidades ilimitadas em termos de qualificaccedilatildeo das falhas atribuiccedilatildeo a desenvol-vedores de diferentes equipes

gerenciamento de prioridades e outras funccedilotildees

gerenciamento e atribuiccedilatildeo de tarefas aos participantes ao longo de todo o ciclo de de-senvolvimento dos projetos

interface com o CVS ou Sub-version para gestatildeo da segu-ranccedila no que diz respeito ao acesso de escrita e leitura do coacutedigo-fonte do projeto

Servidor de industrializaccedilatildeoO chamado ldquoservidor de industrializa-ccedilatildeordquo eacute uma plataforma de ldquofaacutebrica de receitasrdquo proposta pela Bull com todo o contexto necessaacuterio aos procedimentos e seus testes Seus principais objetivos satildeo a criaccedilatildeo de ldquonightly buildsrdquo a re-alizaccedilatildeo de testes de desempenho afim de garantir o correto funcionamento e dos softwares no momento em que forem finalizados

Figura 3 O NovaForge jaacute utiliza e muito bem as potencialidades dos componentes chamados Rich Internet Applications

copy Linux New Media do Brasil Editora Ltda

48 httpwwwlinuxmagazinecombr

CAPA | NovaForge

A figura 4 demonstra o processo de compilaccedilatildeo dessa etapa Em in-tervalos regulares toda a aplicaccedilatildeo sua documentaccedilatildeo e seus testes unitaacuterios satildeo gerados permitindo que se automatize a anaacutelise da qualidade do coacutedi-

go da aplicaccedilatildeo pelos compo-nentes PMD e CheckStyle

a geraccedilatildeo automaacutetica da apli-caccedilatildeo por comparaccedilatildeo com as uacuteltimas versotildees presentes no gerenciador de configuraccedilotildees a partir do servidor CVS ou Subversion

a geraccedilatildeo automaacutetica da do-cumentaccedilatildeo da aplicaccedilatildeo

a execuccedilatildeo do conjunto de testes unitaacuterios usando os componentes JUnit DBUnit e HTTPUnit com geraccedilatildeo posterior de relatoacuterios

a implementaccedilatildeo da moni-toraccedilatildeo de servidores da do-cumentaccedilatildeo e dos relatoacuterios anteriormente gerados

A cada manhatilde a anaacutelise dos relatoacuterios e resultados do servi-dor de industrializaccedilatildeo oferece ao gerente do projeto um pano-rama absolutamente atualizado do estado funcional do software

e possibilita a criaccedilatildeo de tiacutequetes de falhas pelo Salomeacute-TMF

ConclusotildeesO NovaForge natildeo tem como obje-tivo substituir os repositoacuterios mais tradicionais como o SourceForge mas criar uma verdadeira faacutebrica de software colaborativo de caraacuteter corporativo A linguagem Java por exemplo eacute uma obrigaccedilatildeo o que pode limitar o uso por projetos co-munitaacuterios de espectro geral mas natildeo representa uma restriccedilatildeo aos projetos de software corporativos ndash aliaacutes muito pelo contraacuterio

No momento o NovaForge em-prega 17 ferramentas para gerenciar seus softwares desde o CVS ou Subversion para o coacutedigo-fonte passando pelo GForge no campo do gerenciamento de projetos e documentos e chegando ateacute o Ma-ven para as tarefas automatizadas de industrializaccedilatildeo

Somada ao praacutetico gerencia-mento a garantia de qualidade dos projetos abrigados no NovaForge eacute um importante convite a qualquer organizaccedilatildeo que deseje desenvol-ver projetos de alta qualidade em escala corporativa

Mais informaccedilotildees

[1] Git httpgitorcz

[2] CVS na Wikipeacutedia httpptwikipediaorgwikiCVS

[3] Johannes Ploumltner e Steffen Wendzel ldquoFonte de organizaccedilatildeo httpwwwlinuxmagazinecombrarticlefonte_de_organizacao

[4] Subversion httpsubversiontigrisorg

[5] Mercurial httpwwwseleniccommercurialwiki

[6] Bitkeeper httpwwwbitkeepercom

[7] SourceForge httpsourceforgenet

[8] Ranking de atividade do SourceForge httpsourceforgenettopmostactivephptype=week

[9] Openbravo httpwwwopenbravocom

[10] Azureus httpazureussourceforgenet

[11] Inkscape httpwwwinkscapeorg

[12] Bull httpwwwbullcombr

[13] NovaForge httpwwwnovaforgeorg

[14] Microsoft CodePlex httpwwwcodeplexcom

[15] JBoss httpwwwjbosscom

[16] Portal httpwwwexoplatformcomportalpublicsite

[17] GForge httpgforgeorg

Figura 4 Os testes realizados automaticamente nos nightly builds fornecem vaacuterios dados a respeito do aplicativo

copy Linux New Media do Brasil Editora Ltda

49Linux Magazine 42 | Maio de 2008

TU

TO

RIA

L

Configurando o ambiente de desenvolvimento

Produto importadoSe for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte do ADempiere eacute muito faacutecil usar o poderoso ambiente de desenvolvimento Eclipse para importaacute-lopor Eduardo Montenegro

Chegamos agora agrave terceira parte de nosso tutorial sobre o ADempiere ERP amp CRM

Na uacuteltima ediccedilatildeo[1] fizemos uma pequena adaptaccedilatildeo ao sistema crian-do um novo campo que permitia a entrada de dados pelo usuaacuterio

Agora vamos importar o coacutedigo-fonte do ADempiere no ambiente de desenvolvimento Java Eclipse[2] que iraacute permitir o desenvolvimento de novos recursos no sistema utili-zando programaccedilatildeo

Vale lembrar que o objetivo deste tutorial eacute apresentar algumas carac-teriacutesticas principais do ADempiere sendo impossiacutevel esgotar esse assun-to ou nos aprofundarmos muito em determinados toacutepicos

O ambiente de desenvolvimento padratildeo utilizado pelos desenvolvedo-res do projeto ADempiere eacute o Eclipse Vamos acompanhar os passos neces-saacuterios para instalaccedilatildeo desse ambien-te de desenvolvimento e do plugin Subclipse[3] que utilizaremos para fazer o checkout do projeto do servi-dor SVN no SourceForge[4]

Instalaccedilatildeo do EclipseContinuando a configuraccedilatildeo de nos-so ambiente de desenvolvimento no Ubuntu[5] iremos fazer a instalaccedilatildeo do Eclipse por meio do repositoacuterio de pacotes usando o Synaptic Apoacutes pro-curar o pacote Eclipse basta efetuar a instalaccedilatildeo da forma normal Em segui-da seraacute necessaacuterio iniciaacute-lo para fazer a instalaccedilatildeo do plugin Subclipse

Plugin SubclipseNo menu principal do Eclipse iremos selecionar as opccedilotildees Help e em seguida Software Updates e Find and Install conforme indicado na figura 1

Na proacutexima janela como mostra a figura 2 selecionaremos a opccedilatildeo Search for New Features to Install e depois o botatildeo Next

Na janela seguinte eacute preciso acres-centar uma nova fonte remota de softwares selecionando a opccedilatildeo New Remote Site e digitando na nova janela o nome Subclipse 12x (Eclipse 32+) e a URL httpsubclipsetigrisorgupda-te_12x conforme a figura 3

Em seguida vamos selecionar para a busca a opccedilatildeo que acabou de ser criada na janela (figura 4) Ao ser exibido finalmente o plugin Subclipse (figura 5) deve-se selecionaacute-lo pressionando o botatildeo Finish em seguida

Ao concluir a ins-talaccedilatildeo do plugin o Eclipse precisaraacute ser reiniciado para que pos-sa ser utilizado

Repositoacuterio ADempiereDe volta ao Eclipse selecionaremos o menu Window Open Perspective e Other Na janela exibida na figura 6 deve ser selecionada a opccedilatildeo SVN Re-pository Exploring Na parte esquerda da janela na aba SVN Repository iremos clicar com o botatildeo direito do mouse e adicionar o repositoacuterio do ADempiere conforme demonstrado na figura 7 Seu endereccedilo eacute httpsadempieresvnsour-ceforgenetsvnrootadempiere [4]

Figura 1 A instalaccedilatildeo de novos plugins no Eclipse eacute bem simples

Figura 2 Como o plugin estaacute num novo repositoacuterio devemos acrescentaacute-lo manualmente

Figura 3 Dados do repositoacuterio do ADempiere

copy Linux New Media do Brasil Editora Ltda

50 httpwwwlinuxmagazinecombr

TUTORIAL | Alteraccedilotildees no coacutedigo-fonte do ADempiere

Figura 5 O plugin do Subclipse jaacute pode ser instalado

O projeto do ADempiere estaraacute disponiacutevel no Eclipse possibilitando a navegaccedilatildeo pelos diversos pacotes e arquivos do projeto por meio da aba do lado esquerdo conforme exibido na figura 10

Para executar o projeto a partir do Eclipse resta apenas definir um perfil de execuccedilatildeo que podemos criar com poucos passos 1 selecionar o menu Run e em

seguida Open Run Dialog 2 na janela aberta (figura 11)

selecionar a opccedilatildeo Java Appli-cation no painel esquerdo e pressionar o botatildeo New

3 no campo Name entrar com o nome Adempiere

4 no campo Project utilizan-do o botatildeo Browse selecionar o projeto receacutem-criado

5 finalmente no campo Main Class digitar orgcompiereAdempiere

Agora se pressionarmos o botatildeo Apply e em seguida selecionarmos Run o ADempiere seraacute executado a partir do Eclipse

ConclusatildeoAo final desse procedimento o am-biente de desenvolvimento do ADem-piere estaraacute configurado Com isso no proacuteximo artigo poderemos importar o projeto do ADempiereLBR[6] que eacute complementar ao LBR e acrescenta diversos recursos para a operaccedilatildeo do ADempiere no Brasil

Na proacutexima ediccedilatildeo veremos tam-beacutem algumas das principais caracte-riacutesticas do desenvolvimento de novos recursos para o ADempiere utilizando a linguagem Java

Jaacute com as informaccedilotildees do reposi-toacuterio no Eclipse iremos navegar ateacute a pasta Tags e em seguida clicando com o botatildeo direito do mouse em cima da pasta adempiere340 selecionaremos a opccedilatildeo Checkout (figura 8)

Na janela mostrada em seguida para a operaccedilatildeo de checkout basta confirmar a operaccedilatildeo selecionando os bototildees Next e em seguida Finish Esse passo pode demorar um pouco pois seratildeo copiados todos os arquivos do projeto ADempiere para a maacutequina local

De dentroVamos agora executar o ADempiere de dentro do Eclipse Selecionan-do no menu novamente as opccedilotildees Window Open Perspective e Other iremos voltar para a perspectiva Java (default) (figura 9)

Figura 4 Seleccedilatildeo do novo repositoacuterio configurado como fonte do plugin

Figura 6 O Subclipse permite a impor-taccedilatildeo de dados a partir de um repositoacuterio Subversion

Figura 7 Adicionando um repositoacuterio Subversion

copy Linux New Media do Brasil Editora Ltda

51Linux Magazine 42 | Maio de 2008

Mais informaccedilotildees

[1] Eduardo Montenegro ldquoConfiguraccedilatildeo do ADempiere ndash Faccedila a sua gestatildeordquo httpwwwlinuxmagazinecombrarticle1649

[2] Eclipse httpwwweclipseorg

[3] Subclipsehttpsubclipsetigrisorg

[4] Repositoacuterio do ADempiere no SourceForge httpsadempieresvnsourceforgenetsvnrootadempiere

[5] Ubuntu httpwwwubuntucom

[6] Projeto AdempiereLBR no Sourceforge httpsfnetprojectsadempierelbr

[7] Site do Projeto ADempiere httpwwwadempierecom

[8] Wiki do Projeto Adempiere httpwwwadempierecomwiki

[9] Foacuterum do ADempiere em portuguecircs httpforumkenoscombr

Figura 8 Realizaccedilatildeo do che-ckout no repositoacuterio

Figura 9 Com a perspectiva Java eacute pos-siacutevel trabalhar em projetos nessa linguagem como o ADempiere

Figura 10 Jaacute eacute possiacutevel navegar pelo coacutedigo do ADempiere

Figura 11 Criaccedilatildeo de um novo perfil para o projeto do ADempiere no Eclipse

copy Linux New Media do Brasil Editora Ltda

52 httpwwwlinuxmagazinecombr

Deacutecima primeira aula de preparaccedilatildeo LPIC-2

LPI niacutevel 2 Aula 11Configuraccedilatildeo do servidor BIND criaccedilatildeo e manutenccedilatildeo de arquivos de zonas e ferramentas relacionadaspor Luciano Siqueira

22071 Configuraccedilatildeo baacutesica de um servidor DNS Um servidor DNS ndash Domain Name System ndash converte remotamente no-mes de maacutequinas para seus respectivos nuacutemeros IP e vice-versa A correspon-decircncia entre o nome e o nuacutemero IP eacute chamada mapeamento e organizado de forma hieraacuterquica

Em outras palavras um domiacutenio como howtoslinuxcom seraacute quebrado e resolvido comeccedilando por com de-pois linux e finalmente howtos ndash itens chamados respectivamente top-level domain second-level domain e third-level domain Eacute nessa ordem que o endereccedilo IP para howtoslinuxcom seraacute obtido Os top-level domains mais comuns satildeo com org e net mas existem vaacuterios outros

O programa servidor responsaacutevel pelo mapeamento eacute o usrsbinnamed que eacute parte do pacote cha-mado BIND cujas especificaccedilotildees

satildeo definidas pelo Internet Systems Consortium Seu arquivo de confi-guraccedilatildeo eacute namedconf que pode ser encontrado no diretoacuterio etc ou etcbind Em versotildees do BIND anteriores agrave 8 o arquivo de configu-raccedilatildeo chama-se namedboot e possui sintaxe diferente Arquivos anteriores agrave versatildeo 8 natildeo funcionaratildeo nesta ou na 9 Para converter arquivos de con-figuraccedilatildeo de versotildees anteriores para a 8 pode ser utilizado o comando named-bootconf

Servidor caching-onlyO DNS caching-only eacute a mais simples implementaccedilatildeo de um servidor DNS Ele apenas requisita a resoluccedilatildeo do nome junto a um servidor externo e armazena a resposta para agilizar futuras requisiccedilotildees Exemplo de na-medconf para um servidor de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

Zonas convencionais tecircm seccedilotildees definidas de forma semelhante (exem-plo zone ldquolocalhost IN rdquo) e eacute importante que para cada uma delas seja especificada uma zona para DNS reverso (exemplo zone ldquo00127in-addrarpa IN rdquo) O DNS reverso eacute responsaacutevel por converter nuacutemeros IP para seus respectivos nomes

Voltando ao exemplo na seccedilatildeo options eacute indicado onde estatildeo os arquivos de zonas (directory ldquovarnamedrdquo) Estaacute definido apenas o mapeamento para ldquordquo que seraacute consultado se nenhum outro ma-peamento for encontrado Eacute este o caso do exemplo

No arquivo varnamedroothints haacute uma lista com os principais ser-vidores de nomes da Internet Este arquivo eacute gerado atraveacutes do comando

Toacutepico 207 DNS

TU

TO

RIA

L

Irum_Shahid - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

53

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

dig eroot-serversnet ns Como os endereccedilos de alguns servidores po-dem mudar eacute aconselhaacutevel atualizar o arquivo mensalmente O exemplo 1 mostra um trecho do arquivo varnamedroothints

Apoacutes alterar os arquivos de con-figuraccedilatildeo seraacute necessaacuterio reiniciar o daemon named responsaacutevel por responder agraves requisiccedilotildees de DNS Para que as configuraccedilotildees tenham efeito sem interromper o named basta enviar o sinal HUP para o processo atraveacutes do comando kill

kill -HUP `pidof named`

22072 Criaccedilatildeo e manutenccedilatildeo de zonas de DNSA principal diferenccedila entre um servidor DNS tradicional e um servidor DNS caching-only estaacute nos arquivos de zona Num ser-vidor tradicional os arquivos de zona conteacutem a correspondecircncia de IPs e nomes para os domiacutenios especificados em namedconf

Criando um domiacutenioPara cada domiacutenio sob responsabili-dade do servidor deve ser criada uma entrada no arquivo namedconf Essa entrada eacute muito parecida agravequela do exemplo de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo

A uacuteltima entrada indica opccedilotildees e o arquivo de zona para solicitaccedilotildees de nome para o domiacutenio ginkgo

Este eacute um domiacutenio fictiacutecio uti-lizado como exemplo para uma rede interna A opccedilatildeo type deter-mina a prioridade da zona para o domiacutenio pode ser master ou slave O arquivo definido na opccedilatildeo file deve ser criado no mesmo diretoacuterio selecionado na opccedilatildeo directory da seccedilatildeo options Pode ser escolhido qualquer nome para o arquivo de zona mas geralmente elege-se o nome do domiacutenio leva os prefixossufixos zone ou db

Registros da zonaO arquivo de zona conteacutem vaacuterias informaccedilotildees dos nomes do domiacutenio em questatildeo pode ser escrito confor-me o exemplo 2

Vamos analisar item a item este arquivo de zona para entender cada uma das suas entradas

$TTL 3D

Indica a validade-padratildeo ou por quanto tempo os dados con-

seguidos a partir deste servidor devem ser mantidos em um ca-che de DNS

IN SOA floydginkgo hostmasterginkgo (

Essa linha corresponde agrave prin-cipal entrada SOA (Start Of Au-thority) Ela determina qual o ser-vidor e o email do administrador do DNS O sinal eacute apenas um atalho para a origem (o domiacute-nio da zona) e tambeacutem pode ser especificado literalmente (neste caso deve ser especificado com um ponto no final ginkogo) O IN significa Internet e determina a classe do registro Na maior parte dos servidores DNS seraacute a uacutenica classe utilizada O termo SOA indica tratar-se do registro da autoridade para o domiacutenio seguido do nome do servidor DNS e do email do administrador Perceba que ambos satildeo terminados com um ponto O email tambeacutem tem um ponto no

Exemplo 1 Trecho de roothints

()DROOT-SERVERSNET 3600000 IN A 12881090AROOT-SERVERSNET 3600000 IN A 1984104HROOT-SERVERSNET 3600000 IN A 12863253CROOT-SERVERSNET 3600000 IN A 19233412()

Exemplo 2 Arquivo de zona

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floyd MX 5 mailfloyd A 19216801 hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

copy Linux New Media do Brasil Editora Ltda

54 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

lugar do O parecircntese no final da linha indica o iniacutecio das proprie-dades do registro

2007060401 serial 28800 refresh (8horas) 7200 retry (2 horas) 2419200 expire (4semanas) 86400 minimum (1 dia) )

Essa seccedilatildeo especifica algumas pro-priedades para a zona O primeiro nuacutemero 2007060401 determina um nuacutemero serial de identificaccedilatildeo Pode ser qualquer nuacutemero mas via de re-gra segue o formato de data mais um nuacutemero decimal Os demais valores determinam respectivamente inter-valo de atualizaccedilatildeo intervalo para novas tentativas prazo de validade das informaccedilotildees intervalo miacutenimo de permanecircncia no cachecirc Estes va-lores seratildeo informados aos clientes e outros servidores DNS que utilizam este mapa O caracter ldquordquo especifica um comentaacuterio e todo texto em se-guida seraacute ignorado pelo programa O final das propriedades do registro eacute determinado com o fechamento do parecircntese Continuando o exame

NS floyd MX 5 mailfloyd A 19216801

hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

Os demais registros correspondem agraves entradas de nomes da zona Se natildeo for informado no comeccedilo da linha eacute assumida a mesma origem (especificada pelo caracter ) e a classe (IN) Tipos de registro comuns satildeo NS especifica qual dos registros eacute

o servidor de nomes do domiacutenio tambeacutem citado no registro SOA

MX o servidor de email para o domiacutenio Pode haver mais de um sendo suas prioridades determinadas pelo nuacutemero agrave esquerda do nome do servidor Valores menores indicam maior prioridade

A mapeia o nome especifica-do agrave esquerda para o IP espe-cificado agrave direita A origem (domiacutenio) eacute automaticamente adicionada ao nome pois estaacute impliacutecita na entrada (ex floyd = floydginkgo)

CNAME cria um alias especifica-do agrave esquerda para um nome jaacute definido em outro registro Natildeo pode haver alias para um registro NS

PTR mapeia um nuacutemero IP para um nome Eacute utilizado para DNS reverso que veremos a seguir

DNS reversoAleacutem das zonas para resolver nomes para nuacutemeros IP eacute praxe criar zonas para resolver nuacutemeros IP para nomes processo chamado DNS reverso Para isso deve ser criada uma zona especiacute-fica no arquivo namedconf que aponte para outro arquivo de zona

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo zone ldquo0168192in-addrarpardquo IN type master file ldquodb1921680in-addrarpardquo allow-update none

O registro em destaque espe-cifica a zona reversa O nome da zona reversa comeccedila com o trecho do IP referente agrave rede escrito de traacutes para frente seguido do termo in-addrarpa que determina tratar-se de um registro de DNS rever-so Portanto o registro mostrado converteraacute em nomes os IPs que comecem por 1921680 As demais opccedilotildees como tipo nome de ar-quivo etc obedecem agraves mesmas regras do DNS

O arquivo de zona para o DNS reverso eacute praticamente idecircntico ao do DNS convencional mostrado no exemplo 3

A uacutenica diferenccedila encontra-se nos registros de nomes Aqui a ori-gem tambeacutem estaacute impliacutecita sendo necessaacuterio apenas especificar o tre-cho do IP especiacutefico do host Por se tratar de uma resoluccedilatildeo reversa eacute

Exemplo 3 Arquivo de zona do DNS reverso

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060402 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floydginkgo 1 PTR floydginkgo 2 PTR hamiltonginkgo 4 PTR felixginkgo 11 PTR emilyginkgo

copy Linux New Media do Brasil Editora Ltda

55

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

usado um registro do tipo PTR seguido do nome para o IP es-pecificado

Um detalhe importante eacute que o nome dos hosts preci-sa ser completo incluindo o domiacutenio e o ponto no final Isso evita que o DNS reverso interprete a origem (que aqui eacute 168192in-addrarpa) como sendo o domiacutenio

Para que as novas configuraccedilotildees tenham efeito eacute necessaacuterio reiniciar o servidor de nomes O procedimento pode ser feito via script de iniciali-zaccedilatildeo ou simplesmente enviando o sinal HUP para o processo

killall -HUP named

Servidores escravosPara aumentar a disponibilidade do serviccedilo eacute recomendaacutevel criar um servidor DNS escravo de preferecircn-cia numa localizaccedilatildeo fiacutesica distante do servidor primaacuterio para evitar que panes eleacutetricas por exemplo afetem ambos

A entrada em namedconf para de-finir um servidor escravo pode ser escrita da seguinte forma

zone ldquoginkgordquo type slave file ldquodbginkgordquo masters 19216801

O servidor escravo armazena-raacute os registros da zona ginkgo atraveacutes de um processo chamado transferecircncia de zona O arquivo de zona no servidor escravo possui apenas o registro SOA como mostra o exemplo 4

A zona soacute eacute transferida se o nuacutemero serial do servidor escra-vo for menor que o do servidor primaacuterio O valor refresh especi-fica o intervalo em que o servidor escravo verificaraacute atualizaccedilotildees de registro no servidor primaacuterio Se

o servidor natildeo pocircde ser contacta-do seratildeo feitas novas tentativas a cada intervalo especificado no valor retry A zona deixaraacute de existir no servidor escravo se o primaacuterio natildeo puder ser contactado ateacute o final do periacuteodo-limite especificado no valor expire O uacuteltimo valor minimum determina o periacuteodo miacutenimo que a zona deve permanecer no servidor escravo Por padratildeo todos os valo-res satildeo expressos em segundos Para alterar a unidade de tempo basta utilizar um sufixo como H (hora) D (dia) ou W (semana) Por exemplo 2H (duas horas)

Redirecionamento de servidorUm redirecionamento simplesmen-te transfere todas as solicitaccedilotildees fei-tas ao servidor para outro servidor DNS armazenando os resultados temporariamente para agilizar fu-turas solicitaccedilotildees semelhante a um servidor caching-only Para redire-cionar qualquer solicitaccedilatildeo basta criar a seccedilatildeo options em namedconf da seguinte forma

options directory ldquovarnamedrdquo forwarders 20019214021 2001921435

Seratildeo utilizados os servidores especificados na opccedilatildeo forwarders Para que apenas solicitaccedilotildees para uma zona especiacutefica sejam redire-cionadas o tipo da zona deve ser especificado como forward

zone ldquoginkgordquo IN type forward forwarders 20019214021 2001921435

Os servidores de destino das soli-citaccedilotildees devem ser especificados da mesma forma na opccedilatildeo forwarders

Diagnoacutestico do servidorAgora o servidor DNS jaacute pode ser testado para encontrar possiacuteveis pro-blemas Para uma checagem simples pode ser usado o comando host Mas antes natildeo se esqueccedila de alterar os dados do servidor de nomes em etcresolvconf para o servidor que vocecirc acabou de configurar Feito isso utilize o comando host para um dos nomes registrados na zona criada

host felix felixginkgo has address 19216804

Testando o DNS reverso

host 19216842 40168192in-addrarpa domain name pointer felix1681920in-addrarpa

Pocircde ser verificado que tanto o DNS convencional quanto o DNS reverso estatildeo funcionando ao menos para o nome e IP do host felix

Para evitar alterar o arquivo etcresolvconf e obter informaccedilotildees um pouco mais detalhadas basta

Exemplo 4 Arquivo de zona com o regsitro SOA

IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) )

copy Linux New Media do Brasil Editora Ltda

56 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

fornecer tambeacutem o nome do servi-dor DNS ao comando host

host www floydginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo hamiltonginkgo has address 19216802 Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo

Pela saiacuteda podemos verificar en-tre as informaccedilotildees mostradas que o host wwwginkgo trata-se de um alias para o host hamiltonginkgo

Uma ferramenta especiacutefica para diagnoacutestico de servidores DNS eacute o comando dig (Domain Information Groper) Apesar de possuir vaacuterias opccedilotildees que podem ser consultadas na paacutegina manual do comando a forma mais usual de invocaacute-lo eacute dig servidor domiacutenio tipo O servidor DNS especificado pelo caracter seraacute consultado pelo domiacutenio e tipo de registro O exemplo 5 mostra como utilizar o comando dig

A saiacuteda eacute dividida em seccedilotildees O cam-po status da seccedilatildeo HEADER nos permite verificar se foram encontrados erros no servidor DNS A seccedilatildeo QUESTION mostra que tipo de requisiccedilatildeo foi feita ao servidor A resposta eacute mostrada na seccedilatildeo ANSWER A seccedilatildeo ADDITIONAL mostra os endereccedilos dos nomes exibidos em ANSWER

Outra ferramenta eacute o coman-do nslookup que trabalha de duas formas interativo e natildeo-interativo

Usado sem argumentos o nslookup entra em modo interativo

nslookup gt

Dessa forma seraacute utilizado o servi-dor de nomes especificado em etcresolvconf Outro servidor pode ser especificado da seguinte forma

nslookup - floyd gt

Note que haacute um espaccedilo entre o traccedilo e o nome do servidor A maneira mais simples de utilizar o modo interativo eacute simplesmente fornecer um nome a verificar e pressionar [enter]

gt hamilton Server 19216801 Address 1921680153

Name hamiltonginkgo Address 19216802 gt

Exemplo 5 Utilizaccedilatildeo do dig

dig floyd ginkgo ANY

ltltgtgt DiG 932-P1 ltltgtgt floyd ginkgo ANY (1 server found) global options printcmd Got answer -gtgtHEADERltlt- opcode QUERY status NOERROR id 28285 flags qr aa rd ra QUERY 1 ANSWER 3 AUTHORITY 0 ADDITIONAL 2

QUESTION SECTION ginkgo IN ANY

ANSWER SECTION ginkgo 259200 IN SOA floydginkgo hostmasterginkgo 2007060402 28800 7200 2419200 86400 ginkgo 259200 IN NS floydginkgo ginkgo 259200 IN MX 10 felixginkgo ADDITIONAL SECTION floydginkgo 259200 IN A 19216801 felixginkgo 259200 IN A 19216804

Query time 0 msec SERVER 1921680153(19216801) WHEN Mon Jun 4 154409 2007 MSG SIZE rcvd 146

copy Linux New Media do Brasil Editora Ltda

| TUTORIALLPI Niacutevel 2

Para pesquisar um nome no modo natildeo-interativo podem ser fornecidos o nome e o servidor como argumen-tos para o nslookup

nslookup felix floyd Server floyd Address 1921680153

Name felixginkgo Address 19216804

22073 Seguranccedila de DNSPara o administrador precavido a fa-lha em um servidor DNS pode natildeo ser um desastre de grandes proporccedilotildees Ele pode conectar-se atraveacutes do IP do servidor (caso o tenha) e recupe-rar o serviccedilo Os demais usuaacuterios da rede por sua vez apenas acessam as maacutequinas atraveacutes de seus nomes Uma interrupccedilatildeo do servidor DNS mesmo que a comunicaccedilatildeo da rede

ainda exista torna inviaacutevel sua uti-lizaccedilatildeo para quem desconhece os endereccedilos IP das maacutequinas

Num cenaacuterio ainda pior um in-vasor pode interceptar as chamadas DNS e conhecer os nomes e endere-ccedilos das maacutequinas da rede facilitan-do a identificaccedilatildeo e ataque Caso os registros tenham sido alterados um usuaacuterio pode conectar-se a uma maacute-quina-armadilha acreditando tratar-se de uma maacutequina conhecida Neste caso o invasor poderia facilmente conseguir dados sensiacuteveis de todo usuaacuterio enganado

Enjaular o servidorO servidor DNS pode ser executa-do num ambiente isolado onde soacute existam os componentes necessaacute-rios agrave sua execuccedilatildeo Esse ambiente eacute denominado jaula chroot Este processo ajuda a garantir a segu-ranccedila do servidor BIND colocan-

do-o numa ldquogaiolardquo que limitaraacute o ldquoestragordquo caso o servidor seja com-prometido Junto com a restriccedilatildeo a arquivos e diretoacuterios o servidor deve ser executado por um usuaacuterio sem privileacutegios de root

Por exemplo o daemon named pode ser iniciado como proces-so do usuaacuterio natildeo-privilegiado bind tendo como diretoacuterio raiz varnamed

named -u bind -t varnamed

Para que a jaula chroot fun-cione eacute necessaacuterio adaptar algu-mas variaacuteveis na configuraccedilatildeo do BIND O diretoacuterio raiz enxergado pelo daemon named seraacute varna-med portanto eacute necessaacuterio indi-car corretamente a localizaccedilatildeo de arquivos e diretoacuterios como o diretoacuterio dos arquivos de zona e do arquivo de PID

copy Linux New Media do Brasil Editora Ltda

58 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

DNSSECAs transferecircncias de informaccedilotildees entre servidores DNS podem ser autenticadas atraveacutes de uma chave do DNSSEC um complemento do BIND

A chave eacute gerada pelo comando dnssec-keygen Diferentes algoriacutetimos podem ser escolhidos No exem-plo elas seratildeo geradas no diretoacuterio varnamed

cd varnamed dnssec-keygen -a DSA -b 768 -r devuramdom -n ZONE ginkgo

A opccedilatildeo -a especifica a criptografia utilizada a opccedilatildeo -b o tamanho da chave e -r a fonte de dados aleatoacute-rios para gerar a chave (se -r natildeo for fornecido o teclado seraacute usado como fonte de dados aleatoacuterios) A opccedilatildeo -n especifica qual o tipo do dono da chave (ZONE) Por fim eacute especificado o nome (ginkgo)

Terminada a execuccedilatildeo seraacute emitida uma resposta no formato Knnnn+aaa+iiiii Os elementos da resposta significam nnnn Nome da chave aaa Representaccedilatildeo numeacuterica

do algoriacutetimo iiiii Identificaccedilatildeo da chave

(ou impressatildeo digital)Neste exemplo foram gerados

dois arquivos Kginkgo+003+47654key e Kginkgo+003+47654pri-vate O arquivo key deve ser mencionado na respectiva zona atraveacutes de um $include ao final do arquivo

$include Kginkgo+003+47654key

Feito isso a zona deve ser assinada com o comando dnssec-signzone

dnssec-signzone -r devurandom -o ginkgo dbginkgo Kginkgo+003+47654

A opccedilatildeo -o define a origem do arquivo de zona Se natildeo for espe-

cificada a chave seratildeo utilizadas as mencionadas na zona O arqui-vo de saiacuteda dbginkgosigned seraacute criado e deveraacute ser especificado no registro da zona em namedconf

zone ldquoginkgordquo IN type master file ldquodbginkgosignedrdquo allow-update none

Tambeacutem seratildeo criados arquivos dsset e keyset utilizados para que o administrador da zona superior saiba quais chaves satildeo o ponto de entrada seguro para a zona

Os servidores DNS que bus-cam dados no servidor em que o DNSSEC foi utilizado poderatildeo agora validar os dados atraveacutes da chave puacuteblica contida no arqui-vo Kginkgo+003+47654key Essa chave deve estar presente na entrada trusted-keys do arquivo namedconf que obedece a seguin-te sintaxe

trusted-keys string number number number string string number number number string

A entrada trusted-keys pode fazer referecircncia a vaacuterias chaves Cada campo corresponde ao nome do domiacutenio opccedilotildees protocolo algoritmo utilizado e o coacutedigo da chave gerada Todos esses dados estatildeo contidos no arquivo key

No caso do exemplo o registro trus-ted-keys ficaria da seguinte forma

trusted-keys ldquoginkgordquo 256 3 3 ldquoBPDC8hyXf5G8TrgNikGbTVRTlpzpo5ldQt0ROv3viRFBlj7Je2NKIAoJGyEOhmmGHRw4Ls0uHLeQasRAFqz3IKIFh3UpH3b8KYoebkPaDk68zoFphMknxTAr3aUxPmzMKfkDzfHnfe2izxLhzZp52Me

fdeVbuMhusD5BmS4RMK5hsQmjpd8ew3L17RD6WxHxb5KBhr91qVEakLDcPnBG7fCDKgJbG6ynKd8iZKjZHgn5Ve1vQh4az72SCEnkOhljc6mkvUZmg+63PXtedw9IJaXULeq5iMydmZkRTvZtXlQnxObOOACSHwzO3WQSWvruOz6R9mjGY oSyhsAbnEx3HEETwn89GyJMKtYAsBHsTgAJyKgOMPx3OYOvSPCQThOXDuIoLzYEL3HnUqx5P5PXrdquo

Restringir acessoEacute possiacutevel restringir totalmente o acesso ao servidor de nomes a uma rede ou a um host especiacutefico atraveacutes da opccedilatildeo allow-query

allow-query 1921680024

Essa opccedilatildeo pode ser definida tanto na seccedilatildeo options quanto numa entrada de zona Se defini-da em ambos prevaleceraacute para a zona as regras nela especificadas Podem ser especificados mais de um endereccedilo de rede ou host

Para restringir transferecircncias de zona entre servidores ndash ou atraveacutes de comandos como dig e nslookup pode ser utilizada a opccedilatildeo allow-transfer na seccedilatildeo options

allow-transfer 19216802

Como para a opccedilatildeo allow-query mais de um endereccedilo podem ser especificados separados por ldquordquo

Consideraccedilotildees sobre o toacutepicoEste eacute outro toacutepico muito abor-dado na prova Sobretudo co-nheccedila muito bem o formato do arquivo namedconf e os arquivos de zona

Comandos relacionados como rndc dig e host tambeacutem seratildeo abordados

copy Linux New Media do Brasil Editora Ltda

59Linux Magazine 42 | Maio de 2008

AN

AacuteLIS

E

O SpagoBI oferece um pacote de BI completo e de Coacutedigo Aberto

Negoacutecio inteligenteO ramo da Business Intelligence conta com poderosas ferramentas e o SpagoBI se destaca entre as alternativas livres por sua modularidade e consequumlente flexibilidadepor Miguel Koren OrsquoBrien de Lacy

A praacutetica de BI (Business In-telligence) eacute tradicionalmente associada a bancos de dados

enormes em que as aacutereas de mar-keting das empresas tentam descobrir padrotildees de preferecircncias dos clientes usando consultas padronizadas Esses bancos de dados comumente conhe-cidos como data warehouses ou data mart satildeo formados por informaccedilotildees vindas dos mais diversos sistemas da empresa Um data warehouse eacute o repositoacuterio eletrocircnico de informa-ccedilotildees armazenadas da empresa Um data mart eacute um subconjunto de in-formaccedilotildees geralmente focadas em alguma necessidade especiacutefica Um exemplo poderia ser o data mart de informaccedilotildees de produccedilatildeo etc No Brasil temos o costume de usar o termo DW quando nos referimos a um data mart Outra aceitaccedilatildeo comumente encontrada no mer-cado considera sistemas BI como geradores de relatoacuterios diminuindo sua utilidade

Para nivelarmos o conhecimento da mateacuteria podemos convencionar que BI se refere agrave praacutetica de procu-rar armazenar e analisar a informa-ccedilatildeo apresentando em seguida os resultados necessaacuterios para tomar decisotildees fundamentadas e corretas Os sistemas de BI satildeo aplicativos ou ferramentas que suportam e permi-tem essas atividades necessariamente orientados pelos dados

Eacute importante lembrar que sem conhecimento do negoacutecio ou seja das necessidades de informaccedilatildeo e das decisotildees que precisam ser tomadas natildeo existe a possibilidade de prati-car BI Os sistemas de BI satildeo apenas facilitadores

O uso original de BI e as dificul-dades em implementar as soluccedilotildees fizeram com que o segmento atuasse como um espelho do passado para mostrar agrave empresa onde exatamente ela cometeu erros O que se deseja atualmente eacute um sistema de posi-cionamento que mostre onde a em-presa estaacute e como deve evoluir para chegar ao destino pretendido

Os sistemas BI devem mostrar informaccedilatildeo histoacuterica atual e visotildees preditivas O poder analiacutetico e a na-

vegaccedilatildeo pelas informaccedilotildees formam o atual potencial desses sistemas A visatildeo eacute poder obter os benefiacutecios de BI em qualquer lugar e qualquer momento O objetivo que precisa ser satisfeito hoje eacute o monitoramento de diversos indicadores para diversas aacutereas e consolidados para a empresa com o objetivo de aplicar o Geren-ciamento de Performance do Negoacutecio (BPM ndash Business Performance Ma-nagement nesse caso) Tambeacutem eacute interessante suportar um novo termo BI operacional que integra as in-formaccedilotildees analisadas pelo BI tradi-cional (em visatildeo de piracircmide satildeo o BI estrateacutegico e o BI taacutetico) com necessidades operacionais

A IDC publicou um estudo em 2006 que mostra um crescimento anu-

Figura 1 Modelo estrutural de funccedilotildees do SpagoBI

ramzi hashisho ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

60 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

al de 10 em soluccedilotildees BI entre 2005 e 2010 Diversas fontes citam o valor que o BI representa para as empresas e indicam que essa aplicaccedilatildeo comeccedila a fazer parte das soluccedilotildees de negoacutecio e natildeo simplesmente um aplicativo da aacuterea de marketing comprado e instalado por acaso Agrave medida que o mercado olha para os sistemas BI como criacuteticos para a gestatildeo as em-presas fornecedoras dessa tecnologia estatildeo se fundindo resultando em me-nos opccedilotildees para os clientes Algumas aquisiccedilotildees recentes em 2007 satildeo a compra da Hyperion pela Oracle[1] da Business Objects pela SAP[2] e da Cognos pela IBM[3]

Ao mesmo tempo que o mercado de sistemas comerciais estaacute se consoli-

dando aparecem siste-mas de BI licenciados como Software Livre o que aumenta o nuacute-mero de opccedilotildees para os clientes Essa modali-dade de licenciamento vem ao encontro das necessidades de imple-mentaccedilatildeo de BI para todos os funcionaacuterios da empresa pois pelo fato de natildeo existir cus-to de licenciamento eles podem ser usados por todos A empresa Ventana Research[4]

publicou um estudo sobre softwa-res de BI livres em 2006 que mostra que 48 das empresas entrevistadas indicaram o fator de custo como o mais importante na seleccedilatildeo de uma soluccedilatildeo de coacutedigo aberto Adicional-mente 24 dos usuaacuterios individuais entrevistados nesse estudo disseram que o uso de sistemas BI ajuda a aten-der melhor as necessidades pessoais de informaccedilatildeo e decisatildeo que devem fazer no dia-a-dia nas empresas

Natildeo existe uma variedade muito grande de sistemas BI de Coacutedigo Aberto que possam ser chamados de completos Devido agrave diversidade de componentes de um pacote de BI tais como geradores de relatoacuterios

anaacutelise de dados em cubos OLAP (on-line analytic processing)

mineraccedilatildeo de da-dos e

indicadores e pai-neacuteis de controle (dashboards)

entre outros muitos sistemas que atendem somente a uma ou poucas dessas aacutereas es-tatildeo classificados como sistemas BI Tambeacutem

eacute perceptiacutevel o fato de que os siste-mas BI completos de Coacutedigo Aberto contam com suporte oficial de uma empresa seja atuante no mercado BI ou profundamente envolvida com o Software Livre em geral

Caracteriacutesticas e tecnologiaO SpagoBI[5] eacute um sistema que satisfaz as condiccedilotildees para ser usa-do corporativamente atendendo a grande parte das necessidades de informaccedilatildeo relatadas acima Ele estaacute agrupado sob o conceito do Spago World que tem os seguintes obje-tivos gerais fornecer uma soluccedilatildeo livre poder ser usado em ambientes

corporativos facilitar a incorporaccedilatildeo de outras

tecnologias para formar um pa-cote de componentes variados

enfocar o desenvolvimento de soluccedilotildees

formar uma comunidade e contar com serviccedilos de suporte

O SpagoBI eacute membro do con-soacutercio OW2[6] suportado prin-cipalmente pela Bull[7] e pela France Telecom[8] O sistema foi desenvolvido como um framework para aplicativos web em Java para atender a projetos internos Em 2004 o ambiente foi completado e liberado sob a GPL no Source-Forge e posteriormente hospedado no ObjectWeb hoje OW2

O sistema hoje estaacute sob a li-cenccedila LGPL e tem tambeacutem a vantagem de ser verdadeiramente livre devido ao modelo de negoacutecio aplicado O SpagoBI natildeo oferece qualquer restriccedilatildeo ao uso e natildeo existem versotildees comerciais mais completas como eacute frequumlente em outros aplicativos de negoacutecio de Coacutedigo Aberto

Em 2007 foram liberadas algu-mas outras soluccedilotildees do Spago World Spago4Q (indicadores e meacutetricas de

Figura 2 Modelo estrutural do SpagoBI

Figura 3 Tela inicial do aplicativo analiacutetico

copy Linux New Media do Brasil Editora Ltda

61

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

qualidade no processo de desenvol-vimento de software) e Spagic (pla-taforma de integraccedilatildeo de sistemas utilizando SOA e BPM ndash Business Process Management nesse caso)

ComponentesO SpagoBI possui seis componentes principais servidor SpagoBI Spago-BI Studio SpagoBI SDK SpagoBI Meta e SpagoBI Applications

O servidor SpagoBI compreende o nuacutecleo para consultas pelo aplica-tivo aleacutem de apresentar o modelo analiacutetico do sistema Ele oferece os seguintes serviccedilos interface com o usuaacuterio intuiti-

va tipo rich client configuraccedilatildeo de fontes de dados geraccedilatildeo livre de consultas ao

sistema para anaacutelise assinaturas para receber informa-

ccedilatildeo perioacutedica e notificaccedilotildees aacutereas (pastas) para uso pessoal salvar importar e exportar as

configuraccedilotildees paacutegina individual (do tipo

MeuBI) integraccedilatildeo com mecanismos de vi-

sualizaccedilatildeo (PALO para Excel[9] e JPALO para Web[10])

alertas e notificaccedilotildees motor de busca acesso a consultas preacute-configu-

radas agrupadas por tiposO SpagoBI Studio por sua vez eacute

um ambiente em forma de plugin para o Eclipse[11] para desenvolver soluccedilotildees dentro do SpagoBI Ele oferece modeladores para todos os documentos analiacuteticos permite o upload para o servidor SpagoBI e possibilita a realizaccedilatildeo de testes aces-sando dados de testes ou reais

A SpagoBI SDK consiste em uma interface para acesso a serviccedilos de BI que possam ser integrados a outros aplicativos Oferece uma biblioteca de tags a proacutepria API de integraccedilatildeo e acesso a Web Services

Enquanto isso o SpagoBI Meta eacute um mecanismo de armazenamen-to de metadados (informaccedilatildeo que descreve os dados) Os metadados permitem que o usuaacuterio que faz a anaacutelise possa conhecer melhor a informaccedilatildeo tratada assim como a fonte dessa informaccedilatildeo

Por uacuteltimo as SpagoBI Appli-cations compreendem diversos aplicativos verticais Dentro desse conceito podemos mencionar o SpagoBI for AREAS utilizado para BI no campo da medicina AREAS eacute um sistema ERP italia-no voltado para empresas de me-

dicina que selecionou o SpagoBI como seu componente BI

As funcionalidades do sistema satildeo geraccedilatildeo de relatoacuterios com su-

porte a diversos mecanismos anaacutelise de dados em visotildees de

cubos OLAP paineacuteis de controle com indica-

dores (KPI) mineraccedilatildeo de dados visualizaccedilatildeo geograacutefica processos ETL (Extract Trans-

form Load) simulaccedilotildees what-if dossiecirc cataacutelogo de informaccedilotildees gerador de consultas usando

Figura 4 Menu de opccedilotildees e painel de controle

Figura 5 Exemplos de novos termocircmetros para formar paineacuteis

copy Linux New Media do Brasil Editora Ltda

62 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

mecanismos QbE (query by example) integraccedilatildeo de servi-

ccedilos BI ao Microsoft Office

colaboraccedilatildeoA figura 1 mostra o flu-

xo de informaccedilatildeo entre as diversas funccedilotildees da so-luccedilatildeo Todas as funccedilotildees satildeo acessadas somente pelo moacutedulo denomi-nado Modelo Compor-tamental que gerencia as permissotildees de acesso O sistema estaacute prepara-do para uso empresarial

considerando as seguintes carac-teriacutesticas restriccedilatildeo de

acesso agraves in-formaccedilotildees

single sign-on a publicaccedilatildeo

de elementos do sistema tais como definiccedilotildees de relatoacuterios eacute gerenciada den-tro do CMS (content mana-gement system) utilizando a nor-ma JSR 170

sistema escalaacutevel pois eacute escrito em Java e funciona dentro de um servidor de aplicaccedilatildeo

permite o uso de vaacuterios moto-res diferentes tanto de Coacutedigo Aberto quanto proprietaacuterios

eacute uma plataforma de integraccedilatildeo natildeo apenas um aplicativo

A figura 2 mostra a arquitetura do SpagoBI

Uma limitaccedilatildeo presente com frequumlecircncia em sistemas BI de Coacutedi-go Aberto eacute o fato de serem apenas ferramentas para construir a soluccedilatildeo sem um aplicativo pronto para ser utilizado plenamente O SpagoBI se destaca por apresentar tambeacutem

um aplicativo para o usuaacuterio de BI Esse aplicativo eacute acessado de dentro do ambiente web oferecido por outro componente OW2 a Exo Platform[12] que tem a possibilidade de rodar o aplicativo dentro de sua arquitetura de virtualizaccedilatildeo da aacuterea de trabalho o WebOS[13] Poreacutem adicionalmente agrave eXo Platform o SpagoBI estaacute cer-tificado para rodar dentro do portal Liferay[14] muito conhecido e uti-lizado em ambientes de arquitetura Java O CMS JSR 170 tambeacutem eacute for-necido pela eXo Platform

DiferenciaisUm diferencial muito importante do SpagoBI eacute ser uma plataforma de integraccedilatildeo para diversas ferramentas de BI Como consequumlecircncia para ob-tenccedilatildeo de um aplicativo completo devem ser instalados os diversos me-canismos individuais do SpagoBI

O sistema eacute completamente desen-volvido em Java com operaccedilatildeo pelo navegador web para uso e consultas Certos componentes satildeo utilizados em ambiente graacutefico ndash e natildeo web ndash como o mecanismo ETL Entre os componentes agrupados pelo SpagoBI podemos encontrar projetos de Coacutedigo Aberto bem conhecidos como Weka para mineraccedilatildeo de dados Mondrian e PALO para anaacutelise

OLAP de cubos multi-dimen-sionais

BIRT e Jasper Reports para ge-raccedilatildeo de relatoacuterios

Talend para processos ETL Lazslo para paineacuteis de controle

e indicadores

OperaccedilatildeoPrimeiramente o aplicativo deve ser acessado por meio do navegador web O mecanismo de seguranccedila determi-na as permissotildees de acesso do usuaacuterio no processo de login (figura 3)

Apoacutes o login o usuaacuterio tem agrave dis-posiccedilatildeo a tela inicial em que pode

Figura 6 Tela com a visatildeo geograacutefica dos dados

Figura 7 Interface de acesso a BI fornecida pelo WebOS

Figura 8 Seleccedilatildeo de relatoacuterios no navegador BI

copy Linux New Media do Brasil Editora Ltda

63

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

selecionar as operaccedilotildees a efetuar A figura 4 exibe o painel de controle com indicadores de desempenho

Eacute possiacutevel substituir os indicadores visuais da figura 4 por outros como os da figura 5 particularmente interes-santes para o usuaacuterio por mudarem de posiccedilatildeo dinamicamente pelo acesso regular aos dados que representam O painel portanto natildeo conteacutem ape-nas informaccedilotildees estaacuteticas

Para gerar uma nova consulta o usuaacuterio pode usar a funcionalidade QbE (query by example) que exibe as tabelas que podem ser consulta-das e para cada uma os dados que podem ser selecionados

Com as consultas definidas tan-to diretamente em bancos de dados quanto em cubos para anaacutelise OLAP pode ser configurada uma tela de con-sulta geograacutefica conforme mostrado na figura 6 Selecionando aacutereas da fi-gura o usuaacuterio seraacute levado a telas de consulta dos detalhes do item

Usando as possibilidades do We-bOS eacute possiacutevel definir telas BI mais sofisticadas conforme mostra a figura 7 Poreacutem caso a consulta requerida seja frequumlente talvez jaacute esteja disponiacutevel para consulta imediata pelo navegador de consultas do sistema (figura 8)

A interface graacutefica do aplicativo web permite que o usuaacuterio agrupe di-ferentes relatoacuterios e visotildees em conjun-tos denominados dossiecircs Cada rela-

toacuterio ou objeto BI em geral permite que o usuaacuterio faccedila anotaccedilotildees Assim pode ser delegada a funccedilatildeo de pre-parar por exem-plo um dossiecirc de status de projeto a usuaacuterios de dife-rentes aacutereas que possam preparar o material e re-gistrar questotildees relevantes para a anaacutelise final Essa

eacute a base das possibilidades colabora-tivas do sistema

Os relatoacuterios podem ser salvos em diferentes formatos atualmen-te limitados a HTML PDF XLS CSV XML TXT e JPG

A figura 9 mostra um exemplo de tela com o editor de notas aberto

ConclusatildeoFazer uso eficiente e produtivo de um pacote de BI eacute uma meta nobre e difiacutecil de atingir A forma de implementar o SpagoBI e a possibilidade de integraccedilatildeo de motores individuais de diferentes fa-bricantes permite que o uso do SpagoBI comece pouco difundido e aumente conforme as necessidades

A implementaccedilatildeo do SpagoBI considera ter resultados bons mesmo que parciais algo muito importante para o projeto de implementaccedilatildeo O SpagoBI permite que a empresa inicie por exemplo apenas com a necessidade de um termocircmetro que mostre em forma de painel de con-trole a quantidade de peccedilas vendidas por semana

O estudo da Ventana Research mencionado anteriormente mos-tra que as empresas entrevistadas consideram que os pacotes de BI de Coacutedigo Aberto tecircm suficientes caracteriacutesticas para serem usados Esse eacute o caso do SpagoBI o clien-te que resolver iniciar um projeto

de BI com ele natildeo sentiraacute falta de funcionalidades para aspectos fun-damentais de BI Destacamos que para uma implementaccedilatildeo bem sucedida eacute muito importante dar passos firmes sustentados com um planejamento adequado

Mais informaccedilotildees

[1] Aquisiccedilatildeo da Hyperion pela Oracle httpwwworaclecomcorporatepress2007_marhyperionhtml

[2] Aquisiccedilatildeo da Business Objects pela SAP httpwwwbusinessobjectscomcompanysap

[3] Aquisiccedilatildeo da Cognos pela IBM httpwwwcognoscomnewsreleases20071112html

[4] Ventana Research httpwwwventanaresearchcom

[5] SpagoBI httpspagobiengit

[6] Consoacutercio OW2 httpwwwow2org

[7] Bull httpwwwbullcombr

[8] France Telecom httpwwwfrancetelecomcom

[9] PALO httpwwwjedoxcom

[10] JPALO httpwwwjpalocom

[11] Eclipse httpwwweclipseorg

[12] eXo Platform httpwikiexoplatformcomxwikibinviewMain

[13] WebOS httpwikiexoplatformcomxwikibinviewMainWebOS+concept

[14] Liferay httpwwwliferaycom

Figura 9 Relatoacuterio graacutefico mostrando o editor de notas

copy Linux New Media do Brasil Editora Ltda

64

AN

AacuteLIS

E

httpwwwlinuxmagazinecombr

DVD do assinante Librix 3

Para conquistar o puacuteblicoEm sua versatildeo 30 o Librix da Itautec atinge a maturidade para ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientespor Pablo Hess

Distribuiccedilotildees genuinamente nacionais de grande sucesso jaacute foram numerosas e muito

presentes nas maacutequinas brasileiras Atualmente no entanto satildeo raras especialmente apoacutes a meteoacuterica as-cenccedilatildeo do Ubuntu entre os usuaacuterios de desktop assim como a ampla ado-

ccedilatildeo de distribuiccedilotildees mundialmente difundidas como Open Suse Fedora e Mandriva

A onda de novas distribuiccedilotildees nacio-nais no entanto promete mudar esse cenaacuterio Fortemente baseadas em dis-tribuiccedilotildees usadas em grande escala no exterior as distribuiccedilotildees que equipam os

computadores ven-didos sob o programa Computador Para Todos do Governo Federal geralmente realizam apenas al-gumas adaptaccedilotildees graacuteficas e de idiomas para tornarem o uso das maacutequinas mais praacutetico para nosso povo ndash com algumas exceccedilotildees eacute claro

Uma das mais gratas dentre exce-ccedilotildees estaacute sendo en-tregue junto com o DVD do assinante desta ediccedilatildeo da Li-nux Magazine O Librix 3 fabricado pela Itautec tem base no poderoso e flexiacutevel Gentoo ndash conhecido espe-cialmente entre os usuaacuterios avanccedilados de Linux O valor do Librix no entanto reside justamente em seu sucesso na oferta de inuacutemeras vantagens a uma

ampla gama de usuaacuterios Enquanto os mais iacutentimos do sistema do pinguumlim tecircm agrave disposiccedilatildeo os flexiacuteveis utilitaacuterios de linha de comando do Gentoo os usuaacuterios inexperientes que iniciam seu aprendizado em Linux com a dis-tribuiccedilatildeo da Itautec desfrutam de um agradaacutevel e organizado ndash aleacutem de atra-ente claro ndash ambiente KDE

BelezaA aacuterea de trabalho do Librix (figura 1) traz os principais iacutecones que o usuaacuterio iniciante espera encontrar aleacutem da Pasta do Usuaacuterio pode-se acessar o navegador Firefox o pacote de escritoacute-rio BrOfficeorg o Sistema Konqueror (acessando a URI system e exibindo locais de rede e miacutedias externas ndash figura 2) e a lixeira

E jaacute comeccedilam as inovaccedilotildees O tema adotado por padratildeo como mostra a fi-gura 2 eacute colorido e elegante capaz de agradar todos os tipos de usuaacuterios ndash uma constante nessa versatildeo da distribuiccedilatildeo jaacute podemos adiantar Os efeitos graacuteficos do desktop fornecidos pelo gerenciador de janelas Compiz e com ornamentos do Emerald vecircm desabilitados mas um iacutecone na barra de tarefas (figura 3) permite sua ativaccedilatildeo e configura-ccedilatildeo baacutesica com apenas dois cliques do mouse ou a alteraccedilatildeo de opccedilotildees mais avanccediladas mediante o acionamento de utilitaacuterios completos

Ao ser ativado o Compiz a con-figuraccedilatildeo-padratildeo do Librix 3 utiliza todos os recursos disponiacuteveis geral-mente em modo aleatoacuterio Embora isso possa ser impressionante para fins de demonstraccedilatildeo os usuaacuterios

Figura 1 A aacuterea de trabalho do Librix 3 traz os iacutecones mais impor-tantes e um visual muito atraente

Figura 2 O navegador do sistema exibe dispositivos de armazena-mento externos e remotos

copy Linux New Media do Brasil Editora Ltda

65

| ANAacuteLISEDVD do assinante

Linux Magazine 42 | Maio de 2008

podem se cansar rapidamente desse comportamento exagerado

O menu trazido pela Itautec (figura 4) eacute outro aspecto novo nessa versatildeo da distribuiccedilatildeo Seu comportamen-to diferente do presente nas demais distribuiccedilotildees Linux da atualidade no entanto pode ser um fator negativo especialmente para os usuaacuterios inex-perientes ndash felizmente desativaacute-lo eacute tatildeo faacutecil quanto ativar os efeitos 3D exigindo apenas um clique com o botatildeo direito sobre o botatildeo Menu e sua configuraccedilatildeo

PoderO sistema Gentoo que vive sob o Librix eacute o velho conhecido dos obcecados por personalizaccedilatildeo Utilizando um mirror da distribuiccedilatildeo padratildeo os pacotes que diferenciam essa distribuiccedilatildeo de sua ldquoprogenitorardquo residem nos overlays (re-positoacuterios alternativos de pacotes) locais em usrlocalportage e usrlocalportagexeffects Isso eacute suficiente para fornecer ao Librix o pacote de escritoacuterio BrOfficeorg (ausente no Gentoo) e o gerenciador graacutefico de pacotes Tutoo Package Manager (figura 5) aleacutem de alguns outros softwares que englobam desde moacutedulos para a linguagem Python ateacute as leves particularidades graacuteficas do sistema da Itautec

Mesmo com todas essas facilida-des o gerenciamento do sistema pode ser feito inteiramente pela linha de comando com os poderosos emer-ge eselect equery e companhia A

Itautec natildeo utiliza pacotes binaacuterios ou seja o sistema compila cada um dos pa-cotes instalados no sistema salvo importantes exceccedilotildees como o BrOfficeorg ndash cuja compilaccedilatildeo levaria vaacuterias horas Apesar de tornar a instalaccedilatildeo de novos softwa-res significativamente mais lenta que distribuiccedilotildees com pacotes DEB RPM ou tgz essa estra-teacutegia garante a possibilidade de per-sonalizaccedilatildeo por meio das flags USE responsaacuteveis por ativar ou desativar as opccedilotildees de compilaccedilatildeo de cada pacote que compotildee o sistema Aleacutem disso garante a constante atualizaccedilatildeo dos pacotes satisfazendo dependecircncias com facilidade e anulando as restri-ccedilotildees de versotildees de bibliotecas

PraticidadeNatildeo haacute como negar o puacuteblico-alvo dessa distribuiccedilatildeo eacute o usuaacuterio iniciante que estaacute travando seu primeiro contato com o Linux Nesse sentido um im-portante aspecto do sistema eacute incluir ldquode faacutebricardquo softwares que supram as necessidades de quem jaacute tem costume com algum sistema Windowsreg

O Librix jaacute traz os codecs de aacuteudio e viacutedeo proprietaacuterios da Microsoft (WMA e WMV satildeo seus principais represen-tantes) e eacute capaz de reproduzir DVDs em seu reprodutor multimiacutedia Kaffeine Os usuaacuterios do iTunes da Apple tam-beacutem podem evitar a saudade usando

o amigaacutevel Amarok Softwares raramente incluiacutedos em outras distribuiccedilotildees como o Skype e o geren-ciador de downloads Downloader for X por exemplo tam-beacutem vecircm instalados mas falta um utilitaacute-rio de configuraccedilatildeo de conexotildees PPPoE a mais comum em serviccedilos ADSL

ConclusotildeesA Itautec vem me-lhorando seu Librix a cada nova versatildeo Com facilidades im-portantes voltadas aos novos usuaacuterios Linux a distribuiccedilatildeo se torna uma al-ternativa interessante para os usuaacuterios que temem deixar sua zona de con-forto em relaccedilatildeo ao comportamento de seu desktop

O gerenciamento de pacotes agora feito pelo TPM finalmente alcanccedilou o niacutevel de maturidade exigido para satisfa-zer as necessidades do puacuteblico iniciante ndash principalmente a facilidade de uso e compreensatildeo ndash ainda assim preservando o poder do Portage ldquosob o capocircrdquo

O visual e o comportamento do am-biente desktop fazem alusatildeo agraves atuais versotildees do Windows (XP e Vista) o que certamente contribui para a que-da de uma importante barreira para a adoccedilatildeo dessa distribuiccedilatildeo no programa Computador Para Todos

Figura 3 Ativar e desativar os efeitos 3D na aacuterea de trabalho do Librix eacute muito praacutetico

Figura 4 O menu KBFX vem ativado por padratildeo e mostra seme-lhanccedilas com o de diferentes versotildees do Windows

Figura 5 O Tutoo Package Manager livra o usuaacuterio de adquirir intimidade com o comando emerge

copy Linux New Media do Brasil Editora Ltda

66 httpwwwlinuxmagazinecombr

Manipulando maacutequinas com o Puppet

MarioneteAprenda a economizar tempo e agilize a administraccedilatildeo de sistemas com ajuda do Puppet uma ferramenta de gerenciamento e configuraccedilatildeo centralizadospor Juliet Kemp

O Puppet eacute um sistema centra-lizado de gerenciamento de configuraccedilatildeo que usa uma

linguagem de especificaccedilatildeo multiplata-forma Para usaacute-lo executa-se um ser-vidor Puppet central ndash o puppetmaster ndash e os daemons do programa em todos os computadores que devem ser admi-nistrados As opccedilotildees de configuraccedilatildeo para todas as maacutequinas-cliente satildeo es-pecificadas no PuppetMaster Depois as alteraccedilotildees nas configuraccedilotildees satildeo propagadas a partir do PuppetMaster para os clientes adequados

O Puppet permite o gerenciamento de arquivos (dono modo conteuacutedo e existecircncia) usuaacuterios grupos pa-cotes e serviccedilos a partir de um local central Pode-se rodar comandos ou scripts e tambeacutem eacute possiacutevel gerenciar crontabs montagem de sistemas de arquivos e configuraccedilotildees de rede

Cada item gerenciado eacute chamado de recurso e os recursos satildeo categori-zados em tipos (por exemplo arquivo pacote serviccedilo cron) O Puppet estaacute em intenso desenvolvimento receben-do novos tipos regularmente ndash pode-se ateacute criar tipos personalizados

Por que usaacute-loOs trecircs principais motivos para usar o Puppet satildeo 1 O programa manteacutem um regis-

tro da configuraccedilatildeo do cliente Se um sistema-cliente morrer eacute possiacutevel gerar uma configura-ccedilatildeo idecircntica num novo sistema com base na informaccedilatildeo arma-zenada no Puppetmaster

2 Se houver mais de uma maacutequi-na eacute possiacutevel instalaacute-las de forma idecircntica ou usar o mesmo siste-ma-base e aplicar as modificaccedilotildees para clientes individuais

3 O conjunto de tipos do Puppet facilita o gerenciamento de muacuteltiplos sistemas a partir de um local uacutenico

Outra vantagem do Puppet eacute que ele funciona em conjunto com uma ferramenta chamada Facter Ela define variaacuteveis especiacuteficas em cada maacutequina (como nome da maacutequina endereccedilo IP e sistema operacional) automatica-mente permitindo um ajuste fino de configuraccedilotildees especiacuteficas em clientes individuais sem perder os benefiacutecios de uma configuraccedilatildeo comum

Instalaccedilatildeo e configuraccedilatildeoO coacutedigo-fonte do Puppet estaacute dispo-niacutevel no site do projeto[1] e seus pa-cotes estatildeo presentes nos repositoacuterios de vaacuterias distribuiccedilotildees Linux

O principal arquivo de configuraccedilatildeo eacute etcpuppetpuppetmasterconf com uma estrutura bem clara e simples

[puppetmasterd] Assegure-se de que todas as mensagens de log sejam enviadas ao di- retorio correto Ele deve ser gravavel pelo usuario puppetlogdir=varlogpuppetvardir=varlibpuppetrundir=varrun

Para guardar tambeacutem o conteuacutedo dos arquivos seraacute necessaacuterio uma con-figuraccedilatildeo de servidor de arquivos em etcpuppetfileserverconf O coacutedigo mostrado a seguir exibe o caminho para o armazenamento de arquivos no puppetmaster e permite o acesso a todas as maacutequinas em exemplocom

[files] path etcpuppetfiles allow exemplocom deny ruimexemplocom allow 1921680024

Aleacutem disso tambeacutem eacute possiacutevel ba-nir domiacutenios ou maacutequinas especiacuteficos bem como especificar por endereccedilo IP caso seja preferiacutevel Para criar os usuaacuterios do Puppet que o daemon utiliza deve-se usar a opccedilatildeo mkusers ao executar o daemon puppetmaster pela primeira vez

Como ainda natildeo foram criadas as definiccedilotildees dos noacutes tambeacutem seraacute ne-cessaacuterio usar a opccedilatildeo --nonodes

usrbinpuppetmasterd --mkusers --nonodes

Receita baacutesicaCom a configuraccedilatildeo baacutesica jaacute feita vejamos como configurar o mani-festo do site e comeccedilar a gerenciar as configuraccedilotildees e outros tipos Por padratildeo o principal manifesto de site do Puppet fica em etcpuppetma-nifestssitepp Tudo nesse arquivo seraacute executado em todos os clientes Para comeccedilar podemos tentar colo-

RE

DE

S

dim

itris

pet

rid

is ndash

ww

ws

xch

u

copy Linux New Media do Brasil Editora Ltda

67

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

car algo numa receita faacutecil o arquivo sudoers eacute um bom candidato

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo440rdquo

Isso garante que o arquivo sudoers do cliente tenha essas propriedades

ClienteEm seguida eacute necessaacuterio iniciar o PuppetMaster e configurar um cliente para testes No cliente eacute necessaacuterio o pacote puppet Para definir o nome do servidor para um site deve-se in-cluir no arquivo etcpuppetpuppetdconf a linha

server = puppetserverexemplocom

Depois alterar os modos ou o dono do arquivo etcsudoers no cliente para que fiquem diferentes do es-pecificado no arquivo sitepp do PuppetMaster A seguir deve-se executar o cliente pela primeira vez com o comando

puppetd --waitforcert 60 --test

Os clientes satildeo autenticados por uma requisiccedilatildeo de certificado ao Pu-ppetMaster O cliente acusaraacute a falta de um certificado e em seguida faraacute uma pausa para que se possa ordenar que o PuppetMaster assine o certifi-cado do cliente O comando puppet-ca --list no PuppetMaster lista os clientes que aguardam sua assinatura Com puppetca --sign clienteexemplocom (novamente no PuppetMaster) o certificado seraacute assinado (puppetca --sign --all assinaraacute todos os certifica-dos que estatildeo aguardando) Apoacutes 60 segundos o cliente obteacutem o certificado assinado e eacute executado A opccedilatildeo test faz com que o cliente rode em modo verboso e apenas uma vez

Apoacutes terminar eacute importante verifi-car o arquivo etcsudoers o modo deve ser o mesmo especificado no Puppet-Master e natildeo o que foi alterado

Aleacutem de gerenciar atributos de arquivos o Puppet tambeacutem gerencia seu conteuacutedo atuando como servi-dor de arquivos Para isso primeiro eacute preciso criar um arquivo sudoers de exemplo e colocaacute-lo em etcpu-ppetfilessudoers

Em seguida edite novamente o arquivo sitepp para que a receita do sudoers fique semelhante a

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt 440 source =gt ldquopuppetpuppetserverexemplocomfilessudoersrdquo

Edite o arquivo no cliente para que ele fique diferente do con-teuacutedo acima e rode novamente o Puppet com o comando ppuppetd --test O conteuacutedo do arquivo seraacute alterado

O trecho abaixo tambeacutem mostra como usar um uacutenico contecirciner file para muacuteltiplos recursos de arquivo

file ldquostarrdquo ensure =gt link target =gt ldquosoft9starrdquo ldquotestdirrdquo ensure =gt directory

DependecircnciasOs recursos interagem uns com os outros Certos pacotes satildeo necessaacute-rios para determinados serviccedilos por exemplo ou talvez se queira reiniciar um serviccedilo quando um arquivo espe-ciacutefico for alterado O Puppet possui dependecircncias ndash notavelmente require

e subscribe ndash para especificar essas interaccedilotildees

O trecho abaixo usa o tipo service que pode ser usado para qualquer daemon que se queira deixar em execuccedilatildeo (no caso o Slapd)

service ldquoslapdrdquo ensure =gt running hasrestart =gt true require =gt Package[ldquoslapdrdquo] subscribe =gt [File[ldquoldapconfrdquo] File[ldquoetcldapschemardquo]]

A opccedilatildeo hasrestart informa ao Pu-ppet se ele deve reiniciar o serviccedilo com stopstart ou com restart A diretiva re-quire simplesmente fornece um rela-cionamento de ordem ela garante que o recurso referido ndash no caso o pacote slapd ndash estaraacute configurado antes deste serviccedilo Todos os tipos suportam isso

O item subscribe eacute uma depen-decircncia relativa Se os recursos espe-cificados forem alterados o item eacute atualizado Os tipos exec service e mount suportam isso

Note a forma como os recursos do Puppet satildeo especificados nesse contex-to com o nome do tipo comeccedilando com letra maiuacutescula e fornecendo o nome do recurso Aleacutem disso esses recursos precisam ser especificados em outros locais ou ocorreraacute um erro

O Puppet eacute capaz de gerenciar diversos tipos packages o Puppet interage

com a maioria dos principais sistemas de pacotes e pode garantir que programas espe-ciacuteficos estejam instalados o que eacute particularmente uacutetil ao instalar uma nova maacutequina

package ldquoslapdrdquo ensure =gt installed

exec executa comandos internos O comando subscribe eacute uacutetil nesse ponto Por exemplo um trecho

copy Linux New Media do Brasil Editora Ltda

68 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

que atualiza o exim4 quando sua configuraccedilatildeo eacute modificada

exec ldquoexim4-updaterdquo command =gt ldquousrsbinupdate-exim4confrdquo user =gt ldquorootrdquo subscribe =gt File[ldquoupdate-exim4rdquo] refreshonly =gt true

usuaacuterios e grupos esse tipo tem como objetivo gerenciar usuaacute-rios do sistema e natildeo usuaacuterios normais Eacute possiacutevel gerenciar o diretoacuterio home (por exemplo criaacute-lo) assim como outros atri-butos de usuaacuterio

user ldquomanagerrdquo ensure =gt present home =gt ldquolocalmanagerrdquo managehome =gt true gid =gt ldquosystemusersrdquo

cron gerencia cron jobs Um uso possiacutevel para esse recurso eacute reini-ciar o Puppet em clientes caso ele falhe como mostra o exem-plo 1 Embora esteja mostrado em muacuteltiplas linhas o coman-do tambeacutem pode ser usado em uma uacutenica A hora e o dia para execuccedilatildeo do cron job assim como o usuaacuterio a executar a ta-refa podem ser definidos como no trecho acima O comando eacute adicionado ao crontab do usuaacuterio correspondente

mount monta diretoacuterios para o en-sure Se o paracircmetro ensure estiver definido como present o sistema de arquivos estaraacute na tabela mas natildeo montado Se o paracircmetro estiver definido como mounted o sistema de arquivos seraacute adicio-nado agrave tabela e montado E se o paracircmetro estiver definido como absent o sistema de arquivos seraacute removido da tabela

Tambeacutem estatildeo disponiacuteveis vaacuterios atributos de rede maacutequinas in-terfaces listas de email aliases de email e chaves SSH

PadrotildeesEacute possiacutevel definir padrotildees para qual-quer recurso Por exemplo se a maio-ria dos arquivos de uma maacutequina pertencer ao usuaacuterio root e tiverem permissotildees 644 o seguinte trecho vai estabelecer esses valores como padratildeo para todos os arquivos

File owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo644rdquo

Para contornar esse padratildeo basta es-pecificar um valor diferente para qual-quer um desses paracircmetros num recurso especiacutefico Note que os padrotildees somente se aplicam a seu proacuteprio escopo (classe) e a qualquer classe abaixo dessa se for desejaacutevel aplicaacute-los globalmente eacute ne-cessaacuterio defini-los fora de todas as classes ndash por exemplo no arquivo sitepp

Organizaccedilatildeo do diretoacuterioO site do Puppet oferece sugestotildees de organizaccedilatildeo de arquivos e ma-nifestos Independente do sistema usado eacute importante certificar-se de que ele seja compreensiacutevel e facil-mente atualizaacutevel

Um exemplo seria

- Diretoacuterio principal do Puppet |- Arquivos |- Aplicativos |- Usuaacuterios |- Manifestos |- sitepp - Noacutes - diretoacuterio com manifestos de vaacuterios noacutes - confira a proacutexima seccedilatildeo - Classes - diretoacuterio com manifestos de vaacuterias classes dependendo do programa (aptpp apache2pp) |- Definiccedilotildees |- Modelos (templates)

Todos os subdiretoacuterios contecircm arquivos de classe (veja abaixo) e para incluiacute-los o arquivo sitepp fica semelhante a

import ldquoclassesrdquoimport ldquodefinicoesrdquoimport ldquonosrdquoimport ldquousuariosrdquo

NoacutesAteacute o momento consideramos somen-te a configuraccedilatildeo de uma uacutenica maacute-quina mas o Puppet realmente brilha quando se tem muacuteltiplas maacutequinas Se forem todas idecircnticas basta criar uma configuraccedilatildeo ndash a padratildeo

siteppdefault include sudo

Mas tambeacutem se pode ter uma confi-guraccedilatildeo diferente para cada maacutequina

Exemplo 1 Cron job para reiniciar o Puppet

01 cron restart-puppet02 command =gt lsquoif [ -e varrunpuppetdpid ] then ps uw -p `cat varrunpuppetdpid` | grep -q lsquo ruby usrsbinpuppetdrsquo03 || (rm varrunpuppetdpid etcinitdpuppet start) firsquo04 user =gt root05 minute =gt lsquo0rsquo06

copy Linux New Media do Brasil Editora Ltda

69

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

assim como criar configuraccedilotildees-base e depois herdaacute-las ou incluiacute-las na configuraccedilatildeo dos noacutes Por exemplo eacute possiacutevel criar uma configuraccedilatildeo baacute-sica para servidores diferente daquela para desktops e ambas podem herdar de uma base ou configuraccedilatildeo-padratildeo comum (exemplo 2)

As classes podem ser especifica-das num arquivo individual ou em um arquivo por classe recomenda-se a segunda forma para facilitar o gerenciamento

Facter modelos variaacuteveisUm aspecto uacutetil do Puppet eacute que ele vem com o Facter uma ferramenta que informa vaacuterios ldquofatosrdquo (facts em inglecircs daiacute o nome Facter) a respeito de uma maacutequina especiacutefica incluindo seu nome IP arquitetura sistema ope-racional chave SSH informaccedilotildees de processador e memoacuteria entre outros

Para uma lista completa dos fatos fornecidos por padratildeo basta digitar facter na linha de comando Eacute pos-siacutevel consultar esses fatos de den-tro do Puppet com $nome_do_fato Eles possuem dois usos importan-tes criar estruturas condicionais e usaacute-las em modelos

CondicionaisO Puppet possui trecircs tipos de con-dicionais 1 seletores satildeo usados dentro de

uma diretiva

package ldquokbr-clientsrdquo ensure =gt $operatingsystem ubuntu =gt absent debian =gt installed default = undef

Nesse trecho se o fato $opera-tingsystem estiver definido como

ubuntu o pacote natildeo estaraacute ins-talado se estiver como debian o pacote estaraacute instalado O padratildeo eacute natildeo definir o atributo

2 A diretiva case oferece uma forma de aplicar classes con-dicionalmente

case $operatingsystem ubuntu include ubuntu debian include debian default include basic

Nesse trecho a classe especiacute-fica a cada sistema operacio-nal eacute incluiacuteda dependendo

novamente do valor do fato $operatingsystem Eacute possiacutevel especificar muacuteltiplas condiccedilotildees entre viacutergulas

3 Tambeacutem existe uma estrutura ifelse mais simples

if $needexample file ldquousrlocalexemplordquo ensure =gt present else file ldquousrlocaltesterdquo ensure =gt present

Exemplo 2 Muacuteltiplas classes e heranccedila

01 class base 02 Varias coisas basicas03 include autofs04 include cron05 include puppet06 include ssh07 e assim por diante08 0910 class desktop inherits base 11 Tudo na classe lsquobasersquo serah automaticamente incluido aqui12 Depois tambem eh possivel13 include latex14 include gnome15 e assim por diante16 1718 class server inherits base 19 Novamente tudo da classe lsquobasersquo serah automaticamente incluido20 E depois outras coisas exclusivas de servidores21 include nfs22 e assim por diante23

Exemplo 3 iptableserb

01 filter02 INPUT DROP [00]03 FORWARD DROP [00]04 OUTPUT ACCEPT [00]05 -A INPUT -d 127000255000 -i lo -p tcp -j DROP06 -A INPUT -d lt= ipaddress gt -m state --state RELATEDESTABLISHED -j ACCEPT07 -A INPUT -i lo -j ACCEPT08 -A INPUT -s 10419815302552552550 -d lt= ipaddress gt -j ACCEPT09 -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j LOG --log-prefix ldquosshrdquo -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j ACCEPT10 COMMIT

copy Linux New Media do Brasil Editora Ltda

70 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

Atualmente eacute possiacutevel determinar apenas se uma dada variaacutevel estaacute de-finida sem distinguir entre valores es-peciacuteficos Para fazer isso eacute necessaacuterio usar as diretivas case ou selector

ModelosOs modelos usam a linguagem Ruby para inserir variaacuteveis num arquivo-fonte Em outras palavras eacute como fornecer um arquivo central que pode variar de uma maacutequina para outra

Um bom exemplo de uso de um fato num modelo eacute definir uma po-liacutetica de ipchains Por exemplo o ar-quivo iptableserb (ERB eacute a sintaxe de modelos do Ruby) mostrado no exemplo 3 utiliza o fato $ipaddress

Depois eacute possiacutevel fazer referecircncia a esse modelo

file ldquoiptables_configrdquo name =gt ldquoetcsysconfigiptablesrdquo content =gt template(ldquoetcpuppettemplatesiptableserbrdquo)

Note que enquanto os arquivos precisam da sintaxe puppetpu-ppetserverexemplocom os modelos natildeo precisam

Fatos personalizadosOs fatos-padratildeo estatildeo disponiacuteveis em todos os clientes automaticamente

Poreacutem caso se deseje criar fatos personalizados eacute interessante mantecirc-los no PuppetMaster e entatildeo confi-gurar os clientes para sincronizarem seus fatos com o servidor

Acrescente a seguinte seccedilatildeo ao arquivo etcpuppetfileserverconf no puppetmaster

[facts] path etcpuppetfacts allow exemplocom

e em cada cliente adicione a se-guinte linha ao arquivo etcpuppetpuppetdconf

factsync = true

Em seguida reinicie o PuppetMas-ter no servidor e o Puppet nos clientes Agora jaacute eacute possiacutevel colocar qualquer fato personalizado em etcpuppetfacts e propagaacute-lo Por exemplo para criar uma regra que defina o fato $home com a variaacutevel de ambiente $HOME basta criar o arquivo etcpuppetfactshomerb

Facteradd(ldquohomerdquo) do setcode do ENV[lsquoHOMErsquo] endend

Da proacutexima vez que o Puppet rodar nos clientes esse fato seraacute sin-

cronizado e entatildeo poderaacute ser usado em qualquer receita

Outras variaacuteveisVariaacuteveis tambeacutem satildeo uacuteteis em outras situaccedilotildees Uma variaacutevel definida no arquivo sitepp ficaraacute disponiacutevel para todos os outros manifestos e classes Caso haja um conjunto-padratildeo de usuaacuterios com permissatildeo para fazer login nos servidores e se quiser edi-tar o arquivo etcsshsshd_config de acordo o coacutedigo do exemplo 4 funcionaraacute muito bem

Configurar o servidor de arqui-vos por meio de uma variaacutevel tam-beacutem eacute uma boa ideacuteia se o servidor sofrer alteraccedilotildees natildeo seraacute neces-saacuterio editar cada arquivo que faz referecircncia ao Puppet

ConclusatildeoEssa breve apresentaccedilatildeo fornece somente um raacutepido panorama das possibilidades do Puppet As versotildees mais recentes do software permitem que se organize a configuraccedilatildeo em moacutedulos o que oferece ainda mais flexibilidade e reusabilidade Caso se use LDAP para armazenar infor-maccedilotildees de maacutequinas e usuaacuterios eacute possiacutevel tambeacutem obter as definiccedilotildees dos noacutes a partir desse recurso

Caso sejam necessaacuterias mais informa-ccedilotildees ou suporte o site do Puppet assim como seu wiki[2] e sua lista de emails[3] satildeo de grande ajuda Tenha nas matildeos o controle de suas maacutequinas

Mais informaccedilotildees

[1] Projeto Puppet httpreductivelabscomprojetspuppet

[2] Wiki do Puppet httpreductivelabscomtracpuppetwiki

[3] Lista do Puppet httpreductivelabscomtracpuppetwikiGettingHelpmailing-list

Exemplo 4 Uso de variaacuteveis no SSH

01 em sitepp02 $server_ssh_users = ldquoroot jkemp adminrdquo0304 em sshpp ou qualquer outro lugar a sua escolha05 file ldquosshd_configrdquo06 name =gt ldquoetcsshsshd_configrdquo07 allow_users =gt lsquoAllowUsers $server_ssh_usersrsquo08 template =gt ldquoetcpuppettemplatessshd_configerbrdquo09 1011 trecho relevante de sshd_configerb12 LoginGraceTime 60013 PermitRootLogin without-password14 StrictModes yes1516 lt= allow_users gt

copy Linux New Media do Brasil Editora Ltda

71Linux Magazine 42 | Maio de 2008

Firewall faacutecil com o Shorewall

Domando o fogoEacute verdade que firewalls devem ser administrados por especialistas Poreacutem ateacute esses profissionais podem se beneficiar de uma interface praacutetica para essa tarefapor Tarciacutesio Carvalho Espiacutenola

Montar um firewall para a proteccedilatildeo de um uacutenico servidor natildeo eacute tarefa das

mais simples Imagine montar um firewall para uma rede inteira que requer muito mais atenccedilatildeo e conhe-cimento tanto dos serviccedilos quanto das ferramentas utilizadas Qualquer descuido pode comprometer toda a seguranccedila da rede e a reputaccedilatildeo do seu administrador

No caso especiacutefico do Linux tra-balhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas principalmente para usuaacuterios novatos ou acostuma-dos apenas com cliques na interfa-ce graacutefica A criaccedilatildeo de regras mais elaboradas requer tantas opccedilotildees e paracircmetros ndash e em uma rede mais complexa teremos dezenas delas ndash que eacute faacutecil cometer erros

Natildeo estamos questionando a efi-caacutecia dessa poderosa ferramenta muito pelo contraacuterio o domiacutenio de seus comandos para uma utilizaccedilatildeo eficiente e segura em situaccedilotildees mais avanccediladas exige bastante experiecircncia por parte do administrador Pensan-do nisso Thomas M Eastep teve a brilhante ideacuteia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e

atarefado administrador de rede e o prolixo mas poderoso software Iptables o Shorewall[1]

A forma simples e intuitiva como satildeo desenvolvidas as regras no Shorewall facilita bastante a cria-ccedilatildeo e manutenccedilatildeo do firewall Na inicializaccedilatildeo do serviccedilo as regras definidas pelo administrador satildeo compiladas e convertidas em regras do Iptables que seraacute o responsaacutevel pelo firewall

Devido agrave sua compe-tecircncia o Shorewall per-mite tambeacutem que o admi-nistrador aprimore seus conhecimentos na opera-ccedilatildeo do Iptables estudan-do as regras criadas pelo programa a partir das ins-truccedilotildees passadas de forma graacutefica Quando o admi-nistrador adota a defini-ccedilatildeo graacutefica de regras pelo Shorewall geralmente aumenta sua capacidade de criar e gerenciar confi-guraccedilotildees mais complexas O poder da interface graacute-fica nesse caso estaacute em permitir a administraccedilatildeo de muacuteltiplas regras de forma facilitada

Para ilustrar a utilizaccedilatildeo do Sho-rewall mostraremos como configurar o firewall de uma rede normalmente utilizada em pequenas e meacutedias em-presas (figura 1) embora o Shorewall possa ser utilizado em situaccedilotildees bem mais complexas

Infra-estruturaEm nossa rede de exemplo usaremos servidores e estaccedilotildees Linux e Win-dowsreg para mostrar que os serviccedilos

SE

GU

RA

NCcedil

A

Figura 1 A rede utilizada neste artigo eacute bastante simples composta por uma DMZ uma rede local e o firewall conectando ambas agrave Internet

Ramon Gonzalez - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

72 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

apresentados natildeo de-pendem dos sistemas operacionais utilizados com exceccedilatildeo claro do servidor firewall que de-veraacute necessariamente usar Linux

Para fins de exemplo suponhamos que nossos 64 IPs pertencem agrave fai-xa 20016616119226 distribuiacutedos da se-guinte forma IP da rede 200

166161192 maacutescara 255255

255192

IPs utilizaacuteveis 200166161193 a 200166161254

IP broadcast 200166161255A figura 2 e a tabela 1 detalham os pa-

racircmetros da nossa rede de exemploEm seguida basta configurar o

servidor DHCP da rede local com os paracircmetros acima Na configuraccedilatildeo das regras do firewall consideraremos que o serviccedilo de DHCP seraacute oferecido pelo proacuteprio servidor firewall como veremos mais adiante mas a sua configuraccedilatildeo foge do escopo deste artigo

A DMZ (zona desmilitarizada) obviamente fica isolada da rede local Nela seratildeo conectados os servidores Observe que na figura 2 foi definido inclusive o endereccedilo IP da estaccedilatildeo re-mota que teraacute acesso a alguns serviccedilos nas estaccedilotildees da rede local

Note que dos 64 endereccedilos de que dispomos iremos utilizar apenas seis (um para a rede outro de broadcast um no roteador e trecircs nos servidores) e os 58 restantes seratildeo desperdiccedilados Isso eacute muito comum nos contratos com operadoras ao menos no Brasil Esse tipo de contrato tem ajudado a agravar a escassez de endereccedilos IP disponiacuteveis na Internet

InstalaccedilatildeoVamos agora instalar a ferramenta que seraacute utilizada na configuraccedilatildeo do firewall Antes de iniciar no entanto eacute importante lembrar que a versatildeo mais recente do Shorewall no momento da escrita deste artigo era a 408

O Shorewall funciona da seguinte maneira ao ser iniciado o programa as configuraccedilotildees definidas nos arquivos do diretoacuterio etcshorewall satildeo com-piladas e convertidas em um arquivo que contenha as regras para o Iptables Caso natildeo ocorram erros as regras seratildeo aplicadas e o firewall ativado Do con-traacuterio o motivo da falha seraacute mostrado e o firewall natildeo seraacute iniciado

A partir do lanccedilamento da versatildeo 40 foram disponibilizadas duas ver-sotildees de compiladores para as regras do Shorewall a versatildeo em script de shell

Tabela 1 Descriccedilatildeo da rede de exemplo

RoteadorInterface Ethernet 20016616125426

Servidor FirewallInterface eth0 20016616119326

Interface eth1 192168125424

Interface eth2 1000130 (interface da DMZ)

Gateway padratildeo 200166161254 (IP do roteador)

DNS 200166161193 (o servidor firewall tambeacutem serviraacute DNS)

Servidor de email (mailmeu_sitecombr)Interface eth0 20016616119426

Maacutescara 255255255192

Gateway padratildeo 200166161254

DNS 200166161193

Servidor Web (wwwmeu_sitecombr)Interface Ethernet 200166161254

DNS 200166161193

Rede localIP da rede 19216810

Maacutescara 2552552550

IPs utilizaacuteveis 19216811 a 254

Broadcast 1921681255

Gateway padratildeo 1921681254 (eth1 no servidor firewall)

DNS server 1921681254 (eth1 no servidor firewall)

Figura 2 Detalhes da estrutura da rede usada neste artigo

copy Linux New Media do Brasil Editora Ltda

73

| SEGURANCcedilAShorewall

Linux Magazine 42 | Maio de 2008

que eacute a mais antiga e provavelmen-te seraacute descontinuada nas proacuteximas versotildees e a versatildeo em Perl bem mais raacutepida mas que ainda natildeo estaacute totalmente funcional Apesar disso muitos administradores jaacute a utilizam em produccedilatildeo sem qualquer proble-ma por isso vamos usar essa nova teacutecnica neste artigo

Como o Shorewall estaacute disponiacutevel nos repositoacuterios de pacotes de todas as principais distribuiccedilotildees natildeo abor-daremos a compilaccedilatildeo do software a partir dos fontes

Apoacutes a instalaccedilatildeo os arquivos que iremos editar na configuraccedilatildeo do fi-rewall seratildeo colocados no diretoacuterio etcshorewall sendo eles

interfacesmasqpolicyproxyarprulesshorewallconfzones

Os pacotes para Debian e Ubun-tu no entanto deixam os arquivos de configuraccedilatildeo-padratildeo em usrsharedocshorewalldefault-con-fig Nesse caso basta copiaacute-los para etcshorewall Em seguida jaacute podemos iniciar a configuraccedilatildeo do nosso firewall

ZonasDefiniremos duas zonas para a montagem do firewall uma para o proacuteprio servidor firewall que controlaraacute todo o traacutefego entre as zonas e uma para cada rede a que ele estiver conectado A tabe-la 2 mostra como seratildeo definidas essas zonas

Todas as configuraccedilotildees de zonas no Shorewall deveratildeo ser feitas no arquivo etcshorewallzones O exemplo 1 ilustra como deve ficar esse arquivo em nossa configura-ccedilatildeo Basta ele para definir todas as zonas do firewall Observe que as zonas NET LOC e DMZ foram confi-

guradas com o tipo ipv4 pois isso eacute obrigatoacuterio Note tambeacutem que a zona FW foi definida como sendo o proacuteprio firewall Com o comando man shorewall-zones o administrador pode ler mais informaccedilotildees sobre esse arquivo de configuraccedilatildeo

InterfacesCada zona seraacute vinculada a uma in-terface de rede do servidor exceto a zona FW que representaraacute o proacuteprio servidor e natildeo estaraacute vinculada a ne-nhuma interface Logo deveremos ter trecircs interfaces em nosso servidor eth0 Interface vinculada agrave zona

NET Essa interface seraacute conec-tada diretamente ao roteador que liga a rede agrave Internet Em nosso exemplo eth0 receberaacute o IP 20016616119326

eth1 Interface vinculada agrave zona LOC Essa interface deveraacute ser conectada ao switch da rede lo-cal e seraacute configurada com o IP 192168125424 Eacute preciso confi-gurar tambeacutem o servidor DHCP da rede local para que ele envie esse endereccedilo como gateway agraves estaccedilotildees (em nosso exemplo esse serviccedilo seraacute executado no proacuteprio servidor firewall)

eth2 Interface vinculada agrave zona DMZ Essa interface tem uma par-ticularidade seu IP seraacute con-figurado apenas com o intuito

Exemplo 1 Arquivo de zonas

01 ZONE TYPE OPTIONS IN OUT02 OPTIONS OPTIONS03 fw firewall04 net ipv405 loc ipv406 dmz ipv407 08 Natildeo apagar esta uacuteltima linha

Tabela 2 Definiccedilatildeo das zonas

Nome da zona

Componentes Caracteriacutesticas

Zona FW O proacuteprio firewall Tem livre acesso agraves demais zonas mas o acesso a ela seraacute controlado de acordo com os serviccedilos disponibilizados para cada zona

Zona NET Internet Seraacute considerada hostil em nossas configuraccedilotildees Eacute importante ter muito cuidado com ela

Zona LOC Rede local Nesta zona estaratildeo conectadas as estaccedilotildees locais da empresa Seu acesso agraves demais zonas seraacute controlado de acordo com os serviccedilos permitidos para essa zona

Zona DMZ Servidores da empresa que proveratildeo serviccedilos agrave Internet e agrave rede local

Essa zona teraacute dois servidores um com Linux (mailmeu_sitecombr) executando ser-viccedilos de e-mail e o outro com Windows Server (wwwmeu_sitecombr) que hospedaraacute o site da empresa (ver figura 1)

copy Linux New Media do Brasil Editora Ltda

74 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

de ativaacute-la mas natildeo pertenceraacute a nenhuma rede de qualquer zona Nela configuraremos o IP 1000130 e vamos conectaacute-la ao mesmo switch no qual seratildeo co-nectados os servidores da DMZ

Natildeo seraacute necessaacuterio seguir o padratildeo acima para montar os seus proacuteprios firewalls no entanto eacute recomendaacute-vel fazecirc-lo Tambeacutem eacute possiacutevel usar aliases de interfaces (eth00 por

exemplo) se necessaacuterio Todas as configuraccedilotildees de interfaces no Sho-rewall deveratildeo ser feitas no arquivo etcshorewallinterfaces

O exemplo 2 mostra como deve ser feita essa configuraccedilatildeo Observe que esse caso natildeo configura a zona FW uma vez que ela natildeo estaraacute vinculada a nenhuma interface Aleacutem disso os endereccedilos broadcast foram configura-dos para serem detectados automatica-

mente Jaacute para a interface eth0 que teraacute IP estaacutetico foram definidas as opccedilotildees tcpflags routerfilter nosmurfs nor-cf1918 e logmartians

Eacute interessante consultar o manual do arquivo de configuraccedilatildeo de interfa-ces e descobrir a funccedilatildeo de cada uma dessas opccedilotildees (man shorewall-inter-faces) Elimine-as se necessaacuterio (natildeo recomendaacutevel) ou adicione outras de acordo com as suas necessidades

PoliacuteticasDefinidas as zonas e interfaces defi-niremos agora as poliacuteticas de acesso entre cada par de zonas As definiccedilotildees mostradas na tabela 3 seratildeo adotadas como padratildeo para qualquer requisiccedilatildeo que ocorra entre as zonas

Para reforccedilar a seguranccedila vamos definir por fim que todas as requi-siccedilotildees vindas de qualquer zona (all) com destino a qualquer zona (all) se-ratildeo bloqueadas e que esses bloqueios sejam registrados no log com a tag info Essa regra deveraacute ser a uacuteltima no arquivo de configuraccedilatildeo

Todas as configuraccedilotildees das poliacuteticas de acesso no Shorewall devem ser feitas no arquivo etcshorewallpolicy como mostra o exemplo 3 Note que a regra geral ou seja a que define a poliacutetica de qualquer pacote foi a uacuteltima a ser definida justamente para ser aplicada apenas se os pacotes natildeo se encaixarem a nenhuma outra regra Mais uma vez eacute importante consultar a paacutegina de ma-nual do programa (man shorewall-policy) para obter mais detalhes

Tabela 3 Poliacuteticas entre zonas

Zona Poliacutetica Explicaccedilatildeo

FW ACCEPT Requisiccedilotildees vindas da zona FW com destino agraves de-mais zonas (all) seratildeo permitidas e nada seraacute regis-trado no log

LOC REJECT Requisiccedilotildees vindas da zona LOC com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Uma res-posta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

NET DROP Requisiccedilotildees vindas da zona NET com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

DMZ DROP Requisiccedilotildees vindas da zona DMZ com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

Mais informaccedilotildees

[1] Shorewall httpwwwshorewallnet

Exemplo 3 Arquivo de poliacuteticas

01 SOURCE DEST POLICY LOG LIMITBURST02 LEVEL03 fw all ACCEPT04 loc all REJECT info05 net all DROP info06 dmz all DROP info07 08 THE FOLLOWING POLICY MUST BE LAST09 10 all all DROP info11 12 Natildeo apagar esta uacuteltima linha

Exemplo 2 Arquivo de interfaces

01 ZONE INTERFACE BROADCAST OPTIONS02 net eth0 detect tcpflagsroutefilternosmurfsnorfc1918logmartians03 loc eth1 detect04 dmz eth2 detect05 06 Natildeo apagar esta uacuteltima linha

Sobre o autorTarciacutesio Carvalho Espiacutenola eacute coordenador de TI do Instituto Centec onde vem traba-lhando na implementaccedilatildeo de soluccedilotildees livres nos servidores da empresa Em seu tempo livre ele ainda manteacutem o site Opccedilatildeo Linux (httpwwwopcaolinuxcombr)

copy Linux New Media do Brasil Editora Ltda

75Linux Magazine 42 | Maio de 2008

PR

OG

RA

MA

CcedilAtilde

O

Trabalhe com um repositoacuterio online de scripts PHP

TesouroProgramadores PHP podem economizar tempo e trabalho com o uso do trecho script ou classe perfeitos para usar em seus programaspor Kenneth Hess

Haacute dezenas de repositoacuterios gratuitos de scripts que per-mitem que se navegue e es-

colha os scripts PHP para seu proacuteprio uso A maioria desses sites possui vaacute-rias ofertas desde scripts simples ateacute aplicativos web completos incluindo conjuntos inteiros de software Este artigo descreve alguns dos sites mais importantes na busca de um script PHP preacute-fabricado

devshedcomO Dev Shed[1] eacute o avocirc das comunida-des de desenvolvedores com recursos compartilhados O site tem um pa-gerank de 8 no Google e conta com mais de 150 mil assinantes Agora par-te da empresa Ziff Davis o Dev Shed eacute a comunidade de desenvolvedores mais destacada sendo usada por pro-gramadores de vaacuterias linguagens e tecnologias O site principal do Dev Shed tem foco em artigos tutoriais e na proacutepria comunidade de desenvol-vimento Quem desejar apenas scripts seraacute redirecionado do site principal para o Scriptscom[2] ndash a biblioteca de coacutedigo do Dev Shed

No Scriptscom pode-se ver que a aacuterea de PHP eacute a mais numerosa do repositoacuterio Seus mais de 4 mil scripts colocam essa seccedilatildeo com quase o dobro da segunda coloca-da Perl Depois de selecionado o repositoacuterio PHP a ser usado satildeo mostradas mais de 60 categorias diferentes A maioria dos sites com

repositoacuterios de scripts possui listas se-melhantes de categorias

Alguns sites natildeo possuem qualquer controle de qualidade ou orientaccedilatildeo de envio para os scripts recebidos mas o Scriptcom emprega regras um tanto rigorosas As orientaccedilotildees de envio protegem os usuaacuterios de softwares maliciosos e outros scripts ou teacutecnicas danosos que possam pre-judicar um site ou atacar o navegador dos visitantes Cada script listado tem uma descriccedilatildeo completa da tarefa que executa uma nota um link para o site do autor e um preccedilo Nem todos os scripts satildeo gratuitos Na verdade alguns satildeo caros mas geralmente o autor oferece suporte atualizaccedilotildees e possivelmente outros serviccedilos (como hospedagem por exemplo) pelo pre-ccedilo listado Alguns scripts satildeo gratuitos para uso pessoal mas exigem uma taxa para uso comercial

phpbuildercomO PHP Builder[3] eacute 100 dedicado ao uso e desenvolvimento de scripts PHP Sua comunidade eacute ativa e gen-

til com novos usuaacuterios Aleacutem disso haacute um foacuterum Newbies em que eacute permitido fazer perguntas que jaacute tenham sido respondidas milhotildees de vezes sem medo de sofrer repre-saacutelias ndash embora seja recomendaacutevel fazer uma busca antes de perguntar Assim como a maioria dos sites de comunidade eacute necessaacuterio registrar-se (gratuitamente) e fazer login antes de postar ou participar O PHP Buil-der eacute um dos sites de comunidade mais profissionais e bem mantidos desta seleccedilatildeo

Sua biblioteca de coacutedigos eacute me-nor que a dos outros ndash com apenas umas poucas centenas de scripts ndash mas eacute comum encontrar trechos de coacutedigo nos foacuteruns que resolvem seus problemas Caso o programador natildeo esteja seguro de suas habilidades de programaccedilatildeo existe um foacuterum de criacutetica de coacutedigo (chamado Coding Critique) no qual eacute possiacutevel colar o coacutedigo em questatildeo em busca de criacuteticas correccedilotildees e melhorias A forccedila do PHP Builder natildeo estaacute em sua biblioteca de coacutedigo mas em sua

Figura 1 Inicie a instalaccedilatildeo a partir da tela do DaDaBIK

Sophie ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

76 httpwwwlinuxmagazinecombr

PROGRAMACcedilAtildeO | Repositoacuterio PHP

comunidade Para os que precisam de respostas esse eacute o lugar

weberdevcomO Weberdev[4] ndash uma presenccedila obrigatoacuteria no kit de ferramentas de PHP ndash tem foacuteruns coacutedigo links e tutoriais excelentes Se a necessida-de for resolver rapidamente algum aspecto de programaccedilatildeo em PHP o Weberdevcom eacute a opccedilatildeo Sua biblio-teca de coacutedigo eacute um pouco esquisita de navegar mas o mecanismo de busca eacute raacutepido e inteligente

phpclassesorgPara usar algum dos scripts do PHP Classes[5] eacute necessaacuterio se registrar e fazer login mas eacute uma felicidade fazecirc-lo O PHP

Classes conteacutem trechos de coacute-digo orientados a objetos que podem ser acrescentados a qual-quer coacutedigo Para usar as classes e scripts eacute preciso ter ao menos uma compreensatildeo baacutesica de teacutec-nicas de programaccedilatildeo orientada a objetos Felizmente a maioria dos autores das classes fornece documentaccedilatildeo e exemplos fun-cionais de seus coacutedigos na forma de paacuteginas PHP completas

Eacute possiacutevel ler os blogs dos au-tores pedir mais informaccedilotildees so-bre uma classe diretamente a um autor envolver-se nos foacuteruns em busca de perguntas e respostas ou simplesmente obter classes a par-tir do enorme repositoacuterio Muitas classes desse site ainda continu-

am funcionando mesmo depois de quatro anos em produccedilatildeo O PHP Classes deve ser incluiacutedo nos favoritos de quem quer que esteja agrave procura de um excelen-te recurso para scripts classes e trechos PHP

Esse site tambeacutem possui uma lista de emails que notifica os assinantes em relaccedilatildeo a novas classes quando satildeo adicionadas ao repositoacuterio ndash os emails incluem um resumo da clas-se sua classificaccedilatildeo e uma curta biografia do autor Novas classes satildeo acrescentadas todos os dias

phpnetO phpnet[6] eacute o site oficial da lin-guagem onde se origina todo o coacutedigo PHP gerado Apesar de natildeo possuir uma biblioteca de coacutedigo propriamente dita eacute possiacutevel encon-trar no site uma grande quantidade de coacutedigos

Se o visitante procurar qualquer funccedilatildeo ndash fwrite por exemplo ndash rece-beraacute a paacutegina que descreve a sintaxe e o uso dessa funccedilatildeo Mais abaixo na mesma paacutegina satildeo exibidos tre-chos de coacutedigo que demonstram a funccedilatildeo em accedilatildeo

advancescriptscomO oceano de banners e anuacutencios piscantes talvez seja a primeira ca-racteriacutestica a chamar a atenccedilatildeo dos visitantes do AdvanceScripts[7] Esse site tem muito a oferecer e merece ser navegado entatildeo natildeo se deixe assus-tar pela forma de suporte financeiro escolhida por eles O AdvanceScripts hospeda quase 6 mil scripts PHP em seu repositoacuterio

Assim como ocorre com os outros sites nem todos os scripts satildeo gratui-tos entatildeo eacute importante ter cuidado com as escolhas feitas

Baixe altere e useApenas para ilustrar as ofertas bai-xei um script de um desses sites e adaptei-o para meu proacuteprio uso Esse

Figura 2 Ao teacutermino da instalaccedilatildeo eacute exibido um resumo das mensagens de alerta e de instalaccedilatildeo

Figura 3 A paacutegina indexphp mostra informaccedilotildees da tabela

copy Linux New Media do Brasil Editora Ltda

77

| PROGRAMACcedilAtildeORepositoacuterio PHP

Linux Magazine 42 | Maio de 2008

exemplo raacutepido mostraraacute como eacute faacutecil implementar uma ferramenta a partir de uma biblioteca de coacutedigo Como meu trabalho envolve bancos de da-dos e PHP optei pelo foco em scripts relacionados a bancos de dados Na biblioteca do Scriptscom em PHP Scripts | Database Tools encontrei o DaDaBIK[8][9] (Databases Inter-face Kreator) cuja descriccedilatildeo oficial traduzida eacute ldquoum aplicativo PHP gratuito que permite criar facilmen-te uma interface de formulaacuterio web altamente personalizaacutevel para um banco de dados MySQL para buscar inserir atualizar e apagar registros basta especificar alguns paracircmetros de configuraccedilatildeordquo

Eacute interessante verificar a descriccedilatildeo do script antes de baixaacute-lo O script eacute pequeno (16 MB) bem documen-tado e livre (utiliza a GPL) Os re-quisitos miacutenimos do DaDaBIK satildeo PHP posterior agrave versatildeo 405 e um banco de dados (MySQL Oracle PostgreSQL ou MS SQL)

As etapas de instalaccedilatildeo satildeo seme-lhantes agraves de outros scripts da Inter-net Deve-se baixar e descompactar o pacote e depois procurar o arquivo documentationhtm que fornece as instruccedilotildees de instalaccedilatildeo Seguindo as instruccedilotildees renomeie o diretoacuterio program_files para dadabik e copie-o para o diretoacuterio webroot

Apoacutes abrir o arquivo includecon-figphp eacute preciso digitar os paracircme-tros mostrados na tabela 1 Depois de digitaacute-los e salvaacute-los abra um nave-gador e aponte-o para a paacutegina de instalaccedilatildeo do DaDaBIK httpwwwnome_do_sitecombrdadabikinstallphp (figura 1) Apoacutes clicar no botatildeo de instalaccedilatildeo e finalizar o processo seraacute exibida uma tela semelhante agrave figura 2 que mostra alertas e men-sagens da instalaccedilatildeo

Ao clicar no link no alto da paacutegina para sair da aacuterea de administraccedilatildeo o administrador seraacute redirecionado para a paacutegina indexphp onde veraacute a primeira tabela de banco de dados

(figura 3) As tabelas satildeo listadas em ordem alfabeacutetica na lista drop-down Nessa paacutegina eacute possiacutevel editar inse-rir apagar ou buscar registros

Como se pode ver o DaDaBIK eacute faacutecil de instalar e raacutepido para confi-gurar e usar O exemplo deste artigo teve sucesso devido agrave excelente do-cumentaccedilatildeo incluiacuteda na ferramen-ta Ao procurar numa biblioteca de coacutedigo eacute importante sempre esco-lher scripts classes e aplicativos com muita documentaccedilatildeo

Exceto no caso de programadores experientes que se sintam confor-taacuteveis ao analisar coacutedigo alheio eacute fundamental ter acesso a uma boa documentaccedilatildeo Raramente a docu-mentaccedilatildeo interna de um script (co-mentaacuterios no coacutedigo) explica com-pletamente seu comportamento

ResumoMuitos programadores pensam ser capazes de produzir todo o coacutedi-go de um aplicativo Usar trechos de coacutedigos e ideacuteias de outros pro-gramadores eacute uma oacutetima forma de melhorar as habilidades em programaccedilatildeo poreacutem o trabalho natildeo eacute feito simplesmente baixan-do-se um script ou trecho ndash ainda eacute necessaacuterio adaptar o coacutedigo ao ambiente no qual ele seraacute usado Frequumlentemente essa tarefa natildeo eacute

faacutecil Eacute interessante usar todos os recursos disponiacuteveis para conhecer outros profissionais ao longo do caminho e rapidamente tornar-se o tipo de programador que ajuda os outros

Mais informaccedilotildees

[1] PHP no Dev Shed httpwwwdevshedcomcbPHP

[2] Scriptscom httpwwwscriptscom

[3] PHP Builder httpwwwphpbuildercom

[4] Weberdev httpwwwweberdevcom

[5] PHP Classes httpwwwphpclassesorg

[6] PHPnet httpwwwphpnet

[7] Advance Scripts httpwwwadvancescriptscom

[8] DaDaBIK no Scriptscom httpwwwscriptscomphp-scriptsdatabase-toolsdadabik

[9] DaDaBIK httpwwwdadabikorg

Tabela 1 Paracircmetros do configphp

Paracircmetro Descriccedilatildeo$dbms_type Tipo do banco de dados (MySQL Postgres7 Postgres8

Mssql ou oci8po)

$host Nome do servidor de banco de dados (normalmente local-host)

db_name Nome do banco de dados a ser usado com o DaDaBIK

$user Conta de usuaacuterio do banco de dados que possa fazer SE-LECT INSERT DELETE e UPDATE nos registros do banco

$pass Senha do usuaacuterio no banco de dados

$site_url URL completa do DaDaBIK (httpwwwnome_do_sitecombrdadabik)

$site_path Caminho relativo do DaDaBIK (dadabik)

copy Linux New Media do Brasil Editora Ltda

78

SE

RV

ICcedilO

S

httpwwwlinuxmagazinecombr

Fornecedor de Hardware = 1 Redes e Telefonia PBX = 2 Integrador de Soluccedilotildees = 3

Literatura Editora = 4 Fornecedor de Software = 5

Consultoria Treinamento = 6

Linuxlocal

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

CearaacuteF13 Tecnologia Fortaleza Rua Coronel Solon 480 ndash Bairro de Faacutetima

Fortaleza - CE - CEP 60040-270 85 3252-3836 wwwf13combr

Espiacuterito SantoLinux Shopp Vila Velha Rua Satildeo Simatildeo (Correspondecircncia) 18 ndash CEP 29113-120 27 3082-0932 wwwlinuxshoppcombr

Megawork Consultoria e Sistemas

Vitoacuteria Rua Chapot Presvot 389 ndash Praia do Can-to ndash CEP 29055-410 sl 201 202

27 3315-2370 wwwmegaworkcombr

Spirit Linux Vitoacuteria Rua Marins Alvarino 150 ndash CEP 29047-660 27 3227-5543 wwwspiritlinuxcombr

Minas GeraisInstituto Online Belo Horizonte Av Bias Fortes 932 Sala 204 ndash CEP 30170-011 31 3224-7920 wwwinstitutoonlinecombr

Linux Place Belo Horizonte Rua do Ouro 136 Sala 301 ndash Serra ndash CEP 30220-000 31 3284-0575 corporatelinuxplacecombr

Microhard Belo Horizonte Rua Repuacuteblica da Argentina 520 ndash Sion ndash CEP 30315-490 31 3281-5522 wwwmicrohardcombr

TurboSite Belo Horizonte Rua Paraiacuteba 966 Sala 303 ndash Savassi ndash CEP 30130-141 0800 702-9004 wwwturbositecombr

ParanaacuteiSolve Curitiba Av Cacircndido de Abreu 526 Cj 1206B ndash CEP 80530-000 41 252-2977 wwwisolvecombr

Mandriva Conectiva Curitiba Rua Tocantins 89 ndash Cristo Rei ndash CEP 80050-430 41 3360-2600 wwwmandrivacombr

Telway Tecnologia Curitiba Rua Francisco Rocha 183071 41 3203-0375 wwwtelwaycombr

Rio de JaneiroNSI Training Rio de Janeiro Rua Arauacutejo Porto Alegre 71 4ordmandar Centro ndash CEP 20030-012 21 2220-7055 wwwnsicombr

Open IT Rio de Janeiro Rua do Mercado 34 Sl 402 ndash Centro ndash CEP 20010-120 21 2508-9103 wwwopenitcombr

Unipi Tecnologias Campos dos Goytacazes

Av Alberto Torres 303 1ordmandar - Centro ndash CEP 28035-581 22 2725-1041 wwwunipicombr

Rio Grande do Sul4up Soluccedilotildees Corporativas Novo Hamburgo Pso Calccediladatildeo Osvaldo Cruz 54 sl 301 CEP 93510-015 51 3581-4383 www4upcombr

Definitiva Informaacutetica Novo Hamburgo Rua General Osoacuterio 402 - Hamburgo Velho 51 3594 3140 wwwdefinitivacombr

Solis Lajeado Rua Comandante Wagner 12 ndash Satildeo Cristoacutevatildeo ndash CEP 95900-000 51 3714-6653 wwwsoliscoopbr

DualCon Novo Hamburgo Rua Joaquim Pedro Soares 1099 Sl 305 ndash Centro 51 3593-5437 wwwdualconcombr

Datarecover Porto Alegre Av Carlos Gomes 403 Sala 908 Centro Comer-cial Atrium Center ndash Bela Vista ndash CEP 90480-003

51 3018-1200 wwwdatarecovercombr

LM2 Consulting Porto Alegre Rua Germano Petersen Junior 101-Sl 202 ndash Hi-gienoacutepolis ndash CEP 90540-140

51 3018-1007 wwwlm2combr

Lnx-IT Informaccedilatildeo e Tecnologia Porto Alegre Av Venacircncio Aires 1137 ndash Rio Branco ndash CEP 90040193 51 3331-1446 wwwlnx-itinfbr

Plugin Porto Alegre Av Juacutelio de Castilhos 132 11ordm andar Centro ndash CEP 90030-130 51 4003-1001 wwwplugincombr

TeHospedo Porto Alegre Rua dos Andradas 1234610 ndash Centro ndash CEP 90020-008 51 3286-3799 wwwtehospedocombr

Satildeo PauloWs Host Arthur Nogueira Rua Jerere 36 ndash Vista Alegre ndash CEP 13280-000 19 3846-1137 wwwwshostcombr

DigiVoice Barueri Al Juruaacute 159 Teacuterreo ndash Alphaville ndash CEP 06455-010 11 4195-2557 wwwdigivoicecombr

Dextra Sistemas Campinas Rua Antocircnio Paioli 320 ndash Pq das Universidades ndash CEP 13086-045 19 3256-6722 wwwdextracombr

Insigne Free Software do Brasil Campinas Av Andrades Neves 1579 ndash Castelo ndash CEP 13070-001 19 3213-2100 wwwinsignesoftwarecom

Microcamp Campinas Av Thomaz Alves 20 ndash Centro ndash CEP 13010-160 19 3236-1915 wwwmicrocampcombr

PC2 Consultoria em Software Livre

Carapicuiba Rua Edeia 500 - CEP 06350-080 11 3213-6388 wwwpc2consultoriacom

Savant Tecnologia Diadema Av Senador Vitorino Freire 465 ndash CEP 09910-550 11 5034-4199 wwwsavantcombr

Epopeacuteia Informaacutetica Mariacutelia Rua Goiaacutes 392 ndash Bairro Cascata ndash CEP 17509-140 14 3413-1137 wwwepopeiacombr

Redentor Osasco Rua Costante Piovan 150 ndash Jd Trecircs Montanhas ndash CEP 06263-270 11 2106-9392 wwwredentorindbr

Go-Global Santana de Parnaiacuteba

Av Yojiro Takaoca 4384 Ed Shopping Ser-vice Cj 1013 ndash CEP 06541-038

11 2173-4211 wwwgo-globalcombr

AW2NET Santo Andreacute Rua Edson Soares 59 ndash CEP 09760-350 11 4990-0065 wwwaw2netcombr

Async Open Source Satildeo Carlos Rua Orlando Damiano 2212 ndash CEP 13560-450 16 3376-0125 wwwasynccombr

Delix Internet Satildeo Joseacute do Rio Preto

Rua Voluntaacuterio de Satildeo Paulo 3066 9ordm ndash Centro ndash CEP 15015-909 11 4062-9889 wwwdelixhostingcombr

O maior diretoacuterio de empresas que oferecem produtos soluccedilotildees e serviccedilos em Linux e Software Livre organizado por Estado Sentiu falta do nome de sua empresa aqui Entre em contato com a gente 11 4082-1300 ou anuncioslinuxmagazinecombr

copy Linux New Media do Brasil Editora Ltda

79

| SERVICcedilOSLinuxlocal

Linux Magazine 42 | Maio de 2008

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

Satildeo Paulo (continuaccedilatildeo)4Linux Satildeo Paulo Rua Teixeira da Silva 660 6ordm andar ndash CEP 04002-031 11 2125-4747 www4linuxcombr

A Casa do Linux Satildeo Paulo Al Jauacute 490 ndash Jd Paulista ndash CEP 01420-000 11 3549-5151 wwwacasadolinuxcombr

Accenture do Brasil Ltda Satildeo Paulo Rua Alexandre Dumas 2051 ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 5188-3000 wwwaccenturecombr

ACR Informaacutetica Satildeo Paulo Rua Lincoln de Albuquerque 65 ndashPerdizes ndash CEP 05004-010 11 3873-1515 wwwacrinformaticacombr

Agit Informaacutetica Satildeo Paulo Rua Major Quedinho 111 5ordm andar Cj 508 ndash Centro ndash CEP 01050-030

11 3255-4945 wwwagitcombr

Altbit - Informaacutetica Co-meacutercio e Serviccedilos LTDA

Satildeo Paulo Av Francisco Matarazzo 229 Cj 57 ndash Aacutegua Branca ndash CEP 05001-000

11 3879-9390 wwwaltbitcombr

AS2M -WPC Consultoria Satildeo Paulo Rua Trecircs Rios 131 Cj 61A ndash Bom Retiro ndash CEP 01123-001 11 3228-3709 wwwwpccombr

Big Host Satildeo Paulo Rua Dr Miguel Couto 58 ndash Centro ndash CEP 01008-010 11 3033-4000 wwwbighostcombr

Blanes Satildeo Paulo Rua Andreacute Ampeacutere 153 ndash 9ordm andar ndash Conj 91 CEP 04562-907 (proacutex Av L C Berrini)

11 5506-9677 wwwblanescombr

Commlogik do Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 13797 Bloco II 6ordm andar ndash Morumbi ndash CEP 04794-000

11 5503-1011 wwwcommlogikcombr

Computer Consulting Pro-jeto e Consultoria Ltda

Satildeo Paulo Rua Vergueiro 6455 Cj 06 ndash Alto do Ipiranga ndash CEP 04273-100 11 5062-3927 wwwcomputerconsultingcombr

Consist Consultoria Siste-mas e Representaccedilotildees Ltda

Satildeo Paulo Av das Naccedilotildees Unidas 20727 ndash CEP 04795-100 11 5693-7210 wwwconsistcombr

Domiacutenio Tecnologia Satildeo Paulo Rua das Carnaubeiras 98 ndash Metrocirc Conceiccedilatildeo ndash CEP 04343-080 11 5017-0040 wwwdominiotecnologiacombr

EDS do Brasil Satildeo Paulo Av Pres Juscelino Kubistcheck 1830 Torre 4 - 5ordm andar 11 3707-4100 wwwedscom

Eacutetica Tecnologia Satildeo Paulo Rua Nova York 945 ndash Brooklin ndash CEP04560-002 11 5093-3025 wwweticanet

Getronics ICT Solu-tions and Services

Satildeo Paulo Rua Verbo Divino 1207 ndash CEP 04719-002 11 5187-2700 wwwgetronicscombr

Hewlett-Packard Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 12901 25ordm andar ndash CEP 04578-000 11 5502-5000 wwwhpcombr

IBM Brasil Ltda Satildeo Paulo Rua Tutoacuteia 1157 ndash CEP 04007-900 0800-7074 837 wwwbribmcom

iFractal Satildeo Paulo Rua Fiaccedilatildeo da Sauacutede 145 Conj 66 ndash Sauacutede ndash CEP 04144-020 11 5078-6618 wwwifractalcombr

Integral Satildeo Paulo Rua Dr Gentil Leite Martins 295 2ordm andar Jd Prudecircncia ndash CEP 04648-001

11 5545-2600 wwwintegralcombr

Itautec SA Satildeo Paulo Rua Santa Catarina 1 ndash Tatuapeacute ndash CEP 03086-025 11 6097-3000 wwwitauteccombr

Kenos Consultoria Satildeo Paulo Av Fagundes Filho 13 Conj -53 ndash CEP 04304-000 11 40821305 wwwkenoscombr

Konsultex Informatica Satildeo Paulo Av Dr Guilherme Dumont Villares 1410 6 andar CEP 05640-003 11 3773-9009 wwwkonsultexcombr

Linux Komputer Informaacutetica Satildeo Paulo Av Dr Lino de Moraes Leme 185 ndash CEP 04360-001 11 5034-4191 wwwkomputercombr

Linux Mall Satildeo Paulo Rua Machado Bittencourt 190 Cj 2087 ndash CEP 04044-001 11 5087-9441 wwwlinuxmallcombr

Livraria Tempo Real Satildeo Paulo Al Santos 1202 ndash Cerqueira Ceacutesar ndash CEP 01418-100 11 3266-2988 wwwtemporealcombr

Locasite Internet Service Satildeo Paulo Av Brigadeiro Luiz Antonio 2482 3ordm andar ndash Centro ndash CEP 01402-000

11 2121-4555 wwwlocasitecombr

Microsiga Satildeo Paulo Av Braz Leme 1631 ndash CEP 02511-000 11 3981-7200 wwwmicrosigacombr

Novatec Editora Ltda Satildeo Paulo Rua Luis Antonio dos Santos 110 ndash Santana ndash CEP 02460-000 11 6979-0071 wwwnovateceditoracombr

Novell Ameacuterica Latina Satildeo Paulo Rua Funchal 418 ndash Vila Oliacutempia 11 3345-3900 wwwnovellcombrasil

Oracle do Brasil Sistemas Ltda Satildeo Paulo Av Alfredo Egiacutedio de Souza Aranha 100 ndash Bloco B ndash 5ordm andar ndash CEP 04726-170

11 5189-3000 wwworaclecombr

Proelbra Tecnolo-gia Eletrocircnica Ltda

Satildeo Paulo Av Rouxinol 1041 Cj 204 2ordm andar Moema ndash CEP 04516-001 11 5052- 8044 wwwproelbracombr

Provider Satildeo Paulo Av Cardoso de Melo 1450 6ordm andar ndash Vila Oliacutempia ndash CEP 04548-005

11 2165-6500 wwwe-providercombr

Red Hat Brasil Satildeo Paulo Av Brigadeiro Faria Lima 3900 Cj 81 8ordm andar Itaim Bibi ndash CEP 04538-132

11 3529-6000 wwwredhatcombr

Samurai Projetos Especiais Satildeo Paulo Rua Baratildeo do Triunfo 550 6ordm andar ndash CEP 04602-002 11 5097-3014 wwwsamuraicombr

SAP Brasil Satildeo Paulo Av das Naccedilotildees Unidas 11541 16ordm andar ndash CEP 04578-000 11 5503-2400 wwwsapcombr

Simples Consultoria Satildeo Paulo Rua Mourato Coelho 299 Cj 02 Pinheiros ndash CEP 05417-010 11 3898-2121 wwwsimplesconsultoriacombr

Smart Solutions Satildeo Paulo Av Jabaquara 2940 cj 56 e 57 11 5052-5958 wwwsmart-teccombr

Snap IT Satildeo Paulo Rua Joatildeo Gomes Junior 131 ndash Jd Bonfiglioli ndash CEP 05299-000 11 3731-8008 wwwsnapitcombr

Stefanini IT Solutions Satildeo Paulo Av Brig Faria Lima 1355 19ordm ndash Pinheiros ndash CEP 01452-919 11 3039-2000 wwwstefaninicombr

Sun Microsystems Satildeo Paulo Rua Alexandre Dumas 2016 ndash CEP 04717-004 11 5187-2100 wwwsuncombr

Sybase Brasil Satildeo Paulo Av Juscelino Kubitschek 510 9ordm andar Itaim Bibi ndash CEP 04543-000 11 3046-7388 wwwsybasecombr

The Source Satildeo Paulo Rua Marquecircs de Abrantes 203 ndash Chaacutecara Tatuapeacute ndash CEP 03060-020

11 6698-5090 wwwthesourcecombr

Unisys Brasil Ltda Satildeo Paulo R Alexandre Dumas 1658 ndash 6ordm 7ordm e 8ordm andares ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 3305-7000 wwwunisyscombr

Utah Satildeo Paulo Av Paulista 925 13ordm andar ndash Cerqueira Ceacutesar ndash CEP 01311-916 11 3145-5888 wwwutahcombr

Visuelles Satildeo Paulo Rua Eng Domicio Diele Pacheco e Silva 585 ndash Interlagos ndash CEP 04455-310

11 5614-1010 wwwvisuellescombr

Webnow Satildeo Paulo Av Naccedilotildees Unidas 12995 10ordm andar Ed Plaza Centenaacuterio ndash Chaacutecara Itaim ndash CEP 04578-000

11 5503-6510 wwwwebnowcombr

WRL Informaacutetica Ltda Satildeo Paulo Rua Santa Ifigecircnia 211213 Box 02ndash Centro ndash CEP 01207-001 11 3362-1334 wwwwrlcombr

Systech Taquaritinga Rua Satildeo Joseacute 1126 ndash Centro - Caixa Postal 71 ndash CEP 15900-000 16 3252-7308 wwwsystech-ltdcombr

| SERVICcedilOSLinuxlocal

copy Linux New Media do Brasil Editora Ltda

80

SERVICcedil

OS

httpwwwlinuxmagazinecombr

User Friendly ndash Os quadrinhos mensais da Linux Magazine

Calendaacuterio de eventosEvento Data Local Website

ApacheCon Europe 2008 7 a 11 de abril Amsterdam Holanda wwweuapacheconcom

II Encontro Software Livre da Paraiacuteba

2 a 4 de maio Joatildeo Pessoa PB ensolorgbr

LinuxTag 28 a 31 de maio Berlin Alemanha htttpwwwlinuxtagorg

LinuxWorld Conference and Expo

04 a 07 de agosto Satildeo Francisco EUAhttpwwwlinuxworldexpocomlive12

Linux Park 10 de junho Porto Alegre RS wwwlinuxparkcombr

Linux Park 24 de junho Rio de Janeiro RJ wwwlinuxparkcombr

Iacutendice de anunciantes

Empresa PaacutegEasyLinux 15

Guia de TI 83

Impacta 27

Kenos 22 23

Linux Magazine 33

Linux Magazine Online 81

Linux Park 84

Linux Pocket Pro 02 09

Linux Pro 31

Linux Technical Review 07

LPI 57

Plugin 11

Starter Kit 13

Watch Guard 19

copy Linux New Media do Brasil Editora Ltda

LM40_sitepdf 146 190208 124436

copy Linux New Media do Brasil Editora Ltda

82 httpwwwlinuxmagazinecombr

Na Linux Magazine 43

PREVIE

W

DESTAQUE

Alta disponibilidadeSe o pneu do seu carro furar como vocecirc age Se a base de dados principal do seu banco cair o que acontece Se aquele software do qual sua empresa depende profundamente simplesmente fechar o que poderaacute ser feito

No caso do carro a resposta eacute bastante simples use o estepe Durante alguns minutos vocecirc natildeo poderaacute andar com o carro mas esse atraso certa-mente seraacute perdoado por quem quer que tenha um bom coraccedilatildeo No entanto o banco de dados de uma instituiccedilatildeo financeira assim como o software de missatildeo criacutetica da sua empresa jamais pode parar Para as empresas envolvi-

das qualquer problema significa perder dinheiro ndash e geralmente em quantidade suficiente para ocasionar demissotildees

Felizmente para os ad-ministradores de sistemas e gestores de TI jaacute dispomos hoje de oacutetimas soluccedilotildees de alta disponibilidade e vamos exploraacute-las em detalhes na Linux Magazine 43

Seguranccedila

DNSSECOs administradores de sistemas e consultores de seguranccedila utilizam estrateacutegias sofisticadas para proteger redes mas ainda existe uma parte muito baacutesica da infra-estrutura da Internet que permanece surpreen-dentemente vulneraacutevel o sistema de resoluccedilatildeo de nomes Existem teacutecnicas elaboradas para forjar res-postas DNS e da mesma forma maneiras tambeacutem engenhosas de contornar esses ataques De todas elas o DNSSEC desponta como uma das mais eficazes para prote-ger redes por meio de criptografia e autenticaccedilatildeo

Conheccedila essa tecnologia e man-tenha seu sistema de resoluccedilatildeo de nomes protegido

DESTAQUE

PortaacuteteisOs laptops e notebooks sempre deram aos seus possui-dores um certo glamour status de pessoas antenadas e claro fama de gente que tinha ldquogranardquo ndash afinal um bom portaacutetil ateacute dois anos atraacutes natildeo custava nada barato Com o passar do tempo no entanto fabricantes foram criando uma nova geraccedilatildeo de no-tebooks menores sem partes mecacircnicas quebraacuteveis em boa parte de suas versotildees e mais baratos Esses aparelhinhos chamados de sub-notebooks vecircm ganhando espaccedilo tanto entre os clientes ldquotradicio-naisrdquo dos laptops quanto entre pessoas que jamais imaginaram ter um portaacutetil

Oficina

Com jeito de cinemaA qualidade de auacutedio e viacutedeo da TV digital recente-

mente iniciada no Brasil eacute um atrativo para quem deseja assistir programas em alta resoluccedilatildeo e ateacute gravar alguns de seus preferidos Se os receptores de TV ainda estatildeo muito caros receptores USB para computador oferecem a ima-gem de cinema e qualidade de som de DVD E o que eacute melhor usando Linux

Na EasyLinux 13

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

42 0508

R$ 1390 euro 750

9771806

942009

00042

A REVISTA DO PROFISSIONAL DE TI

Linu

x M

agazin

e

42 42

M

aio

200

8

052008

WWWLINUXMAGAZINECOMBR

RICARDO BIMBO p30No Linux empresas e voluntaacuterios colaboram harmoniosamente

BOSSA CONFERENCE 2008 p24Evento internacional aponta para um futuro moacutevel com Coacutedigo Aberto

ENTREVISTA SAP p28Empresa aposta em reestruturaccedilatildeo de arquiteturas rumo ao SOA

VEJA TAMBEacuteM NESTA EDICcedilAtildeO

raquo ADempiere e Eclipse desenvolvimento integrado p49

raquo LPIC-2 aula 11 DNS p52

raquo BI de coacutedigo aberto com SpagoBI p59

raquo Os melhores repositoacuterios de coacutedigo PHP p75

REDES ADMINISTRACcedilAtildeO CENTRALIZADA p66

O Puppet toma conta do gerenciamento e confi guraccedilatildeo de servidores e desktops na rede

SEGURANCcedilA FIREWALL PRAacuteTICO p71

Ateacute os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall

SOA

PRINCIacutePIOS

REDHAT

N

OVAFORGE

SHOREWALL

PUPPET

PHP

SPAGOBI

ADEM

PIERE

LPIC-2

INDT

A ARQUITETURA ORIENTADA A SERVICcedilOS DAacute FOCO AOS NEGOacuteCIOS E SERVE RECURSOS DISTRIBUIacuteDOS COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS p34

raquo A Red Hat oferece a pilha completa para SOA p36

raquo Serviccedilos distribuiacutedos soluccedilotildees integradas p40

raquo NovaForge uma faacutebrica de software corporativo p44

SOA

ex

em

pla

r d

e

Ass

inan

teve

nd

a

pro

ibid

a

copy Linux New Media do Brasil Editora Ltda

  • Capa
  • Editorial
  • Iacutendice
  • Cartas
  • Augusto Campos
  • Charly Kuumlhnast
  • Klaus Knopper
  • Zack Brown
  • Seguranccedila
  • Notiacutecias
  • Notiacutecias Corporate
  • A bossa da mobilidade
  • Software bem rodado
  • 100 de serviccedilo
  • Cezar Taurion
  • Ricardo Bimbo
  • Edgar Silva
  • Introduccedilatildeo de Capa
  • Bem arquitetado
  • Clientes espalhados servidores distribuiacutedos
  • Quase faz cafeacute
  • Produto importado
  • LPI niacutevel 2 Aula 11
  • Negoacutecio inteligente
  • Para conquistar o puacuteblico
  • Marionete
  • Domando o fogo
  • Tesouro
  • Linuxlocal
  • Serviccedilos
  • Na Linux Magazine 43
Page 2: © Linux New Media do Brasil Editora Ltda.

copy Linux New Media do Brasil Editora Ltda

3

Expediente editorialDiretor Geral Rafael Peregrino da Silva rperegrinolinuxmagazinecombr

Editor-chefe Tadeu Carmona tcarmonalinuxmagazinecombr

Editor Pablo Hess phesslinuxmagazinecombr

Redator Rodrigo Amorim ramorimlinuxmagazinecombr

Revisatildeo Jamile Leatildeo jleaolinuxmagazinecombr

Editor de Arte Lucas Oliveira loliveiralinuxmagazinecombr

Assistente de Arte Igor Dauriacutecio isilvalinuxmagazinecombr

Centros de Competecircncia Centro de Competecircncia em Software Oliver Frommel ofrommellinuxnewmediade Kristian Kiszligling kkisslinglinuxnewmediade Peter Kreussel pkreussellinuxnewmediade Marcel Hilzinger hilzingerlinuxnewmediade Centro de Competecircncia em Redes e Seguranccedila Achim Leitner aleitnerlinuxnewmediade Jens-Christoph B jbrendellinuxnewmediade Hans-Georg Eszliger hgesserlinuxnewmediade Thomas Leichtenstern tleichtensternlinuxnewmediade Max Werner mwernerlinuxnewmediade Markus Feilner mfeilnerlinuxnewmediade Nils Magnus nmagnuslinuxnewmediade

Anuacutencios Rafael Peregrino da Silva (Brasil) anuncioslinuxmagazinecombr Tel +55 (0)11 4082 1300 Fax +55 (0)11 4082 1302

Petra Jaser (Alemanha Aacuteustria e Suiacuteccedila) anzeigenlinuxnewmediade

Penny wilby (Reino Unido e Irlanda) pwilbylinux-magazinecom

Amy Phalen (Estados Unidos) anzeigenlinuxnewmediade

Hubert Wiest (Outros paiacuteses) hwiestlinuxnewmediade

Assinaturas wwwlinuxnewmediacombr assinaturaslinuxmagazinecombr

Na Internet wwwlinuxmagazinecombr ndash Brasil wwwlinux-magazinde ndash Alemanha wwwlinux-magazinecom ndash Portal Mundial wwwlinuxmagazinecomau ndash Austraacutelia wwwlinux-magazineca ndash Canadaacute wwwlinux-magazinees ndash Espanha wwwlinux-magazinepl ndash Polocircnia wwwlinux-magazinecouk ndash Reino Unido wwwlinux-magazinro ndash Romecircnia

Gerente de Circulaccedilatildeo Mirian Domingues mdomingueslinuxmagazinecombr

Apesar de todos os cuidados possiacuteveis terem sido tomados durante a produccedilatildeo desta revista a editora natildeo eacute responsaacutevel por eventuais imprecisotildees nela contidas ou por consequumlecircncias que advenham de seu uso A utilizaccedilatildeo de qualquer material da revista ocorre por conta e risco do leitor

Nenhum material pode ser reproduzido em qualquer meio em par-te ou no todo sem permissatildeo expressa da editora Assume-se que qualquer correspondecircncia recebida tal como cartas emails faxes fotografi as artigos e desenhos sejam fornecidos para publicaccedilatildeo ou licenciamento a terceiros de forma mundial natildeo-exclusiva pela Linux New Media do Brasil a menos que explicitamente indicado

Linux eacute uma marca registrada de Linus Torvalds

Linux Magazine eacute publicada mensalmente por

Linux New Media do Brasil Editora Ltda Av Fagundes Filho 134 Conj 53 ndash Sauacutede 04304-000 ndash Satildeo Paulo ndash SP ndash Brasil Tel +55 (0)11 4082 1300 Fax +55 (0)11 4082 1302Direitos Autorais e Marcas Registradas copy 2004 - 2008Linux New Media do Brasil Editora LtdaDistribuiccedilatildeo DistmagImpressatildeo e Acabamento Parma

Atendimento AssinantesSatildeo Paulo +55 (0)11 3512 9460Rio de Janeiro +55 (0)21 3512 0888 Belo Horizonte +55 (0)31 3516 1280

ISSN 1806-9428 Impresso no Brasil

Prezados leitores da Linux Magazine

Empresas de pesquisa de mercado tecircm a aacuterdua tarefa de mediante uma cuidadosa e criteriosa observaccedilatildeo dos acontecimentos atuais e passados estabelecer previsotildees para o comportamento do mercado no futuro tanto proacute-ximo quanto distante Obviamente eacute faacutecil desacreditar as conclusotildees de tais profissionais caracterizando-as como ldquoachismordquo ou ldquopuro chuterdquo No entanto eacute muito interes-sante quando verificamos que o erro das previsotildees estaacute na superestimativa do tempo ateacute a ocorrecircncia do evento

O Gartner Group previu recentemente para o Software Livre e de Coacutedigo Aberto (SLCA) um futuro proacutespero Segundo as conclusotildees da empresa em poucos anos to-dos os negoacutecios estaratildeo utilizando SLCA mesmo aqueles com preferecircncia pelo modelo de ldquosoftware como serviccedilordquo abordado nesta ediccedilatildeo O engano no caso foi a estimati-va de tempo Jaacute temos hoje em dia praticamente todas as empresas utilizando SLCA O acesso aos bancos atraveacutes da Internet eacute um dos principais fatores nessa afirmaccedilatildeo todos os maiores bancos utilizam SLCA em suas opera-ccedilotildees ndash senatildeo como sistema operacional como servidor web servidor de aplicaccedilotildees ou simplesmente na maacutequina virtual Java

E natildeo satildeo apenas as empresas os indiviacuteduos tambeacutem utilizam SLCA a todo momento quando fazem compras em grandes redes de lojas no uso do Internet banking e na consulta a sites do governo federal Google Yahoo etc aleacutem dos jaacute tradicionais Firefox e BrOfficeorg

Em breve os telefones celulares e subnotebooks (jaacute anunciados por diversos fabricantes aleacutem da Intel ndash com o Classmate PC ndash e a Asus ndash eee PC) introduziratildeo mais uma nova leva de maacutequinas equipadas com SLCA com as quais muitos vatildeo interagir ainda mais de perto O ldquodentro de poucos anosrdquo afinal parece jaacute ter chegado

Pablo HessEditor

Jaacute perto de vocecirc E

DITORIA

L

Linux Magazine 42 | Maio de 2008

copy Linux New Media do Brasil Editora Ltda

4 httpwwwlinuxmagazinecombr

CAPABem arquitetado 36

A plataforma de SOA da Red Hat oferece alguns

componentes eficazes sobre seu servidor de apli-

caccedilotildees JBoss Conheccedila-os em detalhes

Clientes espalhados servidores distribuiacutedos 40

Como novo paradigma a SOA requer algumas mu-

danccedilas profundas na forma de projetar imple-

mentar e organizar aplicaccedilotildees corporativas

Quase faz cafeacute 44

Com o NovaForge eacute muito praacutetico hospedar geren-

ciar e testar softwares em escala corporativa

IacuteND

ICE

copy Linux New Media do Brasil Editora Ltda

5

COLUNASAugusto Campos 08

Charly Kuumlhnast 10

Klaus Knopper 12

Zack Brown 14

NOTIacuteCIASSeguranccedila 16 Notiacutecias de inseguranccedila

Geral 18 Linux eacute feito por empresas

Sun homologaraacute Ubuntu

Linux em switches Cisco

BrOfficeorg 24

CORPORATENotiacutecias 20 Gartner SL em alta Windows em colapso

Microsoft cogita aquisiccedilatildeo hostil do Yahoo

Concorrente do ODF vira padratildeo ISO

Sun promete viacutedeo 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

TUTORIALProduto importado 49 Se for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte

do ADempiere eacute muito faacutecil usar o poderoso ambien-te de desenvolvimento Eclipse para importaacute-lo

LPI niacutevel 2 Aula 11 52 Configuraccedilatildeo do servidor BIND criaccedilatildeo e manuten-

ccedilatildeo de arquivos de zonas e ferramentas relacionadas

ANAacuteLISENegoacutecio inteligente 59 O ramo da Business Intelligence conta com poderosas fer-

ramentas e o SpagoBI se destaca entre as alternativas li-vres por sua modularidade e consequumlente flexibilidade

Para conquistar o puacuteblico 64 Em sua versatildeo 30 o Librix da Itautec atinge a maturidade para

ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientes

REDESMarionete 66 Aprenda a economizar tempo e agilize a administra-

ccedilatildeo de sistemas com ajuda do Puppet uma ferramen-ta de gerenciamento e configuraccedilatildeo centralizados

SEGURANCcedilADomando o fogo 71 Eacute verdade que firewalls devem ser administrados por es-

pecialistas Poreacutem ateacute esses profissionais podem se be-neficiar de uma interface praacutetica para essa tarefa

PROGRAMACcedilAtildeOTesouro 75 Programadores PHP podem economizar tem-

po e trabalho com o uso do trecho script ou clas-se perfeitos para usar em seus programas

SERVICcedilOSEditorial 03Emails 06Linuxlocal 78Eventos 80Iacutendice de anunciantes 80Preview 82

Linux Magazine 42 | Maio de 2008

| IacuteNDICELinux Magazine 42

copy Linux New Media do Brasil Editora Ltda

6 httpwwwlinuxmagazinecombr

Download do primeiro anoGostaria de informar que apesar de terem sido li-beradas para download as ediccedilotildees do ano passado natildeo haacute links para fazer esses downloads no site da revista A uacutenica alternativa mais oacutebvia do site eacute ten-tar baixar a versatildeo em PDF mas como antes o link direciona para o carrinho de compras

Diogo MunizResposta

Caro Diogo aparentemente falhamos na precisatildeo ao comunicarmos a liberaccedilatildeo do conteuacutedo do primei-ro ano da Linux Magazine e por isso vamos tentar corrigir esse erro agora

Estatildeo liberados individualmente todos os artigos de todas as ediccedilotildees do primeiro ano da Linux Maga-zine Ou seja qualquer artigo das ediccedilotildees 1 a 12 pode ser baixado gratuitamente em formato digital (PDF) a partir do site da Linux Magazine em httpwwwlinuxmagazinecombr no link Anteriores

O download de cada uma das ediccedilotildees de 1 a 12 completas e em formato digital permanece possiacutevel poreacutem sob o preccedilo normal (R$ 990)

O conteuacutedo das demais ediccedilotildees da Linux Maga-zine permanece com os tradicionais 30 liberados gratuitamente sob a forma de artigos individuais e ateacute o final de 2008 vamos liberar gradualmente 100 do conteuacutedo do segundo ano da revista (edi-ccedilotildees 13 a 24)

Pedimos sinceras desculpas pela falha de comu-nicaccedilatildeo e qualquer inconveniente que ela possa ter causado

CARTAS

sanj

a gj

ener

o ndash

ww

ws

xch

u

Emails para o editor

Permissatildeo de EscritaSe vocecirc tem duacutevidas sobre o mundo Linux criacuteticas ou sugestotildees que possam ajudar a melhorar a nossa revista escreva para o seguinte endereccedilo cartaslinuxmagazinecombr Devido ao volume de correspondecircncia eacute impossiacutevel responder a todas as duacutevidas sobre aplicativos configuraccedilotildees e problemas de hardware que chegam agrave Redaccedilatildeo mas garantimos que elas satildeo lidas e analisadas As mais interessantes satildeo publicadas nesta seccedilatildeo

Errata

Na paacutegina 65 da ediccedilatildeo 40 da Linux Magazine no artigo Montando a gestatildeo de Eduardo Montene-gro o exemplo 1 estaacute incorreto O correto eacute

O leitor Marcelo Saacutevio informou que diferente do que eacute afirmado na paacutegina 68 da ediccedilatildeo 39 da Li-nux Magazine no artigo Segredos graacuteficos sobre o utilitaacuterio de esteganografia Outguess o algoritmo RC4 natildeo eacute mais recomendaacutevel devido agraves vulnera-bilidades encontradas A quem desejar mais infor-maccedilotildees sobre esse algoritmo criptograacutefico o leitor sugere o link httpenwikipediaorgwikiRC4 Muito obrigado Marcelo

Exemplo 1 Compilaccedilatildeo do PLJava

01 $ sudo mkdir -p usrlocalsrcpljava02 $ sudo chown adempiere usrlocalsrcpljava03 $ tar xzvf pljava-src-140targz04 $ mv pljava-140 usrlocalsrcpljava05 $ cd usrlocalsrcpljava06 $ make07 $ sudo sh08 export PATH=$PATHusrlocalpgsqlbinusrlocaljdk150_14bin09 make install

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

8

COLUNA

httpwwwlinuxmagazinecombr

Acessibilidade em Software Livre

Augusto CamposEmbora qualquer pessoa possa vir a precisar de tecnologias assistivas ainda eacute pouca a atenccedilatildeo dispensada a esse campo no Software Livrepor Augusto Campos

Recentemente tive a oportunidade de participar da Comissatildeo de Programa de um evento de informaacutetica corporativa como parte de uma

banca na qual me cabia avaliar e classificar cerca de 80 trabalhos das mais variadas especialidades da Informaacutetica No decorrer dessa atividade avaliei po-sitivamente quanto agrave aplicabilidade vaacuterios trabalhos relacionados a tecnologias assistivas e acessibilidade mas tive a desagradaacutevel surpresa de constatar que na fase de discussatildeo os demais avaliadores sustentaram a posiccedilatildeo oposta a de que tecnologias assistivas inte-ressam a poucas pessoas portanto sua aplicabilidade deveria ser considerada baixa Resultado todos os trabalhos relacionados agrave acessibilidade acabaram ficando de fora do evento

A situaccedilatildeo estava fora do meu controle e laacute eu natildeo podia fazer nada a respeito mas agora vou contar com a compreensatildeo de vocecircs e usar nosso espaccedilo deste mecircs para falar um pouco sobre tecnologias assistivas em Software Livre

As tecnologias assistivas satildeo aquelas que oferecem recursos especiais de adaptaccedilatildeo assistecircncia e ateacute re-abilitaccedilatildeo para pessoas com necessidades especiais Isso eacute feito por intermeacutedio de meacutetodos diferenciados de interaccedilatildeo com tecnologias existentes permitin-do que essas pessoas possam realizar tarefas que de outro modo natildeo estariam a seu alcance

O nuacutemero de sistemas assistivos disponiacuteveis em Software Livre eacute crescente embora a atenccedilatildeo vol-

tada a eles nem sempre acompanhe a mesma ten-decircncia Essa eacute uma realidade que cada um de noacutes deveria se preocupar em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo ndash a acessibi-lidade a portadores de necessidades especiais vem sendo requisito cada vez mais exigido em softwares adotados por grandes corporaccedilotildees e pelos governos e a ausecircncia de uma oferta bem estruturada desse tipo de recurso jaacute foi justificativa para substituir Soft-ware Livre pelos seus equivalentes proprietaacuterios em telecentros municipais recentemente

Tambeacutem o niacutevel do suporte a tecnologias assisti-vas em Software Livre vem crescendo felizmente Agora aleacutem de contarmos com aplicativos espe-ciacuteficos como o vocalizador Festival e os drivers para displays em braille as versotildees recentes do Gnome passaram a oferecer o Orca sistema que integra os diversos recursos de acessibilidade dis-persos (vocalizadores displays braille ampliaccedilatildeo de tela etc) agraves aplicaccedilotildees disponiacuteveis no sistema operacional (com suporte a Firefox Thunderbird Pidgin BrOfficeorg e mais aleacutem da expansibili-dade atraveacutes de scripts)

Natildeo perco oportunidade de divulgar esse tipo de soluccedilatildeo especialmente a quem julga natildeo precisar delas ndash todos temos chance de um dia chegar a uti-lizaacute-las O Software Livre tem forte relaccedilatildeo com a ideacuteia de inclusatildeo digital e se cada administrador de sistemas e gestor de TI souber o que estaacute disponiacutevel nesse campo teremos possibilidade de empregaacute-las no momento certo e de prover o estiacutemulo neces-saacuterio para que seus desenvolvedores continuem investindo nelas

Sobre o autorAugusto Ceacutesar Campos eacute administrador de TI e desde 1996 manteacutem o site BR-linuxorg que cobre a cena do Software Livre no Brasil e no mundo

Essa eacute uma realidade que cada um de noacutes deveria preocupar-se em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

10 httpwwwlinuxmagazinecombr

Nload

Charly KuumlhnastMonitores de rede satildeo faacuteceis de encontrar mas o Nload eacute o uacutenico que separa traacutefego de entrada e saiacuteda e ainda desenha no consolepor Charly Kuumlhnast

Exibir o uso da rede numa interface natildeo eacute difiacutecil e existem inuacutemeras ferramentas para visuali-zar os valores Mas qual ferramenta oferece a

melhor representaccedilatildeo graacutefica dos valores medidos Os ldquoescovadores de bitrdquo certamente recomendariam a consulta direta aos dados no diretoacuterio proc mas essa obviamente natildeo eacute a soluccedilatildeo mais praacutetica

Tambeacutem podemos descartar todas as alternativas que dependam do X11 pois servidores geralmente natildeo possuem interfaces graacuteficas O IPTraf oferece os nuacutemeros necessaacuterios mas natildeo possui um recurso de histoacuterico O mesmo se aplica ao Iftop[1] embora ele informe quanto traacutefego sai e entra no parceiro de comunicaccedilatildeo

Para um raacutepido panorama minha ferramenta favo-rita eacute o Nload[2] Ele exibe o uso atual da rede para dados de entrada e saiacuteda dependendo do graacutefico sele-cionado (figura 1) Ao mesmo tempo oferece os valores meacutedios para um intervalo configuraacutevel O recurso de histoacuterico torna o uso do Nload um prazer natildeo haacute ris-co de perder um pico mesmo tirando os olhos da tela por um momento O paracircmetro de linha de coman-do -t ltvalorgt com valor em milissegundos permite a definiccedilatildeo do intervalo de atualizaccedilatildeo Por padratildeo o

Nload atualizaraacute sua tela duas vezes a cada segundo Na maioria dos casos uma configuraccedilatildeo mais espaccedilada eacute aceitaacutevel eu costumo usar -t 2000 uma atualizaccedilatildeo a cada dois segundos

Para manter os graacuteficos legiacuteveis eacute possiacutevel estabe-lecer limites para os traacutefegos de entrada e saiacuteda Se os dados excederem esse limite o Nload trunca o graacutefico permitindo a visualizaccedilatildeo de algo que esteja errado O limite-padratildeo eacute 10 Mbs mas pode ser modifica-do com -i ltvalorgt para a entrada e -o ltvalorgt para a saiacuteda O paracircmetro -s ltvalorgt com valor entre 1 e 9 possibilita a manipulaccedilatildeo dos valores meacutedios Quanto menor o nuacutemero mais curto eacute o intervalo para caacutelculo das meacutedias O valor 9 eacute o padratildeo Outro recurso inte-ressante eacute a possibilidade de modificar paracircmetros criacuteticos em tempo de execuccedilatildeo ndash incluindo a interface a ser monitorada Pressionar [O] enquanto o Nload estaacute rodando exibe um menu de opccedilotildees As alteraccedilotildees satildeo aplicadas no mesmo momento

O paracircmetro -m eacute uacutetil para servidores com muacuteltiplas interfaces ele informa o Nload para exibir o uso de muacuteltiplas interfaces ao mesmo tempo apesar de ser perdida a possibilidade de desenhar histogramas com o uso dessa opccedilatildeo

COLUNA

Mais informaccedilotildees

[1] Iftop httpwwwex-parrotcompdwiftop

[2] Nload httpwwwroland-riegeldenload

Figura 1 Os graacuteficos do Nload do Charly satildeo impressionantes

Sobre o autorCharly Kuumlhnast eacute administrador de sistemas Unix no datacenter Moers perto do famoso rio Reno na Alemanha Laacute ele cuida principalmen-te dos firewalls

copy Linux New Media do Brasil Editora Ltda

- Conexotildees Ilimitadas - Windows e Linux - Windows e Linux

Gab

arit

o

Suas mensagens entregues sem filas

E-mail marketingE-mail marketing Plug In

A ferramenta de relacionamento por e-mail mais poderosa do mercado

Contrate online

wwwplugincombrLigue e contrate

4003-1001

Powered by

por apenasR$4250

anunciodedicadoindd 1 41408 95432 AM

copy Linux New Media do Brasil Editora Ltda

12

COLUNA

httpwwwlinuxmagazinecombr

Pergunte ao Klaus

Klaus Knopper O criador do Knoppix responde agraves mais diversas perguntas dos leitores por Klaus Knopper

Wifi num Pavilion Prezado Klaus eu adoro sua coluna na Linux Magazine Ela jaacute me ajudou vaacuterias vezes e sem-pre aprendo muito Estou usando o openSUSE 103 num notebook HP Pavilion da seacuterie dv6000 (comprei no Natal e estou amando a maacutequina) Tudo funciona perfeitamente sem necessidade de alteraccedilotildees em arquivos de configuraccedilatildeo ex-ceto por um problema a rede sem fio

Jaacute procurei e conversei pela Internet visitei o site do driver e tentei tudo que consegui imaginar para resolver esse problema ndash desde o NDISwrap-per ateacute o comando install_fwcutter_43xx

Aleacutem disso recentemente postei um bug no site da minha distribuiccedilatildeo mas natildeo recebi qual-quer resposta

Os programas de conexatildeo sem fio como KNe-tworkManager KWiFi-Manager e iwconfig en-xergam a placa de rede sem fio assim como seu moacutedulo mas ela natildeo recebe sinal do roteador Jaacute verifiquei o equipamento e tentei me conec-tar a outros roteadores mas sempre acontece a mesma coisa

Obrigado por qualquer ajuda que vocecirc possa me dar e tambeacutem por toda a ajuda que daacute a todos que lecircem sua coluna E obrigado tambeacutem a todo o pessoal que faz a revista vocecircs satildeo oacutetimos

Resposta O seu problema talvez seja resolvido pelos

drivers de rede sem fio incluiacutedos no kernel 2624 que sempre oferecem suporte ao inter-ruptor da rede sem fio ( wifi switch ) presente em alguns notebooks Esse interruptor costu-ma impedir o funcionamento da rede sem fio porque simplesmente desliga a antena e conse-quumlentemente nenhum sinal eacute recebido mesmo que o driver e o hardware estejam funcionando perfeitamente

Como vocecirc disse ainda seraacute necessaacuterio ins-talar o firmware do adaptador de rede sem fio caso contraacuterio ele somente mostraraacute mensagens engraccediladas nos logs do sistema

O exemplo 1 mostra um trecho do arquivo de log que vocecirc me enviou Esse log confirma que o moacutedulo bcm43xx que vocecirc possui eacute adequado para a sua versatildeo do kernel mas o firmware desse adaptador natildeo estaacute presente

Provavelmente eacute possiacutevel obter esse firmware a partir de vaacuterios locais na Internet mas tambeacutem se pode extraiacute-lo de um adaptador que jaacute o pos-sua usando o programa bcm43xx-fwcutter que vocecirc mencionou

Quando vocecirc conseguir uma coacutepia do firm-ware necessaacuterio deve colocaacute-lo em usrlibho-tplugbcm43xx_microcode5fw (dependendo da sua distribuiccedilatildeo talvez tambeacutem em libfirmwarebcm43xx_microcode5fw ) em que seraacute automatica-mente carregado durante a inicializaccedilatildeo do sis-tema no momento em que o adaptador de rede sem fio for detectado e ativado

Sobre o autorKlaus Knopper eacute o criador do Knoppix e co-fundador do evento Linux Tag Atual-mente ele trabalha como professor progra-mador e consultor

Exemplo 1 Log do sistema (trecho)

Jan 6 052623 linux kernel bcm43xx PHYconnectedJan 6 052623 linux kernel bcm43xxError Microcode ldquobcm43xx_microcode5fwrdquonot available or load failedJan 6 052623 linux kernel bcm43xx core_up for active 80211 core failed (-2)Jan 6 052623 linux firmwaresh[5865]Cannot find firmware file lsquobcm43xx_microcode5fwrsquo

copy Linux New Media do Brasil Editora Ltda

REA

LIZA

CcedilAtildeO

PRO

MO

CcedilAtildeO

O Ecossistema de Negoacutecios em Software Livre no Brasil

2008PA

TRO

CIN

AD

ORE

S EM

200

7

copy Linux New Media do Brasil Editora Ltda

14 httpwwwlinuxmagazinecombr

Crocircnicas do kernel

Zack BrownLinus muda mais uma vez a poliacutetica de desenvolvimento do kernel desfazendo-se da tarefa de garantir total estabilidadepor Zack Brown

Inclusatildeo de drivers mais raacutepidaRecentemente Linus Torvalds reduziu os empeci-lhos para incluir coacutedigo no kernel Quando o Linux comeccedilou uma das maiores prioridades de Torvalds era encorajar contribuiccedilotildees Para isso ele reforccedilou a resposta a qualquer patch aceitando diversos de-les e ateacute mesmo publicando estatiacutesticas manuais sobre aqueles recebidos Conforme as contribuiccedilotildees aumentaram no final da deacutecada de 1990 a rapidez nas respostas de Linus diminuiu e ele ficou mais propenso a simplesmente ignorar patches caso natildeo gostasse deles Ele tambeacutem comeccedilou a insistir que os algoritmos dos patches fossem bonitos e que dife-rentes partes do kernel se comunicassem de formas naturais para elas

Quando Linus adotou as aacutervores ldquoestaacutevelrdquo e ldquode desenvolvimentordquo manteve a insistecircncia no bom gosto e tornou-se ainda mais estrito no ciclo ldquoes-taacutevelrdquo Com a estruturaccedilatildeo do envio de coacutedigos do kernel em uma hierarquia de mantenedores e ldquotenentesrdquo Linus comeccedilou a criar uma cultura de aderecircncia a suas preferecircncias pessoais de escrita de coacutedigo na qual outras pessoas que compreendes-sem seus gostos podiam atuar como guardas aleacutem de realizar o trabalho teacutecnico de escrever e revisar os coacutedigos em busca de falhas

Durante a aacutervore 26 Linus abandonou as mu-danccedilas um tanto desconfortaacuteveis entre as aacutervores estaacutevel e de desenvolvimento Entatildeo ele reinstituiu um conjunto de micro-forks para o desenvolvimen-to estaacutevel no qual a aacutervore 26 principal jamais sai da fase de desenvolvimento e cada versatildeo gera um novo fork estaacutevel A decisatildeo de abandonar os ciclos originais de estabilidade e desenvolvimento marca-ram uma eacutepoca de avaliaccedilatildeo de uma grande varie-dade de problemas Uma das principais justificativas para a mudanccedila foi a de que as distribuiccedilotildees Linux sempre aplicavam seus proacuteprios patches sobre as versotildees oficiais do kernel

Como o ocircnus de oferecer estabilidade sempre recaiacutea sobre as distribuiccedilotildees Linus lhes impocircs for-malmente essa obrigaccedilatildeo livrando-se dessa tarefa A decisatildeo indicou uma nova abordagem para o desenvolvimento do kernel ndash sem abandonar a necessidade de estabilizar aspectos do kernel mas ainda dando maior liberdade aos contribuidores

Agora Torvalds comeccedilou a aceitar patches de drivers com problemas oacutebvios Recentemente Adrian Bunk reclamou de um envio de driver que foi aceito no kernel apesar de conter mais de 250 erros de checkpatch e mais de 2000 avisos Antiga-mente esses problemas precisavam ser solucionados antes que um driver fosse aceito na aacutervore Parte da justificativa de Linus para a mudanccedila na poliacutetica eacute o reconhecimento de que eacute muito mais provaacutevel que um coacutedigo seja testado e consertado dentro da aacutervore oficial do que fora dela

Aleacutem disso supotildee-se que o usuaacuterio meacutedio use o kernel de sua distribuiccedilatildeo e natildeo o oficial enquan-to os desenvolvedores satildeo os usuaacuterios primaacuterios da versatildeo oficial e conseguem lidar melhor com drivers mais feios e menos polidos

Linus lembra que essa nova poliacutetica visa ao coacutedigo de drivers que por definiccedilatildeo satildeo perifeacutericos em relaccedilatildeo ao corpo principal do coacutedigo Ele diz que eacute importante que os drivers sejam bem testados antes de entrarem no kernel O liacuteder do desenvolvimento do Linux natildeo estaacute tatildeo preocupado com o visual do coacutedigo mas quer garantir que ele funcione e natildeo quebre nem cause per-da de dados aos usuaacuterios

COLUNA

Sobre o autorA lista de discussatildeo Linux-kernel eacute o nuacutecleo das atividades de desenvolvimento do kernel Zack Brown consegue se perder nesse oce-ano de mensagens e extrair significado Sua newsletter Kernel Traffic esteve em atividade de 1999 a 2005

copy Linux New Media do Brasil Editora Ltda

Acesse agora wwwrevistaesylinuxcombrPeccedila pelo telefone 11 4082-1300

Jaacute nas bancaspor apenas R$990

Easy Linux traz todos os meses notiacutecias tutoriais de programas e jogos dicas e tudo que o usuaacuterio iniciante precisa saber para usar Linux em casa e no trabalho

Com linguagem simples e abrangente EasyLinux eacute a leitura obrigatoacuteria para quem quer ldquodesbravarrdquo o software livre

EasyLinux leia para saber

por apenas R$990

por apenas R$990

por apenas R$990

por apenas R$990

copy Linux New Media do Brasil Editora Ltda

16

SE

GU

RA

NCcedil

A

httpwwwlinuxmagazinecombr

Figura 1 O gato natildeo estaacute vivo nem morto ateacute que se olhe dentro da caixa

Notiacutecias de InseguranccedilaTodos noacutes jaacute passamos por isso

na verdade muitos passaram recentemente Vocecirc acorda

e encontra um email do Bugtraq ou do Full-Disclosure ou talvez uma noti-ficaccedilatildeo do seu fornecedor a respeito de uma atualizaccedilatildeo de seguranccedila ndash uma atualizaccedilatildeo que afeta quase todos os seus sistemas e cujo exploit jaacute estaacute dis-poniacutevel haacute vaacuterios dias[1]

Obviamente podemos facilmente empregar o poder do Coacutedigo Aberto e nos gabar da velocidade com que os desenvolvedores do kernel con-sertaram a vulnerabilidade permi-tindo que os fornecedores provessem atualizaccedilotildees rapidamente

Ou eu poderia ainda falar da im-portacircncia de fazer um inventaacuterio de seus sistemas e ter um sistema de ge-renciamento de patches para aplicaacute-los prontamente Poreacutem a questatildeo eacute que todos os sistemas satildeo vulneraacuteveis o tempo inteiro Permita-me repetir soacute para assegurar que ningueacutem pense que me confundi todos os sistemas satildeo vulneraacuteveis o tempo inteiro

Falhas de seguranccedila satildeo bem se-melhantes ao gato de Schroumldinger nem vivo nem morto ateacute que seja verificado[2] (figura 1) Da mesma forma podemos perguntar se as vul-nerabilidades de seguranccedila aparecem do nada como por maacutegica quando algueacutem as observa colapsando o es-tado quacircntico de probabilidade da vulnerabilidade em questatildeo para um estado conhecido Ou seja en-quanto ningueacutem reconhece uma vulnerabilidade (e mais importan-te enquanto ningueacutem possui um exploit para ela) ela natildeo existe Isso tambeacutem eacute conhecido como a teoria da ldquoaacutervore que cai na florestardquo em seguranccedila da informaccedilatildeo

Tambeacutem seria possiacutevel argumen-tar de forma alternativa que mes-mo sem sabermos ao certo quan-do o isoacutetopo decairaacute acionando a liberaccedilatildeo do gaacutes venenoso ele vai decair e provavelmente mais cedo do que se desejaria

A verdade eacute que um sistema mo-derno possui tanto coacutedigo instalado e em execuccedilatildeo que eacute provaacutevel que alguma vulnerabilidade exploraacutevel venha a ser encontrada e usada para comprometer o sistema Entatildeo o que vocecirc pode fazer

Planos futurosAssim como no velho ensinamento ldquoplaneje-se para o pior mas espere o melhorrdquo eacute obrigatoacuterio planejar-se para o caso de falhas no sistema de seguranccedila Todos os conselhos-padratildeo a respeito de aumento de seguranccedila de sistemas criaccedilatildeo de camadas de seguranccedila e limitaccedilatildeo de acesso e privileacutegios sempre que possiacutevel ainda satildeo bons conselhos mas simplesmente natildeo consegue mresponder agrave pergunta o que fazer quando sua seguranccedila falha

Melhores praacuteticasPor ser praticamente inevitaacutevel que seus sistemas estejam vulneraacuteveis em algum momento ndash provavelmente durante um periacuteodo em que haacute aces-so puacuteblico pelo exploit ndash eles prova-velmente estaratildeo comprometidos Um exemplo perfeito disso eacute o site seifriedorg O SELinux estava ativo impedindo a exploraccedilatildeo de todas as vulnerabilidades de seguranccedila mas tambeacutem evitando o funcionamento correto de vaacuterios softwares de tercei-ros Apoacutes brigar um tempo contra o SELinux desisti e desativei-o

Esse foi meu primeiro erro por dois motivos Primeiro ao desati-var o SELinux facilitei muito a in-vasatildeo do meu sistema reduzindo tambeacutem a quantidade de logs que seriam gerados em caso de invasatildeo Se for preciso desativar o SELinux ao menos use o modo permissivo que registra as violaccedilotildees

Meu segundo erro foi a claacutessica preguiccedila administrativa Para faci-litar a administraccedilatildeo do sistema eu havia estabelecido relaccedilotildees de confianccedila no SSH entre minhas maacutequinas e tambeacutem ativado o acesso por sudo sem a requisiccedilatildeo de uma senha

Entatildeo uma vez que o agressor conseguisse invadir um sistema e ganhasse acesso agrave conta de admi-nistraccedilatildeo ele teria acesso a todos os meus sistemas Portanto quando um dos meus sistemas foi compro-metido acabei tendo que reinstalar todos eles pois tinha certeza de que todos haviam sido modificados Com frequumlecircncia essa falha de projeto tam-beacutem ocorre com firewalls e outros mecanismos de seguranccedila As organi-zaccedilotildees implementam uma seguranccedila externa bem riacutegida mas falham ao implementar a seguranccedila interna deixando um nuacutecleo apetitoso para os invasores desfrutarem

por Kurt Seifried

copy Linux New Media do Brasil Editora Ltda

17

| NOTIacuteCIASSeguranccedila

Linux Magazine 42 | Maio de 2008

Melhores registrosComo disse eu havia desativado o SELinux em vez de deixaacute-lo no modo permissivo Com o espaccedilo em disco sendo relativamente barato atualmen-te raramente faz sentido apagar logs para economizar espaccedilo

Aleacutem disso com a facilidade de criar um sistema de logs pela rede com o Syslog natildeo existe desculpa para natildeo usar um log centralizado (dificultando assim a eliminaccedilatildeo dos rastros de um eventual invasor) Entretanto note que muitos ataques deixaratildeo poucas mensagens significativas nos logs

Frequumlentemente uma mensa-gem informando que o programa servidor fechou seraacute o uacutenico indiacute-cio da invasatildeo o que dificilmente garante uma investigaccedilatildeo completa da ocorrecircncia

Ter um rastro confiaacutevel para au-ditoria pode significar a diferenccedila

entre precisar reinstalar todo um grupo de maacutequinas e apenas limpar uma delas Manter logs tambeacutem eacute importante para fornecer as infor-maccedilotildees necessaacuterias para consertar um sistema Simplesmente retornar um sistema a seu estado original natildeo impediraacute que o agressor faccedila uma nova invasatildeo

BecapeOs becapes costumam ser um dos as-pectos mais negligenciados pela segu-ranccedila da informaccedilatildeo Poreacutem eles satildeo cruciais para garantir que os sistemas possam ser reinstalados corretamente e os dados possam ser recuperados Se vocecirc natildeo fizer becape de nada mais ao menos faccedila um de seus da-dos e assegure-se de guardaacute-lo longe da maacutequina Aleacutem disso ter sistemas de recuperaccedilatildeo que funcionem eacute tatildeo importante quanto todo o becape

Mais Informaccedilotildees

[1] SecurityFocus vulnerabilidade em copy_from_user_mmap_sem() httpwwwsecurityfocuscombid27796

[2] Gato de Schroumldinger httpptwikipediaorgwikiGato_de_SchrC3B6dinger

Sobre o autorKurt Seifried eacute Consultor de Seguranccedila da Informaccedilatildeo especializado em Linux e re-des desde 1996 Ele eacute casado e tem qua-tro gatos mas nenhum peixe (porque os ga-tos tecircm mais fome que medo de aacutegua) Ele sempre se pergunta como essa tecnologia funciona em larga escala mas frequumlente-mente falha em escalas menores

Com muita frequumlecircncia jaacute vi be-capes funcionarem perfeitamente ateacute serem necessaacuterios aleacutem de imagens de recuperaccedilatildeo de baixo niacutevel incompatiacuteveis com o hard-ware substituto ou dados exporta-dos corrompidos e incompletos Por exemplo tenho um script de becape que estava falhando silen-ciosamente haacute trecircs meses porque eu havia deixado de lado a opccedilatildeo ldquosobrescrever arquivos mais anti-gosrdquo e entatildeo todos os arquivos alterados natildeo haviam recebido a coacutepia de seguranccedila

Preacute-funeralUma das praacuteticas mais poderosas que jaacute vi eacute conduzir um ldquopreacute-fu-neralrdquo Em essecircncia o administra-dor finge que o sistema jaacute falhou Ter uma ideacuteia do que fazer nessa situaccedilatildeo ajuda a evitar a confusatildeo caso isso de fato aconteccedila e tam-beacutem pode oferecer ideacuteias de accedilotildees preventivas a serem tomadas tais como usar firewalls em todos os computadores independente de a maacutequina estar ou natildeo conectada a uma rede puacuteblica

ConclusatildeoDa mesma forma que o sistema comprometido natildeo importa de ver-dade se o gato estaacute vivo ou morto Em algum momento o gaacutes veneno-so seraacute liberado o gato morreraacute e o local comeccedilaraacute a cheirar mal

O truque eacute encontrar formas efi-cazes de lidar com falhas para que se consiga retornar ao trabalho de forma raacutepida e segura

Dica de invasatildeo MySQL

Um meacutetodo comumente usado para zerar uma senha de root do MySQL perdida eacute usar a opccedilatildeo --skip-grant-tables que carrega o banco de dados sem qualquer proteccedilatildeo Se for necessaacuterio usar esse meacutetodo use tambeacutem --skip_networking para permitir somente conexotildees locais Com ela usuaacute-rios locais ainda conseguiriam conectar-se portanto assegure-se de desco-nectaacute-los tambeacutem

Talvez um meacutetodo melhor seja usar a opccedilatildeo --init file que lecirc comandos SQL deste arquivo na inicializaccedilatildeo Cada comando deve estar numa uacutenica linha e natildeo deve incluir comentaacuterios

Entatildeo basta criar um arquivo texto (zera-senhatxt) com um comando SQL para alterar a senha de root

SET PASSWORD FOR lsquorootrsquorsquolocalhostrsquo = PASSWORD(lsquoNovaSenharsquo)

e em seguida iniciar o mysqld com a opccedilatildeo --init-file zera-senhatxt Depois de carregar o arquivo simplesmente reinicie o MySQL normalmente e entre com a nova senha

copy Linux New Media do Brasil Editora Ltda

18

NO

TIacuteC

IAS

httpwwwlinuxmagazinecombr

Linux eacute feito por empresas

Sun homologaraacute Ubuntu Mark Shuttleworth fundador da Canonical empresa responsaacutevel pelo Ubuntu afi rmou que a Sun demons-trou interesse em homologar essa distribuiccedilatildeo em seus servidores A accedilatildeo seria muito importante para a em-presa sul-africana cuja distribuiccedilatildeo passaria a concorrer contra os pesos-pesados das distribuiccedilotildees corporativas (as chamadas Enterprise ) Red Hat Enterprise Linux e No-vell Suse Linux Enterprise Server ambas com modelos baseados em subscriccedilatildeo diferentemente do Ubuntu

A Canonical jaacute oferece suporte comercial ao Ubun-tu instalado em determinadas maacutequinas da Sun O que muda agora eacute a homologaccedilatildeo por parte da fa-bricante do hardware

A Linux Foundation publicou um novo relatoacuterio a res-peito do desenvolvimento do Linux intitulado ldquoLinux Kernel Development ndash How Fast it is Going Who is Doing It What They are Doing and Who is Sponso-ring Itrdquo (Desenvolvimento do Kernel Linux ndash com que velocidade estaacute ocorrendo quem o estaacute fazendo o que eles tecircm feito e quem fi nancia O estudo foi feito com base nos uacuteltimos trecircs anos do desenvolvimento do kernel Linux ndash abrangendo desde a versatildeo 2611 ateacute a 2624 ndash e revela que a maior parte dos desenvolvedores do kernel satildeo pagos por grandes companhias como IBM Intel Linux Foundation MIPS Technology MontaVista Movial NetApp Novell e Red Hat

Ao longo dos anos o nuacutemero de desenvolvedores do Linux tem crescido consideravelmente Pela anaacutelise a versatildeo mais recente do kernel (2624 na liberaccedilatildeo do estudo) teve 1057 desenvolvedores registrados O estudo informa que entre 70 e 95 dos desenvolvedores pagos para trabalhar com o Linux nos uacuteltimos trecircs anos satildeo funcionaacuterios dessas empresas Mostra tambeacutem que atual-mente a relaccedilatildeo das grandes empresas com o Linux eacute bastante proacutexima Os investimentos em Coacutedigo Aber-to portanto estatildeo diretamente relacionados ao modus operandi dessas empresas e jaacute incorporados agrave ldquocorrida armamentistardquo do mundo dos negoacutecios

O relatoacuterio da Linux Foundation sobre as contribui-ccedilotildees ao Linux exibe tambeacutem um nuacutemero elevado de contribuiccedilotildees de desenvolvedores individuais ao siste-ma Poreacutem a quantidade de pessoas que realmente faz o trabalho ldquobraccedilalrdquo eacute bem pequena Nos uacuteltimos trecircs anos os dez desenvolvedores que mais contribuiacuteram para o kernel somam 15 de todo esse trabalho Se au-

mentada a margem levando em conta os 30 maiores desenvolvedores esse nuacutemero sobe para 30

Assim foi estabelecido um ranking das empresas mais atuantes no kernel Um dos destaques eacute a Novell que au-mentou em 300 sua participaccedilatildeo nos uacuteltimos trecircs anos A empresa passou de 36 para 144 do total de contribuiccedilotildees realizadas Isso a coloca em segundo lugar logo atraacutes da Red Hat

Ranking

As companhias que de fato constroem o Linux consi-derando sua contribuiccedilatildeo para o kernel satildeo Red Hat (112) Novell (89) IBM (83) Intel (41) Linux Foundation (35) SGI (20) MIPS Technology (16) Oracle (13) MontaVista (12) e Linutronix (10) A participaccedilatildeo dessas empresas no desenvolvimento do Linux tem sua razatildeo de ser Red Hat Novell e MontaVista possuem motivos claros as trecircs desenvolvem e comer-cializam sistemas Linux As demais companhias traba-lham no kernel para garantir que o Linux rode correta-mente em seus hardwares na intenccedilatildeo de tornar seus produtos mais atraentes para os usuaacuterios Linux e com isso aumentar suas vendas

Outras empresas que desenvolvem o Linux como Sony Nokia e Samsung satildeo conhecidas por embar-carem o sistema aberto como um componente de seus proacuteprios produtos (como cacircmeras de viacutedeo te-levisores e telefones moacuteveis) Sua participaccedilatildeo no de-senvolvimento do kernel busca um investimento de meacutedio a longo prazo Essas empresas desejam ga-rantir que o sistema do pinguumlim continue a ser uma base soacutelida para seus produtos no futuro

18copy Linux New Media do Brasil Editora Ltda

19

| NOTIacuteCIASGerais

Linux Magazine 42 | Maio de 2008

BrOfficeorg 24Apoacutes uma espera relativamente longa a nova versatildeo do BrOfficeorg finalmente estaacute disponiacutevel para download Satildeo vaacuterias as novidades que se destacam nesse salto de versatildeo entre elas me-lhorias na geraccedilatildeo de documentos PDF mudanccedila da fonte-padratildeo para a famiacutelia DejaVu melhorias gerais no acesso a banco de dados (MySQL Oracle JDBC etc) e inclusatildeo de suporte nativo ao formato proprietaacuterio do aplicativo de bancos de dados do MS Access 2007

A interface dos programas tambeacutem apresenta algumas mudanccedilas A seleccedilatildeo do idioma no corretor ortograacutefico estaacute mais simples novos atalhos de teclado foram criados

para a definiccedilatildeo de estilos de paraacutegrafo e os blocos de ceacutelulas do Calc podem ser copiados e movidos mais facilmente pela planilha Na janela de impressatildeo as opccedilotildees avanccediladas podem ser ocultadas uma vez que raramente precisam ser alteradas

Linux em switches CiscoA Cisco atraveacutes de sua nova plataforma Application Extension Platform (AXP) converteu vaacuterios mode-los de seus switches para servidores de aplicaccedilotildees Linux Os novos servidores vecircm embarcados com bibliotecas C Java e Perl certificadas Com isso os desenvolvedores seratildeo capazes de usar um kit de desenvolvimento (SDK) para construir aplicativos para o novo sistema

Os servidores AXP vecircm equipados com proces-sadores de arquitetura x86 (o mais recente traz um Pentium 14 GHz) e satildeo capazes de executar uma distribuiccedilatildeo Linux proacutepria com kernel 26143 e bibliotecas compatiacuteveis com o Fedora Core 4 A dis-tribuiccedilatildeo particular da Cisco foi desenvolvida exata-mente para rodar sobre esse hardware que in-clui 2 GB de memoacuteria RAM e discos riacutegidos de 160 GB

copy Linux New Media do Brasil Editora Ltda

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Gartner SL em alta Windows em colapso De acordo com estudo realizado pelo Gartner em apenas alguns anos praticamente todos os tipos de negoacutecios estaratildeo utilizando Coacutedigo Aberto mesmo que os gerentes de TI dessas mesmas empresas ignorem essa tecnologia e prefi ram utilizar apenas a de software como serviccedilo ( SaaS ) O mesmo estu-do informa que ateacute 2012 todas as empresas estaratildeo utilizando Coacutedigo Aberto de forma embarcada

De acordo com Mark Taylor presidente do grupo de promoccedilatildeo do Open Source Consortium ldquoinfe-lizmente o Gartner estaacute subestimando o Coacutedigo Abertordquo Ele informa que atualmente todos estatildeo utilizando Coacutedigo Aberto como serviccedilo ndash o princi-pal exemplo eacute o do Google Ainda de acordo com Taylor o Gartner natildeo percebeu que uma licenccedila livre faz mais que apenas reduzir o custo total de propriedade (TCO) ndash ela fornece muitos outros benefiacutecios tambeacutem a quem a utiliza

Mesmo sabendo que o custo da licenccedila representa apenas 3 do valor do projeto algumas empresas continuam baseando suas vendas nesse detalhe tornando-se limitadas Poreacutem quando essa limi-taccedilatildeo eacute eliminada a abrangecircncia do projeto pode se expandir para diversas outras esferas ndash tudo isso sem custo adicional Esse fenocircmeno se deve prin-cipalmente ao fato de o Coacutedigo Aberto fornecer

grande escalabilidade a um custo zero de transaccedilatildeo para qualquer aplica-

ccedilatildeo em que se queira investir

Microsoft em risco Ao mesmo tempo os analistas do Gartner afir-maram que o sistema Windows corre perigo pondo em risco tambeacutem a Microsoft Em sua conferecircncia ldquoEmerging Trendsrdquo analistas de TI do Gartner afirmaram que os esforccedilos da Mi-crosoft em relaccedilatildeo ao Windows natildeo trouxeram resultados Os motivos disso de acordo com os analistas incluem os ciclos de desenvolvimento extremamente longos e as limitadas inovaccedilotildees trazidas a cada nova versatildeo do sistema opera-cional liacuteder em vendas aleacutem da experiecircncia de uso inconsistente entre diferentes versotildees Segundo mateacuteria da PC World no lado dos ad-ministradores cada nova interaccedilatildeo do sistema traz novas questotildees de incompatibilidade com aplicativos resultando no aumento dos custos de gerenciamento e reduzindo o valor do pro-duto da gigante de Redmond

As criacuteticas ao sistema da Microsoft natildeo pararam por aiacute Os analistas do Gartner levantaram ques-totildees teacutecnicas desde a complexidade do Windows sua falta de modularidade seus trechos de coacutedigo com 20 anos de idade e os elevados requisitos de hardware ateacute a difusatildeo do uso de aplicativos web e multi-plataforma

Essas questotildees conduziratildeo os consumidores de acordo com os analistas agrave adoccedilatildeo de outros sistemas garantindo um futuro proacutespero ao Coacute-digo Aberto A saiacuteda para o Windows segundo o Gartner seria uma versatildeo do Vista ainda mais modularizada apesar das alegaccedilotildees de grande modularizaccedilatildeo no sistema feitas pela Microsoft Uma soluccedilatildeo especiacutefica para a retrocompatibili-dade dos aplicativos residiria na virtualizaccedilatildeo de sistemas e componentes No entanto adverte o instituto de pesquisa natildeo devemos esperar mu-danccedilas raacutepidas da Microsoft junto aos negoacutecios bilionaacuterios do Windows

Cars

ten

Muumll

ler -

ww

ws

xch

u

20copy Linux New Media do Brasil Editora Ltda

21

| CORPORATENotiacutecias

Linux Magazine 42 | Maio de 2008 21

21

Sun promete viacutedeo livre Rob Glidden da Sun Microsystems infor-mou em seu blog a respeito de dois novos projetos de Coacutedigo Aberto da empresa que deveratildeo resultar em uma soluccedilatildeo livre para multimiacutedia via Web incluindo codecs de aacuteudio e viacutedeo No contexto da iniciativa Open Media Commons (OMC) a Sun estaacute trabalhando atualmente no OMS Video ndash segundo Glidden a sigla OMS pode signifi car tanto Open Media Stack quanto Open Media System Assim como ocorre com o formato Flash da Adobe a soluccedilatildeo da Sun deveraacute encapsular um codec de aacuteudio e um de viacutedeo ao mesmo tempo em que cuida do controle e do trans-porte de dados bem como de aspectos de seguranccedila do conteuacutedo Os desenvolvedo-res do codec de Coacutedigo Aberto natildeo estatildeo considerando apenas suas caracteriacutesticas teacutecnicas como velocidade e qualidade questotildees como a aderecircncia da licenccedila do sistema agraves premissas do Software Livre ausecircncia de custos com licenciamento e a criaccedilatildeo de coacutedigos e meacutetodos que natildeo infrinjam nenhuma patente tambeacutem satildeo requisitos do projeto O desenvolvimento do OMS eacute pautado pela poliacutetica de direitos de propriedade intelectual adotada pela Organizaccedilatildeo Mundial do Comeacutercio que natildeo se restringe simplesmente agrave adoccedilatildeo de uma licenccedila proacutepria ndash a Common Development and Distribution License (CDDL) que permite uma combinaccedilatildeo de software de coacutedigo aberto e proprietaacute-rio ndash mas utiliza tambeacutem Digital Rights Management (DRM)

O codec de viacutedeo deveraacute ser baseado nas especifi caccedilotildees do pa-dratildeo H26x ndash mas sem se limitar a elas Como formato de aacuteudio os de-senvolvedores estatildeo considerando o formato Xiph Vorbis A Sun preferiu natildeo adotar o formato H264 por natildeo consideraacute-lo sufi cientemente livre Pro-jetos que tenham objetivos similares como Vorbis Theora e Dirac natildeo satildeo considerados concorrentes mas ldquofacilitadoresrdquo Glidden no entanto natildeo revelou em quanto tempo o produto fi nal deve estar disponiacutevel

Microsoft cogita aquisiccedilatildeo hostil do Yahoo Apoacutes ter por reiteradas vezes afi rmado que a aquisiccedilatildeo do Yahoo eacute im-prescindiacutevel para os planos de expansatildeo da companhia na concorrecircncia contra o Google a Microsoft em carta redigida pelo CEO Steve Ball-mer enviou no iniacutecio de abril um ultimato agrave empresa de Jerry Yang caso natildeo cheguem a um acordo com a cuacutepula diretora da empresa nas proacuteximas trecircs semanas a Microsoft deveraacute recorrer aos acionistas e partir para uma aquisiccedilatildeo hostil

Na carta Steve Ballmer advertiu a direccedilatildeo do Yahoo de que no caso de uma accedilatildeo hostil a oferta da Microsoft poderaacute ser menor devido agrave reduccedilatildeo nos valores das accedilotildees das duas empresas ocorrida recentemente Adicional-mente a Microsoft pretende exercer pressatildeo sobre a diretoria do Yahoo atraveacutes de seus proacuteprios representantes no conselho diretor da empresa Ateacute entatildeo a empresa fundada por Bill Gates havia tentado chegar a um acordo por vias paciacutefi cas no intuito de evitar um processo de aquisiccedilatildeo hostil longo (e possivelmente caro) bem como para preservar as equipes das duas empresas para quando ocorrer a fusatildeo Entretanto segundo Ball-mer as reuniotildees realizadas ateacute agora foram infrutiacuteferas

Ballmer argumentou ainda no docu-mento que o Yahoo teria perdido espaccedilo no mercado de maacutequinas de busca na Internet e que a situaccedilatildeo fi nanceira da companhia teria piorado desde que a oferta foi feita

Concorrente do ODF vira padratildeo ISO A Organizaccedilatildeo Internacional de Padronizaccedilatildeo ISO aprovou no dia 1ordm de abril com 75 dos votos vaacutelidos dos membros P a homologaccedilatildeo do formato de documentos de escritoacuterio Offi ce Open XML de autoria da Microsoft como um padratildeo internacional A aceitaccedilatildeo do formato como padratildeo ocorreu na segunda tentativa da empresa de Steve Ballmer junto ao oacutergatildeo internacional e apoacutes sua aprovaccedilatildeo pelo ECMA oacutergatildeo europeu de padronizaccedilatildeo de sistemas de comunicaccedilatildeo e informaccedilatildeo

O Brasil representado pela ABNT (Associaccedilatildeo Brasileira de Normas Teacutecnicas) votou assim como na primeira avaliaccedilatildeo contra a aprovaccedilatildeo do OOXML ndash como eacute chamado o formato ndash devido a inuacutemeras questotildees teacutecnicas no documento ofi cial que descreve o formato

Votaram como o Brasil o Canadaacute e a China aleacutem de Cuba Equa-dor Iacutendia Iratilde Nova Zelacircndia Aacutefrica do Sul e Venezuela totalizando oito votos de membros P (participantes) e dois de membros O (observadores incluindo o Brasil) da ISO Diversos paiacuteses se abstiveram muitos deles emitindo comentaacuterios a esse respeito

O periacuteodo anterior agrave votaccedilatildeo foi alvo de diversas denuacutencias e acusaccedilotildees relativas a alguns oacutergatildeos nacionais e influecircncias exter-nas e internas de voto

Aleacutem das falhas teacutecnicas apontadas nas especifi caccedilotildees do OOXML outro importante argumento contra sua padronizaccedilatildeo junto agrave ISO eacute a exis-tecircncia do formato ODF ( Open Document Format ) criado de forma aberta pela organizaccedilatildeo OASIS cujo objetivo eacute justamente o de proporcionar um formato de arquivos de escritoacuterio (documentos planilhas apresenta-ccedilotildees etc) legiacutevel por qualquer programa que o deseje e que jaacute havia sido aprovado como o padratildeo ISOIEC 26300 em 2006

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

24

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Agraves 9h34min de uma rara manhatilde nublada em Porto de Galinhas Brasil Sandro Alves Gerente

de Desenvolvimento de Novos Ne-goacutecios do Instituto Nokia de Tecno-logia (INdT)[1] inaugurou a ediccedilatildeo 2008 da Bossa Conference[2] Ele apresentou um curto viacutedeo contan-do detalhes da histoacuteria e das atraccedilotildees de Porto de Galinhas Recife e do Estado de Pernambuco

Alves deu as boas vindas ao puacuteblico internacional de 250 pessoas ainda em-polgado com a ediccedilatildeo de 2007 da Bossa Conference e seu grande sucesso Logo apoacutes a abertura o gerente explicou o trabalho do INdT e mais importante por que seus funcionaacuterios o fazem

Design e conceitoSandro caracteriza o INdT como um instituto ldquomovido por design e conceitordquo e natildeo ldquopor tecnologiardquo embora deixe perfeitamente claro que natildeo se trata de uma criacutetica aos desenvolvedores de Coacutedigo Aberto ldquoQuando comeccedilamos eacuteramos movi-dos pela tecnologiardquo afirmou ldquomas gradualmente fomos percebendo que a abordagem orientada ao de-sign e conceito era muito melhor e isso tem funcionado muito bem desde entatildeordquo

A unidade do INdT em Recife emprega apenas Coacutedigo Aberto no desenvolvimento de novos aplicati-vos e plataformas para dispositivos moacuteveis da Nokia e eacute esse o tema central da Bossa Conference ldquoo evento eacute projetado para promover interaccedilatildeo entre os desenvolvedoresrdquo coloca Sandro ldquoA Bossa Conference

eacute projetada para maximizar o tempo de interaccedilatildeo entre as pessoasrdquo

Na praacuteticaAssim como na ediccedilatildeo 2007 do even-to[3] todos os dias contaram com sessotildees voltadas agrave parte praacutetica dos sistemas de software que compotildeem os dispositivos moacuteveis da Nokia Daniel Rocha apresentou o uso de Python para o desenvolvimento de aplicati-vos sobre a plataforma S60 seguido de Mario Hozzano e Leandro Sales que mostraram como utilizar essa mesma linguagem na programaccedilatildeo para a plataforma Maemo No se-gundo dia Thiago Santos mostrou na praacutetica como criar plugins para o sistema multimiacutedia GStreamer e apoacutes o almoccedilo Denis Kenzior abordou a programaccedilatildeo de aplicativos com uso de Bluetooth e OBEX para a plataforma Qtopia desenvolvida pela norueguesa Trolltech e recentemente adquirida pela Nokia Finalizando as sessotildees praacuteticas do evento Marcelo Oliveira e Gustavo Barbieri ambos do INdT mostraram como desenvolver inter-faces usando Python e as bibliotecas EFL seguidos de Dave Andreoli que mostrou outras formas de ir mais fun-do no uso dessas bibliotecas

EspecialistasCom sua especializaccedilatildeo em dispo-sitivos moacuteveis de comunicaccedilatildeo e conectividade o INdT foi capaz de reunir em Porto de Galinhas um impressionante nuacutemero de sumidades em grande parte das tecnologias que compotildeem esse crescente mercado

Michael ldquoMickeyrdquo Lauer (figura 1) um dos criadores do smartphone total-mente livre OpenMoko[4] discursou sobre a construccedilatildeo de distribuiccedilotildees Linux especiacuteficas para o mercado de sistemas embarcados com o OpenEm-bedded[5] Em uma entrevista[6] dada agrave Linux Magazine logo em seguida o alematildeo exibiu alguns protoacutetipos do dispositivo fabricado pela FIC e con-tou a histoacuteria do desenvolvimento do aparelho que encheu os olhos de todo o puacuteblico presente (figura 2) chamado frequumlentemente de ldquoplaygroundrdquo para hackers tamanha sua flexibilidade Harald Welte outro alematildeo partici-pante do projeto tratou de apresentar agrave plateacuteia o conceito de um smartphone verdadeiramente aberto

Depois do almoccedilo Alp Toker de-monstrou ainda os grandes avanccedilos do mecanismo de renderizaccedilatildeo de paacuteginas web Webkit de autoria da Apple e derivado do KHTML do projeto KDE O desenvolvedor do Webkit demonstrou como a equipe de desenvolvimento do renderiza-dor tem preocupaccedilatildeo com o uso de memoacuteria [7] o que vem rendendo

Figura 1 Mickey Lauer exibe dois protoacute-tipos do FIC Neo Freerunner

Bossa Conference 2008

A bossa da mobilidadeCom um evento uacutenico no mundo a Bossa Conference do Instituto Nokia de Tecnologia em Recife comemora sua entrada no calendaacuterio internacionalpor Pablo Hess

copy Linux New Media do Brasil Editora Ltda

25

| CORPORATEBossa Conference 2008

Linux Magazine 42 | Maio de 2008

vaacuterios testes desse mecanismo nos dispositivos moacuteveis que satildeo o centro da Bossa Conference

Na aacuterea de tecnologias visuais ndash um dos fetiches desse mercado ndash Carsten ldquoRastermanrdquo Haitzler criador do re-conhecidamente inovador ambiente desktop Enlightenment demonstrou os motivos do crescente interesse por parte dos desenvolvedores de dispositivos embarcados pelas bibliotecas graacuteficas que compotildeem seu software ndash especial-mente em relaccedilatildeo ao consumo de re-cursos ndash o que pode acabar por render a essas bibliotecas o posto atualmente ocupado pela GTK[8] Oslashyvind Kolarings colaborador de diversos projetos de Soft-ware Livre na aacuterea visual como Cairo e Gimp tambeacutem explicou as necessi-dades de hardware para a interface dos futuros dispositivos moacuteveis enquanto Chris Wilson tambeacutem envolvido com o Cairo falou sobre seu processo de desenvolvimento enfatizando os testes de funcionalidades

Ainda na questatildeo multimiacutedia Lennart Poetering descreveu a aplicaccedilatildeo do ser-vidor de aacuteudio PulseAudio em dispositi-vos embarcados enquanto Zach Rusin mostrava na sala ao lado os benefiacutecios que os drivers Gallium3D prometem trazer agrave aacuterea de graacuteficos 3D Logo em seguida Conrad Parker completou o tema com sua palestra sobre aspectos internos de reprodutores de viacutedeo

Os organizadores tambeacutem incluiacuteram no programa seminaacuterios sobre questotildees especialmente importantes em dispo-

sitivos moacuteveis como a depuraccedilatildeo do sistema de comunicaccedilatildeo entre processos D-Bus (ministrado por J5 Palmieri) o armazenamento local de dados (semi-naacuterio de Alexandre Oliva)

As tendecircncias de desenvolvimento tambeacutem figuraram entre os assuntos debatidos Daniel Gentleman apre-sentou formas de interaccedilatildeo entre os projetos de Coacutedigo Aberto e as comunidades que os utilizam dei-xando clara a necessidade de desen-volvimento nesse campo

A questatildeo da mobilidade foi disseca-da por Marcel Holtmann mantenedor de diversas das pilhas de protocolos de comunicaccedilatildeo sem fio no kernel Linux Segundo Marcel o Linux pos-sui suporte a diversos protocolos de comunicaccedilatildeo que nem mesmo estatildeo disponiacuteveis comercialmente o que o torna um sistema ideal para os dispo-sitivos moacuteveis de comunicaccedilatildeo

Nesse mundo de tantos aparelhos com exigecircncias aparentemente para-doxais ndash cada vez mais funcionalida-des em dispositivos progressivamente menores ndash a Intel tambeacutem esteve presente com seu Mobile Internet Device equipado com o igualmente novato Ubuntu Mobile Edition Adil-son Oliveira da Canonical apresen-tou agrave imprensa um aparelho natildeo tatildeo pequeno quanto os demais do evento e evidentemente com objetivos dife-rentes ndash o MID eacute um subnotebook reduzido tanto em capacidade quan-to em tamanho ndash mas equipado com uma distribuiccedilatildeo que promete mexer com esse mercado[9]

Um evento uacutenicoSe o mercado de software para disposi-tivos embarcados tem diversas particu-laridades a Bossa Conference age de acordo Nas duas noites do evento os participantes foram levados a ambien-tes que propiciavam a interaccedilatildeo o que certamente ajudou muito a troca de ideacuteias entre o puacuteblico e as ldquocelebrida-desrdquo com uma proximidade raramente vista em outros eventos

Mais informaccedilotildees

[1] INdT httpwwwindtorgbr

[2] Bossa Conference httpbossaconferenceindtorg

[3] Bossa Conference 2007 ldquoO futuro da mobilidaderdquo httpwwwlinuxmagazinecombrarticleo_futuro_da_mobilidade

[4] OpenMoko httpwwwopenmokoorg

[5] OpenEmbedded httpwwwopenembeddedorg

[6] ldquoO celular mais livre do mundordquo httpwwwlinuxmagazinecombrlmnoticiao_celular_mais_livre_do_mundo

[7] ldquoWebkit em todo canto ndash mesmordquo httpwwwlinuxmagazinecombrlmnoticiabossa_conference_2008_webkit_em_todo_canto_ndash_mesmo

[8] ldquoEnlightenment vai destronar GTKrdquo httpwwwlinuxmagazinecombrnoticiabossa_conference_enlightenment_vai_destronar_gtk

[9] ldquoUbuntu para dispositivos embarcadosrdquo httpwwwlinuxnewmediacombrnoticiaubuntu_para_dispositivos_embarcados

Figura 2 O FIC Neo Freerunner eacute o segundo modelo de smartphone da FIC a utilizar a plataforma OpenMoko

Segundo o ldquodono da festardquo Sandro Alves os participantes do evento satildeo pes-soas que ldquoamam criar coacutedigordquo como definem a si proacuteprios ldquosem nenhuma inclinaccedilatildeo poliacutetica ou ideoloacutegicardquo O limite de 250 pessoas afirma Sandro eacute para garantir que apenas as pessoas mais qualificadas e motivadas participem do evento garantindo assim o retorno po-sitivo de todos -- do puacuteblico dos pales-trantes e ateacute dos organizadores

copy Linux New Media do Brasil Editora Ltda

26

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Hardware Coacutedigo Aberto e Software Enablement

Software bem rodadoPor que um fabricante de hardware teria interesse em um software de Coacutedigo Aberto Entenda o Software Enablement e seus motivospor Sulamita Garcia

No final do ano passado tive a oportunidade de partici-par de uma conferecircncia da

Intel sobre Software Enabling Mas o que eacute isso e o que tem a ver com Software Livre

A dependecircncia entre software e hardware na computaccedilatildeo sempre foi uma discussatildeo do tipo ldquoo ovo e a gali-nhardquo Hardware natildeo faria nada sem o software software natildeo faria nada sem o hardware Combinados poreacutem eles fazem tudo o que conhecemos na aacuterea Conforme a tecnologia evolui o hard-ware se torna mais raacutepido ao mesmo tempo em que consome menos energia e tem o tamanho reduzido Isso torna possiacutevel adicionar mais funcionalidades tais como melhorar a possibilidade de virtualizaccedilatildeo integrar redes sem fio ou ter multiplos nuacutecleos para processar vaacute-rias instruccedilotildees ao mesmo tempo Mas para que essas novas funcionalidades faccedilam diferenccedila o software precisa ser escrito ou modificado para utilizaacute-la O Software Enabling eacute a atividade de ajudar a escrever esse software

Entatildeo como fazemos isso acon-tecer Vamos ver como geralmente acontece trabalhando com empresas de coacutedigo fechado

No radarQuando o software tem uma boa base de usuaacuterios ou um bom propoacutesito ele pode aparecer no radar da companhia de hardware Quando a empresa de software jaacute pode ter um relacionamento com a empresa de hardware e jaacute estaacute no

radar Os dois lados hardware e software comeccedilam a conversar O primeiro pas-so geralmente eacute assinar um acordo de confidencialidade ndash NDA ndash que defina os limites sobre as informaccedilotildees com-partilhadas Entatildeo os engenheiros de ambas empresas comeccedilam a trabalhar no projeto para o qual foram designa-dos O tamanho desse time depende do projeto das empresas envolvidas da base de usuaacuterios que se deseja al-canccedilar e de outros fatores Depois de algum tempo a empresa de software finalmente termina de escrever o coacute-digo e comeccedila a vendecirc-lo Pode exis-tir alguma campanha em conjunto em que as duas empresas invistam algum dinheiro em marketing para mostrar o resultado daquele coacutedigo Algumas vezes isso traz os resultados esperados e outras vezes natildeo mas eacute assim que funciona

Poreacutem existe outra maneira de fazer esse mesmo processo Quando uma companhia de hardware se aproxima de uma empresa de software aberto elas podem assinar um contrato de confidencialidade tambeacutem dependen-do dos projetos em que essas empresas trabalham Mas quando uma empresa de hardware quer se aproximar de uma comunidade relacionada a um projeto em particular natildeo existe uma pessoa para assinar um NDA por todos e isso nem faria sentido Pela natureza do Coacutedigo Aberto as informaccedilotildees sobre o projeto tambeacutem satildeo abertas Qual-quer bom projeto tem pelo menos uma lista de afazeres ndash TODO ndash em que eacute

possiacutevel verificar quais as prioridades para o projeto e quais os planos futu-ros Alguns projetos mais maduros tecircm um planejamento um roadmap Um bom projeto tambeacutem tem um sistema de rastreamento de falhas em que as pessoas podem relataacute-las verificar o seu estado saber como corrigir um proble-ma em particular e ateacute como ajudar a resolver alguns desses problemas Entatildeo quando se aproxima desses projetos qualquer um jaacute tem uma boa ideacuteia do funcionamento dele antes mesmo de falar com os responsaacuteveis

Digamos que com essas informa-ccedilotildees a empresa de hardware tenha decido que aquele projeto era inte-ressante e que valeria a pena traba-lhar com os desenvolvedores Entatildeo a empresa comeccedila a se engajar com alguns dos principais engenheiros que podem apontar quais pessoas tecircm possibilidade de dedicar tempo a trabalhar com seu hardware Eles provavelmente vatildeo precisar de ajuda no comeccedilo e entatildeo a empresa pode providenciar alguns sistemas para teste acesso a documentaccedilatildeo e ajuda espe-cializada dos seus engenheiros

ColaboraccedilatildeoMas logo um dos melhores aspectos do Coacutedigo Aberto comeccedila a mostrar-se enquanto outros engenheiros natildeo apenas os da empresa comeccedilam a aprender sobre como lidar com o hardware podem ajudar outras pessoas no projeto a aprenderem tambeacutem E esse esforccedilo tambeacutem

Julia

Eis

enb

erg

- w

ww

sxc

hu

copy Linux New Media do Brasil Editora Ltda

27

| CORPORATESoftware Enablement

Linux Magazine 42 | Maio de 2008

aumentaraacute a base de conhecimen-to e o nuacutemero de profissionais com esse conhecimento

Depois disso podemos ter um software preparado para mostrar as novas capacidades do seu hardware Quem entatildeo vai distribuir esse soft-ware Primeiramente os projetos sempre tecircm seu proacuteprio website Provavelmente os usuaacuterios desse software tambeacutem iratildeo querer testar essa nova versatildeo e entatildeo automati-camente eacute criada uma nova base de usuaacuterios A blogosfera jaacute provou ser poderosa para espalhar novas ideacuteias e natildeo eacute incomum desenvolvedores de software falarem em que andam trabalhando ou o que vecircm testando Aleacutem de divulgar suas atividades isso tambeacutem ajuda na documentaccedilatildeo E se vocecirc ainda conseguir ajudaacute-los a integrar este a outros projetos em que estejam trabalhando melhor ainda Os custos para esse tipo de aproxima-ccedilatildeo satildeo consideravelmente menores em relaccedilatildeo ao modelo anterior e o

nuacutemero de especialistas na plataforma aumentou consideravelmente

Interesse em softwareTodavia haacute algo que muitas empre-sas natildeo entendem por que os de-senvolvedores de Coacutedigo Aberto se importariam com o hardware Bem essa eacute uma parte bastante delicada mas cabe agraves empresas demonstra-rem Isso requer bastante humildade afinal de contas o projeto em ques-tatildeo chegou ao sucesso mesmo sem apoio da empresa Tentar dar ordens certamente natildeo vai funcionar nem usar a sua grande e poderosa marca como se eles devessem ser gratos pela empresa ter-se interessado O mais importante eacute que o produto precisa ser bom Quando se trata dos desenvolvedores principais estamos falando de profissionais altamente qualificados que construiacuteram um projeto suficientemente bom para chamar a atenccedilatildeo de uma grande empresa Entatildeo maquiar os pro-

blemas de um produto ou inventar recursos que natildeo existem ou natildeo fun-cionam natildeo vatildeo render pontos para o produto A honestidade eacute sempre valorizada esse eacute um ponto muito importante e vale a pena reforccedilar Se vocecirc fizer isso pode conquistar valiosos aliados para os projetos que tambeacutem apreciam serem re-conhecidos por marcas admiradas mas somente se isso natildeo custar a integridade do projeto

Algumas empresas falharam porque tentaram dizer o que os desenvolvedores deveriam fazer ou mudar os objetivos do projeto ou mexer com as suas razotildees ideoloacute-gicas ndash eles acreditam em Coacutedigo Aberto natildeo se esqueccedila disso

Sobre o autorSulamita Garcia eacute Gerente de Estrateacutegia Linux e Open Source para Ameacuterica Latina da Intel e uma das coordenadoras do gru-po Linux Chix

copy Linux New Media do Brasil Editora Ltda

28

CORPORATE

httpwwwlinuxmagazinecombr

Entrevista com Theron Morato responsaacutevel pela aacuterea de Iniciativas Estrateacutegicas em eSOA da SAP Brasil

100 de serviccediloA SAP estaacute reestruturando sua arquitetura para incorporar a disciplina da SOA agraves suas ofertas Veja o que esse novo paradigma significa para a empresapor Pablo Hess

A disciplina da arquitetura orientada a serviccedilos (SOA) demanda o contato entre os

funcionaacuterios de TI e os responsaacuteveis pelos negoacutecios A alematilde SAP faz isso haacute anos e tem reconhecimento internacional por suas soluccedilotildees A Linux Magazine conversou com Theron Morato responsaacutevel pela aacuterea de iniciativas estrateacutegicas em eSOA da SAP Brasil a respeito das

accedilotildees da empresa no campo de SOA e sua relaccedilatildeo com padrotildees abertos e o Coacutedigo AbertoLinux Magazineraquo Qual a importacircncia do mercado de SOA para os negoacute-cios da SAPTheron Moratoraquo Extremamente im-portante Haacute pelo menos trecircs anos a SAP vem investindo fortemente para redesenhar sua arquitetura e assimilar integralmente o conceito de SOA em suas soluccedilotildees aleacutem de participar ativamente de iniciativas de padronizaccedilatildeo linguagens de especificaccedilatildeo de processos e ofe-recer todas as suas soluccedilotildees como serviccedilos Hoje podemos dizer que a empresa tem uma estrateacutegia soacute-lida e estruturada de enterprise SOA (eSOA)

LMraquo Qual eacute a estrateacutegia da SAP para o mercado de SOA Que tipo de parcerias a empresa tem firmado nessa aacutereaTMraquo A estrateacutegia que desenvolve-mos trabalha com uma semacircntica de negoacutecios que tem mais sentido para o analista de negoacutecios sem o vieacutes teacutecnico Isso natildeo significa que a tecnologia natildeo seja importante mas para o puacuteblico que mais se beneficia

do SOA que vem das aacutereas de negoacute-cios a tecnologia que implementa os conceitos da arquitetura orientada a serviccedilos deve ser transparente

A necessidade de uma semacircntica de negoacutecios se justifica principalmen-te porque natildeo basta termos apenas os agrupamentos de Web Services proxies e interfaces pois nem sempre a inte-graccedilatildeo desses elementos eacute a melhor maneira de solucionar um desafio de negoacutecios As parcerias firmadas vecircm sendo feitas em todos os niacuteveis de fornecedores de hardware a fornece-dores de soluccedilotildees complementares agraves soluccedilotildees da SAPLMraquo Com a disciplina do SOA em voga atualmente quais as expecta-tivas da SAP para esse mercado nos proacuteximos anos

TMraquo Nos uacuteltimos trecircs anos os ar-quitetos e consultores da SAP tecircm prestado serviccedilos relativos a dife-rentes aspectos do SOA entre eles o roadmap de eSOA Trata-se do desenho de soluccedilotildees de novos pro-cessos de negoacutecios com a visatildeo de que eles seratildeo reutilizaacuteveis e teratildeo vantagens quando implementados com a disciplina do SOA Com tudo isso pronto nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios com uma plataforma abrangente de serviccedilosLMraquo Como eacute a relaccedilatildeo da SAP com os fornecedores de componentes para a infra-estrutura de SOA como sistema operacional e middleware especifi-camente os de Coacutedigo AbertoTMraquo A SAP tem uma relaccedilatildeo de par-ceria com a Novell para que nossos sistemas possam utilizar como base o sistema operacional SUSE Linux Enterprise o qual jaacute eacute empregado inclusive nas aplicaccedilotildees BIAccelera-tor e Enterprise Search em parceria com a HP IBM e IntelLMraquo Qual a relaccedilatildeo entre Coacutedigo Aber-to (incluindo padrotildees abertos) e SOA Como a SAP apoacuteia essas iniciativasTMraquo A SAP estaacute alinhada aos padrotildees e ferramentas de desenvolvimen-to abertas como Eclipse Struts Hibernate e linguagens de script Nosso objetivo com isso eacute facilitar o envolvimento de desenvolvedores Java e SOA na estrutura de enterprise SOA da SAP e no SAP BPP (Business Process Platform)

Nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios

copy Linux New Media do Brasil Editora Ltda

29Linux Magazine 42 | Maio de 2008

CORPORATE

Green IT soluccedilotildees para as empresas de TI

Cezar TaurionO consumo de energia dos computadores jaacute estaacute recebendo uma maior parcela de atenccedilatildeo que no passado o que pode ajudar o Linux a se destacar no mercadopor Cezar Taurion

O tema ldquoGreen ITrdquo estaacute comeccedilando a ser debatido na miacutedia e em algumas ainda esparsas conversas sobre TI Ele jaacute faz

parte da agenda de diversos eventos importantes e o uacuteltimo CeBIT foi tambeacutem palco de vaacuterios anuacutencios mostrando a preocupaccedilatildeo crescente das empresas com as questotildees ecoloacutegicas Foi inclu-sive criada uma ldquoGreen IT Villagerdquo um saguatildeo dedicado inteiramente agraves discussotildees ecoloacutegicas e agrave exposiccedilatildeo de produtos que jaacute usam soluccedilotildees de economia de energia e materiais menos agressivos ao meio ambiente

Mas por que tanta atenccedilatildeo em torno do Green IT Nosso planeta estaacute ameaccedilado pelo aquecimento global Noacutes jaacute impusemos tensotildees cada vez maiores ao finito e limitado meio ambiente ultrapassando a sua capacidade de se sustentar Jaacute consumimos 25 mais recursos naturais a cada ano do que o planeta eacute capaz de repor E nesse ritmo em 2050 estaremos consumindo mais que o dobro da capa-cidade da Terra

E a TI natildeo fica fora do consumo de energia Agrave medida que os servidores se tornam mais poderosos demandam mais energia e nos EUA jaacute representam cerca de 12 de todo o consumo de eletricidade

O Gartner Group cita que em 2010 cerca de metade das empresas listadas na relaccedilatildeo Forbes 2000 estaratildeo gastando mais dinheiro com energia que com seus computadores Seu estudo diz ainda que em meacutedia entre 30 e 60 da energia demandada em um datacenter eacute desperdiccedilada E lembra que a TI estaacute hoje como a induacutestria automotiva estava haacute 20 anos comeccedilando a ser pressionada por maior eficiecircncia energeacutetica

Diante desse quadro os analistas comeccedilam a cha-mar atenccedilatildeo para o gasto com energia (dos servidores e dos equipamentos de refrigeraccedilatildeo) e dizem que em breve os CFOs estaratildeo bem mais preocupados com o assunto Alguns paiacuteses estatildeo comeccedilando a estudar legislaccedilotildees que visem a incentivar e em al-guns casos mesmo a obrigar os datacenters a serem

mais eficientes no consumo de energia Com cer-teza o tema vai se tornar cada vez mais importante nos proacuteximos anos

Na minha opiniatildeo temos as condiccedilotildees de uma ldquoPerfect Stormrdquo que vai disparar accedilotildees ldquoverdesrdquo O termo ldquoPerfect Stormrdquo significa a ocorrecircncia si-multacircnea de eventos que se tornam muito mais poderosos e impactantes quando combinados Esses eventos satildeo a crescente conscientizaccedilatildeo da realidade do aquecimento global os crescentes custos de energia e as crescentes mudanccedilas e demandas regulatoacuterias no mundo todo Isolados esses eventos tecircm certo impacto mas quando combinados deveratildeo gerar uma tendecircncia irre-sistiacutevel em direccedilatildeo a uma TI Verde

Imagino que em poucos anos (talvez jaacute em 2010) o tema Green IT sairaacute do campo da curiosidade para se tornar mainstream item obrigatoacuterio na agenda de qualquer gestor de TI

Entre as tecnologias que vatildeo ganhar muito im-pulso nesse contexto citamos a virtualizaccedilatildeo e consolidaccedilatildeo de servidores e datacenters Tambeacutem a discussatildeo sobre thin clients versus PCs completos comeccedilaraacute a ter outro apelo

E onde entra o Linux nessa histoacuteria Entra com muita forccedila nas tecnologias acima Soacute para termos uma ideacuteia da importacircncia do tema a Li-nux Foundation criou uma iniciativa especiacutefica acessiacutevel em httpwwwlinux-foundationorgenGreen_Linux Com isso imagino que o Linux te-nha grandes chances de se tornar um verdadeiro sistema operacional ldquoverderdquo aumentando seu niacutevel de utilizaccedilatildeo mundial

Sobre o autorCezar Taurion (ctaurionbribmcom) eacute diretor de novas tecnologias aplicadas da IBM Brasil e editor do primeiro blog da Ameacuterica Latina do Portal de Tecnologia da IBM developerWorks www-03ibmcomdeveloperworksblogspagectaurion

copy Linux New Media do Brasil Editora Ltda

30

CORPORATE

httpwwwlinuxmagazinecombr

Reflexotildees sobre o desenvolvimento do Coacutedigo Aberto

Ricardo BimboO recente estudo da Linux Foundation sobre o desenvolvimento do kernel Linux indica a participaccedilatildeo de empresas mas eacute errado imaginar que os tradicionais voluntaacuterios estejam desaparecendopor Ricardo Bimbo

Uma recente pesquisa divulgada pela Linux Foundation[1] sobre o desenvolvimento do kernel chamou a atenccedilatildeo de diversos blogs

e sites de notiacutecia para a participaccedilatildeo de funcionaacuterios de empresas dedicados ao dia-a-dia das atividades de manutenccedilatildeo correccedilatildeo e desenvolvimento do kernel Linux Algo como 10000 patches da atual versatildeo 26 envolveram 1000 colaboradores e 100 companhias contra 3700 colaboradores individuais e mais de 200 empresas em 2005

A presenccedila cada vez maior de empresas com cola-boradores dedicados ao trabalho no kernel evidencia as companhias que tecircm hoje no Linux a principal ou uma das principais fontes de receita Red Hat IBM Intel Novell e a proacutepria Linux Foundation juntas com os usuaacuterios do Linux estatildeo na linha de frente do trabalho de manutenccedilatildeo do kernel

Isso demonstra que o desenvolvedor solitaacuterio independente estaacute no fim Todos estatildeo vendendo sua forccedila de trabalho intelectual Natildeo A conclu-satildeo do estudo da Linux Foundation daacute uma dica a esse respeito ldquoO kernel Linux eacute um dos projetos de Coacutedigo Aberto melhor sucedidosrdquo Existem outros projetos tambeacutem de extrema grandeza ndash como Apa-che BrOfficeorg Firefox Gnome KDE MySQL e PostgreSQL ndash que disputam o tempo de vaacuterios desenvolvedores e tecircm a participaccedilatildeo de empresas Isso sem contar os projetos de distribuiccedilotildees como Fedora e Debian aleacutem dos mais de 170 mil projetos ativos no SourceForge[2] e de um incontaacutevel nuacuteme-ro de projetos em outros repositoacuterios

O SourceForge sozinho possui quase dois mi-lhotildees de usuaacuterios registrados e eacute um erro imaginar-mos que sejam todos programadores Natildeo eacute difiacutecil encontrar chamadas solicitando a participaccedilatildeo de gerentes de projetos especialistas em processos especialistas em economia contabilidade recursos humanos e uma infinidade de outras especializaccedilotildees e conhecimentos

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores E muitas vezes esses ldquovoluntaacuteriosrdquo sentem-se mais eficazes atuando em projetos que tecircm uma aplicabilidade no meio em que convivem ou em projetos que possam dar sua contribuiccedilatildeo dife-renciada seja para destacar-se em seu ambiente ou soacute por prazer mesmo

Isso demonstra claramente mais uma vantagem do Coacutedigo Aberto e do desenvolvimento compar-tilhado Natildeo importam os motivos que levem uma pessoa a participar ou trabalhar em um projeto a curva de participaccedilatildeo de empresas e seus co-laboradores estaacute deliberadamente vinculada agraves curvas de crescimento do projeto e ao nuacutemero de usuaacuterios Isso reordena o processo produtivo e de desenvolvimento de negoacutecios abrindo um leque de novas oportunidades

Mais informaccedilotildees

[1] Estudo da Linux Foundation httpswwwlinux-foundationorgpublicationslinuxkerneldevelopmentphp

[2] Sourceforge httpwwwsourceforgenet

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores

Sobre o autorRicardo Bimbo eacute Government Relations da Red Hat Brasil e defen-de a ideacuteia de que todo o conhecimento deve ser compartilhado

copy Linux New Media do Brasil Editora Ltda

LPIindd 1 261107 163706

copy Linux New Media do Brasil Editora Ltda

32

CORPORATE

httpwwwlinuxmagazinecombr

Como o PVM influi no mundo BPM

Edgar SilvaA modelagem de processos de negoacutecios pode beneficiar-se muito do uso do PVM ndash Process Virtual Machinepor Edgar Silva

Quando falamos em Business Process Modeling um dos diversos significados de BPM frequumlentemente nos depara-

mos com vaacuterias questotildees importantes Destas podemos destacar algumas Qual linguagem de processo utilizar A linguagem escolhida suporta as necessidades

reais de uma forma-padratildeo Como fazer com que de fato uma mudanccedila

no modelo de negoacutecio se reflita no mecanismo de execuccedilatildeo dos serviccedilos da empresa

As respostas para essas questotildees pairam como um desafio para os arquitetos e engenheiros de software nos dias de hoje Como o segredo da induacutestria estaacute na padronizaccedilatildeo nada mais oacutebvio que investir em um trabalho colaborativo que beneficie tanto as empresas quanto as comunidades de Software Livre e claro os clientes finais

Uma novidade no mundo BPM eacute o PVM (Process Virtual Machine ou Maacutequina Virtual de Processos) que vou abordar neste artigo

A induacutestria tem buscado aplicar os conceitos de workflow e em paralelo diagramas de estado e outras formas de diagramaccedilatildeo vecircm sendo apresentados ao mercado diariamente Entretanto ainda se percebe um abismo entre o ldquodesenhordquo e a ldquoexecuccedilatildeordquo dos fluxos Em sua nova roupagem os workflows ago-ra mais conhecidos como BPM tentam aproximar esses dois pilares O objetivo do PVM eacute promover uma forma-padratildeo de criar metadados padronizados de tudo que eacute comum a um fluxo um workflow ou uma maacutequinadiagrama de estado

Imagine uma foto Ela possui vaacuterias informa-ccedilotildees de metadados como fabricante e dia e hora em que foi tirada Haacute sites como o Flickr[1] que conseguem ler e apresentar esses dados in-dependendo do fornecedor desde que utilizem esses padrotildees Essa eacute mais ou menos a ideacuteia da PVM Entre seus objetivos estaacute a abstraccedilatildeo geral de qualquer tipo de fluxo e sua possiacutevel lingua-

gem de definiccedilatildeo A PVM eacute a abstraccedilatildeo por traacutes de qualquer modelo ou linguagem que a defi-niu Dessa forma natildeo importa a linguagem de construccedilatildeo do fluxo porque no final todos po-deratildeo ser lidos e gerar uma uacutenica visatildeo de fluxo dentro da PVM

O mercado tem apontado inuacutemeras linguagens para definiccedilatildeo dos processos como BPEL[2] XPDL[3] jPDL e RulesFlow entre outras Espera-se agora que haja interoperabilidade dos serviccedilos dentro de uma Arquitetura Orientada a Serviccedilos (SOA) E por que natildeo pensar tambeacutem na interoperabilidade entre diversos modelos de processos em diferentes linguagens cooperando e colaborando na execuccedilatildeo de fluxos de processos de negoacutecio

Para concluir o aspecto mais interessante do PVM eacute a total separaccedilatildeo do desenho da execuccedilatildeo e de suas linguagens Isso com certeza eacute um marco muito importante para a concepccedilatildeo de mecanismos de processos o que soacute vai agregar valor agraves vaacuterias so-luccedilotildees que utilizam os recursos e os conceitos de workflow e de BPM

Mais informaccedilotildees

[1] Flickr httpwwwflickrcom

[2] BPEL na Wikipeacutedia httpenwikipediaorgwikiBPEL

[3] XPDL httpwwwwfmcorgstandardsxpdlhtm

Sobre o autor

Edgar Silva (edgarsilvaredhatcom) eacute Arquiteto de Soluccedilotildees JBoss na Red Hat Brasil Com experiecircncia em obje-tos distribuiacutedos (Corba COM+ e Java) desde 1998 nos uacuteltimos anos Edgar vem pesquisando aplicando e ministrando pales-tras e treinamentos no Brasil e no exterior sobre assuntos de alta tecnologia incluindo JavaEE e SOA

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

SOA explicada

Sirva-se com softwareSoftware e serviccedilo agora satildeo com frequumlecircncia a mesma coisa A arquitetura orientada a serviccedilos proporciona o funcionamento adequado de todos os componentespor Pablo Hess

Softwares multi-plataforma jaacute estatildeo no mercado haacute tempos As linguagens de programaccedilatildeo ditas ldquode scriptrdquo por exemplo como Perl Python

Ruby e Tcl para citar apenas as mais populares satildeo capazes de executar instruccedilotildees em qualquer plata-forma que possua uma versatildeo de seu interpretador inclusive com vistosas interfaces graacuteficas

A oferta da Sun Microsystems o Java vai um passo aleacutem oferecendo toda uma maacutequina virtual que trata de toda a interaccedilatildeo com o sistema opera-cional subjacente o que facilita ainda mais a cria-ccedilatildeo de softwares multi-plataforma Atualmente com os sistemas de Coacutedigo Aberto ndash como o Linux ndash aumentando sua presenccedila no mercado mas com outros sistemas Unix e Windowsreg tambeacutem presentes de forma significa-tiva eacute cada vez

CA

PA

34 httpwwwlinuxmagazinecombr

mais importante que os softwares corporativos sejam capazes de rodar em muacuteltiplas plataformas

Tamanha eacute a importacircncia disso ndash e do Java nessa foacutermula ndash que a Sun chegou ateacute mesmo a alterar seu coacutedigo de quatro letras usado na bolsa NASDAQ de SUNW para JAVA sugerindo que a relevacircncia da lin-guagem hoje eacute superior agrave tradiccedilatildeo da empresa no ramo de workstations

No entanto mesmo com uma maacutequina virtual prati-camente onipresente nos desktops e servidores atuais haacute dificuldades para distribuir softwares multi-plataforma que dependam de extensotildees ou bibliotecas externas ao nuacutecleo da linguagem Lidar com a instalaccedilatildeo desses

componentes pode ser muito faacutecil para adminis-tradores de sistemas mas com frequumlecircncia

os usuaacuterios natildeo-teacutecnicos satildeo prejudi-cados nessa tarefa

Iacutendice de mateacuterias de capaBem arquitetado paacuteg36Clientes espalhados servidores distribuiacutedos paacuteg40Quase faz cafeacute paacuteg44

copy Linux New Media do Brasil Editora Ltda

ServiccedilosQue tal entatildeo atribuirmos ao administrador a tarefa de instalar o software e todos os compo-nentes requeridos por ele Com isso o usuaacuterio precisaria apenas apontar seu navegador web para a URL do software que localizado no servidor seria executado sem dificuldades e sem necessi-dade de instalaccedilatildeo pelo usuaacuterio

Felizmente essa abordagem ainda traz vanta-gens adicionais Eacute possiacutevel por exemplo utilizar os poderosos componentes da linguagem criada pela Sun para implementar clusters de alta dis-ponibilidade ou alto desempenho permitindo assim que os usuaacuterios desfrutem do software de forma ininterrupta e com desempenho inega-velmente superior ao que seria possiacutevel em seu hardware local

Essa abordagem para a oferta de softwares jaacute eacute usada haacute algum tempo e um de seus exemplos mais populares eacute o Google Docs[1] um conjunto de aplicativos de escritoacuterio disponiacutevel online e gratuitamente para qualquer usuaacuterio Com ele uma pessoa com acesso agrave Internet pode se desfa-zer da necessidade de baixar ou adquirir softwares equivalentes ndash ou quase equivalentes ndash como o BrOfficeorg[2] ou o Microsoft Office

Mais informaccedilotildees

[1] Google Docs httpdocsgooglecom

[2] BrOfficeorg httpwwwbrofficeorg

NomesO software como serviccedilo ou SaaS na sigla em inglecircs eacute tambeacutem uma nova forma de comerciali-zaccedilatildeo de softwares inclusive de Coacutedigo Aberto E a arquitetura necessaacuteria agrave implantaccedilatildeo e desenvol-vimento de softwares sob esse princiacutepio eacute a Arqui-tetura Orientada a Serviccedilos ou SOA

Como vocecirc veraacute nos artigos desta ediccedilatildeo da Linux Magazine a SOA propotildee a infra-estrutura e tambeacutem as diretrizes para que softwares sejam executados como serviccedilos e comuniquem-se uns com os outros de forma semelhante ao que ocorre num sistema operacional tradicional com comunicaccedilatildeo entre processos e biblio-tecas e outros componentes compartilhados

Nas paacuteginas a seguir apresentamos a visatildeo da construccedilatildeo de aplicativos como serviccedilos uma anaacutelise dos princiacutepios da SOA e a plataforma de desenvol-vimento NovaForge fortemente inclinada agrave oferta de softwares como serviccedilo

Boa leitura e bom serviccedilo

Linux Magazine 42 | Maio de 2008 35

SOA explicada | CAPA

copy Linux New Media do Brasil Editora Ltda

36

CA

PA

httpwwwlinuxmagazinecombr

SOA sobre JBoss

Bem arquitetadoA plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de aplicaccedilotildees JBoss Conheccedila-os em detalhespor Edgar Silva

Eacute faacutecil imaginarmos um liacuteder ou gerente de TI fugindo desesperadamente ao ou-

vir a pergunta ldquoO que eacute SOArdquo Embora a resposta simples e direta seja a explicaccedilatildeo da sigla Service Oriented Architecture eacute importante lembrar de que muito mais que orientados a serviccedilos devemos estar orientados para os serviccedilos Partindo desse sentido devemos associar toda essa visatildeo dos servi-ccedilos como agentes impulsionadores de negoacutecios

Um serviccedilo a grosso modo eacute um componente que pode ser reutilizado independentemente de tecnologias departamentos ou empresas Ao mesmo tempo que pode ser geneacuterico ele pode tam-beacutem ser especiacutefico agraves necessida-des e demandas de uma empresa

Quando falamos de SOA eacute um ligeiro engano acreditar que basta entatildeo transformar tudo em Web Services e ndash pronto ndash sua empresa estaacute 100 aderente a SOA Isso pode ser um passo que inclusi-ve leva a questotildees que preparam para os seguintes Ter as peccedilas separadas e isoladas natildeo faz um motor de carro funcionar todas as engrenagens ordens de acon-tecimentos (orquestraccedilatildeo) regras sequumlecircncia de accedilotildees (processos) devem ser previstas para que o conjunto possa funcionar

Quando falamos de SOA eacute importante lembrar que vaacuterios sis-temas ERP no Brasil satildeo legados portanto natildeo possuem aderecircncia a Web Services assim como fal-tam formas de integraccedilatildeo das mais diversas desde a transferecircncia de

arquivos FTP email e ateacute o acesso a banco de dados

A divisatildeo JBoss da Red Hat tem o JBoss SOA Platform como plata-forma voltada para SOA que reuacute-ne em um uacutenico pacote algumas soluccedilotildees descritas abaixo BPM JBoss jBPM Engine de regras JBoss Rules ESB JBoss ESB Persistecircncia de dados JBoss

Hibernate Framework de desenvolvi-

mento de aplicaccedilotildees JBoss Seam

Servidor de aplicaccedilotildees JBoss Application Server

Vale ressaltar que embora o JBoss Application Server sustente todas essas soluccedilotildees de produtos eacute possiacutevel usar qualquer servidor de aplicaccedilatildeo de outros fornecedores

copy Linux New Media do Brasil Editora Ltda

37

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

como IBM WebSphere Oracle AS ou BEA WebLogic Isso soacute eacute possiacute-vel graccedilas aos padrotildees abertos que permitem ao cliente escolher os produtos que melhor supram suas necessidades

A seguir descreveremos cada um dos componentes da platafor-ma SOA oferecidos pela Red Hat sobre seu servidor de aplicaccedilotildees de Coacutedigo Aberto

Servidor de aplicaccedilotildeesO JBoss Application Server eacute a infra-estrutura para a plataforma SOA da Red Hat Com cerca de oito anos de presenccedila no merca-do ele constitui o alicerce que permite executar os outros produ-tos visando a alta performance escalabilidade e seguranccedila para o serviccedilo dos clientes

Robustez no entanto natildeo eacute si-nocircnimo de dificuldade de instala-ccedilatildeo execuccedilatildeo e utilizaccedilatildeo Caso o servidor jaacute possua uma maacutequina virtual Java instalada e confi-gurada basta descompactar os pacotes dos componentes disponiacuteveis no site de proje-tos do JBoss[1] Em seguida vaacute ateacute o subdiretoacuterio bin dentro do diretoacuterio de ins-talaccedilatildeo do JBoss e execute o comando run (em sistemas Windowsreg) ou runsh (em Linux Solaris ou outras va-riantes de Unix) Feito isso o JBoss estaraacute pronto para a instalaccedilatildeo dos seus aplica-tivos Java EE Eacute claro que poderaacute haver necessidade de instalaccedilatildeo de recursos de bancos de dados (Datasour-ces) ou filas JMS Nesse caso e se houver maior interesse informaccedilotildees a respeito destes recursos estatildeo disponiacuteveis na documentaccedilatildeo gratuita do produto

JBoss HibernateA tarefa de construir aplicaccedilotildees Java que se comuniquem com bancos de dados pode ser extremamente facilitada com o uso de uma fer-ramenta ldquomodelo-relacionalrdquo ou ORM como o Hibernate Dentre suas inuacutemeras vantagens podemos citar o fato de que todo o desen-volvimento passa a ser de fato orientado a objetos Isso significa que comandos SQL como insert into update e outros pertencem ao passado dando lugar a procedi-mentos ocorridos inteiramente no ambiente da aplicaccedilatildeo cria-se uma estrutura baseada em um objeto do tipo ldquoclienterdquo e solicita-se que um recurso de sessatildeo (SessionFactory) o salve Nesse momento o Hiber-nate entre suas vaacuterias funccedilotildees conhece a relaccedilatildeo entre o mode-lo de objetos e as informaccedilotildees da estrutura de tabelas do banco de dados Sendo assim caberaacute a ele natildeo mais ao desenvolvedor a ta-refa aacuterdua de lidar com a falta de produtividade da linguagem SQL

a todo momento durante a cons-truccedilatildeo de sistemas

Essa caracteriacutestica do Hibernate tambeacutem eacute fundamental para que as aplicaccedilotildees sejam independentes do servidor de banco de dados Desse modo pode-se trocar de sistema ge-renciador de banco sem aquela antiga preocupaccedilatildeo com o funcionamento de instruccedilotildees SQL em diferentes bancos de dados Portabilidade de fornecedores de bancos de dados e produtividade no desenvolvimento de aplicaccedilotildees satildeo importantes para termos respostas raacutepidas agraves deman-das ocasionadas por uma arquitetura orientada para o serviccedilo

JBoss SEAMQuando algueacutem criticava o Java no passado um dos motivos era o grande nuacutemero de camadas de componentes para realizar uma operaccedilatildeo Em alguns casos o exa-gero de implementaccedilatildeo dos pa-drotildees de projeto (design patterns) ocasionava uma arquitetura com-

Figura 1 Ambiente de projeto de processos do JBoss jBPM

copy Linux New Media do Brasil Editora Ltda

38 httpwwwlinuxmagazinecombr

CAPA | SOA com JBoss

plexa e aplicaccedilotildees sujeitas a erros claacutessicos Pessoalmente ao longo de anos prestando consultoria em frameworks sofisticados perdi a conta de quantas vezes nossa equi-pe encontrou problemas ao fechar conexotildees de bancos de dados ou invocar sem necessidade a consulta de contexto de objetos etc

O Java evoluiu muitiacutessimo nos uacuteltimos anos permitindo a criaccedilatildeo de recursos muito mais estaacuteveis e modernos O resultado foi o surgi-mento de frameworks como o JBoss Seam que reuacutenem em uma uacutenica soluccedilatildeo todo o necessaacuterio para criar aplicaccedilotildees corporativas nos mode-los Web 20 e aderentes a SOA O Seam utiliza como infra-estrutura tecnologias estabelecidas como o Enterprise Java Beans 30 e Java Server Faces aleacutem de toda a riqueza proporcionada pelo Ajax

JBoss jBPMO JBoss jBPM eacute um projeto que resulta em um produto muito mais que em uma soluccedilatildeo de

BPMS (Business Process Manage-ment System) Ele satisfaz tanto aos analistas de negoacutecios quanto aos engenheiros de software pois muito mais que oferecer uma fer-ramenta de desenho para modelar negoacutecios e serviccedilos possui um framework completo para geren-ciamento monitoraccedilatildeo e controle de todas as fases dos fluxos dentro do processo

Como novidade as proacuteximas versotildees do jBPM devem trazer a implementaccedilatildeo do conceito PVM (Process Virtual Machine ndash Maacutequina Virtual de Processos) que em resumo eacute um framework de maacutequina de estado Poreacutem o propoacutesito da PVM vai muito aleacutem disso permite por exemplo abs-trair a linguagem de composiccedilatildeo do desenho de processos Com isso espera-se poder ter inuacutemeras linguagens para definiccedilatildeo como BPEL jPDL XPDL e Seam Page Flow A PVM seraacute capaz de rende-rizar de forma visual os processos definidos independente da lin-guagem empregada

Entre as caracteriacutesticas principais do JBPM estaacute sua possibilidade de execuccedilatildeo sobre qualquer servidor de aplicaccedilotildees Java ou alternati-vamente como serviccedilo Java standalone ndash sem um servidor de aplicaccedilotildees Tambeacutem pode manter os dados a respeito de versotildees e execuccedilotildees dos processos em qualquer banco de dados A figura 1 mostra uma visatildeo do ambiente de projeto e gerenciamento do JBoss jBPM

JBoss RulesO JBoss Rules ou Drools (seu nome na versatildeo co-munitaacuteria) eacute um produto notaacutevel cujas principais caracteriacutesticas satildeo

baixo custo de suporte e au-secircncia de custo de licenccedilas como seus concorrentes

marcante evoluccedilatildeo de versatildeo para versatildeo com estabilidade confiaacutevel

membros brasileiros na equipe de desenvolvimento

Sobre a motivaccedilatildeo para utilizar esse software eacute importante notar que as regras de negoacutecios satildeo os ativos mais alterados dentro de uma arquitetura SOA Respostas raacutepidas e cenaacuterios especiais podem ser alcanccedilados com facilidade separando a maioria das regras de coacutedigos de infra-estrutura e a aplicaccedilatildeo propriamente dita

Realizar alteraccedilotildees em uma aplicaccedilatildeo Java muitas vezes pode ocasionar a perda de tempo para testar novamente todas as partes afetadas pela mudanccedila da rede Poreacutem esse natildeo eacute o grande pro-blema muitos ambientes criacuteticos de produccedilatildeo podem ter a neces-sidade de reinicializaccedilatildeo Usando JBoss Rules a alteraccedilatildeo de uma regra exigiria apenas a alteraccedilatildeo

Figura 2 O editor de regras do JBoss Rules oferece suporte a DSLs em portuguecircs

copy Linux New Media do Brasil Editora Ltda

39

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

do arquivo dessa regra sem a ne-cessidade de tocar no nuacutecleo da aplicaccedilatildeo economizando assim tempo e parte dos testes

As regras de negoacutecio tambeacutem podem possuir seus idiomas proacute-prios ndash um conceito chamado de Domain Specific Language ou DLS que nos permite o uso de jargotildees idiomas expressotildees e dialetos de negoacutecio para compor nossas regras Assim fica mais faacutecil os analistas de negoacutecios comporem as regras no idioma portuguecircs brasileiro

O JBoss Rules pode ser embar-cado em soluccedilotildees de mercado as-sim como executado em qualquer servidor de aplicaccedilotildees Java

Os desenvolvedores tambeacutem dispotildeem de plugins nativos para o Eclipse[2] que permitem o de-senho e o desenvolvimento da escrita de regras O JBoss Rules tambeacutem suporta o desenho de re-gras por meio de diagramas como fluxos de regras Esse recurso tem o nome de RulesFlow e pode ser um guia visual para a execuccedilatildeo de suas regras de negoacutecio ou ajudar a visualizar como possiacutevel orquestrar serviccedilos atraveacutes de regras de ne-goacutecios As figuras 2 e 3 mostram respectivamente o editor de regras em modo de coacutedigo e o ambiente de desenho do RulesFlow

JBoss ESBEm agosto de 2007 a nova versatildeo do JBoss ESB trouxe vaacuterias inova-ccedilotildees e melhorias que fizeram com que seu posicionamento antes ligeiramente atrasado em relaccedilatildeo aos concorrentes de Coacutedigo Aber-to (Apache Service Mix e Mule principalmente) superasse essas alternativas Agora o JBoss ESB compete de igual para igual com soluccedilotildees de fornecedores como BEA Oracle e IBM

O conceito de ESB (Enterprise Service Bus) em termos gerais significa ser o barramento para os serviccedilos que a empresa possui Eacute nele que credenciais de seguran-ccedila single-sign on orquestraccedilatildeo e outras atividades acontecem A questatildeo nesse caso eacute que mui-tos ESBs de mercado pregam que um serviccedilo somente pode ser mascarado ou exposto por meio de um Web Service essa obriga-toriedade no entanto natildeo existe no JBoss ESB jaacute que como prin-cipal diferencial ele ldquoconversardquo com vaacuterios protocolos de registros de serviccedilos

Imagine poder considerar a ge-raccedilatildeo de um arquivo csv vindo do ERP ndash um evento suficiente para disparar vaacuterias atividades dentro da empresa como transformar a

representaccedilatildeo se-parada por virgulas em XML A partir desse XML eacute pos-siacutevel criar objetos Java publicando a partir destes infor-maccedilotildees 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-sas satildeo possiacuteveis com o JBoss ESB

ConclusotildeesEste artigo natildeo tem como objetivo fazer propaganda das soluccedilotildees da Red Hat mas mostrar como essas ferramentas compotildeem uma ofer-ta interessante e altamente capaz de fornecer uma infra-estrutura adequada agrave pratica da SOA em qualquer empresa

O uso dos produtos descritos neste artigo natildeo requer o preenchi-mento de formulaacuterios ou a compra de licenccedilas pois tratam-se todos de Softwares Livres Caso seja ne-cessaacuterio conformar o serviccedilo a um SLA obter garantia ou suporte eacute possiacutevel tambeacutem contratar esses serviccedilos de forma especializada

No Brasil esse modelo parece ser o mais racional jaacute que somente apoacutes investimentos em estudos de viabilidade e adequaccedilatildeo as em-presas escolhem se e como iratildeo contratar suporte

Mais informaccedilotildees

[1] JBoss httpwwwjbossorgprojects

[2] Eclipse httpwwweclipseorg

Figura 3 Interface do editor do Rules Flow que permite o desenho de regras de forma visual

copy Linux New Media do Brasil Editora Ltda

Irum Shahid ndash wwwsxchu

40

CA

PA

httpwwwlinuxmagazinecombr

O desenvolvimento de aplicaccedilotildees e a SOA

Clientes espalhados servidores distribuiacutedos

Como novo paradigma a SOA requer algumas mudanccedilas profundas na forma de projetar implementar e organizar aplicaccedilotildees corporativaspor Antocircnio Godinho

Quando uma nova tecnologia eacute introduzida no mercado uma das principais preocu-

paccedilotildees de qualquer gerente de desenvolvimento eacute perguntar-se ldquoDevo adotar a nova arquiteturardquo ldquoQuais benefiacutecios essa nova soluccedilatildeo traz ao meu ambienterdquo ldquoComo co-meccedilo o processo de adoccedilatildeo da SOA (Service Oriented Architecture)rdquo ldquoO que fazer com as aplicaccedilotildees que jaacute exis-temrdquo e ldquoComo desenvolver aplicaccedilotildees voltadas ao novo ambienterdquo

Avaliar se determinada arqui-tetura ou soluccedilatildeo traz benefiacutecios para nosso ambiente eacute funda-mental Para analisar a primeira questatildeo acima vamos definir al-gumas caracteriacutesticas da arquite-tura orientada a serviccedilos

PrinciacutepiosA base da SOA eacute a definiccedilatildeo do ser-viccedilo que seraacute fornecido Esse servi-ccedilo eacute exposto para seu usuaacuterio com funccedilotildees e interfaces bem definidas eacute independente do consumidor do serviccedilo pode estar codificado em qualquer linguagem e ser executado em qualquer combinaccedilatildeo de plata-forma ou sistema operacional e a in-formaccedilatildeo sobre esse serviccedilo pode ser obtida a partir de algum diretoacuterio na rede Como consequumlecircncia eacute possiacutevel substituir um serviccedilo por uma nova versatildeo executada em outra platafor-ma sistema operacional ou lingua-gem sem afetar o consumidor desse serviccedilo como mostra a figura 1

O consumidor do serviccedilo pode ser o usuaacuterio final ou um outro ser-

viccedilo e dentro do contexto da SOA uma aplicaccedilatildeo eacute um conjunto de provedores de serviccedilos colaborativos residentes ou natildeo em uma mesma plataforma ou organizaccedilatildeo Supondo que a empresa possua vaacuterios sistemas ndash entre pacotes sistemas ERP (En-terprise Resource Planning) e desen-volvimento interno e o usuaacuterio final ndash ao fazer uma consulta precisa de dados fornecidos por diversos desses sistemas Entatildeo temos uma situa-ccedilatildeo na qual a arquitetura facilita o ambiente de desenvolvimento per-mitindo a criaccedilatildeo de uma aplicaccedilatildeo composta que utilizaraacute as aplicaccedilotildees jaacute existentes Cada aplicaccedilatildeo existen-te eacute um potencial provedor de um serviccedilo usado pela nova aplicaccedilatildeo composta como na figura 2

Se considerarmos que atualmen-te cada empresa depende de outras dentro do contexto de mundo globa-lizado e que haacute uma sinergia entre aplicaccedilotildees executadas em diferentes empresas podemos ter um quadro em que uma companhia fornece um serviccedilo para outra e nesse caso o usuaacuterio final pode usar diversos serviccedilos fornecidos por mais de uma empresa Aleacutem disso a abordagem SOA permite o desenvolvimento de novos serviccedilos de forma mais raacutepida uma vez que aproveita serviccedilos jaacute exis-tentes e com maturidade e eficiecircncia

Figura 1 Camadas adotadas em SOA

copy Linux New Media do Brasil Editora Ltda

41

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

comprovadas reduzindo o periacuteodo de testes da nova aplicaccedilatildeo

Iniacutecio da adoccedilatildeoConsiderando que resolvemos ado-tar a SOA precisamos responder a segunda pergunta do gerente de desenvolvimento que diz respeito a como comeccedilar o processo de adoccedilatildeo dessa arquitetura

Como em qualquer novo conhe-cimento o primeiro passo eacute difundir a estrateacutegia O melhor modo de fazer isso eacute por meio de oficinas junto agrave equipe nas quais as tendecircncias de mercado satildeo colocadas e eacute realiza-da uma exposiccedilatildeo das tecnologias existentes Eacute importante tambeacutem alinhar a adoccedilatildeo da SOA com as expectativas ou problemas do negoacute-cio de maneira a criar a motivaccedilatildeo necessaacuteria em toda a equipe

Eacute necessaacuterio ainda fazer um mape-amento desses problemas de negoacutecio assim como das melhores praacuteticas do mercado e das vantagens em adquirir pacotes em comparaccedilatildeo com o de-senvolvimento interno e identificar quais os padrotildees mais adequados ao ambiente Conveacutem ressaltar que nes-sa fase eacute bom ter algueacutem externo para fazer a moderaccedilatildeo dessa oficina com o intuito de contar com uma pessoa isenta que possa enxergar o todo e natildeo esteja envolvida com questotildees internas ou departamentais

Aplicaccedilotildees anterioresNo mundo do desenvolvimento jaacute passamos por vaacuterios ciclos de linguagens e arquiteturas Logo eacute natural que a empresa possua sistemas estruturas e linguagens diferentes Essas aplicaccedilotildees con-tecircm dentro de si loacutegicas de negoacutecio desenvolvidas ao longo do tempo e satildeo um ativo muito importante da empresa Eacute natural portanto que a terceira duacutevida venha agrave tona se vamos investir em uma arquitetura SOA o que devemos fazer com as aplicaccedilotildees existentes

Uma das boas no-tiacutecias da SOA eacute que a sua adoccedilatildeo natildeo impli-ca descartar o que foi feito previamente Os primeiros passos para a adoccedilatildeo da arquitetu-ra orientada a serviccedilos satildeo avaliar as aplicaccedilotildees existentes analisar os ser-viccedilos e as funccedilotildees sele-cionar quais devem ser publicadas e de acordo com suas caracteriacutesticas selecionar os conectores adequados

Como vimos o ser-viccedilo precisa estar bem definido e com interfaces claras Se a aplicaccedilatildeo em questatildeo natildeo possui essas caracteriacutesticas eacute preciso usar um conector que as forneccedila como um Resource Adaptor que encapsu-laria uma aplicaccedilatildeo natildeo-conforme na SOA

InterconexatildeoNesse momento comeccedilamos a ver mais um item importante da arquitetura a infra-estrutura de interconexatildeo Ela eacute composta por dois moacutedulos loacutegicos como podemos observar na figura 3 que exibe em mais detalhes o barra-mento de serviccedilos O barramento de serviccedilos conecta todos os fornecedo-res de serviccedilos enquanto o canal de acesso une os usuaacuteriosconsumidores internos e externos aos serviccedilos

Barramento de serviccedilosO barramento de serviccedilos integra vaacuterias entidades de software O moacutedulo prin-cipal eacute o subcomponente de ldquoInterco-nectividade de serviccedilosrdquo que fornece os protocolos e outras funccedilotildees neces-saacuterias para conectar o gerenciamento de canal de acesso aos provedores de serviccedilo bem como os provedores uns aos outros Se eles suportam os proto-colos utilizados na interconectividade

de serviccedilos eles podem se comunicar diretamente entre si como mostrado nas conexotildees A da figura 3 Os proto-colos podem incluir por exemplo mensageria e SOAP (Simple Object Access Protocol)

Nesse caso estamos abordando a questatildeo do reaproveitamento das apli-caccedilotildees existentes ndash muitas vezes elas natildeo suportam os protocolos escolhidos sendo chamadas de ldquonatildeo-conformesrdquo A adaptaccedilatildeo (encapsulamento) eacute exe-cutada por um conector como mos-trado na figura 3 pela conexatildeo B O conector converte o protocolo no que for necessaacuterio para acessar a aplicaccedilatildeo ndash e vice-versa na saiacuteda

Uma variedade de serviccedilos baacutesicos eacute necessaacuteria para que o barramento de serviccedilos seja facilmente usado Eles abrangem dois grandes grupos ldquoUtilitaacuteriosrdquo responsaacutevel pelo dire-toacuterio de serviccedilos tradutores de coacutedi-go formatadores de mensagem e ldquoGerenciamentordquo responsaacutevel pela monitoraccedilatildeo ndash incluindo relatoacuterio de erros ndash configuraccedilatildeo e seguranccedila Os subcomponentes do serviccedilo de inter-conectividade e os conectores fariam a interface com a loacutegica comum as-sim como os provedores de serviccedilo e o componente de gerenciamento canal de acesso como mostrado nas conexotildees C da figura 3

Figura 2 O consumidor acessa a aplicaccedilatildeo-serviccedilo fornecida pelos provedores distribuiacutedos

copy Linux New Media do Brasil Editora Ltda

42 httpwwwlinuxmagazinecombr

CAPA | Desenvolvimento e SOA

Camada fiacutesicaNote que ateacute o momento falamos apenas da camada loacutegica Natural-mente haacute uma camada fiacutesica que pode ser implementada de forma distribuiacuteda ou centralizada usando uma abordagem de concentrador Na abordagem distribuiacuteda os subcom-ponentes do barramento de serviccedilos estatildeo espalhados pelos componentes e a rede fornece as interconexotildees fiacute-sicas necessaacuterias Essa abordagem eacute na verdade uma seacuterie de conexotildees ponto-a-ponto que pode rapida-mente aumentar a complexidade caso existam mais que apenas um ou dois protocolos ou um nuacutemero pequeno de serviccedilos Para montar um ambiente mais administraacutevel a abordagem com a utilizaccedilatildeo de um concentrador eacute melhor

Com a abordagem do concentrador o barramento de serviccedilos eacute implemen-tado em um servidor independente ou em um conjunto de servidores Os pro-vedores de serviccedilos podem implementar quaisquer dos protocolos suportados pelo subcomponente de interconec-tividade de serviccedilos Requisiccedilotildees de entrada satildeo roteadas para o serviccedilo de destino apropriado O concentrador age entatildeo como um comutador Pro-tocolos diferentes podem ser usados entre as conexotildees de origem e destino o subcomponente ldquoInterconectividade de Serviccedilosrdquo no concentrador executa a conversatildeo entre ambos

Com essa estrutura resolvemos a questatildeo das aplicaccedilotildees existentes do ponto de vista de infra-estrutura interna E o contato com o usuaacuterio Para trabalharmos esta parte vamos

ver com mais detalhes a outra camada da infra-estrutura de interconexatildeo mostrada na figura 4

UsuaacuterioO gerenciamento de canal de acesso se conecta ao barramento de serviccedilos do mesmo modo que os provedores de serviccedilo Ele executa duas funccedilotildees ou conjuntos de funccedilotildees ldquoGerencia-mento de interface de usuaacuteriordquo que trata da interface para os usuaacuterios ou consumidores de serviccedilo como na-vegadores web estaccedilotildees de trabalho com clientes inteligentes e serviccedilos web e ldquoMapeamento e definiccedilatildeo do serviccedilordquo que identifica os serviccedilos disponiacuteveis e conecta as requisiccedilotildees de entrada aos provedores de serviccedilo usando as interfaces expostas

O mapeamento e a definiccedilatildeo do serviccedilo podem ser bem simples ndash ape-nas um ponteiro para o provedor do serviccedilo Um processo completo de negoacutecio no entando pode necessitar do uso de vaacuterios provedores de servi-ccedilo e as sequumlecircncias nas quais eles satildeo invocados podem variar dependen-do do resultado das requisiccedilotildees a um provedor de serviccedilo especiacutefico

Orquestraccedilatildeo e barramentoA orquestraccedilatildeo pode ser feita obviamen-te escrevendo-se o provedor de serviccedilo externo que implementa as regras de negoacutecio para o processo em questatildeo e invoca os provedores internos quando necessaacuterio Contudo jaacute existem vaacuterios produtos para apoiar a criaccedilatildeo 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 orquestraccedilatildeo disponiacuteveis dentro desses produtos per-mitem criar o processo completo pro-vendo interfaces graacuteficas para identificar os provedores internos necessaacuterios e as regras de negoacutecios a serem seguidas durante o processo

Figura 3 A infra-estrutura de serviccedilos em SOA transita pelo barramento de serviccedilos ou ESB

Figura 4 As conexotildees entre provedores internos e externos compotildeem a outra camada da estrutura de interconexatildeo

copy Linux New Media do Brasil Editora Ltda

43

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

Desenvolvimento de aplicaccedilotildeesFinalmente vamos responder a uacutel-tima pergunta do gerente de desen-volvimento ldquocomo desenvolver apli-caccedilotildees voltadas ao novo ambienterdquo Caso se trate de uma nova aplicaccedilatildeo o ideal eacute utilizar uma ferramenta que possua um ambiente completo e raacutepido para desenvolvimento e im-plementaccedilatildeo de aplicativos permita essa implementaccedilatildeo com agilidade de novos processos e encapsule o co-nhecimento dos negoacutecios sob a forma de componentes reutilizaacuteveis

Um dos pontos fundamentais da SOA eacute que o serviccedilo pode ser execu-tado em qualquer plataforma sistema operacional ou linguagem Desse modo ao desenvolver um serviccedilo o desenvol-vedor natildeo deveria se preocupar com caracteriacutesticas de uma linguagem ou plataforma especiacutefica Esses serviccedilos devem ser desenvolvidos rapidamen-te e com facilidade em conjunto com analistas de negoacutecios e usuaacuterios finais utilizando a terminologia e o vocabulaacuterio compreendidos por eles O importan-te eacute se preocupar com o negoacutecio que seraacute atendido e que exista um niacutevel de abstraccedilatildeo entre a loacutegica de negoacutecio e a plataforma ou linguagem na qual o serviccedilo seraacute executado

Note que haacute um ambiente (ldquoMode-lador do sistemardquo) no qual o negoacutecio eacute modelado O construtor traduz o negoacutecio para o ambiente final com todas as ca-racteriacutesticas corporativas para assegurar a integridade da aplicaccedilatildeo modelada

O modelador do sistema deve oferecer a flexibilidade de adicionar interfaces de usuaacuterio final ao modelo que podem ser implementadas em uma ampla gama de ambientes

Governanccedila e seguranccedilaUma vez que tenham sido realizados os levantamentos e as oficinas a equi-pe estaacute motivada e os objetivos estatildeo

claros eacute impor-tante garantir que a meacutetrica baacutesica da arquitetura orientada a ser-viccedilos seja medida e explorada Um dos principais atri-butos da SOA eacute a capacidade de reutilizar serviccedilos existentes em no-vas aplicaccedilotildees ndash e eacute necessaacuterio man-ter esse cataacutelogo bem definido

Para auxiliar nesse controle existem diversas ferramentas disponiacute-veis que utilizam definiccedilotildees como UDDI (Universal Descrip-

tion Discovery and Integra-tion) ndash registro independente de plataforma baseado em XML cujo objetivo eacute listar serviccedilos acessiacuteveis pela Web Trata-se de uma iniciativa aberta que permite agraves empre-sas publicarem listas de servi-ccedilos acessaacute-los e descrevecirc-los possibilitando que aplicaccedilotildees possam interagir A UDDI foi originalmente proposta e pro-jetada para ser interligada por mensagens SOAP provendo acesso a documentos WSDL com as descriccedilotildees de protoco-los e formatos requeridos para interaccedilatildeo com os serviccedilos web listados no diretoacuterio

ebXML (Electronic Business using eXtensible Markup Lan-guage) ndash nada mais que uma grande biblioteca contendo informaccedilotildees sobre os serviccedilos disponiacuteveis e como acessaacute-los Sua infra-estrutura eacute aberta e baseada em XML habilitando o uso global das informaccedilotildees de forma interoperaacutevel segura e consistente Incorpora cinco camadas de definiccedilotildees de da-

dos (i) processos de negoacutecios (ii) protocolos de colaboraccedilatildeo (iii) componentes de dados prin-cipais (iv) mensageria e (v) re-gistro e repositoacuterios

Consideraccedilotildees finaisA adoccedilatildeo da SOA tem aumenta-do rapidamente Aleacutem de reunir muitas vantagens em um ambien-te distribuiacutedo de aplicaccedilotildees que eacute a nossa realidade hoje haacute diversas ferramentas disponiacuteveis no mercado que facilitam o seu uso Com pro-fundas diferenciaccedilotildees em relaccedilatildeo ao desenvolvimento tradicional de sistemas eacute necessaacuterio planejar bas-tante sua introduccedilatildeo junto agraves equi-pes de desenvolvimento e contar com apoio externo agrave empresa para que a mensagem seja absorvida com mais facilidade Com tudo isso e considerando as respostas ao gerente de desenvolvimento a arquitetura orientada a serviccedilos eacute um excelente caminho para a integraccedilatildeo de tran-saccedilotildees distribuiacutedas

Sobre o autorAntonio Godinho eacute arquiteto de sistemas na Unisys Brasil

Figura 5 O ESB realiza a comunicaccedilatildeo entre os canais de acesso de muacuteltiplos grupos de provedores que podem representar diferentes departamentos empresas etc

copy Linux New Media do Brasil Editora Ltda

Andrzej Gdula ndash sxchu

44 httpwwwlinuxmagazinecombr

A faacutebrica de software corporativo NovaForge

Quase faz cafeacuteCom o NovaForge eacute muito praacutetico hospedar gerenciar e testar softwares em escala corporativapor Pablo Hess

Sistemas de desenvolvimento distribuiacutedo de software satildeo altamente produtivos Em-

pregados amplamente por projetos de Software Livre sistemas como git[1] CVS[2][3] SVN[3][4] Mer-curial[5] e Bitkeeper[6] apenas para citar os mais famosos possibilitam o desenvolvimento colaborativo da grande maioria dos softwares de Coacute-digo Aberto desde o kernel Linux ateacute sofisticados ambientes desktop como Gnome e KDE

Uma interessante alternativa agrave manutenccedilatildeo de um servidor de de-senvolvimento ldquodentro de casardquo eacute o uso de repositoacuterios de projetos de software cujo exemplo mais famoso eacute o SourceForge[7] que abriga ou jaacute abrigou inuacutemeros projetos de Coacutedigo Aberto desde os mais simples e de uso restrito a uma aacuterea de atuaccedilatildeo ateacute os atuais campeotildees de atividade[8] o ERP Openbravo[9] o software de comparti-lhamento Azureus[10] e o programa de graacuteficos vetoriais Inkscape[11]

No entanto empresas que de-sejem gerenciar seus projetos de software corporativo de forma centralizada com testes e anaacutelises de desempenho durante a noite aleacutem da geraccedilatildeo automatizada de relatoacuterios tecircm como uacutenica alter-nativa o emprego de um servidor proacuteprio para essas tarefas Ou me-lhor tinham

No intuito de oferecer uma al-ternativa de caraacuteter corporativo que forneccedila aos projetos toda a infra-estrutura para a criaccedilatildeo e ge-renciamento a francesa Bull[12] lanccedilou o NovaForge[13]

CorporativoEm seu whitepaper a Bull afirma ter ldquoempregado no NovaForge seus conhecimentos metodoloacutegi-cos e sua experiecircncia na condu-ccedilatildeo e realizaccedilatildeo de projetos de desenvolvimento e integraccedilatildeo de sistemas numa plataforma indus-trial de produccedilatildeordquo Para os desen-

volvedores que desejem hospedar seus projetos nesse sistema isso significa uma maior base de ferra-mentas natildeo apenas para gerenciar o coacutedigo-fonte do projeto mas o projeto em si assim como toda a documentaccedilatildeo relevante

O NovaForge de fato facilita o gerenciamento de projetos de software de escala industrial de formas que o SourceForge ou mes-mo o CodePlex[14] da Microsoft jamais pretenderam fazer E a melhor parte o sistema eacute inteira-mente voltado ao Coacutedigo Aberto e padrotildees abertos

De acordo com a Bull os prin-ciacutepios do NovaForge satildeo capitalizaccedilatildeo empregar fer-

ramentas de desenvolvimen-to qualificadas e metodolo-gias aprovadas assim como a reutilizaccedilatildeo dos trabalhos jaacute realizados

compartilhamento compar-tilhar a mesma visatildeo que os

CA

PA

copy Linux New Media do Brasil Editora Ltda

45

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

projetos independen-temente da localizaccedilatildeo de seus participantes e compartilhando tam-beacutem o repositoacuterio de documentaccedilatildeo

flexibilidade o Nova-Forge foi concebido de forma modular para incluir ferramentas par-ticulares e assim res-ponder aos diferentes niacuteveis de atividade dos projetos tanto hospedados sobre uma infra-estrutura de rede de alto desem-penho quanto instalado no cliente

Eacute interessante notar que o terceiro item dessa lista jaacute dei-xa clara a inclinaccedilatildeo da plata-forma aos novos princiacutepios de software como serviccedilo

Processo de desenvolvimentoSob o NovaForge as diferentes etapas de desenvolvimento de software (figura 1) satildeo realizadas na seguinte ordem gestatildeo das exigecircncias da apli-

caccedilatildeo a ser desenvolvida exportaccedilatildeo das exigecircncias para a fer-

ramenta de modelagem UML geraccedilatildeo do coacutedigo com auxiacute-

lio do ambiente integrado de desenvolvimento

gerenciamento do coacutedigo-fonte e de suas versotildees

integraccedilatildeo e construccedilatildeo da apli-caccedilatildeo com uso dos repositoacuterios de integraccedilatildeo e das ferramentas de integraccedilatildeo contiacutenua

testes funcionais frente agraves exigecircn-cias e gerenciamento automaacuteti-co de falhas em caso de erros e falha de conformidade

As vantagens do uso da infra- estrutura do sistema para criaccedilatildeo de aplicaccedilotildees corporativas portanto podem ser listadas

ambiente de desenvolvimento pa-dronizado e com ferramentas po-derosas que permite mascarar para o desenvolvedor a complexidade da linguagem Java subjacente

o ganho de produtividade oferecido pela escolha das ferramentas mais adequadas pemite a geraccedilatildeo de partes do coacutedigo por meio de tarefas recorrentes de produccedilatildeo

a escolha de ferramentas de Coacute-digo Aberto robustas poderosas e aderentes aos padrotildees de de-senvolvimento e comunicaccedilatildeo utilizadas em diversos projetos e compatiacuteveis com a maioria dos sistemas operacionais

Seccedilotildees do desenvolvimentoO desenvolvimento no NovaForge eacute dividido em dois ambientes um destinado agrave concepccedilatildeo do projeto

e outro ndash Bull SOA IDE ndash feito sobre uma base de blocos de Coacute-digo Aberto como o Eclipse por exemplo enriquecidos pela proacute-pria Bull

O primeiro ambiente permite a geraccedilatildeo de relatoacuterios detalhados de concepccedilatildeo a partir dos diagra-mas UML e das regras de gestatildeo associadas aos casos de uso aleacutem das etapas de testes e validaccedilatildeo dos moacutedulos O segundo por sua vez oferece uma interface com a pri-meira e integra as ferramentas de geraccedilatildeo de coacutedigo ndash Velocity por exemplo ndash assim como uma seacuterie de plugins descritos a seguir

Ambiente de concepccedilatildeoO ambiente de concepccedilatildeo (a ferra-menta de modelagem Sprarx Sys-tem Enterprise Architect) natildeo exige a presenccedila de qualquer moacutedulo ou

Figura 1 Diagrama das etapas de desenvolvimento de software no NovaForge

copy Linux New Media do Brasil Editora Ltda

46 httpwwwlinuxmagazinecombr

CAPA | NovaForge

funcionalidade por parte do cliente Ele suporta UML 20 salva o modelo num banco de dados ou num arquivo e por fim exporta-o em XMI No entanto tambeacutem eacute possiacutevel trabalhar com diversos outras ferramentas como Rose XDE RAD Together MEGA Objecteering e PowerAMC por exemplo O objetivo afinal eacute simplesmente fornecer a entrada para a geraccedilatildeo de coacutedigo para im-plementar a arquitetura orientada ao modelo ou MDA

Dessa forma a cadeia de concep-ccedilatildeo do sistema formaliza a passagem do modelo de anaacutelise UML a um de concepccedilatildeo e implementaccedilatildeo Aleacutem das orientaccedilotildees de concepccedilatildeo e das normas de implementaccedilatildeo apoacutes a definiccedilatildeo da arquitetura de processador de destino para a aplicaccedilatildeo jaacute eacute possiacutevel gerar uma parte do coacutedigo da aplicaccedilatildeo ndash com o mecanismo de tagged value ndash fi-gura 2 Eacute importante notar tambeacutem

que o coacutedigo gerado natildeo depende de qualquer classe da Bull pois eacute puro JavaJ2EE

Ambiente de desenvolvimentoOs principais objetivos de um am-biente de desenvolvimento satildeo au-mentar a produtividade por meio de ferramentas para projetar pro-gramar e instalar aplicaccedilotildees J2EE e permitir o desenvolvimento co-laborativo Para isso eacute necessaacuterio tambeacutem observar as boas praacuteticas permitindo a geraccedilatildeo do coacutedigo de certos componentes da aplicaccedilatildeo e tambeacutem a criaccedilatildeo de uma corrente completa desde os objetos ateacute a base de dados incluindo todos os blocos que compotildeem a arquitetura

Por fim o ambiente de progra-maccedilatildeo deve permitir a integraccedilatildeo do desenvolvimento a uma arquitetura orientada a serviccedilos caso necessaacuterio

Isso facilita a chamada e a criaccedilatildeo de serviccedilos referenciados dentro da em-presa por intermeacutedio de assistentes

Nesse sentido a Bull contribui com o projeto Eclipse para melhorar o su-porte a J2EE e ao desenvolvimento de Web Services e processos de ne-goacutecios Aleacutem disso a colaboraccedilatildeo da empresa com o Eclipse visa a permitir acesso a aplicaccedilotildees externas ndash isso eacute natildeo escritas em Java ndash e a bancos de dados por meio de conectores JCA ou de meacutetodos de persistecircncia Uma caracteriacutestica importante eacute a total in-dependecircncia de classes especiacuteficas da Bull com total aderecircncia ao padratildeo J2EE mas ainda com suporte aos fra-meworks mais usados como Struts Spring e Hibernate

UtilizaccedilatildeoOs componentes da plataforma NovaForge portanto podem ser listados como a seguir

Figura 2 O mecanismo de tagged value enriquece as classes UML com as informaccedilotildees adequadas agrave geraccedilatildeo de coacutedigo

copy Linux New Media do Brasil Editora Ltda

47

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

ambiente de desenvolvimento Java Eclipse

ambiente de desenvolvimento J2EE JOPE

plugin Open Source Web Tools

controle de versotildees CVS Subversion

qualidade do coacutedigo Jalopy CheckStyle PMD

testes Unitaacuterios JUnit geraccedilatildeo ANT Maven

Para usar essa estrutura colaborati-va de desenvolvimento eacute necessaacuterio apenas um navegador web O servidor de aplicaccedilatildeo naturalmente tambeacutem eacute obrigatoacuterio e a Bull recomenda o uso do JBoss[15]

Servidor colaborativoO servidor colaborativo de desenvol-vimento fornece a todos os participan-tes do projeto o acesso ao ambiente para realizaccedilatildeo de suas tarefas espe-ciacuteficas de acordo com o papel de cada um (desenvolvedor integrador liacuteder de projeto gerente etc)

O portal utiliza a solu-ccedilatildeo eXo Portal[16] que em sua versatildeo 20 oferece suporte a clientes de rich internet applications (RIA como satildeo mais conhecidos) dentro do proacuteprio navega-dor O NovaForge faz bom uso dos ldquoaplicativos ricosrdquo como mostra a figura 3 incluindo o single sign-on para todos os serviccedilos dispo-nibilizados como comuni-caccedilatildeo desenvolvimento e acesso a documentos por exemplo

GForgeUma das principais fer-ramentas de desenvolvi-mento colaborativo utili-zadas pelo NovaForge eacute

o pacote de Coacutedigo Aberto GFor-ge[17] um gerenciador de proje-tos repleto de funcionalidades Como tal ele centraliza o acesso ao conjunto de ferramentas de gestatildeo e colaboraccedilatildeo necessaacuterias agrave boa realizaccedilatildeo de um projeto de desenvolvimento como por exemplo acesso seguro aos diferentes

moacutedulos de gerenciamento de coacutedigo diretamente a partir da interface web

gerenciamento de documen-tos e suas versotildees

gerenciamento de foacuteruns e listas de discussatildeo

monitoramento das tarefas realizadas pelos usuaacuterios

gerenciamento de falhas e anomalias do projeto com possibilidades ilimitadas em termos de qualificaccedilatildeo das falhas atribuiccedilatildeo a desenvol-vedores de diferentes equipes

gerenciamento de prioridades e outras funccedilotildees

gerenciamento e atribuiccedilatildeo de tarefas aos participantes ao longo de todo o ciclo de de-senvolvimento dos projetos

interface com o CVS ou Sub-version para gestatildeo da segu-ranccedila no que diz respeito ao acesso de escrita e leitura do coacutedigo-fonte do projeto

Servidor de industrializaccedilatildeoO chamado ldquoservidor de industrializa-ccedilatildeordquo eacute uma plataforma de ldquofaacutebrica de receitasrdquo proposta pela Bull com todo o contexto necessaacuterio aos procedimentos e seus testes Seus principais objetivos satildeo a criaccedilatildeo de ldquonightly buildsrdquo a re-alizaccedilatildeo de testes de desempenho afim de garantir o correto funcionamento e dos softwares no momento em que forem finalizados

Figura 3 O NovaForge jaacute utiliza e muito bem as potencialidades dos componentes chamados Rich Internet Applications

copy Linux New Media do Brasil Editora Ltda

48 httpwwwlinuxmagazinecombr

CAPA | NovaForge

A figura 4 demonstra o processo de compilaccedilatildeo dessa etapa Em in-tervalos regulares toda a aplicaccedilatildeo sua documentaccedilatildeo e seus testes unitaacuterios satildeo gerados permitindo que se automatize a anaacutelise da qualidade do coacutedi-

go da aplicaccedilatildeo pelos compo-nentes PMD e CheckStyle

a geraccedilatildeo automaacutetica da apli-caccedilatildeo por comparaccedilatildeo com as uacuteltimas versotildees presentes no gerenciador de configuraccedilotildees a partir do servidor CVS ou Subversion

a geraccedilatildeo automaacutetica da do-cumentaccedilatildeo da aplicaccedilatildeo

a execuccedilatildeo do conjunto de testes unitaacuterios usando os componentes JUnit DBUnit e HTTPUnit com geraccedilatildeo posterior de relatoacuterios

a implementaccedilatildeo da moni-toraccedilatildeo de servidores da do-cumentaccedilatildeo e dos relatoacuterios anteriormente gerados

A cada manhatilde a anaacutelise dos relatoacuterios e resultados do servi-dor de industrializaccedilatildeo oferece ao gerente do projeto um pano-rama absolutamente atualizado do estado funcional do software

e possibilita a criaccedilatildeo de tiacutequetes de falhas pelo Salomeacute-TMF

ConclusotildeesO NovaForge natildeo tem como obje-tivo substituir os repositoacuterios mais tradicionais como o SourceForge mas criar uma verdadeira faacutebrica de software colaborativo de caraacuteter corporativo A linguagem Java por exemplo eacute uma obrigaccedilatildeo o que pode limitar o uso por projetos co-munitaacuterios de espectro geral mas natildeo representa uma restriccedilatildeo aos projetos de software corporativos ndash aliaacutes muito pelo contraacuterio

No momento o NovaForge em-prega 17 ferramentas para gerenciar seus softwares desde o CVS ou Subversion para o coacutedigo-fonte passando pelo GForge no campo do gerenciamento de projetos e documentos e chegando ateacute o Ma-ven para as tarefas automatizadas de industrializaccedilatildeo

Somada ao praacutetico gerencia-mento a garantia de qualidade dos projetos abrigados no NovaForge eacute um importante convite a qualquer organizaccedilatildeo que deseje desenvol-ver projetos de alta qualidade em escala corporativa

Mais informaccedilotildees

[1] Git httpgitorcz

[2] CVS na Wikipeacutedia httpptwikipediaorgwikiCVS

[3] Johannes Ploumltner e Steffen Wendzel ldquoFonte de organizaccedilatildeo httpwwwlinuxmagazinecombrarticlefonte_de_organizacao

[4] Subversion httpsubversiontigrisorg

[5] Mercurial httpwwwseleniccommercurialwiki

[6] Bitkeeper httpwwwbitkeepercom

[7] SourceForge httpsourceforgenet

[8] Ranking de atividade do SourceForge httpsourceforgenettopmostactivephptype=week

[9] Openbravo httpwwwopenbravocom

[10] Azureus httpazureussourceforgenet

[11] Inkscape httpwwwinkscapeorg

[12] Bull httpwwwbullcombr

[13] NovaForge httpwwwnovaforgeorg

[14] Microsoft CodePlex httpwwwcodeplexcom

[15] JBoss httpwwwjbosscom

[16] Portal httpwwwexoplatformcomportalpublicsite

[17] GForge httpgforgeorg

Figura 4 Os testes realizados automaticamente nos nightly builds fornecem vaacuterios dados a respeito do aplicativo

copy Linux New Media do Brasil Editora Ltda

49Linux Magazine 42 | Maio de 2008

TU

TO

RIA

L

Configurando o ambiente de desenvolvimento

Produto importadoSe for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte do ADempiere eacute muito faacutecil usar o poderoso ambiente de desenvolvimento Eclipse para importaacute-lopor Eduardo Montenegro

Chegamos agora agrave terceira parte de nosso tutorial sobre o ADempiere ERP amp CRM

Na uacuteltima ediccedilatildeo[1] fizemos uma pequena adaptaccedilatildeo ao sistema crian-do um novo campo que permitia a entrada de dados pelo usuaacuterio

Agora vamos importar o coacutedigo-fonte do ADempiere no ambiente de desenvolvimento Java Eclipse[2] que iraacute permitir o desenvolvimento de novos recursos no sistema utili-zando programaccedilatildeo

Vale lembrar que o objetivo deste tutorial eacute apresentar algumas carac-teriacutesticas principais do ADempiere sendo impossiacutevel esgotar esse assun-to ou nos aprofundarmos muito em determinados toacutepicos

O ambiente de desenvolvimento padratildeo utilizado pelos desenvolvedo-res do projeto ADempiere eacute o Eclipse Vamos acompanhar os passos neces-saacuterios para instalaccedilatildeo desse ambien-te de desenvolvimento e do plugin Subclipse[3] que utilizaremos para fazer o checkout do projeto do servi-dor SVN no SourceForge[4]

Instalaccedilatildeo do EclipseContinuando a configuraccedilatildeo de nos-so ambiente de desenvolvimento no Ubuntu[5] iremos fazer a instalaccedilatildeo do Eclipse por meio do repositoacuterio de pacotes usando o Synaptic Apoacutes pro-curar o pacote Eclipse basta efetuar a instalaccedilatildeo da forma normal Em segui-da seraacute necessaacuterio iniciaacute-lo para fazer a instalaccedilatildeo do plugin Subclipse

Plugin SubclipseNo menu principal do Eclipse iremos selecionar as opccedilotildees Help e em seguida Software Updates e Find and Install conforme indicado na figura 1

Na proacutexima janela como mostra a figura 2 selecionaremos a opccedilatildeo Search for New Features to Install e depois o botatildeo Next

Na janela seguinte eacute preciso acres-centar uma nova fonte remota de softwares selecionando a opccedilatildeo New Remote Site e digitando na nova janela o nome Subclipse 12x (Eclipse 32+) e a URL httpsubclipsetigrisorgupda-te_12x conforme a figura 3

Em seguida vamos selecionar para a busca a opccedilatildeo que acabou de ser criada na janela (figura 4) Ao ser exibido finalmente o plugin Subclipse (figura 5) deve-se selecionaacute-lo pressionando o botatildeo Finish em seguida

Ao concluir a ins-talaccedilatildeo do plugin o Eclipse precisaraacute ser reiniciado para que pos-sa ser utilizado

Repositoacuterio ADempiereDe volta ao Eclipse selecionaremos o menu Window Open Perspective e Other Na janela exibida na figura 6 deve ser selecionada a opccedilatildeo SVN Re-pository Exploring Na parte esquerda da janela na aba SVN Repository iremos clicar com o botatildeo direito do mouse e adicionar o repositoacuterio do ADempiere conforme demonstrado na figura 7 Seu endereccedilo eacute httpsadempieresvnsour-ceforgenetsvnrootadempiere [4]

Figura 1 A instalaccedilatildeo de novos plugins no Eclipse eacute bem simples

Figura 2 Como o plugin estaacute num novo repositoacuterio devemos acrescentaacute-lo manualmente

Figura 3 Dados do repositoacuterio do ADempiere

copy Linux New Media do Brasil Editora Ltda

50 httpwwwlinuxmagazinecombr

TUTORIAL | Alteraccedilotildees no coacutedigo-fonte do ADempiere

Figura 5 O plugin do Subclipse jaacute pode ser instalado

O projeto do ADempiere estaraacute disponiacutevel no Eclipse possibilitando a navegaccedilatildeo pelos diversos pacotes e arquivos do projeto por meio da aba do lado esquerdo conforme exibido na figura 10

Para executar o projeto a partir do Eclipse resta apenas definir um perfil de execuccedilatildeo que podemos criar com poucos passos 1 selecionar o menu Run e em

seguida Open Run Dialog 2 na janela aberta (figura 11)

selecionar a opccedilatildeo Java Appli-cation no painel esquerdo e pressionar o botatildeo New

3 no campo Name entrar com o nome Adempiere

4 no campo Project utilizan-do o botatildeo Browse selecionar o projeto receacutem-criado

5 finalmente no campo Main Class digitar orgcompiereAdempiere

Agora se pressionarmos o botatildeo Apply e em seguida selecionarmos Run o ADempiere seraacute executado a partir do Eclipse

ConclusatildeoAo final desse procedimento o am-biente de desenvolvimento do ADem-piere estaraacute configurado Com isso no proacuteximo artigo poderemos importar o projeto do ADempiereLBR[6] que eacute complementar ao LBR e acrescenta diversos recursos para a operaccedilatildeo do ADempiere no Brasil

Na proacutexima ediccedilatildeo veremos tam-beacutem algumas das principais caracte-riacutesticas do desenvolvimento de novos recursos para o ADempiere utilizando a linguagem Java

Jaacute com as informaccedilotildees do reposi-toacuterio no Eclipse iremos navegar ateacute a pasta Tags e em seguida clicando com o botatildeo direito do mouse em cima da pasta adempiere340 selecionaremos a opccedilatildeo Checkout (figura 8)

Na janela mostrada em seguida para a operaccedilatildeo de checkout basta confirmar a operaccedilatildeo selecionando os bototildees Next e em seguida Finish Esse passo pode demorar um pouco pois seratildeo copiados todos os arquivos do projeto ADempiere para a maacutequina local

De dentroVamos agora executar o ADempiere de dentro do Eclipse Selecionan-do no menu novamente as opccedilotildees Window Open Perspective e Other iremos voltar para a perspectiva Java (default) (figura 9)

Figura 4 Seleccedilatildeo do novo repositoacuterio configurado como fonte do plugin

Figura 6 O Subclipse permite a impor-taccedilatildeo de dados a partir de um repositoacuterio Subversion

Figura 7 Adicionando um repositoacuterio Subversion

copy Linux New Media do Brasil Editora Ltda

51Linux Magazine 42 | Maio de 2008

Mais informaccedilotildees

[1] Eduardo Montenegro ldquoConfiguraccedilatildeo do ADempiere ndash Faccedila a sua gestatildeordquo httpwwwlinuxmagazinecombrarticle1649

[2] Eclipse httpwwweclipseorg

[3] Subclipsehttpsubclipsetigrisorg

[4] Repositoacuterio do ADempiere no SourceForge httpsadempieresvnsourceforgenetsvnrootadempiere

[5] Ubuntu httpwwwubuntucom

[6] Projeto AdempiereLBR no Sourceforge httpsfnetprojectsadempierelbr

[7] Site do Projeto ADempiere httpwwwadempierecom

[8] Wiki do Projeto Adempiere httpwwwadempierecomwiki

[9] Foacuterum do ADempiere em portuguecircs httpforumkenoscombr

Figura 8 Realizaccedilatildeo do che-ckout no repositoacuterio

Figura 9 Com a perspectiva Java eacute pos-siacutevel trabalhar em projetos nessa linguagem como o ADempiere

Figura 10 Jaacute eacute possiacutevel navegar pelo coacutedigo do ADempiere

Figura 11 Criaccedilatildeo de um novo perfil para o projeto do ADempiere no Eclipse

copy Linux New Media do Brasil Editora Ltda

52 httpwwwlinuxmagazinecombr

Deacutecima primeira aula de preparaccedilatildeo LPIC-2

LPI niacutevel 2 Aula 11Configuraccedilatildeo do servidor BIND criaccedilatildeo e manutenccedilatildeo de arquivos de zonas e ferramentas relacionadaspor Luciano Siqueira

22071 Configuraccedilatildeo baacutesica de um servidor DNS Um servidor DNS ndash Domain Name System ndash converte remotamente no-mes de maacutequinas para seus respectivos nuacutemeros IP e vice-versa A correspon-decircncia entre o nome e o nuacutemero IP eacute chamada mapeamento e organizado de forma hieraacuterquica

Em outras palavras um domiacutenio como howtoslinuxcom seraacute quebrado e resolvido comeccedilando por com de-pois linux e finalmente howtos ndash itens chamados respectivamente top-level domain second-level domain e third-level domain Eacute nessa ordem que o endereccedilo IP para howtoslinuxcom seraacute obtido Os top-level domains mais comuns satildeo com org e net mas existem vaacuterios outros

O programa servidor responsaacutevel pelo mapeamento eacute o usrsbinnamed que eacute parte do pacote cha-mado BIND cujas especificaccedilotildees

satildeo definidas pelo Internet Systems Consortium Seu arquivo de confi-guraccedilatildeo eacute namedconf que pode ser encontrado no diretoacuterio etc ou etcbind Em versotildees do BIND anteriores agrave 8 o arquivo de configu-raccedilatildeo chama-se namedboot e possui sintaxe diferente Arquivos anteriores agrave versatildeo 8 natildeo funcionaratildeo nesta ou na 9 Para converter arquivos de con-figuraccedilatildeo de versotildees anteriores para a 8 pode ser utilizado o comando named-bootconf

Servidor caching-onlyO DNS caching-only eacute a mais simples implementaccedilatildeo de um servidor DNS Ele apenas requisita a resoluccedilatildeo do nome junto a um servidor externo e armazena a resposta para agilizar futuras requisiccedilotildees Exemplo de na-medconf para um servidor de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

Zonas convencionais tecircm seccedilotildees definidas de forma semelhante (exem-plo zone ldquolocalhost IN rdquo) e eacute importante que para cada uma delas seja especificada uma zona para DNS reverso (exemplo zone ldquo00127in-addrarpa IN rdquo) O DNS reverso eacute responsaacutevel por converter nuacutemeros IP para seus respectivos nomes

Voltando ao exemplo na seccedilatildeo options eacute indicado onde estatildeo os arquivos de zonas (directory ldquovarnamedrdquo) Estaacute definido apenas o mapeamento para ldquordquo que seraacute consultado se nenhum outro ma-peamento for encontrado Eacute este o caso do exemplo

No arquivo varnamedroothints haacute uma lista com os principais ser-vidores de nomes da Internet Este arquivo eacute gerado atraveacutes do comando

Toacutepico 207 DNS

TU

TO

RIA

L

Irum_Shahid - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

53

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

dig eroot-serversnet ns Como os endereccedilos de alguns servidores po-dem mudar eacute aconselhaacutevel atualizar o arquivo mensalmente O exemplo 1 mostra um trecho do arquivo varnamedroothints

Apoacutes alterar os arquivos de con-figuraccedilatildeo seraacute necessaacuterio reiniciar o daemon named responsaacutevel por responder agraves requisiccedilotildees de DNS Para que as configuraccedilotildees tenham efeito sem interromper o named basta enviar o sinal HUP para o processo atraveacutes do comando kill

kill -HUP `pidof named`

22072 Criaccedilatildeo e manutenccedilatildeo de zonas de DNSA principal diferenccedila entre um servidor DNS tradicional e um servidor DNS caching-only estaacute nos arquivos de zona Num ser-vidor tradicional os arquivos de zona conteacutem a correspondecircncia de IPs e nomes para os domiacutenios especificados em namedconf

Criando um domiacutenioPara cada domiacutenio sob responsabili-dade do servidor deve ser criada uma entrada no arquivo namedconf Essa entrada eacute muito parecida agravequela do exemplo de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo

A uacuteltima entrada indica opccedilotildees e o arquivo de zona para solicitaccedilotildees de nome para o domiacutenio ginkgo

Este eacute um domiacutenio fictiacutecio uti-lizado como exemplo para uma rede interna A opccedilatildeo type deter-mina a prioridade da zona para o domiacutenio pode ser master ou slave O arquivo definido na opccedilatildeo file deve ser criado no mesmo diretoacuterio selecionado na opccedilatildeo directory da seccedilatildeo options Pode ser escolhido qualquer nome para o arquivo de zona mas geralmente elege-se o nome do domiacutenio leva os prefixossufixos zone ou db

Registros da zonaO arquivo de zona conteacutem vaacuterias informaccedilotildees dos nomes do domiacutenio em questatildeo pode ser escrito confor-me o exemplo 2

Vamos analisar item a item este arquivo de zona para entender cada uma das suas entradas

$TTL 3D

Indica a validade-padratildeo ou por quanto tempo os dados con-

seguidos a partir deste servidor devem ser mantidos em um ca-che de DNS

IN SOA floydginkgo hostmasterginkgo (

Essa linha corresponde agrave prin-cipal entrada SOA (Start Of Au-thority) Ela determina qual o ser-vidor e o email do administrador do DNS O sinal eacute apenas um atalho para a origem (o domiacute-nio da zona) e tambeacutem pode ser especificado literalmente (neste caso deve ser especificado com um ponto no final ginkogo) O IN significa Internet e determina a classe do registro Na maior parte dos servidores DNS seraacute a uacutenica classe utilizada O termo SOA indica tratar-se do registro da autoridade para o domiacutenio seguido do nome do servidor DNS e do email do administrador Perceba que ambos satildeo terminados com um ponto O email tambeacutem tem um ponto no

Exemplo 1 Trecho de roothints

()DROOT-SERVERSNET 3600000 IN A 12881090AROOT-SERVERSNET 3600000 IN A 1984104HROOT-SERVERSNET 3600000 IN A 12863253CROOT-SERVERSNET 3600000 IN A 19233412()

Exemplo 2 Arquivo de zona

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floyd MX 5 mailfloyd A 19216801 hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

copy Linux New Media do Brasil Editora Ltda

54 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

lugar do O parecircntese no final da linha indica o iniacutecio das proprie-dades do registro

2007060401 serial 28800 refresh (8horas) 7200 retry (2 horas) 2419200 expire (4semanas) 86400 minimum (1 dia) )

Essa seccedilatildeo especifica algumas pro-priedades para a zona O primeiro nuacutemero 2007060401 determina um nuacutemero serial de identificaccedilatildeo Pode ser qualquer nuacutemero mas via de re-gra segue o formato de data mais um nuacutemero decimal Os demais valores determinam respectivamente inter-valo de atualizaccedilatildeo intervalo para novas tentativas prazo de validade das informaccedilotildees intervalo miacutenimo de permanecircncia no cachecirc Estes va-lores seratildeo informados aos clientes e outros servidores DNS que utilizam este mapa O caracter ldquordquo especifica um comentaacuterio e todo texto em se-guida seraacute ignorado pelo programa O final das propriedades do registro eacute determinado com o fechamento do parecircntese Continuando o exame

NS floyd MX 5 mailfloyd A 19216801

hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

Os demais registros correspondem agraves entradas de nomes da zona Se natildeo for informado no comeccedilo da linha eacute assumida a mesma origem (especificada pelo caracter ) e a classe (IN) Tipos de registro comuns satildeo NS especifica qual dos registros eacute

o servidor de nomes do domiacutenio tambeacutem citado no registro SOA

MX o servidor de email para o domiacutenio Pode haver mais de um sendo suas prioridades determinadas pelo nuacutemero agrave esquerda do nome do servidor Valores menores indicam maior prioridade

A mapeia o nome especifica-do agrave esquerda para o IP espe-cificado agrave direita A origem (domiacutenio) eacute automaticamente adicionada ao nome pois estaacute impliacutecita na entrada (ex floyd = floydginkgo)

CNAME cria um alias especifica-do agrave esquerda para um nome jaacute definido em outro registro Natildeo pode haver alias para um registro NS

PTR mapeia um nuacutemero IP para um nome Eacute utilizado para DNS reverso que veremos a seguir

DNS reversoAleacutem das zonas para resolver nomes para nuacutemeros IP eacute praxe criar zonas para resolver nuacutemeros IP para nomes processo chamado DNS reverso Para isso deve ser criada uma zona especiacute-fica no arquivo namedconf que aponte para outro arquivo de zona

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo zone ldquo0168192in-addrarpardquo IN type master file ldquodb1921680in-addrarpardquo allow-update none

O registro em destaque espe-cifica a zona reversa O nome da zona reversa comeccedila com o trecho do IP referente agrave rede escrito de traacutes para frente seguido do termo in-addrarpa que determina tratar-se de um registro de DNS rever-so Portanto o registro mostrado converteraacute em nomes os IPs que comecem por 1921680 As demais opccedilotildees como tipo nome de ar-quivo etc obedecem agraves mesmas regras do DNS

O arquivo de zona para o DNS reverso eacute praticamente idecircntico ao do DNS convencional mostrado no exemplo 3

A uacutenica diferenccedila encontra-se nos registros de nomes Aqui a ori-gem tambeacutem estaacute impliacutecita sendo necessaacuterio apenas especificar o tre-cho do IP especiacutefico do host Por se tratar de uma resoluccedilatildeo reversa eacute

Exemplo 3 Arquivo de zona do DNS reverso

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060402 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floydginkgo 1 PTR floydginkgo 2 PTR hamiltonginkgo 4 PTR felixginkgo 11 PTR emilyginkgo

copy Linux New Media do Brasil Editora Ltda

55

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

usado um registro do tipo PTR seguido do nome para o IP es-pecificado

Um detalhe importante eacute que o nome dos hosts preci-sa ser completo incluindo o domiacutenio e o ponto no final Isso evita que o DNS reverso interprete a origem (que aqui eacute 168192in-addrarpa) como sendo o domiacutenio

Para que as novas configuraccedilotildees tenham efeito eacute necessaacuterio reiniciar o servidor de nomes O procedimento pode ser feito via script de iniciali-zaccedilatildeo ou simplesmente enviando o sinal HUP para o processo

killall -HUP named

Servidores escravosPara aumentar a disponibilidade do serviccedilo eacute recomendaacutevel criar um servidor DNS escravo de preferecircn-cia numa localizaccedilatildeo fiacutesica distante do servidor primaacuterio para evitar que panes eleacutetricas por exemplo afetem ambos

A entrada em namedconf para de-finir um servidor escravo pode ser escrita da seguinte forma

zone ldquoginkgordquo type slave file ldquodbginkgordquo masters 19216801

O servidor escravo armazena-raacute os registros da zona ginkgo atraveacutes de um processo chamado transferecircncia de zona O arquivo de zona no servidor escravo possui apenas o registro SOA como mostra o exemplo 4

A zona soacute eacute transferida se o nuacutemero serial do servidor escra-vo for menor que o do servidor primaacuterio O valor refresh especi-fica o intervalo em que o servidor escravo verificaraacute atualizaccedilotildees de registro no servidor primaacuterio Se

o servidor natildeo pocircde ser contacta-do seratildeo feitas novas tentativas a cada intervalo especificado no valor retry A zona deixaraacute de existir no servidor escravo se o primaacuterio natildeo puder ser contactado ateacute o final do periacuteodo-limite especificado no valor expire O uacuteltimo valor minimum determina o periacuteodo miacutenimo que a zona deve permanecer no servidor escravo Por padratildeo todos os valo-res satildeo expressos em segundos Para alterar a unidade de tempo basta utilizar um sufixo como H (hora) D (dia) ou W (semana) Por exemplo 2H (duas horas)

Redirecionamento de servidorUm redirecionamento simplesmen-te transfere todas as solicitaccedilotildees fei-tas ao servidor para outro servidor DNS armazenando os resultados temporariamente para agilizar fu-turas solicitaccedilotildees semelhante a um servidor caching-only Para redire-cionar qualquer solicitaccedilatildeo basta criar a seccedilatildeo options em namedconf da seguinte forma

options directory ldquovarnamedrdquo forwarders 20019214021 2001921435

Seratildeo utilizados os servidores especificados na opccedilatildeo forwarders Para que apenas solicitaccedilotildees para uma zona especiacutefica sejam redire-cionadas o tipo da zona deve ser especificado como forward

zone ldquoginkgordquo IN type forward forwarders 20019214021 2001921435

Os servidores de destino das soli-citaccedilotildees devem ser especificados da mesma forma na opccedilatildeo forwarders

Diagnoacutestico do servidorAgora o servidor DNS jaacute pode ser testado para encontrar possiacuteveis pro-blemas Para uma checagem simples pode ser usado o comando host Mas antes natildeo se esqueccedila de alterar os dados do servidor de nomes em etcresolvconf para o servidor que vocecirc acabou de configurar Feito isso utilize o comando host para um dos nomes registrados na zona criada

host felix felixginkgo has address 19216804

Testando o DNS reverso

host 19216842 40168192in-addrarpa domain name pointer felix1681920in-addrarpa

Pocircde ser verificado que tanto o DNS convencional quanto o DNS reverso estatildeo funcionando ao menos para o nome e IP do host felix

Para evitar alterar o arquivo etcresolvconf e obter informaccedilotildees um pouco mais detalhadas basta

Exemplo 4 Arquivo de zona com o regsitro SOA

IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) )

copy Linux New Media do Brasil Editora Ltda

56 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

fornecer tambeacutem o nome do servi-dor DNS ao comando host

host www floydginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo hamiltonginkgo has address 19216802 Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo

Pela saiacuteda podemos verificar en-tre as informaccedilotildees mostradas que o host wwwginkgo trata-se de um alias para o host hamiltonginkgo

Uma ferramenta especiacutefica para diagnoacutestico de servidores DNS eacute o comando dig (Domain Information Groper) Apesar de possuir vaacuterias opccedilotildees que podem ser consultadas na paacutegina manual do comando a forma mais usual de invocaacute-lo eacute dig servidor domiacutenio tipo O servidor DNS especificado pelo caracter seraacute consultado pelo domiacutenio e tipo de registro O exemplo 5 mostra como utilizar o comando dig

A saiacuteda eacute dividida em seccedilotildees O cam-po status da seccedilatildeo HEADER nos permite verificar se foram encontrados erros no servidor DNS A seccedilatildeo QUESTION mostra que tipo de requisiccedilatildeo foi feita ao servidor A resposta eacute mostrada na seccedilatildeo ANSWER A seccedilatildeo ADDITIONAL mostra os endereccedilos dos nomes exibidos em ANSWER

Outra ferramenta eacute o coman-do nslookup que trabalha de duas formas interativo e natildeo-interativo

Usado sem argumentos o nslookup entra em modo interativo

nslookup gt

Dessa forma seraacute utilizado o servi-dor de nomes especificado em etcresolvconf Outro servidor pode ser especificado da seguinte forma

nslookup - floyd gt

Note que haacute um espaccedilo entre o traccedilo e o nome do servidor A maneira mais simples de utilizar o modo interativo eacute simplesmente fornecer um nome a verificar e pressionar [enter]

gt hamilton Server 19216801 Address 1921680153

Name hamiltonginkgo Address 19216802 gt

Exemplo 5 Utilizaccedilatildeo do dig

dig floyd ginkgo ANY

ltltgtgt DiG 932-P1 ltltgtgt floyd ginkgo ANY (1 server found) global options printcmd Got answer -gtgtHEADERltlt- opcode QUERY status NOERROR id 28285 flags qr aa rd ra QUERY 1 ANSWER 3 AUTHORITY 0 ADDITIONAL 2

QUESTION SECTION ginkgo IN ANY

ANSWER SECTION ginkgo 259200 IN SOA floydginkgo hostmasterginkgo 2007060402 28800 7200 2419200 86400 ginkgo 259200 IN NS floydginkgo ginkgo 259200 IN MX 10 felixginkgo ADDITIONAL SECTION floydginkgo 259200 IN A 19216801 felixginkgo 259200 IN A 19216804

Query time 0 msec SERVER 1921680153(19216801) WHEN Mon Jun 4 154409 2007 MSG SIZE rcvd 146

copy Linux New Media do Brasil Editora Ltda

| TUTORIALLPI Niacutevel 2

Para pesquisar um nome no modo natildeo-interativo podem ser fornecidos o nome e o servidor como argumen-tos para o nslookup

nslookup felix floyd Server floyd Address 1921680153

Name felixginkgo Address 19216804

22073 Seguranccedila de DNSPara o administrador precavido a fa-lha em um servidor DNS pode natildeo ser um desastre de grandes proporccedilotildees Ele pode conectar-se atraveacutes do IP do servidor (caso o tenha) e recupe-rar o serviccedilo Os demais usuaacuterios da rede por sua vez apenas acessam as maacutequinas atraveacutes de seus nomes Uma interrupccedilatildeo do servidor DNS mesmo que a comunicaccedilatildeo da rede

ainda exista torna inviaacutevel sua uti-lizaccedilatildeo para quem desconhece os endereccedilos IP das maacutequinas

Num cenaacuterio ainda pior um in-vasor pode interceptar as chamadas DNS e conhecer os nomes e endere-ccedilos das maacutequinas da rede facilitan-do a identificaccedilatildeo e ataque Caso os registros tenham sido alterados um usuaacuterio pode conectar-se a uma maacute-quina-armadilha acreditando tratar-se de uma maacutequina conhecida Neste caso o invasor poderia facilmente conseguir dados sensiacuteveis de todo usuaacuterio enganado

Enjaular o servidorO servidor DNS pode ser executa-do num ambiente isolado onde soacute existam os componentes necessaacute-rios agrave sua execuccedilatildeo Esse ambiente eacute denominado jaula chroot Este processo ajuda a garantir a segu-ranccedila do servidor BIND colocan-

do-o numa ldquogaiolardquo que limitaraacute o ldquoestragordquo caso o servidor seja com-prometido Junto com a restriccedilatildeo a arquivos e diretoacuterios o servidor deve ser executado por um usuaacuterio sem privileacutegios de root

Por exemplo o daemon named pode ser iniciado como proces-so do usuaacuterio natildeo-privilegiado bind tendo como diretoacuterio raiz varnamed

named -u bind -t varnamed

Para que a jaula chroot fun-cione eacute necessaacuterio adaptar algu-mas variaacuteveis na configuraccedilatildeo do BIND O diretoacuterio raiz enxergado pelo daemon named seraacute varna-med portanto eacute necessaacuterio indi-car corretamente a localizaccedilatildeo de arquivos e diretoacuterios como o diretoacuterio dos arquivos de zona e do arquivo de PID

copy Linux New Media do Brasil Editora Ltda

58 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

DNSSECAs transferecircncias de informaccedilotildees entre servidores DNS podem ser autenticadas atraveacutes de uma chave do DNSSEC um complemento do BIND

A chave eacute gerada pelo comando dnssec-keygen Diferentes algoriacutetimos podem ser escolhidos No exem-plo elas seratildeo geradas no diretoacuterio varnamed

cd varnamed dnssec-keygen -a DSA -b 768 -r devuramdom -n ZONE ginkgo

A opccedilatildeo -a especifica a criptografia utilizada a opccedilatildeo -b o tamanho da chave e -r a fonte de dados aleatoacute-rios para gerar a chave (se -r natildeo for fornecido o teclado seraacute usado como fonte de dados aleatoacuterios) A opccedilatildeo -n especifica qual o tipo do dono da chave (ZONE) Por fim eacute especificado o nome (ginkgo)

Terminada a execuccedilatildeo seraacute emitida uma resposta no formato Knnnn+aaa+iiiii Os elementos da resposta significam nnnn Nome da chave aaa Representaccedilatildeo numeacuterica

do algoriacutetimo iiiii Identificaccedilatildeo da chave

(ou impressatildeo digital)Neste exemplo foram gerados

dois arquivos Kginkgo+003+47654key e Kginkgo+003+47654pri-vate O arquivo key deve ser mencionado na respectiva zona atraveacutes de um $include ao final do arquivo

$include Kginkgo+003+47654key

Feito isso a zona deve ser assinada com o comando dnssec-signzone

dnssec-signzone -r devurandom -o ginkgo dbginkgo Kginkgo+003+47654

A opccedilatildeo -o define a origem do arquivo de zona Se natildeo for espe-

cificada a chave seratildeo utilizadas as mencionadas na zona O arqui-vo de saiacuteda dbginkgosigned seraacute criado e deveraacute ser especificado no registro da zona em namedconf

zone ldquoginkgordquo IN type master file ldquodbginkgosignedrdquo allow-update none

Tambeacutem seratildeo criados arquivos dsset e keyset utilizados para que o administrador da zona superior saiba quais chaves satildeo o ponto de entrada seguro para a zona

Os servidores DNS que bus-cam dados no servidor em que o DNSSEC foi utilizado poderatildeo agora validar os dados atraveacutes da chave puacuteblica contida no arqui-vo Kginkgo+003+47654key Essa chave deve estar presente na entrada trusted-keys do arquivo namedconf que obedece a seguin-te sintaxe

trusted-keys string number number number string string number number number string

A entrada trusted-keys pode fazer referecircncia a vaacuterias chaves Cada campo corresponde ao nome do domiacutenio opccedilotildees protocolo algoritmo utilizado e o coacutedigo da chave gerada Todos esses dados estatildeo contidos no arquivo key

No caso do exemplo o registro trus-ted-keys ficaria da seguinte forma

trusted-keys ldquoginkgordquo 256 3 3 ldquoBPDC8hyXf5G8TrgNikGbTVRTlpzpo5ldQt0ROv3viRFBlj7Je2NKIAoJGyEOhmmGHRw4Ls0uHLeQasRAFqz3IKIFh3UpH3b8KYoebkPaDk68zoFphMknxTAr3aUxPmzMKfkDzfHnfe2izxLhzZp52Me

fdeVbuMhusD5BmS4RMK5hsQmjpd8ew3L17RD6WxHxb5KBhr91qVEakLDcPnBG7fCDKgJbG6ynKd8iZKjZHgn5Ve1vQh4az72SCEnkOhljc6mkvUZmg+63PXtedw9IJaXULeq5iMydmZkRTvZtXlQnxObOOACSHwzO3WQSWvruOz6R9mjGY oSyhsAbnEx3HEETwn89GyJMKtYAsBHsTgAJyKgOMPx3OYOvSPCQThOXDuIoLzYEL3HnUqx5P5PXrdquo

Restringir acessoEacute possiacutevel restringir totalmente o acesso ao servidor de nomes a uma rede ou a um host especiacutefico atraveacutes da opccedilatildeo allow-query

allow-query 1921680024

Essa opccedilatildeo pode ser definida tanto na seccedilatildeo options quanto numa entrada de zona Se defini-da em ambos prevaleceraacute para a zona as regras nela especificadas Podem ser especificados mais de um endereccedilo de rede ou host

Para restringir transferecircncias de zona entre servidores ndash ou atraveacutes de comandos como dig e nslookup pode ser utilizada a opccedilatildeo allow-transfer na seccedilatildeo options

allow-transfer 19216802

Como para a opccedilatildeo allow-query mais de um endereccedilo podem ser especificados separados por ldquordquo

Consideraccedilotildees sobre o toacutepicoEste eacute outro toacutepico muito abor-dado na prova Sobretudo co-nheccedila muito bem o formato do arquivo namedconf e os arquivos de zona

Comandos relacionados como rndc dig e host tambeacutem seratildeo abordados

copy Linux New Media do Brasil Editora Ltda

59Linux Magazine 42 | Maio de 2008

AN

AacuteLIS

E

O SpagoBI oferece um pacote de BI completo e de Coacutedigo Aberto

Negoacutecio inteligenteO ramo da Business Intelligence conta com poderosas ferramentas e o SpagoBI se destaca entre as alternativas livres por sua modularidade e consequumlente flexibilidadepor Miguel Koren OrsquoBrien de Lacy

A praacutetica de BI (Business In-telligence) eacute tradicionalmente associada a bancos de dados

enormes em que as aacutereas de mar-keting das empresas tentam descobrir padrotildees de preferecircncias dos clientes usando consultas padronizadas Esses bancos de dados comumente conhe-cidos como data warehouses ou data mart satildeo formados por informaccedilotildees vindas dos mais diversos sistemas da empresa Um data warehouse eacute o repositoacuterio eletrocircnico de informa-ccedilotildees armazenadas da empresa Um data mart eacute um subconjunto de in-formaccedilotildees geralmente focadas em alguma necessidade especiacutefica Um exemplo poderia ser o data mart de informaccedilotildees de produccedilatildeo etc No Brasil temos o costume de usar o termo DW quando nos referimos a um data mart Outra aceitaccedilatildeo comumente encontrada no mer-cado considera sistemas BI como geradores de relatoacuterios diminuindo sua utilidade

Para nivelarmos o conhecimento da mateacuteria podemos convencionar que BI se refere agrave praacutetica de procu-rar armazenar e analisar a informa-ccedilatildeo apresentando em seguida os resultados necessaacuterios para tomar decisotildees fundamentadas e corretas Os sistemas de BI satildeo aplicativos ou ferramentas que suportam e permi-tem essas atividades necessariamente orientados pelos dados

Eacute importante lembrar que sem conhecimento do negoacutecio ou seja das necessidades de informaccedilatildeo e das decisotildees que precisam ser tomadas natildeo existe a possibilidade de prati-car BI Os sistemas de BI satildeo apenas facilitadores

O uso original de BI e as dificul-dades em implementar as soluccedilotildees fizeram com que o segmento atuasse como um espelho do passado para mostrar agrave empresa onde exatamente ela cometeu erros O que se deseja atualmente eacute um sistema de posi-cionamento que mostre onde a em-presa estaacute e como deve evoluir para chegar ao destino pretendido

Os sistemas BI devem mostrar informaccedilatildeo histoacuterica atual e visotildees preditivas O poder analiacutetico e a na-

vegaccedilatildeo pelas informaccedilotildees formam o atual potencial desses sistemas A visatildeo eacute poder obter os benefiacutecios de BI em qualquer lugar e qualquer momento O objetivo que precisa ser satisfeito hoje eacute o monitoramento de diversos indicadores para diversas aacutereas e consolidados para a empresa com o objetivo de aplicar o Geren-ciamento de Performance do Negoacutecio (BPM ndash Business Performance Ma-nagement nesse caso) Tambeacutem eacute interessante suportar um novo termo BI operacional que integra as in-formaccedilotildees analisadas pelo BI tradi-cional (em visatildeo de piracircmide satildeo o BI estrateacutegico e o BI taacutetico) com necessidades operacionais

A IDC publicou um estudo em 2006 que mostra um crescimento anu-

Figura 1 Modelo estrutural de funccedilotildees do SpagoBI

ramzi hashisho ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

60 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

al de 10 em soluccedilotildees BI entre 2005 e 2010 Diversas fontes citam o valor que o BI representa para as empresas e indicam que essa aplicaccedilatildeo comeccedila a fazer parte das soluccedilotildees de negoacutecio e natildeo simplesmente um aplicativo da aacuterea de marketing comprado e instalado por acaso Agrave medida que o mercado olha para os sistemas BI como criacuteticos para a gestatildeo as em-presas fornecedoras dessa tecnologia estatildeo se fundindo resultando em me-nos opccedilotildees para os clientes Algumas aquisiccedilotildees recentes em 2007 satildeo a compra da Hyperion pela Oracle[1] da Business Objects pela SAP[2] e da Cognos pela IBM[3]

Ao mesmo tempo que o mercado de sistemas comerciais estaacute se consoli-

dando aparecem siste-mas de BI licenciados como Software Livre o que aumenta o nuacute-mero de opccedilotildees para os clientes Essa modali-dade de licenciamento vem ao encontro das necessidades de imple-mentaccedilatildeo de BI para todos os funcionaacuterios da empresa pois pelo fato de natildeo existir cus-to de licenciamento eles podem ser usados por todos A empresa Ventana Research[4]

publicou um estudo sobre softwa-res de BI livres em 2006 que mostra que 48 das empresas entrevistadas indicaram o fator de custo como o mais importante na seleccedilatildeo de uma soluccedilatildeo de coacutedigo aberto Adicional-mente 24 dos usuaacuterios individuais entrevistados nesse estudo disseram que o uso de sistemas BI ajuda a aten-der melhor as necessidades pessoais de informaccedilatildeo e decisatildeo que devem fazer no dia-a-dia nas empresas

Natildeo existe uma variedade muito grande de sistemas BI de Coacutedigo Aberto que possam ser chamados de completos Devido agrave diversidade de componentes de um pacote de BI tais como geradores de relatoacuterios

anaacutelise de dados em cubos OLAP (on-line analytic processing)

mineraccedilatildeo de da-dos e

indicadores e pai-neacuteis de controle (dashboards)

entre outros muitos sistemas que atendem somente a uma ou poucas dessas aacutereas es-tatildeo classificados como sistemas BI Tambeacutem

eacute perceptiacutevel o fato de que os siste-mas BI completos de Coacutedigo Aberto contam com suporte oficial de uma empresa seja atuante no mercado BI ou profundamente envolvida com o Software Livre em geral

Caracteriacutesticas e tecnologiaO SpagoBI[5] eacute um sistema que satisfaz as condiccedilotildees para ser usa-do corporativamente atendendo a grande parte das necessidades de informaccedilatildeo relatadas acima Ele estaacute agrupado sob o conceito do Spago World que tem os seguintes obje-tivos gerais fornecer uma soluccedilatildeo livre poder ser usado em ambientes

corporativos facilitar a incorporaccedilatildeo de outras

tecnologias para formar um pa-cote de componentes variados

enfocar o desenvolvimento de soluccedilotildees

formar uma comunidade e contar com serviccedilos de suporte

O SpagoBI eacute membro do con-soacutercio OW2[6] suportado prin-cipalmente pela Bull[7] e pela France Telecom[8] O sistema foi desenvolvido como um framework para aplicativos web em Java para atender a projetos internos Em 2004 o ambiente foi completado e liberado sob a GPL no Source-Forge e posteriormente hospedado no ObjectWeb hoje OW2

O sistema hoje estaacute sob a li-cenccedila LGPL e tem tambeacutem a vantagem de ser verdadeiramente livre devido ao modelo de negoacutecio aplicado O SpagoBI natildeo oferece qualquer restriccedilatildeo ao uso e natildeo existem versotildees comerciais mais completas como eacute frequumlente em outros aplicativos de negoacutecio de Coacutedigo Aberto

Em 2007 foram liberadas algu-mas outras soluccedilotildees do Spago World Spago4Q (indicadores e meacutetricas de

Figura 2 Modelo estrutural do SpagoBI

Figura 3 Tela inicial do aplicativo analiacutetico

copy Linux New Media do Brasil Editora Ltda

61

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

qualidade no processo de desenvol-vimento de software) e Spagic (pla-taforma de integraccedilatildeo de sistemas utilizando SOA e BPM ndash Business Process Management nesse caso)

ComponentesO SpagoBI possui seis componentes principais servidor SpagoBI Spago-BI Studio SpagoBI SDK SpagoBI Meta e SpagoBI Applications

O servidor SpagoBI compreende o nuacutecleo para consultas pelo aplica-tivo aleacutem de apresentar o modelo analiacutetico do sistema Ele oferece os seguintes serviccedilos interface com o usuaacuterio intuiti-

va tipo rich client configuraccedilatildeo de fontes de dados geraccedilatildeo livre de consultas ao

sistema para anaacutelise assinaturas para receber informa-

ccedilatildeo perioacutedica e notificaccedilotildees aacutereas (pastas) para uso pessoal salvar importar e exportar as

configuraccedilotildees paacutegina individual (do tipo

MeuBI) integraccedilatildeo com mecanismos de vi-

sualizaccedilatildeo (PALO para Excel[9] e JPALO para Web[10])

alertas e notificaccedilotildees motor de busca acesso a consultas preacute-configu-

radas agrupadas por tiposO SpagoBI Studio por sua vez eacute

um ambiente em forma de plugin para o Eclipse[11] para desenvolver soluccedilotildees dentro do SpagoBI Ele oferece modeladores para todos os documentos analiacuteticos permite o upload para o servidor SpagoBI e possibilita a realizaccedilatildeo de testes aces-sando dados de testes ou reais

A SpagoBI SDK consiste em uma interface para acesso a serviccedilos de BI que possam ser integrados a outros aplicativos Oferece uma biblioteca de tags a proacutepria API de integraccedilatildeo e acesso a Web Services

Enquanto isso o SpagoBI Meta eacute um mecanismo de armazenamen-to de metadados (informaccedilatildeo que descreve os dados) Os metadados permitem que o usuaacuterio que faz a anaacutelise possa conhecer melhor a informaccedilatildeo tratada assim como a fonte dessa informaccedilatildeo

Por uacuteltimo as SpagoBI Appli-cations compreendem diversos aplicativos verticais Dentro desse conceito podemos mencionar o SpagoBI for AREAS utilizado para BI no campo da medicina AREAS eacute um sistema ERP italia-no voltado para empresas de me-

dicina que selecionou o SpagoBI como seu componente BI

As funcionalidades do sistema satildeo geraccedilatildeo de relatoacuterios com su-

porte a diversos mecanismos anaacutelise de dados em visotildees de

cubos OLAP paineacuteis de controle com indica-

dores (KPI) mineraccedilatildeo de dados visualizaccedilatildeo geograacutefica processos ETL (Extract Trans-

form Load) simulaccedilotildees what-if dossiecirc cataacutelogo de informaccedilotildees gerador de consultas usando

Figura 4 Menu de opccedilotildees e painel de controle

Figura 5 Exemplos de novos termocircmetros para formar paineacuteis

copy Linux New Media do Brasil Editora Ltda

62 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

mecanismos QbE (query by example) integraccedilatildeo de servi-

ccedilos BI ao Microsoft Office

colaboraccedilatildeoA figura 1 mostra o flu-

xo de informaccedilatildeo entre as diversas funccedilotildees da so-luccedilatildeo Todas as funccedilotildees satildeo acessadas somente pelo moacutedulo denomi-nado Modelo Compor-tamental que gerencia as permissotildees de acesso O sistema estaacute prepara-do para uso empresarial

considerando as seguintes carac-teriacutesticas restriccedilatildeo de

acesso agraves in-formaccedilotildees

single sign-on a publicaccedilatildeo

de elementos do sistema tais como definiccedilotildees de relatoacuterios eacute gerenciada den-tro do CMS (content mana-gement system) utilizando a nor-ma JSR 170

sistema escalaacutevel pois eacute escrito em Java e funciona dentro de um servidor de aplicaccedilatildeo

permite o uso de vaacuterios moto-res diferentes tanto de Coacutedigo Aberto quanto proprietaacuterios

eacute uma plataforma de integraccedilatildeo natildeo apenas um aplicativo

A figura 2 mostra a arquitetura do SpagoBI

Uma limitaccedilatildeo presente com frequumlecircncia em sistemas BI de Coacutedi-go Aberto eacute o fato de serem apenas ferramentas para construir a soluccedilatildeo sem um aplicativo pronto para ser utilizado plenamente O SpagoBI se destaca por apresentar tambeacutem

um aplicativo para o usuaacuterio de BI Esse aplicativo eacute acessado de dentro do ambiente web oferecido por outro componente OW2 a Exo Platform[12] que tem a possibilidade de rodar o aplicativo dentro de sua arquitetura de virtualizaccedilatildeo da aacuterea de trabalho o WebOS[13] Poreacutem adicionalmente agrave eXo Platform o SpagoBI estaacute cer-tificado para rodar dentro do portal Liferay[14] muito conhecido e uti-lizado em ambientes de arquitetura Java O CMS JSR 170 tambeacutem eacute for-necido pela eXo Platform

DiferenciaisUm diferencial muito importante do SpagoBI eacute ser uma plataforma de integraccedilatildeo para diversas ferramentas de BI Como consequumlecircncia para ob-tenccedilatildeo de um aplicativo completo devem ser instalados os diversos me-canismos individuais do SpagoBI

O sistema eacute completamente desen-volvido em Java com operaccedilatildeo pelo navegador web para uso e consultas Certos componentes satildeo utilizados em ambiente graacutefico ndash e natildeo web ndash como o mecanismo ETL Entre os componentes agrupados pelo SpagoBI podemos encontrar projetos de Coacutedigo Aberto bem conhecidos como Weka para mineraccedilatildeo de dados Mondrian e PALO para anaacutelise

OLAP de cubos multi-dimen-sionais

BIRT e Jasper Reports para ge-raccedilatildeo de relatoacuterios

Talend para processos ETL Lazslo para paineacuteis de controle

e indicadores

OperaccedilatildeoPrimeiramente o aplicativo deve ser acessado por meio do navegador web O mecanismo de seguranccedila determi-na as permissotildees de acesso do usuaacuterio no processo de login (figura 3)

Apoacutes o login o usuaacuterio tem agrave dis-posiccedilatildeo a tela inicial em que pode

Figura 6 Tela com a visatildeo geograacutefica dos dados

Figura 7 Interface de acesso a BI fornecida pelo WebOS

Figura 8 Seleccedilatildeo de relatoacuterios no navegador BI

copy Linux New Media do Brasil Editora Ltda

63

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

selecionar as operaccedilotildees a efetuar A figura 4 exibe o painel de controle com indicadores de desempenho

Eacute possiacutevel substituir os indicadores visuais da figura 4 por outros como os da figura 5 particularmente interes-santes para o usuaacuterio por mudarem de posiccedilatildeo dinamicamente pelo acesso regular aos dados que representam O painel portanto natildeo conteacutem ape-nas informaccedilotildees estaacuteticas

Para gerar uma nova consulta o usuaacuterio pode usar a funcionalidade QbE (query by example) que exibe as tabelas que podem ser consulta-das e para cada uma os dados que podem ser selecionados

Com as consultas definidas tan-to diretamente em bancos de dados quanto em cubos para anaacutelise OLAP pode ser configurada uma tela de con-sulta geograacutefica conforme mostrado na figura 6 Selecionando aacutereas da fi-gura o usuaacuterio seraacute levado a telas de consulta dos detalhes do item

Usando as possibilidades do We-bOS eacute possiacutevel definir telas BI mais sofisticadas conforme mostra a figura 7 Poreacutem caso a consulta requerida seja frequumlente talvez jaacute esteja disponiacutevel para consulta imediata pelo navegador de consultas do sistema (figura 8)

A interface graacutefica do aplicativo web permite que o usuaacuterio agrupe di-ferentes relatoacuterios e visotildees em conjun-tos denominados dossiecircs Cada rela-

toacuterio ou objeto BI em geral permite que o usuaacuterio faccedila anotaccedilotildees Assim pode ser delegada a funccedilatildeo de pre-parar por exem-plo um dossiecirc de status de projeto a usuaacuterios de dife-rentes aacutereas que possam preparar o material e re-gistrar questotildees relevantes para a anaacutelise final Essa

eacute a base das possibilidades colabora-tivas do sistema

Os relatoacuterios podem ser salvos em diferentes formatos atualmen-te limitados a HTML PDF XLS CSV XML TXT e JPG

A figura 9 mostra um exemplo de tela com o editor de notas aberto

ConclusatildeoFazer uso eficiente e produtivo de um pacote de BI eacute uma meta nobre e difiacutecil de atingir A forma de implementar o SpagoBI e a possibilidade de integraccedilatildeo de motores individuais de diferentes fa-bricantes permite que o uso do SpagoBI comece pouco difundido e aumente conforme as necessidades

A implementaccedilatildeo do SpagoBI considera ter resultados bons mesmo que parciais algo muito importante para o projeto de implementaccedilatildeo O SpagoBI permite que a empresa inicie por exemplo apenas com a necessidade de um termocircmetro que mostre em forma de painel de con-trole a quantidade de peccedilas vendidas por semana

O estudo da Ventana Research mencionado anteriormente mos-tra que as empresas entrevistadas consideram que os pacotes de BI de Coacutedigo Aberto tecircm suficientes caracteriacutesticas para serem usados Esse eacute o caso do SpagoBI o clien-te que resolver iniciar um projeto

de BI com ele natildeo sentiraacute falta de funcionalidades para aspectos fun-damentais de BI Destacamos que para uma implementaccedilatildeo bem sucedida eacute muito importante dar passos firmes sustentados com um planejamento adequado

Mais informaccedilotildees

[1] Aquisiccedilatildeo da Hyperion pela Oracle httpwwworaclecomcorporatepress2007_marhyperionhtml

[2] Aquisiccedilatildeo da Business Objects pela SAP httpwwwbusinessobjectscomcompanysap

[3] Aquisiccedilatildeo da Cognos pela IBM httpwwwcognoscomnewsreleases20071112html

[4] Ventana Research httpwwwventanaresearchcom

[5] SpagoBI httpspagobiengit

[6] Consoacutercio OW2 httpwwwow2org

[7] Bull httpwwwbullcombr

[8] France Telecom httpwwwfrancetelecomcom

[9] PALO httpwwwjedoxcom

[10] JPALO httpwwwjpalocom

[11] Eclipse httpwwweclipseorg

[12] eXo Platform httpwikiexoplatformcomxwikibinviewMain

[13] WebOS httpwikiexoplatformcomxwikibinviewMainWebOS+concept

[14] Liferay httpwwwliferaycom

Figura 9 Relatoacuterio graacutefico mostrando o editor de notas

copy Linux New Media do Brasil Editora Ltda

64

AN

AacuteLIS

E

httpwwwlinuxmagazinecombr

DVD do assinante Librix 3

Para conquistar o puacuteblicoEm sua versatildeo 30 o Librix da Itautec atinge a maturidade para ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientespor Pablo Hess

Distribuiccedilotildees genuinamente nacionais de grande sucesso jaacute foram numerosas e muito

presentes nas maacutequinas brasileiras Atualmente no entanto satildeo raras especialmente apoacutes a meteoacuterica as-cenccedilatildeo do Ubuntu entre os usuaacuterios de desktop assim como a ampla ado-

ccedilatildeo de distribuiccedilotildees mundialmente difundidas como Open Suse Fedora e Mandriva

A onda de novas distribuiccedilotildees nacio-nais no entanto promete mudar esse cenaacuterio Fortemente baseadas em dis-tribuiccedilotildees usadas em grande escala no exterior as distribuiccedilotildees que equipam os

computadores ven-didos sob o programa Computador Para Todos do Governo Federal geralmente realizam apenas al-gumas adaptaccedilotildees graacuteficas e de idiomas para tornarem o uso das maacutequinas mais praacutetico para nosso povo ndash com algumas exceccedilotildees eacute claro

Uma das mais gratas dentre exce-ccedilotildees estaacute sendo en-tregue junto com o DVD do assinante desta ediccedilatildeo da Li-nux Magazine O Librix 3 fabricado pela Itautec tem base no poderoso e flexiacutevel Gentoo ndash conhecido espe-cialmente entre os usuaacuterios avanccedilados de Linux O valor do Librix no entanto reside justamente em seu sucesso na oferta de inuacutemeras vantagens a uma

ampla gama de usuaacuterios Enquanto os mais iacutentimos do sistema do pinguumlim tecircm agrave disposiccedilatildeo os flexiacuteveis utilitaacuterios de linha de comando do Gentoo os usuaacuterios inexperientes que iniciam seu aprendizado em Linux com a dis-tribuiccedilatildeo da Itautec desfrutam de um agradaacutevel e organizado ndash aleacutem de atra-ente claro ndash ambiente KDE

BelezaA aacuterea de trabalho do Librix (figura 1) traz os principais iacutecones que o usuaacuterio iniciante espera encontrar aleacutem da Pasta do Usuaacuterio pode-se acessar o navegador Firefox o pacote de escritoacute-rio BrOfficeorg o Sistema Konqueror (acessando a URI system e exibindo locais de rede e miacutedias externas ndash figura 2) e a lixeira

E jaacute comeccedilam as inovaccedilotildees O tema adotado por padratildeo como mostra a fi-gura 2 eacute colorido e elegante capaz de agradar todos os tipos de usuaacuterios ndash uma constante nessa versatildeo da distribuiccedilatildeo jaacute podemos adiantar Os efeitos graacuteficos do desktop fornecidos pelo gerenciador de janelas Compiz e com ornamentos do Emerald vecircm desabilitados mas um iacutecone na barra de tarefas (figura 3) permite sua ativaccedilatildeo e configura-ccedilatildeo baacutesica com apenas dois cliques do mouse ou a alteraccedilatildeo de opccedilotildees mais avanccediladas mediante o acionamento de utilitaacuterios completos

Ao ser ativado o Compiz a con-figuraccedilatildeo-padratildeo do Librix 3 utiliza todos os recursos disponiacuteveis geral-mente em modo aleatoacuterio Embora isso possa ser impressionante para fins de demonstraccedilatildeo os usuaacuterios

Figura 1 A aacuterea de trabalho do Librix 3 traz os iacutecones mais impor-tantes e um visual muito atraente

Figura 2 O navegador do sistema exibe dispositivos de armazena-mento externos e remotos

copy Linux New Media do Brasil Editora Ltda

65

| ANAacuteLISEDVD do assinante

Linux Magazine 42 | Maio de 2008

podem se cansar rapidamente desse comportamento exagerado

O menu trazido pela Itautec (figura 4) eacute outro aspecto novo nessa versatildeo da distribuiccedilatildeo Seu comportamen-to diferente do presente nas demais distribuiccedilotildees Linux da atualidade no entanto pode ser um fator negativo especialmente para os usuaacuterios inex-perientes ndash felizmente desativaacute-lo eacute tatildeo faacutecil quanto ativar os efeitos 3D exigindo apenas um clique com o botatildeo direito sobre o botatildeo Menu e sua configuraccedilatildeo

PoderO sistema Gentoo que vive sob o Librix eacute o velho conhecido dos obcecados por personalizaccedilatildeo Utilizando um mirror da distribuiccedilatildeo padratildeo os pacotes que diferenciam essa distribuiccedilatildeo de sua ldquoprogenitorardquo residem nos overlays (re-positoacuterios alternativos de pacotes) locais em usrlocalportage e usrlocalportagexeffects Isso eacute suficiente para fornecer ao Librix o pacote de escritoacuterio BrOfficeorg (ausente no Gentoo) e o gerenciador graacutefico de pacotes Tutoo Package Manager (figura 5) aleacutem de alguns outros softwares que englobam desde moacutedulos para a linguagem Python ateacute as leves particularidades graacuteficas do sistema da Itautec

Mesmo com todas essas facilida-des o gerenciamento do sistema pode ser feito inteiramente pela linha de comando com os poderosos emer-ge eselect equery e companhia A

Itautec natildeo utiliza pacotes binaacuterios ou seja o sistema compila cada um dos pa-cotes instalados no sistema salvo importantes exceccedilotildees como o BrOfficeorg ndash cuja compilaccedilatildeo levaria vaacuterias horas Apesar de tornar a instalaccedilatildeo de novos softwa-res significativamente mais lenta que distribuiccedilotildees com pacotes DEB RPM ou tgz essa estra-teacutegia garante a possibilidade de per-sonalizaccedilatildeo por meio das flags USE responsaacuteveis por ativar ou desativar as opccedilotildees de compilaccedilatildeo de cada pacote que compotildee o sistema Aleacutem disso garante a constante atualizaccedilatildeo dos pacotes satisfazendo dependecircncias com facilidade e anulando as restri-ccedilotildees de versotildees de bibliotecas

PraticidadeNatildeo haacute como negar o puacuteblico-alvo dessa distribuiccedilatildeo eacute o usuaacuterio iniciante que estaacute travando seu primeiro contato com o Linux Nesse sentido um im-portante aspecto do sistema eacute incluir ldquode faacutebricardquo softwares que supram as necessidades de quem jaacute tem costume com algum sistema Windowsreg

O Librix jaacute traz os codecs de aacuteudio e viacutedeo proprietaacuterios da Microsoft (WMA e WMV satildeo seus principais represen-tantes) e eacute capaz de reproduzir DVDs em seu reprodutor multimiacutedia Kaffeine Os usuaacuterios do iTunes da Apple tam-beacutem podem evitar a saudade usando

o amigaacutevel Amarok Softwares raramente incluiacutedos em outras distribuiccedilotildees como o Skype e o geren-ciador de downloads Downloader for X por exemplo tam-beacutem vecircm instalados mas falta um utilitaacute-rio de configuraccedilatildeo de conexotildees PPPoE a mais comum em serviccedilos ADSL

ConclusotildeesA Itautec vem me-lhorando seu Librix a cada nova versatildeo Com facilidades im-portantes voltadas aos novos usuaacuterios Linux a distribuiccedilatildeo se torna uma al-ternativa interessante para os usuaacuterios que temem deixar sua zona de con-forto em relaccedilatildeo ao comportamento de seu desktop

O gerenciamento de pacotes agora feito pelo TPM finalmente alcanccedilou o niacutevel de maturidade exigido para satisfa-zer as necessidades do puacuteblico iniciante ndash principalmente a facilidade de uso e compreensatildeo ndash ainda assim preservando o poder do Portage ldquosob o capocircrdquo

O visual e o comportamento do am-biente desktop fazem alusatildeo agraves atuais versotildees do Windows (XP e Vista) o que certamente contribui para a que-da de uma importante barreira para a adoccedilatildeo dessa distribuiccedilatildeo no programa Computador Para Todos

Figura 3 Ativar e desativar os efeitos 3D na aacuterea de trabalho do Librix eacute muito praacutetico

Figura 4 O menu KBFX vem ativado por padratildeo e mostra seme-lhanccedilas com o de diferentes versotildees do Windows

Figura 5 O Tutoo Package Manager livra o usuaacuterio de adquirir intimidade com o comando emerge

copy Linux New Media do Brasil Editora Ltda

66 httpwwwlinuxmagazinecombr

Manipulando maacutequinas com o Puppet

MarioneteAprenda a economizar tempo e agilize a administraccedilatildeo de sistemas com ajuda do Puppet uma ferramenta de gerenciamento e configuraccedilatildeo centralizadospor Juliet Kemp

O Puppet eacute um sistema centra-lizado de gerenciamento de configuraccedilatildeo que usa uma

linguagem de especificaccedilatildeo multiplata-forma Para usaacute-lo executa-se um ser-vidor Puppet central ndash o puppetmaster ndash e os daemons do programa em todos os computadores que devem ser admi-nistrados As opccedilotildees de configuraccedilatildeo para todas as maacutequinas-cliente satildeo es-pecificadas no PuppetMaster Depois as alteraccedilotildees nas configuraccedilotildees satildeo propagadas a partir do PuppetMaster para os clientes adequados

O Puppet permite o gerenciamento de arquivos (dono modo conteuacutedo e existecircncia) usuaacuterios grupos pa-cotes e serviccedilos a partir de um local central Pode-se rodar comandos ou scripts e tambeacutem eacute possiacutevel gerenciar crontabs montagem de sistemas de arquivos e configuraccedilotildees de rede

Cada item gerenciado eacute chamado de recurso e os recursos satildeo categori-zados em tipos (por exemplo arquivo pacote serviccedilo cron) O Puppet estaacute em intenso desenvolvimento receben-do novos tipos regularmente ndash pode-se ateacute criar tipos personalizados

Por que usaacute-loOs trecircs principais motivos para usar o Puppet satildeo 1 O programa manteacutem um regis-

tro da configuraccedilatildeo do cliente Se um sistema-cliente morrer eacute possiacutevel gerar uma configura-ccedilatildeo idecircntica num novo sistema com base na informaccedilatildeo arma-zenada no Puppetmaster

2 Se houver mais de uma maacutequi-na eacute possiacutevel instalaacute-las de forma idecircntica ou usar o mesmo siste-ma-base e aplicar as modificaccedilotildees para clientes individuais

3 O conjunto de tipos do Puppet facilita o gerenciamento de muacuteltiplos sistemas a partir de um local uacutenico

Outra vantagem do Puppet eacute que ele funciona em conjunto com uma ferramenta chamada Facter Ela define variaacuteveis especiacuteficas em cada maacutequina (como nome da maacutequina endereccedilo IP e sistema operacional) automatica-mente permitindo um ajuste fino de configuraccedilotildees especiacuteficas em clientes individuais sem perder os benefiacutecios de uma configuraccedilatildeo comum

Instalaccedilatildeo e configuraccedilatildeoO coacutedigo-fonte do Puppet estaacute dispo-niacutevel no site do projeto[1] e seus pa-cotes estatildeo presentes nos repositoacuterios de vaacuterias distribuiccedilotildees Linux

O principal arquivo de configuraccedilatildeo eacute etcpuppetpuppetmasterconf com uma estrutura bem clara e simples

[puppetmasterd] Assegure-se de que todas as mensagens de log sejam enviadas ao di- retorio correto Ele deve ser gravavel pelo usuario puppetlogdir=varlogpuppetvardir=varlibpuppetrundir=varrun

Para guardar tambeacutem o conteuacutedo dos arquivos seraacute necessaacuterio uma con-figuraccedilatildeo de servidor de arquivos em etcpuppetfileserverconf O coacutedigo mostrado a seguir exibe o caminho para o armazenamento de arquivos no puppetmaster e permite o acesso a todas as maacutequinas em exemplocom

[files] path etcpuppetfiles allow exemplocom deny ruimexemplocom allow 1921680024

Aleacutem disso tambeacutem eacute possiacutevel ba-nir domiacutenios ou maacutequinas especiacuteficos bem como especificar por endereccedilo IP caso seja preferiacutevel Para criar os usuaacuterios do Puppet que o daemon utiliza deve-se usar a opccedilatildeo mkusers ao executar o daemon puppetmaster pela primeira vez

Como ainda natildeo foram criadas as definiccedilotildees dos noacutes tambeacutem seraacute ne-cessaacuterio usar a opccedilatildeo --nonodes

usrbinpuppetmasterd --mkusers --nonodes

Receita baacutesicaCom a configuraccedilatildeo baacutesica jaacute feita vejamos como configurar o mani-festo do site e comeccedilar a gerenciar as configuraccedilotildees e outros tipos Por padratildeo o principal manifesto de site do Puppet fica em etcpuppetma-nifestssitepp Tudo nesse arquivo seraacute executado em todos os clientes Para comeccedilar podemos tentar colo-

RE

DE

S

dim

itris

pet

rid

is ndash

ww

ws

xch

u

copy Linux New Media do Brasil Editora Ltda

67

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

car algo numa receita faacutecil o arquivo sudoers eacute um bom candidato

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo440rdquo

Isso garante que o arquivo sudoers do cliente tenha essas propriedades

ClienteEm seguida eacute necessaacuterio iniciar o PuppetMaster e configurar um cliente para testes No cliente eacute necessaacuterio o pacote puppet Para definir o nome do servidor para um site deve-se in-cluir no arquivo etcpuppetpuppetdconf a linha

server = puppetserverexemplocom

Depois alterar os modos ou o dono do arquivo etcsudoers no cliente para que fiquem diferentes do es-pecificado no arquivo sitepp do PuppetMaster A seguir deve-se executar o cliente pela primeira vez com o comando

puppetd --waitforcert 60 --test

Os clientes satildeo autenticados por uma requisiccedilatildeo de certificado ao Pu-ppetMaster O cliente acusaraacute a falta de um certificado e em seguida faraacute uma pausa para que se possa ordenar que o PuppetMaster assine o certifi-cado do cliente O comando puppet-ca --list no PuppetMaster lista os clientes que aguardam sua assinatura Com puppetca --sign clienteexemplocom (novamente no PuppetMaster) o certificado seraacute assinado (puppetca --sign --all assinaraacute todos os certifica-dos que estatildeo aguardando) Apoacutes 60 segundos o cliente obteacutem o certificado assinado e eacute executado A opccedilatildeo test faz com que o cliente rode em modo verboso e apenas uma vez

Apoacutes terminar eacute importante verifi-car o arquivo etcsudoers o modo deve ser o mesmo especificado no Puppet-Master e natildeo o que foi alterado

Aleacutem de gerenciar atributos de arquivos o Puppet tambeacutem gerencia seu conteuacutedo atuando como servi-dor de arquivos Para isso primeiro eacute preciso criar um arquivo sudoers de exemplo e colocaacute-lo em etcpu-ppetfilessudoers

Em seguida edite novamente o arquivo sitepp para que a receita do sudoers fique semelhante a

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt 440 source =gt ldquopuppetpuppetserverexemplocomfilessudoersrdquo

Edite o arquivo no cliente para que ele fique diferente do con-teuacutedo acima e rode novamente o Puppet com o comando ppuppetd --test O conteuacutedo do arquivo seraacute alterado

O trecho abaixo tambeacutem mostra como usar um uacutenico contecirciner file para muacuteltiplos recursos de arquivo

file ldquostarrdquo ensure =gt link target =gt ldquosoft9starrdquo ldquotestdirrdquo ensure =gt directory

DependecircnciasOs recursos interagem uns com os outros Certos pacotes satildeo necessaacute-rios para determinados serviccedilos por exemplo ou talvez se queira reiniciar um serviccedilo quando um arquivo espe-ciacutefico for alterado O Puppet possui dependecircncias ndash notavelmente require

e subscribe ndash para especificar essas interaccedilotildees

O trecho abaixo usa o tipo service que pode ser usado para qualquer daemon que se queira deixar em execuccedilatildeo (no caso o Slapd)

service ldquoslapdrdquo ensure =gt running hasrestart =gt true require =gt Package[ldquoslapdrdquo] subscribe =gt [File[ldquoldapconfrdquo] File[ldquoetcldapschemardquo]]

A opccedilatildeo hasrestart informa ao Pu-ppet se ele deve reiniciar o serviccedilo com stopstart ou com restart A diretiva re-quire simplesmente fornece um rela-cionamento de ordem ela garante que o recurso referido ndash no caso o pacote slapd ndash estaraacute configurado antes deste serviccedilo Todos os tipos suportam isso

O item subscribe eacute uma depen-decircncia relativa Se os recursos espe-cificados forem alterados o item eacute atualizado Os tipos exec service e mount suportam isso

Note a forma como os recursos do Puppet satildeo especificados nesse contex-to com o nome do tipo comeccedilando com letra maiuacutescula e fornecendo o nome do recurso Aleacutem disso esses recursos precisam ser especificados em outros locais ou ocorreraacute um erro

O Puppet eacute capaz de gerenciar diversos tipos packages o Puppet interage

com a maioria dos principais sistemas de pacotes e pode garantir que programas espe-ciacuteficos estejam instalados o que eacute particularmente uacutetil ao instalar uma nova maacutequina

package ldquoslapdrdquo ensure =gt installed

exec executa comandos internos O comando subscribe eacute uacutetil nesse ponto Por exemplo um trecho

copy Linux New Media do Brasil Editora Ltda

68 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

que atualiza o exim4 quando sua configuraccedilatildeo eacute modificada

exec ldquoexim4-updaterdquo command =gt ldquousrsbinupdate-exim4confrdquo user =gt ldquorootrdquo subscribe =gt File[ldquoupdate-exim4rdquo] refreshonly =gt true

usuaacuterios e grupos esse tipo tem como objetivo gerenciar usuaacute-rios do sistema e natildeo usuaacuterios normais Eacute possiacutevel gerenciar o diretoacuterio home (por exemplo criaacute-lo) assim como outros atri-butos de usuaacuterio

user ldquomanagerrdquo ensure =gt present home =gt ldquolocalmanagerrdquo managehome =gt true gid =gt ldquosystemusersrdquo

cron gerencia cron jobs Um uso possiacutevel para esse recurso eacute reini-ciar o Puppet em clientes caso ele falhe como mostra o exem-plo 1 Embora esteja mostrado em muacuteltiplas linhas o coman-do tambeacutem pode ser usado em uma uacutenica A hora e o dia para execuccedilatildeo do cron job assim como o usuaacuterio a executar a ta-refa podem ser definidos como no trecho acima O comando eacute adicionado ao crontab do usuaacuterio correspondente

mount monta diretoacuterios para o en-sure Se o paracircmetro ensure estiver definido como present o sistema de arquivos estaraacute na tabela mas natildeo montado Se o paracircmetro estiver definido como mounted o sistema de arquivos seraacute adicio-nado agrave tabela e montado E se o paracircmetro estiver definido como absent o sistema de arquivos seraacute removido da tabela

Tambeacutem estatildeo disponiacuteveis vaacuterios atributos de rede maacutequinas in-terfaces listas de email aliases de email e chaves SSH

PadrotildeesEacute possiacutevel definir padrotildees para qual-quer recurso Por exemplo se a maio-ria dos arquivos de uma maacutequina pertencer ao usuaacuterio root e tiverem permissotildees 644 o seguinte trecho vai estabelecer esses valores como padratildeo para todos os arquivos

File owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo644rdquo

Para contornar esse padratildeo basta es-pecificar um valor diferente para qual-quer um desses paracircmetros num recurso especiacutefico Note que os padrotildees somente se aplicam a seu proacuteprio escopo (classe) e a qualquer classe abaixo dessa se for desejaacutevel aplicaacute-los globalmente eacute ne-cessaacuterio defini-los fora de todas as classes ndash por exemplo no arquivo sitepp

Organizaccedilatildeo do diretoacuterioO site do Puppet oferece sugestotildees de organizaccedilatildeo de arquivos e ma-nifestos Independente do sistema usado eacute importante certificar-se de que ele seja compreensiacutevel e facil-mente atualizaacutevel

Um exemplo seria

- Diretoacuterio principal do Puppet |- Arquivos |- Aplicativos |- Usuaacuterios |- Manifestos |- sitepp - Noacutes - diretoacuterio com manifestos de vaacuterios noacutes - confira a proacutexima seccedilatildeo - Classes - diretoacuterio com manifestos de vaacuterias classes dependendo do programa (aptpp apache2pp) |- Definiccedilotildees |- Modelos (templates)

Todos os subdiretoacuterios contecircm arquivos de classe (veja abaixo) e para incluiacute-los o arquivo sitepp fica semelhante a

import ldquoclassesrdquoimport ldquodefinicoesrdquoimport ldquonosrdquoimport ldquousuariosrdquo

NoacutesAteacute o momento consideramos somen-te a configuraccedilatildeo de uma uacutenica maacute-quina mas o Puppet realmente brilha quando se tem muacuteltiplas maacutequinas Se forem todas idecircnticas basta criar uma configuraccedilatildeo ndash a padratildeo

siteppdefault include sudo

Mas tambeacutem se pode ter uma confi-guraccedilatildeo diferente para cada maacutequina

Exemplo 1 Cron job para reiniciar o Puppet

01 cron restart-puppet02 command =gt lsquoif [ -e varrunpuppetdpid ] then ps uw -p `cat varrunpuppetdpid` | grep -q lsquo ruby usrsbinpuppetdrsquo03 || (rm varrunpuppetdpid etcinitdpuppet start) firsquo04 user =gt root05 minute =gt lsquo0rsquo06

copy Linux New Media do Brasil Editora Ltda

69

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

assim como criar configuraccedilotildees-base e depois herdaacute-las ou incluiacute-las na configuraccedilatildeo dos noacutes Por exemplo eacute possiacutevel criar uma configuraccedilatildeo baacute-sica para servidores diferente daquela para desktops e ambas podem herdar de uma base ou configuraccedilatildeo-padratildeo comum (exemplo 2)

As classes podem ser especifica-das num arquivo individual ou em um arquivo por classe recomenda-se a segunda forma para facilitar o gerenciamento

Facter modelos variaacuteveisUm aspecto uacutetil do Puppet eacute que ele vem com o Facter uma ferramenta que informa vaacuterios ldquofatosrdquo (facts em inglecircs daiacute o nome Facter) a respeito de uma maacutequina especiacutefica incluindo seu nome IP arquitetura sistema ope-racional chave SSH informaccedilotildees de processador e memoacuteria entre outros

Para uma lista completa dos fatos fornecidos por padratildeo basta digitar facter na linha de comando Eacute pos-siacutevel consultar esses fatos de den-tro do Puppet com $nome_do_fato Eles possuem dois usos importan-tes criar estruturas condicionais e usaacute-las em modelos

CondicionaisO Puppet possui trecircs tipos de con-dicionais 1 seletores satildeo usados dentro de

uma diretiva

package ldquokbr-clientsrdquo ensure =gt $operatingsystem ubuntu =gt absent debian =gt installed default = undef

Nesse trecho se o fato $opera-tingsystem estiver definido como

ubuntu o pacote natildeo estaraacute ins-talado se estiver como debian o pacote estaraacute instalado O padratildeo eacute natildeo definir o atributo

2 A diretiva case oferece uma forma de aplicar classes con-dicionalmente

case $operatingsystem ubuntu include ubuntu debian include debian default include basic

Nesse trecho a classe especiacute-fica a cada sistema operacio-nal eacute incluiacuteda dependendo

novamente do valor do fato $operatingsystem Eacute possiacutevel especificar muacuteltiplas condiccedilotildees entre viacutergulas

3 Tambeacutem existe uma estrutura ifelse mais simples

if $needexample file ldquousrlocalexemplordquo ensure =gt present else file ldquousrlocaltesterdquo ensure =gt present

Exemplo 2 Muacuteltiplas classes e heranccedila

01 class base 02 Varias coisas basicas03 include autofs04 include cron05 include puppet06 include ssh07 e assim por diante08 0910 class desktop inherits base 11 Tudo na classe lsquobasersquo serah automaticamente incluido aqui12 Depois tambem eh possivel13 include latex14 include gnome15 e assim por diante16 1718 class server inherits base 19 Novamente tudo da classe lsquobasersquo serah automaticamente incluido20 E depois outras coisas exclusivas de servidores21 include nfs22 e assim por diante23

Exemplo 3 iptableserb

01 filter02 INPUT DROP [00]03 FORWARD DROP [00]04 OUTPUT ACCEPT [00]05 -A INPUT -d 127000255000 -i lo -p tcp -j DROP06 -A INPUT -d lt= ipaddress gt -m state --state RELATEDESTABLISHED -j ACCEPT07 -A INPUT -i lo -j ACCEPT08 -A INPUT -s 10419815302552552550 -d lt= ipaddress gt -j ACCEPT09 -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j LOG --log-prefix ldquosshrdquo -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j ACCEPT10 COMMIT

copy Linux New Media do Brasil Editora Ltda

70 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

Atualmente eacute possiacutevel determinar apenas se uma dada variaacutevel estaacute de-finida sem distinguir entre valores es-peciacuteficos Para fazer isso eacute necessaacuterio usar as diretivas case ou selector

ModelosOs modelos usam a linguagem Ruby para inserir variaacuteveis num arquivo-fonte Em outras palavras eacute como fornecer um arquivo central que pode variar de uma maacutequina para outra

Um bom exemplo de uso de um fato num modelo eacute definir uma po-liacutetica de ipchains Por exemplo o ar-quivo iptableserb (ERB eacute a sintaxe de modelos do Ruby) mostrado no exemplo 3 utiliza o fato $ipaddress

Depois eacute possiacutevel fazer referecircncia a esse modelo

file ldquoiptables_configrdquo name =gt ldquoetcsysconfigiptablesrdquo content =gt template(ldquoetcpuppettemplatesiptableserbrdquo)

Note que enquanto os arquivos precisam da sintaxe puppetpu-ppetserverexemplocom os modelos natildeo precisam

Fatos personalizadosOs fatos-padratildeo estatildeo disponiacuteveis em todos os clientes automaticamente

Poreacutem caso se deseje criar fatos personalizados eacute interessante mantecirc-los no PuppetMaster e entatildeo confi-gurar os clientes para sincronizarem seus fatos com o servidor

Acrescente a seguinte seccedilatildeo ao arquivo etcpuppetfileserverconf no puppetmaster

[facts] path etcpuppetfacts allow exemplocom

e em cada cliente adicione a se-guinte linha ao arquivo etcpuppetpuppetdconf

factsync = true

Em seguida reinicie o PuppetMas-ter no servidor e o Puppet nos clientes Agora jaacute eacute possiacutevel colocar qualquer fato personalizado em etcpuppetfacts e propagaacute-lo Por exemplo para criar uma regra que defina o fato $home com a variaacutevel de ambiente $HOME basta criar o arquivo etcpuppetfactshomerb

Facteradd(ldquohomerdquo) do setcode do ENV[lsquoHOMErsquo] endend

Da proacutexima vez que o Puppet rodar nos clientes esse fato seraacute sin-

cronizado e entatildeo poderaacute ser usado em qualquer receita

Outras variaacuteveisVariaacuteveis tambeacutem satildeo uacuteteis em outras situaccedilotildees Uma variaacutevel definida no arquivo sitepp ficaraacute disponiacutevel para todos os outros manifestos e classes Caso haja um conjunto-padratildeo de usuaacuterios com permissatildeo para fazer login nos servidores e se quiser edi-tar o arquivo etcsshsshd_config de acordo o coacutedigo do exemplo 4 funcionaraacute muito bem

Configurar o servidor de arqui-vos por meio de uma variaacutevel tam-beacutem eacute uma boa ideacuteia se o servidor sofrer alteraccedilotildees natildeo seraacute neces-saacuterio editar cada arquivo que faz referecircncia ao Puppet

ConclusatildeoEssa breve apresentaccedilatildeo fornece somente um raacutepido panorama das possibilidades do Puppet As versotildees mais recentes do software permitem que se organize a configuraccedilatildeo em moacutedulos o que oferece ainda mais flexibilidade e reusabilidade Caso se use LDAP para armazenar infor-maccedilotildees de maacutequinas e usuaacuterios eacute possiacutevel tambeacutem obter as definiccedilotildees dos noacutes a partir desse recurso

Caso sejam necessaacuterias mais informa-ccedilotildees ou suporte o site do Puppet assim como seu wiki[2] e sua lista de emails[3] satildeo de grande ajuda Tenha nas matildeos o controle de suas maacutequinas

Mais informaccedilotildees

[1] Projeto Puppet httpreductivelabscomprojetspuppet

[2] Wiki do Puppet httpreductivelabscomtracpuppetwiki

[3] Lista do Puppet httpreductivelabscomtracpuppetwikiGettingHelpmailing-list

Exemplo 4 Uso de variaacuteveis no SSH

01 em sitepp02 $server_ssh_users = ldquoroot jkemp adminrdquo0304 em sshpp ou qualquer outro lugar a sua escolha05 file ldquosshd_configrdquo06 name =gt ldquoetcsshsshd_configrdquo07 allow_users =gt lsquoAllowUsers $server_ssh_usersrsquo08 template =gt ldquoetcpuppettemplatessshd_configerbrdquo09 1011 trecho relevante de sshd_configerb12 LoginGraceTime 60013 PermitRootLogin without-password14 StrictModes yes1516 lt= allow_users gt

copy Linux New Media do Brasil Editora Ltda

71Linux Magazine 42 | Maio de 2008

Firewall faacutecil com o Shorewall

Domando o fogoEacute verdade que firewalls devem ser administrados por especialistas Poreacutem ateacute esses profissionais podem se beneficiar de uma interface praacutetica para essa tarefapor Tarciacutesio Carvalho Espiacutenola

Montar um firewall para a proteccedilatildeo de um uacutenico servidor natildeo eacute tarefa das

mais simples Imagine montar um firewall para uma rede inteira que requer muito mais atenccedilatildeo e conhe-cimento tanto dos serviccedilos quanto das ferramentas utilizadas Qualquer descuido pode comprometer toda a seguranccedila da rede e a reputaccedilatildeo do seu administrador

No caso especiacutefico do Linux tra-balhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas principalmente para usuaacuterios novatos ou acostuma-dos apenas com cliques na interfa-ce graacutefica A criaccedilatildeo de regras mais elaboradas requer tantas opccedilotildees e paracircmetros ndash e em uma rede mais complexa teremos dezenas delas ndash que eacute faacutecil cometer erros

Natildeo estamos questionando a efi-caacutecia dessa poderosa ferramenta muito pelo contraacuterio o domiacutenio de seus comandos para uma utilizaccedilatildeo eficiente e segura em situaccedilotildees mais avanccediladas exige bastante experiecircncia por parte do administrador Pensan-do nisso Thomas M Eastep teve a brilhante ideacuteia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e

atarefado administrador de rede e o prolixo mas poderoso software Iptables o Shorewall[1]

A forma simples e intuitiva como satildeo desenvolvidas as regras no Shorewall facilita bastante a cria-ccedilatildeo e manutenccedilatildeo do firewall Na inicializaccedilatildeo do serviccedilo as regras definidas pelo administrador satildeo compiladas e convertidas em regras do Iptables que seraacute o responsaacutevel pelo firewall

Devido agrave sua compe-tecircncia o Shorewall per-mite tambeacutem que o admi-nistrador aprimore seus conhecimentos na opera-ccedilatildeo do Iptables estudan-do as regras criadas pelo programa a partir das ins-truccedilotildees passadas de forma graacutefica Quando o admi-nistrador adota a defini-ccedilatildeo graacutefica de regras pelo Shorewall geralmente aumenta sua capacidade de criar e gerenciar confi-guraccedilotildees mais complexas O poder da interface graacute-fica nesse caso estaacute em permitir a administraccedilatildeo de muacuteltiplas regras de forma facilitada

Para ilustrar a utilizaccedilatildeo do Sho-rewall mostraremos como configurar o firewall de uma rede normalmente utilizada em pequenas e meacutedias em-presas (figura 1) embora o Shorewall possa ser utilizado em situaccedilotildees bem mais complexas

Infra-estruturaEm nossa rede de exemplo usaremos servidores e estaccedilotildees Linux e Win-dowsreg para mostrar que os serviccedilos

SE

GU

RA

NCcedil

A

Figura 1 A rede utilizada neste artigo eacute bastante simples composta por uma DMZ uma rede local e o firewall conectando ambas agrave Internet

Ramon Gonzalez - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

72 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

apresentados natildeo de-pendem dos sistemas operacionais utilizados com exceccedilatildeo claro do servidor firewall que de-veraacute necessariamente usar Linux

Para fins de exemplo suponhamos que nossos 64 IPs pertencem agrave fai-xa 20016616119226 distribuiacutedos da se-guinte forma IP da rede 200

166161192 maacutescara 255255

255192

IPs utilizaacuteveis 200166161193 a 200166161254

IP broadcast 200166161255A figura 2 e a tabela 1 detalham os pa-

racircmetros da nossa rede de exemploEm seguida basta configurar o

servidor DHCP da rede local com os paracircmetros acima Na configuraccedilatildeo das regras do firewall consideraremos que o serviccedilo de DHCP seraacute oferecido pelo proacuteprio servidor firewall como veremos mais adiante mas a sua configuraccedilatildeo foge do escopo deste artigo

A DMZ (zona desmilitarizada) obviamente fica isolada da rede local Nela seratildeo conectados os servidores Observe que na figura 2 foi definido inclusive o endereccedilo IP da estaccedilatildeo re-mota que teraacute acesso a alguns serviccedilos nas estaccedilotildees da rede local

Note que dos 64 endereccedilos de que dispomos iremos utilizar apenas seis (um para a rede outro de broadcast um no roteador e trecircs nos servidores) e os 58 restantes seratildeo desperdiccedilados Isso eacute muito comum nos contratos com operadoras ao menos no Brasil Esse tipo de contrato tem ajudado a agravar a escassez de endereccedilos IP disponiacuteveis na Internet

InstalaccedilatildeoVamos agora instalar a ferramenta que seraacute utilizada na configuraccedilatildeo do firewall Antes de iniciar no entanto eacute importante lembrar que a versatildeo mais recente do Shorewall no momento da escrita deste artigo era a 408

O Shorewall funciona da seguinte maneira ao ser iniciado o programa as configuraccedilotildees definidas nos arquivos do diretoacuterio etcshorewall satildeo com-piladas e convertidas em um arquivo que contenha as regras para o Iptables Caso natildeo ocorram erros as regras seratildeo aplicadas e o firewall ativado Do con-traacuterio o motivo da falha seraacute mostrado e o firewall natildeo seraacute iniciado

A partir do lanccedilamento da versatildeo 40 foram disponibilizadas duas ver-sotildees de compiladores para as regras do Shorewall a versatildeo em script de shell

Tabela 1 Descriccedilatildeo da rede de exemplo

RoteadorInterface Ethernet 20016616125426

Servidor FirewallInterface eth0 20016616119326

Interface eth1 192168125424

Interface eth2 1000130 (interface da DMZ)

Gateway padratildeo 200166161254 (IP do roteador)

DNS 200166161193 (o servidor firewall tambeacutem serviraacute DNS)

Servidor de email (mailmeu_sitecombr)Interface eth0 20016616119426

Maacutescara 255255255192

Gateway padratildeo 200166161254

DNS 200166161193

Servidor Web (wwwmeu_sitecombr)Interface Ethernet 200166161254

DNS 200166161193

Rede localIP da rede 19216810

Maacutescara 2552552550

IPs utilizaacuteveis 19216811 a 254

Broadcast 1921681255

Gateway padratildeo 1921681254 (eth1 no servidor firewall)

DNS server 1921681254 (eth1 no servidor firewall)

Figura 2 Detalhes da estrutura da rede usada neste artigo

copy Linux New Media do Brasil Editora Ltda

73

| SEGURANCcedilAShorewall

Linux Magazine 42 | Maio de 2008

que eacute a mais antiga e provavelmen-te seraacute descontinuada nas proacuteximas versotildees e a versatildeo em Perl bem mais raacutepida mas que ainda natildeo estaacute totalmente funcional Apesar disso muitos administradores jaacute a utilizam em produccedilatildeo sem qualquer proble-ma por isso vamos usar essa nova teacutecnica neste artigo

Como o Shorewall estaacute disponiacutevel nos repositoacuterios de pacotes de todas as principais distribuiccedilotildees natildeo abor-daremos a compilaccedilatildeo do software a partir dos fontes

Apoacutes a instalaccedilatildeo os arquivos que iremos editar na configuraccedilatildeo do fi-rewall seratildeo colocados no diretoacuterio etcshorewall sendo eles

interfacesmasqpolicyproxyarprulesshorewallconfzones

Os pacotes para Debian e Ubun-tu no entanto deixam os arquivos de configuraccedilatildeo-padratildeo em usrsharedocshorewalldefault-con-fig Nesse caso basta copiaacute-los para etcshorewall Em seguida jaacute podemos iniciar a configuraccedilatildeo do nosso firewall

ZonasDefiniremos duas zonas para a montagem do firewall uma para o proacuteprio servidor firewall que controlaraacute todo o traacutefego entre as zonas e uma para cada rede a que ele estiver conectado A tabe-la 2 mostra como seratildeo definidas essas zonas

Todas as configuraccedilotildees de zonas no Shorewall deveratildeo ser feitas no arquivo etcshorewallzones O exemplo 1 ilustra como deve ficar esse arquivo em nossa configura-ccedilatildeo Basta ele para definir todas as zonas do firewall Observe que as zonas NET LOC e DMZ foram confi-

guradas com o tipo ipv4 pois isso eacute obrigatoacuterio Note tambeacutem que a zona FW foi definida como sendo o proacuteprio firewall Com o comando man shorewall-zones o administrador pode ler mais informaccedilotildees sobre esse arquivo de configuraccedilatildeo

InterfacesCada zona seraacute vinculada a uma in-terface de rede do servidor exceto a zona FW que representaraacute o proacuteprio servidor e natildeo estaraacute vinculada a ne-nhuma interface Logo deveremos ter trecircs interfaces em nosso servidor eth0 Interface vinculada agrave zona

NET Essa interface seraacute conec-tada diretamente ao roteador que liga a rede agrave Internet Em nosso exemplo eth0 receberaacute o IP 20016616119326

eth1 Interface vinculada agrave zona LOC Essa interface deveraacute ser conectada ao switch da rede lo-cal e seraacute configurada com o IP 192168125424 Eacute preciso confi-gurar tambeacutem o servidor DHCP da rede local para que ele envie esse endereccedilo como gateway agraves estaccedilotildees (em nosso exemplo esse serviccedilo seraacute executado no proacuteprio servidor firewall)

eth2 Interface vinculada agrave zona DMZ Essa interface tem uma par-ticularidade seu IP seraacute con-figurado apenas com o intuito

Exemplo 1 Arquivo de zonas

01 ZONE TYPE OPTIONS IN OUT02 OPTIONS OPTIONS03 fw firewall04 net ipv405 loc ipv406 dmz ipv407 08 Natildeo apagar esta uacuteltima linha

Tabela 2 Definiccedilatildeo das zonas

Nome da zona

Componentes Caracteriacutesticas

Zona FW O proacuteprio firewall Tem livre acesso agraves demais zonas mas o acesso a ela seraacute controlado de acordo com os serviccedilos disponibilizados para cada zona

Zona NET Internet Seraacute considerada hostil em nossas configuraccedilotildees Eacute importante ter muito cuidado com ela

Zona LOC Rede local Nesta zona estaratildeo conectadas as estaccedilotildees locais da empresa Seu acesso agraves demais zonas seraacute controlado de acordo com os serviccedilos permitidos para essa zona

Zona DMZ Servidores da empresa que proveratildeo serviccedilos agrave Internet e agrave rede local

Essa zona teraacute dois servidores um com Linux (mailmeu_sitecombr) executando ser-viccedilos de e-mail e o outro com Windows Server (wwwmeu_sitecombr) que hospedaraacute o site da empresa (ver figura 1)

copy Linux New Media do Brasil Editora Ltda

74 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

de ativaacute-la mas natildeo pertenceraacute a nenhuma rede de qualquer zona Nela configuraremos o IP 1000130 e vamos conectaacute-la ao mesmo switch no qual seratildeo co-nectados os servidores da DMZ

Natildeo seraacute necessaacuterio seguir o padratildeo acima para montar os seus proacuteprios firewalls no entanto eacute recomendaacute-vel fazecirc-lo Tambeacutem eacute possiacutevel usar aliases de interfaces (eth00 por

exemplo) se necessaacuterio Todas as configuraccedilotildees de interfaces no Sho-rewall deveratildeo ser feitas no arquivo etcshorewallinterfaces

O exemplo 2 mostra como deve ser feita essa configuraccedilatildeo Observe que esse caso natildeo configura a zona FW uma vez que ela natildeo estaraacute vinculada a nenhuma interface Aleacutem disso os endereccedilos broadcast foram configura-dos para serem detectados automatica-

mente Jaacute para a interface eth0 que teraacute IP estaacutetico foram definidas as opccedilotildees tcpflags routerfilter nosmurfs nor-cf1918 e logmartians

Eacute interessante consultar o manual do arquivo de configuraccedilatildeo de interfa-ces e descobrir a funccedilatildeo de cada uma dessas opccedilotildees (man shorewall-inter-faces) Elimine-as se necessaacuterio (natildeo recomendaacutevel) ou adicione outras de acordo com as suas necessidades

PoliacuteticasDefinidas as zonas e interfaces defi-niremos agora as poliacuteticas de acesso entre cada par de zonas As definiccedilotildees mostradas na tabela 3 seratildeo adotadas como padratildeo para qualquer requisiccedilatildeo que ocorra entre as zonas

Para reforccedilar a seguranccedila vamos definir por fim que todas as requi-siccedilotildees vindas de qualquer zona (all) com destino a qualquer zona (all) se-ratildeo bloqueadas e que esses bloqueios sejam registrados no log com a tag info Essa regra deveraacute ser a uacuteltima no arquivo de configuraccedilatildeo

Todas as configuraccedilotildees das poliacuteticas de acesso no Shorewall devem ser feitas no arquivo etcshorewallpolicy como mostra o exemplo 3 Note que a regra geral ou seja a que define a poliacutetica de qualquer pacote foi a uacuteltima a ser definida justamente para ser aplicada apenas se os pacotes natildeo se encaixarem a nenhuma outra regra Mais uma vez eacute importante consultar a paacutegina de ma-nual do programa (man shorewall-policy) para obter mais detalhes

Tabela 3 Poliacuteticas entre zonas

Zona Poliacutetica Explicaccedilatildeo

FW ACCEPT Requisiccedilotildees vindas da zona FW com destino agraves de-mais zonas (all) seratildeo permitidas e nada seraacute regis-trado no log

LOC REJECT Requisiccedilotildees vindas da zona LOC com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Uma res-posta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

NET DROP Requisiccedilotildees vindas da zona NET com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

DMZ DROP Requisiccedilotildees vindas da zona DMZ com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

Mais informaccedilotildees

[1] Shorewall httpwwwshorewallnet

Exemplo 3 Arquivo de poliacuteticas

01 SOURCE DEST POLICY LOG LIMITBURST02 LEVEL03 fw all ACCEPT04 loc all REJECT info05 net all DROP info06 dmz all DROP info07 08 THE FOLLOWING POLICY MUST BE LAST09 10 all all DROP info11 12 Natildeo apagar esta uacuteltima linha

Exemplo 2 Arquivo de interfaces

01 ZONE INTERFACE BROADCAST OPTIONS02 net eth0 detect tcpflagsroutefilternosmurfsnorfc1918logmartians03 loc eth1 detect04 dmz eth2 detect05 06 Natildeo apagar esta uacuteltima linha

Sobre o autorTarciacutesio Carvalho Espiacutenola eacute coordenador de TI do Instituto Centec onde vem traba-lhando na implementaccedilatildeo de soluccedilotildees livres nos servidores da empresa Em seu tempo livre ele ainda manteacutem o site Opccedilatildeo Linux (httpwwwopcaolinuxcombr)

copy Linux New Media do Brasil Editora Ltda

75Linux Magazine 42 | Maio de 2008

PR

OG

RA

MA

CcedilAtilde

O

Trabalhe com um repositoacuterio online de scripts PHP

TesouroProgramadores PHP podem economizar tempo e trabalho com o uso do trecho script ou classe perfeitos para usar em seus programaspor Kenneth Hess

Haacute dezenas de repositoacuterios gratuitos de scripts que per-mitem que se navegue e es-

colha os scripts PHP para seu proacuteprio uso A maioria desses sites possui vaacute-rias ofertas desde scripts simples ateacute aplicativos web completos incluindo conjuntos inteiros de software Este artigo descreve alguns dos sites mais importantes na busca de um script PHP preacute-fabricado

devshedcomO Dev Shed[1] eacute o avocirc das comunida-des de desenvolvedores com recursos compartilhados O site tem um pa-gerank de 8 no Google e conta com mais de 150 mil assinantes Agora par-te da empresa Ziff Davis o Dev Shed eacute a comunidade de desenvolvedores mais destacada sendo usada por pro-gramadores de vaacuterias linguagens e tecnologias O site principal do Dev Shed tem foco em artigos tutoriais e na proacutepria comunidade de desenvol-vimento Quem desejar apenas scripts seraacute redirecionado do site principal para o Scriptscom[2] ndash a biblioteca de coacutedigo do Dev Shed

No Scriptscom pode-se ver que a aacuterea de PHP eacute a mais numerosa do repositoacuterio Seus mais de 4 mil scripts colocam essa seccedilatildeo com quase o dobro da segunda coloca-da Perl Depois de selecionado o repositoacuterio PHP a ser usado satildeo mostradas mais de 60 categorias diferentes A maioria dos sites com

repositoacuterios de scripts possui listas se-melhantes de categorias

Alguns sites natildeo possuem qualquer controle de qualidade ou orientaccedilatildeo de envio para os scripts recebidos mas o Scriptcom emprega regras um tanto rigorosas As orientaccedilotildees de envio protegem os usuaacuterios de softwares maliciosos e outros scripts ou teacutecnicas danosos que possam pre-judicar um site ou atacar o navegador dos visitantes Cada script listado tem uma descriccedilatildeo completa da tarefa que executa uma nota um link para o site do autor e um preccedilo Nem todos os scripts satildeo gratuitos Na verdade alguns satildeo caros mas geralmente o autor oferece suporte atualizaccedilotildees e possivelmente outros serviccedilos (como hospedagem por exemplo) pelo pre-ccedilo listado Alguns scripts satildeo gratuitos para uso pessoal mas exigem uma taxa para uso comercial

phpbuildercomO PHP Builder[3] eacute 100 dedicado ao uso e desenvolvimento de scripts PHP Sua comunidade eacute ativa e gen-

til com novos usuaacuterios Aleacutem disso haacute um foacuterum Newbies em que eacute permitido fazer perguntas que jaacute tenham sido respondidas milhotildees de vezes sem medo de sofrer repre-saacutelias ndash embora seja recomendaacutevel fazer uma busca antes de perguntar Assim como a maioria dos sites de comunidade eacute necessaacuterio registrar-se (gratuitamente) e fazer login antes de postar ou participar O PHP Buil-der eacute um dos sites de comunidade mais profissionais e bem mantidos desta seleccedilatildeo

Sua biblioteca de coacutedigos eacute me-nor que a dos outros ndash com apenas umas poucas centenas de scripts ndash mas eacute comum encontrar trechos de coacutedigo nos foacuteruns que resolvem seus problemas Caso o programador natildeo esteja seguro de suas habilidades de programaccedilatildeo existe um foacuterum de criacutetica de coacutedigo (chamado Coding Critique) no qual eacute possiacutevel colar o coacutedigo em questatildeo em busca de criacuteticas correccedilotildees e melhorias A forccedila do PHP Builder natildeo estaacute em sua biblioteca de coacutedigo mas em sua

Figura 1 Inicie a instalaccedilatildeo a partir da tela do DaDaBIK

Sophie ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

76 httpwwwlinuxmagazinecombr

PROGRAMACcedilAtildeO | Repositoacuterio PHP

comunidade Para os que precisam de respostas esse eacute o lugar

weberdevcomO Weberdev[4] ndash uma presenccedila obrigatoacuteria no kit de ferramentas de PHP ndash tem foacuteruns coacutedigo links e tutoriais excelentes Se a necessida-de for resolver rapidamente algum aspecto de programaccedilatildeo em PHP o Weberdevcom eacute a opccedilatildeo Sua biblio-teca de coacutedigo eacute um pouco esquisita de navegar mas o mecanismo de busca eacute raacutepido e inteligente

phpclassesorgPara usar algum dos scripts do PHP Classes[5] eacute necessaacuterio se registrar e fazer login mas eacute uma felicidade fazecirc-lo O PHP

Classes conteacutem trechos de coacute-digo orientados a objetos que podem ser acrescentados a qual-quer coacutedigo Para usar as classes e scripts eacute preciso ter ao menos uma compreensatildeo baacutesica de teacutec-nicas de programaccedilatildeo orientada a objetos Felizmente a maioria dos autores das classes fornece documentaccedilatildeo e exemplos fun-cionais de seus coacutedigos na forma de paacuteginas PHP completas

Eacute possiacutevel ler os blogs dos au-tores pedir mais informaccedilotildees so-bre uma classe diretamente a um autor envolver-se nos foacuteruns em busca de perguntas e respostas ou simplesmente obter classes a par-tir do enorme repositoacuterio Muitas classes desse site ainda continu-

am funcionando mesmo depois de quatro anos em produccedilatildeo O PHP Classes deve ser incluiacutedo nos favoritos de quem quer que esteja agrave procura de um excelen-te recurso para scripts classes e trechos PHP

Esse site tambeacutem possui uma lista de emails que notifica os assinantes em relaccedilatildeo a novas classes quando satildeo adicionadas ao repositoacuterio ndash os emails incluem um resumo da clas-se sua classificaccedilatildeo e uma curta biografia do autor Novas classes satildeo acrescentadas todos os dias

phpnetO phpnet[6] eacute o site oficial da lin-guagem onde se origina todo o coacutedigo PHP gerado Apesar de natildeo possuir uma biblioteca de coacutedigo propriamente dita eacute possiacutevel encon-trar no site uma grande quantidade de coacutedigos

Se o visitante procurar qualquer funccedilatildeo ndash fwrite por exemplo ndash rece-beraacute a paacutegina que descreve a sintaxe e o uso dessa funccedilatildeo Mais abaixo na mesma paacutegina satildeo exibidos tre-chos de coacutedigo que demonstram a funccedilatildeo em accedilatildeo

advancescriptscomO oceano de banners e anuacutencios piscantes talvez seja a primeira ca-racteriacutestica a chamar a atenccedilatildeo dos visitantes do AdvanceScripts[7] Esse site tem muito a oferecer e merece ser navegado entatildeo natildeo se deixe assus-tar pela forma de suporte financeiro escolhida por eles O AdvanceScripts hospeda quase 6 mil scripts PHP em seu repositoacuterio

Assim como ocorre com os outros sites nem todos os scripts satildeo gratui-tos entatildeo eacute importante ter cuidado com as escolhas feitas

Baixe altere e useApenas para ilustrar as ofertas bai-xei um script de um desses sites e adaptei-o para meu proacuteprio uso Esse

Figura 2 Ao teacutermino da instalaccedilatildeo eacute exibido um resumo das mensagens de alerta e de instalaccedilatildeo

Figura 3 A paacutegina indexphp mostra informaccedilotildees da tabela

copy Linux New Media do Brasil Editora Ltda

77

| PROGRAMACcedilAtildeORepositoacuterio PHP

Linux Magazine 42 | Maio de 2008

exemplo raacutepido mostraraacute como eacute faacutecil implementar uma ferramenta a partir de uma biblioteca de coacutedigo Como meu trabalho envolve bancos de da-dos e PHP optei pelo foco em scripts relacionados a bancos de dados Na biblioteca do Scriptscom em PHP Scripts | Database Tools encontrei o DaDaBIK[8][9] (Databases Inter-face Kreator) cuja descriccedilatildeo oficial traduzida eacute ldquoum aplicativo PHP gratuito que permite criar facilmen-te uma interface de formulaacuterio web altamente personalizaacutevel para um banco de dados MySQL para buscar inserir atualizar e apagar registros basta especificar alguns paracircmetros de configuraccedilatildeordquo

Eacute interessante verificar a descriccedilatildeo do script antes de baixaacute-lo O script eacute pequeno (16 MB) bem documen-tado e livre (utiliza a GPL) Os re-quisitos miacutenimos do DaDaBIK satildeo PHP posterior agrave versatildeo 405 e um banco de dados (MySQL Oracle PostgreSQL ou MS SQL)

As etapas de instalaccedilatildeo satildeo seme-lhantes agraves de outros scripts da Inter-net Deve-se baixar e descompactar o pacote e depois procurar o arquivo documentationhtm que fornece as instruccedilotildees de instalaccedilatildeo Seguindo as instruccedilotildees renomeie o diretoacuterio program_files para dadabik e copie-o para o diretoacuterio webroot

Apoacutes abrir o arquivo includecon-figphp eacute preciso digitar os paracircme-tros mostrados na tabela 1 Depois de digitaacute-los e salvaacute-los abra um nave-gador e aponte-o para a paacutegina de instalaccedilatildeo do DaDaBIK httpwwwnome_do_sitecombrdadabikinstallphp (figura 1) Apoacutes clicar no botatildeo de instalaccedilatildeo e finalizar o processo seraacute exibida uma tela semelhante agrave figura 2 que mostra alertas e men-sagens da instalaccedilatildeo

Ao clicar no link no alto da paacutegina para sair da aacuterea de administraccedilatildeo o administrador seraacute redirecionado para a paacutegina indexphp onde veraacute a primeira tabela de banco de dados

(figura 3) As tabelas satildeo listadas em ordem alfabeacutetica na lista drop-down Nessa paacutegina eacute possiacutevel editar inse-rir apagar ou buscar registros

Como se pode ver o DaDaBIK eacute faacutecil de instalar e raacutepido para confi-gurar e usar O exemplo deste artigo teve sucesso devido agrave excelente do-cumentaccedilatildeo incluiacuteda na ferramen-ta Ao procurar numa biblioteca de coacutedigo eacute importante sempre esco-lher scripts classes e aplicativos com muita documentaccedilatildeo

Exceto no caso de programadores experientes que se sintam confor-taacuteveis ao analisar coacutedigo alheio eacute fundamental ter acesso a uma boa documentaccedilatildeo Raramente a docu-mentaccedilatildeo interna de um script (co-mentaacuterios no coacutedigo) explica com-pletamente seu comportamento

ResumoMuitos programadores pensam ser capazes de produzir todo o coacutedi-go de um aplicativo Usar trechos de coacutedigos e ideacuteias de outros pro-gramadores eacute uma oacutetima forma de melhorar as habilidades em programaccedilatildeo poreacutem o trabalho natildeo eacute feito simplesmente baixan-do-se um script ou trecho ndash ainda eacute necessaacuterio adaptar o coacutedigo ao ambiente no qual ele seraacute usado Frequumlentemente essa tarefa natildeo eacute

faacutecil Eacute interessante usar todos os recursos disponiacuteveis para conhecer outros profissionais ao longo do caminho e rapidamente tornar-se o tipo de programador que ajuda os outros

Mais informaccedilotildees

[1] PHP no Dev Shed httpwwwdevshedcomcbPHP

[2] Scriptscom httpwwwscriptscom

[3] PHP Builder httpwwwphpbuildercom

[4] Weberdev httpwwwweberdevcom

[5] PHP Classes httpwwwphpclassesorg

[6] PHPnet httpwwwphpnet

[7] Advance Scripts httpwwwadvancescriptscom

[8] DaDaBIK no Scriptscom httpwwwscriptscomphp-scriptsdatabase-toolsdadabik

[9] DaDaBIK httpwwwdadabikorg

Tabela 1 Paracircmetros do configphp

Paracircmetro Descriccedilatildeo$dbms_type Tipo do banco de dados (MySQL Postgres7 Postgres8

Mssql ou oci8po)

$host Nome do servidor de banco de dados (normalmente local-host)

db_name Nome do banco de dados a ser usado com o DaDaBIK

$user Conta de usuaacuterio do banco de dados que possa fazer SE-LECT INSERT DELETE e UPDATE nos registros do banco

$pass Senha do usuaacuterio no banco de dados

$site_url URL completa do DaDaBIK (httpwwwnome_do_sitecombrdadabik)

$site_path Caminho relativo do DaDaBIK (dadabik)

copy Linux New Media do Brasil Editora Ltda

78

SE

RV

ICcedilO

S

httpwwwlinuxmagazinecombr

Fornecedor de Hardware = 1 Redes e Telefonia PBX = 2 Integrador de Soluccedilotildees = 3

Literatura Editora = 4 Fornecedor de Software = 5

Consultoria Treinamento = 6

Linuxlocal

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

CearaacuteF13 Tecnologia Fortaleza Rua Coronel Solon 480 ndash Bairro de Faacutetima

Fortaleza - CE - CEP 60040-270 85 3252-3836 wwwf13combr

Espiacuterito SantoLinux Shopp Vila Velha Rua Satildeo Simatildeo (Correspondecircncia) 18 ndash CEP 29113-120 27 3082-0932 wwwlinuxshoppcombr

Megawork Consultoria e Sistemas

Vitoacuteria Rua Chapot Presvot 389 ndash Praia do Can-to ndash CEP 29055-410 sl 201 202

27 3315-2370 wwwmegaworkcombr

Spirit Linux Vitoacuteria Rua Marins Alvarino 150 ndash CEP 29047-660 27 3227-5543 wwwspiritlinuxcombr

Minas GeraisInstituto Online Belo Horizonte Av Bias Fortes 932 Sala 204 ndash CEP 30170-011 31 3224-7920 wwwinstitutoonlinecombr

Linux Place Belo Horizonte Rua do Ouro 136 Sala 301 ndash Serra ndash CEP 30220-000 31 3284-0575 corporatelinuxplacecombr

Microhard Belo Horizonte Rua Repuacuteblica da Argentina 520 ndash Sion ndash CEP 30315-490 31 3281-5522 wwwmicrohardcombr

TurboSite Belo Horizonte Rua Paraiacuteba 966 Sala 303 ndash Savassi ndash CEP 30130-141 0800 702-9004 wwwturbositecombr

ParanaacuteiSolve Curitiba Av Cacircndido de Abreu 526 Cj 1206B ndash CEP 80530-000 41 252-2977 wwwisolvecombr

Mandriva Conectiva Curitiba Rua Tocantins 89 ndash Cristo Rei ndash CEP 80050-430 41 3360-2600 wwwmandrivacombr

Telway Tecnologia Curitiba Rua Francisco Rocha 183071 41 3203-0375 wwwtelwaycombr

Rio de JaneiroNSI Training Rio de Janeiro Rua Arauacutejo Porto Alegre 71 4ordmandar Centro ndash CEP 20030-012 21 2220-7055 wwwnsicombr

Open IT Rio de Janeiro Rua do Mercado 34 Sl 402 ndash Centro ndash CEP 20010-120 21 2508-9103 wwwopenitcombr

Unipi Tecnologias Campos dos Goytacazes

Av Alberto Torres 303 1ordmandar - Centro ndash CEP 28035-581 22 2725-1041 wwwunipicombr

Rio Grande do Sul4up Soluccedilotildees Corporativas Novo Hamburgo Pso Calccediladatildeo Osvaldo Cruz 54 sl 301 CEP 93510-015 51 3581-4383 www4upcombr

Definitiva Informaacutetica Novo Hamburgo Rua General Osoacuterio 402 - Hamburgo Velho 51 3594 3140 wwwdefinitivacombr

Solis Lajeado Rua Comandante Wagner 12 ndash Satildeo Cristoacutevatildeo ndash CEP 95900-000 51 3714-6653 wwwsoliscoopbr

DualCon Novo Hamburgo Rua Joaquim Pedro Soares 1099 Sl 305 ndash Centro 51 3593-5437 wwwdualconcombr

Datarecover Porto Alegre Av Carlos Gomes 403 Sala 908 Centro Comer-cial Atrium Center ndash Bela Vista ndash CEP 90480-003

51 3018-1200 wwwdatarecovercombr

LM2 Consulting Porto Alegre Rua Germano Petersen Junior 101-Sl 202 ndash Hi-gienoacutepolis ndash CEP 90540-140

51 3018-1007 wwwlm2combr

Lnx-IT Informaccedilatildeo e Tecnologia Porto Alegre Av Venacircncio Aires 1137 ndash Rio Branco ndash CEP 90040193 51 3331-1446 wwwlnx-itinfbr

Plugin Porto Alegre Av Juacutelio de Castilhos 132 11ordm andar Centro ndash CEP 90030-130 51 4003-1001 wwwplugincombr

TeHospedo Porto Alegre Rua dos Andradas 1234610 ndash Centro ndash CEP 90020-008 51 3286-3799 wwwtehospedocombr

Satildeo PauloWs Host Arthur Nogueira Rua Jerere 36 ndash Vista Alegre ndash CEP 13280-000 19 3846-1137 wwwwshostcombr

DigiVoice Barueri Al Juruaacute 159 Teacuterreo ndash Alphaville ndash CEP 06455-010 11 4195-2557 wwwdigivoicecombr

Dextra Sistemas Campinas Rua Antocircnio Paioli 320 ndash Pq das Universidades ndash CEP 13086-045 19 3256-6722 wwwdextracombr

Insigne Free Software do Brasil Campinas Av Andrades Neves 1579 ndash Castelo ndash CEP 13070-001 19 3213-2100 wwwinsignesoftwarecom

Microcamp Campinas Av Thomaz Alves 20 ndash Centro ndash CEP 13010-160 19 3236-1915 wwwmicrocampcombr

PC2 Consultoria em Software Livre

Carapicuiba Rua Edeia 500 - CEP 06350-080 11 3213-6388 wwwpc2consultoriacom

Savant Tecnologia Diadema Av Senador Vitorino Freire 465 ndash CEP 09910-550 11 5034-4199 wwwsavantcombr

Epopeacuteia Informaacutetica Mariacutelia Rua Goiaacutes 392 ndash Bairro Cascata ndash CEP 17509-140 14 3413-1137 wwwepopeiacombr

Redentor Osasco Rua Costante Piovan 150 ndash Jd Trecircs Montanhas ndash CEP 06263-270 11 2106-9392 wwwredentorindbr

Go-Global Santana de Parnaiacuteba

Av Yojiro Takaoca 4384 Ed Shopping Ser-vice Cj 1013 ndash CEP 06541-038

11 2173-4211 wwwgo-globalcombr

AW2NET Santo Andreacute Rua Edson Soares 59 ndash CEP 09760-350 11 4990-0065 wwwaw2netcombr

Async Open Source Satildeo Carlos Rua Orlando Damiano 2212 ndash CEP 13560-450 16 3376-0125 wwwasynccombr

Delix Internet Satildeo Joseacute do Rio Preto

Rua Voluntaacuterio de Satildeo Paulo 3066 9ordm ndash Centro ndash CEP 15015-909 11 4062-9889 wwwdelixhostingcombr

O maior diretoacuterio de empresas que oferecem produtos soluccedilotildees e serviccedilos em Linux e Software Livre organizado por Estado Sentiu falta do nome de sua empresa aqui Entre em contato com a gente 11 4082-1300 ou anuncioslinuxmagazinecombr

copy Linux New Media do Brasil Editora Ltda

79

| SERVICcedilOSLinuxlocal

Linux Magazine 42 | Maio de 2008

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

Satildeo Paulo (continuaccedilatildeo)4Linux Satildeo Paulo Rua Teixeira da Silva 660 6ordm andar ndash CEP 04002-031 11 2125-4747 www4linuxcombr

A Casa do Linux Satildeo Paulo Al Jauacute 490 ndash Jd Paulista ndash CEP 01420-000 11 3549-5151 wwwacasadolinuxcombr

Accenture do Brasil Ltda Satildeo Paulo Rua Alexandre Dumas 2051 ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 5188-3000 wwwaccenturecombr

ACR Informaacutetica Satildeo Paulo Rua Lincoln de Albuquerque 65 ndashPerdizes ndash CEP 05004-010 11 3873-1515 wwwacrinformaticacombr

Agit Informaacutetica Satildeo Paulo Rua Major Quedinho 111 5ordm andar Cj 508 ndash Centro ndash CEP 01050-030

11 3255-4945 wwwagitcombr

Altbit - Informaacutetica Co-meacutercio e Serviccedilos LTDA

Satildeo Paulo Av Francisco Matarazzo 229 Cj 57 ndash Aacutegua Branca ndash CEP 05001-000

11 3879-9390 wwwaltbitcombr

AS2M -WPC Consultoria Satildeo Paulo Rua Trecircs Rios 131 Cj 61A ndash Bom Retiro ndash CEP 01123-001 11 3228-3709 wwwwpccombr

Big Host Satildeo Paulo Rua Dr Miguel Couto 58 ndash Centro ndash CEP 01008-010 11 3033-4000 wwwbighostcombr

Blanes Satildeo Paulo Rua Andreacute Ampeacutere 153 ndash 9ordm andar ndash Conj 91 CEP 04562-907 (proacutex Av L C Berrini)

11 5506-9677 wwwblanescombr

Commlogik do Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 13797 Bloco II 6ordm andar ndash Morumbi ndash CEP 04794-000

11 5503-1011 wwwcommlogikcombr

Computer Consulting Pro-jeto e Consultoria Ltda

Satildeo Paulo Rua Vergueiro 6455 Cj 06 ndash Alto do Ipiranga ndash CEP 04273-100 11 5062-3927 wwwcomputerconsultingcombr

Consist Consultoria Siste-mas e Representaccedilotildees Ltda

Satildeo Paulo Av das Naccedilotildees Unidas 20727 ndash CEP 04795-100 11 5693-7210 wwwconsistcombr

Domiacutenio Tecnologia Satildeo Paulo Rua das Carnaubeiras 98 ndash Metrocirc Conceiccedilatildeo ndash CEP 04343-080 11 5017-0040 wwwdominiotecnologiacombr

EDS do Brasil Satildeo Paulo Av Pres Juscelino Kubistcheck 1830 Torre 4 - 5ordm andar 11 3707-4100 wwwedscom

Eacutetica Tecnologia Satildeo Paulo Rua Nova York 945 ndash Brooklin ndash CEP04560-002 11 5093-3025 wwweticanet

Getronics ICT Solu-tions and Services

Satildeo Paulo Rua Verbo Divino 1207 ndash CEP 04719-002 11 5187-2700 wwwgetronicscombr

Hewlett-Packard Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 12901 25ordm andar ndash CEP 04578-000 11 5502-5000 wwwhpcombr

IBM Brasil Ltda Satildeo Paulo Rua Tutoacuteia 1157 ndash CEP 04007-900 0800-7074 837 wwwbribmcom

iFractal Satildeo Paulo Rua Fiaccedilatildeo da Sauacutede 145 Conj 66 ndash Sauacutede ndash CEP 04144-020 11 5078-6618 wwwifractalcombr

Integral Satildeo Paulo Rua Dr Gentil Leite Martins 295 2ordm andar Jd Prudecircncia ndash CEP 04648-001

11 5545-2600 wwwintegralcombr

Itautec SA Satildeo Paulo Rua Santa Catarina 1 ndash Tatuapeacute ndash CEP 03086-025 11 6097-3000 wwwitauteccombr

Kenos Consultoria Satildeo Paulo Av Fagundes Filho 13 Conj -53 ndash CEP 04304-000 11 40821305 wwwkenoscombr

Konsultex Informatica Satildeo Paulo Av Dr Guilherme Dumont Villares 1410 6 andar CEP 05640-003 11 3773-9009 wwwkonsultexcombr

Linux Komputer Informaacutetica Satildeo Paulo Av Dr Lino de Moraes Leme 185 ndash CEP 04360-001 11 5034-4191 wwwkomputercombr

Linux Mall Satildeo Paulo Rua Machado Bittencourt 190 Cj 2087 ndash CEP 04044-001 11 5087-9441 wwwlinuxmallcombr

Livraria Tempo Real Satildeo Paulo Al Santos 1202 ndash Cerqueira Ceacutesar ndash CEP 01418-100 11 3266-2988 wwwtemporealcombr

Locasite Internet Service Satildeo Paulo Av Brigadeiro Luiz Antonio 2482 3ordm andar ndash Centro ndash CEP 01402-000

11 2121-4555 wwwlocasitecombr

Microsiga Satildeo Paulo Av Braz Leme 1631 ndash CEP 02511-000 11 3981-7200 wwwmicrosigacombr

Novatec Editora Ltda Satildeo Paulo Rua Luis Antonio dos Santos 110 ndash Santana ndash CEP 02460-000 11 6979-0071 wwwnovateceditoracombr

Novell Ameacuterica Latina Satildeo Paulo Rua Funchal 418 ndash Vila Oliacutempia 11 3345-3900 wwwnovellcombrasil

Oracle do Brasil Sistemas Ltda Satildeo Paulo Av Alfredo Egiacutedio de Souza Aranha 100 ndash Bloco B ndash 5ordm andar ndash CEP 04726-170

11 5189-3000 wwworaclecombr

Proelbra Tecnolo-gia Eletrocircnica Ltda

Satildeo Paulo Av Rouxinol 1041 Cj 204 2ordm andar Moema ndash CEP 04516-001 11 5052- 8044 wwwproelbracombr

Provider Satildeo Paulo Av Cardoso de Melo 1450 6ordm andar ndash Vila Oliacutempia ndash CEP 04548-005

11 2165-6500 wwwe-providercombr

Red Hat Brasil Satildeo Paulo Av Brigadeiro Faria Lima 3900 Cj 81 8ordm andar Itaim Bibi ndash CEP 04538-132

11 3529-6000 wwwredhatcombr

Samurai Projetos Especiais Satildeo Paulo Rua Baratildeo do Triunfo 550 6ordm andar ndash CEP 04602-002 11 5097-3014 wwwsamuraicombr

SAP Brasil Satildeo Paulo Av das Naccedilotildees Unidas 11541 16ordm andar ndash CEP 04578-000 11 5503-2400 wwwsapcombr

Simples Consultoria Satildeo Paulo Rua Mourato Coelho 299 Cj 02 Pinheiros ndash CEP 05417-010 11 3898-2121 wwwsimplesconsultoriacombr

Smart Solutions Satildeo Paulo Av Jabaquara 2940 cj 56 e 57 11 5052-5958 wwwsmart-teccombr

Snap IT Satildeo Paulo Rua Joatildeo Gomes Junior 131 ndash Jd Bonfiglioli ndash CEP 05299-000 11 3731-8008 wwwsnapitcombr

Stefanini IT Solutions Satildeo Paulo Av Brig Faria Lima 1355 19ordm ndash Pinheiros ndash CEP 01452-919 11 3039-2000 wwwstefaninicombr

Sun Microsystems Satildeo Paulo Rua Alexandre Dumas 2016 ndash CEP 04717-004 11 5187-2100 wwwsuncombr

Sybase Brasil Satildeo Paulo Av Juscelino Kubitschek 510 9ordm andar Itaim Bibi ndash CEP 04543-000 11 3046-7388 wwwsybasecombr

The Source Satildeo Paulo Rua Marquecircs de Abrantes 203 ndash Chaacutecara Tatuapeacute ndash CEP 03060-020

11 6698-5090 wwwthesourcecombr

Unisys Brasil Ltda Satildeo Paulo R Alexandre Dumas 1658 ndash 6ordm 7ordm e 8ordm andares ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 3305-7000 wwwunisyscombr

Utah Satildeo Paulo Av Paulista 925 13ordm andar ndash Cerqueira Ceacutesar ndash CEP 01311-916 11 3145-5888 wwwutahcombr

Visuelles Satildeo Paulo Rua Eng Domicio Diele Pacheco e Silva 585 ndash Interlagos ndash CEP 04455-310

11 5614-1010 wwwvisuellescombr

Webnow Satildeo Paulo Av Naccedilotildees Unidas 12995 10ordm andar Ed Plaza Centenaacuterio ndash Chaacutecara Itaim ndash CEP 04578-000

11 5503-6510 wwwwebnowcombr

WRL Informaacutetica Ltda Satildeo Paulo Rua Santa Ifigecircnia 211213 Box 02ndash Centro ndash CEP 01207-001 11 3362-1334 wwwwrlcombr

Systech Taquaritinga Rua Satildeo Joseacute 1126 ndash Centro - Caixa Postal 71 ndash CEP 15900-000 16 3252-7308 wwwsystech-ltdcombr

| SERVICcedilOSLinuxlocal

copy Linux New Media do Brasil Editora Ltda

80

SERVICcedil

OS

httpwwwlinuxmagazinecombr

User Friendly ndash Os quadrinhos mensais da Linux Magazine

Calendaacuterio de eventosEvento Data Local Website

ApacheCon Europe 2008 7 a 11 de abril Amsterdam Holanda wwweuapacheconcom

II Encontro Software Livre da Paraiacuteba

2 a 4 de maio Joatildeo Pessoa PB ensolorgbr

LinuxTag 28 a 31 de maio Berlin Alemanha htttpwwwlinuxtagorg

LinuxWorld Conference and Expo

04 a 07 de agosto Satildeo Francisco EUAhttpwwwlinuxworldexpocomlive12

Linux Park 10 de junho Porto Alegre RS wwwlinuxparkcombr

Linux Park 24 de junho Rio de Janeiro RJ wwwlinuxparkcombr

Iacutendice de anunciantes

Empresa PaacutegEasyLinux 15

Guia de TI 83

Impacta 27

Kenos 22 23

Linux Magazine 33

Linux Magazine Online 81

Linux Park 84

Linux Pocket Pro 02 09

Linux Pro 31

Linux Technical Review 07

LPI 57

Plugin 11

Starter Kit 13

Watch Guard 19

copy Linux New Media do Brasil Editora Ltda

LM40_sitepdf 146 190208 124436

copy Linux New Media do Brasil Editora Ltda

82 httpwwwlinuxmagazinecombr

Na Linux Magazine 43

PREVIE

W

DESTAQUE

Alta disponibilidadeSe o pneu do seu carro furar como vocecirc age Se a base de dados principal do seu banco cair o que acontece Se aquele software do qual sua empresa depende profundamente simplesmente fechar o que poderaacute ser feito

No caso do carro a resposta eacute bastante simples use o estepe Durante alguns minutos vocecirc natildeo poderaacute andar com o carro mas esse atraso certa-mente seraacute perdoado por quem quer que tenha um bom coraccedilatildeo No entanto o banco de dados de uma instituiccedilatildeo financeira assim como o software de missatildeo criacutetica da sua empresa jamais pode parar Para as empresas envolvi-

das qualquer problema significa perder dinheiro ndash e geralmente em quantidade suficiente para ocasionar demissotildees

Felizmente para os ad-ministradores de sistemas e gestores de TI jaacute dispomos hoje de oacutetimas soluccedilotildees de alta disponibilidade e vamos exploraacute-las em detalhes na Linux Magazine 43

Seguranccedila

DNSSECOs administradores de sistemas e consultores de seguranccedila utilizam estrateacutegias sofisticadas para proteger redes mas ainda existe uma parte muito baacutesica da infra-estrutura da Internet que permanece surpreen-dentemente vulneraacutevel o sistema de resoluccedilatildeo de nomes Existem teacutecnicas elaboradas para forjar res-postas DNS e da mesma forma maneiras tambeacutem engenhosas de contornar esses ataques De todas elas o DNSSEC desponta como uma das mais eficazes para prote-ger redes por meio de criptografia e autenticaccedilatildeo

Conheccedila essa tecnologia e man-tenha seu sistema de resoluccedilatildeo de nomes protegido

DESTAQUE

PortaacuteteisOs laptops e notebooks sempre deram aos seus possui-dores um certo glamour status de pessoas antenadas e claro fama de gente que tinha ldquogranardquo ndash afinal um bom portaacutetil ateacute dois anos atraacutes natildeo custava nada barato Com o passar do tempo no entanto fabricantes foram criando uma nova geraccedilatildeo de no-tebooks menores sem partes mecacircnicas quebraacuteveis em boa parte de suas versotildees e mais baratos Esses aparelhinhos chamados de sub-notebooks vecircm ganhando espaccedilo tanto entre os clientes ldquotradicio-naisrdquo dos laptops quanto entre pessoas que jamais imaginaram ter um portaacutetil

Oficina

Com jeito de cinemaA qualidade de auacutedio e viacutedeo da TV digital recente-

mente iniciada no Brasil eacute um atrativo para quem deseja assistir programas em alta resoluccedilatildeo e ateacute gravar alguns de seus preferidos Se os receptores de TV ainda estatildeo muito caros receptores USB para computador oferecem a ima-gem de cinema e qualidade de som de DVD E o que eacute melhor usando Linux

Na EasyLinux 13

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

42 0508

R$ 1390 euro 750

9771806

942009

00042

A REVISTA DO PROFISSIONAL DE TI

Linu

x M

agazin

e

42 42

M

aio

200

8

052008

WWWLINUXMAGAZINECOMBR

RICARDO BIMBO p30No Linux empresas e voluntaacuterios colaboram harmoniosamente

BOSSA CONFERENCE 2008 p24Evento internacional aponta para um futuro moacutevel com Coacutedigo Aberto

ENTREVISTA SAP p28Empresa aposta em reestruturaccedilatildeo de arquiteturas rumo ao SOA

VEJA TAMBEacuteM NESTA EDICcedilAtildeO

raquo ADempiere e Eclipse desenvolvimento integrado p49

raquo LPIC-2 aula 11 DNS p52

raquo BI de coacutedigo aberto com SpagoBI p59

raquo Os melhores repositoacuterios de coacutedigo PHP p75

REDES ADMINISTRACcedilAtildeO CENTRALIZADA p66

O Puppet toma conta do gerenciamento e confi guraccedilatildeo de servidores e desktops na rede

SEGURANCcedilA FIREWALL PRAacuteTICO p71

Ateacute os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall

SOA

PRINCIacutePIOS

REDHAT

N

OVAFORGE

SHOREWALL

PUPPET

PHP

SPAGOBI

ADEM

PIERE

LPIC-2

INDT

A ARQUITETURA ORIENTADA A SERVICcedilOS DAacute FOCO AOS NEGOacuteCIOS E SERVE RECURSOS DISTRIBUIacuteDOS COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS p34

raquo A Red Hat oferece a pilha completa para SOA p36

raquo Serviccedilos distribuiacutedos soluccedilotildees integradas p40

raquo NovaForge uma faacutebrica de software corporativo p44

SOA

ex

em

pla

r d

e

Ass

inan

teve

nd

a

pro

ibid

a

copy Linux New Media do Brasil Editora Ltda

  • Capa
  • Editorial
  • Iacutendice
  • Cartas
  • Augusto Campos
  • Charly Kuumlhnast
  • Klaus Knopper
  • Zack Brown
  • Seguranccedila
  • Notiacutecias
  • Notiacutecias Corporate
  • A bossa da mobilidade
  • Software bem rodado
  • 100 de serviccedilo
  • Cezar Taurion
  • Ricardo Bimbo
  • Edgar Silva
  • Introduccedilatildeo de Capa
  • Bem arquitetado
  • Clientes espalhados servidores distribuiacutedos
  • Quase faz cafeacute
  • Produto importado
  • LPI niacutevel 2 Aula 11
  • Negoacutecio inteligente
  • Para conquistar o puacuteblico
  • Marionete
  • Domando o fogo
  • Tesouro
  • Linuxlocal
  • Serviccedilos
  • Na Linux Magazine 43
Page 3: © Linux New Media do Brasil Editora Ltda.

3

Expediente editorialDiretor Geral Rafael Peregrino da Silva rperegrinolinuxmagazinecombr

Editor-chefe Tadeu Carmona tcarmonalinuxmagazinecombr

Editor Pablo Hess phesslinuxmagazinecombr

Redator Rodrigo Amorim ramorimlinuxmagazinecombr

Revisatildeo Jamile Leatildeo jleaolinuxmagazinecombr

Editor de Arte Lucas Oliveira loliveiralinuxmagazinecombr

Assistente de Arte Igor Dauriacutecio isilvalinuxmagazinecombr

Centros de Competecircncia Centro de Competecircncia em Software Oliver Frommel ofrommellinuxnewmediade Kristian Kiszligling kkisslinglinuxnewmediade Peter Kreussel pkreussellinuxnewmediade Marcel Hilzinger hilzingerlinuxnewmediade Centro de Competecircncia em Redes e Seguranccedila Achim Leitner aleitnerlinuxnewmediade Jens-Christoph B jbrendellinuxnewmediade Hans-Georg Eszliger hgesserlinuxnewmediade Thomas Leichtenstern tleichtensternlinuxnewmediade Max Werner mwernerlinuxnewmediade Markus Feilner mfeilnerlinuxnewmediade Nils Magnus nmagnuslinuxnewmediade

Anuacutencios Rafael Peregrino da Silva (Brasil) anuncioslinuxmagazinecombr Tel +55 (0)11 4082 1300 Fax +55 (0)11 4082 1302

Petra Jaser (Alemanha Aacuteustria e Suiacuteccedila) anzeigenlinuxnewmediade

Penny wilby (Reino Unido e Irlanda) pwilbylinux-magazinecom

Amy Phalen (Estados Unidos) anzeigenlinuxnewmediade

Hubert Wiest (Outros paiacuteses) hwiestlinuxnewmediade

Assinaturas wwwlinuxnewmediacombr assinaturaslinuxmagazinecombr

Na Internet wwwlinuxmagazinecombr ndash Brasil wwwlinux-magazinde ndash Alemanha wwwlinux-magazinecom ndash Portal Mundial wwwlinuxmagazinecomau ndash Austraacutelia wwwlinux-magazineca ndash Canadaacute wwwlinux-magazinees ndash Espanha wwwlinux-magazinepl ndash Polocircnia wwwlinux-magazinecouk ndash Reino Unido wwwlinux-magazinro ndash Romecircnia

Gerente de Circulaccedilatildeo Mirian Domingues mdomingueslinuxmagazinecombr

Apesar de todos os cuidados possiacuteveis terem sido tomados durante a produccedilatildeo desta revista a editora natildeo eacute responsaacutevel por eventuais imprecisotildees nela contidas ou por consequumlecircncias que advenham de seu uso A utilizaccedilatildeo de qualquer material da revista ocorre por conta e risco do leitor

Nenhum material pode ser reproduzido em qualquer meio em par-te ou no todo sem permissatildeo expressa da editora Assume-se que qualquer correspondecircncia recebida tal como cartas emails faxes fotografi as artigos e desenhos sejam fornecidos para publicaccedilatildeo ou licenciamento a terceiros de forma mundial natildeo-exclusiva pela Linux New Media do Brasil a menos que explicitamente indicado

Linux eacute uma marca registrada de Linus Torvalds

Linux Magazine eacute publicada mensalmente por

Linux New Media do Brasil Editora Ltda Av Fagundes Filho 134 Conj 53 ndash Sauacutede 04304-000 ndash Satildeo Paulo ndash SP ndash Brasil Tel +55 (0)11 4082 1300 Fax +55 (0)11 4082 1302Direitos Autorais e Marcas Registradas copy 2004 - 2008Linux New Media do Brasil Editora LtdaDistribuiccedilatildeo DistmagImpressatildeo e Acabamento Parma

Atendimento AssinantesSatildeo Paulo +55 (0)11 3512 9460Rio de Janeiro +55 (0)21 3512 0888 Belo Horizonte +55 (0)31 3516 1280

ISSN 1806-9428 Impresso no Brasil

Prezados leitores da Linux Magazine

Empresas de pesquisa de mercado tecircm a aacuterdua tarefa de mediante uma cuidadosa e criteriosa observaccedilatildeo dos acontecimentos atuais e passados estabelecer previsotildees para o comportamento do mercado no futuro tanto proacute-ximo quanto distante Obviamente eacute faacutecil desacreditar as conclusotildees de tais profissionais caracterizando-as como ldquoachismordquo ou ldquopuro chuterdquo No entanto eacute muito interes-sante quando verificamos que o erro das previsotildees estaacute na superestimativa do tempo ateacute a ocorrecircncia do evento

O Gartner Group previu recentemente para o Software Livre e de Coacutedigo Aberto (SLCA) um futuro proacutespero Segundo as conclusotildees da empresa em poucos anos to-dos os negoacutecios estaratildeo utilizando SLCA mesmo aqueles com preferecircncia pelo modelo de ldquosoftware como serviccedilordquo abordado nesta ediccedilatildeo O engano no caso foi a estimati-va de tempo Jaacute temos hoje em dia praticamente todas as empresas utilizando SLCA O acesso aos bancos atraveacutes da Internet eacute um dos principais fatores nessa afirmaccedilatildeo todos os maiores bancos utilizam SLCA em suas opera-ccedilotildees ndash senatildeo como sistema operacional como servidor web servidor de aplicaccedilotildees ou simplesmente na maacutequina virtual Java

E natildeo satildeo apenas as empresas os indiviacuteduos tambeacutem utilizam SLCA a todo momento quando fazem compras em grandes redes de lojas no uso do Internet banking e na consulta a sites do governo federal Google Yahoo etc aleacutem dos jaacute tradicionais Firefox e BrOfficeorg

Em breve os telefones celulares e subnotebooks (jaacute anunciados por diversos fabricantes aleacutem da Intel ndash com o Classmate PC ndash e a Asus ndash eee PC) introduziratildeo mais uma nova leva de maacutequinas equipadas com SLCA com as quais muitos vatildeo interagir ainda mais de perto O ldquodentro de poucos anosrdquo afinal parece jaacute ter chegado

Pablo HessEditor

Jaacute perto de vocecirc E

DITORIA

L

Linux Magazine 42 | Maio de 2008

copy Linux New Media do Brasil Editora Ltda

4 httpwwwlinuxmagazinecombr

CAPABem arquitetado 36

A plataforma de SOA da Red Hat oferece alguns

componentes eficazes sobre seu servidor de apli-

caccedilotildees JBoss Conheccedila-os em detalhes

Clientes espalhados servidores distribuiacutedos 40

Como novo paradigma a SOA requer algumas mu-

danccedilas profundas na forma de projetar imple-

mentar e organizar aplicaccedilotildees corporativas

Quase faz cafeacute 44

Com o NovaForge eacute muito praacutetico hospedar geren-

ciar e testar softwares em escala corporativa

IacuteND

ICE

copy Linux New Media do Brasil Editora Ltda

5

COLUNASAugusto Campos 08

Charly Kuumlhnast 10

Klaus Knopper 12

Zack Brown 14

NOTIacuteCIASSeguranccedila 16 Notiacutecias de inseguranccedila

Geral 18 Linux eacute feito por empresas

Sun homologaraacute Ubuntu

Linux em switches Cisco

BrOfficeorg 24

CORPORATENotiacutecias 20 Gartner SL em alta Windows em colapso

Microsoft cogita aquisiccedilatildeo hostil do Yahoo

Concorrente do ODF vira padratildeo ISO

Sun promete viacutedeo 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

TUTORIALProduto importado 49 Se for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte

do ADempiere eacute muito faacutecil usar o poderoso ambien-te de desenvolvimento Eclipse para importaacute-lo

LPI niacutevel 2 Aula 11 52 Configuraccedilatildeo do servidor BIND criaccedilatildeo e manuten-

ccedilatildeo de arquivos de zonas e ferramentas relacionadas

ANAacuteLISENegoacutecio inteligente 59 O ramo da Business Intelligence conta com poderosas fer-

ramentas e o SpagoBI se destaca entre as alternativas li-vres por sua modularidade e consequumlente flexibilidade

Para conquistar o puacuteblico 64 Em sua versatildeo 30 o Librix da Itautec atinge a maturidade para

ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientes

REDESMarionete 66 Aprenda a economizar tempo e agilize a administra-

ccedilatildeo de sistemas com ajuda do Puppet uma ferramen-ta de gerenciamento e configuraccedilatildeo centralizados

SEGURANCcedilADomando o fogo 71 Eacute verdade que firewalls devem ser administrados por es-

pecialistas Poreacutem ateacute esses profissionais podem se be-neficiar de uma interface praacutetica para essa tarefa

PROGRAMACcedilAtildeOTesouro 75 Programadores PHP podem economizar tem-

po e trabalho com o uso do trecho script ou clas-se perfeitos para usar em seus programas

SERVICcedilOSEditorial 03Emails 06Linuxlocal 78Eventos 80Iacutendice de anunciantes 80Preview 82

Linux Magazine 42 | Maio de 2008

| IacuteNDICELinux Magazine 42

copy Linux New Media do Brasil Editora Ltda

6 httpwwwlinuxmagazinecombr

Download do primeiro anoGostaria de informar que apesar de terem sido li-beradas para download as ediccedilotildees do ano passado natildeo haacute links para fazer esses downloads no site da revista A uacutenica alternativa mais oacutebvia do site eacute ten-tar baixar a versatildeo em PDF mas como antes o link direciona para o carrinho de compras

Diogo MunizResposta

Caro Diogo aparentemente falhamos na precisatildeo ao comunicarmos a liberaccedilatildeo do conteuacutedo do primei-ro ano da Linux Magazine e por isso vamos tentar corrigir esse erro agora

Estatildeo liberados individualmente todos os artigos de todas as ediccedilotildees do primeiro ano da Linux Maga-zine Ou seja qualquer artigo das ediccedilotildees 1 a 12 pode ser baixado gratuitamente em formato digital (PDF) a partir do site da Linux Magazine em httpwwwlinuxmagazinecombr no link Anteriores

O download de cada uma das ediccedilotildees de 1 a 12 completas e em formato digital permanece possiacutevel poreacutem sob o preccedilo normal (R$ 990)

O conteuacutedo das demais ediccedilotildees da Linux Maga-zine permanece com os tradicionais 30 liberados gratuitamente sob a forma de artigos individuais e ateacute o final de 2008 vamos liberar gradualmente 100 do conteuacutedo do segundo ano da revista (edi-ccedilotildees 13 a 24)

Pedimos sinceras desculpas pela falha de comu-nicaccedilatildeo e qualquer inconveniente que ela possa ter causado

CARTAS

sanj

a gj

ener

o ndash

ww

ws

xch

u

Emails para o editor

Permissatildeo de EscritaSe vocecirc tem duacutevidas sobre o mundo Linux criacuteticas ou sugestotildees que possam ajudar a melhorar a nossa revista escreva para o seguinte endereccedilo cartaslinuxmagazinecombr Devido ao volume de correspondecircncia eacute impossiacutevel responder a todas as duacutevidas sobre aplicativos configuraccedilotildees e problemas de hardware que chegam agrave Redaccedilatildeo mas garantimos que elas satildeo lidas e analisadas As mais interessantes satildeo publicadas nesta seccedilatildeo

Errata

Na paacutegina 65 da ediccedilatildeo 40 da Linux Magazine no artigo Montando a gestatildeo de Eduardo Montene-gro o exemplo 1 estaacute incorreto O correto eacute

O leitor Marcelo Saacutevio informou que diferente do que eacute afirmado na paacutegina 68 da ediccedilatildeo 39 da Li-nux Magazine no artigo Segredos graacuteficos sobre o utilitaacuterio de esteganografia Outguess o algoritmo RC4 natildeo eacute mais recomendaacutevel devido agraves vulnera-bilidades encontradas A quem desejar mais infor-maccedilotildees sobre esse algoritmo criptograacutefico o leitor sugere o link httpenwikipediaorgwikiRC4 Muito obrigado Marcelo

Exemplo 1 Compilaccedilatildeo do PLJava

01 $ sudo mkdir -p usrlocalsrcpljava02 $ sudo chown adempiere usrlocalsrcpljava03 $ tar xzvf pljava-src-140targz04 $ mv pljava-140 usrlocalsrcpljava05 $ cd usrlocalsrcpljava06 $ make07 $ sudo sh08 export PATH=$PATHusrlocalpgsqlbinusrlocaljdk150_14bin09 make install

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

8

COLUNA

httpwwwlinuxmagazinecombr

Acessibilidade em Software Livre

Augusto CamposEmbora qualquer pessoa possa vir a precisar de tecnologias assistivas ainda eacute pouca a atenccedilatildeo dispensada a esse campo no Software Livrepor Augusto Campos

Recentemente tive a oportunidade de participar da Comissatildeo de Programa de um evento de informaacutetica corporativa como parte de uma

banca na qual me cabia avaliar e classificar cerca de 80 trabalhos das mais variadas especialidades da Informaacutetica No decorrer dessa atividade avaliei po-sitivamente quanto agrave aplicabilidade vaacuterios trabalhos relacionados a tecnologias assistivas e acessibilidade mas tive a desagradaacutevel surpresa de constatar que na fase de discussatildeo os demais avaliadores sustentaram a posiccedilatildeo oposta a de que tecnologias assistivas inte-ressam a poucas pessoas portanto sua aplicabilidade deveria ser considerada baixa Resultado todos os trabalhos relacionados agrave acessibilidade acabaram ficando de fora do evento

A situaccedilatildeo estava fora do meu controle e laacute eu natildeo podia fazer nada a respeito mas agora vou contar com a compreensatildeo de vocecircs e usar nosso espaccedilo deste mecircs para falar um pouco sobre tecnologias assistivas em Software Livre

As tecnologias assistivas satildeo aquelas que oferecem recursos especiais de adaptaccedilatildeo assistecircncia e ateacute re-abilitaccedilatildeo para pessoas com necessidades especiais Isso eacute feito por intermeacutedio de meacutetodos diferenciados de interaccedilatildeo com tecnologias existentes permitin-do que essas pessoas possam realizar tarefas que de outro modo natildeo estariam a seu alcance

O nuacutemero de sistemas assistivos disponiacuteveis em Software Livre eacute crescente embora a atenccedilatildeo vol-

tada a eles nem sempre acompanhe a mesma ten-decircncia Essa eacute uma realidade que cada um de noacutes deveria se preocupar em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo ndash a acessibi-lidade a portadores de necessidades especiais vem sendo requisito cada vez mais exigido em softwares adotados por grandes corporaccedilotildees e pelos governos e a ausecircncia de uma oferta bem estruturada desse tipo de recurso jaacute foi justificativa para substituir Soft-ware Livre pelos seus equivalentes proprietaacuterios em telecentros municipais recentemente

Tambeacutem o niacutevel do suporte a tecnologias assisti-vas em Software Livre vem crescendo felizmente Agora aleacutem de contarmos com aplicativos espe-ciacuteficos como o vocalizador Festival e os drivers para displays em braille as versotildees recentes do Gnome passaram a oferecer o Orca sistema que integra os diversos recursos de acessibilidade dis-persos (vocalizadores displays braille ampliaccedilatildeo de tela etc) agraves aplicaccedilotildees disponiacuteveis no sistema operacional (com suporte a Firefox Thunderbird Pidgin BrOfficeorg e mais aleacutem da expansibili-dade atraveacutes de scripts)

Natildeo perco oportunidade de divulgar esse tipo de soluccedilatildeo especialmente a quem julga natildeo precisar delas ndash todos temos chance de um dia chegar a uti-lizaacute-las O Software Livre tem forte relaccedilatildeo com a ideacuteia de inclusatildeo digital e se cada administrador de sistemas e gestor de TI souber o que estaacute disponiacutevel nesse campo teremos possibilidade de empregaacute-las no momento certo e de prover o estiacutemulo neces-saacuterio para que seus desenvolvedores continuem investindo nelas

Sobre o autorAugusto Ceacutesar Campos eacute administrador de TI e desde 1996 manteacutem o site BR-linuxorg que cobre a cena do Software Livre no Brasil e no mundo

Essa eacute uma realidade que cada um de noacutes deveria preocupar-se em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

10 httpwwwlinuxmagazinecombr

Nload

Charly KuumlhnastMonitores de rede satildeo faacuteceis de encontrar mas o Nload eacute o uacutenico que separa traacutefego de entrada e saiacuteda e ainda desenha no consolepor Charly Kuumlhnast

Exibir o uso da rede numa interface natildeo eacute difiacutecil e existem inuacutemeras ferramentas para visuali-zar os valores Mas qual ferramenta oferece a

melhor representaccedilatildeo graacutefica dos valores medidos Os ldquoescovadores de bitrdquo certamente recomendariam a consulta direta aos dados no diretoacuterio proc mas essa obviamente natildeo eacute a soluccedilatildeo mais praacutetica

Tambeacutem podemos descartar todas as alternativas que dependam do X11 pois servidores geralmente natildeo possuem interfaces graacuteficas O IPTraf oferece os nuacutemeros necessaacuterios mas natildeo possui um recurso de histoacuterico O mesmo se aplica ao Iftop[1] embora ele informe quanto traacutefego sai e entra no parceiro de comunicaccedilatildeo

Para um raacutepido panorama minha ferramenta favo-rita eacute o Nload[2] Ele exibe o uso atual da rede para dados de entrada e saiacuteda dependendo do graacutefico sele-cionado (figura 1) Ao mesmo tempo oferece os valores meacutedios para um intervalo configuraacutevel O recurso de histoacuterico torna o uso do Nload um prazer natildeo haacute ris-co de perder um pico mesmo tirando os olhos da tela por um momento O paracircmetro de linha de coman-do -t ltvalorgt com valor em milissegundos permite a definiccedilatildeo do intervalo de atualizaccedilatildeo Por padratildeo o

Nload atualizaraacute sua tela duas vezes a cada segundo Na maioria dos casos uma configuraccedilatildeo mais espaccedilada eacute aceitaacutevel eu costumo usar -t 2000 uma atualizaccedilatildeo a cada dois segundos

Para manter os graacuteficos legiacuteveis eacute possiacutevel estabe-lecer limites para os traacutefegos de entrada e saiacuteda Se os dados excederem esse limite o Nload trunca o graacutefico permitindo a visualizaccedilatildeo de algo que esteja errado O limite-padratildeo eacute 10 Mbs mas pode ser modifica-do com -i ltvalorgt para a entrada e -o ltvalorgt para a saiacuteda O paracircmetro -s ltvalorgt com valor entre 1 e 9 possibilita a manipulaccedilatildeo dos valores meacutedios Quanto menor o nuacutemero mais curto eacute o intervalo para caacutelculo das meacutedias O valor 9 eacute o padratildeo Outro recurso inte-ressante eacute a possibilidade de modificar paracircmetros criacuteticos em tempo de execuccedilatildeo ndash incluindo a interface a ser monitorada Pressionar [O] enquanto o Nload estaacute rodando exibe um menu de opccedilotildees As alteraccedilotildees satildeo aplicadas no mesmo momento

O paracircmetro -m eacute uacutetil para servidores com muacuteltiplas interfaces ele informa o Nload para exibir o uso de muacuteltiplas interfaces ao mesmo tempo apesar de ser perdida a possibilidade de desenhar histogramas com o uso dessa opccedilatildeo

COLUNA

Mais informaccedilotildees

[1] Iftop httpwwwex-parrotcompdwiftop

[2] Nload httpwwwroland-riegeldenload

Figura 1 Os graacuteficos do Nload do Charly satildeo impressionantes

Sobre o autorCharly Kuumlhnast eacute administrador de sistemas Unix no datacenter Moers perto do famoso rio Reno na Alemanha Laacute ele cuida principalmen-te dos firewalls

copy Linux New Media do Brasil Editora Ltda

- Conexotildees Ilimitadas - Windows e Linux - Windows e Linux

Gab

arit

o

Suas mensagens entregues sem filas

E-mail marketingE-mail marketing Plug In

A ferramenta de relacionamento por e-mail mais poderosa do mercado

Contrate online

wwwplugincombrLigue e contrate

4003-1001

Powered by

por apenasR$4250

anunciodedicadoindd 1 41408 95432 AM

copy Linux New Media do Brasil Editora Ltda

12

COLUNA

httpwwwlinuxmagazinecombr

Pergunte ao Klaus

Klaus Knopper O criador do Knoppix responde agraves mais diversas perguntas dos leitores por Klaus Knopper

Wifi num Pavilion Prezado Klaus eu adoro sua coluna na Linux Magazine Ela jaacute me ajudou vaacuterias vezes e sem-pre aprendo muito Estou usando o openSUSE 103 num notebook HP Pavilion da seacuterie dv6000 (comprei no Natal e estou amando a maacutequina) Tudo funciona perfeitamente sem necessidade de alteraccedilotildees em arquivos de configuraccedilatildeo ex-ceto por um problema a rede sem fio

Jaacute procurei e conversei pela Internet visitei o site do driver e tentei tudo que consegui imaginar para resolver esse problema ndash desde o NDISwrap-per ateacute o comando install_fwcutter_43xx

Aleacutem disso recentemente postei um bug no site da minha distribuiccedilatildeo mas natildeo recebi qual-quer resposta

Os programas de conexatildeo sem fio como KNe-tworkManager KWiFi-Manager e iwconfig en-xergam a placa de rede sem fio assim como seu moacutedulo mas ela natildeo recebe sinal do roteador Jaacute verifiquei o equipamento e tentei me conec-tar a outros roteadores mas sempre acontece a mesma coisa

Obrigado por qualquer ajuda que vocecirc possa me dar e tambeacutem por toda a ajuda que daacute a todos que lecircem sua coluna E obrigado tambeacutem a todo o pessoal que faz a revista vocecircs satildeo oacutetimos

Resposta O seu problema talvez seja resolvido pelos

drivers de rede sem fio incluiacutedos no kernel 2624 que sempre oferecem suporte ao inter-ruptor da rede sem fio ( wifi switch ) presente em alguns notebooks Esse interruptor costu-ma impedir o funcionamento da rede sem fio porque simplesmente desliga a antena e conse-quumlentemente nenhum sinal eacute recebido mesmo que o driver e o hardware estejam funcionando perfeitamente

Como vocecirc disse ainda seraacute necessaacuterio ins-talar o firmware do adaptador de rede sem fio caso contraacuterio ele somente mostraraacute mensagens engraccediladas nos logs do sistema

O exemplo 1 mostra um trecho do arquivo de log que vocecirc me enviou Esse log confirma que o moacutedulo bcm43xx que vocecirc possui eacute adequado para a sua versatildeo do kernel mas o firmware desse adaptador natildeo estaacute presente

Provavelmente eacute possiacutevel obter esse firmware a partir de vaacuterios locais na Internet mas tambeacutem se pode extraiacute-lo de um adaptador que jaacute o pos-sua usando o programa bcm43xx-fwcutter que vocecirc mencionou

Quando vocecirc conseguir uma coacutepia do firm-ware necessaacuterio deve colocaacute-lo em usrlibho-tplugbcm43xx_microcode5fw (dependendo da sua distribuiccedilatildeo talvez tambeacutem em libfirmwarebcm43xx_microcode5fw ) em que seraacute automatica-mente carregado durante a inicializaccedilatildeo do sis-tema no momento em que o adaptador de rede sem fio for detectado e ativado

Sobre o autorKlaus Knopper eacute o criador do Knoppix e co-fundador do evento Linux Tag Atual-mente ele trabalha como professor progra-mador e consultor

Exemplo 1 Log do sistema (trecho)

Jan 6 052623 linux kernel bcm43xx PHYconnectedJan 6 052623 linux kernel bcm43xxError Microcode ldquobcm43xx_microcode5fwrdquonot available or load failedJan 6 052623 linux kernel bcm43xx core_up for active 80211 core failed (-2)Jan 6 052623 linux firmwaresh[5865]Cannot find firmware file lsquobcm43xx_microcode5fwrsquo

copy Linux New Media do Brasil Editora Ltda

REA

LIZA

CcedilAtildeO

PRO

MO

CcedilAtildeO

O Ecossistema de Negoacutecios em Software Livre no Brasil

2008PA

TRO

CIN

AD

ORE

S EM

200

7

copy Linux New Media do Brasil Editora Ltda

14 httpwwwlinuxmagazinecombr

Crocircnicas do kernel

Zack BrownLinus muda mais uma vez a poliacutetica de desenvolvimento do kernel desfazendo-se da tarefa de garantir total estabilidadepor Zack Brown

Inclusatildeo de drivers mais raacutepidaRecentemente Linus Torvalds reduziu os empeci-lhos para incluir coacutedigo no kernel Quando o Linux comeccedilou uma das maiores prioridades de Torvalds era encorajar contribuiccedilotildees Para isso ele reforccedilou a resposta a qualquer patch aceitando diversos de-les e ateacute mesmo publicando estatiacutesticas manuais sobre aqueles recebidos Conforme as contribuiccedilotildees aumentaram no final da deacutecada de 1990 a rapidez nas respostas de Linus diminuiu e ele ficou mais propenso a simplesmente ignorar patches caso natildeo gostasse deles Ele tambeacutem comeccedilou a insistir que os algoritmos dos patches fossem bonitos e que dife-rentes partes do kernel se comunicassem de formas naturais para elas

Quando Linus adotou as aacutervores ldquoestaacutevelrdquo e ldquode desenvolvimentordquo manteve a insistecircncia no bom gosto e tornou-se ainda mais estrito no ciclo ldquoes-taacutevelrdquo Com a estruturaccedilatildeo do envio de coacutedigos do kernel em uma hierarquia de mantenedores e ldquotenentesrdquo Linus comeccedilou a criar uma cultura de aderecircncia a suas preferecircncias pessoais de escrita de coacutedigo na qual outras pessoas que compreendes-sem seus gostos podiam atuar como guardas aleacutem de realizar o trabalho teacutecnico de escrever e revisar os coacutedigos em busca de falhas

Durante a aacutervore 26 Linus abandonou as mu-danccedilas um tanto desconfortaacuteveis entre as aacutervores estaacutevel e de desenvolvimento Entatildeo ele reinstituiu um conjunto de micro-forks para o desenvolvimen-to estaacutevel no qual a aacutervore 26 principal jamais sai da fase de desenvolvimento e cada versatildeo gera um novo fork estaacutevel A decisatildeo de abandonar os ciclos originais de estabilidade e desenvolvimento marca-ram uma eacutepoca de avaliaccedilatildeo de uma grande varie-dade de problemas Uma das principais justificativas para a mudanccedila foi a de que as distribuiccedilotildees Linux sempre aplicavam seus proacuteprios patches sobre as versotildees oficiais do kernel

Como o ocircnus de oferecer estabilidade sempre recaiacutea sobre as distribuiccedilotildees Linus lhes impocircs for-malmente essa obrigaccedilatildeo livrando-se dessa tarefa A decisatildeo indicou uma nova abordagem para o desenvolvimento do kernel ndash sem abandonar a necessidade de estabilizar aspectos do kernel mas ainda dando maior liberdade aos contribuidores

Agora Torvalds comeccedilou a aceitar patches de drivers com problemas oacutebvios Recentemente Adrian Bunk reclamou de um envio de driver que foi aceito no kernel apesar de conter mais de 250 erros de checkpatch e mais de 2000 avisos Antiga-mente esses problemas precisavam ser solucionados antes que um driver fosse aceito na aacutervore Parte da justificativa de Linus para a mudanccedila na poliacutetica eacute o reconhecimento de que eacute muito mais provaacutevel que um coacutedigo seja testado e consertado dentro da aacutervore oficial do que fora dela

Aleacutem disso supotildee-se que o usuaacuterio meacutedio use o kernel de sua distribuiccedilatildeo e natildeo o oficial enquan-to os desenvolvedores satildeo os usuaacuterios primaacuterios da versatildeo oficial e conseguem lidar melhor com drivers mais feios e menos polidos

Linus lembra que essa nova poliacutetica visa ao coacutedigo de drivers que por definiccedilatildeo satildeo perifeacutericos em relaccedilatildeo ao corpo principal do coacutedigo Ele diz que eacute importante que os drivers sejam bem testados antes de entrarem no kernel O liacuteder do desenvolvimento do Linux natildeo estaacute tatildeo preocupado com o visual do coacutedigo mas quer garantir que ele funcione e natildeo quebre nem cause per-da de dados aos usuaacuterios

COLUNA

Sobre o autorA lista de discussatildeo Linux-kernel eacute o nuacutecleo das atividades de desenvolvimento do kernel Zack Brown consegue se perder nesse oce-ano de mensagens e extrair significado Sua newsletter Kernel Traffic esteve em atividade de 1999 a 2005

copy Linux New Media do Brasil Editora Ltda

Acesse agora wwwrevistaesylinuxcombrPeccedila pelo telefone 11 4082-1300

Jaacute nas bancaspor apenas R$990

Easy Linux traz todos os meses notiacutecias tutoriais de programas e jogos dicas e tudo que o usuaacuterio iniciante precisa saber para usar Linux em casa e no trabalho

Com linguagem simples e abrangente EasyLinux eacute a leitura obrigatoacuteria para quem quer ldquodesbravarrdquo o software livre

EasyLinux leia para saber

por apenas R$990

por apenas R$990

por apenas R$990

por apenas R$990

copy Linux New Media do Brasil Editora Ltda

16

SE

GU

RA

NCcedil

A

httpwwwlinuxmagazinecombr

Figura 1 O gato natildeo estaacute vivo nem morto ateacute que se olhe dentro da caixa

Notiacutecias de InseguranccedilaTodos noacutes jaacute passamos por isso

na verdade muitos passaram recentemente Vocecirc acorda

e encontra um email do Bugtraq ou do Full-Disclosure ou talvez uma noti-ficaccedilatildeo do seu fornecedor a respeito de uma atualizaccedilatildeo de seguranccedila ndash uma atualizaccedilatildeo que afeta quase todos os seus sistemas e cujo exploit jaacute estaacute dis-poniacutevel haacute vaacuterios dias[1]

Obviamente podemos facilmente empregar o poder do Coacutedigo Aberto e nos gabar da velocidade com que os desenvolvedores do kernel con-sertaram a vulnerabilidade permi-tindo que os fornecedores provessem atualizaccedilotildees rapidamente

Ou eu poderia ainda falar da im-portacircncia de fazer um inventaacuterio de seus sistemas e ter um sistema de ge-renciamento de patches para aplicaacute-los prontamente Poreacutem a questatildeo eacute que todos os sistemas satildeo vulneraacuteveis o tempo inteiro Permita-me repetir soacute para assegurar que ningueacutem pense que me confundi todos os sistemas satildeo vulneraacuteveis o tempo inteiro

Falhas de seguranccedila satildeo bem se-melhantes ao gato de Schroumldinger nem vivo nem morto ateacute que seja verificado[2] (figura 1) Da mesma forma podemos perguntar se as vul-nerabilidades de seguranccedila aparecem do nada como por maacutegica quando algueacutem as observa colapsando o es-tado quacircntico de probabilidade da vulnerabilidade em questatildeo para um estado conhecido Ou seja en-quanto ningueacutem reconhece uma vulnerabilidade (e mais importan-te enquanto ningueacutem possui um exploit para ela) ela natildeo existe Isso tambeacutem eacute conhecido como a teoria da ldquoaacutervore que cai na florestardquo em seguranccedila da informaccedilatildeo

Tambeacutem seria possiacutevel argumen-tar de forma alternativa que mes-mo sem sabermos ao certo quan-do o isoacutetopo decairaacute acionando a liberaccedilatildeo do gaacutes venenoso ele vai decair e provavelmente mais cedo do que se desejaria

A verdade eacute que um sistema mo-derno possui tanto coacutedigo instalado e em execuccedilatildeo que eacute provaacutevel que alguma vulnerabilidade exploraacutevel venha a ser encontrada e usada para comprometer o sistema Entatildeo o que vocecirc pode fazer

Planos futurosAssim como no velho ensinamento ldquoplaneje-se para o pior mas espere o melhorrdquo eacute obrigatoacuterio planejar-se para o caso de falhas no sistema de seguranccedila Todos os conselhos-padratildeo a respeito de aumento de seguranccedila de sistemas criaccedilatildeo de camadas de seguranccedila e limitaccedilatildeo de acesso e privileacutegios sempre que possiacutevel ainda satildeo bons conselhos mas simplesmente natildeo consegue mresponder agrave pergunta o que fazer quando sua seguranccedila falha

Melhores praacuteticasPor ser praticamente inevitaacutevel que seus sistemas estejam vulneraacuteveis em algum momento ndash provavelmente durante um periacuteodo em que haacute aces-so puacuteblico pelo exploit ndash eles prova-velmente estaratildeo comprometidos Um exemplo perfeito disso eacute o site seifriedorg O SELinux estava ativo impedindo a exploraccedilatildeo de todas as vulnerabilidades de seguranccedila mas tambeacutem evitando o funcionamento correto de vaacuterios softwares de tercei-ros Apoacutes brigar um tempo contra o SELinux desisti e desativei-o

Esse foi meu primeiro erro por dois motivos Primeiro ao desati-var o SELinux facilitei muito a in-vasatildeo do meu sistema reduzindo tambeacutem a quantidade de logs que seriam gerados em caso de invasatildeo Se for preciso desativar o SELinux ao menos use o modo permissivo que registra as violaccedilotildees

Meu segundo erro foi a claacutessica preguiccedila administrativa Para faci-litar a administraccedilatildeo do sistema eu havia estabelecido relaccedilotildees de confianccedila no SSH entre minhas maacutequinas e tambeacutem ativado o acesso por sudo sem a requisiccedilatildeo de uma senha

Entatildeo uma vez que o agressor conseguisse invadir um sistema e ganhasse acesso agrave conta de admi-nistraccedilatildeo ele teria acesso a todos os meus sistemas Portanto quando um dos meus sistemas foi compro-metido acabei tendo que reinstalar todos eles pois tinha certeza de que todos haviam sido modificados Com frequumlecircncia essa falha de projeto tam-beacutem ocorre com firewalls e outros mecanismos de seguranccedila As organi-zaccedilotildees implementam uma seguranccedila externa bem riacutegida mas falham ao implementar a seguranccedila interna deixando um nuacutecleo apetitoso para os invasores desfrutarem

por Kurt Seifried

copy Linux New Media do Brasil Editora Ltda

17

| NOTIacuteCIASSeguranccedila

Linux Magazine 42 | Maio de 2008

Melhores registrosComo disse eu havia desativado o SELinux em vez de deixaacute-lo no modo permissivo Com o espaccedilo em disco sendo relativamente barato atualmen-te raramente faz sentido apagar logs para economizar espaccedilo

Aleacutem disso com a facilidade de criar um sistema de logs pela rede com o Syslog natildeo existe desculpa para natildeo usar um log centralizado (dificultando assim a eliminaccedilatildeo dos rastros de um eventual invasor) Entretanto note que muitos ataques deixaratildeo poucas mensagens significativas nos logs

Frequumlentemente uma mensa-gem informando que o programa servidor fechou seraacute o uacutenico indiacute-cio da invasatildeo o que dificilmente garante uma investigaccedilatildeo completa da ocorrecircncia

Ter um rastro confiaacutevel para au-ditoria pode significar a diferenccedila

entre precisar reinstalar todo um grupo de maacutequinas e apenas limpar uma delas Manter logs tambeacutem eacute importante para fornecer as infor-maccedilotildees necessaacuterias para consertar um sistema Simplesmente retornar um sistema a seu estado original natildeo impediraacute que o agressor faccedila uma nova invasatildeo

BecapeOs becapes costumam ser um dos as-pectos mais negligenciados pela segu-ranccedila da informaccedilatildeo Poreacutem eles satildeo cruciais para garantir que os sistemas possam ser reinstalados corretamente e os dados possam ser recuperados Se vocecirc natildeo fizer becape de nada mais ao menos faccedila um de seus da-dos e assegure-se de guardaacute-lo longe da maacutequina Aleacutem disso ter sistemas de recuperaccedilatildeo que funcionem eacute tatildeo importante quanto todo o becape

Mais Informaccedilotildees

[1] SecurityFocus vulnerabilidade em copy_from_user_mmap_sem() httpwwwsecurityfocuscombid27796

[2] Gato de Schroumldinger httpptwikipediaorgwikiGato_de_SchrC3B6dinger

Sobre o autorKurt Seifried eacute Consultor de Seguranccedila da Informaccedilatildeo especializado em Linux e re-des desde 1996 Ele eacute casado e tem qua-tro gatos mas nenhum peixe (porque os ga-tos tecircm mais fome que medo de aacutegua) Ele sempre se pergunta como essa tecnologia funciona em larga escala mas frequumlente-mente falha em escalas menores

Com muita frequumlecircncia jaacute vi be-capes funcionarem perfeitamente ateacute serem necessaacuterios aleacutem de imagens de recuperaccedilatildeo de baixo niacutevel incompatiacuteveis com o hard-ware substituto ou dados exporta-dos corrompidos e incompletos Por exemplo tenho um script de becape que estava falhando silen-ciosamente haacute trecircs meses porque eu havia deixado de lado a opccedilatildeo ldquosobrescrever arquivos mais anti-gosrdquo e entatildeo todos os arquivos alterados natildeo haviam recebido a coacutepia de seguranccedila

Preacute-funeralUma das praacuteticas mais poderosas que jaacute vi eacute conduzir um ldquopreacute-fu-neralrdquo Em essecircncia o administra-dor finge que o sistema jaacute falhou Ter uma ideacuteia do que fazer nessa situaccedilatildeo ajuda a evitar a confusatildeo caso isso de fato aconteccedila e tam-beacutem pode oferecer ideacuteias de accedilotildees preventivas a serem tomadas tais como usar firewalls em todos os computadores independente de a maacutequina estar ou natildeo conectada a uma rede puacuteblica

ConclusatildeoDa mesma forma que o sistema comprometido natildeo importa de ver-dade se o gato estaacute vivo ou morto Em algum momento o gaacutes veneno-so seraacute liberado o gato morreraacute e o local comeccedilaraacute a cheirar mal

O truque eacute encontrar formas efi-cazes de lidar com falhas para que se consiga retornar ao trabalho de forma raacutepida e segura

Dica de invasatildeo MySQL

Um meacutetodo comumente usado para zerar uma senha de root do MySQL perdida eacute usar a opccedilatildeo --skip-grant-tables que carrega o banco de dados sem qualquer proteccedilatildeo Se for necessaacuterio usar esse meacutetodo use tambeacutem --skip_networking para permitir somente conexotildees locais Com ela usuaacute-rios locais ainda conseguiriam conectar-se portanto assegure-se de desco-nectaacute-los tambeacutem

Talvez um meacutetodo melhor seja usar a opccedilatildeo --init file que lecirc comandos SQL deste arquivo na inicializaccedilatildeo Cada comando deve estar numa uacutenica linha e natildeo deve incluir comentaacuterios

Entatildeo basta criar um arquivo texto (zera-senhatxt) com um comando SQL para alterar a senha de root

SET PASSWORD FOR lsquorootrsquorsquolocalhostrsquo = PASSWORD(lsquoNovaSenharsquo)

e em seguida iniciar o mysqld com a opccedilatildeo --init-file zera-senhatxt Depois de carregar o arquivo simplesmente reinicie o MySQL normalmente e entre com a nova senha

copy Linux New Media do Brasil Editora Ltda

18

NO

TIacuteC

IAS

httpwwwlinuxmagazinecombr

Linux eacute feito por empresas

Sun homologaraacute Ubuntu Mark Shuttleworth fundador da Canonical empresa responsaacutevel pelo Ubuntu afi rmou que a Sun demons-trou interesse em homologar essa distribuiccedilatildeo em seus servidores A accedilatildeo seria muito importante para a em-presa sul-africana cuja distribuiccedilatildeo passaria a concorrer contra os pesos-pesados das distribuiccedilotildees corporativas (as chamadas Enterprise ) Red Hat Enterprise Linux e No-vell Suse Linux Enterprise Server ambas com modelos baseados em subscriccedilatildeo diferentemente do Ubuntu

A Canonical jaacute oferece suporte comercial ao Ubun-tu instalado em determinadas maacutequinas da Sun O que muda agora eacute a homologaccedilatildeo por parte da fa-bricante do hardware

A Linux Foundation publicou um novo relatoacuterio a res-peito do desenvolvimento do Linux intitulado ldquoLinux Kernel Development ndash How Fast it is Going Who is Doing It What They are Doing and Who is Sponso-ring Itrdquo (Desenvolvimento do Kernel Linux ndash com que velocidade estaacute ocorrendo quem o estaacute fazendo o que eles tecircm feito e quem fi nancia O estudo foi feito com base nos uacuteltimos trecircs anos do desenvolvimento do kernel Linux ndash abrangendo desde a versatildeo 2611 ateacute a 2624 ndash e revela que a maior parte dos desenvolvedores do kernel satildeo pagos por grandes companhias como IBM Intel Linux Foundation MIPS Technology MontaVista Movial NetApp Novell e Red Hat

Ao longo dos anos o nuacutemero de desenvolvedores do Linux tem crescido consideravelmente Pela anaacutelise a versatildeo mais recente do kernel (2624 na liberaccedilatildeo do estudo) teve 1057 desenvolvedores registrados O estudo informa que entre 70 e 95 dos desenvolvedores pagos para trabalhar com o Linux nos uacuteltimos trecircs anos satildeo funcionaacuterios dessas empresas Mostra tambeacutem que atual-mente a relaccedilatildeo das grandes empresas com o Linux eacute bastante proacutexima Os investimentos em Coacutedigo Aber-to portanto estatildeo diretamente relacionados ao modus operandi dessas empresas e jaacute incorporados agrave ldquocorrida armamentistardquo do mundo dos negoacutecios

O relatoacuterio da Linux Foundation sobre as contribui-ccedilotildees ao Linux exibe tambeacutem um nuacutemero elevado de contribuiccedilotildees de desenvolvedores individuais ao siste-ma Poreacutem a quantidade de pessoas que realmente faz o trabalho ldquobraccedilalrdquo eacute bem pequena Nos uacuteltimos trecircs anos os dez desenvolvedores que mais contribuiacuteram para o kernel somam 15 de todo esse trabalho Se au-

mentada a margem levando em conta os 30 maiores desenvolvedores esse nuacutemero sobe para 30

Assim foi estabelecido um ranking das empresas mais atuantes no kernel Um dos destaques eacute a Novell que au-mentou em 300 sua participaccedilatildeo nos uacuteltimos trecircs anos A empresa passou de 36 para 144 do total de contribuiccedilotildees realizadas Isso a coloca em segundo lugar logo atraacutes da Red Hat

Ranking

As companhias que de fato constroem o Linux consi-derando sua contribuiccedilatildeo para o kernel satildeo Red Hat (112) Novell (89) IBM (83) Intel (41) Linux Foundation (35) SGI (20) MIPS Technology (16) Oracle (13) MontaVista (12) e Linutronix (10) A participaccedilatildeo dessas empresas no desenvolvimento do Linux tem sua razatildeo de ser Red Hat Novell e MontaVista possuem motivos claros as trecircs desenvolvem e comer-cializam sistemas Linux As demais companhias traba-lham no kernel para garantir que o Linux rode correta-mente em seus hardwares na intenccedilatildeo de tornar seus produtos mais atraentes para os usuaacuterios Linux e com isso aumentar suas vendas

Outras empresas que desenvolvem o Linux como Sony Nokia e Samsung satildeo conhecidas por embar-carem o sistema aberto como um componente de seus proacuteprios produtos (como cacircmeras de viacutedeo te-levisores e telefones moacuteveis) Sua participaccedilatildeo no de-senvolvimento do kernel busca um investimento de meacutedio a longo prazo Essas empresas desejam ga-rantir que o sistema do pinguumlim continue a ser uma base soacutelida para seus produtos no futuro

18copy Linux New Media do Brasil Editora Ltda

19

| NOTIacuteCIASGerais

Linux Magazine 42 | Maio de 2008

BrOfficeorg 24Apoacutes uma espera relativamente longa a nova versatildeo do BrOfficeorg finalmente estaacute disponiacutevel para download Satildeo vaacuterias as novidades que se destacam nesse salto de versatildeo entre elas me-lhorias na geraccedilatildeo de documentos PDF mudanccedila da fonte-padratildeo para a famiacutelia DejaVu melhorias gerais no acesso a banco de dados (MySQL Oracle JDBC etc) e inclusatildeo de suporte nativo ao formato proprietaacuterio do aplicativo de bancos de dados do MS Access 2007

A interface dos programas tambeacutem apresenta algumas mudanccedilas A seleccedilatildeo do idioma no corretor ortograacutefico estaacute mais simples novos atalhos de teclado foram criados

para a definiccedilatildeo de estilos de paraacutegrafo e os blocos de ceacutelulas do Calc podem ser copiados e movidos mais facilmente pela planilha Na janela de impressatildeo as opccedilotildees avanccediladas podem ser ocultadas uma vez que raramente precisam ser alteradas

Linux em switches CiscoA Cisco atraveacutes de sua nova plataforma Application Extension Platform (AXP) converteu vaacuterios mode-los de seus switches para servidores de aplicaccedilotildees Linux Os novos servidores vecircm embarcados com bibliotecas C Java e Perl certificadas Com isso os desenvolvedores seratildeo capazes de usar um kit de desenvolvimento (SDK) para construir aplicativos para o novo sistema

Os servidores AXP vecircm equipados com proces-sadores de arquitetura x86 (o mais recente traz um Pentium 14 GHz) e satildeo capazes de executar uma distribuiccedilatildeo Linux proacutepria com kernel 26143 e bibliotecas compatiacuteveis com o Fedora Core 4 A dis-tribuiccedilatildeo particular da Cisco foi desenvolvida exata-mente para rodar sobre esse hardware que in-clui 2 GB de memoacuteria RAM e discos riacutegidos de 160 GB

copy Linux New Media do Brasil Editora Ltda

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Gartner SL em alta Windows em colapso De acordo com estudo realizado pelo Gartner em apenas alguns anos praticamente todos os tipos de negoacutecios estaratildeo utilizando Coacutedigo Aberto mesmo que os gerentes de TI dessas mesmas empresas ignorem essa tecnologia e prefi ram utilizar apenas a de software como serviccedilo ( SaaS ) O mesmo estu-do informa que ateacute 2012 todas as empresas estaratildeo utilizando Coacutedigo Aberto de forma embarcada

De acordo com Mark Taylor presidente do grupo de promoccedilatildeo do Open Source Consortium ldquoinfe-lizmente o Gartner estaacute subestimando o Coacutedigo Abertordquo Ele informa que atualmente todos estatildeo utilizando Coacutedigo Aberto como serviccedilo ndash o princi-pal exemplo eacute o do Google Ainda de acordo com Taylor o Gartner natildeo percebeu que uma licenccedila livre faz mais que apenas reduzir o custo total de propriedade (TCO) ndash ela fornece muitos outros benefiacutecios tambeacutem a quem a utiliza

Mesmo sabendo que o custo da licenccedila representa apenas 3 do valor do projeto algumas empresas continuam baseando suas vendas nesse detalhe tornando-se limitadas Poreacutem quando essa limi-taccedilatildeo eacute eliminada a abrangecircncia do projeto pode se expandir para diversas outras esferas ndash tudo isso sem custo adicional Esse fenocircmeno se deve prin-cipalmente ao fato de o Coacutedigo Aberto fornecer

grande escalabilidade a um custo zero de transaccedilatildeo para qualquer aplica-

ccedilatildeo em que se queira investir

Microsoft em risco Ao mesmo tempo os analistas do Gartner afir-maram que o sistema Windows corre perigo pondo em risco tambeacutem a Microsoft Em sua conferecircncia ldquoEmerging Trendsrdquo analistas de TI do Gartner afirmaram que os esforccedilos da Mi-crosoft em relaccedilatildeo ao Windows natildeo trouxeram resultados Os motivos disso de acordo com os analistas incluem os ciclos de desenvolvimento extremamente longos e as limitadas inovaccedilotildees trazidas a cada nova versatildeo do sistema opera-cional liacuteder em vendas aleacutem da experiecircncia de uso inconsistente entre diferentes versotildees Segundo mateacuteria da PC World no lado dos ad-ministradores cada nova interaccedilatildeo do sistema traz novas questotildees de incompatibilidade com aplicativos resultando no aumento dos custos de gerenciamento e reduzindo o valor do pro-duto da gigante de Redmond

As criacuteticas ao sistema da Microsoft natildeo pararam por aiacute Os analistas do Gartner levantaram ques-totildees teacutecnicas desde a complexidade do Windows sua falta de modularidade seus trechos de coacutedigo com 20 anos de idade e os elevados requisitos de hardware ateacute a difusatildeo do uso de aplicativos web e multi-plataforma

Essas questotildees conduziratildeo os consumidores de acordo com os analistas agrave adoccedilatildeo de outros sistemas garantindo um futuro proacutespero ao Coacute-digo Aberto A saiacuteda para o Windows segundo o Gartner seria uma versatildeo do Vista ainda mais modularizada apesar das alegaccedilotildees de grande modularizaccedilatildeo no sistema feitas pela Microsoft Uma soluccedilatildeo especiacutefica para a retrocompatibili-dade dos aplicativos residiria na virtualizaccedilatildeo de sistemas e componentes No entanto adverte o instituto de pesquisa natildeo devemos esperar mu-danccedilas raacutepidas da Microsoft junto aos negoacutecios bilionaacuterios do Windows

Cars

ten

Muumll

ler -

ww

ws

xch

u

20copy Linux New Media do Brasil Editora Ltda

21

| CORPORATENotiacutecias

Linux Magazine 42 | Maio de 2008 21

21

Sun promete viacutedeo livre Rob Glidden da Sun Microsystems infor-mou em seu blog a respeito de dois novos projetos de Coacutedigo Aberto da empresa que deveratildeo resultar em uma soluccedilatildeo livre para multimiacutedia via Web incluindo codecs de aacuteudio e viacutedeo No contexto da iniciativa Open Media Commons (OMC) a Sun estaacute trabalhando atualmente no OMS Video ndash segundo Glidden a sigla OMS pode signifi car tanto Open Media Stack quanto Open Media System Assim como ocorre com o formato Flash da Adobe a soluccedilatildeo da Sun deveraacute encapsular um codec de aacuteudio e um de viacutedeo ao mesmo tempo em que cuida do controle e do trans-porte de dados bem como de aspectos de seguranccedila do conteuacutedo Os desenvolvedo-res do codec de Coacutedigo Aberto natildeo estatildeo considerando apenas suas caracteriacutesticas teacutecnicas como velocidade e qualidade questotildees como a aderecircncia da licenccedila do sistema agraves premissas do Software Livre ausecircncia de custos com licenciamento e a criaccedilatildeo de coacutedigos e meacutetodos que natildeo infrinjam nenhuma patente tambeacutem satildeo requisitos do projeto O desenvolvimento do OMS eacute pautado pela poliacutetica de direitos de propriedade intelectual adotada pela Organizaccedilatildeo Mundial do Comeacutercio que natildeo se restringe simplesmente agrave adoccedilatildeo de uma licenccedila proacutepria ndash a Common Development and Distribution License (CDDL) que permite uma combinaccedilatildeo de software de coacutedigo aberto e proprietaacute-rio ndash mas utiliza tambeacutem Digital Rights Management (DRM)

O codec de viacutedeo deveraacute ser baseado nas especifi caccedilotildees do pa-dratildeo H26x ndash mas sem se limitar a elas Como formato de aacuteudio os de-senvolvedores estatildeo considerando o formato Xiph Vorbis A Sun preferiu natildeo adotar o formato H264 por natildeo consideraacute-lo sufi cientemente livre Pro-jetos que tenham objetivos similares como Vorbis Theora e Dirac natildeo satildeo considerados concorrentes mas ldquofacilitadoresrdquo Glidden no entanto natildeo revelou em quanto tempo o produto fi nal deve estar disponiacutevel

Microsoft cogita aquisiccedilatildeo hostil do Yahoo Apoacutes ter por reiteradas vezes afi rmado que a aquisiccedilatildeo do Yahoo eacute im-prescindiacutevel para os planos de expansatildeo da companhia na concorrecircncia contra o Google a Microsoft em carta redigida pelo CEO Steve Ball-mer enviou no iniacutecio de abril um ultimato agrave empresa de Jerry Yang caso natildeo cheguem a um acordo com a cuacutepula diretora da empresa nas proacuteximas trecircs semanas a Microsoft deveraacute recorrer aos acionistas e partir para uma aquisiccedilatildeo hostil

Na carta Steve Ballmer advertiu a direccedilatildeo do Yahoo de que no caso de uma accedilatildeo hostil a oferta da Microsoft poderaacute ser menor devido agrave reduccedilatildeo nos valores das accedilotildees das duas empresas ocorrida recentemente Adicional-mente a Microsoft pretende exercer pressatildeo sobre a diretoria do Yahoo atraveacutes de seus proacuteprios representantes no conselho diretor da empresa Ateacute entatildeo a empresa fundada por Bill Gates havia tentado chegar a um acordo por vias paciacutefi cas no intuito de evitar um processo de aquisiccedilatildeo hostil longo (e possivelmente caro) bem como para preservar as equipes das duas empresas para quando ocorrer a fusatildeo Entretanto segundo Ball-mer as reuniotildees realizadas ateacute agora foram infrutiacuteferas

Ballmer argumentou ainda no docu-mento que o Yahoo teria perdido espaccedilo no mercado de maacutequinas de busca na Internet e que a situaccedilatildeo fi nanceira da companhia teria piorado desde que a oferta foi feita

Concorrente do ODF vira padratildeo ISO A Organizaccedilatildeo Internacional de Padronizaccedilatildeo ISO aprovou no dia 1ordm de abril com 75 dos votos vaacutelidos dos membros P a homologaccedilatildeo do formato de documentos de escritoacuterio Offi ce Open XML de autoria da Microsoft como um padratildeo internacional A aceitaccedilatildeo do formato como padratildeo ocorreu na segunda tentativa da empresa de Steve Ballmer junto ao oacutergatildeo internacional e apoacutes sua aprovaccedilatildeo pelo ECMA oacutergatildeo europeu de padronizaccedilatildeo de sistemas de comunicaccedilatildeo e informaccedilatildeo

O Brasil representado pela ABNT (Associaccedilatildeo Brasileira de Normas Teacutecnicas) votou assim como na primeira avaliaccedilatildeo contra a aprovaccedilatildeo do OOXML ndash como eacute chamado o formato ndash devido a inuacutemeras questotildees teacutecnicas no documento ofi cial que descreve o formato

Votaram como o Brasil o Canadaacute e a China aleacutem de Cuba Equa-dor Iacutendia Iratilde Nova Zelacircndia Aacutefrica do Sul e Venezuela totalizando oito votos de membros P (participantes) e dois de membros O (observadores incluindo o Brasil) da ISO Diversos paiacuteses se abstiveram muitos deles emitindo comentaacuterios a esse respeito

O periacuteodo anterior agrave votaccedilatildeo foi alvo de diversas denuacutencias e acusaccedilotildees relativas a alguns oacutergatildeos nacionais e influecircncias exter-nas e internas de voto

Aleacutem das falhas teacutecnicas apontadas nas especifi caccedilotildees do OOXML outro importante argumento contra sua padronizaccedilatildeo junto agrave ISO eacute a exis-tecircncia do formato ODF ( Open Document Format ) criado de forma aberta pela organizaccedilatildeo OASIS cujo objetivo eacute justamente o de proporcionar um formato de arquivos de escritoacuterio (documentos planilhas apresenta-ccedilotildees etc) legiacutevel por qualquer programa que o deseje e que jaacute havia sido aprovado como o padratildeo ISOIEC 26300 em 2006

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

24

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Agraves 9h34min de uma rara manhatilde nublada em Porto de Galinhas Brasil Sandro Alves Gerente

de Desenvolvimento de Novos Ne-goacutecios do Instituto Nokia de Tecno-logia (INdT)[1] inaugurou a ediccedilatildeo 2008 da Bossa Conference[2] Ele apresentou um curto viacutedeo contan-do detalhes da histoacuteria e das atraccedilotildees de Porto de Galinhas Recife e do Estado de Pernambuco

Alves deu as boas vindas ao puacuteblico internacional de 250 pessoas ainda em-polgado com a ediccedilatildeo de 2007 da Bossa Conference e seu grande sucesso Logo apoacutes a abertura o gerente explicou o trabalho do INdT e mais importante por que seus funcionaacuterios o fazem

Design e conceitoSandro caracteriza o INdT como um instituto ldquomovido por design e conceitordquo e natildeo ldquopor tecnologiardquo embora deixe perfeitamente claro que natildeo se trata de uma criacutetica aos desenvolvedores de Coacutedigo Aberto ldquoQuando comeccedilamos eacuteramos movi-dos pela tecnologiardquo afirmou ldquomas gradualmente fomos percebendo que a abordagem orientada ao de-sign e conceito era muito melhor e isso tem funcionado muito bem desde entatildeordquo

A unidade do INdT em Recife emprega apenas Coacutedigo Aberto no desenvolvimento de novos aplicati-vos e plataformas para dispositivos moacuteveis da Nokia e eacute esse o tema central da Bossa Conference ldquoo evento eacute projetado para promover interaccedilatildeo entre os desenvolvedoresrdquo coloca Sandro ldquoA Bossa Conference

eacute projetada para maximizar o tempo de interaccedilatildeo entre as pessoasrdquo

Na praacuteticaAssim como na ediccedilatildeo 2007 do even-to[3] todos os dias contaram com sessotildees voltadas agrave parte praacutetica dos sistemas de software que compotildeem os dispositivos moacuteveis da Nokia Daniel Rocha apresentou o uso de Python para o desenvolvimento de aplicati-vos sobre a plataforma S60 seguido de Mario Hozzano e Leandro Sales que mostraram como utilizar essa mesma linguagem na programaccedilatildeo para a plataforma Maemo No se-gundo dia Thiago Santos mostrou na praacutetica como criar plugins para o sistema multimiacutedia GStreamer e apoacutes o almoccedilo Denis Kenzior abordou a programaccedilatildeo de aplicativos com uso de Bluetooth e OBEX para a plataforma Qtopia desenvolvida pela norueguesa Trolltech e recentemente adquirida pela Nokia Finalizando as sessotildees praacuteticas do evento Marcelo Oliveira e Gustavo Barbieri ambos do INdT mostraram como desenvolver inter-faces usando Python e as bibliotecas EFL seguidos de Dave Andreoli que mostrou outras formas de ir mais fun-do no uso dessas bibliotecas

EspecialistasCom sua especializaccedilatildeo em dispo-sitivos moacuteveis de comunicaccedilatildeo e conectividade o INdT foi capaz de reunir em Porto de Galinhas um impressionante nuacutemero de sumidades em grande parte das tecnologias que compotildeem esse crescente mercado

Michael ldquoMickeyrdquo Lauer (figura 1) um dos criadores do smartphone total-mente livre OpenMoko[4] discursou sobre a construccedilatildeo de distribuiccedilotildees Linux especiacuteficas para o mercado de sistemas embarcados com o OpenEm-bedded[5] Em uma entrevista[6] dada agrave Linux Magazine logo em seguida o alematildeo exibiu alguns protoacutetipos do dispositivo fabricado pela FIC e con-tou a histoacuteria do desenvolvimento do aparelho que encheu os olhos de todo o puacuteblico presente (figura 2) chamado frequumlentemente de ldquoplaygroundrdquo para hackers tamanha sua flexibilidade Harald Welte outro alematildeo partici-pante do projeto tratou de apresentar agrave plateacuteia o conceito de um smartphone verdadeiramente aberto

Depois do almoccedilo Alp Toker de-monstrou ainda os grandes avanccedilos do mecanismo de renderizaccedilatildeo de paacuteginas web Webkit de autoria da Apple e derivado do KHTML do projeto KDE O desenvolvedor do Webkit demonstrou como a equipe de desenvolvimento do renderiza-dor tem preocupaccedilatildeo com o uso de memoacuteria [7] o que vem rendendo

Figura 1 Mickey Lauer exibe dois protoacute-tipos do FIC Neo Freerunner

Bossa Conference 2008

A bossa da mobilidadeCom um evento uacutenico no mundo a Bossa Conference do Instituto Nokia de Tecnologia em Recife comemora sua entrada no calendaacuterio internacionalpor Pablo Hess

copy Linux New Media do Brasil Editora Ltda

25

| CORPORATEBossa Conference 2008

Linux Magazine 42 | Maio de 2008

vaacuterios testes desse mecanismo nos dispositivos moacuteveis que satildeo o centro da Bossa Conference

Na aacuterea de tecnologias visuais ndash um dos fetiches desse mercado ndash Carsten ldquoRastermanrdquo Haitzler criador do re-conhecidamente inovador ambiente desktop Enlightenment demonstrou os motivos do crescente interesse por parte dos desenvolvedores de dispositivos embarcados pelas bibliotecas graacuteficas que compotildeem seu software ndash especial-mente em relaccedilatildeo ao consumo de re-cursos ndash o que pode acabar por render a essas bibliotecas o posto atualmente ocupado pela GTK[8] Oslashyvind Kolarings colaborador de diversos projetos de Soft-ware Livre na aacuterea visual como Cairo e Gimp tambeacutem explicou as necessi-dades de hardware para a interface dos futuros dispositivos moacuteveis enquanto Chris Wilson tambeacutem envolvido com o Cairo falou sobre seu processo de desenvolvimento enfatizando os testes de funcionalidades

Ainda na questatildeo multimiacutedia Lennart Poetering descreveu a aplicaccedilatildeo do ser-vidor de aacuteudio PulseAudio em dispositi-vos embarcados enquanto Zach Rusin mostrava na sala ao lado os benefiacutecios que os drivers Gallium3D prometem trazer agrave aacuterea de graacuteficos 3D Logo em seguida Conrad Parker completou o tema com sua palestra sobre aspectos internos de reprodutores de viacutedeo

Os organizadores tambeacutem incluiacuteram no programa seminaacuterios sobre questotildees especialmente importantes em dispo-

sitivos moacuteveis como a depuraccedilatildeo do sistema de comunicaccedilatildeo entre processos D-Bus (ministrado por J5 Palmieri) o armazenamento local de dados (semi-naacuterio de Alexandre Oliva)

As tendecircncias de desenvolvimento tambeacutem figuraram entre os assuntos debatidos Daniel Gentleman apre-sentou formas de interaccedilatildeo entre os projetos de Coacutedigo Aberto e as comunidades que os utilizam dei-xando clara a necessidade de desen-volvimento nesse campo

A questatildeo da mobilidade foi disseca-da por Marcel Holtmann mantenedor de diversas das pilhas de protocolos de comunicaccedilatildeo sem fio no kernel Linux Segundo Marcel o Linux pos-sui suporte a diversos protocolos de comunicaccedilatildeo que nem mesmo estatildeo disponiacuteveis comercialmente o que o torna um sistema ideal para os dispo-sitivos moacuteveis de comunicaccedilatildeo

Nesse mundo de tantos aparelhos com exigecircncias aparentemente para-doxais ndash cada vez mais funcionalida-des em dispositivos progressivamente menores ndash a Intel tambeacutem esteve presente com seu Mobile Internet Device equipado com o igualmente novato Ubuntu Mobile Edition Adil-son Oliveira da Canonical apresen-tou agrave imprensa um aparelho natildeo tatildeo pequeno quanto os demais do evento e evidentemente com objetivos dife-rentes ndash o MID eacute um subnotebook reduzido tanto em capacidade quan-to em tamanho ndash mas equipado com uma distribuiccedilatildeo que promete mexer com esse mercado[9]

Um evento uacutenicoSe o mercado de software para disposi-tivos embarcados tem diversas particu-laridades a Bossa Conference age de acordo Nas duas noites do evento os participantes foram levados a ambien-tes que propiciavam a interaccedilatildeo o que certamente ajudou muito a troca de ideacuteias entre o puacuteblico e as ldquocelebrida-desrdquo com uma proximidade raramente vista em outros eventos

Mais informaccedilotildees

[1] INdT httpwwwindtorgbr

[2] Bossa Conference httpbossaconferenceindtorg

[3] Bossa Conference 2007 ldquoO futuro da mobilidaderdquo httpwwwlinuxmagazinecombrarticleo_futuro_da_mobilidade

[4] OpenMoko httpwwwopenmokoorg

[5] OpenEmbedded httpwwwopenembeddedorg

[6] ldquoO celular mais livre do mundordquo httpwwwlinuxmagazinecombrlmnoticiao_celular_mais_livre_do_mundo

[7] ldquoWebkit em todo canto ndash mesmordquo httpwwwlinuxmagazinecombrlmnoticiabossa_conference_2008_webkit_em_todo_canto_ndash_mesmo

[8] ldquoEnlightenment vai destronar GTKrdquo httpwwwlinuxmagazinecombrnoticiabossa_conference_enlightenment_vai_destronar_gtk

[9] ldquoUbuntu para dispositivos embarcadosrdquo httpwwwlinuxnewmediacombrnoticiaubuntu_para_dispositivos_embarcados

Figura 2 O FIC Neo Freerunner eacute o segundo modelo de smartphone da FIC a utilizar a plataforma OpenMoko

Segundo o ldquodono da festardquo Sandro Alves os participantes do evento satildeo pes-soas que ldquoamam criar coacutedigordquo como definem a si proacuteprios ldquosem nenhuma inclinaccedilatildeo poliacutetica ou ideoloacutegicardquo O limite de 250 pessoas afirma Sandro eacute para garantir que apenas as pessoas mais qualificadas e motivadas participem do evento garantindo assim o retorno po-sitivo de todos -- do puacuteblico dos pales-trantes e ateacute dos organizadores

copy Linux New Media do Brasil Editora Ltda

26

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Hardware Coacutedigo Aberto e Software Enablement

Software bem rodadoPor que um fabricante de hardware teria interesse em um software de Coacutedigo Aberto Entenda o Software Enablement e seus motivospor Sulamita Garcia

No final do ano passado tive a oportunidade de partici-par de uma conferecircncia da

Intel sobre Software Enabling Mas o que eacute isso e o que tem a ver com Software Livre

A dependecircncia entre software e hardware na computaccedilatildeo sempre foi uma discussatildeo do tipo ldquoo ovo e a gali-nhardquo Hardware natildeo faria nada sem o software software natildeo faria nada sem o hardware Combinados poreacutem eles fazem tudo o que conhecemos na aacuterea Conforme a tecnologia evolui o hard-ware se torna mais raacutepido ao mesmo tempo em que consome menos energia e tem o tamanho reduzido Isso torna possiacutevel adicionar mais funcionalidades tais como melhorar a possibilidade de virtualizaccedilatildeo integrar redes sem fio ou ter multiplos nuacutecleos para processar vaacute-rias instruccedilotildees ao mesmo tempo Mas para que essas novas funcionalidades faccedilam diferenccedila o software precisa ser escrito ou modificado para utilizaacute-la O Software Enabling eacute a atividade de ajudar a escrever esse software

Entatildeo como fazemos isso acon-tecer Vamos ver como geralmente acontece trabalhando com empresas de coacutedigo fechado

No radarQuando o software tem uma boa base de usuaacuterios ou um bom propoacutesito ele pode aparecer no radar da companhia de hardware Quando a empresa de software jaacute pode ter um relacionamento com a empresa de hardware e jaacute estaacute no

radar Os dois lados hardware e software comeccedilam a conversar O primeiro pas-so geralmente eacute assinar um acordo de confidencialidade ndash NDA ndash que defina os limites sobre as informaccedilotildees com-partilhadas Entatildeo os engenheiros de ambas empresas comeccedilam a trabalhar no projeto para o qual foram designa-dos O tamanho desse time depende do projeto das empresas envolvidas da base de usuaacuterios que se deseja al-canccedilar e de outros fatores Depois de algum tempo a empresa de software finalmente termina de escrever o coacute-digo e comeccedila a vendecirc-lo Pode exis-tir alguma campanha em conjunto em que as duas empresas invistam algum dinheiro em marketing para mostrar o resultado daquele coacutedigo Algumas vezes isso traz os resultados esperados e outras vezes natildeo mas eacute assim que funciona

Poreacutem existe outra maneira de fazer esse mesmo processo Quando uma companhia de hardware se aproxima de uma empresa de software aberto elas podem assinar um contrato de confidencialidade tambeacutem dependen-do dos projetos em que essas empresas trabalham Mas quando uma empresa de hardware quer se aproximar de uma comunidade relacionada a um projeto em particular natildeo existe uma pessoa para assinar um NDA por todos e isso nem faria sentido Pela natureza do Coacutedigo Aberto as informaccedilotildees sobre o projeto tambeacutem satildeo abertas Qual-quer bom projeto tem pelo menos uma lista de afazeres ndash TODO ndash em que eacute

possiacutevel verificar quais as prioridades para o projeto e quais os planos futu-ros Alguns projetos mais maduros tecircm um planejamento um roadmap Um bom projeto tambeacutem tem um sistema de rastreamento de falhas em que as pessoas podem relataacute-las verificar o seu estado saber como corrigir um proble-ma em particular e ateacute como ajudar a resolver alguns desses problemas Entatildeo quando se aproxima desses projetos qualquer um jaacute tem uma boa ideacuteia do funcionamento dele antes mesmo de falar com os responsaacuteveis

Digamos que com essas informa-ccedilotildees a empresa de hardware tenha decido que aquele projeto era inte-ressante e que valeria a pena traba-lhar com os desenvolvedores Entatildeo a empresa comeccedila a se engajar com alguns dos principais engenheiros que podem apontar quais pessoas tecircm possibilidade de dedicar tempo a trabalhar com seu hardware Eles provavelmente vatildeo precisar de ajuda no comeccedilo e entatildeo a empresa pode providenciar alguns sistemas para teste acesso a documentaccedilatildeo e ajuda espe-cializada dos seus engenheiros

ColaboraccedilatildeoMas logo um dos melhores aspectos do Coacutedigo Aberto comeccedila a mostrar-se enquanto outros engenheiros natildeo apenas os da empresa comeccedilam a aprender sobre como lidar com o hardware podem ajudar outras pessoas no projeto a aprenderem tambeacutem E esse esforccedilo tambeacutem

Julia

Eis

enb

erg

- w

ww

sxc

hu

copy Linux New Media do Brasil Editora Ltda

27

| CORPORATESoftware Enablement

Linux Magazine 42 | Maio de 2008

aumentaraacute a base de conhecimen-to e o nuacutemero de profissionais com esse conhecimento

Depois disso podemos ter um software preparado para mostrar as novas capacidades do seu hardware Quem entatildeo vai distribuir esse soft-ware Primeiramente os projetos sempre tecircm seu proacuteprio website Provavelmente os usuaacuterios desse software tambeacutem iratildeo querer testar essa nova versatildeo e entatildeo automati-camente eacute criada uma nova base de usuaacuterios A blogosfera jaacute provou ser poderosa para espalhar novas ideacuteias e natildeo eacute incomum desenvolvedores de software falarem em que andam trabalhando ou o que vecircm testando Aleacutem de divulgar suas atividades isso tambeacutem ajuda na documentaccedilatildeo E se vocecirc ainda conseguir ajudaacute-los a integrar este a outros projetos em que estejam trabalhando melhor ainda Os custos para esse tipo de aproxima-ccedilatildeo satildeo consideravelmente menores em relaccedilatildeo ao modelo anterior e o

nuacutemero de especialistas na plataforma aumentou consideravelmente

Interesse em softwareTodavia haacute algo que muitas empre-sas natildeo entendem por que os de-senvolvedores de Coacutedigo Aberto se importariam com o hardware Bem essa eacute uma parte bastante delicada mas cabe agraves empresas demonstra-rem Isso requer bastante humildade afinal de contas o projeto em ques-tatildeo chegou ao sucesso mesmo sem apoio da empresa Tentar dar ordens certamente natildeo vai funcionar nem usar a sua grande e poderosa marca como se eles devessem ser gratos pela empresa ter-se interessado O mais importante eacute que o produto precisa ser bom Quando se trata dos desenvolvedores principais estamos falando de profissionais altamente qualificados que construiacuteram um projeto suficientemente bom para chamar a atenccedilatildeo de uma grande empresa Entatildeo maquiar os pro-

blemas de um produto ou inventar recursos que natildeo existem ou natildeo fun-cionam natildeo vatildeo render pontos para o produto A honestidade eacute sempre valorizada esse eacute um ponto muito importante e vale a pena reforccedilar Se vocecirc fizer isso pode conquistar valiosos aliados para os projetos que tambeacutem apreciam serem re-conhecidos por marcas admiradas mas somente se isso natildeo custar a integridade do projeto

Algumas empresas falharam porque tentaram dizer o que os desenvolvedores deveriam fazer ou mudar os objetivos do projeto ou mexer com as suas razotildees ideoloacute-gicas ndash eles acreditam em Coacutedigo Aberto natildeo se esqueccedila disso

Sobre o autorSulamita Garcia eacute Gerente de Estrateacutegia Linux e Open Source para Ameacuterica Latina da Intel e uma das coordenadoras do gru-po Linux Chix

copy Linux New Media do Brasil Editora Ltda

28

CORPORATE

httpwwwlinuxmagazinecombr

Entrevista com Theron Morato responsaacutevel pela aacuterea de Iniciativas Estrateacutegicas em eSOA da SAP Brasil

100 de serviccediloA SAP estaacute reestruturando sua arquitetura para incorporar a disciplina da SOA agraves suas ofertas Veja o que esse novo paradigma significa para a empresapor Pablo Hess

A disciplina da arquitetura orientada a serviccedilos (SOA) demanda o contato entre os

funcionaacuterios de TI e os responsaacuteveis pelos negoacutecios A alematilde SAP faz isso haacute anos e tem reconhecimento internacional por suas soluccedilotildees A Linux Magazine conversou com Theron Morato responsaacutevel pela aacuterea de iniciativas estrateacutegicas em eSOA da SAP Brasil a respeito das

accedilotildees da empresa no campo de SOA e sua relaccedilatildeo com padrotildees abertos e o Coacutedigo AbertoLinux Magazineraquo Qual a importacircncia do mercado de SOA para os negoacute-cios da SAPTheron Moratoraquo Extremamente im-portante Haacute pelo menos trecircs anos a SAP vem investindo fortemente para redesenhar sua arquitetura e assimilar integralmente o conceito de SOA em suas soluccedilotildees aleacutem de participar ativamente de iniciativas de padronizaccedilatildeo linguagens de especificaccedilatildeo de processos e ofe-recer todas as suas soluccedilotildees como serviccedilos Hoje podemos dizer que a empresa tem uma estrateacutegia soacute-lida e estruturada de enterprise SOA (eSOA)

LMraquo Qual eacute a estrateacutegia da SAP para o mercado de SOA Que tipo de parcerias a empresa tem firmado nessa aacutereaTMraquo A estrateacutegia que desenvolve-mos trabalha com uma semacircntica de negoacutecios que tem mais sentido para o analista de negoacutecios sem o vieacutes teacutecnico Isso natildeo significa que a tecnologia natildeo seja importante mas para o puacuteblico que mais se beneficia

do SOA que vem das aacutereas de negoacute-cios a tecnologia que implementa os conceitos da arquitetura orientada a serviccedilos deve ser transparente

A necessidade de uma semacircntica de negoacutecios se justifica principalmen-te porque natildeo basta termos apenas os agrupamentos de Web Services proxies e interfaces pois nem sempre a inte-graccedilatildeo desses elementos eacute a melhor maneira de solucionar um desafio de negoacutecios As parcerias firmadas vecircm sendo feitas em todos os niacuteveis de fornecedores de hardware a fornece-dores de soluccedilotildees complementares agraves soluccedilotildees da SAPLMraquo Com a disciplina do SOA em voga atualmente quais as expecta-tivas da SAP para esse mercado nos proacuteximos anos

TMraquo Nos uacuteltimos trecircs anos os ar-quitetos e consultores da SAP tecircm prestado serviccedilos relativos a dife-rentes aspectos do SOA entre eles o roadmap de eSOA Trata-se do desenho de soluccedilotildees de novos pro-cessos de negoacutecios com a visatildeo de que eles seratildeo reutilizaacuteveis e teratildeo vantagens quando implementados com a disciplina do SOA Com tudo isso pronto nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios com uma plataforma abrangente de serviccedilosLMraquo Como eacute a relaccedilatildeo da SAP com os fornecedores de componentes para a infra-estrutura de SOA como sistema operacional e middleware especifi-camente os de Coacutedigo AbertoTMraquo A SAP tem uma relaccedilatildeo de par-ceria com a Novell para que nossos sistemas possam utilizar como base o sistema operacional SUSE Linux Enterprise o qual jaacute eacute empregado inclusive nas aplicaccedilotildees BIAccelera-tor e Enterprise Search em parceria com a HP IBM e IntelLMraquo Qual a relaccedilatildeo entre Coacutedigo Aber-to (incluindo padrotildees abertos) e SOA Como a SAP apoacuteia essas iniciativasTMraquo A SAP estaacute alinhada aos padrotildees e ferramentas de desenvolvimen-to abertas como Eclipse Struts Hibernate e linguagens de script Nosso objetivo com isso eacute facilitar o envolvimento de desenvolvedores Java e SOA na estrutura de enterprise SOA da SAP e no SAP BPP (Business Process Platform)

Nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios

copy Linux New Media do Brasil Editora Ltda

29Linux Magazine 42 | Maio de 2008

CORPORATE

Green IT soluccedilotildees para as empresas de TI

Cezar TaurionO consumo de energia dos computadores jaacute estaacute recebendo uma maior parcela de atenccedilatildeo que no passado o que pode ajudar o Linux a se destacar no mercadopor Cezar Taurion

O tema ldquoGreen ITrdquo estaacute comeccedilando a ser debatido na miacutedia e em algumas ainda esparsas conversas sobre TI Ele jaacute faz

parte da agenda de diversos eventos importantes e o uacuteltimo CeBIT foi tambeacutem palco de vaacuterios anuacutencios mostrando a preocupaccedilatildeo crescente das empresas com as questotildees ecoloacutegicas Foi inclu-sive criada uma ldquoGreen IT Villagerdquo um saguatildeo dedicado inteiramente agraves discussotildees ecoloacutegicas e agrave exposiccedilatildeo de produtos que jaacute usam soluccedilotildees de economia de energia e materiais menos agressivos ao meio ambiente

Mas por que tanta atenccedilatildeo em torno do Green IT Nosso planeta estaacute ameaccedilado pelo aquecimento global Noacutes jaacute impusemos tensotildees cada vez maiores ao finito e limitado meio ambiente ultrapassando a sua capacidade de se sustentar Jaacute consumimos 25 mais recursos naturais a cada ano do que o planeta eacute capaz de repor E nesse ritmo em 2050 estaremos consumindo mais que o dobro da capa-cidade da Terra

E a TI natildeo fica fora do consumo de energia Agrave medida que os servidores se tornam mais poderosos demandam mais energia e nos EUA jaacute representam cerca de 12 de todo o consumo de eletricidade

O Gartner Group cita que em 2010 cerca de metade das empresas listadas na relaccedilatildeo Forbes 2000 estaratildeo gastando mais dinheiro com energia que com seus computadores Seu estudo diz ainda que em meacutedia entre 30 e 60 da energia demandada em um datacenter eacute desperdiccedilada E lembra que a TI estaacute hoje como a induacutestria automotiva estava haacute 20 anos comeccedilando a ser pressionada por maior eficiecircncia energeacutetica

Diante desse quadro os analistas comeccedilam a cha-mar atenccedilatildeo para o gasto com energia (dos servidores e dos equipamentos de refrigeraccedilatildeo) e dizem que em breve os CFOs estaratildeo bem mais preocupados com o assunto Alguns paiacuteses estatildeo comeccedilando a estudar legislaccedilotildees que visem a incentivar e em al-guns casos mesmo a obrigar os datacenters a serem

mais eficientes no consumo de energia Com cer-teza o tema vai se tornar cada vez mais importante nos proacuteximos anos

Na minha opiniatildeo temos as condiccedilotildees de uma ldquoPerfect Stormrdquo que vai disparar accedilotildees ldquoverdesrdquo O termo ldquoPerfect Stormrdquo significa a ocorrecircncia si-multacircnea de eventos que se tornam muito mais poderosos e impactantes quando combinados Esses eventos satildeo a crescente conscientizaccedilatildeo da realidade do aquecimento global os crescentes custos de energia e as crescentes mudanccedilas e demandas regulatoacuterias no mundo todo Isolados esses eventos tecircm certo impacto mas quando combinados deveratildeo gerar uma tendecircncia irre-sistiacutevel em direccedilatildeo a uma TI Verde

Imagino que em poucos anos (talvez jaacute em 2010) o tema Green IT sairaacute do campo da curiosidade para se tornar mainstream item obrigatoacuterio na agenda de qualquer gestor de TI

Entre as tecnologias que vatildeo ganhar muito im-pulso nesse contexto citamos a virtualizaccedilatildeo e consolidaccedilatildeo de servidores e datacenters Tambeacutem a discussatildeo sobre thin clients versus PCs completos comeccedilaraacute a ter outro apelo

E onde entra o Linux nessa histoacuteria Entra com muita forccedila nas tecnologias acima Soacute para termos uma ideacuteia da importacircncia do tema a Li-nux Foundation criou uma iniciativa especiacutefica acessiacutevel em httpwwwlinux-foundationorgenGreen_Linux Com isso imagino que o Linux te-nha grandes chances de se tornar um verdadeiro sistema operacional ldquoverderdquo aumentando seu niacutevel de utilizaccedilatildeo mundial

Sobre o autorCezar Taurion (ctaurionbribmcom) eacute diretor de novas tecnologias aplicadas da IBM Brasil e editor do primeiro blog da Ameacuterica Latina do Portal de Tecnologia da IBM developerWorks www-03ibmcomdeveloperworksblogspagectaurion

copy Linux New Media do Brasil Editora Ltda

30

CORPORATE

httpwwwlinuxmagazinecombr

Reflexotildees sobre o desenvolvimento do Coacutedigo Aberto

Ricardo BimboO recente estudo da Linux Foundation sobre o desenvolvimento do kernel Linux indica a participaccedilatildeo de empresas mas eacute errado imaginar que os tradicionais voluntaacuterios estejam desaparecendopor Ricardo Bimbo

Uma recente pesquisa divulgada pela Linux Foundation[1] sobre o desenvolvimento do kernel chamou a atenccedilatildeo de diversos blogs

e sites de notiacutecia para a participaccedilatildeo de funcionaacuterios de empresas dedicados ao dia-a-dia das atividades de manutenccedilatildeo correccedilatildeo e desenvolvimento do kernel Linux Algo como 10000 patches da atual versatildeo 26 envolveram 1000 colaboradores e 100 companhias contra 3700 colaboradores individuais e mais de 200 empresas em 2005

A presenccedila cada vez maior de empresas com cola-boradores dedicados ao trabalho no kernel evidencia as companhias que tecircm hoje no Linux a principal ou uma das principais fontes de receita Red Hat IBM Intel Novell e a proacutepria Linux Foundation juntas com os usuaacuterios do Linux estatildeo na linha de frente do trabalho de manutenccedilatildeo do kernel

Isso demonstra que o desenvolvedor solitaacuterio independente estaacute no fim Todos estatildeo vendendo sua forccedila de trabalho intelectual Natildeo A conclu-satildeo do estudo da Linux Foundation daacute uma dica a esse respeito ldquoO kernel Linux eacute um dos projetos de Coacutedigo Aberto melhor sucedidosrdquo Existem outros projetos tambeacutem de extrema grandeza ndash como Apa-che BrOfficeorg Firefox Gnome KDE MySQL e PostgreSQL ndash que disputam o tempo de vaacuterios desenvolvedores e tecircm a participaccedilatildeo de empresas Isso sem contar os projetos de distribuiccedilotildees como Fedora e Debian aleacutem dos mais de 170 mil projetos ativos no SourceForge[2] e de um incontaacutevel nuacuteme-ro de projetos em outros repositoacuterios

O SourceForge sozinho possui quase dois mi-lhotildees de usuaacuterios registrados e eacute um erro imaginar-mos que sejam todos programadores Natildeo eacute difiacutecil encontrar chamadas solicitando a participaccedilatildeo de gerentes de projetos especialistas em processos especialistas em economia contabilidade recursos humanos e uma infinidade de outras especializaccedilotildees e conhecimentos

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores E muitas vezes esses ldquovoluntaacuteriosrdquo sentem-se mais eficazes atuando em projetos que tecircm uma aplicabilidade no meio em que convivem ou em projetos que possam dar sua contribuiccedilatildeo dife-renciada seja para destacar-se em seu ambiente ou soacute por prazer mesmo

Isso demonstra claramente mais uma vantagem do Coacutedigo Aberto e do desenvolvimento compar-tilhado Natildeo importam os motivos que levem uma pessoa a participar ou trabalhar em um projeto a curva de participaccedilatildeo de empresas e seus co-laboradores estaacute deliberadamente vinculada agraves curvas de crescimento do projeto e ao nuacutemero de usuaacuterios Isso reordena o processo produtivo e de desenvolvimento de negoacutecios abrindo um leque de novas oportunidades

Mais informaccedilotildees

[1] Estudo da Linux Foundation httpswwwlinux-foundationorgpublicationslinuxkerneldevelopmentphp

[2] Sourceforge httpwwwsourceforgenet

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores

Sobre o autorRicardo Bimbo eacute Government Relations da Red Hat Brasil e defen-de a ideacuteia de que todo o conhecimento deve ser compartilhado

copy Linux New Media do Brasil Editora Ltda

LPIindd 1 261107 163706

copy Linux New Media do Brasil Editora Ltda

32

CORPORATE

httpwwwlinuxmagazinecombr

Como o PVM influi no mundo BPM

Edgar SilvaA modelagem de processos de negoacutecios pode beneficiar-se muito do uso do PVM ndash Process Virtual Machinepor Edgar Silva

Quando falamos em Business Process Modeling um dos diversos significados de BPM frequumlentemente nos depara-

mos com vaacuterias questotildees importantes Destas podemos destacar algumas Qual linguagem de processo utilizar A linguagem escolhida suporta as necessidades

reais de uma forma-padratildeo Como fazer com que de fato uma mudanccedila

no modelo de negoacutecio se reflita no mecanismo de execuccedilatildeo dos serviccedilos da empresa

As respostas para essas questotildees pairam como um desafio para os arquitetos e engenheiros de software nos dias de hoje Como o segredo da induacutestria estaacute na padronizaccedilatildeo nada mais oacutebvio que investir em um trabalho colaborativo que beneficie tanto as empresas quanto as comunidades de Software Livre e claro os clientes finais

Uma novidade no mundo BPM eacute o PVM (Process Virtual Machine ou Maacutequina Virtual de Processos) que vou abordar neste artigo

A induacutestria tem buscado aplicar os conceitos de workflow e em paralelo diagramas de estado e outras formas de diagramaccedilatildeo vecircm sendo apresentados ao mercado diariamente Entretanto ainda se percebe um abismo entre o ldquodesenhordquo e a ldquoexecuccedilatildeordquo dos fluxos Em sua nova roupagem os workflows ago-ra mais conhecidos como BPM tentam aproximar esses dois pilares O objetivo do PVM eacute promover uma forma-padratildeo de criar metadados padronizados de tudo que eacute comum a um fluxo um workflow ou uma maacutequinadiagrama de estado

Imagine uma foto Ela possui vaacuterias informa-ccedilotildees de metadados como fabricante e dia e hora em que foi tirada Haacute sites como o Flickr[1] que conseguem ler e apresentar esses dados in-dependendo do fornecedor desde que utilizem esses padrotildees Essa eacute mais ou menos a ideacuteia da PVM Entre seus objetivos estaacute a abstraccedilatildeo geral de qualquer tipo de fluxo e sua possiacutevel lingua-

gem de definiccedilatildeo A PVM eacute a abstraccedilatildeo por traacutes de qualquer modelo ou linguagem que a defi-niu Dessa forma natildeo importa a linguagem de construccedilatildeo do fluxo porque no final todos po-deratildeo ser lidos e gerar uma uacutenica visatildeo de fluxo dentro da PVM

O mercado tem apontado inuacutemeras linguagens para definiccedilatildeo dos processos como BPEL[2] XPDL[3] jPDL e RulesFlow entre outras Espera-se agora que haja interoperabilidade dos serviccedilos dentro de uma Arquitetura Orientada a Serviccedilos (SOA) E por que natildeo pensar tambeacutem na interoperabilidade entre diversos modelos de processos em diferentes linguagens cooperando e colaborando na execuccedilatildeo de fluxos de processos de negoacutecio

Para concluir o aspecto mais interessante do PVM eacute a total separaccedilatildeo do desenho da execuccedilatildeo e de suas linguagens Isso com certeza eacute um marco muito importante para a concepccedilatildeo de mecanismos de processos o que soacute vai agregar valor agraves vaacuterias so-luccedilotildees que utilizam os recursos e os conceitos de workflow e de BPM

Mais informaccedilotildees

[1] Flickr httpwwwflickrcom

[2] BPEL na Wikipeacutedia httpenwikipediaorgwikiBPEL

[3] XPDL httpwwwwfmcorgstandardsxpdlhtm

Sobre o autor

Edgar Silva (edgarsilvaredhatcom) eacute Arquiteto de Soluccedilotildees JBoss na Red Hat Brasil Com experiecircncia em obje-tos distribuiacutedos (Corba COM+ e Java) desde 1998 nos uacuteltimos anos Edgar vem pesquisando aplicando e ministrando pales-tras e treinamentos no Brasil e no exterior sobre assuntos de alta tecnologia incluindo JavaEE e SOA

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

SOA explicada

Sirva-se com softwareSoftware e serviccedilo agora satildeo com frequumlecircncia a mesma coisa A arquitetura orientada a serviccedilos proporciona o funcionamento adequado de todos os componentespor Pablo Hess

Softwares multi-plataforma jaacute estatildeo no mercado haacute tempos As linguagens de programaccedilatildeo ditas ldquode scriptrdquo por exemplo como Perl Python

Ruby e Tcl para citar apenas as mais populares satildeo capazes de executar instruccedilotildees em qualquer plata-forma que possua uma versatildeo de seu interpretador inclusive com vistosas interfaces graacuteficas

A oferta da Sun Microsystems o Java vai um passo aleacutem oferecendo toda uma maacutequina virtual que trata de toda a interaccedilatildeo com o sistema opera-cional subjacente o que facilita ainda mais a cria-ccedilatildeo de softwares multi-plataforma Atualmente com os sistemas de Coacutedigo Aberto ndash como o Linux ndash aumentando sua presenccedila no mercado mas com outros sistemas Unix e Windowsreg tambeacutem presentes de forma significa-tiva eacute cada vez

CA

PA

34 httpwwwlinuxmagazinecombr

mais importante que os softwares corporativos sejam capazes de rodar em muacuteltiplas plataformas

Tamanha eacute a importacircncia disso ndash e do Java nessa foacutermula ndash que a Sun chegou ateacute mesmo a alterar seu coacutedigo de quatro letras usado na bolsa NASDAQ de SUNW para JAVA sugerindo que a relevacircncia da lin-guagem hoje eacute superior agrave tradiccedilatildeo da empresa no ramo de workstations

No entanto mesmo com uma maacutequina virtual prati-camente onipresente nos desktops e servidores atuais haacute dificuldades para distribuir softwares multi-plataforma que dependam de extensotildees ou bibliotecas externas ao nuacutecleo da linguagem Lidar com a instalaccedilatildeo desses

componentes pode ser muito faacutecil para adminis-tradores de sistemas mas com frequumlecircncia

os usuaacuterios natildeo-teacutecnicos satildeo prejudi-cados nessa tarefa

Iacutendice de mateacuterias de capaBem arquitetado paacuteg36Clientes espalhados servidores distribuiacutedos paacuteg40Quase faz cafeacute paacuteg44

copy Linux New Media do Brasil Editora Ltda

ServiccedilosQue tal entatildeo atribuirmos ao administrador a tarefa de instalar o software e todos os compo-nentes requeridos por ele Com isso o usuaacuterio precisaria apenas apontar seu navegador web para a URL do software que localizado no servidor seria executado sem dificuldades e sem necessi-dade de instalaccedilatildeo pelo usuaacuterio

Felizmente essa abordagem ainda traz vanta-gens adicionais Eacute possiacutevel por exemplo utilizar os poderosos componentes da linguagem criada pela Sun para implementar clusters de alta dis-ponibilidade ou alto desempenho permitindo assim que os usuaacuterios desfrutem do software de forma ininterrupta e com desempenho inega-velmente superior ao que seria possiacutevel em seu hardware local

Essa abordagem para a oferta de softwares jaacute eacute usada haacute algum tempo e um de seus exemplos mais populares eacute o Google Docs[1] um conjunto de aplicativos de escritoacuterio disponiacutevel online e gratuitamente para qualquer usuaacuterio Com ele uma pessoa com acesso agrave Internet pode se desfa-zer da necessidade de baixar ou adquirir softwares equivalentes ndash ou quase equivalentes ndash como o BrOfficeorg[2] ou o Microsoft Office

Mais informaccedilotildees

[1] Google Docs httpdocsgooglecom

[2] BrOfficeorg httpwwwbrofficeorg

NomesO software como serviccedilo ou SaaS na sigla em inglecircs eacute tambeacutem uma nova forma de comerciali-zaccedilatildeo de softwares inclusive de Coacutedigo Aberto E a arquitetura necessaacuteria agrave implantaccedilatildeo e desenvol-vimento de softwares sob esse princiacutepio eacute a Arqui-tetura Orientada a Serviccedilos ou SOA

Como vocecirc veraacute nos artigos desta ediccedilatildeo da Linux Magazine a SOA propotildee a infra-estrutura e tambeacutem as diretrizes para que softwares sejam executados como serviccedilos e comuniquem-se uns com os outros de forma semelhante ao que ocorre num sistema operacional tradicional com comunicaccedilatildeo entre processos e biblio-tecas e outros componentes compartilhados

Nas paacuteginas a seguir apresentamos a visatildeo da construccedilatildeo de aplicativos como serviccedilos uma anaacutelise dos princiacutepios da SOA e a plataforma de desenvol-vimento NovaForge fortemente inclinada agrave oferta de softwares como serviccedilo

Boa leitura e bom serviccedilo

Linux Magazine 42 | Maio de 2008 35

SOA explicada | CAPA

copy Linux New Media do Brasil Editora Ltda

36

CA

PA

httpwwwlinuxmagazinecombr

SOA sobre JBoss

Bem arquitetadoA plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de aplicaccedilotildees JBoss Conheccedila-os em detalhespor Edgar Silva

Eacute faacutecil imaginarmos um liacuteder ou gerente de TI fugindo desesperadamente ao ou-

vir a pergunta ldquoO que eacute SOArdquo Embora a resposta simples e direta seja a explicaccedilatildeo da sigla Service Oriented Architecture eacute importante lembrar de que muito mais que orientados a serviccedilos devemos estar orientados para os serviccedilos Partindo desse sentido devemos associar toda essa visatildeo dos servi-ccedilos como agentes impulsionadores de negoacutecios

Um serviccedilo a grosso modo eacute um componente que pode ser reutilizado independentemente de tecnologias departamentos ou empresas Ao mesmo tempo que pode ser geneacuterico ele pode tam-beacutem ser especiacutefico agraves necessida-des e demandas de uma empresa

Quando falamos de SOA eacute um ligeiro engano acreditar que basta entatildeo transformar tudo em Web Services e ndash pronto ndash sua empresa estaacute 100 aderente a SOA Isso pode ser um passo que inclusi-ve leva a questotildees que preparam para os seguintes Ter as peccedilas separadas e isoladas natildeo faz um motor de carro funcionar todas as engrenagens ordens de acon-tecimentos (orquestraccedilatildeo) regras sequumlecircncia de accedilotildees (processos) devem ser previstas para que o conjunto possa funcionar

Quando falamos de SOA eacute importante lembrar que vaacuterios sis-temas ERP no Brasil satildeo legados portanto natildeo possuem aderecircncia a Web Services assim como fal-tam formas de integraccedilatildeo das mais diversas desde a transferecircncia de

arquivos FTP email e ateacute o acesso a banco de dados

A divisatildeo JBoss da Red Hat tem o JBoss SOA Platform como plata-forma voltada para SOA que reuacute-ne em um uacutenico pacote algumas soluccedilotildees descritas abaixo BPM JBoss jBPM Engine de regras JBoss Rules ESB JBoss ESB Persistecircncia de dados JBoss

Hibernate Framework de desenvolvi-

mento de aplicaccedilotildees JBoss Seam

Servidor de aplicaccedilotildees JBoss Application Server

Vale ressaltar que embora o JBoss Application Server sustente todas essas soluccedilotildees de produtos eacute possiacutevel usar qualquer servidor de aplicaccedilatildeo de outros fornecedores

copy Linux New Media do Brasil Editora Ltda

37

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

como IBM WebSphere Oracle AS ou BEA WebLogic Isso soacute eacute possiacute-vel graccedilas aos padrotildees abertos que permitem ao cliente escolher os produtos que melhor supram suas necessidades

A seguir descreveremos cada um dos componentes da platafor-ma SOA oferecidos pela Red Hat sobre seu servidor de aplicaccedilotildees de Coacutedigo Aberto

Servidor de aplicaccedilotildeesO JBoss Application Server eacute a infra-estrutura para a plataforma SOA da Red Hat Com cerca de oito anos de presenccedila no merca-do ele constitui o alicerce que permite executar os outros produ-tos visando a alta performance escalabilidade e seguranccedila para o serviccedilo dos clientes

Robustez no entanto natildeo eacute si-nocircnimo de dificuldade de instala-ccedilatildeo execuccedilatildeo e utilizaccedilatildeo Caso o servidor jaacute possua uma maacutequina virtual Java instalada e confi-gurada basta descompactar os pacotes dos componentes disponiacuteveis no site de proje-tos do JBoss[1] Em seguida vaacute ateacute o subdiretoacuterio bin dentro do diretoacuterio de ins-talaccedilatildeo do JBoss e execute o comando run (em sistemas Windowsreg) ou runsh (em Linux Solaris ou outras va-riantes de Unix) Feito isso o JBoss estaraacute pronto para a instalaccedilatildeo dos seus aplica-tivos Java EE Eacute claro que poderaacute haver necessidade de instalaccedilatildeo de recursos de bancos de dados (Datasour-ces) ou filas JMS Nesse caso e se houver maior interesse informaccedilotildees a respeito destes recursos estatildeo disponiacuteveis na documentaccedilatildeo gratuita do produto

JBoss HibernateA tarefa de construir aplicaccedilotildees Java que se comuniquem com bancos de dados pode ser extremamente facilitada com o uso de uma fer-ramenta ldquomodelo-relacionalrdquo ou ORM como o Hibernate Dentre suas inuacutemeras vantagens podemos citar o fato de que todo o desen-volvimento passa a ser de fato orientado a objetos Isso significa que comandos SQL como insert into update e outros pertencem ao passado dando lugar a procedi-mentos ocorridos inteiramente no ambiente da aplicaccedilatildeo cria-se uma estrutura baseada em um objeto do tipo ldquoclienterdquo e solicita-se que um recurso de sessatildeo (SessionFactory) o salve Nesse momento o Hiber-nate entre suas vaacuterias funccedilotildees conhece a relaccedilatildeo entre o mode-lo de objetos e as informaccedilotildees da estrutura de tabelas do banco de dados Sendo assim caberaacute a ele natildeo mais ao desenvolvedor a ta-refa aacuterdua de lidar com a falta de produtividade da linguagem SQL

a todo momento durante a cons-truccedilatildeo de sistemas

Essa caracteriacutestica do Hibernate tambeacutem eacute fundamental para que as aplicaccedilotildees sejam independentes do servidor de banco de dados Desse modo pode-se trocar de sistema ge-renciador de banco sem aquela antiga preocupaccedilatildeo com o funcionamento de instruccedilotildees SQL em diferentes bancos de dados Portabilidade de fornecedores de bancos de dados e produtividade no desenvolvimento de aplicaccedilotildees satildeo importantes para termos respostas raacutepidas agraves deman-das ocasionadas por uma arquitetura orientada para o serviccedilo

JBoss SEAMQuando algueacutem criticava o Java no passado um dos motivos era o grande nuacutemero de camadas de componentes para realizar uma operaccedilatildeo Em alguns casos o exa-gero de implementaccedilatildeo dos pa-drotildees de projeto (design patterns) ocasionava uma arquitetura com-

Figura 1 Ambiente de projeto de processos do JBoss jBPM

copy Linux New Media do Brasil Editora Ltda

38 httpwwwlinuxmagazinecombr

CAPA | SOA com JBoss

plexa e aplicaccedilotildees sujeitas a erros claacutessicos Pessoalmente ao longo de anos prestando consultoria em frameworks sofisticados perdi a conta de quantas vezes nossa equi-pe encontrou problemas ao fechar conexotildees de bancos de dados ou invocar sem necessidade a consulta de contexto de objetos etc

O Java evoluiu muitiacutessimo nos uacuteltimos anos permitindo a criaccedilatildeo de recursos muito mais estaacuteveis e modernos O resultado foi o surgi-mento de frameworks como o JBoss Seam que reuacutenem em uma uacutenica soluccedilatildeo todo o necessaacuterio para criar aplicaccedilotildees corporativas nos mode-los Web 20 e aderentes a SOA O Seam utiliza como infra-estrutura tecnologias estabelecidas como o Enterprise Java Beans 30 e Java Server Faces aleacutem de toda a riqueza proporcionada pelo Ajax

JBoss jBPMO JBoss jBPM eacute um projeto que resulta em um produto muito mais que em uma soluccedilatildeo de

BPMS (Business Process Manage-ment System) Ele satisfaz tanto aos analistas de negoacutecios quanto aos engenheiros de software pois muito mais que oferecer uma fer-ramenta de desenho para modelar negoacutecios e serviccedilos possui um framework completo para geren-ciamento monitoraccedilatildeo e controle de todas as fases dos fluxos dentro do processo

Como novidade as proacuteximas versotildees do jBPM devem trazer a implementaccedilatildeo do conceito PVM (Process Virtual Machine ndash Maacutequina Virtual de Processos) que em resumo eacute um framework de maacutequina de estado Poreacutem o propoacutesito da PVM vai muito aleacutem disso permite por exemplo abs-trair a linguagem de composiccedilatildeo do desenho de processos Com isso espera-se poder ter inuacutemeras linguagens para definiccedilatildeo como BPEL jPDL XPDL e Seam Page Flow A PVM seraacute capaz de rende-rizar de forma visual os processos definidos independente da lin-guagem empregada

Entre as caracteriacutesticas principais do JBPM estaacute sua possibilidade de execuccedilatildeo sobre qualquer servidor de aplicaccedilotildees Java ou alternati-vamente como serviccedilo Java standalone ndash sem um servidor de aplicaccedilotildees Tambeacutem pode manter os dados a respeito de versotildees e execuccedilotildees dos processos em qualquer banco de dados A figura 1 mostra uma visatildeo do ambiente de projeto e gerenciamento do JBoss jBPM

JBoss RulesO JBoss Rules ou Drools (seu nome na versatildeo co-munitaacuteria) eacute um produto notaacutevel cujas principais caracteriacutesticas satildeo

baixo custo de suporte e au-secircncia de custo de licenccedilas como seus concorrentes

marcante evoluccedilatildeo de versatildeo para versatildeo com estabilidade confiaacutevel

membros brasileiros na equipe de desenvolvimento

Sobre a motivaccedilatildeo para utilizar esse software eacute importante notar que as regras de negoacutecios satildeo os ativos mais alterados dentro de uma arquitetura SOA Respostas raacutepidas e cenaacuterios especiais podem ser alcanccedilados com facilidade separando a maioria das regras de coacutedigos de infra-estrutura e a aplicaccedilatildeo propriamente dita

Realizar alteraccedilotildees em uma aplicaccedilatildeo Java muitas vezes pode ocasionar a perda de tempo para testar novamente todas as partes afetadas pela mudanccedila da rede Poreacutem esse natildeo eacute o grande pro-blema muitos ambientes criacuteticos de produccedilatildeo podem ter a neces-sidade de reinicializaccedilatildeo Usando JBoss Rules a alteraccedilatildeo de uma regra exigiria apenas a alteraccedilatildeo

Figura 2 O editor de regras do JBoss Rules oferece suporte a DSLs em portuguecircs

copy Linux New Media do Brasil Editora Ltda

39

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

do arquivo dessa regra sem a ne-cessidade de tocar no nuacutecleo da aplicaccedilatildeo economizando assim tempo e parte dos testes

As regras de negoacutecio tambeacutem podem possuir seus idiomas proacute-prios ndash um conceito chamado de Domain Specific Language ou DLS que nos permite o uso de jargotildees idiomas expressotildees e dialetos de negoacutecio para compor nossas regras Assim fica mais faacutecil os analistas de negoacutecios comporem as regras no idioma portuguecircs brasileiro

O JBoss Rules pode ser embar-cado em soluccedilotildees de mercado as-sim como executado em qualquer servidor de aplicaccedilotildees Java

Os desenvolvedores tambeacutem dispotildeem de plugins nativos para o Eclipse[2] que permitem o de-senho e o desenvolvimento da escrita de regras O JBoss Rules tambeacutem suporta o desenho de re-gras por meio de diagramas como fluxos de regras Esse recurso tem o nome de RulesFlow e pode ser um guia visual para a execuccedilatildeo de suas regras de negoacutecio ou ajudar a visualizar como possiacutevel orquestrar serviccedilos atraveacutes de regras de ne-goacutecios As figuras 2 e 3 mostram respectivamente o editor de regras em modo de coacutedigo e o ambiente de desenho do RulesFlow

JBoss ESBEm agosto de 2007 a nova versatildeo do JBoss ESB trouxe vaacuterias inova-ccedilotildees e melhorias que fizeram com que seu posicionamento antes ligeiramente atrasado em relaccedilatildeo aos concorrentes de Coacutedigo Aber-to (Apache Service Mix e Mule principalmente) superasse essas alternativas Agora o JBoss ESB compete de igual para igual com soluccedilotildees de fornecedores como BEA Oracle e IBM

O conceito de ESB (Enterprise Service Bus) em termos gerais significa ser o barramento para os serviccedilos que a empresa possui Eacute nele que credenciais de seguran-ccedila single-sign on orquestraccedilatildeo e outras atividades acontecem A questatildeo nesse caso eacute que mui-tos ESBs de mercado pregam que um serviccedilo somente pode ser mascarado ou exposto por meio de um Web Service essa obriga-toriedade no entanto natildeo existe no JBoss ESB jaacute que como prin-cipal diferencial ele ldquoconversardquo com vaacuterios protocolos de registros de serviccedilos

Imagine poder considerar a ge-raccedilatildeo de um arquivo csv vindo do ERP ndash um evento suficiente para disparar vaacuterias atividades dentro da empresa como transformar a

representaccedilatildeo se-parada por virgulas em XML A partir desse XML eacute pos-siacutevel criar objetos Java publicando a partir destes infor-maccedilotildees 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-sas satildeo possiacuteveis com o JBoss ESB

ConclusotildeesEste artigo natildeo tem como objetivo fazer propaganda das soluccedilotildees da Red Hat mas mostrar como essas ferramentas compotildeem uma ofer-ta interessante e altamente capaz de fornecer uma infra-estrutura adequada agrave pratica da SOA em qualquer empresa

O uso dos produtos descritos neste artigo natildeo requer o preenchi-mento de formulaacuterios ou a compra de licenccedilas pois tratam-se todos de Softwares Livres Caso seja ne-cessaacuterio conformar o serviccedilo a um SLA obter garantia ou suporte eacute possiacutevel tambeacutem contratar esses serviccedilos de forma especializada

No Brasil esse modelo parece ser o mais racional jaacute que somente apoacutes investimentos em estudos de viabilidade e adequaccedilatildeo as em-presas escolhem se e como iratildeo contratar suporte

Mais informaccedilotildees

[1] JBoss httpwwwjbossorgprojects

[2] Eclipse httpwwweclipseorg

Figura 3 Interface do editor do Rules Flow que permite o desenho de regras de forma visual

copy Linux New Media do Brasil Editora Ltda

Irum Shahid ndash wwwsxchu

40

CA

PA

httpwwwlinuxmagazinecombr

O desenvolvimento de aplicaccedilotildees e a SOA

Clientes espalhados servidores distribuiacutedos

Como novo paradigma a SOA requer algumas mudanccedilas profundas na forma de projetar implementar e organizar aplicaccedilotildees corporativaspor Antocircnio Godinho

Quando uma nova tecnologia eacute introduzida no mercado uma das principais preocu-

paccedilotildees de qualquer gerente de desenvolvimento eacute perguntar-se ldquoDevo adotar a nova arquiteturardquo ldquoQuais benefiacutecios essa nova soluccedilatildeo traz ao meu ambienterdquo ldquoComo co-meccedilo o processo de adoccedilatildeo da SOA (Service Oriented Architecture)rdquo ldquoO que fazer com as aplicaccedilotildees que jaacute exis-temrdquo e ldquoComo desenvolver aplicaccedilotildees voltadas ao novo ambienterdquo

Avaliar se determinada arqui-tetura ou soluccedilatildeo traz benefiacutecios para nosso ambiente eacute funda-mental Para analisar a primeira questatildeo acima vamos definir al-gumas caracteriacutesticas da arquite-tura orientada a serviccedilos

PrinciacutepiosA base da SOA eacute a definiccedilatildeo do ser-viccedilo que seraacute fornecido Esse servi-ccedilo eacute exposto para seu usuaacuterio com funccedilotildees e interfaces bem definidas eacute independente do consumidor do serviccedilo pode estar codificado em qualquer linguagem e ser executado em qualquer combinaccedilatildeo de plata-forma ou sistema operacional e a in-formaccedilatildeo sobre esse serviccedilo pode ser obtida a partir de algum diretoacuterio na rede Como consequumlecircncia eacute possiacutevel substituir um serviccedilo por uma nova versatildeo executada em outra platafor-ma sistema operacional ou lingua-gem sem afetar o consumidor desse serviccedilo como mostra a figura 1

O consumidor do serviccedilo pode ser o usuaacuterio final ou um outro ser-

viccedilo e dentro do contexto da SOA uma aplicaccedilatildeo eacute um conjunto de provedores de serviccedilos colaborativos residentes ou natildeo em uma mesma plataforma ou organizaccedilatildeo Supondo que a empresa possua vaacuterios sistemas ndash entre pacotes sistemas ERP (En-terprise Resource Planning) e desen-volvimento interno e o usuaacuterio final ndash ao fazer uma consulta precisa de dados fornecidos por diversos desses sistemas Entatildeo temos uma situa-ccedilatildeo na qual a arquitetura facilita o ambiente de desenvolvimento per-mitindo a criaccedilatildeo de uma aplicaccedilatildeo composta que utilizaraacute as aplicaccedilotildees jaacute existentes Cada aplicaccedilatildeo existen-te eacute um potencial provedor de um serviccedilo usado pela nova aplicaccedilatildeo composta como na figura 2

Se considerarmos que atualmen-te cada empresa depende de outras dentro do contexto de mundo globa-lizado e que haacute uma sinergia entre aplicaccedilotildees executadas em diferentes empresas podemos ter um quadro em que uma companhia fornece um serviccedilo para outra e nesse caso o usuaacuterio final pode usar diversos serviccedilos fornecidos por mais de uma empresa Aleacutem disso a abordagem SOA permite o desenvolvimento de novos serviccedilos de forma mais raacutepida uma vez que aproveita serviccedilos jaacute exis-tentes e com maturidade e eficiecircncia

Figura 1 Camadas adotadas em SOA

copy Linux New Media do Brasil Editora Ltda

41

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

comprovadas reduzindo o periacuteodo de testes da nova aplicaccedilatildeo

Iniacutecio da adoccedilatildeoConsiderando que resolvemos ado-tar a SOA precisamos responder a segunda pergunta do gerente de desenvolvimento que diz respeito a como comeccedilar o processo de adoccedilatildeo dessa arquitetura

Como em qualquer novo conhe-cimento o primeiro passo eacute difundir a estrateacutegia O melhor modo de fazer isso eacute por meio de oficinas junto agrave equipe nas quais as tendecircncias de mercado satildeo colocadas e eacute realiza-da uma exposiccedilatildeo das tecnologias existentes Eacute importante tambeacutem alinhar a adoccedilatildeo da SOA com as expectativas ou problemas do negoacute-cio de maneira a criar a motivaccedilatildeo necessaacuteria em toda a equipe

Eacute necessaacuterio ainda fazer um mape-amento desses problemas de negoacutecio assim como das melhores praacuteticas do mercado e das vantagens em adquirir pacotes em comparaccedilatildeo com o de-senvolvimento interno e identificar quais os padrotildees mais adequados ao ambiente Conveacutem ressaltar que nes-sa fase eacute bom ter algueacutem externo para fazer a moderaccedilatildeo dessa oficina com o intuito de contar com uma pessoa isenta que possa enxergar o todo e natildeo esteja envolvida com questotildees internas ou departamentais

Aplicaccedilotildees anterioresNo mundo do desenvolvimento jaacute passamos por vaacuterios ciclos de linguagens e arquiteturas Logo eacute natural que a empresa possua sistemas estruturas e linguagens diferentes Essas aplicaccedilotildees con-tecircm dentro de si loacutegicas de negoacutecio desenvolvidas ao longo do tempo e satildeo um ativo muito importante da empresa Eacute natural portanto que a terceira duacutevida venha agrave tona se vamos investir em uma arquitetura SOA o que devemos fazer com as aplicaccedilotildees existentes

Uma das boas no-tiacutecias da SOA eacute que a sua adoccedilatildeo natildeo impli-ca descartar o que foi feito previamente Os primeiros passos para a adoccedilatildeo da arquitetu-ra orientada a serviccedilos satildeo avaliar as aplicaccedilotildees existentes analisar os ser-viccedilos e as funccedilotildees sele-cionar quais devem ser publicadas e de acordo com suas caracteriacutesticas selecionar os conectores adequados

Como vimos o ser-viccedilo precisa estar bem definido e com interfaces claras Se a aplicaccedilatildeo em questatildeo natildeo possui essas caracteriacutesticas eacute preciso usar um conector que as forneccedila como um Resource Adaptor que encapsu-laria uma aplicaccedilatildeo natildeo-conforme na SOA

InterconexatildeoNesse momento comeccedilamos a ver mais um item importante da arquitetura a infra-estrutura de interconexatildeo Ela eacute composta por dois moacutedulos loacutegicos como podemos observar na figura 3 que exibe em mais detalhes o barra-mento de serviccedilos O barramento de serviccedilos conecta todos os fornecedo-res de serviccedilos enquanto o canal de acesso une os usuaacuteriosconsumidores internos e externos aos serviccedilos

Barramento de serviccedilosO barramento de serviccedilos integra vaacuterias entidades de software O moacutedulo prin-cipal eacute o subcomponente de ldquoInterco-nectividade de serviccedilosrdquo que fornece os protocolos e outras funccedilotildees neces-saacuterias para conectar o gerenciamento de canal de acesso aos provedores de serviccedilo bem como os provedores uns aos outros Se eles suportam os proto-colos utilizados na interconectividade

de serviccedilos eles podem se comunicar diretamente entre si como mostrado nas conexotildees A da figura 3 Os proto-colos podem incluir por exemplo mensageria e SOAP (Simple Object Access Protocol)

Nesse caso estamos abordando a questatildeo do reaproveitamento das apli-caccedilotildees existentes ndash muitas vezes elas natildeo suportam os protocolos escolhidos sendo chamadas de ldquonatildeo-conformesrdquo A adaptaccedilatildeo (encapsulamento) eacute exe-cutada por um conector como mos-trado na figura 3 pela conexatildeo B O conector converte o protocolo no que for necessaacuterio para acessar a aplicaccedilatildeo ndash e vice-versa na saiacuteda

Uma variedade de serviccedilos baacutesicos eacute necessaacuteria para que o barramento de serviccedilos seja facilmente usado Eles abrangem dois grandes grupos ldquoUtilitaacuteriosrdquo responsaacutevel pelo dire-toacuterio de serviccedilos tradutores de coacutedi-go formatadores de mensagem e ldquoGerenciamentordquo responsaacutevel pela monitoraccedilatildeo ndash incluindo relatoacuterio de erros ndash configuraccedilatildeo e seguranccedila Os subcomponentes do serviccedilo de inter-conectividade e os conectores fariam a interface com a loacutegica comum as-sim como os provedores de serviccedilo e o componente de gerenciamento canal de acesso como mostrado nas conexotildees C da figura 3

Figura 2 O consumidor acessa a aplicaccedilatildeo-serviccedilo fornecida pelos provedores distribuiacutedos

copy Linux New Media do Brasil Editora Ltda

42 httpwwwlinuxmagazinecombr

CAPA | Desenvolvimento e SOA

Camada fiacutesicaNote que ateacute o momento falamos apenas da camada loacutegica Natural-mente haacute uma camada fiacutesica que pode ser implementada de forma distribuiacuteda ou centralizada usando uma abordagem de concentrador Na abordagem distribuiacuteda os subcom-ponentes do barramento de serviccedilos estatildeo espalhados pelos componentes e a rede fornece as interconexotildees fiacute-sicas necessaacuterias Essa abordagem eacute na verdade uma seacuterie de conexotildees ponto-a-ponto que pode rapida-mente aumentar a complexidade caso existam mais que apenas um ou dois protocolos ou um nuacutemero pequeno de serviccedilos Para montar um ambiente mais administraacutevel a abordagem com a utilizaccedilatildeo de um concentrador eacute melhor

Com a abordagem do concentrador o barramento de serviccedilos eacute implemen-tado em um servidor independente ou em um conjunto de servidores Os pro-vedores de serviccedilos podem implementar quaisquer dos protocolos suportados pelo subcomponente de interconec-tividade de serviccedilos Requisiccedilotildees de entrada satildeo roteadas para o serviccedilo de destino apropriado O concentrador age entatildeo como um comutador Pro-tocolos diferentes podem ser usados entre as conexotildees de origem e destino o subcomponente ldquoInterconectividade de Serviccedilosrdquo no concentrador executa a conversatildeo entre ambos

Com essa estrutura resolvemos a questatildeo das aplicaccedilotildees existentes do ponto de vista de infra-estrutura interna E o contato com o usuaacuterio Para trabalharmos esta parte vamos

ver com mais detalhes a outra camada da infra-estrutura de interconexatildeo mostrada na figura 4

UsuaacuterioO gerenciamento de canal de acesso se conecta ao barramento de serviccedilos do mesmo modo que os provedores de serviccedilo Ele executa duas funccedilotildees ou conjuntos de funccedilotildees ldquoGerencia-mento de interface de usuaacuteriordquo que trata da interface para os usuaacuterios ou consumidores de serviccedilo como na-vegadores web estaccedilotildees de trabalho com clientes inteligentes e serviccedilos web e ldquoMapeamento e definiccedilatildeo do serviccedilordquo que identifica os serviccedilos disponiacuteveis e conecta as requisiccedilotildees de entrada aos provedores de serviccedilo usando as interfaces expostas

O mapeamento e a definiccedilatildeo do serviccedilo podem ser bem simples ndash ape-nas um ponteiro para o provedor do serviccedilo Um processo completo de negoacutecio no entando pode necessitar do uso de vaacuterios provedores de servi-ccedilo e as sequumlecircncias nas quais eles satildeo invocados podem variar dependen-do do resultado das requisiccedilotildees a um provedor de serviccedilo especiacutefico

Orquestraccedilatildeo e barramentoA orquestraccedilatildeo pode ser feita obviamen-te escrevendo-se o provedor de serviccedilo externo que implementa as regras de negoacutecio para o processo em questatildeo e invoca os provedores internos quando necessaacuterio Contudo jaacute existem vaacuterios produtos para apoiar a criaccedilatildeo 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 orquestraccedilatildeo disponiacuteveis dentro desses produtos per-mitem criar o processo completo pro-vendo interfaces graacuteficas para identificar os provedores internos necessaacuterios e as regras de negoacutecios a serem seguidas durante o processo

Figura 3 A infra-estrutura de serviccedilos em SOA transita pelo barramento de serviccedilos ou ESB

Figura 4 As conexotildees entre provedores internos e externos compotildeem a outra camada da estrutura de interconexatildeo

copy Linux New Media do Brasil Editora Ltda

43

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

Desenvolvimento de aplicaccedilotildeesFinalmente vamos responder a uacutel-tima pergunta do gerente de desen-volvimento ldquocomo desenvolver apli-caccedilotildees voltadas ao novo ambienterdquo Caso se trate de uma nova aplicaccedilatildeo o ideal eacute utilizar uma ferramenta que possua um ambiente completo e raacutepido para desenvolvimento e im-plementaccedilatildeo de aplicativos permita essa implementaccedilatildeo com agilidade de novos processos e encapsule o co-nhecimento dos negoacutecios sob a forma de componentes reutilizaacuteveis

Um dos pontos fundamentais da SOA eacute que o serviccedilo pode ser execu-tado em qualquer plataforma sistema operacional ou linguagem Desse modo ao desenvolver um serviccedilo o desenvol-vedor natildeo deveria se preocupar com caracteriacutesticas de uma linguagem ou plataforma especiacutefica Esses serviccedilos devem ser desenvolvidos rapidamen-te e com facilidade em conjunto com analistas de negoacutecios e usuaacuterios finais utilizando a terminologia e o vocabulaacuterio compreendidos por eles O importan-te eacute se preocupar com o negoacutecio que seraacute atendido e que exista um niacutevel de abstraccedilatildeo entre a loacutegica de negoacutecio e a plataforma ou linguagem na qual o serviccedilo seraacute executado

Note que haacute um ambiente (ldquoMode-lador do sistemardquo) no qual o negoacutecio eacute modelado O construtor traduz o negoacutecio para o ambiente final com todas as ca-racteriacutesticas corporativas para assegurar a integridade da aplicaccedilatildeo modelada

O modelador do sistema deve oferecer a flexibilidade de adicionar interfaces de usuaacuterio final ao modelo que podem ser implementadas em uma ampla gama de ambientes

Governanccedila e seguranccedilaUma vez que tenham sido realizados os levantamentos e as oficinas a equi-pe estaacute motivada e os objetivos estatildeo

claros eacute impor-tante garantir que a meacutetrica baacutesica da arquitetura orientada a ser-viccedilos seja medida e explorada Um dos principais atri-butos da SOA eacute a capacidade de reutilizar serviccedilos existentes em no-vas aplicaccedilotildees ndash e eacute necessaacuterio man-ter esse cataacutelogo bem definido

Para auxiliar nesse controle existem diversas ferramentas disponiacute-veis que utilizam definiccedilotildees como UDDI (Universal Descrip-

tion Discovery and Integra-tion) ndash registro independente de plataforma baseado em XML cujo objetivo eacute listar serviccedilos acessiacuteveis pela Web Trata-se de uma iniciativa aberta que permite agraves empre-sas publicarem listas de servi-ccedilos acessaacute-los e descrevecirc-los possibilitando que aplicaccedilotildees possam interagir A UDDI foi originalmente proposta e pro-jetada para ser interligada por mensagens SOAP provendo acesso a documentos WSDL com as descriccedilotildees de protoco-los e formatos requeridos para interaccedilatildeo com os serviccedilos web listados no diretoacuterio

ebXML (Electronic Business using eXtensible Markup Lan-guage) ndash nada mais que uma grande biblioteca contendo informaccedilotildees sobre os serviccedilos disponiacuteveis e como acessaacute-los Sua infra-estrutura eacute aberta e baseada em XML habilitando o uso global das informaccedilotildees de forma interoperaacutevel segura e consistente Incorpora cinco camadas de definiccedilotildees de da-

dos (i) processos de negoacutecios (ii) protocolos de colaboraccedilatildeo (iii) componentes de dados prin-cipais (iv) mensageria e (v) re-gistro e repositoacuterios

Consideraccedilotildees finaisA adoccedilatildeo da SOA tem aumenta-do rapidamente Aleacutem de reunir muitas vantagens em um ambien-te distribuiacutedo de aplicaccedilotildees que eacute a nossa realidade hoje haacute diversas ferramentas disponiacuteveis no mercado que facilitam o seu uso Com pro-fundas diferenciaccedilotildees em relaccedilatildeo ao desenvolvimento tradicional de sistemas eacute necessaacuterio planejar bas-tante sua introduccedilatildeo junto agraves equi-pes de desenvolvimento e contar com apoio externo agrave empresa para que a mensagem seja absorvida com mais facilidade Com tudo isso e considerando as respostas ao gerente de desenvolvimento a arquitetura orientada a serviccedilos eacute um excelente caminho para a integraccedilatildeo de tran-saccedilotildees distribuiacutedas

Sobre o autorAntonio Godinho eacute arquiteto de sistemas na Unisys Brasil

Figura 5 O ESB realiza a comunicaccedilatildeo entre os canais de acesso de muacuteltiplos grupos de provedores que podem representar diferentes departamentos empresas etc

copy Linux New Media do Brasil Editora Ltda

Andrzej Gdula ndash sxchu

44 httpwwwlinuxmagazinecombr

A faacutebrica de software corporativo NovaForge

Quase faz cafeacuteCom o NovaForge eacute muito praacutetico hospedar gerenciar e testar softwares em escala corporativapor Pablo Hess

Sistemas de desenvolvimento distribuiacutedo de software satildeo altamente produtivos Em-

pregados amplamente por projetos de Software Livre sistemas como git[1] CVS[2][3] SVN[3][4] Mer-curial[5] e Bitkeeper[6] apenas para citar os mais famosos possibilitam o desenvolvimento colaborativo da grande maioria dos softwares de Coacute-digo Aberto desde o kernel Linux ateacute sofisticados ambientes desktop como Gnome e KDE

Uma interessante alternativa agrave manutenccedilatildeo de um servidor de de-senvolvimento ldquodentro de casardquo eacute o uso de repositoacuterios de projetos de software cujo exemplo mais famoso eacute o SourceForge[7] que abriga ou jaacute abrigou inuacutemeros projetos de Coacutedigo Aberto desde os mais simples e de uso restrito a uma aacuterea de atuaccedilatildeo ateacute os atuais campeotildees de atividade[8] o ERP Openbravo[9] o software de comparti-lhamento Azureus[10] e o programa de graacuteficos vetoriais Inkscape[11]

No entanto empresas que de-sejem gerenciar seus projetos de software corporativo de forma centralizada com testes e anaacutelises de desempenho durante a noite aleacutem da geraccedilatildeo automatizada de relatoacuterios tecircm como uacutenica alter-nativa o emprego de um servidor proacuteprio para essas tarefas Ou me-lhor tinham

No intuito de oferecer uma al-ternativa de caraacuteter corporativo que forneccedila aos projetos toda a infra-estrutura para a criaccedilatildeo e ge-renciamento a francesa Bull[12] lanccedilou o NovaForge[13]

CorporativoEm seu whitepaper a Bull afirma ter ldquoempregado no NovaForge seus conhecimentos metodoloacutegi-cos e sua experiecircncia na condu-ccedilatildeo e realizaccedilatildeo de projetos de desenvolvimento e integraccedilatildeo de sistemas numa plataforma indus-trial de produccedilatildeordquo Para os desen-

volvedores que desejem hospedar seus projetos nesse sistema isso significa uma maior base de ferra-mentas natildeo apenas para gerenciar o coacutedigo-fonte do projeto mas o projeto em si assim como toda a documentaccedilatildeo relevante

O NovaForge de fato facilita o gerenciamento de projetos de software de escala industrial de formas que o SourceForge ou mes-mo o CodePlex[14] da Microsoft jamais pretenderam fazer E a melhor parte o sistema eacute inteira-mente voltado ao Coacutedigo Aberto e padrotildees abertos

De acordo com a Bull os prin-ciacutepios do NovaForge satildeo capitalizaccedilatildeo empregar fer-

ramentas de desenvolvimen-to qualificadas e metodolo-gias aprovadas assim como a reutilizaccedilatildeo dos trabalhos jaacute realizados

compartilhamento compar-tilhar a mesma visatildeo que os

CA

PA

copy Linux New Media do Brasil Editora Ltda

45

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

projetos independen-temente da localizaccedilatildeo de seus participantes e compartilhando tam-beacutem o repositoacuterio de documentaccedilatildeo

flexibilidade o Nova-Forge foi concebido de forma modular para incluir ferramentas par-ticulares e assim res-ponder aos diferentes niacuteveis de atividade dos projetos tanto hospedados sobre uma infra-estrutura de rede de alto desem-penho quanto instalado no cliente

Eacute interessante notar que o terceiro item dessa lista jaacute dei-xa clara a inclinaccedilatildeo da plata-forma aos novos princiacutepios de software como serviccedilo

Processo de desenvolvimentoSob o NovaForge as diferentes etapas de desenvolvimento de software (figura 1) satildeo realizadas na seguinte ordem gestatildeo das exigecircncias da apli-

caccedilatildeo a ser desenvolvida exportaccedilatildeo das exigecircncias para a fer-

ramenta de modelagem UML geraccedilatildeo do coacutedigo com auxiacute-

lio do ambiente integrado de desenvolvimento

gerenciamento do coacutedigo-fonte e de suas versotildees

integraccedilatildeo e construccedilatildeo da apli-caccedilatildeo com uso dos repositoacuterios de integraccedilatildeo e das ferramentas de integraccedilatildeo contiacutenua

testes funcionais frente agraves exigecircn-cias e gerenciamento automaacuteti-co de falhas em caso de erros e falha de conformidade

As vantagens do uso da infra- estrutura do sistema para criaccedilatildeo de aplicaccedilotildees corporativas portanto podem ser listadas

ambiente de desenvolvimento pa-dronizado e com ferramentas po-derosas que permite mascarar para o desenvolvedor a complexidade da linguagem Java subjacente

o ganho de produtividade oferecido pela escolha das ferramentas mais adequadas pemite a geraccedilatildeo de partes do coacutedigo por meio de tarefas recorrentes de produccedilatildeo

a escolha de ferramentas de Coacute-digo Aberto robustas poderosas e aderentes aos padrotildees de de-senvolvimento e comunicaccedilatildeo utilizadas em diversos projetos e compatiacuteveis com a maioria dos sistemas operacionais

Seccedilotildees do desenvolvimentoO desenvolvimento no NovaForge eacute dividido em dois ambientes um destinado agrave concepccedilatildeo do projeto

e outro ndash Bull SOA IDE ndash feito sobre uma base de blocos de Coacute-digo Aberto como o Eclipse por exemplo enriquecidos pela proacute-pria Bull

O primeiro ambiente permite a geraccedilatildeo de relatoacuterios detalhados de concepccedilatildeo a partir dos diagra-mas UML e das regras de gestatildeo associadas aos casos de uso aleacutem das etapas de testes e validaccedilatildeo dos moacutedulos O segundo por sua vez oferece uma interface com a pri-meira e integra as ferramentas de geraccedilatildeo de coacutedigo ndash Velocity por exemplo ndash assim como uma seacuterie de plugins descritos a seguir

Ambiente de concepccedilatildeoO ambiente de concepccedilatildeo (a ferra-menta de modelagem Sprarx Sys-tem Enterprise Architect) natildeo exige a presenccedila de qualquer moacutedulo ou

Figura 1 Diagrama das etapas de desenvolvimento de software no NovaForge

copy Linux New Media do Brasil Editora Ltda

46 httpwwwlinuxmagazinecombr

CAPA | NovaForge

funcionalidade por parte do cliente Ele suporta UML 20 salva o modelo num banco de dados ou num arquivo e por fim exporta-o em XMI No entanto tambeacutem eacute possiacutevel trabalhar com diversos outras ferramentas como Rose XDE RAD Together MEGA Objecteering e PowerAMC por exemplo O objetivo afinal eacute simplesmente fornecer a entrada para a geraccedilatildeo de coacutedigo para im-plementar a arquitetura orientada ao modelo ou MDA

Dessa forma a cadeia de concep-ccedilatildeo do sistema formaliza a passagem do modelo de anaacutelise UML a um de concepccedilatildeo e implementaccedilatildeo Aleacutem das orientaccedilotildees de concepccedilatildeo e das normas de implementaccedilatildeo apoacutes a definiccedilatildeo da arquitetura de processador de destino para a aplicaccedilatildeo jaacute eacute possiacutevel gerar uma parte do coacutedigo da aplicaccedilatildeo ndash com o mecanismo de tagged value ndash fi-gura 2 Eacute importante notar tambeacutem

que o coacutedigo gerado natildeo depende de qualquer classe da Bull pois eacute puro JavaJ2EE

Ambiente de desenvolvimentoOs principais objetivos de um am-biente de desenvolvimento satildeo au-mentar a produtividade por meio de ferramentas para projetar pro-gramar e instalar aplicaccedilotildees J2EE e permitir o desenvolvimento co-laborativo Para isso eacute necessaacuterio tambeacutem observar as boas praacuteticas permitindo a geraccedilatildeo do coacutedigo de certos componentes da aplicaccedilatildeo e tambeacutem a criaccedilatildeo de uma corrente completa desde os objetos ateacute a base de dados incluindo todos os blocos que compotildeem a arquitetura

Por fim o ambiente de progra-maccedilatildeo deve permitir a integraccedilatildeo do desenvolvimento a uma arquitetura orientada a serviccedilos caso necessaacuterio

Isso facilita a chamada e a criaccedilatildeo de serviccedilos referenciados dentro da em-presa por intermeacutedio de assistentes

Nesse sentido a Bull contribui com o projeto Eclipse para melhorar o su-porte a J2EE e ao desenvolvimento de Web Services e processos de ne-goacutecios Aleacutem disso a colaboraccedilatildeo da empresa com o Eclipse visa a permitir acesso a aplicaccedilotildees externas ndash isso eacute natildeo escritas em Java ndash e a bancos de dados por meio de conectores JCA ou de meacutetodos de persistecircncia Uma caracteriacutestica importante eacute a total in-dependecircncia de classes especiacuteficas da Bull com total aderecircncia ao padratildeo J2EE mas ainda com suporte aos fra-meworks mais usados como Struts Spring e Hibernate

UtilizaccedilatildeoOs componentes da plataforma NovaForge portanto podem ser listados como a seguir

Figura 2 O mecanismo de tagged value enriquece as classes UML com as informaccedilotildees adequadas agrave geraccedilatildeo de coacutedigo

copy Linux New Media do Brasil Editora Ltda

47

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

ambiente de desenvolvimento Java Eclipse

ambiente de desenvolvimento J2EE JOPE

plugin Open Source Web Tools

controle de versotildees CVS Subversion

qualidade do coacutedigo Jalopy CheckStyle PMD

testes Unitaacuterios JUnit geraccedilatildeo ANT Maven

Para usar essa estrutura colaborati-va de desenvolvimento eacute necessaacuterio apenas um navegador web O servidor de aplicaccedilatildeo naturalmente tambeacutem eacute obrigatoacuterio e a Bull recomenda o uso do JBoss[15]

Servidor colaborativoO servidor colaborativo de desenvol-vimento fornece a todos os participan-tes do projeto o acesso ao ambiente para realizaccedilatildeo de suas tarefas espe-ciacuteficas de acordo com o papel de cada um (desenvolvedor integrador liacuteder de projeto gerente etc)

O portal utiliza a solu-ccedilatildeo eXo Portal[16] que em sua versatildeo 20 oferece suporte a clientes de rich internet applications (RIA como satildeo mais conhecidos) dentro do proacuteprio navega-dor O NovaForge faz bom uso dos ldquoaplicativos ricosrdquo como mostra a figura 3 incluindo o single sign-on para todos os serviccedilos dispo-nibilizados como comuni-caccedilatildeo desenvolvimento e acesso a documentos por exemplo

GForgeUma das principais fer-ramentas de desenvolvi-mento colaborativo utili-zadas pelo NovaForge eacute

o pacote de Coacutedigo Aberto GFor-ge[17] um gerenciador de proje-tos repleto de funcionalidades Como tal ele centraliza o acesso ao conjunto de ferramentas de gestatildeo e colaboraccedilatildeo necessaacuterias agrave boa realizaccedilatildeo de um projeto de desenvolvimento como por exemplo acesso seguro aos diferentes

moacutedulos de gerenciamento de coacutedigo diretamente a partir da interface web

gerenciamento de documen-tos e suas versotildees

gerenciamento de foacuteruns e listas de discussatildeo

monitoramento das tarefas realizadas pelos usuaacuterios

gerenciamento de falhas e anomalias do projeto com possibilidades ilimitadas em termos de qualificaccedilatildeo das falhas atribuiccedilatildeo a desenvol-vedores de diferentes equipes

gerenciamento de prioridades e outras funccedilotildees

gerenciamento e atribuiccedilatildeo de tarefas aos participantes ao longo de todo o ciclo de de-senvolvimento dos projetos

interface com o CVS ou Sub-version para gestatildeo da segu-ranccedila no que diz respeito ao acesso de escrita e leitura do coacutedigo-fonte do projeto

Servidor de industrializaccedilatildeoO chamado ldquoservidor de industrializa-ccedilatildeordquo eacute uma plataforma de ldquofaacutebrica de receitasrdquo proposta pela Bull com todo o contexto necessaacuterio aos procedimentos e seus testes Seus principais objetivos satildeo a criaccedilatildeo de ldquonightly buildsrdquo a re-alizaccedilatildeo de testes de desempenho afim de garantir o correto funcionamento e dos softwares no momento em que forem finalizados

Figura 3 O NovaForge jaacute utiliza e muito bem as potencialidades dos componentes chamados Rich Internet Applications

copy Linux New Media do Brasil Editora Ltda

48 httpwwwlinuxmagazinecombr

CAPA | NovaForge

A figura 4 demonstra o processo de compilaccedilatildeo dessa etapa Em in-tervalos regulares toda a aplicaccedilatildeo sua documentaccedilatildeo e seus testes unitaacuterios satildeo gerados permitindo que se automatize a anaacutelise da qualidade do coacutedi-

go da aplicaccedilatildeo pelos compo-nentes PMD e CheckStyle

a geraccedilatildeo automaacutetica da apli-caccedilatildeo por comparaccedilatildeo com as uacuteltimas versotildees presentes no gerenciador de configuraccedilotildees a partir do servidor CVS ou Subversion

a geraccedilatildeo automaacutetica da do-cumentaccedilatildeo da aplicaccedilatildeo

a execuccedilatildeo do conjunto de testes unitaacuterios usando os componentes JUnit DBUnit e HTTPUnit com geraccedilatildeo posterior de relatoacuterios

a implementaccedilatildeo da moni-toraccedilatildeo de servidores da do-cumentaccedilatildeo e dos relatoacuterios anteriormente gerados

A cada manhatilde a anaacutelise dos relatoacuterios e resultados do servi-dor de industrializaccedilatildeo oferece ao gerente do projeto um pano-rama absolutamente atualizado do estado funcional do software

e possibilita a criaccedilatildeo de tiacutequetes de falhas pelo Salomeacute-TMF

ConclusotildeesO NovaForge natildeo tem como obje-tivo substituir os repositoacuterios mais tradicionais como o SourceForge mas criar uma verdadeira faacutebrica de software colaborativo de caraacuteter corporativo A linguagem Java por exemplo eacute uma obrigaccedilatildeo o que pode limitar o uso por projetos co-munitaacuterios de espectro geral mas natildeo representa uma restriccedilatildeo aos projetos de software corporativos ndash aliaacutes muito pelo contraacuterio

No momento o NovaForge em-prega 17 ferramentas para gerenciar seus softwares desde o CVS ou Subversion para o coacutedigo-fonte passando pelo GForge no campo do gerenciamento de projetos e documentos e chegando ateacute o Ma-ven para as tarefas automatizadas de industrializaccedilatildeo

Somada ao praacutetico gerencia-mento a garantia de qualidade dos projetos abrigados no NovaForge eacute um importante convite a qualquer organizaccedilatildeo que deseje desenvol-ver projetos de alta qualidade em escala corporativa

Mais informaccedilotildees

[1] Git httpgitorcz

[2] CVS na Wikipeacutedia httpptwikipediaorgwikiCVS

[3] Johannes Ploumltner e Steffen Wendzel ldquoFonte de organizaccedilatildeo httpwwwlinuxmagazinecombrarticlefonte_de_organizacao

[4] Subversion httpsubversiontigrisorg

[5] Mercurial httpwwwseleniccommercurialwiki

[6] Bitkeeper httpwwwbitkeepercom

[7] SourceForge httpsourceforgenet

[8] Ranking de atividade do SourceForge httpsourceforgenettopmostactivephptype=week

[9] Openbravo httpwwwopenbravocom

[10] Azureus httpazureussourceforgenet

[11] Inkscape httpwwwinkscapeorg

[12] Bull httpwwwbullcombr

[13] NovaForge httpwwwnovaforgeorg

[14] Microsoft CodePlex httpwwwcodeplexcom

[15] JBoss httpwwwjbosscom

[16] Portal httpwwwexoplatformcomportalpublicsite

[17] GForge httpgforgeorg

Figura 4 Os testes realizados automaticamente nos nightly builds fornecem vaacuterios dados a respeito do aplicativo

copy Linux New Media do Brasil Editora Ltda

49Linux Magazine 42 | Maio de 2008

TU

TO

RIA

L

Configurando o ambiente de desenvolvimento

Produto importadoSe for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte do ADempiere eacute muito faacutecil usar o poderoso ambiente de desenvolvimento Eclipse para importaacute-lopor Eduardo Montenegro

Chegamos agora agrave terceira parte de nosso tutorial sobre o ADempiere ERP amp CRM

Na uacuteltima ediccedilatildeo[1] fizemos uma pequena adaptaccedilatildeo ao sistema crian-do um novo campo que permitia a entrada de dados pelo usuaacuterio

Agora vamos importar o coacutedigo-fonte do ADempiere no ambiente de desenvolvimento Java Eclipse[2] que iraacute permitir o desenvolvimento de novos recursos no sistema utili-zando programaccedilatildeo

Vale lembrar que o objetivo deste tutorial eacute apresentar algumas carac-teriacutesticas principais do ADempiere sendo impossiacutevel esgotar esse assun-to ou nos aprofundarmos muito em determinados toacutepicos

O ambiente de desenvolvimento padratildeo utilizado pelos desenvolvedo-res do projeto ADempiere eacute o Eclipse Vamos acompanhar os passos neces-saacuterios para instalaccedilatildeo desse ambien-te de desenvolvimento e do plugin Subclipse[3] que utilizaremos para fazer o checkout do projeto do servi-dor SVN no SourceForge[4]

Instalaccedilatildeo do EclipseContinuando a configuraccedilatildeo de nos-so ambiente de desenvolvimento no Ubuntu[5] iremos fazer a instalaccedilatildeo do Eclipse por meio do repositoacuterio de pacotes usando o Synaptic Apoacutes pro-curar o pacote Eclipse basta efetuar a instalaccedilatildeo da forma normal Em segui-da seraacute necessaacuterio iniciaacute-lo para fazer a instalaccedilatildeo do plugin Subclipse

Plugin SubclipseNo menu principal do Eclipse iremos selecionar as opccedilotildees Help e em seguida Software Updates e Find and Install conforme indicado na figura 1

Na proacutexima janela como mostra a figura 2 selecionaremos a opccedilatildeo Search for New Features to Install e depois o botatildeo Next

Na janela seguinte eacute preciso acres-centar uma nova fonte remota de softwares selecionando a opccedilatildeo New Remote Site e digitando na nova janela o nome Subclipse 12x (Eclipse 32+) e a URL httpsubclipsetigrisorgupda-te_12x conforme a figura 3

Em seguida vamos selecionar para a busca a opccedilatildeo que acabou de ser criada na janela (figura 4) Ao ser exibido finalmente o plugin Subclipse (figura 5) deve-se selecionaacute-lo pressionando o botatildeo Finish em seguida

Ao concluir a ins-talaccedilatildeo do plugin o Eclipse precisaraacute ser reiniciado para que pos-sa ser utilizado

Repositoacuterio ADempiereDe volta ao Eclipse selecionaremos o menu Window Open Perspective e Other Na janela exibida na figura 6 deve ser selecionada a opccedilatildeo SVN Re-pository Exploring Na parte esquerda da janela na aba SVN Repository iremos clicar com o botatildeo direito do mouse e adicionar o repositoacuterio do ADempiere conforme demonstrado na figura 7 Seu endereccedilo eacute httpsadempieresvnsour-ceforgenetsvnrootadempiere [4]

Figura 1 A instalaccedilatildeo de novos plugins no Eclipse eacute bem simples

Figura 2 Como o plugin estaacute num novo repositoacuterio devemos acrescentaacute-lo manualmente

Figura 3 Dados do repositoacuterio do ADempiere

copy Linux New Media do Brasil Editora Ltda

50 httpwwwlinuxmagazinecombr

TUTORIAL | Alteraccedilotildees no coacutedigo-fonte do ADempiere

Figura 5 O plugin do Subclipse jaacute pode ser instalado

O projeto do ADempiere estaraacute disponiacutevel no Eclipse possibilitando a navegaccedilatildeo pelos diversos pacotes e arquivos do projeto por meio da aba do lado esquerdo conforme exibido na figura 10

Para executar o projeto a partir do Eclipse resta apenas definir um perfil de execuccedilatildeo que podemos criar com poucos passos 1 selecionar o menu Run e em

seguida Open Run Dialog 2 na janela aberta (figura 11)

selecionar a opccedilatildeo Java Appli-cation no painel esquerdo e pressionar o botatildeo New

3 no campo Name entrar com o nome Adempiere

4 no campo Project utilizan-do o botatildeo Browse selecionar o projeto receacutem-criado

5 finalmente no campo Main Class digitar orgcompiereAdempiere

Agora se pressionarmos o botatildeo Apply e em seguida selecionarmos Run o ADempiere seraacute executado a partir do Eclipse

ConclusatildeoAo final desse procedimento o am-biente de desenvolvimento do ADem-piere estaraacute configurado Com isso no proacuteximo artigo poderemos importar o projeto do ADempiereLBR[6] que eacute complementar ao LBR e acrescenta diversos recursos para a operaccedilatildeo do ADempiere no Brasil

Na proacutexima ediccedilatildeo veremos tam-beacutem algumas das principais caracte-riacutesticas do desenvolvimento de novos recursos para o ADempiere utilizando a linguagem Java

Jaacute com as informaccedilotildees do reposi-toacuterio no Eclipse iremos navegar ateacute a pasta Tags e em seguida clicando com o botatildeo direito do mouse em cima da pasta adempiere340 selecionaremos a opccedilatildeo Checkout (figura 8)

Na janela mostrada em seguida para a operaccedilatildeo de checkout basta confirmar a operaccedilatildeo selecionando os bototildees Next e em seguida Finish Esse passo pode demorar um pouco pois seratildeo copiados todos os arquivos do projeto ADempiere para a maacutequina local

De dentroVamos agora executar o ADempiere de dentro do Eclipse Selecionan-do no menu novamente as opccedilotildees Window Open Perspective e Other iremos voltar para a perspectiva Java (default) (figura 9)

Figura 4 Seleccedilatildeo do novo repositoacuterio configurado como fonte do plugin

Figura 6 O Subclipse permite a impor-taccedilatildeo de dados a partir de um repositoacuterio Subversion

Figura 7 Adicionando um repositoacuterio Subversion

copy Linux New Media do Brasil Editora Ltda

51Linux Magazine 42 | Maio de 2008

Mais informaccedilotildees

[1] Eduardo Montenegro ldquoConfiguraccedilatildeo do ADempiere ndash Faccedila a sua gestatildeordquo httpwwwlinuxmagazinecombrarticle1649

[2] Eclipse httpwwweclipseorg

[3] Subclipsehttpsubclipsetigrisorg

[4] Repositoacuterio do ADempiere no SourceForge httpsadempieresvnsourceforgenetsvnrootadempiere

[5] Ubuntu httpwwwubuntucom

[6] Projeto AdempiereLBR no Sourceforge httpsfnetprojectsadempierelbr

[7] Site do Projeto ADempiere httpwwwadempierecom

[8] Wiki do Projeto Adempiere httpwwwadempierecomwiki

[9] Foacuterum do ADempiere em portuguecircs httpforumkenoscombr

Figura 8 Realizaccedilatildeo do che-ckout no repositoacuterio

Figura 9 Com a perspectiva Java eacute pos-siacutevel trabalhar em projetos nessa linguagem como o ADempiere

Figura 10 Jaacute eacute possiacutevel navegar pelo coacutedigo do ADempiere

Figura 11 Criaccedilatildeo de um novo perfil para o projeto do ADempiere no Eclipse

copy Linux New Media do Brasil Editora Ltda

52 httpwwwlinuxmagazinecombr

Deacutecima primeira aula de preparaccedilatildeo LPIC-2

LPI niacutevel 2 Aula 11Configuraccedilatildeo do servidor BIND criaccedilatildeo e manutenccedilatildeo de arquivos de zonas e ferramentas relacionadaspor Luciano Siqueira

22071 Configuraccedilatildeo baacutesica de um servidor DNS Um servidor DNS ndash Domain Name System ndash converte remotamente no-mes de maacutequinas para seus respectivos nuacutemeros IP e vice-versa A correspon-decircncia entre o nome e o nuacutemero IP eacute chamada mapeamento e organizado de forma hieraacuterquica

Em outras palavras um domiacutenio como howtoslinuxcom seraacute quebrado e resolvido comeccedilando por com de-pois linux e finalmente howtos ndash itens chamados respectivamente top-level domain second-level domain e third-level domain Eacute nessa ordem que o endereccedilo IP para howtoslinuxcom seraacute obtido Os top-level domains mais comuns satildeo com org e net mas existem vaacuterios outros

O programa servidor responsaacutevel pelo mapeamento eacute o usrsbinnamed que eacute parte do pacote cha-mado BIND cujas especificaccedilotildees

satildeo definidas pelo Internet Systems Consortium Seu arquivo de confi-guraccedilatildeo eacute namedconf que pode ser encontrado no diretoacuterio etc ou etcbind Em versotildees do BIND anteriores agrave 8 o arquivo de configu-raccedilatildeo chama-se namedboot e possui sintaxe diferente Arquivos anteriores agrave versatildeo 8 natildeo funcionaratildeo nesta ou na 9 Para converter arquivos de con-figuraccedilatildeo de versotildees anteriores para a 8 pode ser utilizado o comando named-bootconf

Servidor caching-onlyO DNS caching-only eacute a mais simples implementaccedilatildeo de um servidor DNS Ele apenas requisita a resoluccedilatildeo do nome junto a um servidor externo e armazena a resposta para agilizar futuras requisiccedilotildees Exemplo de na-medconf para um servidor de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

Zonas convencionais tecircm seccedilotildees definidas de forma semelhante (exem-plo zone ldquolocalhost IN rdquo) e eacute importante que para cada uma delas seja especificada uma zona para DNS reverso (exemplo zone ldquo00127in-addrarpa IN rdquo) O DNS reverso eacute responsaacutevel por converter nuacutemeros IP para seus respectivos nomes

Voltando ao exemplo na seccedilatildeo options eacute indicado onde estatildeo os arquivos de zonas (directory ldquovarnamedrdquo) Estaacute definido apenas o mapeamento para ldquordquo que seraacute consultado se nenhum outro ma-peamento for encontrado Eacute este o caso do exemplo

No arquivo varnamedroothints haacute uma lista com os principais ser-vidores de nomes da Internet Este arquivo eacute gerado atraveacutes do comando

Toacutepico 207 DNS

TU

TO

RIA

L

Irum_Shahid - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

53

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

dig eroot-serversnet ns Como os endereccedilos de alguns servidores po-dem mudar eacute aconselhaacutevel atualizar o arquivo mensalmente O exemplo 1 mostra um trecho do arquivo varnamedroothints

Apoacutes alterar os arquivos de con-figuraccedilatildeo seraacute necessaacuterio reiniciar o daemon named responsaacutevel por responder agraves requisiccedilotildees de DNS Para que as configuraccedilotildees tenham efeito sem interromper o named basta enviar o sinal HUP para o processo atraveacutes do comando kill

kill -HUP `pidof named`

22072 Criaccedilatildeo e manutenccedilatildeo de zonas de DNSA principal diferenccedila entre um servidor DNS tradicional e um servidor DNS caching-only estaacute nos arquivos de zona Num ser-vidor tradicional os arquivos de zona conteacutem a correspondecircncia de IPs e nomes para os domiacutenios especificados em namedconf

Criando um domiacutenioPara cada domiacutenio sob responsabili-dade do servidor deve ser criada uma entrada no arquivo namedconf Essa entrada eacute muito parecida agravequela do exemplo de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo

A uacuteltima entrada indica opccedilotildees e o arquivo de zona para solicitaccedilotildees de nome para o domiacutenio ginkgo

Este eacute um domiacutenio fictiacutecio uti-lizado como exemplo para uma rede interna A opccedilatildeo type deter-mina a prioridade da zona para o domiacutenio pode ser master ou slave O arquivo definido na opccedilatildeo file deve ser criado no mesmo diretoacuterio selecionado na opccedilatildeo directory da seccedilatildeo options Pode ser escolhido qualquer nome para o arquivo de zona mas geralmente elege-se o nome do domiacutenio leva os prefixossufixos zone ou db

Registros da zonaO arquivo de zona conteacutem vaacuterias informaccedilotildees dos nomes do domiacutenio em questatildeo pode ser escrito confor-me o exemplo 2

Vamos analisar item a item este arquivo de zona para entender cada uma das suas entradas

$TTL 3D

Indica a validade-padratildeo ou por quanto tempo os dados con-

seguidos a partir deste servidor devem ser mantidos em um ca-che de DNS

IN SOA floydginkgo hostmasterginkgo (

Essa linha corresponde agrave prin-cipal entrada SOA (Start Of Au-thority) Ela determina qual o ser-vidor e o email do administrador do DNS O sinal eacute apenas um atalho para a origem (o domiacute-nio da zona) e tambeacutem pode ser especificado literalmente (neste caso deve ser especificado com um ponto no final ginkogo) O IN significa Internet e determina a classe do registro Na maior parte dos servidores DNS seraacute a uacutenica classe utilizada O termo SOA indica tratar-se do registro da autoridade para o domiacutenio seguido do nome do servidor DNS e do email do administrador Perceba que ambos satildeo terminados com um ponto O email tambeacutem tem um ponto no

Exemplo 1 Trecho de roothints

()DROOT-SERVERSNET 3600000 IN A 12881090AROOT-SERVERSNET 3600000 IN A 1984104HROOT-SERVERSNET 3600000 IN A 12863253CROOT-SERVERSNET 3600000 IN A 19233412()

Exemplo 2 Arquivo de zona

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floyd MX 5 mailfloyd A 19216801 hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

copy Linux New Media do Brasil Editora Ltda

54 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

lugar do O parecircntese no final da linha indica o iniacutecio das proprie-dades do registro

2007060401 serial 28800 refresh (8horas) 7200 retry (2 horas) 2419200 expire (4semanas) 86400 minimum (1 dia) )

Essa seccedilatildeo especifica algumas pro-priedades para a zona O primeiro nuacutemero 2007060401 determina um nuacutemero serial de identificaccedilatildeo Pode ser qualquer nuacutemero mas via de re-gra segue o formato de data mais um nuacutemero decimal Os demais valores determinam respectivamente inter-valo de atualizaccedilatildeo intervalo para novas tentativas prazo de validade das informaccedilotildees intervalo miacutenimo de permanecircncia no cachecirc Estes va-lores seratildeo informados aos clientes e outros servidores DNS que utilizam este mapa O caracter ldquordquo especifica um comentaacuterio e todo texto em se-guida seraacute ignorado pelo programa O final das propriedades do registro eacute determinado com o fechamento do parecircntese Continuando o exame

NS floyd MX 5 mailfloyd A 19216801

hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

Os demais registros correspondem agraves entradas de nomes da zona Se natildeo for informado no comeccedilo da linha eacute assumida a mesma origem (especificada pelo caracter ) e a classe (IN) Tipos de registro comuns satildeo NS especifica qual dos registros eacute

o servidor de nomes do domiacutenio tambeacutem citado no registro SOA

MX o servidor de email para o domiacutenio Pode haver mais de um sendo suas prioridades determinadas pelo nuacutemero agrave esquerda do nome do servidor Valores menores indicam maior prioridade

A mapeia o nome especifica-do agrave esquerda para o IP espe-cificado agrave direita A origem (domiacutenio) eacute automaticamente adicionada ao nome pois estaacute impliacutecita na entrada (ex floyd = floydginkgo)

CNAME cria um alias especifica-do agrave esquerda para um nome jaacute definido em outro registro Natildeo pode haver alias para um registro NS

PTR mapeia um nuacutemero IP para um nome Eacute utilizado para DNS reverso que veremos a seguir

DNS reversoAleacutem das zonas para resolver nomes para nuacutemeros IP eacute praxe criar zonas para resolver nuacutemeros IP para nomes processo chamado DNS reverso Para isso deve ser criada uma zona especiacute-fica no arquivo namedconf que aponte para outro arquivo de zona

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo zone ldquo0168192in-addrarpardquo IN type master file ldquodb1921680in-addrarpardquo allow-update none

O registro em destaque espe-cifica a zona reversa O nome da zona reversa comeccedila com o trecho do IP referente agrave rede escrito de traacutes para frente seguido do termo in-addrarpa que determina tratar-se de um registro de DNS rever-so Portanto o registro mostrado converteraacute em nomes os IPs que comecem por 1921680 As demais opccedilotildees como tipo nome de ar-quivo etc obedecem agraves mesmas regras do DNS

O arquivo de zona para o DNS reverso eacute praticamente idecircntico ao do DNS convencional mostrado no exemplo 3

A uacutenica diferenccedila encontra-se nos registros de nomes Aqui a ori-gem tambeacutem estaacute impliacutecita sendo necessaacuterio apenas especificar o tre-cho do IP especiacutefico do host Por se tratar de uma resoluccedilatildeo reversa eacute

Exemplo 3 Arquivo de zona do DNS reverso

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060402 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floydginkgo 1 PTR floydginkgo 2 PTR hamiltonginkgo 4 PTR felixginkgo 11 PTR emilyginkgo

copy Linux New Media do Brasil Editora Ltda

55

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

usado um registro do tipo PTR seguido do nome para o IP es-pecificado

Um detalhe importante eacute que o nome dos hosts preci-sa ser completo incluindo o domiacutenio e o ponto no final Isso evita que o DNS reverso interprete a origem (que aqui eacute 168192in-addrarpa) como sendo o domiacutenio

Para que as novas configuraccedilotildees tenham efeito eacute necessaacuterio reiniciar o servidor de nomes O procedimento pode ser feito via script de iniciali-zaccedilatildeo ou simplesmente enviando o sinal HUP para o processo

killall -HUP named

Servidores escravosPara aumentar a disponibilidade do serviccedilo eacute recomendaacutevel criar um servidor DNS escravo de preferecircn-cia numa localizaccedilatildeo fiacutesica distante do servidor primaacuterio para evitar que panes eleacutetricas por exemplo afetem ambos

A entrada em namedconf para de-finir um servidor escravo pode ser escrita da seguinte forma

zone ldquoginkgordquo type slave file ldquodbginkgordquo masters 19216801

O servidor escravo armazena-raacute os registros da zona ginkgo atraveacutes de um processo chamado transferecircncia de zona O arquivo de zona no servidor escravo possui apenas o registro SOA como mostra o exemplo 4

A zona soacute eacute transferida se o nuacutemero serial do servidor escra-vo for menor que o do servidor primaacuterio O valor refresh especi-fica o intervalo em que o servidor escravo verificaraacute atualizaccedilotildees de registro no servidor primaacuterio Se

o servidor natildeo pocircde ser contacta-do seratildeo feitas novas tentativas a cada intervalo especificado no valor retry A zona deixaraacute de existir no servidor escravo se o primaacuterio natildeo puder ser contactado ateacute o final do periacuteodo-limite especificado no valor expire O uacuteltimo valor minimum determina o periacuteodo miacutenimo que a zona deve permanecer no servidor escravo Por padratildeo todos os valo-res satildeo expressos em segundos Para alterar a unidade de tempo basta utilizar um sufixo como H (hora) D (dia) ou W (semana) Por exemplo 2H (duas horas)

Redirecionamento de servidorUm redirecionamento simplesmen-te transfere todas as solicitaccedilotildees fei-tas ao servidor para outro servidor DNS armazenando os resultados temporariamente para agilizar fu-turas solicitaccedilotildees semelhante a um servidor caching-only Para redire-cionar qualquer solicitaccedilatildeo basta criar a seccedilatildeo options em namedconf da seguinte forma

options directory ldquovarnamedrdquo forwarders 20019214021 2001921435

Seratildeo utilizados os servidores especificados na opccedilatildeo forwarders Para que apenas solicitaccedilotildees para uma zona especiacutefica sejam redire-cionadas o tipo da zona deve ser especificado como forward

zone ldquoginkgordquo IN type forward forwarders 20019214021 2001921435

Os servidores de destino das soli-citaccedilotildees devem ser especificados da mesma forma na opccedilatildeo forwarders

Diagnoacutestico do servidorAgora o servidor DNS jaacute pode ser testado para encontrar possiacuteveis pro-blemas Para uma checagem simples pode ser usado o comando host Mas antes natildeo se esqueccedila de alterar os dados do servidor de nomes em etcresolvconf para o servidor que vocecirc acabou de configurar Feito isso utilize o comando host para um dos nomes registrados na zona criada

host felix felixginkgo has address 19216804

Testando o DNS reverso

host 19216842 40168192in-addrarpa domain name pointer felix1681920in-addrarpa

Pocircde ser verificado que tanto o DNS convencional quanto o DNS reverso estatildeo funcionando ao menos para o nome e IP do host felix

Para evitar alterar o arquivo etcresolvconf e obter informaccedilotildees um pouco mais detalhadas basta

Exemplo 4 Arquivo de zona com o regsitro SOA

IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) )

copy Linux New Media do Brasil Editora Ltda

56 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

fornecer tambeacutem o nome do servi-dor DNS ao comando host

host www floydginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo hamiltonginkgo has address 19216802 Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo

Pela saiacuteda podemos verificar en-tre as informaccedilotildees mostradas que o host wwwginkgo trata-se de um alias para o host hamiltonginkgo

Uma ferramenta especiacutefica para diagnoacutestico de servidores DNS eacute o comando dig (Domain Information Groper) Apesar de possuir vaacuterias opccedilotildees que podem ser consultadas na paacutegina manual do comando a forma mais usual de invocaacute-lo eacute dig servidor domiacutenio tipo O servidor DNS especificado pelo caracter seraacute consultado pelo domiacutenio e tipo de registro O exemplo 5 mostra como utilizar o comando dig

A saiacuteda eacute dividida em seccedilotildees O cam-po status da seccedilatildeo HEADER nos permite verificar se foram encontrados erros no servidor DNS A seccedilatildeo QUESTION mostra que tipo de requisiccedilatildeo foi feita ao servidor A resposta eacute mostrada na seccedilatildeo ANSWER A seccedilatildeo ADDITIONAL mostra os endereccedilos dos nomes exibidos em ANSWER

Outra ferramenta eacute o coman-do nslookup que trabalha de duas formas interativo e natildeo-interativo

Usado sem argumentos o nslookup entra em modo interativo

nslookup gt

Dessa forma seraacute utilizado o servi-dor de nomes especificado em etcresolvconf Outro servidor pode ser especificado da seguinte forma

nslookup - floyd gt

Note que haacute um espaccedilo entre o traccedilo e o nome do servidor A maneira mais simples de utilizar o modo interativo eacute simplesmente fornecer um nome a verificar e pressionar [enter]

gt hamilton Server 19216801 Address 1921680153

Name hamiltonginkgo Address 19216802 gt

Exemplo 5 Utilizaccedilatildeo do dig

dig floyd ginkgo ANY

ltltgtgt DiG 932-P1 ltltgtgt floyd ginkgo ANY (1 server found) global options printcmd Got answer -gtgtHEADERltlt- opcode QUERY status NOERROR id 28285 flags qr aa rd ra QUERY 1 ANSWER 3 AUTHORITY 0 ADDITIONAL 2

QUESTION SECTION ginkgo IN ANY

ANSWER SECTION ginkgo 259200 IN SOA floydginkgo hostmasterginkgo 2007060402 28800 7200 2419200 86400 ginkgo 259200 IN NS floydginkgo ginkgo 259200 IN MX 10 felixginkgo ADDITIONAL SECTION floydginkgo 259200 IN A 19216801 felixginkgo 259200 IN A 19216804

Query time 0 msec SERVER 1921680153(19216801) WHEN Mon Jun 4 154409 2007 MSG SIZE rcvd 146

copy Linux New Media do Brasil Editora Ltda

| TUTORIALLPI Niacutevel 2

Para pesquisar um nome no modo natildeo-interativo podem ser fornecidos o nome e o servidor como argumen-tos para o nslookup

nslookup felix floyd Server floyd Address 1921680153

Name felixginkgo Address 19216804

22073 Seguranccedila de DNSPara o administrador precavido a fa-lha em um servidor DNS pode natildeo ser um desastre de grandes proporccedilotildees Ele pode conectar-se atraveacutes do IP do servidor (caso o tenha) e recupe-rar o serviccedilo Os demais usuaacuterios da rede por sua vez apenas acessam as maacutequinas atraveacutes de seus nomes Uma interrupccedilatildeo do servidor DNS mesmo que a comunicaccedilatildeo da rede

ainda exista torna inviaacutevel sua uti-lizaccedilatildeo para quem desconhece os endereccedilos IP das maacutequinas

Num cenaacuterio ainda pior um in-vasor pode interceptar as chamadas DNS e conhecer os nomes e endere-ccedilos das maacutequinas da rede facilitan-do a identificaccedilatildeo e ataque Caso os registros tenham sido alterados um usuaacuterio pode conectar-se a uma maacute-quina-armadilha acreditando tratar-se de uma maacutequina conhecida Neste caso o invasor poderia facilmente conseguir dados sensiacuteveis de todo usuaacuterio enganado

Enjaular o servidorO servidor DNS pode ser executa-do num ambiente isolado onde soacute existam os componentes necessaacute-rios agrave sua execuccedilatildeo Esse ambiente eacute denominado jaula chroot Este processo ajuda a garantir a segu-ranccedila do servidor BIND colocan-

do-o numa ldquogaiolardquo que limitaraacute o ldquoestragordquo caso o servidor seja com-prometido Junto com a restriccedilatildeo a arquivos e diretoacuterios o servidor deve ser executado por um usuaacuterio sem privileacutegios de root

Por exemplo o daemon named pode ser iniciado como proces-so do usuaacuterio natildeo-privilegiado bind tendo como diretoacuterio raiz varnamed

named -u bind -t varnamed

Para que a jaula chroot fun-cione eacute necessaacuterio adaptar algu-mas variaacuteveis na configuraccedilatildeo do BIND O diretoacuterio raiz enxergado pelo daemon named seraacute varna-med portanto eacute necessaacuterio indi-car corretamente a localizaccedilatildeo de arquivos e diretoacuterios como o diretoacuterio dos arquivos de zona e do arquivo de PID

copy Linux New Media do Brasil Editora Ltda

58 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

DNSSECAs transferecircncias de informaccedilotildees entre servidores DNS podem ser autenticadas atraveacutes de uma chave do DNSSEC um complemento do BIND

A chave eacute gerada pelo comando dnssec-keygen Diferentes algoriacutetimos podem ser escolhidos No exem-plo elas seratildeo geradas no diretoacuterio varnamed

cd varnamed dnssec-keygen -a DSA -b 768 -r devuramdom -n ZONE ginkgo

A opccedilatildeo -a especifica a criptografia utilizada a opccedilatildeo -b o tamanho da chave e -r a fonte de dados aleatoacute-rios para gerar a chave (se -r natildeo for fornecido o teclado seraacute usado como fonte de dados aleatoacuterios) A opccedilatildeo -n especifica qual o tipo do dono da chave (ZONE) Por fim eacute especificado o nome (ginkgo)

Terminada a execuccedilatildeo seraacute emitida uma resposta no formato Knnnn+aaa+iiiii Os elementos da resposta significam nnnn Nome da chave aaa Representaccedilatildeo numeacuterica

do algoriacutetimo iiiii Identificaccedilatildeo da chave

(ou impressatildeo digital)Neste exemplo foram gerados

dois arquivos Kginkgo+003+47654key e Kginkgo+003+47654pri-vate O arquivo key deve ser mencionado na respectiva zona atraveacutes de um $include ao final do arquivo

$include Kginkgo+003+47654key

Feito isso a zona deve ser assinada com o comando dnssec-signzone

dnssec-signzone -r devurandom -o ginkgo dbginkgo Kginkgo+003+47654

A opccedilatildeo -o define a origem do arquivo de zona Se natildeo for espe-

cificada a chave seratildeo utilizadas as mencionadas na zona O arqui-vo de saiacuteda dbginkgosigned seraacute criado e deveraacute ser especificado no registro da zona em namedconf

zone ldquoginkgordquo IN type master file ldquodbginkgosignedrdquo allow-update none

Tambeacutem seratildeo criados arquivos dsset e keyset utilizados para que o administrador da zona superior saiba quais chaves satildeo o ponto de entrada seguro para a zona

Os servidores DNS que bus-cam dados no servidor em que o DNSSEC foi utilizado poderatildeo agora validar os dados atraveacutes da chave puacuteblica contida no arqui-vo Kginkgo+003+47654key Essa chave deve estar presente na entrada trusted-keys do arquivo namedconf que obedece a seguin-te sintaxe

trusted-keys string number number number string string number number number string

A entrada trusted-keys pode fazer referecircncia a vaacuterias chaves Cada campo corresponde ao nome do domiacutenio opccedilotildees protocolo algoritmo utilizado e o coacutedigo da chave gerada Todos esses dados estatildeo contidos no arquivo key

No caso do exemplo o registro trus-ted-keys ficaria da seguinte forma

trusted-keys ldquoginkgordquo 256 3 3 ldquoBPDC8hyXf5G8TrgNikGbTVRTlpzpo5ldQt0ROv3viRFBlj7Je2NKIAoJGyEOhmmGHRw4Ls0uHLeQasRAFqz3IKIFh3UpH3b8KYoebkPaDk68zoFphMknxTAr3aUxPmzMKfkDzfHnfe2izxLhzZp52Me

fdeVbuMhusD5BmS4RMK5hsQmjpd8ew3L17RD6WxHxb5KBhr91qVEakLDcPnBG7fCDKgJbG6ynKd8iZKjZHgn5Ve1vQh4az72SCEnkOhljc6mkvUZmg+63PXtedw9IJaXULeq5iMydmZkRTvZtXlQnxObOOACSHwzO3WQSWvruOz6R9mjGY oSyhsAbnEx3HEETwn89GyJMKtYAsBHsTgAJyKgOMPx3OYOvSPCQThOXDuIoLzYEL3HnUqx5P5PXrdquo

Restringir acessoEacute possiacutevel restringir totalmente o acesso ao servidor de nomes a uma rede ou a um host especiacutefico atraveacutes da opccedilatildeo allow-query

allow-query 1921680024

Essa opccedilatildeo pode ser definida tanto na seccedilatildeo options quanto numa entrada de zona Se defini-da em ambos prevaleceraacute para a zona as regras nela especificadas Podem ser especificados mais de um endereccedilo de rede ou host

Para restringir transferecircncias de zona entre servidores ndash ou atraveacutes de comandos como dig e nslookup pode ser utilizada a opccedilatildeo allow-transfer na seccedilatildeo options

allow-transfer 19216802

Como para a opccedilatildeo allow-query mais de um endereccedilo podem ser especificados separados por ldquordquo

Consideraccedilotildees sobre o toacutepicoEste eacute outro toacutepico muito abor-dado na prova Sobretudo co-nheccedila muito bem o formato do arquivo namedconf e os arquivos de zona

Comandos relacionados como rndc dig e host tambeacutem seratildeo abordados

copy Linux New Media do Brasil Editora Ltda

59Linux Magazine 42 | Maio de 2008

AN

AacuteLIS

E

O SpagoBI oferece um pacote de BI completo e de Coacutedigo Aberto

Negoacutecio inteligenteO ramo da Business Intelligence conta com poderosas ferramentas e o SpagoBI se destaca entre as alternativas livres por sua modularidade e consequumlente flexibilidadepor Miguel Koren OrsquoBrien de Lacy

A praacutetica de BI (Business In-telligence) eacute tradicionalmente associada a bancos de dados

enormes em que as aacutereas de mar-keting das empresas tentam descobrir padrotildees de preferecircncias dos clientes usando consultas padronizadas Esses bancos de dados comumente conhe-cidos como data warehouses ou data mart satildeo formados por informaccedilotildees vindas dos mais diversos sistemas da empresa Um data warehouse eacute o repositoacuterio eletrocircnico de informa-ccedilotildees armazenadas da empresa Um data mart eacute um subconjunto de in-formaccedilotildees geralmente focadas em alguma necessidade especiacutefica Um exemplo poderia ser o data mart de informaccedilotildees de produccedilatildeo etc No Brasil temos o costume de usar o termo DW quando nos referimos a um data mart Outra aceitaccedilatildeo comumente encontrada no mer-cado considera sistemas BI como geradores de relatoacuterios diminuindo sua utilidade

Para nivelarmos o conhecimento da mateacuteria podemos convencionar que BI se refere agrave praacutetica de procu-rar armazenar e analisar a informa-ccedilatildeo apresentando em seguida os resultados necessaacuterios para tomar decisotildees fundamentadas e corretas Os sistemas de BI satildeo aplicativos ou ferramentas que suportam e permi-tem essas atividades necessariamente orientados pelos dados

Eacute importante lembrar que sem conhecimento do negoacutecio ou seja das necessidades de informaccedilatildeo e das decisotildees que precisam ser tomadas natildeo existe a possibilidade de prati-car BI Os sistemas de BI satildeo apenas facilitadores

O uso original de BI e as dificul-dades em implementar as soluccedilotildees fizeram com que o segmento atuasse como um espelho do passado para mostrar agrave empresa onde exatamente ela cometeu erros O que se deseja atualmente eacute um sistema de posi-cionamento que mostre onde a em-presa estaacute e como deve evoluir para chegar ao destino pretendido

Os sistemas BI devem mostrar informaccedilatildeo histoacuterica atual e visotildees preditivas O poder analiacutetico e a na-

vegaccedilatildeo pelas informaccedilotildees formam o atual potencial desses sistemas A visatildeo eacute poder obter os benefiacutecios de BI em qualquer lugar e qualquer momento O objetivo que precisa ser satisfeito hoje eacute o monitoramento de diversos indicadores para diversas aacutereas e consolidados para a empresa com o objetivo de aplicar o Geren-ciamento de Performance do Negoacutecio (BPM ndash Business Performance Ma-nagement nesse caso) Tambeacutem eacute interessante suportar um novo termo BI operacional que integra as in-formaccedilotildees analisadas pelo BI tradi-cional (em visatildeo de piracircmide satildeo o BI estrateacutegico e o BI taacutetico) com necessidades operacionais

A IDC publicou um estudo em 2006 que mostra um crescimento anu-

Figura 1 Modelo estrutural de funccedilotildees do SpagoBI

ramzi hashisho ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

60 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

al de 10 em soluccedilotildees BI entre 2005 e 2010 Diversas fontes citam o valor que o BI representa para as empresas e indicam que essa aplicaccedilatildeo comeccedila a fazer parte das soluccedilotildees de negoacutecio e natildeo simplesmente um aplicativo da aacuterea de marketing comprado e instalado por acaso Agrave medida que o mercado olha para os sistemas BI como criacuteticos para a gestatildeo as em-presas fornecedoras dessa tecnologia estatildeo se fundindo resultando em me-nos opccedilotildees para os clientes Algumas aquisiccedilotildees recentes em 2007 satildeo a compra da Hyperion pela Oracle[1] da Business Objects pela SAP[2] e da Cognos pela IBM[3]

Ao mesmo tempo que o mercado de sistemas comerciais estaacute se consoli-

dando aparecem siste-mas de BI licenciados como Software Livre o que aumenta o nuacute-mero de opccedilotildees para os clientes Essa modali-dade de licenciamento vem ao encontro das necessidades de imple-mentaccedilatildeo de BI para todos os funcionaacuterios da empresa pois pelo fato de natildeo existir cus-to de licenciamento eles podem ser usados por todos A empresa Ventana Research[4]

publicou um estudo sobre softwa-res de BI livres em 2006 que mostra que 48 das empresas entrevistadas indicaram o fator de custo como o mais importante na seleccedilatildeo de uma soluccedilatildeo de coacutedigo aberto Adicional-mente 24 dos usuaacuterios individuais entrevistados nesse estudo disseram que o uso de sistemas BI ajuda a aten-der melhor as necessidades pessoais de informaccedilatildeo e decisatildeo que devem fazer no dia-a-dia nas empresas

Natildeo existe uma variedade muito grande de sistemas BI de Coacutedigo Aberto que possam ser chamados de completos Devido agrave diversidade de componentes de um pacote de BI tais como geradores de relatoacuterios

anaacutelise de dados em cubos OLAP (on-line analytic processing)

mineraccedilatildeo de da-dos e

indicadores e pai-neacuteis de controle (dashboards)

entre outros muitos sistemas que atendem somente a uma ou poucas dessas aacutereas es-tatildeo classificados como sistemas BI Tambeacutem

eacute perceptiacutevel o fato de que os siste-mas BI completos de Coacutedigo Aberto contam com suporte oficial de uma empresa seja atuante no mercado BI ou profundamente envolvida com o Software Livre em geral

Caracteriacutesticas e tecnologiaO SpagoBI[5] eacute um sistema que satisfaz as condiccedilotildees para ser usa-do corporativamente atendendo a grande parte das necessidades de informaccedilatildeo relatadas acima Ele estaacute agrupado sob o conceito do Spago World que tem os seguintes obje-tivos gerais fornecer uma soluccedilatildeo livre poder ser usado em ambientes

corporativos facilitar a incorporaccedilatildeo de outras

tecnologias para formar um pa-cote de componentes variados

enfocar o desenvolvimento de soluccedilotildees

formar uma comunidade e contar com serviccedilos de suporte

O SpagoBI eacute membro do con-soacutercio OW2[6] suportado prin-cipalmente pela Bull[7] e pela France Telecom[8] O sistema foi desenvolvido como um framework para aplicativos web em Java para atender a projetos internos Em 2004 o ambiente foi completado e liberado sob a GPL no Source-Forge e posteriormente hospedado no ObjectWeb hoje OW2

O sistema hoje estaacute sob a li-cenccedila LGPL e tem tambeacutem a vantagem de ser verdadeiramente livre devido ao modelo de negoacutecio aplicado O SpagoBI natildeo oferece qualquer restriccedilatildeo ao uso e natildeo existem versotildees comerciais mais completas como eacute frequumlente em outros aplicativos de negoacutecio de Coacutedigo Aberto

Em 2007 foram liberadas algu-mas outras soluccedilotildees do Spago World Spago4Q (indicadores e meacutetricas de

Figura 2 Modelo estrutural do SpagoBI

Figura 3 Tela inicial do aplicativo analiacutetico

copy Linux New Media do Brasil Editora Ltda

61

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

qualidade no processo de desenvol-vimento de software) e Spagic (pla-taforma de integraccedilatildeo de sistemas utilizando SOA e BPM ndash Business Process Management nesse caso)

ComponentesO SpagoBI possui seis componentes principais servidor SpagoBI Spago-BI Studio SpagoBI SDK SpagoBI Meta e SpagoBI Applications

O servidor SpagoBI compreende o nuacutecleo para consultas pelo aplica-tivo aleacutem de apresentar o modelo analiacutetico do sistema Ele oferece os seguintes serviccedilos interface com o usuaacuterio intuiti-

va tipo rich client configuraccedilatildeo de fontes de dados geraccedilatildeo livre de consultas ao

sistema para anaacutelise assinaturas para receber informa-

ccedilatildeo perioacutedica e notificaccedilotildees aacutereas (pastas) para uso pessoal salvar importar e exportar as

configuraccedilotildees paacutegina individual (do tipo

MeuBI) integraccedilatildeo com mecanismos de vi-

sualizaccedilatildeo (PALO para Excel[9] e JPALO para Web[10])

alertas e notificaccedilotildees motor de busca acesso a consultas preacute-configu-

radas agrupadas por tiposO SpagoBI Studio por sua vez eacute

um ambiente em forma de plugin para o Eclipse[11] para desenvolver soluccedilotildees dentro do SpagoBI Ele oferece modeladores para todos os documentos analiacuteticos permite o upload para o servidor SpagoBI e possibilita a realizaccedilatildeo de testes aces-sando dados de testes ou reais

A SpagoBI SDK consiste em uma interface para acesso a serviccedilos de BI que possam ser integrados a outros aplicativos Oferece uma biblioteca de tags a proacutepria API de integraccedilatildeo e acesso a Web Services

Enquanto isso o SpagoBI Meta eacute um mecanismo de armazenamen-to de metadados (informaccedilatildeo que descreve os dados) Os metadados permitem que o usuaacuterio que faz a anaacutelise possa conhecer melhor a informaccedilatildeo tratada assim como a fonte dessa informaccedilatildeo

Por uacuteltimo as SpagoBI Appli-cations compreendem diversos aplicativos verticais Dentro desse conceito podemos mencionar o SpagoBI for AREAS utilizado para BI no campo da medicina AREAS eacute um sistema ERP italia-no voltado para empresas de me-

dicina que selecionou o SpagoBI como seu componente BI

As funcionalidades do sistema satildeo geraccedilatildeo de relatoacuterios com su-

porte a diversos mecanismos anaacutelise de dados em visotildees de

cubos OLAP paineacuteis de controle com indica-

dores (KPI) mineraccedilatildeo de dados visualizaccedilatildeo geograacutefica processos ETL (Extract Trans-

form Load) simulaccedilotildees what-if dossiecirc cataacutelogo de informaccedilotildees gerador de consultas usando

Figura 4 Menu de opccedilotildees e painel de controle

Figura 5 Exemplos de novos termocircmetros para formar paineacuteis

copy Linux New Media do Brasil Editora Ltda

62 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

mecanismos QbE (query by example) integraccedilatildeo de servi-

ccedilos BI ao Microsoft Office

colaboraccedilatildeoA figura 1 mostra o flu-

xo de informaccedilatildeo entre as diversas funccedilotildees da so-luccedilatildeo Todas as funccedilotildees satildeo acessadas somente pelo moacutedulo denomi-nado Modelo Compor-tamental que gerencia as permissotildees de acesso O sistema estaacute prepara-do para uso empresarial

considerando as seguintes carac-teriacutesticas restriccedilatildeo de

acesso agraves in-formaccedilotildees

single sign-on a publicaccedilatildeo

de elementos do sistema tais como definiccedilotildees de relatoacuterios eacute gerenciada den-tro do CMS (content mana-gement system) utilizando a nor-ma JSR 170

sistema escalaacutevel pois eacute escrito em Java e funciona dentro de um servidor de aplicaccedilatildeo

permite o uso de vaacuterios moto-res diferentes tanto de Coacutedigo Aberto quanto proprietaacuterios

eacute uma plataforma de integraccedilatildeo natildeo apenas um aplicativo

A figura 2 mostra a arquitetura do SpagoBI

Uma limitaccedilatildeo presente com frequumlecircncia em sistemas BI de Coacutedi-go Aberto eacute o fato de serem apenas ferramentas para construir a soluccedilatildeo sem um aplicativo pronto para ser utilizado plenamente O SpagoBI se destaca por apresentar tambeacutem

um aplicativo para o usuaacuterio de BI Esse aplicativo eacute acessado de dentro do ambiente web oferecido por outro componente OW2 a Exo Platform[12] que tem a possibilidade de rodar o aplicativo dentro de sua arquitetura de virtualizaccedilatildeo da aacuterea de trabalho o WebOS[13] Poreacutem adicionalmente agrave eXo Platform o SpagoBI estaacute cer-tificado para rodar dentro do portal Liferay[14] muito conhecido e uti-lizado em ambientes de arquitetura Java O CMS JSR 170 tambeacutem eacute for-necido pela eXo Platform

DiferenciaisUm diferencial muito importante do SpagoBI eacute ser uma plataforma de integraccedilatildeo para diversas ferramentas de BI Como consequumlecircncia para ob-tenccedilatildeo de um aplicativo completo devem ser instalados os diversos me-canismos individuais do SpagoBI

O sistema eacute completamente desen-volvido em Java com operaccedilatildeo pelo navegador web para uso e consultas Certos componentes satildeo utilizados em ambiente graacutefico ndash e natildeo web ndash como o mecanismo ETL Entre os componentes agrupados pelo SpagoBI podemos encontrar projetos de Coacutedigo Aberto bem conhecidos como Weka para mineraccedilatildeo de dados Mondrian e PALO para anaacutelise

OLAP de cubos multi-dimen-sionais

BIRT e Jasper Reports para ge-raccedilatildeo de relatoacuterios

Talend para processos ETL Lazslo para paineacuteis de controle

e indicadores

OperaccedilatildeoPrimeiramente o aplicativo deve ser acessado por meio do navegador web O mecanismo de seguranccedila determi-na as permissotildees de acesso do usuaacuterio no processo de login (figura 3)

Apoacutes o login o usuaacuterio tem agrave dis-posiccedilatildeo a tela inicial em que pode

Figura 6 Tela com a visatildeo geograacutefica dos dados

Figura 7 Interface de acesso a BI fornecida pelo WebOS

Figura 8 Seleccedilatildeo de relatoacuterios no navegador BI

copy Linux New Media do Brasil Editora Ltda

63

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

selecionar as operaccedilotildees a efetuar A figura 4 exibe o painel de controle com indicadores de desempenho

Eacute possiacutevel substituir os indicadores visuais da figura 4 por outros como os da figura 5 particularmente interes-santes para o usuaacuterio por mudarem de posiccedilatildeo dinamicamente pelo acesso regular aos dados que representam O painel portanto natildeo conteacutem ape-nas informaccedilotildees estaacuteticas

Para gerar uma nova consulta o usuaacuterio pode usar a funcionalidade QbE (query by example) que exibe as tabelas que podem ser consulta-das e para cada uma os dados que podem ser selecionados

Com as consultas definidas tan-to diretamente em bancos de dados quanto em cubos para anaacutelise OLAP pode ser configurada uma tela de con-sulta geograacutefica conforme mostrado na figura 6 Selecionando aacutereas da fi-gura o usuaacuterio seraacute levado a telas de consulta dos detalhes do item

Usando as possibilidades do We-bOS eacute possiacutevel definir telas BI mais sofisticadas conforme mostra a figura 7 Poreacutem caso a consulta requerida seja frequumlente talvez jaacute esteja disponiacutevel para consulta imediata pelo navegador de consultas do sistema (figura 8)

A interface graacutefica do aplicativo web permite que o usuaacuterio agrupe di-ferentes relatoacuterios e visotildees em conjun-tos denominados dossiecircs Cada rela-

toacuterio ou objeto BI em geral permite que o usuaacuterio faccedila anotaccedilotildees Assim pode ser delegada a funccedilatildeo de pre-parar por exem-plo um dossiecirc de status de projeto a usuaacuterios de dife-rentes aacutereas que possam preparar o material e re-gistrar questotildees relevantes para a anaacutelise final Essa

eacute a base das possibilidades colabora-tivas do sistema

Os relatoacuterios podem ser salvos em diferentes formatos atualmen-te limitados a HTML PDF XLS CSV XML TXT e JPG

A figura 9 mostra um exemplo de tela com o editor de notas aberto

ConclusatildeoFazer uso eficiente e produtivo de um pacote de BI eacute uma meta nobre e difiacutecil de atingir A forma de implementar o SpagoBI e a possibilidade de integraccedilatildeo de motores individuais de diferentes fa-bricantes permite que o uso do SpagoBI comece pouco difundido e aumente conforme as necessidades

A implementaccedilatildeo do SpagoBI considera ter resultados bons mesmo que parciais algo muito importante para o projeto de implementaccedilatildeo O SpagoBI permite que a empresa inicie por exemplo apenas com a necessidade de um termocircmetro que mostre em forma de painel de con-trole a quantidade de peccedilas vendidas por semana

O estudo da Ventana Research mencionado anteriormente mos-tra que as empresas entrevistadas consideram que os pacotes de BI de Coacutedigo Aberto tecircm suficientes caracteriacutesticas para serem usados Esse eacute o caso do SpagoBI o clien-te que resolver iniciar um projeto

de BI com ele natildeo sentiraacute falta de funcionalidades para aspectos fun-damentais de BI Destacamos que para uma implementaccedilatildeo bem sucedida eacute muito importante dar passos firmes sustentados com um planejamento adequado

Mais informaccedilotildees

[1] Aquisiccedilatildeo da Hyperion pela Oracle httpwwworaclecomcorporatepress2007_marhyperionhtml

[2] Aquisiccedilatildeo da Business Objects pela SAP httpwwwbusinessobjectscomcompanysap

[3] Aquisiccedilatildeo da Cognos pela IBM httpwwwcognoscomnewsreleases20071112html

[4] Ventana Research httpwwwventanaresearchcom

[5] SpagoBI httpspagobiengit

[6] Consoacutercio OW2 httpwwwow2org

[7] Bull httpwwwbullcombr

[8] France Telecom httpwwwfrancetelecomcom

[9] PALO httpwwwjedoxcom

[10] JPALO httpwwwjpalocom

[11] Eclipse httpwwweclipseorg

[12] eXo Platform httpwikiexoplatformcomxwikibinviewMain

[13] WebOS httpwikiexoplatformcomxwikibinviewMainWebOS+concept

[14] Liferay httpwwwliferaycom

Figura 9 Relatoacuterio graacutefico mostrando o editor de notas

copy Linux New Media do Brasil Editora Ltda

64

AN

AacuteLIS

E

httpwwwlinuxmagazinecombr

DVD do assinante Librix 3

Para conquistar o puacuteblicoEm sua versatildeo 30 o Librix da Itautec atinge a maturidade para ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientespor Pablo Hess

Distribuiccedilotildees genuinamente nacionais de grande sucesso jaacute foram numerosas e muito

presentes nas maacutequinas brasileiras Atualmente no entanto satildeo raras especialmente apoacutes a meteoacuterica as-cenccedilatildeo do Ubuntu entre os usuaacuterios de desktop assim como a ampla ado-

ccedilatildeo de distribuiccedilotildees mundialmente difundidas como Open Suse Fedora e Mandriva

A onda de novas distribuiccedilotildees nacio-nais no entanto promete mudar esse cenaacuterio Fortemente baseadas em dis-tribuiccedilotildees usadas em grande escala no exterior as distribuiccedilotildees que equipam os

computadores ven-didos sob o programa Computador Para Todos do Governo Federal geralmente realizam apenas al-gumas adaptaccedilotildees graacuteficas e de idiomas para tornarem o uso das maacutequinas mais praacutetico para nosso povo ndash com algumas exceccedilotildees eacute claro

Uma das mais gratas dentre exce-ccedilotildees estaacute sendo en-tregue junto com o DVD do assinante desta ediccedilatildeo da Li-nux Magazine O Librix 3 fabricado pela Itautec tem base no poderoso e flexiacutevel Gentoo ndash conhecido espe-cialmente entre os usuaacuterios avanccedilados de Linux O valor do Librix no entanto reside justamente em seu sucesso na oferta de inuacutemeras vantagens a uma

ampla gama de usuaacuterios Enquanto os mais iacutentimos do sistema do pinguumlim tecircm agrave disposiccedilatildeo os flexiacuteveis utilitaacuterios de linha de comando do Gentoo os usuaacuterios inexperientes que iniciam seu aprendizado em Linux com a dis-tribuiccedilatildeo da Itautec desfrutam de um agradaacutevel e organizado ndash aleacutem de atra-ente claro ndash ambiente KDE

BelezaA aacuterea de trabalho do Librix (figura 1) traz os principais iacutecones que o usuaacuterio iniciante espera encontrar aleacutem da Pasta do Usuaacuterio pode-se acessar o navegador Firefox o pacote de escritoacute-rio BrOfficeorg o Sistema Konqueror (acessando a URI system e exibindo locais de rede e miacutedias externas ndash figura 2) e a lixeira

E jaacute comeccedilam as inovaccedilotildees O tema adotado por padratildeo como mostra a fi-gura 2 eacute colorido e elegante capaz de agradar todos os tipos de usuaacuterios ndash uma constante nessa versatildeo da distribuiccedilatildeo jaacute podemos adiantar Os efeitos graacuteficos do desktop fornecidos pelo gerenciador de janelas Compiz e com ornamentos do Emerald vecircm desabilitados mas um iacutecone na barra de tarefas (figura 3) permite sua ativaccedilatildeo e configura-ccedilatildeo baacutesica com apenas dois cliques do mouse ou a alteraccedilatildeo de opccedilotildees mais avanccediladas mediante o acionamento de utilitaacuterios completos

Ao ser ativado o Compiz a con-figuraccedilatildeo-padratildeo do Librix 3 utiliza todos os recursos disponiacuteveis geral-mente em modo aleatoacuterio Embora isso possa ser impressionante para fins de demonstraccedilatildeo os usuaacuterios

Figura 1 A aacuterea de trabalho do Librix 3 traz os iacutecones mais impor-tantes e um visual muito atraente

Figura 2 O navegador do sistema exibe dispositivos de armazena-mento externos e remotos

copy Linux New Media do Brasil Editora Ltda

65

| ANAacuteLISEDVD do assinante

Linux Magazine 42 | Maio de 2008

podem se cansar rapidamente desse comportamento exagerado

O menu trazido pela Itautec (figura 4) eacute outro aspecto novo nessa versatildeo da distribuiccedilatildeo Seu comportamen-to diferente do presente nas demais distribuiccedilotildees Linux da atualidade no entanto pode ser um fator negativo especialmente para os usuaacuterios inex-perientes ndash felizmente desativaacute-lo eacute tatildeo faacutecil quanto ativar os efeitos 3D exigindo apenas um clique com o botatildeo direito sobre o botatildeo Menu e sua configuraccedilatildeo

PoderO sistema Gentoo que vive sob o Librix eacute o velho conhecido dos obcecados por personalizaccedilatildeo Utilizando um mirror da distribuiccedilatildeo padratildeo os pacotes que diferenciam essa distribuiccedilatildeo de sua ldquoprogenitorardquo residem nos overlays (re-positoacuterios alternativos de pacotes) locais em usrlocalportage e usrlocalportagexeffects Isso eacute suficiente para fornecer ao Librix o pacote de escritoacuterio BrOfficeorg (ausente no Gentoo) e o gerenciador graacutefico de pacotes Tutoo Package Manager (figura 5) aleacutem de alguns outros softwares que englobam desde moacutedulos para a linguagem Python ateacute as leves particularidades graacuteficas do sistema da Itautec

Mesmo com todas essas facilida-des o gerenciamento do sistema pode ser feito inteiramente pela linha de comando com os poderosos emer-ge eselect equery e companhia A

Itautec natildeo utiliza pacotes binaacuterios ou seja o sistema compila cada um dos pa-cotes instalados no sistema salvo importantes exceccedilotildees como o BrOfficeorg ndash cuja compilaccedilatildeo levaria vaacuterias horas Apesar de tornar a instalaccedilatildeo de novos softwa-res significativamente mais lenta que distribuiccedilotildees com pacotes DEB RPM ou tgz essa estra-teacutegia garante a possibilidade de per-sonalizaccedilatildeo por meio das flags USE responsaacuteveis por ativar ou desativar as opccedilotildees de compilaccedilatildeo de cada pacote que compotildee o sistema Aleacutem disso garante a constante atualizaccedilatildeo dos pacotes satisfazendo dependecircncias com facilidade e anulando as restri-ccedilotildees de versotildees de bibliotecas

PraticidadeNatildeo haacute como negar o puacuteblico-alvo dessa distribuiccedilatildeo eacute o usuaacuterio iniciante que estaacute travando seu primeiro contato com o Linux Nesse sentido um im-portante aspecto do sistema eacute incluir ldquode faacutebricardquo softwares que supram as necessidades de quem jaacute tem costume com algum sistema Windowsreg

O Librix jaacute traz os codecs de aacuteudio e viacutedeo proprietaacuterios da Microsoft (WMA e WMV satildeo seus principais represen-tantes) e eacute capaz de reproduzir DVDs em seu reprodutor multimiacutedia Kaffeine Os usuaacuterios do iTunes da Apple tam-beacutem podem evitar a saudade usando

o amigaacutevel Amarok Softwares raramente incluiacutedos em outras distribuiccedilotildees como o Skype e o geren-ciador de downloads Downloader for X por exemplo tam-beacutem vecircm instalados mas falta um utilitaacute-rio de configuraccedilatildeo de conexotildees PPPoE a mais comum em serviccedilos ADSL

ConclusotildeesA Itautec vem me-lhorando seu Librix a cada nova versatildeo Com facilidades im-portantes voltadas aos novos usuaacuterios Linux a distribuiccedilatildeo se torna uma al-ternativa interessante para os usuaacuterios que temem deixar sua zona de con-forto em relaccedilatildeo ao comportamento de seu desktop

O gerenciamento de pacotes agora feito pelo TPM finalmente alcanccedilou o niacutevel de maturidade exigido para satisfa-zer as necessidades do puacuteblico iniciante ndash principalmente a facilidade de uso e compreensatildeo ndash ainda assim preservando o poder do Portage ldquosob o capocircrdquo

O visual e o comportamento do am-biente desktop fazem alusatildeo agraves atuais versotildees do Windows (XP e Vista) o que certamente contribui para a que-da de uma importante barreira para a adoccedilatildeo dessa distribuiccedilatildeo no programa Computador Para Todos

Figura 3 Ativar e desativar os efeitos 3D na aacuterea de trabalho do Librix eacute muito praacutetico

Figura 4 O menu KBFX vem ativado por padratildeo e mostra seme-lhanccedilas com o de diferentes versotildees do Windows

Figura 5 O Tutoo Package Manager livra o usuaacuterio de adquirir intimidade com o comando emerge

copy Linux New Media do Brasil Editora Ltda

66 httpwwwlinuxmagazinecombr

Manipulando maacutequinas com o Puppet

MarioneteAprenda a economizar tempo e agilize a administraccedilatildeo de sistemas com ajuda do Puppet uma ferramenta de gerenciamento e configuraccedilatildeo centralizadospor Juliet Kemp

O Puppet eacute um sistema centra-lizado de gerenciamento de configuraccedilatildeo que usa uma

linguagem de especificaccedilatildeo multiplata-forma Para usaacute-lo executa-se um ser-vidor Puppet central ndash o puppetmaster ndash e os daemons do programa em todos os computadores que devem ser admi-nistrados As opccedilotildees de configuraccedilatildeo para todas as maacutequinas-cliente satildeo es-pecificadas no PuppetMaster Depois as alteraccedilotildees nas configuraccedilotildees satildeo propagadas a partir do PuppetMaster para os clientes adequados

O Puppet permite o gerenciamento de arquivos (dono modo conteuacutedo e existecircncia) usuaacuterios grupos pa-cotes e serviccedilos a partir de um local central Pode-se rodar comandos ou scripts e tambeacutem eacute possiacutevel gerenciar crontabs montagem de sistemas de arquivos e configuraccedilotildees de rede

Cada item gerenciado eacute chamado de recurso e os recursos satildeo categori-zados em tipos (por exemplo arquivo pacote serviccedilo cron) O Puppet estaacute em intenso desenvolvimento receben-do novos tipos regularmente ndash pode-se ateacute criar tipos personalizados

Por que usaacute-loOs trecircs principais motivos para usar o Puppet satildeo 1 O programa manteacutem um regis-

tro da configuraccedilatildeo do cliente Se um sistema-cliente morrer eacute possiacutevel gerar uma configura-ccedilatildeo idecircntica num novo sistema com base na informaccedilatildeo arma-zenada no Puppetmaster

2 Se houver mais de uma maacutequi-na eacute possiacutevel instalaacute-las de forma idecircntica ou usar o mesmo siste-ma-base e aplicar as modificaccedilotildees para clientes individuais

3 O conjunto de tipos do Puppet facilita o gerenciamento de muacuteltiplos sistemas a partir de um local uacutenico

Outra vantagem do Puppet eacute que ele funciona em conjunto com uma ferramenta chamada Facter Ela define variaacuteveis especiacuteficas em cada maacutequina (como nome da maacutequina endereccedilo IP e sistema operacional) automatica-mente permitindo um ajuste fino de configuraccedilotildees especiacuteficas em clientes individuais sem perder os benefiacutecios de uma configuraccedilatildeo comum

Instalaccedilatildeo e configuraccedilatildeoO coacutedigo-fonte do Puppet estaacute dispo-niacutevel no site do projeto[1] e seus pa-cotes estatildeo presentes nos repositoacuterios de vaacuterias distribuiccedilotildees Linux

O principal arquivo de configuraccedilatildeo eacute etcpuppetpuppetmasterconf com uma estrutura bem clara e simples

[puppetmasterd] Assegure-se de que todas as mensagens de log sejam enviadas ao di- retorio correto Ele deve ser gravavel pelo usuario puppetlogdir=varlogpuppetvardir=varlibpuppetrundir=varrun

Para guardar tambeacutem o conteuacutedo dos arquivos seraacute necessaacuterio uma con-figuraccedilatildeo de servidor de arquivos em etcpuppetfileserverconf O coacutedigo mostrado a seguir exibe o caminho para o armazenamento de arquivos no puppetmaster e permite o acesso a todas as maacutequinas em exemplocom

[files] path etcpuppetfiles allow exemplocom deny ruimexemplocom allow 1921680024

Aleacutem disso tambeacutem eacute possiacutevel ba-nir domiacutenios ou maacutequinas especiacuteficos bem como especificar por endereccedilo IP caso seja preferiacutevel Para criar os usuaacuterios do Puppet que o daemon utiliza deve-se usar a opccedilatildeo mkusers ao executar o daemon puppetmaster pela primeira vez

Como ainda natildeo foram criadas as definiccedilotildees dos noacutes tambeacutem seraacute ne-cessaacuterio usar a opccedilatildeo --nonodes

usrbinpuppetmasterd --mkusers --nonodes

Receita baacutesicaCom a configuraccedilatildeo baacutesica jaacute feita vejamos como configurar o mani-festo do site e comeccedilar a gerenciar as configuraccedilotildees e outros tipos Por padratildeo o principal manifesto de site do Puppet fica em etcpuppetma-nifestssitepp Tudo nesse arquivo seraacute executado em todos os clientes Para comeccedilar podemos tentar colo-

RE

DE

S

dim

itris

pet

rid

is ndash

ww

ws

xch

u

copy Linux New Media do Brasil Editora Ltda

67

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

car algo numa receita faacutecil o arquivo sudoers eacute um bom candidato

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo440rdquo

Isso garante que o arquivo sudoers do cliente tenha essas propriedades

ClienteEm seguida eacute necessaacuterio iniciar o PuppetMaster e configurar um cliente para testes No cliente eacute necessaacuterio o pacote puppet Para definir o nome do servidor para um site deve-se in-cluir no arquivo etcpuppetpuppetdconf a linha

server = puppetserverexemplocom

Depois alterar os modos ou o dono do arquivo etcsudoers no cliente para que fiquem diferentes do es-pecificado no arquivo sitepp do PuppetMaster A seguir deve-se executar o cliente pela primeira vez com o comando

puppetd --waitforcert 60 --test

Os clientes satildeo autenticados por uma requisiccedilatildeo de certificado ao Pu-ppetMaster O cliente acusaraacute a falta de um certificado e em seguida faraacute uma pausa para que se possa ordenar que o PuppetMaster assine o certifi-cado do cliente O comando puppet-ca --list no PuppetMaster lista os clientes que aguardam sua assinatura Com puppetca --sign clienteexemplocom (novamente no PuppetMaster) o certificado seraacute assinado (puppetca --sign --all assinaraacute todos os certifica-dos que estatildeo aguardando) Apoacutes 60 segundos o cliente obteacutem o certificado assinado e eacute executado A opccedilatildeo test faz com que o cliente rode em modo verboso e apenas uma vez

Apoacutes terminar eacute importante verifi-car o arquivo etcsudoers o modo deve ser o mesmo especificado no Puppet-Master e natildeo o que foi alterado

Aleacutem de gerenciar atributos de arquivos o Puppet tambeacutem gerencia seu conteuacutedo atuando como servi-dor de arquivos Para isso primeiro eacute preciso criar um arquivo sudoers de exemplo e colocaacute-lo em etcpu-ppetfilessudoers

Em seguida edite novamente o arquivo sitepp para que a receita do sudoers fique semelhante a

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt 440 source =gt ldquopuppetpuppetserverexemplocomfilessudoersrdquo

Edite o arquivo no cliente para que ele fique diferente do con-teuacutedo acima e rode novamente o Puppet com o comando ppuppetd --test O conteuacutedo do arquivo seraacute alterado

O trecho abaixo tambeacutem mostra como usar um uacutenico contecirciner file para muacuteltiplos recursos de arquivo

file ldquostarrdquo ensure =gt link target =gt ldquosoft9starrdquo ldquotestdirrdquo ensure =gt directory

DependecircnciasOs recursos interagem uns com os outros Certos pacotes satildeo necessaacute-rios para determinados serviccedilos por exemplo ou talvez se queira reiniciar um serviccedilo quando um arquivo espe-ciacutefico for alterado O Puppet possui dependecircncias ndash notavelmente require

e subscribe ndash para especificar essas interaccedilotildees

O trecho abaixo usa o tipo service que pode ser usado para qualquer daemon que se queira deixar em execuccedilatildeo (no caso o Slapd)

service ldquoslapdrdquo ensure =gt running hasrestart =gt true require =gt Package[ldquoslapdrdquo] subscribe =gt [File[ldquoldapconfrdquo] File[ldquoetcldapschemardquo]]

A opccedilatildeo hasrestart informa ao Pu-ppet se ele deve reiniciar o serviccedilo com stopstart ou com restart A diretiva re-quire simplesmente fornece um rela-cionamento de ordem ela garante que o recurso referido ndash no caso o pacote slapd ndash estaraacute configurado antes deste serviccedilo Todos os tipos suportam isso

O item subscribe eacute uma depen-decircncia relativa Se os recursos espe-cificados forem alterados o item eacute atualizado Os tipos exec service e mount suportam isso

Note a forma como os recursos do Puppet satildeo especificados nesse contex-to com o nome do tipo comeccedilando com letra maiuacutescula e fornecendo o nome do recurso Aleacutem disso esses recursos precisam ser especificados em outros locais ou ocorreraacute um erro

O Puppet eacute capaz de gerenciar diversos tipos packages o Puppet interage

com a maioria dos principais sistemas de pacotes e pode garantir que programas espe-ciacuteficos estejam instalados o que eacute particularmente uacutetil ao instalar uma nova maacutequina

package ldquoslapdrdquo ensure =gt installed

exec executa comandos internos O comando subscribe eacute uacutetil nesse ponto Por exemplo um trecho

copy Linux New Media do Brasil Editora Ltda

68 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

que atualiza o exim4 quando sua configuraccedilatildeo eacute modificada

exec ldquoexim4-updaterdquo command =gt ldquousrsbinupdate-exim4confrdquo user =gt ldquorootrdquo subscribe =gt File[ldquoupdate-exim4rdquo] refreshonly =gt true

usuaacuterios e grupos esse tipo tem como objetivo gerenciar usuaacute-rios do sistema e natildeo usuaacuterios normais Eacute possiacutevel gerenciar o diretoacuterio home (por exemplo criaacute-lo) assim como outros atri-butos de usuaacuterio

user ldquomanagerrdquo ensure =gt present home =gt ldquolocalmanagerrdquo managehome =gt true gid =gt ldquosystemusersrdquo

cron gerencia cron jobs Um uso possiacutevel para esse recurso eacute reini-ciar o Puppet em clientes caso ele falhe como mostra o exem-plo 1 Embora esteja mostrado em muacuteltiplas linhas o coman-do tambeacutem pode ser usado em uma uacutenica A hora e o dia para execuccedilatildeo do cron job assim como o usuaacuterio a executar a ta-refa podem ser definidos como no trecho acima O comando eacute adicionado ao crontab do usuaacuterio correspondente

mount monta diretoacuterios para o en-sure Se o paracircmetro ensure estiver definido como present o sistema de arquivos estaraacute na tabela mas natildeo montado Se o paracircmetro estiver definido como mounted o sistema de arquivos seraacute adicio-nado agrave tabela e montado E se o paracircmetro estiver definido como absent o sistema de arquivos seraacute removido da tabela

Tambeacutem estatildeo disponiacuteveis vaacuterios atributos de rede maacutequinas in-terfaces listas de email aliases de email e chaves SSH

PadrotildeesEacute possiacutevel definir padrotildees para qual-quer recurso Por exemplo se a maio-ria dos arquivos de uma maacutequina pertencer ao usuaacuterio root e tiverem permissotildees 644 o seguinte trecho vai estabelecer esses valores como padratildeo para todos os arquivos

File owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo644rdquo

Para contornar esse padratildeo basta es-pecificar um valor diferente para qual-quer um desses paracircmetros num recurso especiacutefico Note que os padrotildees somente se aplicam a seu proacuteprio escopo (classe) e a qualquer classe abaixo dessa se for desejaacutevel aplicaacute-los globalmente eacute ne-cessaacuterio defini-los fora de todas as classes ndash por exemplo no arquivo sitepp

Organizaccedilatildeo do diretoacuterioO site do Puppet oferece sugestotildees de organizaccedilatildeo de arquivos e ma-nifestos Independente do sistema usado eacute importante certificar-se de que ele seja compreensiacutevel e facil-mente atualizaacutevel

Um exemplo seria

- Diretoacuterio principal do Puppet |- Arquivos |- Aplicativos |- Usuaacuterios |- Manifestos |- sitepp - Noacutes - diretoacuterio com manifestos de vaacuterios noacutes - confira a proacutexima seccedilatildeo - Classes - diretoacuterio com manifestos de vaacuterias classes dependendo do programa (aptpp apache2pp) |- Definiccedilotildees |- Modelos (templates)

Todos os subdiretoacuterios contecircm arquivos de classe (veja abaixo) e para incluiacute-los o arquivo sitepp fica semelhante a

import ldquoclassesrdquoimport ldquodefinicoesrdquoimport ldquonosrdquoimport ldquousuariosrdquo

NoacutesAteacute o momento consideramos somen-te a configuraccedilatildeo de uma uacutenica maacute-quina mas o Puppet realmente brilha quando se tem muacuteltiplas maacutequinas Se forem todas idecircnticas basta criar uma configuraccedilatildeo ndash a padratildeo

siteppdefault include sudo

Mas tambeacutem se pode ter uma confi-guraccedilatildeo diferente para cada maacutequina

Exemplo 1 Cron job para reiniciar o Puppet

01 cron restart-puppet02 command =gt lsquoif [ -e varrunpuppetdpid ] then ps uw -p `cat varrunpuppetdpid` | grep -q lsquo ruby usrsbinpuppetdrsquo03 || (rm varrunpuppetdpid etcinitdpuppet start) firsquo04 user =gt root05 minute =gt lsquo0rsquo06

copy Linux New Media do Brasil Editora Ltda

69

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

assim como criar configuraccedilotildees-base e depois herdaacute-las ou incluiacute-las na configuraccedilatildeo dos noacutes Por exemplo eacute possiacutevel criar uma configuraccedilatildeo baacute-sica para servidores diferente daquela para desktops e ambas podem herdar de uma base ou configuraccedilatildeo-padratildeo comum (exemplo 2)

As classes podem ser especifica-das num arquivo individual ou em um arquivo por classe recomenda-se a segunda forma para facilitar o gerenciamento

Facter modelos variaacuteveisUm aspecto uacutetil do Puppet eacute que ele vem com o Facter uma ferramenta que informa vaacuterios ldquofatosrdquo (facts em inglecircs daiacute o nome Facter) a respeito de uma maacutequina especiacutefica incluindo seu nome IP arquitetura sistema ope-racional chave SSH informaccedilotildees de processador e memoacuteria entre outros

Para uma lista completa dos fatos fornecidos por padratildeo basta digitar facter na linha de comando Eacute pos-siacutevel consultar esses fatos de den-tro do Puppet com $nome_do_fato Eles possuem dois usos importan-tes criar estruturas condicionais e usaacute-las em modelos

CondicionaisO Puppet possui trecircs tipos de con-dicionais 1 seletores satildeo usados dentro de

uma diretiva

package ldquokbr-clientsrdquo ensure =gt $operatingsystem ubuntu =gt absent debian =gt installed default = undef

Nesse trecho se o fato $opera-tingsystem estiver definido como

ubuntu o pacote natildeo estaraacute ins-talado se estiver como debian o pacote estaraacute instalado O padratildeo eacute natildeo definir o atributo

2 A diretiva case oferece uma forma de aplicar classes con-dicionalmente

case $operatingsystem ubuntu include ubuntu debian include debian default include basic

Nesse trecho a classe especiacute-fica a cada sistema operacio-nal eacute incluiacuteda dependendo

novamente do valor do fato $operatingsystem Eacute possiacutevel especificar muacuteltiplas condiccedilotildees entre viacutergulas

3 Tambeacutem existe uma estrutura ifelse mais simples

if $needexample file ldquousrlocalexemplordquo ensure =gt present else file ldquousrlocaltesterdquo ensure =gt present

Exemplo 2 Muacuteltiplas classes e heranccedila

01 class base 02 Varias coisas basicas03 include autofs04 include cron05 include puppet06 include ssh07 e assim por diante08 0910 class desktop inherits base 11 Tudo na classe lsquobasersquo serah automaticamente incluido aqui12 Depois tambem eh possivel13 include latex14 include gnome15 e assim por diante16 1718 class server inherits base 19 Novamente tudo da classe lsquobasersquo serah automaticamente incluido20 E depois outras coisas exclusivas de servidores21 include nfs22 e assim por diante23

Exemplo 3 iptableserb

01 filter02 INPUT DROP [00]03 FORWARD DROP [00]04 OUTPUT ACCEPT [00]05 -A INPUT -d 127000255000 -i lo -p tcp -j DROP06 -A INPUT -d lt= ipaddress gt -m state --state RELATEDESTABLISHED -j ACCEPT07 -A INPUT -i lo -j ACCEPT08 -A INPUT -s 10419815302552552550 -d lt= ipaddress gt -j ACCEPT09 -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j LOG --log-prefix ldquosshrdquo -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j ACCEPT10 COMMIT

copy Linux New Media do Brasil Editora Ltda

70 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

Atualmente eacute possiacutevel determinar apenas se uma dada variaacutevel estaacute de-finida sem distinguir entre valores es-peciacuteficos Para fazer isso eacute necessaacuterio usar as diretivas case ou selector

ModelosOs modelos usam a linguagem Ruby para inserir variaacuteveis num arquivo-fonte Em outras palavras eacute como fornecer um arquivo central que pode variar de uma maacutequina para outra

Um bom exemplo de uso de um fato num modelo eacute definir uma po-liacutetica de ipchains Por exemplo o ar-quivo iptableserb (ERB eacute a sintaxe de modelos do Ruby) mostrado no exemplo 3 utiliza o fato $ipaddress

Depois eacute possiacutevel fazer referecircncia a esse modelo

file ldquoiptables_configrdquo name =gt ldquoetcsysconfigiptablesrdquo content =gt template(ldquoetcpuppettemplatesiptableserbrdquo)

Note que enquanto os arquivos precisam da sintaxe puppetpu-ppetserverexemplocom os modelos natildeo precisam

Fatos personalizadosOs fatos-padratildeo estatildeo disponiacuteveis em todos os clientes automaticamente

Poreacutem caso se deseje criar fatos personalizados eacute interessante mantecirc-los no PuppetMaster e entatildeo confi-gurar os clientes para sincronizarem seus fatos com o servidor

Acrescente a seguinte seccedilatildeo ao arquivo etcpuppetfileserverconf no puppetmaster

[facts] path etcpuppetfacts allow exemplocom

e em cada cliente adicione a se-guinte linha ao arquivo etcpuppetpuppetdconf

factsync = true

Em seguida reinicie o PuppetMas-ter no servidor e o Puppet nos clientes Agora jaacute eacute possiacutevel colocar qualquer fato personalizado em etcpuppetfacts e propagaacute-lo Por exemplo para criar uma regra que defina o fato $home com a variaacutevel de ambiente $HOME basta criar o arquivo etcpuppetfactshomerb

Facteradd(ldquohomerdquo) do setcode do ENV[lsquoHOMErsquo] endend

Da proacutexima vez que o Puppet rodar nos clientes esse fato seraacute sin-

cronizado e entatildeo poderaacute ser usado em qualquer receita

Outras variaacuteveisVariaacuteveis tambeacutem satildeo uacuteteis em outras situaccedilotildees Uma variaacutevel definida no arquivo sitepp ficaraacute disponiacutevel para todos os outros manifestos e classes Caso haja um conjunto-padratildeo de usuaacuterios com permissatildeo para fazer login nos servidores e se quiser edi-tar o arquivo etcsshsshd_config de acordo o coacutedigo do exemplo 4 funcionaraacute muito bem

Configurar o servidor de arqui-vos por meio de uma variaacutevel tam-beacutem eacute uma boa ideacuteia se o servidor sofrer alteraccedilotildees natildeo seraacute neces-saacuterio editar cada arquivo que faz referecircncia ao Puppet

ConclusatildeoEssa breve apresentaccedilatildeo fornece somente um raacutepido panorama das possibilidades do Puppet As versotildees mais recentes do software permitem que se organize a configuraccedilatildeo em moacutedulos o que oferece ainda mais flexibilidade e reusabilidade Caso se use LDAP para armazenar infor-maccedilotildees de maacutequinas e usuaacuterios eacute possiacutevel tambeacutem obter as definiccedilotildees dos noacutes a partir desse recurso

Caso sejam necessaacuterias mais informa-ccedilotildees ou suporte o site do Puppet assim como seu wiki[2] e sua lista de emails[3] satildeo de grande ajuda Tenha nas matildeos o controle de suas maacutequinas

Mais informaccedilotildees

[1] Projeto Puppet httpreductivelabscomprojetspuppet

[2] Wiki do Puppet httpreductivelabscomtracpuppetwiki

[3] Lista do Puppet httpreductivelabscomtracpuppetwikiGettingHelpmailing-list

Exemplo 4 Uso de variaacuteveis no SSH

01 em sitepp02 $server_ssh_users = ldquoroot jkemp adminrdquo0304 em sshpp ou qualquer outro lugar a sua escolha05 file ldquosshd_configrdquo06 name =gt ldquoetcsshsshd_configrdquo07 allow_users =gt lsquoAllowUsers $server_ssh_usersrsquo08 template =gt ldquoetcpuppettemplatessshd_configerbrdquo09 1011 trecho relevante de sshd_configerb12 LoginGraceTime 60013 PermitRootLogin without-password14 StrictModes yes1516 lt= allow_users gt

copy Linux New Media do Brasil Editora Ltda

71Linux Magazine 42 | Maio de 2008

Firewall faacutecil com o Shorewall

Domando o fogoEacute verdade que firewalls devem ser administrados por especialistas Poreacutem ateacute esses profissionais podem se beneficiar de uma interface praacutetica para essa tarefapor Tarciacutesio Carvalho Espiacutenola

Montar um firewall para a proteccedilatildeo de um uacutenico servidor natildeo eacute tarefa das

mais simples Imagine montar um firewall para uma rede inteira que requer muito mais atenccedilatildeo e conhe-cimento tanto dos serviccedilos quanto das ferramentas utilizadas Qualquer descuido pode comprometer toda a seguranccedila da rede e a reputaccedilatildeo do seu administrador

No caso especiacutefico do Linux tra-balhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas principalmente para usuaacuterios novatos ou acostuma-dos apenas com cliques na interfa-ce graacutefica A criaccedilatildeo de regras mais elaboradas requer tantas opccedilotildees e paracircmetros ndash e em uma rede mais complexa teremos dezenas delas ndash que eacute faacutecil cometer erros

Natildeo estamos questionando a efi-caacutecia dessa poderosa ferramenta muito pelo contraacuterio o domiacutenio de seus comandos para uma utilizaccedilatildeo eficiente e segura em situaccedilotildees mais avanccediladas exige bastante experiecircncia por parte do administrador Pensan-do nisso Thomas M Eastep teve a brilhante ideacuteia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e

atarefado administrador de rede e o prolixo mas poderoso software Iptables o Shorewall[1]

A forma simples e intuitiva como satildeo desenvolvidas as regras no Shorewall facilita bastante a cria-ccedilatildeo e manutenccedilatildeo do firewall Na inicializaccedilatildeo do serviccedilo as regras definidas pelo administrador satildeo compiladas e convertidas em regras do Iptables que seraacute o responsaacutevel pelo firewall

Devido agrave sua compe-tecircncia o Shorewall per-mite tambeacutem que o admi-nistrador aprimore seus conhecimentos na opera-ccedilatildeo do Iptables estudan-do as regras criadas pelo programa a partir das ins-truccedilotildees passadas de forma graacutefica Quando o admi-nistrador adota a defini-ccedilatildeo graacutefica de regras pelo Shorewall geralmente aumenta sua capacidade de criar e gerenciar confi-guraccedilotildees mais complexas O poder da interface graacute-fica nesse caso estaacute em permitir a administraccedilatildeo de muacuteltiplas regras de forma facilitada

Para ilustrar a utilizaccedilatildeo do Sho-rewall mostraremos como configurar o firewall de uma rede normalmente utilizada em pequenas e meacutedias em-presas (figura 1) embora o Shorewall possa ser utilizado em situaccedilotildees bem mais complexas

Infra-estruturaEm nossa rede de exemplo usaremos servidores e estaccedilotildees Linux e Win-dowsreg para mostrar que os serviccedilos

SE

GU

RA

NCcedil

A

Figura 1 A rede utilizada neste artigo eacute bastante simples composta por uma DMZ uma rede local e o firewall conectando ambas agrave Internet

Ramon Gonzalez - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

72 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

apresentados natildeo de-pendem dos sistemas operacionais utilizados com exceccedilatildeo claro do servidor firewall que de-veraacute necessariamente usar Linux

Para fins de exemplo suponhamos que nossos 64 IPs pertencem agrave fai-xa 20016616119226 distribuiacutedos da se-guinte forma IP da rede 200

166161192 maacutescara 255255

255192

IPs utilizaacuteveis 200166161193 a 200166161254

IP broadcast 200166161255A figura 2 e a tabela 1 detalham os pa-

racircmetros da nossa rede de exemploEm seguida basta configurar o

servidor DHCP da rede local com os paracircmetros acima Na configuraccedilatildeo das regras do firewall consideraremos que o serviccedilo de DHCP seraacute oferecido pelo proacuteprio servidor firewall como veremos mais adiante mas a sua configuraccedilatildeo foge do escopo deste artigo

A DMZ (zona desmilitarizada) obviamente fica isolada da rede local Nela seratildeo conectados os servidores Observe que na figura 2 foi definido inclusive o endereccedilo IP da estaccedilatildeo re-mota que teraacute acesso a alguns serviccedilos nas estaccedilotildees da rede local

Note que dos 64 endereccedilos de que dispomos iremos utilizar apenas seis (um para a rede outro de broadcast um no roteador e trecircs nos servidores) e os 58 restantes seratildeo desperdiccedilados Isso eacute muito comum nos contratos com operadoras ao menos no Brasil Esse tipo de contrato tem ajudado a agravar a escassez de endereccedilos IP disponiacuteveis na Internet

InstalaccedilatildeoVamos agora instalar a ferramenta que seraacute utilizada na configuraccedilatildeo do firewall Antes de iniciar no entanto eacute importante lembrar que a versatildeo mais recente do Shorewall no momento da escrita deste artigo era a 408

O Shorewall funciona da seguinte maneira ao ser iniciado o programa as configuraccedilotildees definidas nos arquivos do diretoacuterio etcshorewall satildeo com-piladas e convertidas em um arquivo que contenha as regras para o Iptables Caso natildeo ocorram erros as regras seratildeo aplicadas e o firewall ativado Do con-traacuterio o motivo da falha seraacute mostrado e o firewall natildeo seraacute iniciado

A partir do lanccedilamento da versatildeo 40 foram disponibilizadas duas ver-sotildees de compiladores para as regras do Shorewall a versatildeo em script de shell

Tabela 1 Descriccedilatildeo da rede de exemplo

RoteadorInterface Ethernet 20016616125426

Servidor FirewallInterface eth0 20016616119326

Interface eth1 192168125424

Interface eth2 1000130 (interface da DMZ)

Gateway padratildeo 200166161254 (IP do roteador)

DNS 200166161193 (o servidor firewall tambeacutem serviraacute DNS)

Servidor de email (mailmeu_sitecombr)Interface eth0 20016616119426

Maacutescara 255255255192

Gateway padratildeo 200166161254

DNS 200166161193

Servidor Web (wwwmeu_sitecombr)Interface Ethernet 200166161254

DNS 200166161193

Rede localIP da rede 19216810

Maacutescara 2552552550

IPs utilizaacuteveis 19216811 a 254

Broadcast 1921681255

Gateway padratildeo 1921681254 (eth1 no servidor firewall)

DNS server 1921681254 (eth1 no servidor firewall)

Figura 2 Detalhes da estrutura da rede usada neste artigo

copy Linux New Media do Brasil Editora Ltda

73

| SEGURANCcedilAShorewall

Linux Magazine 42 | Maio de 2008

que eacute a mais antiga e provavelmen-te seraacute descontinuada nas proacuteximas versotildees e a versatildeo em Perl bem mais raacutepida mas que ainda natildeo estaacute totalmente funcional Apesar disso muitos administradores jaacute a utilizam em produccedilatildeo sem qualquer proble-ma por isso vamos usar essa nova teacutecnica neste artigo

Como o Shorewall estaacute disponiacutevel nos repositoacuterios de pacotes de todas as principais distribuiccedilotildees natildeo abor-daremos a compilaccedilatildeo do software a partir dos fontes

Apoacutes a instalaccedilatildeo os arquivos que iremos editar na configuraccedilatildeo do fi-rewall seratildeo colocados no diretoacuterio etcshorewall sendo eles

interfacesmasqpolicyproxyarprulesshorewallconfzones

Os pacotes para Debian e Ubun-tu no entanto deixam os arquivos de configuraccedilatildeo-padratildeo em usrsharedocshorewalldefault-con-fig Nesse caso basta copiaacute-los para etcshorewall Em seguida jaacute podemos iniciar a configuraccedilatildeo do nosso firewall

ZonasDefiniremos duas zonas para a montagem do firewall uma para o proacuteprio servidor firewall que controlaraacute todo o traacutefego entre as zonas e uma para cada rede a que ele estiver conectado A tabe-la 2 mostra como seratildeo definidas essas zonas

Todas as configuraccedilotildees de zonas no Shorewall deveratildeo ser feitas no arquivo etcshorewallzones O exemplo 1 ilustra como deve ficar esse arquivo em nossa configura-ccedilatildeo Basta ele para definir todas as zonas do firewall Observe que as zonas NET LOC e DMZ foram confi-

guradas com o tipo ipv4 pois isso eacute obrigatoacuterio Note tambeacutem que a zona FW foi definida como sendo o proacuteprio firewall Com o comando man shorewall-zones o administrador pode ler mais informaccedilotildees sobre esse arquivo de configuraccedilatildeo

InterfacesCada zona seraacute vinculada a uma in-terface de rede do servidor exceto a zona FW que representaraacute o proacuteprio servidor e natildeo estaraacute vinculada a ne-nhuma interface Logo deveremos ter trecircs interfaces em nosso servidor eth0 Interface vinculada agrave zona

NET Essa interface seraacute conec-tada diretamente ao roteador que liga a rede agrave Internet Em nosso exemplo eth0 receberaacute o IP 20016616119326

eth1 Interface vinculada agrave zona LOC Essa interface deveraacute ser conectada ao switch da rede lo-cal e seraacute configurada com o IP 192168125424 Eacute preciso confi-gurar tambeacutem o servidor DHCP da rede local para que ele envie esse endereccedilo como gateway agraves estaccedilotildees (em nosso exemplo esse serviccedilo seraacute executado no proacuteprio servidor firewall)

eth2 Interface vinculada agrave zona DMZ Essa interface tem uma par-ticularidade seu IP seraacute con-figurado apenas com o intuito

Exemplo 1 Arquivo de zonas

01 ZONE TYPE OPTIONS IN OUT02 OPTIONS OPTIONS03 fw firewall04 net ipv405 loc ipv406 dmz ipv407 08 Natildeo apagar esta uacuteltima linha

Tabela 2 Definiccedilatildeo das zonas

Nome da zona

Componentes Caracteriacutesticas

Zona FW O proacuteprio firewall Tem livre acesso agraves demais zonas mas o acesso a ela seraacute controlado de acordo com os serviccedilos disponibilizados para cada zona

Zona NET Internet Seraacute considerada hostil em nossas configuraccedilotildees Eacute importante ter muito cuidado com ela

Zona LOC Rede local Nesta zona estaratildeo conectadas as estaccedilotildees locais da empresa Seu acesso agraves demais zonas seraacute controlado de acordo com os serviccedilos permitidos para essa zona

Zona DMZ Servidores da empresa que proveratildeo serviccedilos agrave Internet e agrave rede local

Essa zona teraacute dois servidores um com Linux (mailmeu_sitecombr) executando ser-viccedilos de e-mail e o outro com Windows Server (wwwmeu_sitecombr) que hospedaraacute o site da empresa (ver figura 1)

copy Linux New Media do Brasil Editora Ltda

74 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

de ativaacute-la mas natildeo pertenceraacute a nenhuma rede de qualquer zona Nela configuraremos o IP 1000130 e vamos conectaacute-la ao mesmo switch no qual seratildeo co-nectados os servidores da DMZ

Natildeo seraacute necessaacuterio seguir o padratildeo acima para montar os seus proacuteprios firewalls no entanto eacute recomendaacute-vel fazecirc-lo Tambeacutem eacute possiacutevel usar aliases de interfaces (eth00 por

exemplo) se necessaacuterio Todas as configuraccedilotildees de interfaces no Sho-rewall deveratildeo ser feitas no arquivo etcshorewallinterfaces

O exemplo 2 mostra como deve ser feita essa configuraccedilatildeo Observe que esse caso natildeo configura a zona FW uma vez que ela natildeo estaraacute vinculada a nenhuma interface Aleacutem disso os endereccedilos broadcast foram configura-dos para serem detectados automatica-

mente Jaacute para a interface eth0 que teraacute IP estaacutetico foram definidas as opccedilotildees tcpflags routerfilter nosmurfs nor-cf1918 e logmartians

Eacute interessante consultar o manual do arquivo de configuraccedilatildeo de interfa-ces e descobrir a funccedilatildeo de cada uma dessas opccedilotildees (man shorewall-inter-faces) Elimine-as se necessaacuterio (natildeo recomendaacutevel) ou adicione outras de acordo com as suas necessidades

PoliacuteticasDefinidas as zonas e interfaces defi-niremos agora as poliacuteticas de acesso entre cada par de zonas As definiccedilotildees mostradas na tabela 3 seratildeo adotadas como padratildeo para qualquer requisiccedilatildeo que ocorra entre as zonas

Para reforccedilar a seguranccedila vamos definir por fim que todas as requi-siccedilotildees vindas de qualquer zona (all) com destino a qualquer zona (all) se-ratildeo bloqueadas e que esses bloqueios sejam registrados no log com a tag info Essa regra deveraacute ser a uacuteltima no arquivo de configuraccedilatildeo

Todas as configuraccedilotildees das poliacuteticas de acesso no Shorewall devem ser feitas no arquivo etcshorewallpolicy como mostra o exemplo 3 Note que a regra geral ou seja a que define a poliacutetica de qualquer pacote foi a uacuteltima a ser definida justamente para ser aplicada apenas se os pacotes natildeo se encaixarem a nenhuma outra regra Mais uma vez eacute importante consultar a paacutegina de ma-nual do programa (man shorewall-policy) para obter mais detalhes

Tabela 3 Poliacuteticas entre zonas

Zona Poliacutetica Explicaccedilatildeo

FW ACCEPT Requisiccedilotildees vindas da zona FW com destino agraves de-mais zonas (all) seratildeo permitidas e nada seraacute regis-trado no log

LOC REJECT Requisiccedilotildees vindas da zona LOC com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Uma res-posta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

NET DROP Requisiccedilotildees vindas da zona NET com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

DMZ DROP Requisiccedilotildees vindas da zona DMZ com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

Mais informaccedilotildees

[1] Shorewall httpwwwshorewallnet

Exemplo 3 Arquivo de poliacuteticas

01 SOURCE DEST POLICY LOG LIMITBURST02 LEVEL03 fw all ACCEPT04 loc all REJECT info05 net all DROP info06 dmz all DROP info07 08 THE FOLLOWING POLICY MUST BE LAST09 10 all all DROP info11 12 Natildeo apagar esta uacuteltima linha

Exemplo 2 Arquivo de interfaces

01 ZONE INTERFACE BROADCAST OPTIONS02 net eth0 detect tcpflagsroutefilternosmurfsnorfc1918logmartians03 loc eth1 detect04 dmz eth2 detect05 06 Natildeo apagar esta uacuteltima linha

Sobre o autorTarciacutesio Carvalho Espiacutenola eacute coordenador de TI do Instituto Centec onde vem traba-lhando na implementaccedilatildeo de soluccedilotildees livres nos servidores da empresa Em seu tempo livre ele ainda manteacutem o site Opccedilatildeo Linux (httpwwwopcaolinuxcombr)

copy Linux New Media do Brasil Editora Ltda

75Linux Magazine 42 | Maio de 2008

PR

OG

RA

MA

CcedilAtilde

O

Trabalhe com um repositoacuterio online de scripts PHP

TesouroProgramadores PHP podem economizar tempo e trabalho com o uso do trecho script ou classe perfeitos para usar em seus programaspor Kenneth Hess

Haacute dezenas de repositoacuterios gratuitos de scripts que per-mitem que se navegue e es-

colha os scripts PHP para seu proacuteprio uso A maioria desses sites possui vaacute-rias ofertas desde scripts simples ateacute aplicativos web completos incluindo conjuntos inteiros de software Este artigo descreve alguns dos sites mais importantes na busca de um script PHP preacute-fabricado

devshedcomO Dev Shed[1] eacute o avocirc das comunida-des de desenvolvedores com recursos compartilhados O site tem um pa-gerank de 8 no Google e conta com mais de 150 mil assinantes Agora par-te da empresa Ziff Davis o Dev Shed eacute a comunidade de desenvolvedores mais destacada sendo usada por pro-gramadores de vaacuterias linguagens e tecnologias O site principal do Dev Shed tem foco em artigos tutoriais e na proacutepria comunidade de desenvol-vimento Quem desejar apenas scripts seraacute redirecionado do site principal para o Scriptscom[2] ndash a biblioteca de coacutedigo do Dev Shed

No Scriptscom pode-se ver que a aacuterea de PHP eacute a mais numerosa do repositoacuterio Seus mais de 4 mil scripts colocam essa seccedilatildeo com quase o dobro da segunda coloca-da Perl Depois de selecionado o repositoacuterio PHP a ser usado satildeo mostradas mais de 60 categorias diferentes A maioria dos sites com

repositoacuterios de scripts possui listas se-melhantes de categorias

Alguns sites natildeo possuem qualquer controle de qualidade ou orientaccedilatildeo de envio para os scripts recebidos mas o Scriptcom emprega regras um tanto rigorosas As orientaccedilotildees de envio protegem os usuaacuterios de softwares maliciosos e outros scripts ou teacutecnicas danosos que possam pre-judicar um site ou atacar o navegador dos visitantes Cada script listado tem uma descriccedilatildeo completa da tarefa que executa uma nota um link para o site do autor e um preccedilo Nem todos os scripts satildeo gratuitos Na verdade alguns satildeo caros mas geralmente o autor oferece suporte atualizaccedilotildees e possivelmente outros serviccedilos (como hospedagem por exemplo) pelo pre-ccedilo listado Alguns scripts satildeo gratuitos para uso pessoal mas exigem uma taxa para uso comercial

phpbuildercomO PHP Builder[3] eacute 100 dedicado ao uso e desenvolvimento de scripts PHP Sua comunidade eacute ativa e gen-

til com novos usuaacuterios Aleacutem disso haacute um foacuterum Newbies em que eacute permitido fazer perguntas que jaacute tenham sido respondidas milhotildees de vezes sem medo de sofrer repre-saacutelias ndash embora seja recomendaacutevel fazer uma busca antes de perguntar Assim como a maioria dos sites de comunidade eacute necessaacuterio registrar-se (gratuitamente) e fazer login antes de postar ou participar O PHP Buil-der eacute um dos sites de comunidade mais profissionais e bem mantidos desta seleccedilatildeo

Sua biblioteca de coacutedigos eacute me-nor que a dos outros ndash com apenas umas poucas centenas de scripts ndash mas eacute comum encontrar trechos de coacutedigo nos foacuteruns que resolvem seus problemas Caso o programador natildeo esteja seguro de suas habilidades de programaccedilatildeo existe um foacuterum de criacutetica de coacutedigo (chamado Coding Critique) no qual eacute possiacutevel colar o coacutedigo em questatildeo em busca de criacuteticas correccedilotildees e melhorias A forccedila do PHP Builder natildeo estaacute em sua biblioteca de coacutedigo mas em sua

Figura 1 Inicie a instalaccedilatildeo a partir da tela do DaDaBIK

Sophie ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

76 httpwwwlinuxmagazinecombr

PROGRAMACcedilAtildeO | Repositoacuterio PHP

comunidade Para os que precisam de respostas esse eacute o lugar

weberdevcomO Weberdev[4] ndash uma presenccedila obrigatoacuteria no kit de ferramentas de PHP ndash tem foacuteruns coacutedigo links e tutoriais excelentes Se a necessida-de for resolver rapidamente algum aspecto de programaccedilatildeo em PHP o Weberdevcom eacute a opccedilatildeo Sua biblio-teca de coacutedigo eacute um pouco esquisita de navegar mas o mecanismo de busca eacute raacutepido e inteligente

phpclassesorgPara usar algum dos scripts do PHP Classes[5] eacute necessaacuterio se registrar e fazer login mas eacute uma felicidade fazecirc-lo O PHP

Classes conteacutem trechos de coacute-digo orientados a objetos que podem ser acrescentados a qual-quer coacutedigo Para usar as classes e scripts eacute preciso ter ao menos uma compreensatildeo baacutesica de teacutec-nicas de programaccedilatildeo orientada a objetos Felizmente a maioria dos autores das classes fornece documentaccedilatildeo e exemplos fun-cionais de seus coacutedigos na forma de paacuteginas PHP completas

Eacute possiacutevel ler os blogs dos au-tores pedir mais informaccedilotildees so-bre uma classe diretamente a um autor envolver-se nos foacuteruns em busca de perguntas e respostas ou simplesmente obter classes a par-tir do enorme repositoacuterio Muitas classes desse site ainda continu-

am funcionando mesmo depois de quatro anos em produccedilatildeo O PHP Classes deve ser incluiacutedo nos favoritos de quem quer que esteja agrave procura de um excelen-te recurso para scripts classes e trechos PHP

Esse site tambeacutem possui uma lista de emails que notifica os assinantes em relaccedilatildeo a novas classes quando satildeo adicionadas ao repositoacuterio ndash os emails incluem um resumo da clas-se sua classificaccedilatildeo e uma curta biografia do autor Novas classes satildeo acrescentadas todos os dias

phpnetO phpnet[6] eacute o site oficial da lin-guagem onde se origina todo o coacutedigo PHP gerado Apesar de natildeo possuir uma biblioteca de coacutedigo propriamente dita eacute possiacutevel encon-trar no site uma grande quantidade de coacutedigos

Se o visitante procurar qualquer funccedilatildeo ndash fwrite por exemplo ndash rece-beraacute a paacutegina que descreve a sintaxe e o uso dessa funccedilatildeo Mais abaixo na mesma paacutegina satildeo exibidos tre-chos de coacutedigo que demonstram a funccedilatildeo em accedilatildeo

advancescriptscomO oceano de banners e anuacutencios piscantes talvez seja a primeira ca-racteriacutestica a chamar a atenccedilatildeo dos visitantes do AdvanceScripts[7] Esse site tem muito a oferecer e merece ser navegado entatildeo natildeo se deixe assus-tar pela forma de suporte financeiro escolhida por eles O AdvanceScripts hospeda quase 6 mil scripts PHP em seu repositoacuterio

Assim como ocorre com os outros sites nem todos os scripts satildeo gratui-tos entatildeo eacute importante ter cuidado com as escolhas feitas

Baixe altere e useApenas para ilustrar as ofertas bai-xei um script de um desses sites e adaptei-o para meu proacuteprio uso Esse

Figura 2 Ao teacutermino da instalaccedilatildeo eacute exibido um resumo das mensagens de alerta e de instalaccedilatildeo

Figura 3 A paacutegina indexphp mostra informaccedilotildees da tabela

copy Linux New Media do Brasil Editora Ltda

77

| PROGRAMACcedilAtildeORepositoacuterio PHP

Linux Magazine 42 | Maio de 2008

exemplo raacutepido mostraraacute como eacute faacutecil implementar uma ferramenta a partir de uma biblioteca de coacutedigo Como meu trabalho envolve bancos de da-dos e PHP optei pelo foco em scripts relacionados a bancos de dados Na biblioteca do Scriptscom em PHP Scripts | Database Tools encontrei o DaDaBIK[8][9] (Databases Inter-face Kreator) cuja descriccedilatildeo oficial traduzida eacute ldquoum aplicativo PHP gratuito que permite criar facilmen-te uma interface de formulaacuterio web altamente personalizaacutevel para um banco de dados MySQL para buscar inserir atualizar e apagar registros basta especificar alguns paracircmetros de configuraccedilatildeordquo

Eacute interessante verificar a descriccedilatildeo do script antes de baixaacute-lo O script eacute pequeno (16 MB) bem documen-tado e livre (utiliza a GPL) Os re-quisitos miacutenimos do DaDaBIK satildeo PHP posterior agrave versatildeo 405 e um banco de dados (MySQL Oracle PostgreSQL ou MS SQL)

As etapas de instalaccedilatildeo satildeo seme-lhantes agraves de outros scripts da Inter-net Deve-se baixar e descompactar o pacote e depois procurar o arquivo documentationhtm que fornece as instruccedilotildees de instalaccedilatildeo Seguindo as instruccedilotildees renomeie o diretoacuterio program_files para dadabik e copie-o para o diretoacuterio webroot

Apoacutes abrir o arquivo includecon-figphp eacute preciso digitar os paracircme-tros mostrados na tabela 1 Depois de digitaacute-los e salvaacute-los abra um nave-gador e aponte-o para a paacutegina de instalaccedilatildeo do DaDaBIK httpwwwnome_do_sitecombrdadabikinstallphp (figura 1) Apoacutes clicar no botatildeo de instalaccedilatildeo e finalizar o processo seraacute exibida uma tela semelhante agrave figura 2 que mostra alertas e men-sagens da instalaccedilatildeo

Ao clicar no link no alto da paacutegina para sair da aacuterea de administraccedilatildeo o administrador seraacute redirecionado para a paacutegina indexphp onde veraacute a primeira tabela de banco de dados

(figura 3) As tabelas satildeo listadas em ordem alfabeacutetica na lista drop-down Nessa paacutegina eacute possiacutevel editar inse-rir apagar ou buscar registros

Como se pode ver o DaDaBIK eacute faacutecil de instalar e raacutepido para confi-gurar e usar O exemplo deste artigo teve sucesso devido agrave excelente do-cumentaccedilatildeo incluiacuteda na ferramen-ta Ao procurar numa biblioteca de coacutedigo eacute importante sempre esco-lher scripts classes e aplicativos com muita documentaccedilatildeo

Exceto no caso de programadores experientes que se sintam confor-taacuteveis ao analisar coacutedigo alheio eacute fundamental ter acesso a uma boa documentaccedilatildeo Raramente a docu-mentaccedilatildeo interna de um script (co-mentaacuterios no coacutedigo) explica com-pletamente seu comportamento

ResumoMuitos programadores pensam ser capazes de produzir todo o coacutedi-go de um aplicativo Usar trechos de coacutedigos e ideacuteias de outros pro-gramadores eacute uma oacutetima forma de melhorar as habilidades em programaccedilatildeo poreacutem o trabalho natildeo eacute feito simplesmente baixan-do-se um script ou trecho ndash ainda eacute necessaacuterio adaptar o coacutedigo ao ambiente no qual ele seraacute usado Frequumlentemente essa tarefa natildeo eacute

faacutecil Eacute interessante usar todos os recursos disponiacuteveis para conhecer outros profissionais ao longo do caminho e rapidamente tornar-se o tipo de programador que ajuda os outros

Mais informaccedilotildees

[1] PHP no Dev Shed httpwwwdevshedcomcbPHP

[2] Scriptscom httpwwwscriptscom

[3] PHP Builder httpwwwphpbuildercom

[4] Weberdev httpwwwweberdevcom

[5] PHP Classes httpwwwphpclassesorg

[6] PHPnet httpwwwphpnet

[7] Advance Scripts httpwwwadvancescriptscom

[8] DaDaBIK no Scriptscom httpwwwscriptscomphp-scriptsdatabase-toolsdadabik

[9] DaDaBIK httpwwwdadabikorg

Tabela 1 Paracircmetros do configphp

Paracircmetro Descriccedilatildeo$dbms_type Tipo do banco de dados (MySQL Postgres7 Postgres8

Mssql ou oci8po)

$host Nome do servidor de banco de dados (normalmente local-host)

db_name Nome do banco de dados a ser usado com o DaDaBIK

$user Conta de usuaacuterio do banco de dados que possa fazer SE-LECT INSERT DELETE e UPDATE nos registros do banco

$pass Senha do usuaacuterio no banco de dados

$site_url URL completa do DaDaBIK (httpwwwnome_do_sitecombrdadabik)

$site_path Caminho relativo do DaDaBIK (dadabik)

copy Linux New Media do Brasil Editora Ltda

78

SE

RV

ICcedilO

S

httpwwwlinuxmagazinecombr

Fornecedor de Hardware = 1 Redes e Telefonia PBX = 2 Integrador de Soluccedilotildees = 3

Literatura Editora = 4 Fornecedor de Software = 5

Consultoria Treinamento = 6

Linuxlocal

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

CearaacuteF13 Tecnologia Fortaleza Rua Coronel Solon 480 ndash Bairro de Faacutetima

Fortaleza - CE - CEP 60040-270 85 3252-3836 wwwf13combr

Espiacuterito SantoLinux Shopp Vila Velha Rua Satildeo Simatildeo (Correspondecircncia) 18 ndash CEP 29113-120 27 3082-0932 wwwlinuxshoppcombr

Megawork Consultoria e Sistemas

Vitoacuteria Rua Chapot Presvot 389 ndash Praia do Can-to ndash CEP 29055-410 sl 201 202

27 3315-2370 wwwmegaworkcombr

Spirit Linux Vitoacuteria Rua Marins Alvarino 150 ndash CEP 29047-660 27 3227-5543 wwwspiritlinuxcombr

Minas GeraisInstituto Online Belo Horizonte Av Bias Fortes 932 Sala 204 ndash CEP 30170-011 31 3224-7920 wwwinstitutoonlinecombr

Linux Place Belo Horizonte Rua do Ouro 136 Sala 301 ndash Serra ndash CEP 30220-000 31 3284-0575 corporatelinuxplacecombr

Microhard Belo Horizonte Rua Repuacuteblica da Argentina 520 ndash Sion ndash CEP 30315-490 31 3281-5522 wwwmicrohardcombr

TurboSite Belo Horizonte Rua Paraiacuteba 966 Sala 303 ndash Savassi ndash CEP 30130-141 0800 702-9004 wwwturbositecombr

ParanaacuteiSolve Curitiba Av Cacircndido de Abreu 526 Cj 1206B ndash CEP 80530-000 41 252-2977 wwwisolvecombr

Mandriva Conectiva Curitiba Rua Tocantins 89 ndash Cristo Rei ndash CEP 80050-430 41 3360-2600 wwwmandrivacombr

Telway Tecnologia Curitiba Rua Francisco Rocha 183071 41 3203-0375 wwwtelwaycombr

Rio de JaneiroNSI Training Rio de Janeiro Rua Arauacutejo Porto Alegre 71 4ordmandar Centro ndash CEP 20030-012 21 2220-7055 wwwnsicombr

Open IT Rio de Janeiro Rua do Mercado 34 Sl 402 ndash Centro ndash CEP 20010-120 21 2508-9103 wwwopenitcombr

Unipi Tecnologias Campos dos Goytacazes

Av Alberto Torres 303 1ordmandar - Centro ndash CEP 28035-581 22 2725-1041 wwwunipicombr

Rio Grande do Sul4up Soluccedilotildees Corporativas Novo Hamburgo Pso Calccediladatildeo Osvaldo Cruz 54 sl 301 CEP 93510-015 51 3581-4383 www4upcombr

Definitiva Informaacutetica Novo Hamburgo Rua General Osoacuterio 402 - Hamburgo Velho 51 3594 3140 wwwdefinitivacombr

Solis Lajeado Rua Comandante Wagner 12 ndash Satildeo Cristoacutevatildeo ndash CEP 95900-000 51 3714-6653 wwwsoliscoopbr

DualCon Novo Hamburgo Rua Joaquim Pedro Soares 1099 Sl 305 ndash Centro 51 3593-5437 wwwdualconcombr

Datarecover Porto Alegre Av Carlos Gomes 403 Sala 908 Centro Comer-cial Atrium Center ndash Bela Vista ndash CEP 90480-003

51 3018-1200 wwwdatarecovercombr

LM2 Consulting Porto Alegre Rua Germano Petersen Junior 101-Sl 202 ndash Hi-gienoacutepolis ndash CEP 90540-140

51 3018-1007 wwwlm2combr

Lnx-IT Informaccedilatildeo e Tecnologia Porto Alegre Av Venacircncio Aires 1137 ndash Rio Branco ndash CEP 90040193 51 3331-1446 wwwlnx-itinfbr

Plugin Porto Alegre Av Juacutelio de Castilhos 132 11ordm andar Centro ndash CEP 90030-130 51 4003-1001 wwwplugincombr

TeHospedo Porto Alegre Rua dos Andradas 1234610 ndash Centro ndash CEP 90020-008 51 3286-3799 wwwtehospedocombr

Satildeo PauloWs Host Arthur Nogueira Rua Jerere 36 ndash Vista Alegre ndash CEP 13280-000 19 3846-1137 wwwwshostcombr

DigiVoice Barueri Al Juruaacute 159 Teacuterreo ndash Alphaville ndash CEP 06455-010 11 4195-2557 wwwdigivoicecombr

Dextra Sistemas Campinas Rua Antocircnio Paioli 320 ndash Pq das Universidades ndash CEP 13086-045 19 3256-6722 wwwdextracombr

Insigne Free Software do Brasil Campinas Av Andrades Neves 1579 ndash Castelo ndash CEP 13070-001 19 3213-2100 wwwinsignesoftwarecom

Microcamp Campinas Av Thomaz Alves 20 ndash Centro ndash CEP 13010-160 19 3236-1915 wwwmicrocampcombr

PC2 Consultoria em Software Livre

Carapicuiba Rua Edeia 500 - CEP 06350-080 11 3213-6388 wwwpc2consultoriacom

Savant Tecnologia Diadema Av Senador Vitorino Freire 465 ndash CEP 09910-550 11 5034-4199 wwwsavantcombr

Epopeacuteia Informaacutetica Mariacutelia Rua Goiaacutes 392 ndash Bairro Cascata ndash CEP 17509-140 14 3413-1137 wwwepopeiacombr

Redentor Osasco Rua Costante Piovan 150 ndash Jd Trecircs Montanhas ndash CEP 06263-270 11 2106-9392 wwwredentorindbr

Go-Global Santana de Parnaiacuteba

Av Yojiro Takaoca 4384 Ed Shopping Ser-vice Cj 1013 ndash CEP 06541-038

11 2173-4211 wwwgo-globalcombr

AW2NET Santo Andreacute Rua Edson Soares 59 ndash CEP 09760-350 11 4990-0065 wwwaw2netcombr

Async Open Source Satildeo Carlos Rua Orlando Damiano 2212 ndash CEP 13560-450 16 3376-0125 wwwasynccombr

Delix Internet Satildeo Joseacute do Rio Preto

Rua Voluntaacuterio de Satildeo Paulo 3066 9ordm ndash Centro ndash CEP 15015-909 11 4062-9889 wwwdelixhostingcombr

O maior diretoacuterio de empresas que oferecem produtos soluccedilotildees e serviccedilos em Linux e Software Livre organizado por Estado Sentiu falta do nome de sua empresa aqui Entre em contato com a gente 11 4082-1300 ou anuncioslinuxmagazinecombr

copy Linux New Media do Brasil Editora Ltda

79

| SERVICcedilOSLinuxlocal

Linux Magazine 42 | Maio de 2008

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

Satildeo Paulo (continuaccedilatildeo)4Linux Satildeo Paulo Rua Teixeira da Silva 660 6ordm andar ndash CEP 04002-031 11 2125-4747 www4linuxcombr

A Casa do Linux Satildeo Paulo Al Jauacute 490 ndash Jd Paulista ndash CEP 01420-000 11 3549-5151 wwwacasadolinuxcombr

Accenture do Brasil Ltda Satildeo Paulo Rua Alexandre Dumas 2051 ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 5188-3000 wwwaccenturecombr

ACR Informaacutetica Satildeo Paulo Rua Lincoln de Albuquerque 65 ndashPerdizes ndash CEP 05004-010 11 3873-1515 wwwacrinformaticacombr

Agit Informaacutetica Satildeo Paulo Rua Major Quedinho 111 5ordm andar Cj 508 ndash Centro ndash CEP 01050-030

11 3255-4945 wwwagitcombr

Altbit - Informaacutetica Co-meacutercio e Serviccedilos LTDA

Satildeo Paulo Av Francisco Matarazzo 229 Cj 57 ndash Aacutegua Branca ndash CEP 05001-000

11 3879-9390 wwwaltbitcombr

AS2M -WPC Consultoria Satildeo Paulo Rua Trecircs Rios 131 Cj 61A ndash Bom Retiro ndash CEP 01123-001 11 3228-3709 wwwwpccombr

Big Host Satildeo Paulo Rua Dr Miguel Couto 58 ndash Centro ndash CEP 01008-010 11 3033-4000 wwwbighostcombr

Blanes Satildeo Paulo Rua Andreacute Ampeacutere 153 ndash 9ordm andar ndash Conj 91 CEP 04562-907 (proacutex Av L C Berrini)

11 5506-9677 wwwblanescombr

Commlogik do Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 13797 Bloco II 6ordm andar ndash Morumbi ndash CEP 04794-000

11 5503-1011 wwwcommlogikcombr

Computer Consulting Pro-jeto e Consultoria Ltda

Satildeo Paulo Rua Vergueiro 6455 Cj 06 ndash Alto do Ipiranga ndash CEP 04273-100 11 5062-3927 wwwcomputerconsultingcombr

Consist Consultoria Siste-mas e Representaccedilotildees Ltda

Satildeo Paulo Av das Naccedilotildees Unidas 20727 ndash CEP 04795-100 11 5693-7210 wwwconsistcombr

Domiacutenio Tecnologia Satildeo Paulo Rua das Carnaubeiras 98 ndash Metrocirc Conceiccedilatildeo ndash CEP 04343-080 11 5017-0040 wwwdominiotecnologiacombr

EDS do Brasil Satildeo Paulo Av Pres Juscelino Kubistcheck 1830 Torre 4 - 5ordm andar 11 3707-4100 wwwedscom

Eacutetica Tecnologia Satildeo Paulo Rua Nova York 945 ndash Brooklin ndash CEP04560-002 11 5093-3025 wwweticanet

Getronics ICT Solu-tions and Services

Satildeo Paulo Rua Verbo Divino 1207 ndash CEP 04719-002 11 5187-2700 wwwgetronicscombr

Hewlett-Packard Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 12901 25ordm andar ndash CEP 04578-000 11 5502-5000 wwwhpcombr

IBM Brasil Ltda Satildeo Paulo Rua Tutoacuteia 1157 ndash CEP 04007-900 0800-7074 837 wwwbribmcom

iFractal Satildeo Paulo Rua Fiaccedilatildeo da Sauacutede 145 Conj 66 ndash Sauacutede ndash CEP 04144-020 11 5078-6618 wwwifractalcombr

Integral Satildeo Paulo Rua Dr Gentil Leite Martins 295 2ordm andar Jd Prudecircncia ndash CEP 04648-001

11 5545-2600 wwwintegralcombr

Itautec SA Satildeo Paulo Rua Santa Catarina 1 ndash Tatuapeacute ndash CEP 03086-025 11 6097-3000 wwwitauteccombr

Kenos Consultoria Satildeo Paulo Av Fagundes Filho 13 Conj -53 ndash CEP 04304-000 11 40821305 wwwkenoscombr

Konsultex Informatica Satildeo Paulo Av Dr Guilherme Dumont Villares 1410 6 andar CEP 05640-003 11 3773-9009 wwwkonsultexcombr

Linux Komputer Informaacutetica Satildeo Paulo Av Dr Lino de Moraes Leme 185 ndash CEP 04360-001 11 5034-4191 wwwkomputercombr

Linux Mall Satildeo Paulo Rua Machado Bittencourt 190 Cj 2087 ndash CEP 04044-001 11 5087-9441 wwwlinuxmallcombr

Livraria Tempo Real Satildeo Paulo Al Santos 1202 ndash Cerqueira Ceacutesar ndash CEP 01418-100 11 3266-2988 wwwtemporealcombr

Locasite Internet Service Satildeo Paulo Av Brigadeiro Luiz Antonio 2482 3ordm andar ndash Centro ndash CEP 01402-000

11 2121-4555 wwwlocasitecombr

Microsiga Satildeo Paulo Av Braz Leme 1631 ndash CEP 02511-000 11 3981-7200 wwwmicrosigacombr

Novatec Editora Ltda Satildeo Paulo Rua Luis Antonio dos Santos 110 ndash Santana ndash CEP 02460-000 11 6979-0071 wwwnovateceditoracombr

Novell Ameacuterica Latina Satildeo Paulo Rua Funchal 418 ndash Vila Oliacutempia 11 3345-3900 wwwnovellcombrasil

Oracle do Brasil Sistemas Ltda Satildeo Paulo Av Alfredo Egiacutedio de Souza Aranha 100 ndash Bloco B ndash 5ordm andar ndash CEP 04726-170

11 5189-3000 wwworaclecombr

Proelbra Tecnolo-gia Eletrocircnica Ltda

Satildeo Paulo Av Rouxinol 1041 Cj 204 2ordm andar Moema ndash CEP 04516-001 11 5052- 8044 wwwproelbracombr

Provider Satildeo Paulo Av Cardoso de Melo 1450 6ordm andar ndash Vila Oliacutempia ndash CEP 04548-005

11 2165-6500 wwwe-providercombr

Red Hat Brasil Satildeo Paulo Av Brigadeiro Faria Lima 3900 Cj 81 8ordm andar Itaim Bibi ndash CEP 04538-132

11 3529-6000 wwwredhatcombr

Samurai Projetos Especiais Satildeo Paulo Rua Baratildeo do Triunfo 550 6ordm andar ndash CEP 04602-002 11 5097-3014 wwwsamuraicombr

SAP Brasil Satildeo Paulo Av das Naccedilotildees Unidas 11541 16ordm andar ndash CEP 04578-000 11 5503-2400 wwwsapcombr

Simples Consultoria Satildeo Paulo Rua Mourato Coelho 299 Cj 02 Pinheiros ndash CEP 05417-010 11 3898-2121 wwwsimplesconsultoriacombr

Smart Solutions Satildeo Paulo Av Jabaquara 2940 cj 56 e 57 11 5052-5958 wwwsmart-teccombr

Snap IT Satildeo Paulo Rua Joatildeo Gomes Junior 131 ndash Jd Bonfiglioli ndash CEP 05299-000 11 3731-8008 wwwsnapitcombr

Stefanini IT Solutions Satildeo Paulo Av Brig Faria Lima 1355 19ordm ndash Pinheiros ndash CEP 01452-919 11 3039-2000 wwwstefaninicombr

Sun Microsystems Satildeo Paulo Rua Alexandre Dumas 2016 ndash CEP 04717-004 11 5187-2100 wwwsuncombr

Sybase Brasil Satildeo Paulo Av Juscelino Kubitschek 510 9ordm andar Itaim Bibi ndash CEP 04543-000 11 3046-7388 wwwsybasecombr

The Source Satildeo Paulo Rua Marquecircs de Abrantes 203 ndash Chaacutecara Tatuapeacute ndash CEP 03060-020

11 6698-5090 wwwthesourcecombr

Unisys Brasil Ltda Satildeo Paulo R Alexandre Dumas 1658 ndash 6ordm 7ordm e 8ordm andares ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 3305-7000 wwwunisyscombr

Utah Satildeo Paulo Av Paulista 925 13ordm andar ndash Cerqueira Ceacutesar ndash CEP 01311-916 11 3145-5888 wwwutahcombr

Visuelles Satildeo Paulo Rua Eng Domicio Diele Pacheco e Silva 585 ndash Interlagos ndash CEP 04455-310

11 5614-1010 wwwvisuellescombr

Webnow Satildeo Paulo Av Naccedilotildees Unidas 12995 10ordm andar Ed Plaza Centenaacuterio ndash Chaacutecara Itaim ndash CEP 04578-000

11 5503-6510 wwwwebnowcombr

WRL Informaacutetica Ltda Satildeo Paulo Rua Santa Ifigecircnia 211213 Box 02ndash Centro ndash CEP 01207-001 11 3362-1334 wwwwrlcombr

Systech Taquaritinga Rua Satildeo Joseacute 1126 ndash Centro - Caixa Postal 71 ndash CEP 15900-000 16 3252-7308 wwwsystech-ltdcombr

| SERVICcedilOSLinuxlocal

copy Linux New Media do Brasil Editora Ltda

80

SERVICcedil

OS

httpwwwlinuxmagazinecombr

User Friendly ndash Os quadrinhos mensais da Linux Magazine

Calendaacuterio de eventosEvento Data Local Website

ApacheCon Europe 2008 7 a 11 de abril Amsterdam Holanda wwweuapacheconcom

II Encontro Software Livre da Paraiacuteba

2 a 4 de maio Joatildeo Pessoa PB ensolorgbr

LinuxTag 28 a 31 de maio Berlin Alemanha htttpwwwlinuxtagorg

LinuxWorld Conference and Expo

04 a 07 de agosto Satildeo Francisco EUAhttpwwwlinuxworldexpocomlive12

Linux Park 10 de junho Porto Alegre RS wwwlinuxparkcombr

Linux Park 24 de junho Rio de Janeiro RJ wwwlinuxparkcombr

Iacutendice de anunciantes

Empresa PaacutegEasyLinux 15

Guia de TI 83

Impacta 27

Kenos 22 23

Linux Magazine 33

Linux Magazine Online 81

Linux Park 84

Linux Pocket Pro 02 09

Linux Pro 31

Linux Technical Review 07

LPI 57

Plugin 11

Starter Kit 13

Watch Guard 19

copy Linux New Media do Brasil Editora Ltda

LM40_sitepdf 146 190208 124436

copy Linux New Media do Brasil Editora Ltda

82 httpwwwlinuxmagazinecombr

Na Linux Magazine 43

PREVIE

W

DESTAQUE

Alta disponibilidadeSe o pneu do seu carro furar como vocecirc age Se a base de dados principal do seu banco cair o que acontece Se aquele software do qual sua empresa depende profundamente simplesmente fechar o que poderaacute ser feito

No caso do carro a resposta eacute bastante simples use o estepe Durante alguns minutos vocecirc natildeo poderaacute andar com o carro mas esse atraso certa-mente seraacute perdoado por quem quer que tenha um bom coraccedilatildeo No entanto o banco de dados de uma instituiccedilatildeo financeira assim como o software de missatildeo criacutetica da sua empresa jamais pode parar Para as empresas envolvi-

das qualquer problema significa perder dinheiro ndash e geralmente em quantidade suficiente para ocasionar demissotildees

Felizmente para os ad-ministradores de sistemas e gestores de TI jaacute dispomos hoje de oacutetimas soluccedilotildees de alta disponibilidade e vamos exploraacute-las em detalhes na Linux Magazine 43

Seguranccedila

DNSSECOs administradores de sistemas e consultores de seguranccedila utilizam estrateacutegias sofisticadas para proteger redes mas ainda existe uma parte muito baacutesica da infra-estrutura da Internet que permanece surpreen-dentemente vulneraacutevel o sistema de resoluccedilatildeo de nomes Existem teacutecnicas elaboradas para forjar res-postas DNS e da mesma forma maneiras tambeacutem engenhosas de contornar esses ataques De todas elas o DNSSEC desponta como uma das mais eficazes para prote-ger redes por meio de criptografia e autenticaccedilatildeo

Conheccedila essa tecnologia e man-tenha seu sistema de resoluccedilatildeo de nomes protegido

DESTAQUE

PortaacuteteisOs laptops e notebooks sempre deram aos seus possui-dores um certo glamour status de pessoas antenadas e claro fama de gente que tinha ldquogranardquo ndash afinal um bom portaacutetil ateacute dois anos atraacutes natildeo custava nada barato Com o passar do tempo no entanto fabricantes foram criando uma nova geraccedilatildeo de no-tebooks menores sem partes mecacircnicas quebraacuteveis em boa parte de suas versotildees e mais baratos Esses aparelhinhos chamados de sub-notebooks vecircm ganhando espaccedilo tanto entre os clientes ldquotradicio-naisrdquo dos laptops quanto entre pessoas que jamais imaginaram ter um portaacutetil

Oficina

Com jeito de cinemaA qualidade de auacutedio e viacutedeo da TV digital recente-

mente iniciada no Brasil eacute um atrativo para quem deseja assistir programas em alta resoluccedilatildeo e ateacute gravar alguns de seus preferidos Se os receptores de TV ainda estatildeo muito caros receptores USB para computador oferecem a ima-gem de cinema e qualidade de som de DVD E o que eacute melhor usando Linux

Na EasyLinux 13

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

42 0508

R$ 1390 euro 750

9771806

942009

00042

A REVISTA DO PROFISSIONAL DE TI

Linu

x M

agazin

e

42 42

M

aio

200

8

052008

WWWLINUXMAGAZINECOMBR

RICARDO BIMBO p30No Linux empresas e voluntaacuterios colaboram harmoniosamente

BOSSA CONFERENCE 2008 p24Evento internacional aponta para um futuro moacutevel com Coacutedigo Aberto

ENTREVISTA SAP p28Empresa aposta em reestruturaccedilatildeo de arquiteturas rumo ao SOA

VEJA TAMBEacuteM NESTA EDICcedilAtildeO

raquo ADempiere e Eclipse desenvolvimento integrado p49

raquo LPIC-2 aula 11 DNS p52

raquo BI de coacutedigo aberto com SpagoBI p59

raquo Os melhores repositoacuterios de coacutedigo PHP p75

REDES ADMINISTRACcedilAtildeO CENTRALIZADA p66

O Puppet toma conta do gerenciamento e confi guraccedilatildeo de servidores e desktops na rede

SEGURANCcedilA FIREWALL PRAacuteTICO p71

Ateacute os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall

SOA

PRINCIacutePIOS

REDHAT

N

OVAFORGE

SHOREWALL

PUPPET

PHP

SPAGOBI

ADEM

PIERE

LPIC-2

INDT

A ARQUITETURA ORIENTADA A SERVICcedilOS DAacute FOCO AOS NEGOacuteCIOS E SERVE RECURSOS DISTRIBUIacuteDOS COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS p34

raquo A Red Hat oferece a pilha completa para SOA p36

raquo Serviccedilos distribuiacutedos soluccedilotildees integradas p40

raquo NovaForge uma faacutebrica de software corporativo p44

SOA

ex

em

pla

r d

e

Ass

inan

teve

nd

a

pro

ibid

a

copy Linux New Media do Brasil Editora Ltda

  • Capa
  • Editorial
  • Iacutendice
  • Cartas
  • Augusto Campos
  • Charly Kuumlhnast
  • Klaus Knopper
  • Zack Brown
  • Seguranccedila
  • Notiacutecias
  • Notiacutecias Corporate
  • A bossa da mobilidade
  • Software bem rodado
  • 100 de serviccedilo
  • Cezar Taurion
  • Ricardo Bimbo
  • Edgar Silva
  • Introduccedilatildeo de Capa
  • Bem arquitetado
  • Clientes espalhados servidores distribuiacutedos
  • Quase faz cafeacute
  • Produto importado
  • LPI niacutevel 2 Aula 11
  • Negoacutecio inteligente
  • Para conquistar o puacuteblico
  • Marionete
  • Domando o fogo
  • Tesouro
  • Linuxlocal
  • Serviccedilos
  • Na Linux Magazine 43
Page 4: © Linux New Media do Brasil Editora Ltda.

4 httpwwwlinuxmagazinecombr

CAPABem arquitetado 36

A plataforma de SOA da Red Hat oferece alguns

componentes eficazes sobre seu servidor de apli-

caccedilotildees JBoss Conheccedila-os em detalhes

Clientes espalhados servidores distribuiacutedos 40

Como novo paradigma a SOA requer algumas mu-

danccedilas profundas na forma de projetar imple-

mentar e organizar aplicaccedilotildees corporativas

Quase faz cafeacute 44

Com o NovaForge eacute muito praacutetico hospedar geren-

ciar e testar softwares em escala corporativa

IacuteND

ICE

copy Linux New Media do Brasil Editora Ltda

5

COLUNASAugusto Campos 08

Charly Kuumlhnast 10

Klaus Knopper 12

Zack Brown 14

NOTIacuteCIASSeguranccedila 16 Notiacutecias de inseguranccedila

Geral 18 Linux eacute feito por empresas

Sun homologaraacute Ubuntu

Linux em switches Cisco

BrOfficeorg 24

CORPORATENotiacutecias 20 Gartner SL em alta Windows em colapso

Microsoft cogita aquisiccedilatildeo hostil do Yahoo

Concorrente do ODF vira padratildeo ISO

Sun promete viacutedeo 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

TUTORIALProduto importado 49 Se for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte

do ADempiere eacute muito faacutecil usar o poderoso ambien-te de desenvolvimento Eclipse para importaacute-lo

LPI niacutevel 2 Aula 11 52 Configuraccedilatildeo do servidor BIND criaccedilatildeo e manuten-

ccedilatildeo de arquivos de zonas e ferramentas relacionadas

ANAacuteLISENegoacutecio inteligente 59 O ramo da Business Intelligence conta com poderosas fer-

ramentas e o SpagoBI se destaca entre as alternativas li-vres por sua modularidade e consequumlente flexibilidade

Para conquistar o puacuteblico 64 Em sua versatildeo 30 o Librix da Itautec atinge a maturidade para

ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientes

REDESMarionete 66 Aprenda a economizar tempo e agilize a administra-

ccedilatildeo de sistemas com ajuda do Puppet uma ferramen-ta de gerenciamento e configuraccedilatildeo centralizados

SEGURANCcedilADomando o fogo 71 Eacute verdade que firewalls devem ser administrados por es-

pecialistas Poreacutem ateacute esses profissionais podem se be-neficiar de uma interface praacutetica para essa tarefa

PROGRAMACcedilAtildeOTesouro 75 Programadores PHP podem economizar tem-

po e trabalho com o uso do trecho script ou clas-se perfeitos para usar em seus programas

SERVICcedilOSEditorial 03Emails 06Linuxlocal 78Eventos 80Iacutendice de anunciantes 80Preview 82

Linux Magazine 42 | Maio de 2008

| IacuteNDICELinux Magazine 42

copy Linux New Media do Brasil Editora Ltda

6 httpwwwlinuxmagazinecombr

Download do primeiro anoGostaria de informar que apesar de terem sido li-beradas para download as ediccedilotildees do ano passado natildeo haacute links para fazer esses downloads no site da revista A uacutenica alternativa mais oacutebvia do site eacute ten-tar baixar a versatildeo em PDF mas como antes o link direciona para o carrinho de compras

Diogo MunizResposta

Caro Diogo aparentemente falhamos na precisatildeo ao comunicarmos a liberaccedilatildeo do conteuacutedo do primei-ro ano da Linux Magazine e por isso vamos tentar corrigir esse erro agora

Estatildeo liberados individualmente todos os artigos de todas as ediccedilotildees do primeiro ano da Linux Maga-zine Ou seja qualquer artigo das ediccedilotildees 1 a 12 pode ser baixado gratuitamente em formato digital (PDF) a partir do site da Linux Magazine em httpwwwlinuxmagazinecombr no link Anteriores

O download de cada uma das ediccedilotildees de 1 a 12 completas e em formato digital permanece possiacutevel poreacutem sob o preccedilo normal (R$ 990)

O conteuacutedo das demais ediccedilotildees da Linux Maga-zine permanece com os tradicionais 30 liberados gratuitamente sob a forma de artigos individuais e ateacute o final de 2008 vamos liberar gradualmente 100 do conteuacutedo do segundo ano da revista (edi-ccedilotildees 13 a 24)

Pedimos sinceras desculpas pela falha de comu-nicaccedilatildeo e qualquer inconveniente que ela possa ter causado

CARTAS

sanj

a gj

ener

o ndash

ww

ws

xch

u

Emails para o editor

Permissatildeo de EscritaSe vocecirc tem duacutevidas sobre o mundo Linux criacuteticas ou sugestotildees que possam ajudar a melhorar a nossa revista escreva para o seguinte endereccedilo cartaslinuxmagazinecombr Devido ao volume de correspondecircncia eacute impossiacutevel responder a todas as duacutevidas sobre aplicativos configuraccedilotildees e problemas de hardware que chegam agrave Redaccedilatildeo mas garantimos que elas satildeo lidas e analisadas As mais interessantes satildeo publicadas nesta seccedilatildeo

Errata

Na paacutegina 65 da ediccedilatildeo 40 da Linux Magazine no artigo Montando a gestatildeo de Eduardo Montene-gro o exemplo 1 estaacute incorreto O correto eacute

O leitor Marcelo Saacutevio informou que diferente do que eacute afirmado na paacutegina 68 da ediccedilatildeo 39 da Li-nux Magazine no artigo Segredos graacuteficos sobre o utilitaacuterio de esteganografia Outguess o algoritmo RC4 natildeo eacute mais recomendaacutevel devido agraves vulnera-bilidades encontradas A quem desejar mais infor-maccedilotildees sobre esse algoritmo criptograacutefico o leitor sugere o link httpenwikipediaorgwikiRC4 Muito obrigado Marcelo

Exemplo 1 Compilaccedilatildeo do PLJava

01 $ sudo mkdir -p usrlocalsrcpljava02 $ sudo chown adempiere usrlocalsrcpljava03 $ tar xzvf pljava-src-140targz04 $ mv pljava-140 usrlocalsrcpljava05 $ cd usrlocalsrcpljava06 $ make07 $ sudo sh08 export PATH=$PATHusrlocalpgsqlbinusrlocaljdk150_14bin09 make install

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

8

COLUNA

httpwwwlinuxmagazinecombr

Acessibilidade em Software Livre

Augusto CamposEmbora qualquer pessoa possa vir a precisar de tecnologias assistivas ainda eacute pouca a atenccedilatildeo dispensada a esse campo no Software Livrepor Augusto Campos

Recentemente tive a oportunidade de participar da Comissatildeo de Programa de um evento de informaacutetica corporativa como parte de uma

banca na qual me cabia avaliar e classificar cerca de 80 trabalhos das mais variadas especialidades da Informaacutetica No decorrer dessa atividade avaliei po-sitivamente quanto agrave aplicabilidade vaacuterios trabalhos relacionados a tecnologias assistivas e acessibilidade mas tive a desagradaacutevel surpresa de constatar que na fase de discussatildeo os demais avaliadores sustentaram a posiccedilatildeo oposta a de que tecnologias assistivas inte-ressam a poucas pessoas portanto sua aplicabilidade deveria ser considerada baixa Resultado todos os trabalhos relacionados agrave acessibilidade acabaram ficando de fora do evento

A situaccedilatildeo estava fora do meu controle e laacute eu natildeo podia fazer nada a respeito mas agora vou contar com a compreensatildeo de vocecircs e usar nosso espaccedilo deste mecircs para falar um pouco sobre tecnologias assistivas em Software Livre

As tecnologias assistivas satildeo aquelas que oferecem recursos especiais de adaptaccedilatildeo assistecircncia e ateacute re-abilitaccedilatildeo para pessoas com necessidades especiais Isso eacute feito por intermeacutedio de meacutetodos diferenciados de interaccedilatildeo com tecnologias existentes permitin-do que essas pessoas possam realizar tarefas que de outro modo natildeo estariam a seu alcance

O nuacutemero de sistemas assistivos disponiacuteveis em Software Livre eacute crescente embora a atenccedilatildeo vol-

tada a eles nem sempre acompanhe a mesma ten-decircncia Essa eacute uma realidade que cada um de noacutes deveria se preocupar em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo ndash a acessibi-lidade a portadores de necessidades especiais vem sendo requisito cada vez mais exigido em softwares adotados por grandes corporaccedilotildees e pelos governos e a ausecircncia de uma oferta bem estruturada desse tipo de recurso jaacute foi justificativa para substituir Soft-ware Livre pelos seus equivalentes proprietaacuterios em telecentros municipais recentemente

Tambeacutem o niacutevel do suporte a tecnologias assisti-vas em Software Livre vem crescendo felizmente Agora aleacutem de contarmos com aplicativos espe-ciacuteficos como o vocalizador Festival e os drivers para displays em braille as versotildees recentes do Gnome passaram a oferecer o Orca sistema que integra os diversos recursos de acessibilidade dis-persos (vocalizadores displays braille ampliaccedilatildeo de tela etc) agraves aplicaccedilotildees disponiacuteveis no sistema operacional (com suporte a Firefox Thunderbird Pidgin BrOfficeorg e mais aleacutem da expansibili-dade atraveacutes de scripts)

Natildeo perco oportunidade de divulgar esse tipo de soluccedilatildeo especialmente a quem julga natildeo precisar delas ndash todos temos chance de um dia chegar a uti-lizaacute-las O Software Livre tem forte relaccedilatildeo com a ideacuteia de inclusatildeo digital e se cada administrador de sistemas e gestor de TI souber o que estaacute disponiacutevel nesse campo teremos possibilidade de empregaacute-las no momento certo e de prover o estiacutemulo neces-saacuterio para que seus desenvolvedores continuem investindo nelas

Sobre o autorAugusto Ceacutesar Campos eacute administrador de TI e desde 1996 manteacutem o site BR-linuxorg que cobre a cena do Software Livre no Brasil e no mundo

Essa eacute uma realidade que cada um de noacutes deveria preocupar-se em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

10 httpwwwlinuxmagazinecombr

Nload

Charly KuumlhnastMonitores de rede satildeo faacuteceis de encontrar mas o Nload eacute o uacutenico que separa traacutefego de entrada e saiacuteda e ainda desenha no consolepor Charly Kuumlhnast

Exibir o uso da rede numa interface natildeo eacute difiacutecil e existem inuacutemeras ferramentas para visuali-zar os valores Mas qual ferramenta oferece a

melhor representaccedilatildeo graacutefica dos valores medidos Os ldquoescovadores de bitrdquo certamente recomendariam a consulta direta aos dados no diretoacuterio proc mas essa obviamente natildeo eacute a soluccedilatildeo mais praacutetica

Tambeacutem podemos descartar todas as alternativas que dependam do X11 pois servidores geralmente natildeo possuem interfaces graacuteficas O IPTraf oferece os nuacutemeros necessaacuterios mas natildeo possui um recurso de histoacuterico O mesmo se aplica ao Iftop[1] embora ele informe quanto traacutefego sai e entra no parceiro de comunicaccedilatildeo

Para um raacutepido panorama minha ferramenta favo-rita eacute o Nload[2] Ele exibe o uso atual da rede para dados de entrada e saiacuteda dependendo do graacutefico sele-cionado (figura 1) Ao mesmo tempo oferece os valores meacutedios para um intervalo configuraacutevel O recurso de histoacuterico torna o uso do Nload um prazer natildeo haacute ris-co de perder um pico mesmo tirando os olhos da tela por um momento O paracircmetro de linha de coman-do -t ltvalorgt com valor em milissegundos permite a definiccedilatildeo do intervalo de atualizaccedilatildeo Por padratildeo o

Nload atualizaraacute sua tela duas vezes a cada segundo Na maioria dos casos uma configuraccedilatildeo mais espaccedilada eacute aceitaacutevel eu costumo usar -t 2000 uma atualizaccedilatildeo a cada dois segundos

Para manter os graacuteficos legiacuteveis eacute possiacutevel estabe-lecer limites para os traacutefegos de entrada e saiacuteda Se os dados excederem esse limite o Nload trunca o graacutefico permitindo a visualizaccedilatildeo de algo que esteja errado O limite-padratildeo eacute 10 Mbs mas pode ser modifica-do com -i ltvalorgt para a entrada e -o ltvalorgt para a saiacuteda O paracircmetro -s ltvalorgt com valor entre 1 e 9 possibilita a manipulaccedilatildeo dos valores meacutedios Quanto menor o nuacutemero mais curto eacute o intervalo para caacutelculo das meacutedias O valor 9 eacute o padratildeo Outro recurso inte-ressante eacute a possibilidade de modificar paracircmetros criacuteticos em tempo de execuccedilatildeo ndash incluindo a interface a ser monitorada Pressionar [O] enquanto o Nload estaacute rodando exibe um menu de opccedilotildees As alteraccedilotildees satildeo aplicadas no mesmo momento

O paracircmetro -m eacute uacutetil para servidores com muacuteltiplas interfaces ele informa o Nload para exibir o uso de muacuteltiplas interfaces ao mesmo tempo apesar de ser perdida a possibilidade de desenhar histogramas com o uso dessa opccedilatildeo

COLUNA

Mais informaccedilotildees

[1] Iftop httpwwwex-parrotcompdwiftop

[2] Nload httpwwwroland-riegeldenload

Figura 1 Os graacuteficos do Nload do Charly satildeo impressionantes

Sobre o autorCharly Kuumlhnast eacute administrador de sistemas Unix no datacenter Moers perto do famoso rio Reno na Alemanha Laacute ele cuida principalmen-te dos firewalls

copy Linux New Media do Brasil Editora Ltda

- Conexotildees Ilimitadas - Windows e Linux - Windows e Linux

Gab

arit

o

Suas mensagens entregues sem filas

E-mail marketingE-mail marketing Plug In

A ferramenta de relacionamento por e-mail mais poderosa do mercado

Contrate online

wwwplugincombrLigue e contrate

4003-1001

Powered by

por apenasR$4250

anunciodedicadoindd 1 41408 95432 AM

copy Linux New Media do Brasil Editora Ltda

12

COLUNA

httpwwwlinuxmagazinecombr

Pergunte ao Klaus

Klaus Knopper O criador do Knoppix responde agraves mais diversas perguntas dos leitores por Klaus Knopper

Wifi num Pavilion Prezado Klaus eu adoro sua coluna na Linux Magazine Ela jaacute me ajudou vaacuterias vezes e sem-pre aprendo muito Estou usando o openSUSE 103 num notebook HP Pavilion da seacuterie dv6000 (comprei no Natal e estou amando a maacutequina) Tudo funciona perfeitamente sem necessidade de alteraccedilotildees em arquivos de configuraccedilatildeo ex-ceto por um problema a rede sem fio

Jaacute procurei e conversei pela Internet visitei o site do driver e tentei tudo que consegui imaginar para resolver esse problema ndash desde o NDISwrap-per ateacute o comando install_fwcutter_43xx

Aleacutem disso recentemente postei um bug no site da minha distribuiccedilatildeo mas natildeo recebi qual-quer resposta

Os programas de conexatildeo sem fio como KNe-tworkManager KWiFi-Manager e iwconfig en-xergam a placa de rede sem fio assim como seu moacutedulo mas ela natildeo recebe sinal do roteador Jaacute verifiquei o equipamento e tentei me conec-tar a outros roteadores mas sempre acontece a mesma coisa

Obrigado por qualquer ajuda que vocecirc possa me dar e tambeacutem por toda a ajuda que daacute a todos que lecircem sua coluna E obrigado tambeacutem a todo o pessoal que faz a revista vocecircs satildeo oacutetimos

Resposta O seu problema talvez seja resolvido pelos

drivers de rede sem fio incluiacutedos no kernel 2624 que sempre oferecem suporte ao inter-ruptor da rede sem fio ( wifi switch ) presente em alguns notebooks Esse interruptor costu-ma impedir o funcionamento da rede sem fio porque simplesmente desliga a antena e conse-quumlentemente nenhum sinal eacute recebido mesmo que o driver e o hardware estejam funcionando perfeitamente

Como vocecirc disse ainda seraacute necessaacuterio ins-talar o firmware do adaptador de rede sem fio caso contraacuterio ele somente mostraraacute mensagens engraccediladas nos logs do sistema

O exemplo 1 mostra um trecho do arquivo de log que vocecirc me enviou Esse log confirma que o moacutedulo bcm43xx que vocecirc possui eacute adequado para a sua versatildeo do kernel mas o firmware desse adaptador natildeo estaacute presente

Provavelmente eacute possiacutevel obter esse firmware a partir de vaacuterios locais na Internet mas tambeacutem se pode extraiacute-lo de um adaptador que jaacute o pos-sua usando o programa bcm43xx-fwcutter que vocecirc mencionou

Quando vocecirc conseguir uma coacutepia do firm-ware necessaacuterio deve colocaacute-lo em usrlibho-tplugbcm43xx_microcode5fw (dependendo da sua distribuiccedilatildeo talvez tambeacutem em libfirmwarebcm43xx_microcode5fw ) em que seraacute automatica-mente carregado durante a inicializaccedilatildeo do sis-tema no momento em que o adaptador de rede sem fio for detectado e ativado

Sobre o autorKlaus Knopper eacute o criador do Knoppix e co-fundador do evento Linux Tag Atual-mente ele trabalha como professor progra-mador e consultor

Exemplo 1 Log do sistema (trecho)

Jan 6 052623 linux kernel bcm43xx PHYconnectedJan 6 052623 linux kernel bcm43xxError Microcode ldquobcm43xx_microcode5fwrdquonot available or load failedJan 6 052623 linux kernel bcm43xx core_up for active 80211 core failed (-2)Jan 6 052623 linux firmwaresh[5865]Cannot find firmware file lsquobcm43xx_microcode5fwrsquo

copy Linux New Media do Brasil Editora Ltda

REA

LIZA

CcedilAtildeO

PRO

MO

CcedilAtildeO

O Ecossistema de Negoacutecios em Software Livre no Brasil

2008PA

TRO

CIN

AD

ORE

S EM

200

7

copy Linux New Media do Brasil Editora Ltda

14 httpwwwlinuxmagazinecombr

Crocircnicas do kernel

Zack BrownLinus muda mais uma vez a poliacutetica de desenvolvimento do kernel desfazendo-se da tarefa de garantir total estabilidadepor Zack Brown

Inclusatildeo de drivers mais raacutepidaRecentemente Linus Torvalds reduziu os empeci-lhos para incluir coacutedigo no kernel Quando o Linux comeccedilou uma das maiores prioridades de Torvalds era encorajar contribuiccedilotildees Para isso ele reforccedilou a resposta a qualquer patch aceitando diversos de-les e ateacute mesmo publicando estatiacutesticas manuais sobre aqueles recebidos Conforme as contribuiccedilotildees aumentaram no final da deacutecada de 1990 a rapidez nas respostas de Linus diminuiu e ele ficou mais propenso a simplesmente ignorar patches caso natildeo gostasse deles Ele tambeacutem comeccedilou a insistir que os algoritmos dos patches fossem bonitos e que dife-rentes partes do kernel se comunicassem de formas naturais para elas

Quando Linus adotou as aacutervores ldquoestaacutevelrdquo e ldquode desenvolvimentordquo manteve a insistecircncia no bom gosto e tornou-se ainda mais estrito no ciclo ldquoes-taacutevelrdquo Com a estruturaccedilatildeo do envio de coacutedigos do kernel em uma hierarquia de mantenedores e ldquotenentesrdquo Linus comeccedilou a criar uma cultura de aderecircncia a suas preferecircncias pessoais de escrita de coacutedigo na qual outras pessoas que compreendes-sem seus gostos podiam atuar como guardas aleacutem de realizar o trabalho teacutecnico de escrever e revisar os coacutedigos em busca de falhas

Durante a aacutervore 26 Linus abandonou as mu-danccedilas um tanto desconfortaacuteveis entre as aacutervores estaacutevel e de desenvolvimento Entatildeo ele reinstituiu um conjunto de micro-forks para o desenvolvimen-to estaacutevel no qual a aacutervore 26 principal jamais sai da fase de desenvolvimento e cada versatildeo gera um novo fork estaacutevel A decisatildeo de abandonar os ciclos originais de estabilidade e desenvolvimento marca-ram uma eacutepoca de avaliaccedilatildeo de uma grande varie-dade de problemas Uma das principais justificativas para a mudanccedila foi a de que as distribuiccedilotildees Linux sempre aplicavam seus proacuteprios patches sobre as versotildees oficiais do kernel

Como o ocircnus de oferecer estabilidade sempre recaiacutea sobre as distribuiccedilotildees Linus lhes impocircs for-malmente essa obrigaccedilatildeo livrando-se dessa tarefa A decisatildeo indicou uma nova abordagem para o desenvolvimento do kernel ndash sem abandonar a necessidade de estabilizar aspectos do kernel mas ainda dando maior liberdade aos contribuidores

Agora Torvalds comeccedilou a aceitar patches de drivers com problemas oacutebvios Recentemente Adrian Bunk reclamou de um envio de driver que foi aceito no kernel apesar de conter mais de 250 erros de checkpatch e mais de 2000 avisos Antiga-mente esses problemas precisavam ser solucionados antes que um driver fosse aceito na aacutervore Parte da justificativa de Linus para a mudanccedila na poliacutetica eacute o reconhecimento de que eacute muito mais provaacutevel que um coacutedigo seja testado e consertado dentro da aacutervore oficial do que fora dela

Aleacutem disso supotildee-se que o usuaacuterio meacutedio use o kernel de sua distribuiccedilatildeo e natildeo o oficial enquan-to os desenvolvedores satildeo os usuaacuterios primaacuterios da versatildeo oficial e conseguem lidar melhor com drivers mais feios e menos polidos

Linus lembra que essa nova poliacutetica visa ao coacutedigo de drivers que por definiccedilatildeo satildeo perifeacutericos em relaccedilatildeo ao corpo principal do coacutedigo Ele diz que eacute importante que os drivers sejam bem testados antes de entrarem no kernel O liacuteder do desenvolvimento do Linux natildeo estaacute tatildeo preocupado com o visual do coacutedigo mas quer garantir que ele funcione e natildeo quebre nem cause per-da de dados aos usuaacuterios

COLUNA

Sobre o autorA lista de discussatildeo Linux-kernel eacute o nuacutecleo das atividades de desenvolvimento do kernel Zack Brown consegue se perder nesse oce-ano de mensagens e extrair significado Sua newsletter Kernel Traffic esteve em atividade de 1999 a 2005

copy Linux New Media do Brasil Editora Ltda

Acesse agora wwwrevistaesylinuxcombrPeccedila pelo telefone 11 4082-1300

Jaacute nas bancaspor apenas R$990

Easy Linux traz todos os meses notiacutecias tutoriais de programas e jogos dicas e tudo que o usuaacuterio iniciante precisa saber para usar Linux em casa e no trabalho

Com linguagem simples e abrangente EasyLinux eacute a leitura obrigatoacuteria para quem quer ldquodesbravarrdquo o software livre

EasyLinux leia para saber

por apenas R$990

por apenas R$990

por apenas R$990

por apenas R$990

copy Linux New Media do Brasil Editora Ltda

16

SE

GU

RA

NCcedil

A

httpwwwlinuxmagazinecombr

Figura 1 O gato natildeo estaacute vivo nem morto ateacute que se olhe dentro da caixa

Notiacutecias de InseguranccedilaTodos noacutes jaacute passamos por isso

na verdade muitos passaram recentemente Vocecirc acorda

e encontra um email do Bugtraq ou do Full-Disclosure ou talvez uma noti-ficaccedilatildeo do seu fornecedor a respeito de uma atualizaccedilatildeo de seguranccedila ndash uma atualizaccedilatildeo que afeta quase todos os seus sistemas e cujo exploit jaacute estaacute dis-poniacutevel haacute vaacuterios dias[1]

Obviamente podemos facilmente empregar o poder do Coacutedigo Aberto e nos gabar da velocidade com que os desenvolvedores do kernel con-sertaram a vulnerabilidade permi-tindo que os fornecedores provessem atualizaccedilotildees rapidamente

Ou eu poderia ainda falar da im-portacircncia de fazer um inventaacuterio de seus sistemas e ter um sistema de ge-renciamento de patches para aplicaacute-los prontamente Poreacutem a questatildeo eacute que todos os sistemas satildeo vulneraacuteveis o tempo inteiro Permita-me repetir soacute para assegurar que ningueacutem pense que me confundi todos os sistemas satildeo vulneraacuteveis o tempo inteiro

Falhas de seguranccedila satildeo bem se-melhantes ao gato de Schroumldinger nem vivo nem morto ateacute que seja verificado[2] (figura 1) Da mesma forma podemos perguntar se as vul-nerabilidades de seguranccedila aparecem do nada como por maacutegica quando algueacutem as observa colapsando o es-tado quacircntico de probabilidade da vulnerabilidade em questatildeo para um estado conhecido Ou seja en-quanto ningueacutem reconhece uma vulnerabilidade (e mais importan-te enquanto ningueacutem possui um exploit para ela) ela natildeo existe Isso tambeacutem eacute conhecido como a teoria da ldquoaacutervore que cai na florestardquo em seguranccedila da informaccedilatildeo

Tambeacutem seria possiacutevel argumen-tar de forma alternativa que mes-mo sem sabermos ao certo quan-do o isoacutetopo decairaacute acionando a liberaccedilatildeo do gaacutes venenoso ele vai decair e provavelmente mais cedo do que se desejaria

A verdade eacute que um sistema mo-derno possui tanto coacutedigo instalado e em execuccedilatildeo que eacute provaacutevel que alguma vulnerabilidade exploraacutevel venha a ser encontrada e usada para comprometer o sistema Entatildeo o que vocecirc pode fazer

Planos futurosAssim como no velho ensinamento ldquoplaneje-se para o pior mas espere o melhorrdquo eacute obrigatoacuterio planejar-se para o caso de falhas no sistema de seguranccedila Todos os conselhos-padratildeo a respeito de aumento de seguranccedila de sistemas criaccedilatildeo de camadas de seguranccedila e limitaccedilatildeo de acesso e privileacutegios sempre que possiacutevel ainda satildeo bons conselhos mas simplesmente natildeo consegue mresponder agrave pergunta o que fazer quando sua seguranccedila falha

Melhores praacuteticasPor ser praticamente inevitaacutevel que seus sistemas estejam vulneraacuteveis em algum momento ndash provavelmente durante um periacuteodo em que haacute aces-so puacuteblico pelo exploit ndash eles prova-velmente estaratildeo comprometidos Um exemplo perfeito disso eacute o site seifriedorg O SELinux estava ativo impedindo a exploraccedilatildeo de todas as vulnerabilidades de seguranccedila mas tambeacutem evitando o funcionamento correto de vaacuterios softwares de tercei-ros Apoacutes brigar um tempo contra o SELinux desisti e desativei-o

Esse foi meu primeiro erro por dois motivos Primeiro ao desati-var o SELinux facilitei muito a in-vasatildeo do meu sistema reduzindo tambeacutem a quantidade de logs que seriam gerados em caso de invasatildeo Se for preciso desativar o SELinux ao menos use o modo permissivo que registra as violaccedilotildees

Meu segundo erro foi a claacutessica preguiccedila administrativa Para faci-litar a administraccedilatildeo do sistema eu havia estabelecido relaccedilotildees de confianccedila no SSH entre minhas maacutequinas e tambeacutem ativado o acesso por sudo sem a requisiccedilatildeo de uma senha

Entatildeo uma vez que o agressor conseguisse invadir um sistema e ganhasse acesso agrave conta de admi-nistraccedilatildeo ele teria acesso a todos os meus sistemas Portanto quando um dos meus sistemas foi compro-metido acabei tendo que reinstalar todos eles pois tinha certeza de que todos haviam sido modificados Com frequumlecircncia essa falha de projeto tam-beacutem ocorre com firewalls e outros mecanismos de seguranccedila As organi-zaccedilotildees implementam uma seguranccedila externa bem riacutegida mas falham ao implementar a seguranccedila interna deixando um nuacutecleo apetitoso para os invasores desfrutarem

por Kurt Seifried

copy Linux New Media do Brasil Editora Ltda

17

| NOTIacuteCIASSeguranccedila

Linux Magazine 42 | Maio de 2008

Melhores registrosComo disse eu havia desativado o SELinux em vez de deixaacute-lo no modo permissivo Com o espaccedilo em disco sendo relativamente barato atualmen-te raramente faz sentido apagar logs para economizar espaccedilo

Aleacutem disso com a facilidade de criar um sistema de logs pela rede com o Syslog natildeo existe desculpa para natildeo usar um log centralizado (dificultando assim a eliminaccedilatildeo dos rastros de um eventual invasor) Entretanto note que muitos ataques deixaratildeo poucas mensagens significativas nos logs

Frequumlentemente uma mensa-gem informando que o programa servidor fechou seraacute o uacutenico indiacute-cio da invasatildeo o que dificilmente garante uma investigaccedilatildeo completa da ocorrecircncia

Ter um rastro confiaacutevel para au-ditoria pode significar a diferenccedila

entre precisar reinstalar todo um grupo de maacutequinas e apenas limpar uma delas Manter logs tambeacutem eacute importante para fornecer as infor-maccedilotildees necessaacuterias para consertar um sistema Simplesmente retornar um sistema a seu estado original natildeo impediraacute que o agressor faccedila uma nova invasatildeo

BecapeOs becapes costumam ser um dos as-pectos mais negligenciados pela segu-ranccedila da informaccedilatildeo Poreacutem eles satildeo cruciais para garantir que os sistemas possam ser reinstalados corretamente e os dados possam ser recuperados Se vocecirc natildeo fizer becape de nada mais ao menos faccedila um de seus da-dos e assegure-se de guardaacute-lo longe da maacutequina Aleacutem disso ter sistemas de recuperaccedilatildeo que funcionem eacute tatildeo importante quanto todo o becape

Mais Informaccedilotildees

[1] SecurityFocus vulnerabilidade em copy_from_user_mmap_sem() httpwwwsecurityfocuscombid27796

[2] Gato de Schroumldinger httpptwikipediaorgwikiGato_de_SchrC3B6dinger

Sobre o autorKurt Seifried eacute Consultor de Seguranccedila da Informaccedilatildeo especializado em Linux e re-des desde 1996 Ele eacute casado e tem qua-tro gatos mas nenhum peixe (porque os ga-tos tecircm mais fome que medo de aacutegua) Ele sempre se pergunta como essa tecnologia funciona em larga escala mas frequumlente-mente falha em escalas menores

Com muita frequumlecircncia jaacute vi be-capes funcionarem perfeitamente ateacute serem necessaacuterios aleacutem de imagens de recuperaccedilatildeo de baixo niacutevel incompatiacuteveis com o hard-ware substituto ou dados exporta-dos corrompidos e incompletos Por exemplo tenho um script de becape que estava falhando silen-ciosamente haacute trecircs meses porque eu havia deixado de lado a opccedilatildeo ldquosobrescrever arquivos mais anti-gosrdquo e entatildeo todos os arquivos alterados natildeo haviam recebido a coacutepia de seguranccedila

Preacute-funeralUma das praacuteticas mais poderosas que jaacute vi eacute conduzir um ldquopreacute-fu-neralrdquo Em essecircncia o administra-dor finge que o sistema jaacute falhou Ter uma ideacuteia do que fazer nessa situaccedilatildeo ajuda a evitar a confusatildeo caso isso de fato aconteccedila e tam-beacutem pode oferecer ideacuteias de accedilotildees preventivas a serem tomadas tais como usar firewalls em todos os computadores independente de a maacutequina estar ou natildeo conectada a uma rede puacuteblica

ConclusatildeoDa mesma forma que o sistema comprometido natildeo importa de ver-dade se o gato estaacute vivo ou morto Em algum momento o gaacutes veneno-so seraacute liberado o gato morreraacute e o local comeccedilaraacute a cheirar mal

O truque eacute encontrar formas efi-cazes de lidar com falhas para que se consiga retornar ao trabalho de forma raacutepida e segura

Dica de invasatildeo MySQL

Um meacutetodo comumente usado para zerar uma senha de root do MySQL perdida eacute usar a opccedilatildeo --skip-grant-tables que carrega o banco de dados sem qualquer proteccedilatildeo Se for necessaacuterio usar esse meacutetodo use tambeacutem --skip_networking para permitir somente conexotildees locais Com ela usuaacute-rios locais ainda conseguiriam conectar-se portanto assegure-se de desco-nectaacute-los tambeacutem

Talvez um meacutetodo melhor seja usar a opccedilatildeo --init file que lecirc comandos SQL deste arquivo na inicializaccedilatildeo Cada comando deve estar numa uacutenica linha e natildeo deve incluir comentaacuterios

Entatildeo basta criar um arquivo texto (zera-senhatxt) com um comando SQL para alterar a senha de root

SET PASSWORD FOR lsquorootrsquorsquolocalhostrsquo = PASSWORD(lsquoNovaSenharsquo)

e em seguida iniciar o mysqld com a opccedilatildeo --init-file zera-senhatxt Depois de carregar o arquivo simplesmente reinicie o MySQL normalmente e entre com a nova senha

copy Linux New Media do Brasil Editora Ltda

18

NO

TIacuteC

IAS

httpwwwlinuxmagazinecombr

Linux eacute feito por empresas

Sun homologaraacute Ubuntu Mark Shuttleworth fundador da Canonical empresa responsaacutevel pelo Ubuntu afi rmou que a Sun demons-trou interesse em homologar essa distribuiccedilatildeo em seus servidores A accedilatildeo seria muito importante para a em-presa sul-africana cuja distribuiccedilatildeo passaria a concorrer contra os pesos-pesados das distribuiccedilotildees corporativas (as chamadas Enterprise ) Red Hat Enterprise Linux e No-vell Suse Linux Enterprise Server ambas com modelos baseados em subscriccedilatildeo diferentemente do Ubuntu

A Canonical jaacute oferece suporte comercial ao Ubun-tu instalado em determinadas maacutequinas da Sun O que muda agora eacute a homologaccedilatildeo por parte da fa-bricante do hardware

A Linux Foundation publicou um novo relatoacuterio a res-peito do desenvolvimento do Linux intitulado ldquoLinux Kernel Development ndash How Fast it is Going Who is Doing It What They are Doing and Who is Sponso-ring Itrdquo (Desenvolvimento do Kernel Linux ndash com que velocidade estaacute ocorrendo quem o estaacute fazendo o que eles tecircm feito e quem fi nancia O estudo foi feito com base nos uacuteltimos trecircs anos do desenvolvimento do kernel Linux ndash abrangendo desde a versatildeo 2611 ateacute a 2624 ndash e revela que a maior parte dos desenvolvedores do kernel satildeo pagos por grandes companhias como IBM Intel Linux Foundation MIPS Technology MontaVista Movial NetApp Novell e Red Hat

Ao longo dos anos o nuacutemero de desenvolvedores do Linux tem crescido consideravelmente Pela anaacutelise a versatildeo mais recente do kernel (2624 na liberaccedilatildeo do estudo) teve 1057 desenvolvedores registrados O estudo informa que entre 70 e 95 dos desenvolvedores pagos para trabalhar com o Linux nos uacuteltimos trecircs anos satildeo funcionaacuterios dessas empresas Mostra tambeacutem que atual-mente a relaccedilatildeo das grandes empresas com o Linux eacute bastante proacutexima Os investimentos em Coacutedigo Aber-to portanto estatildeo diretamente relacionados ao modus operandi dessas empresas e jaacute incorporados agrave ldquocorrida armamentistardquo do mundo dos negoacutecios

O relatoacuterio da Linux Foundation sobre as contribui-ccedilotildees ao Linux exibe tambeacutem um nuacutemero elevado de contribuiccedilotildees de desenvolvedores individuais ao siste-ma Poreacutem a quantidade de pessoas que realmente faz o trabalho ldquobraccedilalrdquo eacute bem pequena Nos uacuteltimos trecircs anos os dez desenvolvedores que mais contribuiacuteram para o kernel somam 15 de todo esse trabalho Se au-

mentada a margem levando em conta os 30 maiores desenvolvedores esse nuacutemero sobe para 30

Assim foi estabelecido um ranking das empresas mais atuantes no kernel Um dos destaques eacute a Novell que au-mentou em 300 sua participaccedilatildeo nos uacuteltimos trecircs anos A empresa passou de 36 para 144 do total de contribuiccedilotildees realizadas Isso a coloca em segundo lugar logo atraacutes da Red Hat

Ranking

As companhias que de fato constroem o Linux consi-derando sua contribuiccedilatildeo para o kernel satildeo Red Hat (112) Novell (89) IBM (83) Intel (41) Linux Foundation (35) SGI (20) MIPS Technology (16) Oracle (13) MontaVista (12) e Linutronix (10) A participaccedilatildeo dessas empresas no desenvolvimento do Linux tem sua razatildeo de ser Red Hat Novell e MontaVista possuem motivos claros as trecircs desenvolvem e comer-cializam sistemas Linux As demais companhias traba-lham no kernel para garantir que o Linux rode correta-mente em seus hardwares na intenccedilatildeo de tornar seus produtos mais atraentes para os usuaacuterios Linux e com isso aumentar suas vendas

Outras empresas que desenvolvem o Linux como Sony Nokia e Samsung satildeo conhecidas por embar-carem o sistema aberto como um componente de seus proacuteprios produtos (como cacircmeras de viacutedeo te-levisores e telefones moacuteveis) Sua participaccedilatildeo no de-senvolvimento do kernel busca um investimento de meacutedio a longo prazo Essas empresas desejam ga-rantir que o sistema do pinguumlim continue a ser uma base soacutelida para seus produtos no futuro

18copy Linux New Media do Brasil Editora Ltda

19

| NOTIacuteCIASGerais

Linux Magazine 42 | Maio de 2008

BrOfficeorg 24Apoacutes uma espera relativamente longa a nova versatildeo do BrOfficeorg finalmente estaacute disponiacutevel para download Satildeo vaacuterias as novidades que se destacam nesse salto de versatildeo entre elas me-lhorias na geraccedilatildeo de documentos PDF mudanccedila da fonte-padratildeo para a famiacutelia DejaVu melhorias gerais no acesso a banco de dados (MySQL Oracle JDBC etc) e inclusatildeo de suporte nativo ao formato proprietaacuterio do aplicativo de bancos de dados do MS Access 2007

A interface dos programas tambeacutem apresenta algumas mudanccedilas A seleccedilatildeo do idioma no corretor ortograacutefico estaacute mais simples novos atalhos de teclado foram criados

para a definiccedilatildeo de estilos de paraacutegrafo e os blocos de ceacutelulas do Calc podem ser copiados e movidos mais facilmente pela planilha Na janela de impressatildeo as opccedilotildees avanccediladas podem ser ocultadas uma vez que raramente precisam ser alteradas

Linux em switches CiscoA Cisco atraveacutes de sua nova plataforma Application Extension Platform (AXP) converteu vaacuterios mode-los de seus switches para servidores de aplicaccedilotildees Linux Os novos servidores vecircm embarcados com bibliotecas C Java e Perl certificadas Com isso os desenvolvedores seratildeo capazes de usar um kit de desenvolvimento (SDK) para construir aplicativos para o novo sistema

Os servidores AXP vecircm equipados com proces-sadores de arquitetura x86 (o mais recente traz um Pentium 14 GHz) e satildeo capazes de executar uma distribuiccedilatildeo Linux proacutepria com kernel 26143 e bibliotecas compatiacuteveis com o Fedora Core 4 A dis-tribuiccedilatildeo particular da Cisco foi desenvolvida exata-mente para rodar sobre esse hardware que in-clui 2 GB de memoacuteria RAM e discos riacutegidos de 160 GB

copy Linux New Media do Brasil Editora Ltda

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Gartner SL em alta Windows em colapso De acordo com estudo realizado pelo Gartner em apenas alguns anos praticamente todos os tipos de negoacutecios estaratildeo utilizando Coacutedigo Aberto mesmo que os gerentes de TI dessas mesmas empresas ignorem essa tecnologia e prefi ram utilizar apenas a de software como serviccedilo ( SaaS ) O mesmo estu-do informa que ateacute 2012 todas as empresas estaratildeo utilizando Coacutedigo Aberto de forma embarcada

De acordo com Mark Taylor presidente do grupo de promoccedilatildeo do Open Source Consortium ldquoinfe-lizmente o Gartner estaacute subestimando o Coacutedigo Abertordquo Ele informa que atualmente todos estatildeo utilizando Coacutedigo Aberto como serviccedilo ndash o princi-pal exemplo eacute o do Google Ainda de acordo com Taylor o Gartner natildeo percebeu que uma licenccedila livre faz mais que apenas reduzir o custo total de propriedade (TCO) ndash ela fornece muitos outros benefiacutecios tambeacutem a quem a utiliza

Mesmo sabendo que o custo da licenccedila representa apenas 3 do valor do projeto algumas empresas continuam baseando suas vendas nesse detalhe tornando-se limitadas Poreacutem quando essa limi-taccedilatildeo eacute eliminada a abrangecircncia do projeto pode se expandir para diversas outras esferas ndash tudo isso sem custo adicional Esse fenocircmeno se deve prin-cipalmente ao fato de o Coacutedigo Aberto fornecer

grande escalabilidade a um custo zero de transaccedilatildeo para qualquer aplica-

ccedilatildeo em que se queira investir

Microsoft em risco Ao mesmo tempo os analistas do Gartner afir-maram que o sistema Windows corre perigo pondo em risco tambeacutem a Microsoft Em sua conferecircncia ldquoEmerging Trendsrdquo analistas de TI do Gartner afirmaram que os esforccedilos da Mi-crosoft em relaccedilatildeo ao Windows natildeo trouxeram resultados Os motivos disso de acordo com os analistas incluem os ciclos de desenvolvimento extremamente longos e as limitadas inovaccedilotildees trazidas a cada nova versatildeo do sistema opera-cional liacuteder em vendas aleacutem da experiecircncia de uso inconsistente entre diferentes versotildees Segundo mateacuteria da PC World no lado dos ad-ministradores cada nova interaccedilatildeo do sistema traz novas questotildees de incompatibilidade com aplicativos resultando no aumento dos custos de gerenciamento e reduzindo o valor do pro-duto da gigante de Redmond

As criacuteticas ao sistema da Microsoft natildeo pararam por aiacute Os analistas do Gartner levantaram ques-totildees teacutecnicas desde a complexidade do Windows sua falta de modularidade seus trechos de coacutedigo com 20 anos de idade e os elevados requisitos de hardware ateacute a difusatildeo do uso de aplicativos web e multi-plataforma

Essas questotildees conduziratildeo os consumidores de acordo com os analistas agrave adoccedilatildeo de outros sistemas garantindo um futuro proacutespero ao Coacute-digo Aberto A saiacuteda para o Windows segundo o Gartner seria uma versatildeo do Vista ainda mais modularizada apesar das alegaccedilotildees de grande modularizaccedilatildeo no sistema feitas pela Microsoft Uma soluccedilatildeo especiacutefica para a retrocompatibili-dade dos aplicativos residiria na virtualizaccedilatildeo de sistemas e componentes No entanto adverte o instituto de pesquisa natildeo devemos esperar mu-danccedilas raacutepidas da Microsoft junto aos negoacutecios bilionaacuterios do Windows

Cars

ten

Muumll

ler -

ww

ws

xch

u

20copy Linux New Media do Brasil Editora Ltda

21

| CORPORATENotiacutecias

Linux Magazine 42 | Maio de 2008 21

21

Sun promete viacutedeo livre Rob Glidden da Sun Microsystems infor-mou em seu blog a respeito de dois novos projetos de Coacutedigo Aberto da empresa que deveratildeo resultar em uma soluccedilatildeo livre para multimiacutedia via Web incluindo codecs de aacuteudio e viacutedeo No contexto da iniciativa Open Media Commons (OMC) a Sun estaacute trabalhando atualmente no OMS Video ndash segundo Glidden a sigla OMS pode signifi car tanto Open Media Stack quanto Open Media System Assim como ocorre com o formato Flash da Adobe a soluccedilatildeo da Sun deveraacute encapsular um codec de aacuteudio e um de viacutedeo ao mesmo tempo em que cuida do controle e do trans-porte de dados bem como de aspectos de seguranccedila do conteuacutedo Os desenvolvedo-res do codec de Coacutedigo Aberto natildeo estatildeo considerando apenas suas caracteriacutesticas teacutecnicas como velocidade e qualidade questotildees como a aderecircncia da licenccedila do sistema agraves premissas do Software Livre ausecircncia de custos com licenciamento e a criaccedilatildeo de coacutedigos e meacutetodos que natildeo infrinjam nenhuma patente tambeacutem satildeo requisitos do projeto O desenvolvimento do OMS eacute pautado pela poliacutetica de direitos de propriedade intelectual adotada pela Organizaccedilatildeo Mundial do Comeacutercio que natildeo se restringe simplesmente agrave adoccedilatildeo de uma licenccedila proacutepria ndash a Common Development and Distribution License (CDDL) que permite uma combinaccedilatildeo de software de coacutedigo aberto e proprietaacute-rio ndash mas utiliza tambeacutem Digital Rights Management (DRM)

O codec de viacutedeo deveraacute ser baseado nas especifi caccedilotildees do pa-dratildeo H26x ndash mas sem se limitar a elas Como formato de aacuteudio os de-senvolvedores estatildeo considerando o formato Xiph Vorbis A Sun preferiu natildeo adotar o formato H264 por natildeo consideraacute-lo sufi cientemente livre Pro-jetos que tenham objetivos similares como Vorbis Theora e Dirac natildeo satildeo considerados concorrentes mas ldquofacilitadoresrdquo Glidden no entanto natildeo revelou em quanto tempo o produto fi nal deve estar disponiacutevel

Microsoft cogita aquisiccedilatildeo hostil do Yahoo Apoacutes ter por reiteradas vezes afi rmado que a aquisiccedilatildeo do Yahoo eacute im-prescindiacutevel para os planos de expansatildeo da companhia na concorrecircncia contra o Google a Microsoft em carta redigida pelo CEO Steve Ball-mer enviou no iniacutecio de abril um ultimato agrave empresa de Jerry Yang caso natildeo cheguem a um acordo com a cuacutepula diretora da empresa nas proacuteximas trecircs semanas a Microsoft deveraacute recorrer aos acionistas e partir para uma aquisiccedilatildeo hostil

Na carta Steve Ballmer advertiu a direccedilatildeo do Yahoo de que no caso de uma accedilatildeo hostil a oferta da Microsoft poderaacute ser menor devido agrave reduccedilatildeo nos valores das accedilotildees das duas empresas ocorrida recentemente Adicional-mente a Microsoft pretende exercer pressatildeo sobre a diretoria do Yahoo atraveacutes de seus proacuteprios representantes no conselho diretor da empresa Ateacute entatildeo a empresa fundada por Bill Gates havia tentado chegar a um acordo por vias paciacutefi cas no intuito de evitar um processo de aquisiccedilatildeo hostil longo (e possivelmente caro) bem como para preservar as equipes das duas empresas para quando ocorrer a fusatildeo Entretanto segundo Ball-mer as reuniotildees realizadas ateacute agora foram infrutiacuteferas

Ballmer argumentou ainda no docu-mento que o Yahoo teria perdido espaccedilo no mercado de maacutequinas de busca na Internet e que a situaccedilatildeo fi nanceira da companhia teria piorado desde que a oferta foi feita

Concorrente do ODF vira padratildeo ISO A Organizaccedilatildeo Internacional de Padronizaccedilatildeo ISO aprovou no dia 1ordm de abril com 75 dos votos vaacutelidos dos membros P a homologaccedilatildeo do formato de documentos de escritoacuterio Offi ce Open XML de autoria da Microsoft como um padratildeo internacional A aceitaccedilatildeo do formato como padratildeo ocorreu na segunda tentativa da empresa de Steve Ballmer junto ao oacutergatildeo internacional e apoacutes sua aprovaccedilatildeo pelo ECMA oacutergatildeo europeu de padronizaccedilatildeo de sistemas de comunicaccedilatildeo e informaccedilatildeo

O Brasil representado pela ABNT (Associaccedilatildeo Brasileira de Normas Teacutecnicas) votou assim como na primeira avaliaccedilatildeo contra a aprovaccedilatildeo do OOXML ndash como eacute chamado o formato ndash devido a inuacutemeras questotildees teacutecnicas no documento ofi cial que descreve o formato

Votaram como o Brasil o Canadaacute e a China aleacutem de Cuba Equa-dor Iacutendia Iratilde Nova Zelacircndia Aacutefrica do Sul e Venezuela totalizando oito votos de membros P (participantes) e dois de membros O (observadores incluindo o Brasil) da ISO Diversos paiacuteses se abstiveram muitos deles emitindo comentaacuterios a esse respeito

O periacuteodo anterior agrave votaccedilatildeo foi alvo de diversas denuacutencias e acusaccedilotildees relativas a alguns oacutergatildeos nacionais e influecircncias exter-nas e internas de voto

Aleacutem das falhas teacutecnicas apontadas nas especifi caccedilotildees do OOXML outro importante argumento contra sua padronizaccedilatildeo junto agrave ISO eacute a exis-tecircncia do formato ODF ( Open Document Format ) criado de forma aberta pela organizaccedilatildeo OASIS cujo objetivo eacute justamente o de proporcionar um formato de arquivos de escritoacuterio (documentos planilhas apresenta-ccedilotildees etc) legiacutevel por qualquer programa que o deseje e que jaacute havia sido aprovado como o padratildeo ISOIEC 26300 em 2006

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

24

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Agraves 9h34min de uma rara manhatilde nublada em Porto de Galinhas Brasil Sandro Alves Gerente

de Desenvolvimento de Novos Ne-goacutecios do Instituto Nokia de Tecno-logia (INdT)[1] inaugurou a ediccedilatildeo 2008 da Bossa Conference[2] Ele apresentou um curto viacutedeo contan-do detalhes da histoacuteria e das atraccedilotildees de Porto de Galinhas Recife e do Estado de Pernambuco

Alves deu as boas vindas ao puacuteblico internacional de 250 pessoas ainda em-polgado com a ediccedilatildeo de 2007 da Bossa Conference e seu grande sucesso Logo apoacutes a abertura o gerente explicou o trabalho do INdT e mais importante por que seus funcionaacuterios o fazem

Design e conceitoSandro caracteriza o INdT como um instituto ldquomovido por design e conceitordquo e natildeo ldquopor tecnologiardquo embora deixe perfeitamente claro que natildeo se trata de uma criacutetica aos desenvolvedores de Coacutedigo Aberto ldquoQuando comeccedilamos eacuteramos movi-dos pela tecnologiardquo afirmou ldquomas gradualmente fomos percebendo que a abordagem orientada ao de-sign e conceito era muito melhor e isso tem funcionado muito bem desde entatildeordquo

A unidade do INdT em Recife emprega apenas Coacutedigo Aberto no desenvolvimento de novos aplicati-vos e plataformas para dispositivos moacuteveis da Nokia e eacute esse o tema central da Bossa Conference ldquoo evento eacute projetado para promover interaccedilatildeo entre os desenvolvedoresrdquo coloca Sandro ldquoA Bossa Conference

eacute projetada para maximizar o tempo de interaccedilatildeo entre as pessoasrdquo

Na praacuteticaAssim como na ediccedilatildeo 2007 do even-to[3] todos os dias contaram com sessotildees voltadas agrave parte praacutetica dos sistemas de software que compotildeem os dispositivos moacuteveis da Nokia Daniel Rocha apresentou o uso de Python para o desenvolvimento de aplicati-vos sobre a plataforma S60 seguido de Mario Hozzano e Leandro Sales que mostraram como utilizar essa mesma linguagem na programaccedilatildeo para a plataforma Maemo No se-gundo dia Thiago Santos mostrou na praacutetica como criar plugins para o sistema multimiacutedia GStreamer e apoacutes o almoccedilo Denis Kenzior abordou a programaccedilatildeo de aplicativos com uso de Bluetooth e OBEX para a plataforma Qtopia desenvolvida pela norueguesa Trolltech e recentemente adquirida pela Nokia Finalizando as sessotildees praacuteticas do evento Marcelo Oliveira e Gustavo Barbieri ambos do INdT mostraram como desenvolver inter-faces usando Python e as bibliotecas EFL seguidos de Dave Andreoli que mostrou outras formas de ir mais fun-do no uso dessas bibliotecas

EspecialistasCom sua especializaccedilatildeo em dispo-sitivos moacuteveis de comunicaccedilatildeo e conectividade o INdT foi capaz de reunir em Porto de Galinhas um impressionante nuacutemero de sumidades em grande parte das tecnologias que compotildeem esse crescente mercado

Michael ldquoMickeyrdquo Lauer (figura 1) um dos criadores do smartphone total-mente livre OpenMoko[4] discursou sobre a construccedilatildeo de distribuiccedilotildees Linux especiacuteficas para o mercado de sistemas embarcados com o OpenEm-bedded[5] Em uma entrevista[6] dada agrave Linux Magazine logo em seguida o alematildeo exibiu alguns protoacutetipos do dispositivo fabricado pela FIC e con-tou a histoacuteria do desenvolvimento do aparelho que encheu os olhos de todo o puacuteblico presente (figura 2) chamado frequumlentemente de ldquoplaygroundrdquo para hackers tamanha sua flexibilidade Harald Welte outro alematildeo partici-pante do projeto tratou de apresentar agrave plateacuteia o conceito de um smartphone verdadeiramente aberto

Depois do almoccedilo Alp Toker de-monstrou ainda os grandes avanccedilos do mecanismo de renderizaccedilatildeo de paacuteginas web Webkit de autoria da Apple e derivado do KHTML do projeto KDE O desenvolvedor do Webkit demonstrou como a equipe de desenvolvimento do renderiza-dor tem preocupaccedilatildeo com o uso de memoacuteria [7] o que vem rendendo

Figura 1 Mickey Lauer exibe dois protoacute-tipos do FIC Neo Freerunner

Bossa Conference 2008

A bossa da mobilidadeCom um evento uacutenico no mundo a Bossa Conference do Instituto Nokia de Tecnologia em Recife comemora sua entrada no calendaacuterio internacionalpor Pablo Hess

copy Linux New Media do Brasil Editora Ltda

25

| CORPORATEBossa Conference 2008

Linux Magazine 42 | Maio de 2008

vaacuterios testes desse mecanismo nos dispositivos moacuteveis que satildeo o centro da Bossa Conference

Na aacuterea de tecnologias visuais ndash um dos fetiches desse mercado ndash Carsten ldquoRastermanrdquo Haitzler criador do re-conhecidamente inovador ambiente desktop Enlightenment demonstrou os motivos do crescente interesse por parte dos desenvolvedores de dispositivos embarcados pelas bibliotecas graacuteficas que compotildeem seu software ndash especial-mente em relaccedilatildeo ao consumo de re-cursos ndash o que pode acabar por render a essas bibliotecas o posto atualmente ocupado pela GTK[8] Oslashyvind Kolarings colaborador de diversos projetos de Soft-ware Livre na aacuterea visual como Cairo e Gimp tambeacutem explicou as necessi-dades de hardware para a interface dos futuros dispositivos moacuteveis enquanto Chris Wilson tambeacutem envolvido com o Cairo falou sobre seu processo de desenvolvimento enfatizando os testes de funcionalidades

Ainda na questatildeo multimiacutedia Lennart Poetering descreveu a aplicaccedilatildeo do ser-vidor de aacuteudio PulseAudio em dispositi-vos embarcados enquanto Zach Rusin mostrava na sala ao lado os benefiacutecios que os drivers Gallium3D prometem trazer agrave aacuterea de graacuteficos 3D Logo em seguida Conrad Parker completou o tema com sua palestra sobre aspectos internos de reprodutores de viacutedeo

Os organizadores tambeacutem incluiacuteram no programa seminaacuterios sobre questotildees especialmente importantes em dispo-

sitivos moacuteveis como a depuraccedilatildeo do sistema de comunicaccedilatildeo entre processos D-Bus (ministrado por J5 Palmieri) o armazenamento local de dados (semi-naacuterio de Alexandre Oliva)

As tendecircncias de desenvolvimento tambeacutem figuraram entre os assuntos debatidos Daniel Gentleman apre-sentou formas de interaccedilatildeo entre os projetos de Coacutedigo Aberto e as comunidades que os utilizam dei-xando clara a necessidade de desen-volvimento nesse campo

A questatildeo da mobilidade foi disseca-da por Marcel Holtmann mantenedor de diversas das pilhas de protocolos de comunicaccedilatildeo sem fio no kernel Linux Segundo Marcel o Linux pos-sui suporte a diversos protocolos de comunicaccedilatildeo que nem mesmo estatildeo disponiacuteveis comercialmente o que o torna um sistema ideal para os dispo-sitivos moacuteveis de comunicaccedilatildeo

Nesse mundo de tantos aparelhos com exigecircncias aparentemente para-doxais ndash cada vez mais funcionalida-des em dispositivos progressivamente menores ndash a Intel tambeacutem esteve presente com seu Mobile Internet Device equipado com o igualmente novato Ubuntu Mobile Edition Adil-son Oliveira da Canonical apresen-tou agrave imprensa um aparelho natildeo tatildeo pequeno quanto os demais do evento e evidentemente com objetivos dife-rentes ndash o MID eacute um subnotebook reduzido tanto em capacidade quan-to em tamanho ndash mas equipado com uma distribuiccedilatildeo que promete mexer com esse mercado[9]

Um evento uacutenicoSe o mercado de software para disposi-tivos embarcados tem diversas particu-laridades a Bossa Conference age de acordo Nas duas noites do evento os participantes foram levados a ambien-tes que propiciavam a interaccedilatildeo o que certamente ajudou muito a troca de ideacuteias entre o puacuteblico e as ldquocelebrida-desrdquo com uma proximidade raramente vista em outros eventos

Mais informaccedilotildees

[1] INdT httpwwwindtorgbr

[2] Bossa Conference httpbossaconferenceindtorg

[3] Bossa Conference 2007 ldquoO futuro da mobilidaderdquo httpwwwlinuxmagazinecombrarticleo_futuro_da_mobilidade

[4] OpenMoko httpwwwopenmokoorg

[5] OpenEmbedded httpwwwopenembeddedorg

[6] ldquoO celular mais livre do mundordquo httpwwwlinuxmagazinecombrlmnoticiao_celular_mais_livre_do_mundo

[7] ldquoWebkit em todo canto ndash mesmordquo httpwwwlinuxmagazinecombrlmnoticiabossa_conference_2008_webkit_em_todo_canto_ndash_mesmo

[8] ldquoEnlightenment vai destronar GTKrdquo httpwwwlinuxmagazinecombrnoticiabossa_conference_enlightenment_vai_destronar_gtk

[9] ldquoUbuntu para dispositivos embarcadosrdquo httpwwwlinuxnewmediacombrnoticiaubuntu_para_dispositivos_embarcados

Figura 2 O FIC Neo Freerunner eacute o segundo modelo de smartphone da FIC a utilizar a plataforma OpenMoko

Segundo o ldquodono da festardquo Sandro Alves os participantes do evento satildeo pes-soas que ldquoamam criar coacutedigordquo como definem a si proacuteprios ldquosem nenhuma inclinaccedilatildeo poliacutetica ou ideoloacutegicardquo O limite de 250 pessoas afirma Sandro eacute para garantir que apenas as pessoas mais qualificadas e motivadas participem do evento garantindo assim o retorno po-sitivo de todos -- do puacuteblico dos pales-trantes e ateacute dos organizadores

copy Linux New Media do Brasil Editora Ltda

26

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Hardware Coacutedigo Aberto e Software Enablement

Software bem rodadoPor que um fabricante de hardware teria interesse em um software de Coacutedigo Aberto Entenda o Software Enablement e seus motivospor Sulamita Garcia

No final do ano passado tive a oportunidade de partici-par de uma conferecircncia da

Intel sobre Software Enabling Mas o que eacute isso e o que tem a ver com Software Livre

A dependecircncia entre software e hardware na computaccedilatildeo sempre foi uma discussatildeo do tipo ldquoo ovo e a gali-nhardquo Hardware natildeo faria nada sem o software software natildeo faria nada sem o hardware Combinados poreacutem eles fazem tudo o que conhecemos na aacuterea Conforme a tecnologia evolui o hard-ware se torna mais raacutepido ao mesmo tempo em que consome menos energia e tem o tamanho reduzido Isso torna possiacutevel adicionar mais funcionalidades tais como melhorar a possibilidade de virtualizaccedilatildeo integrar redes sem fio ou ter multiplos nuacutecleos para processar vaacute-rias instruccedilotildees ao mesmo tempo Mas para que essas novas funcionalidades faccedilam diferenccedila o software precisa ser escrito ou modificado para utilizaacute-la O Software Enabling eacute a atividade de ajudar a escrever esse software

Entatildeo como fazemos isso acon-tecer Vamos ver como geralmente acontece trabalhando com empresas de coacutedigo fechado

No radarQuando o software tem uma boa base de usuaacuterios ou um bom propoacutesito ele pode aparecer no radar da companhia de hardware Quando a empresa de software jaacute pode ter um relacionamento com a empresa de hardware e jaacute estaacute no

radar Os dois lados hardware e software comeccedilam a conversar O primeiro pas-so geralmente eacute assinar um acordo de confidencialidade ndash NDA ndash que defina os limites sobre as informaccedilotildees com-partilhadas Entatildeo os engenheiros de ambas empresas comeccedilam a trabalhar no projeto para o qual foram designa-dos O tamanho desse time depende do projeto das empresas envolvidas da base de usuaacuterios que se deseja al-canccedilar e de outros fatores Depois de algum tempo a empresa de software finalmente termina de escrever o coacute-digo e comeccedila a vendecirc-lo Pode exis-tir alguma campanha em conjunto em que as duas empresas invistam algum dinheiro em marketing para mostrar o resultado daquele coacutedigo Algumas vezes isso traz os resultados esperados e outras vezes natildeo mas eacute assim que funciona

Poreacutem existe outra maneira de fazer esse mesmo processo Quando uma companhia de hardware se aproxima de uma empresa de software aberto elas podem assinar um contrato de confidencialidade tambeacutem dependen-do dos projetos em que essas empresas trabalham Mas quando uma empresa de hardware quer se aproximar de uma comunidade relacionada a um projeto em particular natildeo existe uma pessoa para assinar um NDA por todos e isso nem faria sentido Pela natureza do Coacutedigo Aberto as informaccedilotildees sobre o projeto tambeacutem satildeo abertas Qual-quer bom projeto tem pelo menos uma lista de afazeres ndash TODO ndash em que eacute

possiacutevel verificar quais as prioridades para o projeto e quais os planos futu-ros Alguns projetos mais maduros tecircm um planejamento um roadmap Um bom projeto tambeacutem tem um sistema de rastreamento de falhas em que as pessoas podem relataacute-las verificar o seu estado saber como corrigir um proble-ma em particular e ateacute como ajudar a resolver alguns desses problemas Entatildeo quando se aproxima desses projetos qualquer um jaacute tem uma boa ideacuteia do funcionamento dele antes mesmo de falar com os responsaacuteveis

Digamos que com essas informa-ccedilotildees a empresa de hardware tenha decido que aquele projeto era inte-ressante e que valeria a pena traba-lhar com os desenvolvedores Entatildeo a empresa comeccedila a se engajar com alguns dos principais engenheiros que podem apontar quais pessoas tecircm possibilidade de dedicar tempo a trabalhar com seu hardware Eles provavelmente vatildeo precisar de ajuda no comeccedilo e entatildeo a empresa pode providenciar alguns sistemas para teste acesso a documentaccedilatildeo e ajuda espe-cializada dos seus engenheiros

ColaboraccedilatildeoMas logo um dos melhores aspectos do Coacutedigo Aberto comeccedila a mostrar-se enquanto outros engenheiros natildeo apenas os da empresa comeccedilam a aprender sobre como lidar com o hardware podem ajudar outras pessoas no projeto a aprenderem tambeacutem E esse esforccedilo tambeacutem

Julia

Eis

enb

erg

- w

ww

sxc

hu

copy Linux New Media do Brasil Editora Ltda

27

| CORPORATESoftware Enablement

Linux Magazine 42 | Maio de 2008

aumentaraacute a base de conhecimen-to e o nuacutemero de profissionais com esse conhecimento

Depois disso podemos ter um software preparado para mostrar as novas capacidades do seu hardware Quem entatildeo vai distribuir esse soft-ware Primeiramente os projetos sempre tecircm seu proacuteprio website Provavelmente os usuaacuterios desse software tambeacutem iratildeo querer testar essa nova versatildeo e entatildeo automati-camente eacute criada uma nova base de usuaacuterios A blogosfera jaacute provou ser poderosa para espalhar novas ideacuteias e natildeo eacute incomum desenvolvedores de software falarem em que andam trabalhando ou o que vecircm testando Aleacutem de divulgar suas atividades isso tambeacutem ajuda na documentaccedilatildeo E se vocecirc ainda conseguir ajudaacute-los a integrar este a outros projetos em que estejam trabalhando melhor ainda Os custos para esse tipo de aproxima-ccedilatildeo satildeo consideravelmente menores em relaccedilatildeo ao modelo anterior e o

nuacutemero de especialistas na plataforma aumentou consideravelmente

Interesse em softwareTodavia haacute algo que muitas empre-sas natildeo entendem por que os de-senvolvedores de Coacutedigo Aberto se importariam com o hardware Bem essa eacute uma parte bastante delicada mas cabe agraves empresas demonstra-rem Isso requer bastante humildade afinal de contas o projeto em ques-tatildeo chegou ao sucesso mesmo sem apoio da empresa Tentar dar ordens certamente natildeo vai funcionar nem usar a sua grande e poderosa marca como se eles devessem ser gratos pela empresa ter-se interessado O mais importante eacute que o produto precisa ser bom Quando se trata dos desenvolvedores principais estamos falando de profissionais altamente qualificados que construiacuteram um projeto suficientemente bom para chamar a atenccedilatildeo de uma grande empresa Entatildeo maquiar os pro-

blemas de um produto ou inventar recursos que natildeo existem ou natildeo fun-cionam natildeo vatildeo render pontos para o produto A honestidade eacute sempre valorizada esse eacute um ponto muito importante e vale a pena reforccedilar Se vocecirc fizer isso pode conquistar valiosos aliados para os projetos que tambeacutem apreciam serem re-conhecidos por marcas admiradas mas somente se isso natildeo custar a integridade do projeto

Algumas empresas falharam porque tentaram dizer o que os desenvolvedores deveriam fazer ou mudar os objetivos do projeto ou mexer com as suas razotildees ideoloacute-gicas ndash eles acreditam em Coacutedigo Aberto natildeo se esqueccedila disso

Sobre o autorSulamita Garcia eacute Gerente de Estrateacutegia Linux e Open Source para Ameacuterica Latina da Intel e uma das coordenadoras do gru-po Linux Chix

copy Linux New Media do Brasil Editora Ltda

28

CORPORATE

httpwwwlinuxmagazinecombr

Entrevista com Theron Morato responsaacutevel pela aacuterea de Iniciativas Estrateacutegicas em eSOA da SAP Brasil

100 de serviccediloA SAP estaacute reestruturando sua arquitetura para incorporar a disciplina da SOA agraves suas ofertas Veja o que esse novo paradigma significa para a empresapor Pablo Hess

A disciplina da arquitetura orientada a serviccedilos (SOA) demanda o contato entre os

funcionaacuterios de TI e os responsaacuteveis pelos negoacutecios A alematilde SAP faz isso haacute anos e tem reconhecimento internacional por suas soluccedilotildees A Linux Magazine conversou com Theron Morato responsaacutevel pela aacuterea de iniciativas estrateacutegicas em eSOA da SAP Brasil a respeito das

accedilotildees da empresa no campo de SOA e sua relaccedilatildeo com padrotildees abertos e o Coacutedigo AbertoLinux Magazineraquo Qual a importacircncia do mercado de SOA para os negoacute-cios da SAPTheron Moratoraquo Extremamente im-portante Haacute pelo menos trecircs anos a SAP vem investindo fortemente para redesenhar sua arquitetura e assimilar integralmente o conceito de SOA em suas soluccedilotildees aleacutem de participar ativamente de iniciativas de padronizaccedilatildeo linguagens de especificaccedilatildeo de processos e ofe-recer todas as suas soluccedilotildees como serviccedilos Hoje podemos dizer que a empresa tem uma estrateacutegia soacute-lida e estruturada de enterprise SOA (eSOA)

LMraquo Qual eacute a estrateacutegia da SAP para o mercado de SOA Que tipo de parcerias a empresa tem firmado nessa aacutereaTMraquo A estrateacutegia que desenvolve-mos trabalha com uma semacircntica de negoacutecios que tem mais sentido para o analista de negoacutecios sem o vieacutes teacutecnico Isso natildeo significa que a tecnologia natildeo seja importante mas para o puacuteblico que mais se beneficia

do SOA que vem das aacutereas de negoacute-cios a tecnologia que implementa os conceitos da arquitetura orientada a serviccedilos deve ser transparente

A necessidade de uma semacircntica de negoacutecios se justifica principalmen-te porque natildeo basta termos apenas os agrupamentos de Web Services proxies e interfaces pois nem sempre a inte-graccedilatildeo desses elementos eacute a melhor maneira de solucionar um desafio de negoacutecios As parcerias firmadas vecircm sendo feitas em todos os niacuteveis de fornecedores de hardware a fornece-dores de soluccedilotildees complementares agraves soluccedilotildees da SAPLMraquo Com a disciplina do SOA em voga atualmente quais as expecta-tivas da SAP para esse mercado nos proacuteximos anos

TMraquo Nos uacuteltimos trecircs anos os ar-quitetos e consultores da SAP tecircm prestado serviccedilos relativos a dife-rentes aspectos do SOA entre eles o roadmap de eSOA Trata-se do desenho de soluccedilotildees de novos pro-cessos de negoacutecios com a visatildeo de que eles seratildeo reutilizaacuteveis e teratildeo vantagens quando implementados com a disciplina do SOA Com tudo isso pronto nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios com uma plataforma abrangente de serviccedilosLMraquo Como eacute a relaccedilatildeo da SAP com os fornecedores de componentes para a infra-estrutura de SOA como sistema operacional e middleware especifi-camente os de Coacutedigo AbertoTMraquo A SAP tem uma relaccedilatildeo de par-ceria com a Novell para que nossos sistemas possam utilizar como base o sistema operacional SUSE Linux Enterprise o qual jaacute eacute empregado inclusive nas aplicaccedilotildees BIAccelera-tor e Enterprise Search em parceria com a HP IBM e IntelLMraquo Qual a relaccedilatildeo entre Coacutedigo Aber-to (incluindo padrotildees abertos) e SOA Como a SAP apoacuteia essas iniciativasTMraquo A SAP estaacute alinhada aos padrotildees e ferramentas de desenvolvimen-to abertas como Eclipse Struts Hibernate e linguagens de script Nosso objetivo com isso eacute facilitar o envolvimento de desenvolvedores Java e SOA na estrutura de enterprise SOA da SAP e no SAP BPP (Business Process Platform)

Nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios

copy Linux New Media do Brasil Editora Ltda

29Linux Magazine 42 | Maio de 2008

CORPORATE

Green IT soluccedilotildees para as empresas de TI

Cezar TaurionO consumo de energia dos computadores jaacute estaacute recebendo uma maior parcela de atenccedilatildeo que no passado o que pode ajudar o Linux a se destacar no mercadopor Cezar Taurion

O tema ldquoGreen ITrdquo estaacute comeccedilando a ser debatido na miacutedia e em algumas ainda esparsas conversas sobre TI Ele jaacute faz

parte da agenda de diversos eventos importantes e o uacuteltimo CeBIT foi tambeacutem palco de vaacuterios anuacutencios mostrando a preocupaccedilatildeo crescente das empresas com as questotildees ecoloacutegicas Foi inclu-sive criada uma ldquoGreen IT Villagerdquo um saguatildeo dedicado inteiramente agraves discussotildees ecoloacutegicas e agrave exposiccedilatildeo de produtos que jaacute usam soluccedilotildees de economia de energia e materiais menos agressivos ao meio ambiente

Mas por que tanta atenccedilatildeo em torno do Green IT Nosso planeta estaacute ameaccedilado pelo aquecimento global Noacutes jaacute impusemos tensotildees cada vez maiores ao finito e limitado meio ambiente ultrapassando a sua capacidade de se sustentar Jaacute consumimos 25 mais recursos naturais a cada ano do que o planeta eacute capaz de repor E nesse ritmo em 2050 estaremos consumindo mais que o dobro da capa-cidade da Terra

E a TI natildeo fica fora do consumo de energia Agrave medida que os servidores se tornam mais poderosos demandam mais energia e nos EUA jaacute representam cerca de 12 de todo o consumo de eletricidade

O Gartner Group cita que em 2010 cerca de metade das empresas listadas na relaccedilatildeo Forbes 2000 estaratildeo gastando mais dinheiro com energia que com seus computadores Seu estudo diz ainda que em meacutedia entre 30 e 60 da energia demandada em um datacenter eacute desperdiccedilada E lembra que a TI estaacute hoje como a induacutestria automotiva estava haacute 20 anos comeccedilando a ser pressionada por maior eficiecircncia energeacutetica

Diante desse quadro os analistas comeccedilam a cha-mar atenccedilatildeo para o gasto com energia (dos servidores e dos equipamentos de refrigeraccedilatildeo) e dizem que em breve os CFOs estaratildeo bem mais preocupados com o assunto Alguns paiacuteses estatildeo comeccedilando a estudar legislaccedilotildees que visem a incentivar e em al-guns casos mesmo a obrigar os datacenters a serem

mais eficientes no consumo de energia Com cer-teza o tema vai se tornar cada vez mais importante nos proacuteximos anos

Na minha opiniatildeo temos as condiccedilotildees de uma ldquoPerfect Stormrdquo que vai disparar accedilotildees ldquoverdesrdquo O termo ldquoPerfect Stormrdquo significa a ocorrecircncia si-multacircnea de eventos que se tornam muito mais poderosos e impactantes quando combinados Esses eventos satildeo a crescente conscientizaccedilatildeo da realidade do aquecimento global os crescentes custos de energia e as crescentes mudanccedilas e demandas regulatoacuterias no mundo todo Isolados esses eventos tecircm certo impacto mas quando combinados deveratildeo gerar uma tendecircncia irre-sistiacutevel em direccedilatildeo a uma TI Verde

Imagino que em poucos anos (talvez jaacute em 2010) o tema Green IT sairaacute do campo da curiosidade para se tornar mainstream item obrigatoacuterio na agenda de qualquer gestor de TI

Entre as tecnologias que vatildeo ganhar muito im-pulso nesse contexto citamos a virtualizaccedilatildeo e consolidaccedilatildeo de servidores e datacenters Tambeacutem a discussatildeo sobre thin clients versus PCs completos comeccedilaraacute a ter outro apelo

E onde entra o Linux nessa histoacuteria Entra com muita forccedila nas tecnologias acima Soacute para termos uma ideacuteia da importacircncia do tema a Li-nux Foundation criou uma iniciativa especiacutefica acessiacutevel em httpwwwlinux-foundationorgenGreen_Linux Com isso imagino que o Linux te-nha grandes chances de se tornar um verdadeiro sistema operacional ldquoverderdquo aumentando seu niacutevel de utilizaccedilatildeo mundial

Sobre o autorCezar Taurion (ctaurionbribmcom) eacute diretor de novas tecnologias aplicadas da IBM Brasil e editor do primeiro blog da Ameacuterica Latina do Portal de Tecnologia da IBM developerWorks www-03ibmcomdeveloperworksblogspagectaurion

copy Linux New Media do Brasil Editora Ltda

30

CORPORATE

httpwwwlinuxmagazinecombr

Reflexotildees sobre o desenvolvimento do Coacutedigo Aberto

Ricardo BimboO recente estudo da Linux Foundation sobre o desenvolvimento do kernel Linux indica a participaccedilatildeo de empresas mas eacute errado imaginar que os tradicionais voluntaacuterios estejam desaparecendopor Ricardo Bimbo

Uma recente pesquisa divulgada pela Linux Foundation[1] sobre o desenvolvimento do kernel chamou a atenccedilatildeo de diversos blogs

e sites de notiacutecia para a participaccedilatildeo de funcionaacuterios de empresas dedicados ao dia-a-dia das atividades de manutenccedilatildeo correccedilatildeo e desenvolvimento do kernel Linux Algo como 10000 patches da atual versatildeo 26 envolveram 1000 colaboradores e 100 companhias contra 3700 colaboradores individuais e mais de 200 empresas em 2005

A presenccedila cada vez maior de empresas com cola-boradores dedicados ao trabalho no kernel evidencia as companhias que tecircm hoje no Linux a principal ou uma das principais fontes de receita Red Hat IBM Intel Novell e a proacutepria Linux Foundation juntas com os usuaacuterios do Linux estatildeo na linha de frente do trabalho de manutenccedilatildeo do kernel

Isso demonstra que o desenvolvedor solitaacuterio independente estaacute no fim Todos estatildeo vendendo sua forccedila de trabalho intelectual Natildeo A conclu-satildeo do estudo da Linux Foundation daacute uma dica a esse respeito ldquoO kernel Linux eacute um dos projetos de Coacutedigo Aberto melhor sucedidosrdquo Existem outros projetos tambeacutem de extrema grandeza ndash como Apa-che BrOfficeorg Firefox Gnome KDE MySQL e PostgreSQL ndash que disputam o tempo de vaacuterios desenvolvedores e tecircm a participaccedilatildeo de empresas Isso sem contar os projetos de distribuiccedilotildees como Fedora e Debian aleacutem dos mais de 170 mil projetos ativos no SourceForge[2] e de um incontaacutevel nuacuteme-ro de projetos em outros repositoacuterios

O SourceForge sozinho possui quase dois mi-lhotildees de usuaacuterios registrados e eacute um erro imaginar-mos que sejam todos programadores Natildeo eacute difiacutecil encontrar chamadas solicitando a participaccedilatildeo de gerentes de projetos especialistas em processos especialistas em economia contabilidade recursos humanos e uma infinidade de outras especializaccedilotildees e conhecimentos

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores E muitas vezes esses ldquovoluntaacuteriosrdquo sentem-se mais eficazes atuando em projetos que tecircm uma aplicabilidade no meio em que convivem ou em projetos que possam dar sua contribuiccedilatildeo dife-renciada seja para destacar-se em seu ambiente ou soacute por prazer mesmo

Isso demonstra claramente mais uma vantagem do Coacutedigo Aberto e do desenvolvimento compar-tilhado Natildeo importam os motivos que levem uma pessoa a participar ou trabalhar em um projeto a curva de participaccedilatildeo de empresas e seus co-laboradores estaacute deliberadamente vinculada agraves curvas de crescimento do projeto e ao nuacutemero de usuaacuterios Isso reordena o processo produtivo e de desenvolvimento de negoacutecios abrindo um leque de novas oportunidades

Mais informaccedilotildees

[1] Estudo da Linux Foundation httpswwwlinux-foundationorgpublicationslinuxkerneldevelopmentphp

[2] Sourceforge httpwwwsourceforgenet

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores

Sobre o autorRicardo Bimbo eacute Government Relations da Red Hat Brasil e defen-de a ideacuteia de que todo o conhecimento deve ser compartilhado

copy Linux New Media do Brasil Editora Ltda

LPIindd 1 261107 163706

copy Linux New Media do Brasil Editora Ltda

32

CORPORATE

httpwwwlinuxmagazinecombr

Como o PVM influi no mundo BPM

Edgar SilvaA modelagem de processos de negoacutecios pode beneficiar-se muito do uso do PVM ndash Process Virtual Machinepor Edgar Silva

Quando falamos em Business Process Modeling um dos diversos significados de BPM frequumlentemente nos depara-

mos com vaacuterias questotildees importantes Destas podemos destacar algumas Qual linguagem de processo utilizar A linguagem escolhida suporta as necessidades

reais de uma forma-padratildeo Como fazer com que de fato uma mudanccedila

no modelo de negoacutecio se reflita no mecanismo de execuccedilatildeo dos serviccedilos da empresa

As respostas para essas questotildees pairam como um desafio para os arquitetos e engenheiros de software nos dias de hoje Como o segredo da induacutestria estaacute na padronizaccedilatildeo nada mais oacutebvio que investir em um trabalho colaborativo que beneficie tanto as empresas quanto as comunidades de Software Livre e claro os clientes finais

Uma novidade no mundo BPM eacute o PVM (Process Virtual Machine ou Maacutequina Virtual de Processos) que vou abordar neste artigo

A induacutestria tem buscado aplicar os conceitos de workflow e em paralelo diagramas de estado e outras formas de diagramaccedilatildeo vecircm sendo apresentados ao mercado diariamente Entretanto ainda se percebe um abismo entre o ldquodesenhordquo e a ldquoexecuccedilatildeordquo dos fluxos Em sua nova roupagem os workflows ago-ra mais conhecidos como BPM tentam aproximar esses dois pilares O objetivo do PVM eacute promover uma forma-padratildeo de criar metadados padronizados de tudo que eacute comum a um fluxo um workflow ou uma maacutequinadiagrama de estado

Imagine uma foto Ela possui vaacuterias informa-ccedilotildees de metadados como fabricante e dia e hora em que foi tirada Haacute sites como o Flickr[1] que conseguem ler e apresentar esses dados in-dependendo do fornecedor desde que utilizem esses padrotildees Essa eacute mais ou menos a ideacuteia da PVM Entre seus objetivos estaacute a abstraccedilatildeo geral de qualquer tipo de fluxo e sua possiacutevel lingua-

gem de definiccedilatildeo A PVM eacute a abstraccedilatildeo por traacutes de qualquer modelo ou linguagem que a defi-niu Dessa forma natildeo importa a linguagem de construccedilatildeo do fluxo porque no final todos po-deratildeo ser lidos e gerar uma uacutenica visatildeo de fluxo dentro da PVM

O mercado tem apontado inuacutemeras linguagens para definiccedilatildeo dos processos como BPEL[2] XPDL[3] jPDL e RulesFlow entre outras Espera-se agora que haja interoperabilidade dos serviccedilos dentro de uma Arquitetura Orientada a Serviccedilos (SOA) E por que natildeo pensar tambeacutem na interoperabilidade entre diversos modelos de processos em diferentes linguagens cooperando e colaborando na execuccedilatildeo de fluxos de processos de negoacutecio

Para concluir o aspecto mais interessante do PVM eacute a total separaccedilatildeo do desenho da execuccedilatildeo e de suas linguagens Isso com certeza eacute um marco muito importante para a concepccedilatildeo de mecanismos de processos o que soacute vai agregar valor agraves vaacuterias so-luccedilotildees que utilizam os recursos e os conceitos de workflow e de BPM

Mais informaccedilotildees

[1] Flickr httpwwwflickrcom

[2] BPEL na Wikipeacutedia httpenwikipediaorgwikiBPEL

[3] XPDL httpwwwwfmcorgstandardsxpdlhtm

Sobre o autor

Edgar Silva (edgarsilvaredhatcom) eacute Arquiteto de Soluccedilotildees JBoss na Red Hat Brasil Com experiecircncia em obje-tos distribuiacutedos (Corba COM+ e Java) desde 1998 nos uacuteltimos anos Edgar vem pesquisando aplicando e ministrando pales-tras e treinamentos no Brasil e no exterior sobre assuntos de alta tecnologia incluindo JavaEE e SOA

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

SOA explicada

Sirva-se com softwareSoftware e serviccedilo agora satildeo com frequumlecircncia a mesma coisa A arquitetura orientada a serviccedilos proporciona o funcionamento adequado de todos os componentespor Pablo Hess

Softwares multi-plataforma jaacute estatildeo no mercado haacute tempos As linguagens de programaccedilatildeo ditas ldquode scriptrdquo por exemplo como Perl Python

Ruby e Tcl para citar apenas as mais populares satildeo capazes de executar instruccedilotildees em qualquer plata-forma que possua uma versatildeo de seu interpretador inclusive com vistosas interfaces graacuteficas

A oferta da Sun Microsystems o Java vai um passo aleacutem oferecendo toda uma maacutequina virtual que trata de toda a interaccedilatildeo com o sistema opera-cional subjacente o que facilita ainda mais a cria-ccedilatildeo de softwares multi-plataforma Atualmente com os sistemas de Coacutedigo Aberto ndash como o Linux ndash aumentando sua presenccedila no mercado mas com outros sistemas Unix e Windowsreg tambeacutem presentes de forma significa-tiva eacute cada vez

CA

PA

34 httpwwwlinuxmagazinecombr

mais importante que os softwares corporativos sejam capazes de rodar em muacuteltiplas plataformas

Tamanha eacute a importacircncia disso ndash e do Java nessa foacutermula ndash que a Sun chegou ateacute mesmo a alterar seu coacutedigo de quatro letras usado na bolsa NASDAQ de SUNW para JAVA sugerindo que a relevacircncia da lin-guagem hoje eacute superior agrave tradiccedilatildeo da empresa no ramo de workstations

No entanto mesmo com uma maacutequina virtual prati-camente onipresente nos desktops e servidores atuais haacute dificuldades para distribuir softwares multi-plataforma que dependam de extensotildees ou bibliotecas externas ao nuacutecleo da linguagem Lidar com a instalaccedilatildeo desses

componentes pode ser muito faacutecil para adminis-tradores de sistemas mas com frequumlecircncia

os usuaacuterios natildeo-teacutecnicos satildeo prejudi-cados nessa tarefa

Iacutendice de mateacuterias de capaBem arquitetado paacuteg36Clientes espalhados servidores distribuiacutedos paacuteg40Quase faz cafeacute paacuteg44

copy Linux New Media do Brasil Editora Ltda

ServiccedilosQue tal entatildeo atribuirmos ao administrador a tarefa de instalar o software e todos os compo-nentes requeridos por ele Com isso o usuaacuterio precisaria apenas apontar seu navegador web para a URL do software que localizado no servidor seria executado sem dificuldades e sem necessi-dade de instalaccedilatildeo pelo usuaacuterio

Felizmente essa abordagem ainda traz vanta-gens adicionais Eacute possiacutevel por exemplo utilizar os poderosos componentes da linguagem criada pela Sun para implementar clusters de alta dis-ponibilidade ou alto desempenho permitindo assim que os usuaacuterios desfrutem do software de forma ininterrupta e com desempenho inega-velmente superior ao que seria possiacutevel em seu hardware local

Essa abordagem para a oferta de softwares jaacute eacute usada haacute algum tempo e um de seus exemplos mais populares eacute o Google Docs[1] um conjunto de aplicativos de escritoacuterio disponiacutevel online e gratuitamente para qualquer usuaacuterio Com ele uma pessoa com acesso agrave Internet pode se desfa-zer da necessidade de baixar ou adquirir softwares equivalentes ndash ou quase equivalentes ndash como o BrOfficeorg[2] ou o Microsoft Office

Mais informaccedilotildees

[1] Google Docs httpdocsgooglecom

[2] BrOfficeorg httpwwwbrofficeorg

NomesO software como serviccedilo ou SaaS na sigla em inglecircs eacute tambeacutem uma nova forma de comerciali-zaccedilatildeo de softwares inclusive de Coacutedigo Aberto E a arquitetura necessaacuteria agrave implantaccedilatildeo e desenvol-vimento de softwares sob esse princiacutepio eacute a Arqui-tetura Orientada a Serviccedilos ou SOA

Como vocecirc veraacute nos artigos desta ediccedilatildeo da Linux Magazine a SOA propotildee a infra-estrutura e tambeacutem as diretrizes para que softwares sejam executados como serviccedilos e comuniquem-se uns com os outros de forma semelhante ao que ocorre num sistema operacional tradicional com comunicaccedilatildeo entre processos e biblio-tecas e outros componentes compartilhados

Nas paacuteginas a seguir apresentamos a visatildeo da construccedilatildeo de aplicativos como serviccedilos uma anaacutelise dos princiacutepios da SOA e a plataforma de desenvol-vimento NovaForge fortemente inclinada agrave oferta de softwares como serviccedilo

Boa leitura e bom serviccedilo

Linux Magazine 42 | Maio de 2008 35

SOA explicada | CAPA

copy Linux New Media do Brasil Editora Ltda

36

CA

PA

httpwwwlinuxmagazinecombr

SOA sobre JBoss

Bem arquitetadoA plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de aplicaccedilotildees JBoss Conheccedila-os em detalhespor Edgar Silva

Eacute faacutecil imaginarmos um liacuteder ou gerente de TI fugindo desesperadamente ao ou-

vir a pergunta ldquoO que eacute SOArdquo Embora a resposta simples e direta seja a explicaccedilatildeo da sigla Service Oriented Architecture eacute importante lembrar de que muito mais que orientados a serviccedilos devemos estar orientados para os serviccedilos Partindo desse sentido devemos associar toda essa visatildeo dos servi-ccedilos como agentes impulsionadores de negoacutecios

Um serviccedilo a grosso modo eacute um componente que pode ser reutilizado independentemente de tecnologias departamentos ou empresas Ao mesmo tempo que pode ser geneacuterico ele pode tam-beacutem ser especiacutefico agraves necessida-des e demandas de uma empresa

Quando falamos de SOA eacute um ligeiro engano acreditar que basta entatildeo transformar tudo em Web Services e ndash pronto ndash sua empresa estaacute 100 aderente a SOA Isso pode ser um passo que inclusi-ve leva a questotildees que preparam para os seguintes Ter as peccedilas separadas e isoladas natildeo faz um motor de carro funcionar todas as engrenagens ordens de acon-tecimentos (orquestraccedilatildeo) regras sequumlecircncia de accedilotildees (processos) devem ser previstas para que o conjunto possa funcionar

Quando falamos de SOA eacute importante lembrar que vaacuterios sis-temas ERP no Brasil satildeo legados portanto natildeo possuem aderecircncia a Web Services assim como fal-tam formas de integraccedilatildeo das mais diversas desde a transferecircncia de

arquivos FTP email e ateacute o acesso a banco de dados

A divisatildeo JBoss da Red Hat tem o JBoss SOA Platform como plata-forma voltada para SOA que reuacute-ne em um uacutenico pacote algumas soluccedilotildees descritas abaixo BPM JBoss jBPM Engine de regras JBoss Rules ESB JBoss ESB Persistecircncia de dados JBoss

Hibernate Framework de desenvolvi-

mento de aplicaccedilotildees JBoss Seam

Servidor de aplicaccedilotildees JBoss Application Server

Vale ressaltar que embora o JBoss Application Server sustente todas essas soluccedilotildees de produtos eacute possiacutevel usar qualquer servidor de aplicaccedilatildeo de outros fornecedores

copy Linux New Media do Brasil Editora Ltda

37

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

como IBM WebSphere Oracle AS ou BEA WebLogic Isso soacute eacute possiacute-vel graccedilas aos padrotildees abertos que permitem ao cliente escolher os produtos que melhor supram suas necessidades

A seguir descreveremos cada um dos componentes da platafor-ma SOA oferecidos pela Red Hat sobre seu servidor de aplicaccedilotildees de Coacutedigo Aberto

Servidor de aplicaccedilotildeesO JBoss Application Server eacute a infra-estrutura para a plataforma SOA da Red Hat Com cerca de oito anos de presenccedila no merca-do ele constitui o alicerce que permite executar os outros produ-tos visando a alta performance escalabilidade e seguranccedila para o serviccedilo dos clientes

Robustez no entanto natildeo eacute si-nocircnimo de dificuldade de instala-ccedilatildeo execuccedilatildeo e utilizaccedilatildeo Caso o servidor jaacute possua uma maacutequina virtual Java instalada e confi-gurada basta descompactar os pacotes dos componentes disponiacuteveis no site de proje-tos do JBoss[1] Em seguida vaacute ateacute o subdiretoacuterio bin dentro do diretoacuterio de ins-talaccedilatildeo do JBoss e execute o comando run (em sistemas Windowsreg) ou runsh (em Linux Solaris ou outras va-riantes de Unix) Feito isso o JBoss estaraacute pronto para a instalaccedilatildeo dos seus aplica-tivos Java EE Eacute claro que poderaacute haver necessidade de instalaccedilatildeo de recursos de bancos de dados (Datasour-ces) ou filas JMS Nesse caso e se houver maior interesse informaccedilotildees a respeito destes recursos estatildeo disponiacuteveis na documentaccedilatildeo gratuita do produto

JBoss HibernateA tarefa de construir aplicaccedilotildees Java que se comuniquem com bancos de dados pode ser extremamente facilitada com o uso de uma fer-ramenta ldquomodelo-relacionalrdquo ou ORM como o Hibernate Dentre suas inuacutemeras vantagens podemos citar o fato de que todo o desen-volvimento passa a ser de fato orientado a objetos Isso significa que comandos SQL como insert into update e outros pertencem ao passado dando lugar a procedi-mentos ocorridos inteiramente no ambiente da aplicaccedilatildeo cria-se uma estrutura baseada em um objeto do tipo ldquoclienterdquo e solicita-se que um recurso de sessatildeo (SessionFactory) o salve Nesse momento o Hiber-nate entre suas vaacuterias funccedilotildees conhece a relaccedilatildeo entre o mode-lo de objetos e as informaccedilotildees da estrutura de tabelas do banco de dados Sendo assim caberaacute a ele natildeo mais ao desenvolvedor a ta-refa aacuterdua de lidar com a falta de produtividade da linguagem SQL

a todo momento durante a cons-truccedilatildeo de sistemas

Essa caracteriacutestica do Hibernate tambeacutem eacute fundamental para que as aplicaccedilotildees sejam independentes do servidor de banco de dados Desse modo pode-se trocar de sistema ge-renciador de banco sem aquela antiga preocupaccedilatildeo com o funcionamento de instruccedilotildees SQL em diferentes bancos de dados Portabilidade de fornecedores de bancos de dados e produtividade no desenvolvimento de aplicaccedilotildees satildeo importantes para termos respostas raacutepidas agraves deman-das ocasionadas por uma arquitetura orientada para o serviccedilo

JBoss SEAMQuando algueacutem criticava o Java no passado um dos motivos era o grande nuacutemero de camadas de componentes para realizar uma operaccedilatildeo Em alguns casos o exa-gero de implementaccedilatildeo dos pa-drotildees de projeto (design patterns) ocasionava uma arquitetura com-

Figura 1 Ambiente de projeto de processos do JBoss jBPM

copy Linux New Media do Brasil Editora Ltda

38 httpwwwlinuxmagazinecombr

CAPA | SOA com JBoss

plexa e aplicaccedilotildees sujeitas a erros claacutessicos Pessoalmente ao longo de anos prestando consultoria em frameworks sofisticados perdi a conta de quantas vezes nossa equi-pe encontrou problemas ao fechar conexotildees de bancos de dados ou invocar sem necessidade a consulta de contexto de objetos etc

O Java evoluiu muitiacutessimo nos uacuteltimos anos permitindo a criaccedilatildeo de recursos muito mais estaacuteveis e modernos O resultado foi o surgi-mento de frameworks como o JBoss Seam que reuacutenem em uma uacutenica soluccedilatildeo todo o necessaacuterio para criar aplicaccedilotildees corporativas nos mode-los Web 20 e aderentes a SOA O Seam utiliza como infra-estrutura tecnologias estabelecidas como o Enterprise Java Beans 30 e Java Server Faces aleacutem de toda a riqueza proporcionada pelo Ajax

JBoss jBPMO JBoss jBPM eacute um projeto que resulta em um produto muito mais que em uma soluccedilatildeo de

BPMS (Business Process Manage-ment System) Ele satisfaz tanto aos analistas de negoacutecios quanto aos engenheiros de software pois muito mais que oferecer uma fer-ramenta de desenho para modelar negoacutecios e serviccedilos possui um framework completo para geren-ciamento monitoraccedilatildeo e controle de todas as fases dos fluxos dentro do processo

Como novidade as proacuteximas versotildees do jBPM devem trazer a implementaccedilatildeo do conceito PVM (Process Virtual Machine ndash Maacutequina Virtual de Processos) que em resumo eacute um framework de maacutequina de estado Poreacutem o propoacutesito da PVM vai muito aleacutem disso permite por exemplo abs-trair a linguagem de composiccedilatildeo do desenho de processos Com isso espera-se poder ter inuacutemeras linguagens para definiccedilatildeo como BPEL jPDL XPDL e Seam Page Flow A PVM seraacute capaz de rende-rizar de forma visual os processos definidos independente da lin-guagem empregada

Entre as caracteriacutesticas principais do JBPM estaacute sua possibilidade de execuccedilatildeo sobre qualquer servidor de aplicaccedilotildees Java ou alternati-vamente como serviccedilo Java standalone ndash sem um servidor de aplicaccedilotildees Tambeacutem pode manter os dados a respeito de versotildees e execuccedilotildees dos processos em qualquer banco de dados A figura 1 mostra uma visatildeo do ambiente de projeto e gerenciamento do JBoss jBPM

JBoss RulesO JBoss Rules ou Drools (seu nome na versatildeo co-munitaacuteria) eacute um produto notaacutevel cujas principais caracteriacutesticas satildeo

baixo custo de suporte e au-secircncia de custo de licenccedilas como seus concorrentes

marcante evoluccedilatildeo de versatildeo para versatildeo com estabilidade confiaacutevel

membros brasileiros na equipe de desenvolvimento

Sobre a motivaccedilatildeo para utilizar esse software eacute importante notar que as regras de negoacutecios satildeo os ativos mais alterados dentro de uma arquitetura SOA Respostas raacutepidas e cenaacuterios especiais podem ser alcanccedilados com facilidade separando a maioria das regras de coacutedigos de infra-estrutura e a aplicaccedilatildeo propriamente dita

Realizar alteraccedilotildees em uma aplicaccedilatildeo Java muitas vezes pode ocasionar a perda de tempo para testar novamente todas as partes afetadas pela mudanccedila da rede Poreacutem esse natildeo eacute o grande pro-blema muitos ambientes criacuteticos de produccedilatildeo podem ter a neces-sidade de reinicializaccedilatildeo Usando JBoss Rules a alteraccedilatildeo de uma regra exigiria apenas a alteraccedilatildeo

Figura 2 O editor de regras do JBoss Rules oferece suporte a DSLs em portuguecircs

copy Linux New Media do Brasil Editora Ltda

39

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

do arquivo dessa regra sem a ne-cessidade de tocar no nuacutecleo da aplicaccedilatildeo economizando assim tempo e parte dos testes

As regras de negoacutecio tambeacutem podem possuir seus idiomas proacute-prios ndash um conceito chamado de Domain Specific Language ou DLS que nos permite o uso de jargotildees idiomas expressotildees e dialetos de negoacutecio para compor nossas regras Assim fica mais faacutecil os analistas de negoacutecios comporem as regras no idioma portuguecircs brasileiro

O JBoss Rules pode ser embar-cado em soluccedilotildees de mercado as-sim como executado em qualquer servidor de aplicaccedilotildees Java

Os desenvolvedores tambeacutem dispotildeem de plugins nativos para o Eclipse[2] que permitem o de-senho e o desenvolvimento da escrita de regras O JBoss Rules tambeacutem suporta o desenho de re-gras por meio de diagramas como fluxos de regras Esse recurso tem o nome de RulesFlow e pode ser um guia visual para a execuccedilatildeo de suas regras de negoacutecio ou ajudar a visualizar como possiacutevel orquestrar serviccedilos atraveacutes de regras de ne-goacutecios As figuras 2 e 3 mostram respectivamente o editor de regras em modo de coacutedigo e o ambiente de desenho do RulesFlow

JBoss ESBEm agosto de 2007 a nova versatildeo do JBoss ESB trouxe vaacuterias inova-ccedilotildees e melhorias que fizeram com que seu posicionamento antes ligeiramente atrasado em relaccedilatildeo aos concorrentes de Coacutedigo Aber-to (Apache Service Mix e Mule principalmente) superasse essas alternativas Agora o JBoss ESB compete de igual para igual com soluccedilotildees de fornecedores como BEA Oracle e IBM

O conceito de ESB (Enterprise Service Bus) em termos gerais significa ser o barramento para os serviccedilos que a empresa possui Eacute nele que credenciais de seguran-ccedila single-sign on orquestraccedilatildeo e outras atividades acontecem A questatildeo nesse caso eacute que mui-tos ESBs de mercado pregam que um serviccedilo somente pode ser mascarado ou exposto por meio de um Web Service essa obriga-toriedade no entanto natildeo existe no JBoss ESB jaacute que como prin-cipal diferencial ele ldquoconversardquo com vaacuterios protocolos de registros de serviccedilos

Imagine poder considerar a ge-raccedilatildeo de um arquivo csv vindo do ERP ndash um evento suficiente para disparar vaacuterias atividades dentro da empresa como transformar a

representaccedilatildeo se-parada por virgulas em XML A partir desse XML eacute pos-siacutevel criar objetos Java publicando a partir destes infor-maccedilotildees 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-sas satildeo possiacuteveis com o JBoss ESB

ConclusotildeesEste artigo natildeo tem como objetivo fazer propaganda das soluccedilotildees da Red Hat mas mostrar como essas ferramentas compotildeem uma ofer-ta interessante e altamente capaz de fornecer uma infra-estrutura adequada agrave pratica da SOA em qualquer empresa

O uso dos produtos descritos neste artigo natildeo requer o preenchi-mento de formulaacuterios ou a compra de licenccedilas pois tratam-se todos de Softwares Livres Caso seja ne-cessaacuterio conformar o serviccedilo a um SLA obter garantia ou suporte eacute possiacutevel tambeacutem contratar esses serviccedilos de forma especializada

No Brasil esse modelo parece ser o mais racional jaacute que somente apoacutes investimentos em estudos de viabilidade e adequaccedilatildeo as em-presas escolhem se e como iratildeo contratar suporte

Mais informaccedilotildees

[1] JBoss httpwwwjbossorgprojects

[2] Eclipse httpwwweclipseorg

Figura 3 Interface do editor do Rules Flow que permite o desenho de regras de forma visual

copy Linux New Media do Brasil Editora Ltda

Irum Shahid ndash wwwsxchu

40

CA

PA

httpwwwlinuxmagazinecombr

O desenvolvimento de aplicaccedilotildees e a SOA

Clientes espalhados servidores distribuiacutedos

Como novo paradigma a SOA requer algumas mudanccedilas profundas na forma de projetar implementar e organizar aplicaccedilotildees corporativaspor Antocircnio Godinho

Quando uma nova tecnologia eacute introduzida no mercado uma das principais preocu-

paccedilotildees de qualquer gerente de desenvolvimento eacute perguntar-se ldquoDevo adotar a nova arquiteturardquo ldquoQuais benefiacutecios essa nova soluccedilatildeo traz ao meu ambienterdquo ldquoComo co-meccedilo o processo de adoccedilatildeo da SOA (Service Oriented Architecture)rdquo ldquoO que fazer com as aplicaccedilotildees que jaacute exis-temrdquo e ldquoComo desenvolver aplicaccedilotildees voltadas ao novo ambienterdquo

Avaliar se determinada arqui-tetura ou soluccedilatildeo traz benefiacutecios para nosso ambiente eacute funda-mental Para analisar a primeira questatildeo acima vamos definir al-gumas caracteriacutesticas da arquite-tura orientada a serviccedilos

PrinciacutepiosA base da SOA eacute a definiccedilatildeo do ser-viccedilo que seraacute fornecido Esse servi-ccedilo eacute exposto para seu usuaacuterio com funccedilotildees e interfaces bem definidas eacute independente do consumidor do serviccedilo pode estar codificado em qualquer linguagem e ser executado em qualquer combinaccedilatildeo de plata-forma ou sistema operacional e a in-formaccedilatildeo sobre esse serviccedilo pode ser obtida a partir de algum diretoacuterio na rede Como consequumlecircncia eacute possiacutevel substituir um serviccedilo por uma nova versatildeo executada em outra platafor-ma sistema operacional ou lingua-gem sem afetar o consumidor desse serviccedilo como mostra a figura 1

O consumidor do serviccedilo pode ser o usuaacuterio final ou um outro ser-

viccedilo e dentro do contexto da SOA uma aplicaccedilatildeo eacute um conjunto de provedores de serviccedilos colaborativos residentes ou natildeo em uma mesma plataforma ou organizaccedilatildeo Supondo que a empresa possua vaacuterios sistemas ndash entre pacotes sistemas ERP (En-terprise Resource Planning) e desen-volvimento interno e o usuaacuterio final ndash ao fazer uma consulta precisa de dados fornecidos por diversos desses sistemas Entatildeo temos uma situa-ccedilatildeo na qual a arquitetura facilita o ambiente de desenvolvimento per-mitindo a criaccedilatildeo de uma aplicaccedilatildeo composta que utilizaraacute as aplicaccedilotildees jaacute existentes Cada aplicaccedilatildeo existen-te eacute um potencial provedor de um serviccedilo usado pela nova aplicaccedilatildeo composta como na figura 2

Se considerarmos que atualmen-te cada empresa depende de outras dentro do contexto de mundo globa-lizado e que haacute uma sinergia entre aplicaccedilotildees executadas em diferentes empresas podemos ter um quadro em que uma companhia fornece um serviccedilo para outra e nesse caso o usuaacuterio final pode usar diversos serviccedilos fornecidos por mais de uma empresa Aleacutem disso a abordagem SOA permite o desenvolvimento de novos serviccedilos de forma mais raacutepida uma vez que aproveita serviccedilos jaacute exis-tentes e com maturidade e eficiecircncia

Figura 1 Camadas adotadas em SOA

copy Linux New Media do Brasil Editora Ltda

41

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

comprovadas reduzindo o periacuteodo de testes da nova aplicaccedilatildeo

Iniacutecio da adoccedilatildeoConsiderando que resolvemos ado-tar a SOA precisamos responder a segunda pergunta do gerente de desenvolvimento que diz respeito a como comeccedilar o processo de adoccedilatildeo dessa arquitetura

Como em qualquer novo conhe-cimento o primeiro passo eacute difundir a estrateacutegia O melhor modo de fazer isso eacute por meio de oficinas junto agrave equipe nas quais as tendecircncias de mercado satildeo colocadas e eacute realiza-da uma exposiccedilatildeo das tecnologias existentes Eacute importante tambeacutem alinhar a adoccedilatildeo da SOA com as expectativas ou problemas do negoacute-cio de maneira a criar a motivaccedilatildeo necessaacuteria em toda a equipe

Eacute necessaacuterio ainda fazer um mape-amento desses problemas de negoacutecio assim como das melhores praacuteticas do mercado e das vantagens em adquirir pacotes em comparaccedilatildeo com o de-senvolvimento interno e identificar quais os padrotildees mais adequados ao ambiente Conveacutem ressaltar que nes-sa fase eacute bom ter algueacutem externo para fazer a moderaccedilatildeo dessa oficina com o intuito de contar com uma pessoa isenta que possa enxergar o todo e natildeo esteja envolvida com questotildees internas ou departamentais

Aplicaccedilotildees anterioresNo mundo do desenvolvimento jaacute passamos por vaacuterios ciclos de linguagens e arquiteturas Logo eacute natural que a empresa possua sistemas estruturas e linguagens diferentes Essas aplicaccedilotildees con-tecircm dentro de si loacutegicas de negoacutecio desenvolvidas ao longo do tempo e satildeo um ativo muito importante da empresa Eacute natural portanto que a terceira duacutevida venha agrave tona se vamos investir em uma arquitetura SOA o que devemos fazer com as aplicaccedilotildees existentes

Uma das boas no-tiacutecias da SOA eacute que a sua adoccedilatildeo natildeo impli-ca descartar o que foi feito previamente Os primeiros passos para a adoccedilatildeo da arquitetu-ra orientada a serviccedilos satildeo avaliar as aplicaccedilotildees existentes analisar os ser-viccedilos e as funccedilotildees sele-cionar quais devem ser publicadas e de acordo com suas caracteriacutesticas selecionar os conectores adequados

Como vimos o ser-viccedilo precisa estar bem definido e com interfaces claras Se a aplicaccedilatildeo em questatildeo natildeo possui essas caracteriacutesticas eacute preciso usar um conector que as forneccedila como um Resource Adaptor que encapsu-laria uma aplicaccedilatildeo natildeo-conforme na SOA

InterconexatildeoNesse momento comeccedilamos a ver mais um item importante da arquitetura a infra-estrutura de interconexatildeo Ela eacute composta por dois moacutedulos loacutegicos como podemos observar na figura 3 que exibe em mais detalhes o barra-mento de serviccedilos O barramento de serviccedilos conecta todos os fornecedo-res de serviccedilos enquanto o canal de acesso une os usuaacuteriosconsumidores internos e externos aos serviccedilos

Barramento de serviccedilosO barramento de serviccedilos integra vaacuterias entidades de software O moacutedulo prin-cipal eacute o subcomponente de ldquoInterco-nectividade de serviccedilosrdquo que fornece os protocolos e outras funccedilotildees neces-saacuterias para conectar o gerenciamento de canal de acesso aos provedores de serviccedilo bem como os provedores uns aos outros Se eles suportam os proto-colos utilizados na interconectividade

de serviccedilos eles podem se comunicar diretamente entre si como mostrado nas conexotildees A da figura 3 Os proto-colos podem incluir por exemplo mensageria e SOAP (Simple Object Access Protocol)

Nesse caso estamos abordando a questatildeo do reaproveitamento das apli-caccedilotildees existentes ndash muitas vezes elas natildeo suportam os protocolos escolhidos sendo chamadas de ldquonatildeo-conformesrdquo A adaptaccedilatildeo (encapsulamento) eacute exe-cutada por um conector como mos-trado na figura 3 pela conexatildeo B O conector converte o protocolo no que for necessaacuterio para acessar a aplicaccedilatildeo ndash e vice-versa na saiacuteda

Uma variedade de serviccedilos baacutesicos eacute necessaacuteria para que o barramento de serviccedilos seja facilmente usado Eles abrangem dois grandes grupos ldquoUtilitaacuteriosrdquo responsaacutevel pelo dire-toacuterio de serviccedilos tradutores de coacutedi-go formatadores de mensagem e ldquoGerenciamentordquo responsaacutevel pela monitoraccedilatildeo ndash incluindo relatoacuterio de erros ndash configuraccedilatildeo e seguranccedila Os subcomponentes do serviccedilo de inter-conectividade e os conectores fariam a interface com a loacutegica comum as-sim como os provedores de serviccedilo e o componente de gerenciamento canal de acesso como mostrado nas conexotildees C da figura 3

Figura 2 O consumidor acessa a aplicaccedilatildeo-serviccedilo fornecida pelos provedores distribuiacutedos

copy Linux New Media do Brasil Editora Ltda

42 httpwwwlinuxmagazinecombr

CAPA | Desenvolvimento e SOA

Camada fiacutesicaNote que ateacute o momento falamos apenas da camada loacutegica Natural-mente haacute uma camada fiacutesica que pode ser implementada de forma distribuiacuteda ou centralizada usando uma abordagem de concentrador Na abordagem distribuiacuteda os subcom-ponentes do barramento de serviccedilos estatildeo espalhados pelos componentes e a rede fornece as interconexotildees fiacute-sicas necessaacuterias Essa abordagem eacute na verdade uma seacuterie de conexotildees ponto-a-ponto que pode rapida-mente aumentar a complexidade caso existam mais que apenas um ou dois protocolos ou um nuacutemero pequeno de serviccedilos Para montar um ambiente mais administraacutevel a abordagem com a utilizaccedilatildeo de um concentrador eacute melhor

Com a abordagem do concentrador o barramento de serviccedilos eacute implemen-tado em um servidor independente ou em um conjunto de servidores Os pro-vedores de serviccedilos podem implementar quaisquer dos protocolos suportados pelo subcomponente de interconec-tividade de serviccedilos Requisiccedilotildees de entrada satildeo roteadas para o serviccedilo de destino apropriado O concentrador age entatildeo como um comutador Pro-tocolos diferentes podem ser usados entre as conexotildees de origem e destino o subcomponente ldquoInterconectividade de Serviccedilosrdquo no concentrador executa a conversatildeo entre ambos

Com essa estrutura resolvemos a questatildeo das aplicaccedilotildees existentes do ponto de vista de infra-estrutura interna E o contato com o usuaacuterio Para trabalharmos esta parte vamos

ver com mais detalhes a outra camada da infra-estrutura de interconexatildeo mostrada na figura 4

UsuaacuterioO gerenciamento de canal de acesso se conecta ao barramento de serviccedilos do mesmo modo que os provedores de serviccedilo Ele executa duas funccedilotildees ou conjuntos de funccedilotildees ldquoGerencia-mento de interface de usuaacuteriordquo que trata da interface para os usuaacuterios ou consumidores de serviccedilo como na-vegadores web estaccedilotildees de trabalho com clientes inteligentes e serviccedilos web e ldquoMapeamento e definiccedilatildeo do serviccedilordquo que identifica os serviccedilos disponiacuteveis e conecta as requisiccedilotildees de entrada aos provedores de serviccedilo usando as interfaces expostas

O mapeamento e a definiccedilatildeo do serviccedilo podem ser bem simples ndash ape-nas um ponteiro para o provedor do serviccedilo Um processo completo de negoacutecio no entando pode necessitar do uso de vaacuterios provedores de servi-ccedilo e as sequumlecircncias nas quais eles satildeo invocados podem variar dependen-do do resultado das requisiccedilotildees a um provedor de serviccedilo especiacutefico

Orquestraccedilatildeo e barramentoA orquestraccedilatildeo pode ser feita obviamen-te escrevendo-se o provedor de serviccedilo externo que implementa as regras de negoacutecio para o processo em questatildeo e invoca os provedores internos quando necessaacuterio Contudo jaacute existem vaacuterios produtos para apoiar a criaccedilatildeo 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 orquestraccedilatildeo disponiacuteveis dentro desses produtos per-mitem criar o processo completo pro-vendo interfaces graacuteficas para identificar os provedores internos necessaacuterios e as regras de negoacutecios a serem seguidas durante o processo

Figura 3 A infra-estrutura de serviccedilos em SOA transita pelo barramento de serviccedilos ou ESB

Figura 4 As conexotildees entre provedores internos e externos compotildeem a outra camada da estrutura de interconexatildeo

copy Linux New Media do Brasil Editora Ltda

43

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

Desenvolvimento de aplicaccedilotildeesFinalmente vamos responder a uacutel-tima pergunta do gerente de desen-volvimento ldquocomo desenvolver apli-caccedilotildees voltadas ao novo ambienterdquo Caso se trate de uma nova aplicaccedilatildeo o ideal eacute utilizar uma ferramenta que possua um ambiente completo e raacutepido para desenvolvimento e im-plementaccedilatildeo de aplicativos permita essa implementaccedilatildeo com agilidade de novos processos e encapsule o co-nhecimento dos negoacutecios sob a forma de componentes reutilizaacuteveis

Um dos pontos fundamentais da SOA eacute que o serviccedilo pode ser execu-tado em qualquer plataforma sistema operacional ou linguagem Desse modo ao desenvolver um serviccedilo o desenvol-vedor natildeo deveria se preocupar com caracteriacutesticas de uma linguagem ou plataforma especiacutefica Esses serviccedilos devem ser desenvolvidos rapidamen-te e com facilidade em conjunto com analistas de negoacutecios e usuaacuterios finais utilizando a terminologia e o vocabulaacuterio compreendidos por eles O importan-te eacute se preocupar com o negoacutecio que seraacute atendido e que exista um niacutevel de abstraccedilatildeo entre a loacutegica de negoacutecio e a plataforma ou linguagem na qual o serviccedilo seraacute executado

Note que haacute um ambiente (ldquoMode-lador do sistemardquo) no qual o negoacutecio eacute modelado O construtor traduz o negoacutecio para o ambiente final com todas as ca-racteriacutesticas corporativas para assegurar a integridade da aplicaccedilatildeo modelada

O modelador do sistema deve oferecer a flexibilidade de adicionar interfaces de usuaacuterio final ao modelo que podem ser implementadas em uma ampla gama de ambientes

Governanccedila e seguranccedilaUma vez que tenham sido realizados os levantamentos e as oficinas a equi-pe estaacute motivada e os objetivos estatildeo

claros eacute impor-tante garantir que a meacutetrica baacutesica da arquitetura orientada a ser-viccedilos seja medida e explorada Um dos principais atri-butos da SOA eacute a capacidade de reutilizar serviccedilos existentes em no-vas aplicaccedilotildees ndash e eacute necessaacuterio man-ter esse cataacutelogo bem definido

Para auxiliar nesse controle existem diversas ferramentas disponiacute-veis que utilizam definiccedilotildees como UDDI (Universal Descrip-

tion Discovery and Integra-tion) ndash registro independente de plataforma baseado em XML cujo objetivo eacute listar serviccedilos acessiacuteveis pela Web Trata-se de uma iniciativa aberta que permite agraves empre-sas publicarem listas de servi-ccedilos acessaacute-los e descrevecirc-los possibilitando que aplicaccedilotildees possam interagir A UDDI foi originalmente proposta e pro-jetada para ser interligada por mensagens SOAP provendo acesso a documentos WSDL com as descriccedilotildees de protoco-los e formatos requeridos para interaccedilatildeo com os serviccedilos web listados no diretoacuterio

ebXML (Electronic Business using eXtensible Markup Lan-guage) ndash nada mais que uma grande biblioteca contendo informaccedilotildees sobre os serviccedilos disponiacuteveis e como acessaacute-los Sua infra-estrutura eacute aberta e baseada em XML habilitando o uso global das informaccedilotildees de forma interoperaacutevel segura e consistente Incorpora cinco camadas de definiccedilotildees de da-

dos (i) processos de negoacutecios (ii) protocolos de colaboraccedilatildeo (iii) componentes de dados prin-cipais (iv) mensageria e (v) re-gistro e repositoacuterios

Consideraccedilotildees finaisA adoccedilatildeo da SOA tem aumenta-do rapidamente Aleacutem de reunir muitas vantagens em um ambien-te distribuiacutedo de aplicaccedilotildees que eacute a nossa realidade hoje haacute diversas ferramentas disponiacuteveis no mercado que facilitam o seu uso Com pro-fundas diferenciaccedilotildees em relaccedilatildeo ao desenvolvimento tradicional de sistemas eacute necessaacuterio planejar bas-tante sua introduccedilatildeo junto agraves equi-pes de desenvolvimento e contar com apoio externo agrave empresa para que a mensagem seja absorvida com mais facilidade Com tudo isso e considerando as respostas ao gerente de desenvolvimento a arquitetura orientada a serviccedilos eacute um excelente caminho para a integraccedilatildeo de tran-saccedilotildees distribuiacutedas

Sobre o autorAntonio Godinho eacute arquiteto de sistemas na Unisys Brasil

Figura 5 O ESB realiza a comunicaccedilatildeo entre os canais de acesso de muacuteltiplos grupos de provedores que podem representar diferentes departamentos empresas etc

copy Linux New Media do Brasil Editora Ltda

Andrzej Gdula ndash sxchu

44 httpwwwlinuxmagazinecombr

A faacutebrica de software corporativo NovaForge

Quase faz cafeacuteCom o NovaForge eacute muito praacutetico hospedar gerenciar e testar softwares em escala corporativapor Pablo Hess

Sistemas de desenvolvimento distribuiacutedo de software satildeo altamente produtivos Em-

pregados amplamente por projetos de Software Livre sistemas como git[1] CVS[2][3] SVN[3][4] Mer-curial[5] e Bitkeeper[6] apenas para citar os mais famosos possibilitam o desenvolvimento colaborativo da grande maioria dos softwares de Coacute-digo Aberto desde o kernel Linux ateacute sofisticados ambientes desktop como Gnome e KDE

Uma interessante alternativa agrave manutenccedilatildeo de um servidor de de-senvolvimento ldquodentro de casardquo eacute o uso de repositoacuterios de projetos de software cujo exemplo mais famoso eacute o SourceForge[7] que abriga ou jaacute abrigou inuacutemeros projetos de Coacutedigo Aberto desde os mais simples e de uso restrito a uma aacuterea de atuaccedilatildeo ateacute os atuais campeotildees de atividade[8] o ERP Openbravo[9] o software de comparti-lhamento Azureus[10] e o programa de graacuteficos vetoriais Inkscape[11]

No entanto empresas que de-sejem gerenciar seus projetos de software corporativo de forma centralizada com testes e anaacutelises de desempenho durante a noite aleacutem da geraccedilatildeo automatizada de relatoacuterios tecircm como uacutenica alter-nativa o emprego de um servidor proacuteprio para essas tarefas Ou me-lhor tinham

No intuito de oferecer uma al-ternativa de caraacuteter corporativo que forneccedila aos projetos toda a infra-estrutura para a criaccedilatildeo e ge-renciamento a francesa Bull[12] lanccedilou o NovaForge[13]

CorporativoEm seu whitepaper a Bull afirma ter ldquoempregado no NovaForge seus conhecimentos metodoloacutegi-cos e sua experiecircncia na condu-ccedilatildeo e realizaccedilatildeo de projetos de desenvolvimento e integraccedilatildeo de sistemas numa plataforma indus-trial de produccedilatildeordquo Para os desen-

volvedores que desejem hospedar seus projetos nesse sistema isso significa uma maior base de ferra-mentas natildeo apenas para gerenciar o coacutedigo-fonte do projeto mas o projeto em si assim como toda a documentaccedilatildeo relevante

O NovaForge de fato facilita o gerenciamento de projetos de software de escala industrial de formas que o SourceForge ou mes-mo o CodePlex[14] da Microsoft jamais pretenderam fazer E a melhor parte o sistema eacute inteira-mente voltado ao Coacutedigo Aberto e padrotildees abertos

De acordo com a Bull os prin-ciacutepios do NovaForge satildeo capitalizaccedilatildeo empregar fer-

ramentas de desenvolvimen-to qualificadas e metodolo-gias aprovadas assim como a reutilizaccedilatildeo dos trabalhos jaacute realizados

compartilhamento compar-tilhar a mesma visatildeo que os

CA

PA

copy Linux New Media do Brasil Editora Ltda

45

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

projetos independen-temente da localizaccedilatildeo de seus participantes e compartilhando tam-beacutem o repositoacuterio de documentaccedilatildeo

flexibilidade o Nova-Forge foi concebido de forma modular para incluir ferramentas par-ticulares e assim res-ponder aos diferentes niacuteveis de atividade dos projetos tanto hospedados sobre uma infra-estrutura de rede de alto desem-penho quanto instalado no cliente

Eacute interessante notar que o terceiro item dessa lista jaacute dei-xa clara a inclinaccedilatildeo da plata-forma aos novos princiacutepios de software como serviccedilo

Processo de desenvolvimentoSob o NovaForge as diferentes etapas de desenvolvimento de software (figura 1) satildeo realizadas na seguinte ordem gestatildeo das exigecircncias da apli-

caccedilatildeo a ser desenvolvida exportaccedilatildeo das exigecircncias para a fer-

ramenta de modelagem UML geraccedilatildeo do coacutedigo com auxiacute-

lio do ambiente integrado de desenvolvimento

gerenciamento do coacutedigo-fonte e de suas versotildees

integraccedilatildeo e construccedilatildeo da apli-caccedilatildeo com uso dos repositoacuterios de integraccedilatildeo e das ferramentas de integraccedilatildeo contiacutenua

testes funcionais frente agraves exigecircn-cias e gerenciamento automaacuteti-co de falhas em caso de erros e falha de conformidade

As vantagens do uso da infra- estrutura do sistema para criaccedilatildeo de aplicaccedilotildees corporativas portanto podem ser listadas

ambiente de desenvolvimento pa-dronizado e com ferramentas po-derosas que permite mascarar para o desenvolvedor a complexidade da linguagem Java subjacente

o ganho de produtividade oferecido pela escolha das ferramentas mais adequadas pemite a geraccedilatildeo de partes do coacutedigo por meio de tarefas recorrentes de produccedilatildeo

a escolha de ferramentas de Coacute-digo Aberto robustas poderosas e aderentes aos padrotildees de de-senvolvimento e comunicaccedilatildeo utilizadas em diversos projetos e compatiacuteveis com a maioria dos sistemas operacionais

Seccedilotildees do desenvolvimentoO desenvolvimento no NovaForge eacute dividido em dois ambientes um destinado agrave concepccedilatildeo do projeto

e outro ndash Bull SOA IDE ndash feito sobre uma base de blocos de Coacute-digo Aberto como o Eclipse por exemplo enriquecidos pela proacute-pria Bull

O primeiro ambiente permite a geraccedilatildeo de relatoacuterios detalhados de concepccedilatildeo a partir dos diagra-mas UML e das regras de gestatildeo associadas aos casos de uso aleacutem das etapas de testes e validaccedilatildeo dos moacutedulos O segundo por sua vez oferece uma interface com a pri-meira e integra as ferramentas de geraccedilatildeo de coacutedigo ndash Velocity por exemplo ndash assim como uma seacuterie de plugins descritos a seguir

Ambiente de concepccedilatildeoO ambiente de concepccedilatildeo (a ferra-menta de modelagem Sprarx Sys-tem Enterprise Architect) natildeo exige a presenccedila de qualquer moacutedulo ou

Figura 1 Diagrama das etapas de desenvolvimento de software no NovaForge

copy Linux New Media do Brasil Editora Ltda

46 httpwwwlinuxmagazinecombr

CAPA | NovaForge

funcionalidade por parte do cliente Ele suporta UML 20 salva o modelo num banco de dados ou num arquivo e por fim exporta-o em XMI No entanto tambeacutem eacute possiacutevel trabalhar com diversos outras ferramentas como Rose XDE RAD Together MEGA Objecteering e PowerAMC por exemplo O objetivo afinal eacute simplesmente fornecer a entrada para a geraccedilatildeo de coacutedigo para im-plementar a arquitetura orientada ao modelo ou MDA

Dessa forma a cadeia de concep-ccedilatildeo do sistema formaliza a passagem do modelo de anaacutelise UML a um de concepccedilatildeo e implementaccedilatildeo Aleacutem das orientaccedilotildees de concepccedilatildeo e das normas de implementaccedilatildeo apoacutes a definiccedilatildeo da arquitetura de processador de destino para a aplicaccedilatildeo jaacute eacute possiacutevel gerar uma parte do coacutedigo da aplicaccedilatildeo ndash com o mecanismo de tagged value ndash fi-gura 2 Eacute importante notar tambeacutem

que o coacutedigo gerado natildeo depende de qualquer classe da Bull pois eacute puro JavaJ2EE

Ambiente de desenvolvimentoOs principais objetivos de um am-biente de desenvolvimento satildeo au-mentar a produtividade por meio de ferramentas para projetar pro-gramar e instalar aplicaccedilotildees J2EE e permitir o desenvolvimento co-laborativo Para isso eacute necessaacuterio tambeacutem observar as boas praacuteticas permitindo a geraccedilatildeo do coacutedigo de certos componentes da aplicaccedilatildeo e tambeacutem a criaccedilatildeo de uma corrente completa desde os objetos ateacute a base de dados incluindo todos os blocos que compotildeem a arquitetura

Por fim o ambiente de progra-maccedilatildeo deve permitir a integraccedilatildeo do desenvolvimento a uma arquitetura orientada a serviccedilos caso necessaacuterio

Isso facilita a chamada e a criaccedilatildeo de serviccedilos referenciados dentro da em-presa por intermeacutedio de assistentes

Nesse sentido a Bull contribui com o projeto Eclipse para melhorar o su-porte a J2EE e ao desenvolvimento de Web Services e processos de ne-goacutecios Aleacutem disso a colaboraccedilatildeo da empresa com o Eclipse visa a permitir acesso a aplicaccedilotildees externas ndash isso eacute natildeo escritas em Java ndash e a bancos de dados por meio de conectores JCA ou de meacutetodos de persistecircncia Uma caracteriacutestica importante eacute a total in-dependecircncia de classes especiacuteficas da Bull com total aderecircncia ao padratildeo J2EE mas ainda com suporte aos fra-meworks mais usados como Struts Spring e Hibernate

UtilizaccedilatildeoOs componentes da plataforma NovaForge portanto podem ser listados como a seguir

Figura 2 O mecanismo de tagged value enriquece as classes UML com as informaccedilotildees adequadas agrave geraccedilatildeo de coacutedigo

copy Linux New Media do Brasil Editora Ltda

47

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

ambiente de desenvolvimento Java Eclipse

ambiente de desenvolvimento J2EE JOPE

plugin Open Source Web Tools

controle de versotildees CVS Subversion

qualidade do coacutedigo Jalopy CheckStyle PMD

testes Unitaacuterios JUnit geraccedilatildeo ANT Maven

Para usar essa estrutura colaborati-va de desenvolvimento eacute necessaacuterio apenas um navegador web O servidor de aplicaccedilatildeo naturalmente tambeacutem eacute obrigatoacuterio e a Bull recomenda o uso do JBoss[15]

Servidor colaborativoO servidor colaborativo de desenvol-vimento fornece a todos os participan-tes do projeto o acesso ao ambiente para realizaccedilatildeo de suas tarefas espe-ciacuteficas de acordo com o papel de cada um (desenvolvedor integrador liacuteder de projeto gerente etc)

O portal utiliza a solu-ccedilatildeo eXo Portal[16] que em sua versatildeo 20 oferece suporte a clientes de rich internet applications (RIA como satildeo mais conhecidos) dentro do proacuteprio navega-dor O NovaForge faz bom uso dos ldquoaplicativos ricosrdquo como mostra a figura 3 incluindo o single sign-on para todos os serviccedilos dispo-nibilizados como comuni-caccedilatildeo desenvolvimento e acesso a documentos por exemplo

GForgeUma das principais fer-ramentas de desenvolvi-mento colaborativo utili-zadas pelo NovaForge eacute

o pacote de Coacutedigo Aberto GFor-ge[17] um gerenciador de proje-tos repleto de funcionalidades Como tal ele centraliza o acesso ao conjunto de ferramentas de gestatildeo e colaboraccedilatildeo necessaacuterias agrave boa realizaccedilatildeo de um projeto de desenvolvimento como por exemplo acesso seguro aos diferentes

moacutedulos de gerenciamento de coacutedigo diretamente a partir da interface web

gerenciamento de documen-tos e suas versotildees

gerenciamento de foacuteruns e listas de discussatildeo

monitoramento das tarefas realizadas pelos usuaacuterios

gerenciamento de falhas e anomalias do projeto com possibilidades ilimitadas em termos de qualificaccedilatildeo das falhas atribuiccedilatildeo a desenvol-vedores de diferentes equipes

gerenciamento de prioridades e outras funccedilotildees

gerenciamento e atribuiccedilatildeo de tarefas aos participantes ao longo de todo o ciclo de de-senvolvimento dos projetos

interface com o CVS ou Sub-version para gestatildeo da segu-ranccedila no que diz respeito ao acesso de escrita e leitura do coacutedigo-fonte do projeto

Servidor de industrializaccedilatildeoO chamado ldquoservidor de industrializa-ccedilatildeordquo eacute uma plataforma de ldquofaacutebrica de receitasrdquo proposta pela Bull com todo o contexto necessaacuterio aos procedimentos e seus testes Seus principais objetivos satildeo a criaccedilatildeo de ldquonightly buildsrdquo a re-alizaccedilatildeo de testes de desempenho afim de garantir o correto funcionamento e dos softwares no momento em que forem finalizados

Figura 3 O NovaForge jaacute utiliza e muito bem as potencialidades dos componentes chamados Rich Internet Applications

copy Linux New Media do Brasil Editora Ltda

48 httpwwwlinuxmagazinecombr

CAPA | NovaForge

A figura 4 demonstra o processo de compilaccedilatildeo dessa etapa Em in-tervalos regulares toda a aplicaccedilatildeo sua documentaccedilatildeo e seus testes unitaacuterios satildeo gerados permitindo que se automatize a anaacutelise da qualidade do coacutedi-

go da aplicaccedilatildeo pelos compo-nentes PMD e CheckStyle

a geraccedilatildeo automaacutetica da apli-caccedilatildeo por comparaccedilatildeo com as uacuteltimas versotildees presentes no gerenciador de configuraccedilotildees a partir do servidor CVS ou Subversion

a geraccedilatildeo automaacutetica da do-cumentaccedilatildeo da aplicaccedilatildeo

a execuccedilatildeo do conjunto de testes unitaacuterios usando os componentes JUnit DBUnit e HTTPUnit com geraccedilatildeo posterior de relatoacuterios

a implementaccedilatildeo da moni-toraccedilatildeo de servidores da do-cumentaccedilatildeo e dos relatoacuterios anteriormente gerados

A cada manhatilde a anaacutelise dos relatoacuterios e resultados do servi-dor de industrializaccedilatildeo oferece ao gerente do projeto um pano-rama absolutamente atualizado do estado funcional do software

e possibilita a criaccedilatildeo de tiacutequetes de falhas pelo Salomeacute-TMF

ConclusotildeesO NovaForge natildeo tem como obje-tivo substituir os repositoacuterios mais tradicionais como o SourceForge mas criar uma verdadeira faacutebrica de software colaborativo de caraacuteter corporativo A linguagem Java por exemplo eacute uma obrigaccedilatildeo o que pode limitar o uso por projetos co-munitaacuterios de espectro geral mas natildeo representa uma restriccedilatildeo aos projetos de software corporativos ndash aliaacutes muito pelo contraacuterio

No momento o NovaForge em-prega 17 ferramentas para gerenciar seus softwares desde o CVS ou Subversion para o coacutedigo-fonte passando pelo GForge no campo do gerenciamento de projetos e documentos e chegando ateacute o Ma-ven para as tarefas automatizadas de industrializaccedilatildeo

Somada ao praacutetico gerencia-mento a garantia de qualidade dos projetos abrigados no NovaForge eacute um importante convite a qualquer organizaccedilatildeo que deseje desenvol-ver projetos de alta qualidade em escala corporativa

Mais informaccedilotildees

[1] Git httpgitorcz

[2] CVS na Wikipeacutedia httpptwikipediaorgwikiCVS

[3] Johannes Ploumltner e Steffen Wendzel ldquoFonte de organizaccedilatildeo httpwwwlinuxmagazinecombrarticlefonte_de_organizacao

[4] Subversion httpsubversiontigrisorg

[5] Mercurial httpwwwseleniccommercurialwiki

[6] Bitkeeper httpwwwbitkeepercom

[7] SourceForge httpsourceforgenet

[8] Ranking de atividade do SourceForge httpsourceforgenettopmostactivephptype=week

[9] Openbravo httpwwwopenbravocom

[10] Azureus httpazureussourceforgenet

[11] Inkscape httpwwwinkscapeorg

[12] Bull httpwwwbullcombr

[13] NovaForge httpwwwnovaforgeorg

[14] Microsoft CodePlex httpwwwcodeplexcom

[15] JBoss httpwwwjbosscom

[16] Portal httpwwwexoplatformcomportalpublicsite

[17] GForge httpgforgeorg

Figura 4 Os testes realizados automaticamente nos nightly builds fornecem vaacuterios dados a respeito do aplicativo

copy Linux New Media do Brasil Editora Ltda

49Linux Magazine 42 | Maio de 2008

TU

TO

RIA

L

Configurando o ambiente de desenvolvimento

Produto importadoSe for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte do ADempiere eacute muito faacutecil usar o poderoso ambiente de desenvolvimento Eclipse para importaacute-lopor Eduardo Montenegro

Chegamos agora agrave terceira parte de nosso tutorial sobre o ADempiere ERP amp CRM

Na uacuteltima ediccedilatildeo[1] fizemos uma pequena adaptaccedilatildeo ao sistema crian-do um novo campo que permitia a entrada de dados pelo usuaacuterio

Agora vamos importar o coacutedigo-fonte do ADempiere no ambiente de desenvolvimento Java Eclipse[2] que iraacute permitir o desenvolvimento de novos recursos no sistema utili-zando programaccedilatildeo

Vale lembrar que o objetivo deste tutorial eacute apresentar algumas carac-teriacutesticas principais do ADempiere sendo impossiacutevel esgotar esse assun-to ou nos aprofundarmos muito em determinados toacutepicos

O ambiente de desenvolvimento padratildeo utilizado pelos desenvolvedo-res do projeto ADempiere eacute o Eclipse Vamos acompanhar os passos neces-saacuterios para instalaccedilatildeo desse ambien-te de desenvolvimento e do plugin Subclipse[3] que utilizaremos para fazer o checkout do projeto do servi-dor SVN no SourceForge[4]

Instalaccedilatildeo do EclipseContinuando a configuraccedilatildeo de nos-so ambiente de desenvolvimento no Ubuntu[5] iremos fazer a instalaccedilatildeo do Eclipse por meio do repositoacuterio de pacotes usando o Synaptic Apoacutes pro-curar o pacote Eclipse basta efetuar a instalaccedilatildeo da forma normal Em segui-da seraacute necessaacuterio iniciaacute-lo para fazer a instalaccedilatildeo do plugin Subclipse

Plugin SubclipseNo menu principal do Eclipse iremos selecionar as opccedilotildees Help e em seguida Software Updates e Find and Install conforme indicado na figura 1

Na proacutexima janela como mostra a figura 2 selecionaremos a opccedilatildeo Search for New Features to Install e depois o botatildeo Next

Na janela seguinte eacute preciso acres-centar uma nova fonte remota de softwares selecionando a opccedilatildeo New Remote Site e digitando na nova janela o nome Subclipse 12x (Eclipse 32+) e a URL httpsubclipsetigrisorgupda-te_12x conforme a figura 3

Em seguida vamos selecionar para a busca a opccedilatildeo que acabou de ser criada na janela (figura 4) Ao ser exibido finalmente o plugin Subclipse (figura 5) deve-se selecionaacute-lo pressionando o botatildeo Finish em seguida

Ao concluir a ins-talaccedilatildeo do plugin o Eclipse precisaraacute ser reiniciado para que pos-sa ser utilizado

Repositoacuterio ADempiereDe volta ao Eclipse selecionaremos o menu Window Open Perspective e Other Na janela exibida na figura 6 deve ser selecionada a opccedilatildeo SVN Re-pository Exploring Na parte esquerda da janela na aba SVN Repository iremos clicar com o botatildeo direito do mouse e adicionar o repositoacuterio do ADempiere conforme demonstrado na figura 7 Seu endereccedilo eacute httpsadempieresvnsour-ceforgenetsvnrootadempiere [4]

Figura 1 A instalaccedilatildeo de novos plugins no Eclipse eacute bem simples

Figura 2 Como o plugin estaacute num novo repositoacuterio devemos acrescentaacute-lo manualmente

Figura 3 Dados do repositoacuterio do ADempiere

copy Linux New Media do Brasil Editora Ltda

50 httpwwwlinuxmagazinecombr

TUTORIAL | Alteraccedilotildees no coacutedigo-fonte do ADempiere

Figura 5 O plugin do Subclipse jaacute pode ser instalado

O projeto do ADempiere estaraacute disponiacutevel no Eclipse possibilitando a navegaccedilatildeo pelos diversos pacotes e arquivos do projeto por meio da aba do lado esquerdo conforme exibido na figura 10

Para executar o projeto a partir do Eclipse resta apenas definir um perfil de execuccedilatildeo que podemos criar com poucos passos 1 selecionar o menu Run e em

seguida Open Run Dialog 2 na janela aberta (figura 11)

selecionar a opccedilatildeo Java Appli-cation no painel esquerdo e pressionar o botatildeo New

3 no campo Name entrar com o nome Adempiere

4 no campo Project utilizan-do o botatildeo Browse selecionar o projeto receacutem-criado

5 finalmente no campo Main Class digitar orgcompiereAdempiere

Agora se pressionarmos o botatildeo Apply e em seguida selecionarmos Run o ADempiere seraacute executado a partir do Eclipse

ConclusatildeoAo final desse procedimento o am-biente de desenvolvimento do ADem-piere estaraacute configurado Com isso no proacuteximo artigo poderemos importar o projeto do ADempiereLBR[6] que eacute complementar ao LBR e acrescenta diversos recursos para a operaccedilatildeo do ADempiere no Brasil

Na proacutexima ediccedilatildeo veremos tam-beacutem algumas das principais caracte-riacutesticas do desenvolvimento de novos recursos para o ADempiere utilizando a linguagem Java

Jaacute com as informaccedilotildees do reposi-toacuterio no Eclipse iremos navegar ateacute a pasta Tags e em seguida clicando com o botatildeo direito do mouse em cima da pasta adempiere340 selecionaremos a opccedilatildeo Checkout (figura 8)

Na janela mostrada em seguida para a operaccedilatildeo de checkout basta confirmar a operaccedilatildeo selecionando os bototildees Next e em seguida Finish Esse passo pode demorar um pouco pois seratildeo copiados todos os arquivos do projeto ADempiere para a maacutequina local

De dentroVamos agora executar o ADempiere de dentro do Eclipse Selecionan-do no menu novamente as opccedilotildees Window Open Perspective e Other iremos voltar para a perspectiva Java (default) (figura 9)

Figura 4 Seleccedilatildeo do novo repositoacuterio configurado como fonte do plugin

Figura 6 O Subclipse permite a impor-taccedilatildeo de dados a partir de um repositoacuterio Subversion

Figura 7 Adicionando um repositoacuterio Subversion

copy Linux New Media do Brasil Editora Ltda

51Linux Magazine 42 | Maio de 2008

Mais informaccedilotildees

[1] Eduardo Montenegro ldquoConfiguraccedilatildeo do ADempiere ndash Faccedila a sua gestatildeordquo httpwwwlinuxmagazinecombrarticle1649

[2] Eclipse httpwwweclipseorg

[3] Subclipsehttpsubclipsetigrisorg

[4] Repositoacuterio do ADempiere no SourceForge httpsadempieresvnsourceforgenetsvnrootadempiere

[5] Ubuntu httpwwwubuntucom

[6] Projeto AdempiereLBR no Sourceforge httpsfnetprojectsadempierelbr

[7] Site do Projeto ADempiere httpwwwadempierecom

[8] Wiki do Projeto Adempiere httpwwwadempierecomwiki

[9] Foacuterum do ADempiere em portuguecircs httpforumkenoscombr

Figura 8 Realizaccedilatildeo do che-ckout no repositoacuterio

Figura 9 Com a perspectiva Java eacute pos-siacutevel trabalhar em projetos nessa linguagem como o ADempiere

Figura 10 Jaacute eacute possiacutevel navegar pelo coacutedigo do ADempiere

Figura 11 Criaccedilatildeo de um novo perfil para o projeto do ADempiere no Eclipse

copy Linux New Media do Brasil Editora Ltda

52 httpwwwlinuxmagazinecombr

Deacutecima primeira aula de preparaccedilatildeo LPIC-2

LPI niacutevel 2 Aula 11Configuraccedilatildeo do servidor BIND criaccedilatildeo e manutenccedilatildeo de arquivos de zonas e ferramentas relacionadaspor Luciano Siqueira

22071 Configuraccedilatildeo baacutesica de um servidor DNS Um servidor DNS ndash Domain Name System ndash converte remotamente no-mes de maacutequinas para seus respectivos nuacutemeros IP e vice-versa A correspon-decircncia entre o nome e o nuacutemero IP eacute chamada mapeamento e organizado de forma hieraacuterquica

Em outras palavras um domiacutenio como howtoslinuxcom seraacute quebrado e resolvido comeccedilando por com de-pois linux e finalmente howtos ndash itens chamados respectivamente top-level domain second-level domain e third-level domain Eacute nessa ordem que o endereccedilo IP para howtoslinuxcom seraacute obtido Os top-level domains mais comuns satildeo com org e net mas existem vaacuterios outros

O programa servidor responsaacutevel pelo mapeamento eacute o usrsbinnamed que eacute parte do pacote cha-mado BIND cujas especificaccedilotildees

satildeo definidas pelo Internet Systems Consortium Seu arquivo de confi-guraccedilatildeo eacute namedconf que pode ser encontrado no diretoacuterio etc ou etcbind Em versotildees do BIND anteriores agrave 8 o arquivo de configu-raccedilatildeo chama-se namedboot e possui sintaxe diferente Arquivos anteriores agrave versatildeo 8 natildeo funcionaratildeo nesta ou na 9 Para converter arquivos de con-figuraccedilatildeo de versotildees anteriores para a 8 pode ser utilizado o comando named-bootconf

Servidor caching-onlyO DNS caching-only eacute a mais simples implementaccedilatildeo de um servidor DNS Ele apenas requisita a resoluccedilatildeo do nome junto a um servidor externo e armazena a resposta para agilizar futuras requisiccedilotildees Exemplo de na-medconf para um servidor de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

Zonas convencionais tecircm seccedilotildees definidas de forma semelhante (exem-plo zone ldquolocalhost IN rdquo) e eacute importante que para cada uma delas seja especificada uma zona para DNS reverso (exemplo zone ldquo00127in-addrarpa IN rdquo) O DNS reverso eacute responsaacutevel por converter nuacutemeros IP para seus respectivos nomes

Voltando ao exemplo na seccedilatildeo options eacute indicado onde estatildeo os arquivos de zonas (directory ldquovarnamedrdquo) Estaacute definido apenas o mapeamento para ldquordquo que seraacute consultado se nenhum outro ma-peamento for encontrado Eacute este o caso do exemplo

No arquivo varnamedroothints haacute uma lista com os principais ser-vidores de nomes da Internet Este arquivo eacute gerado atraveacutes do comando

Toacutepico 207 DNS

TU

TO

RIA

L

Irum_Shahid - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

53

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

dig eroot-serversnet ns Como os endereccedilos de alguns servidores po-dem mudar eacute aconselhaacutevel atualizar o arquivo mensalmente O exemplo 1 mostra um trecho do arquivo varnamedroothints

Apoacutes alterar os arquivos de con-figuraccedilatildeo seraacute necessaacuterio reiniciar o daemon named responsaacutevel por responder agraves requisiccedilotildees de DNS Para que as configuraccedilotildees tenham efeito sem interromper o named basta enviar o sinal HUP para o processo atraveacutes do comando kill

kill -HUP `pidof named`

22072 Criaccedilatildeo e manutenccedilatildeo de zonas de DNSA principal diferenccedila entre um servidor DNS tradicional e um servidor DNS caching-only estaacute nos arquivos de zona Num ser-vidor tradicional os arquivos de zona conteacutem a correspondecircncia de IPs e nomes para os domiacutenios especificados em namedconf

Criando um domiacutenioPara cada domiacutenio sob responsabili-dade do servidor deve ser criada uma entrada no arquivo namedconf Essa entrada eacute muito parecida agravequela do exemplo de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo

A uacuteltima entrada indica opccedilotildees e o arquivo de zona para solicitaccedilotildees de nome para o domiacutenio ginkgo

Este eacute um domiacutenio fictiacutecio uti-lizado como exemplo para uma rede interna A opccedilatildeo type deter-mina a prioridade da zona para o domiacutenio pode ser master ou slave O arquivo definido na opccedilatildeo file deve ser criado no mesmo diretoacuterio selecionado na opccedilatildeo directory da seccedilatildeo options Pode ser escolhido qualquer nome para o arquivo de zona mas geralmente elege-se o nome do domiacutenio leva os prefixossufixos zone ou db

Registros da zonaO arquivo de zona conteacutem vaacuterias informaccedilotildees dos nomes do domiacutenio em questatildeo pode ser escrito confor-me o exemplo 2

Vamos analisar item a item este arquivo de zona para entender cada uma das suas entradas

$TTL 3D

Indica a validade-padratildeo ou por quanto tempo os dados con-

seguidos a partir deste servidor devem ser mantidos em um ca-che de DNS

IN SOA floydginkgo hostmasterginkgo (

Essa linha corresponde agrave prin-cipal entrada SOA (Start Of Au-thority) Ela determina qual o ser-vidor e o email do administrador do DNS O sinal eacute apenas um atalho para a origem (o domiacute-nio da zona) e tambeacutem pode ser especificado literalmente (neste caso deve ser especificado com um ponto no final ginkogo) O IN significa Internet e determina a classe do registro Na maior parte dos servidores DNS seraacute a uacutenica classe utilizada O termo SOA indica tratar-se do registro da autoridade para o domiacutenio seguido do nome do servidor DNS e do email do administrador Perceba que ambos satildeo terminados com um ponto O email tambeacutem tem um ponto no

Exemplo 1 Trecho de roothints

()DROOT-SERVERSNET 3600000 IN A 12881090AROOT-SERVERSNET 3600000 IN A 1984104HROOT-SERVERSNET 3600000 IN A 12863253CROOT-SERVERSNET 3600000 IN A 19233412()

Exemplo 2 Arquivo de zona

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floyd MX 5 mailfloyd A 19216801 hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

copy Linux New Media do Brasil Editora Ltda

54 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

lugar do O parecircntese no final da linha indica o iniacutecio das proprie-dades do registro

2007060401 serial 28800 refresh (8horas) 7200 retry (2 horas) 2419200 expire (4semanas) 86400 minimum (1 dia) )

Essa seccedilatildeo especifica algumas pro-priedades para a zona O primeiro nuacutemero 2007060401 determina um nuacutemero serial de identificaccedilatildeo Pode ser qualquer nuacutemero mas via de re-gra segue o formato de data mais um nuacutemero decimal Os demais valores determinam respectivamente inter-valo de atualizaccedilatildeo intervalo para novas tentativas prazo de validade das informaccedilotildees intervalo miacutenimo de permanecircncia no cachecirc Estes va-lores seratildeo informados aos clientes e outros servidores DNS que utilizam este mapa O caracter ldquordquo especifica um comentaacuterio e todo texto em se-guida seraacute ignorado pelo programa O final das propriedades do registro eacute determinado com o fechamento do parecircntese Continuando o exame

NS floyd MX 5 mailfloyd A 19216801

hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

Os demais registros correspondem agraves entradas de nomes da zona Se natildeo for informado no comeccedilo da linha eacute assumida a mesma origem (especificada pelo caracter ) e a classe (IN) Tipos de registro comuns satildeo NS especifica qual dos registros eacute

o servidor de nomes do domiacutenio tambeacutem citado no registro SOA

MX o servidor de email para o domiacutenio Pode haver mais de um sendo suas prioridades determinadas pelo nuacutemero agrave esquerda do nome do servidor Valores menores indicam maior prioridade

A mapeia o nome especifica-do agrave esquerda para o IP espe-cificado agrave direita A origem (domiacutenio) eacute automaticamente adicionada ao nome pois estaacute impliacutecita na entrada (ex floyd = floydginkgo)

CNAME cria um alias especifica-do agrave esquerda para um nome jaacute definido em outro registro Natildeo pode haver alias para um registro NS

PTR mapeia um nuacutemero IP para um nome Eacute utilizado para DNS reverso que veremos a seguir

DNS reversoAleacutem das zonas para resolver nomes para nuacutemeros IP eacute praxe criar zonas para resolver nuacutemeros IP para nomes processo chamado DNS reverso Para isso deve ser criada uma zona especiacute-fica no arquivo namedconf que aponte para outro arquivo de zona

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo zone ldquo0168192in-addrarpardquo IN type master file ldquodb1921680in-addrarpardquo allow-update none

O registro em destaque espe-cifica a zona reversa O nome da zona reversa comeccedila com o trecho do IP referente agrave rede escrito de traacutes para frente seguido do termo in-addrarpa que determina tratar-se de um registro de DNS rever-so Portanto o registro mostrado converteraacute em nomes os IPs que comecem por 1921680 As demais opccedilotildees como tipo nome de ar-quivo etc obedecem agraves mesmas regras do DNS

O arquivo de zona para o DNS reverso eacute praticamente idecircntico ao do DNS convencional mostrado no exemplo 3

A uacutenica diferenccedila encontra-se nos registros de nomes Aqui a ori-gem tambeacutem estaacute impliacutecita sendo necessaacuterio apenas especificar o tre-cho do IP especiacutefico do host Por se tratar de uma resoluccedilatildeo reversa eacute

Exemplo 3 Arquivo de zona do DNS reverso

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060402 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floydginkgo 1 PTR floydginkgo 2 PTR hamiltonginkgo 4 PTR felixginkgo 11 PTR emilyginkgo

copy Linux New Media do Brasil Editora Ltda

55

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

usado um registro do tipo PTR seguido do nome para o IP es-pecificado

Um detalhe importante eacute que o nome dos hosts preci-sa ser completo incluindo o domiacutenio e o ponto no final Isso evita que o DNS reverso interprete a origem (que aqui eacute 168192in-addrarpa) como sendo o domiacutenio

Para que as novas configuraccedilotildees tenham efeito eacute necessaacuterio reiniciar o servidor de nomes O procedimento pode ser feito via script de iniciali-zaccedilatildeo ou simplesmente enviando o sinal HUP para o processo

killall -HUP named

Servidores escravosPara aumentar a disponibilidade do serviccedilo eacute recomendaacutevel criar um servidor DNS escravo de preferecircn-cia numa localizaccedilatildeo fiacutesica distante do servidor primaacuterio para evitar que panes eleacutetricas por exemplo afetem ambos

A entrada em namedconf para de-finir um servidor escravo pode ser escrita da seguinte forma

zone ldquoginkgordquo type slave file ldquodbginkgordquo masters 19216801

O servidor escravo armazena-raacute os registros da zona ginkgo atraveacutes de um processo chamado transferecircncia de zona O arquivo de zona no servidor escravo possui apenas o registro SOA como mostra o exemplo 4

A zona soacute eacute transferida se o nuacutemero serial do servidor escra-vo for menor que o do servidor primaacuterio O valor refresh especi-fica o intervalo em que o servidor escravo verificaraacute atualizaccedilotildees de registro no servidor primaacuterio Se

o servidor natildeo pocircde ser contacta-do seratildeo feitas novas tentativas a cada intervalo especificado no valor retry A zona deixaraacute de existir no servidor escravo se o primaacuterio natildeo puder ser contactado ateacute o final do periacuteodo-limite especificado no valor expire O uacuteltimo valor minimum determina o periacuteodo miacutenimo que a zona deve permanecer no servidor escravo Por padratildeo todos os valo-res satildeo expressos em segundos Para alterar a unidade de tempo basta utilizar um sufixo como H (hora) D (dia) ou W (semana) Por exemplo 2H (duas horas)

Redirecionamento de servidorUm redirecionamento simplesmen-te transfere todas as solicitaccedilotildees fei-tas ao servidor para outro servidor DNS armazenando os resultados temporariamente para agilizar fu-turas solicitaccedilotildees semelhante a um servidor caching-only Para redire-cionar qualquer solicitaccedilatildeo basta criar a seccedilatildeo options em namedconf da seguinte forma

options directory ldquovarnamedrdquo forwarders 20019214021 2001921435

Seratildeo utilizados os servidores especificados na opccedilatildeo forwarders Para que apenas solicitaccedilotildees para uma zona especiacutefica sejam redire-cionadas o tipo da zona deve ser especificado como forward

zone ldquoginkgordquo IN type forward forwarders 20019214021 2001921435

Os servidores de destino das soli-citaccedilotildees devem ser especificados da mesma forma na opccedilatildeo forwarders

Diagnoacutestico do servidorAgora o servidor DNS jaacute pode ser testado para encontrar possiacuteveis pro-blemas Para uma checagem simples pode ser usado o comando host Mas antes natildeo se esqueccedila de alterar os dados do servidor de nomes em etcresolvconf para o servidor que vocecirc acabou de configurar Feito isso utilize o comando host para um dos nomes registrados na zona criada

host felix felixginkgo has address 19216804

Testando o DNS reverso

host 19216842 40168192in-addrarpa domain name pointer felix1681920in-addrarpa

Pocircde ser verificado que tanto o DNS convencional quanto o DNS reverso estatildeo funcionando ao menos para o nome e IP do host felix

Para evitar alterar o arquivo etcresolvconf e obter informaccedilotildees um pouco mais detalhadas basta

Exemplo 4 Arquivo de zona com o regsitro SOA

IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) )

copy Linux New Media do Brasil Editora Ltda

56 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

fornecer tambeacutem o nome do servi-dor DNS ao comando host

host www floydginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo hamiltonginkgo has address 19216802 Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo

Pela saiacuteda podemos verificar en-tre as informaccedilotildees mostradas que o host wwwginkgo trata-se de um alias para o host hamiltonginkgo

Uma ferramenta especiacutefica para diagnoacutestico de servidores DNS eacute o comando dig (Domain Information Groper) Apesar de possuir vaacuterias opccedilotildees que podem ser consultadas na paacutegina manual do comando a forma mais usual de invocaacute-lo eacute dig servidor domiacutenio tipo O servidor DNS especificado pelo caracter seraacute consultado pelo domiacutenio e tipo de registro O exemplo 5 mostra como utilizar o comando dig

A saiacuteda eacute dividida em seccedilotildees O cam-po status da seccedilatildeo HEADER nos permite verificar se foram encontrados erros no servidor DNS A seccedilatildeo QUESTION mostra que tipo de requisiccedilatildeo foi feita ao servidor A resposta eacute mostrada na seccedilatildeo ANSWER A seccedilatildeo ADDITIONAL mostra os endereccedilos dos nomes exibidos em ANSWER

Outra ferramenta eacute o coman-do nslookup que trabalha de duas formas interativo e natildeo-interativo

Usado sem argumentos o nslookup entra em modo interativo

nslookup gt

Dessa forma seraacute utilizado o servi-dor de nomes especificado em etcresolvconf Outro servidor pode ser especificado da seguinte forma

nslookup - floyd gt

Note que haacute um espaccedilo entre o traccedilo e o nome do servidor A maneira mais simples de utilizar o modo interativo eacute simplesmente fornecer um nome a verificar e pressionar [enter]

gt hamilton Server 19216801 Address 1921680153

Name hamiltonginkgo Address 19216802 gt

Exemplo 5 Utilizaccedilatildeo do dig

dig floyd ginkgo ANY

ltltgtgt DiG 932-P1 ltltgtgt floyd ginkgo ANY (1 server found) global options printcmd Got answer -gtgtHEADERltlt- opcode QUERY status NOERROR id 28285 flags qr aa rd ra QUERY 1 ANSWER 3 AUTHORITY 0 ADDITIONAL 2

QUESTION SECTION ginkgo IN ANY

ANSWER SECTION ginkgo 259200 IN SOA floydginkgo hostmasterginkgo 2007060402 28800 7200 2419200 86400 ginkgo 259200 IN NS floydginkgo ginkgo 259200 IN MX 10 felixginkgo ADDITIONAL SECTION floydginkgo 259200 IN A 19216801 felixginkgo 259200 IN A 19216804

Query time 0 msec SERVER 1921680153(19216801) WHEN Mon Jun 4 154409 2007 MSG SIZE rcvd 146

copy Linux New Media do Brasil Editora Ltda

| TUTORIALLPI Niacutevel 2

Para pesquisar um nome no modo natildeo-interativo podem ser fornecidos o nome e o servidor como argumen-tos para o nslookup

nslookup felix floyd Server floyd Address 1921680153

Name felixginkgo Address 19216804

22073 Seguranccedila de DNSPara o administrador precavido a fa-lha em um servidor DNS pode natildeo ser um desastre de grandes proporccedilotildees Ele pode conectar-se atraveacutes do IP do servidor (caso o tenha) e recupe-rar o serviccedilo Os demais usuaacuterios da rede por sua vez apenas acessam as maacutequinas atraveacutes de seus nomes Uma interrupccedilatildeo do servidor DNS mesmo que a comunicaccedilatildeo da rede

ainda exista torna inviaacutevel sua uti-lizaccedilatildeo para quem desconhece os endereccedilos IP das maacutequinas

Num cenaacuterio ainda pior um in-vasor pode interceptar as chamadas DNS e conhecer os nomes e endere-ccedilos das maacutequinas da rede facilitan-do a identificaccedilatildeo e ataque Caso os registros tenham sido alterados um usuaacuterio pode conectar-se a uma maacute-quina-armadilha acreditando tratar-se de uma maacutequina conhecida Neste caso o invasor poderia facilmente conseguir dados sensiacuteveis de todo usuaacuterio enganado

Enjaular o servidorO servidor DNS pode ser executa-do num ambiente isolado onde soacute existam os componentes necessaacute-rios agrave sua execuccedilatildeo Esse ambiente eacute denominado jaula chroot Este processo ajuda a garantir a segu-ranccedila do servidor BIND colocan-

do-o numa ldquogaiolardquo que limitaraacute o ldquoestragordquo caso o servidor seja com-prometido Junto com a restriccedilatildeo a arquivos e diretoacuterios o servidor deve ser executado por um usuaacuterio sem privileacutegios de root

Por exemplo o daemon named pode ser iniciado como proces-so do usuaacuterio natildeo-privilegiado bind tendo como diretoacuterio raiz varnamed

named -u bind -t varnamed

Para que a jaula chroot fun-cione eacute necessaacuterio adaptar algu-mas variaacuteveis na configuraccedilatildeo do BIND O diretoacuterio raiz enxergado pelo daemon named seraacute varna-med portanto eacute necessaacuterio indi-car corretamente a localizaccedilatildeo de arquivos e diretoacuterios como o diretoacuterio dos arquivos de zona e do arquivo de PID

copy Linux New Media do Brasil Editora Ltda

58 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

DNSSECAs transferecircncias de informaccedilotildees entre servidores DNS podem ser autenticadas atraveacutes de uma chave do DNSSEC um complemento do BIND

A chave eacute gerada pelo comando dnssec-keygen Diferentes algoriacutetimos podem ser escolhidos No exem-plo elas seratildeo geradas no diretoacuterio varnamed

cd varnamed dnssec-keygen -a DSA -b 768 -r devuramdom -n ZONE ginkgo

A opccedilatildeo -a especifica a criptografia utilizada a opccedilatildeo -b o tamanho da chave e -r a fonte de dados aleatoacute-rios para gerar a chave (se -r natildeo for fornecido o teclado seraacute usado como fonte de dados aleatoacuterios) A opccedilatildeo -n especifica qual o tipo do dono da chave (ZONE) Por fim eacute especificado o nome (ginkgo)

Terminada a execuccedilatildeo seraacute emitida uma resposta no formato Knnnn+aaa+iiiii Os elementos da resposta significam nnnn Nome da chave aaa Representaccedilatildeo numeacuterica

do algoriacutetimo iiiii Identificaccedilatildeo da chave

(ou impressatildeo digital)Neste exemplo foram gerados

dois arquivos Kginkgo+003+47654key e Kginkgo+003+47654pri-vate O arquivo key deve ser mencionado na respectiva zona atraveacutes de um $include ao final do arquivo

$include Kginkgo+003+47654key

Feito isso a zona deve ser assinada com o comando dnssec-signzone

dnssec-signzone -r devurandom -o ginkgo dbginkgo Kginkgo+003+47654

A opccedilatildeo -o define a origem do arquivo de zona Se natildeo for espe-

cificada a chave seratildeo utilizadas as mencionadas na zona O arqui-vo de saiacuteda dbginkgosigned seraacute criado e deveraacute ser especificado no registro da zona em namedconf

zone ldquoginkgordquo IN type master file ldquodbginkgosignedrdquo allow-update none

Tambeacutem seratildeo criados arquivos dsset e keyset utilizados para que o administrador da zona superior saiba quais chaves satildeo o ponto de entrada seguro para a zona

Os servidores DNS que bus-cam dados no servidor em que o DNSSEC foi utilizado poderatildeo agora validar os dados atraveacutes da chave puacuteblica contida no arqui-vo Kginkgo+003+47654key Essa chave deve estar presente na entrada trusted-keys do arquivo namedconf que obedece a seguin-te sintaxe

trusted-keys string number number number string string number number number string

A entrada trusted-keys pode fazer referecircncia a vaacuterias chaves Cada campo corresponde ao nome do domiacutenio opccedilotildees protocolo algoritmo utilizado e o coacutedigo da chave gerada Todos esses dados estatildeo contidos no arquivo key

No caso do exemplo o registro trus-ted-keys ficaria da seguinte forma

trusted-keys ldquoginkgordquo 256 3 3 ldquoBPDC8hyXf5G8TrgNikGbTVRTlpzpo5ldQt0ROv3viRFBlj7Je2NKIAoJGyEOhmmGHRw4Ls0uHLeQasRAFqz3IKIFh3UpH3b8KYoebkPaDk68zoFphMknxTAr3aUxPmzMKfkDzfHnfe2izxLhzZp52Me

fdeVbuMhusD5BmS4RMK5hsQmjpd8ew3L17RD6WxHxb5KBhr91qVEakLDcPnBG7fCDKgJbG6ynKd8iZKjZHgn5Ve1vQh4az72SCEnkOhljc6mkvUZmg+63PXtedw9IJaXULeq5iMydmZkRTvZtXlQnxObOOACSHwzO3WQSWvruOz6R9mjGY oSyhsAbnEx3HEETwn89GyJMKtYAsBHsTgAJyKgOMPx3OYOvSPCQThOXDuIoLzYEL3HnUqx5P5PXrdquo

Restringir acessoEacute possiacutevel restringir totalmente o acesso ao servidor de nomes a uma rede ou a um host especiacutefico atraveacutes da opccedilatildeo allow-query

allow-query 1921680024

Essa opccedilatildeo pode ser definida tanto na seccedilatildeo options quanto numa entrada de zona Se defini-da em ambos prevaleceraacute para a zona as regras nela especificadas Podem ser especificados mais de um endereccedilo de rede ou host

Para restringir transferecircncias de zona entre servidores ndash ou atraveacutes de comandos como dig e nslookup pode ser utilizada a opccedilatildeo allow-transfer na seccedilatildeo options

allow-transfer 19216802

Como para a opccedilatildeo allow-query mais de um endereccedilo podem ser especificados separados por ldquordquo

Consideraccedilotildees sobre o toacutepicoEste eacute outro toacutepico muito abor-dado na prova Sobretudo co-nheccedila muito bem o formato do arquivo namedconf e os arquivos de zona

Comandos relacionados como rndc dig e host tambeacutem seratildeo abordados

copy Linux New Media do Brasil Editora Ltda

59Linux Magazine 42 | Maio de 2008

AN

AacuteLIS

E

O SpagoBI oferece um pacote de BI completo e de Coacutedigo Aberto

Negoacutecio inteligenteO ramo da Business Intelligence conta com poderosas ferramentas e o SpagoBI se destaca entre as alternativas livres por sua modularidade e consequumlente flexibilidadepor Miguel Koren OrsquoBrien de Lacy

A praacutetica de BI (Business In-telligence) eacute tradicionalmente associada a bancos de dados

enormes em que as aacutereas de mar-keting das empresas tentam descobrir padrotildees de preferecircncias dos clientes usando consultas padronizadas Esses bancos de dados comumente conhe-cidos como data warehouses ou data mart satildeo formados por informaccedilotildees vindas dos mais diversos sistemas da empresa Um data warehouse eacute o repositoacuterio eletrocircnico de informa-ccedilotildees armazenadas da empresa Um data mart eacute um subconjunto de in-formaccedilotildees geralmente focadas em alguma necessidade especiacutefica Um exemplo poderia ser o data mart de informaccedilotildees de produccedilatildeo etc No Brasil temos o costume de usar o termo DW quando nos referimos a um data mart Outra aceitaccedilatildeo comumente encontrada no mer-cado considera sistemas BI como geradores de relatoacuterios diminuindo sua utilidade

Para nivelarmos o conhecimento da mateacuteria podemos convencionar que BI se refere agrave praacutetica de procu-rar armazenar e analisar a informa-ccedilatildeo apresentando em seguida os resultados necessaacuterios para tomar decisotildees fundamentadas e corretas Os sistemas de BI satildeo aplicativos ou ferramentas que suportam e permi-tem essas atividades necessariamente orientados pelos dados

Eacute importante lembrar que sem conhecimento do negoacutecio ou seja das necessidades de informaccedilatildeo e das decisotildees que precisam ser tomadas natildeo existe a possibilidade de prati-car BI Os sistemas de BI satildeo apenas facilitadores

O uso original de BI e as dificul-dades em implementar as soluccedilotildees fizeram com que o segmento atuasse como um espelho do passado para mostrar agrave empresa onde exatamente ela cometeu erros O que se deseja atualmente eacute um sistema de posi-cionamento que mostre onde a em-presa estaacute e como deve evoluir para chegar ao destino pretendido

Os sistemas BI devem mostrar informaccedilatildeo histoacuterica atual e visotildees preditivas O poder analiacutetico e a na-

vegaccedilatildeo pelas informaccedilotildees formam o atual potencial desses sistemas A visatildeo eacute poder obter os benefiacutecios de BI em qualquer lugar e qualquer momento O objetivo que precisa ser satisfeito hoje eacute o monitoramento de diversos indicadores para diversas aacutereas e consolidados para a empresa com o objetivo de aplicar o Geren-ciamento de Performance do Negoacutecio (BPM ndash Business Performance Ma-nagement nesse caso) Tambeacutem eacute interessante suportar um novo termo BI operacional que integra as in-formaccedilotildees analisadas pelo BI tradi-cional (em visatildeo de piracircmide satildeo o BI estrateacutegico e o BI taacutetico) com necessidades operacionais

A IDC publicou um estudo em 2006 que mostra um crescimento anu-

Figura 1 Modelo estrutural de funccedilotildees do SpagoBI

ramzi hashisho ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

60 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

al de 10 em soluccedilotildees BI entre 2005 e 2010 Diversas fontes citam o valor que o BI representa para as empresas e indicam que essa aplicaccedilatildeo comeccedila a fazer parte das soluccedilotildees de negoacutecio e natildeo simplesmente um aplicativo da aacuterea de marketing comprado e instalado por acaso Agrave medida que o mercado olha para os sistemas BI como criacuteticos para a gestatildeo as em-presas fornecedoras dessa tecnologia estatildeo se fundindo resultando em me-nos opccedilotildees para os clientes Algumas aquisiccedilotildees recentes em 2007 satildeo a compra da Hyperion pela Oracle[1] da Business Objects pela SAP[2] e da Cognos pela IBM[3]

Ao mesmo tempo que o mercado de sistemas comerciais estaacute se consoli-

dando aparecem siste-mas de BI licenciados como Software Livre o que aumenta o nuacute-mero de opccedilotildees para os clientes Essa modali-dade de licenciamento vem ao encontro das necessidades de imple-mentaccedilatildeo de BI para todos os funcionaacuterios da empresa pois pelo fato de natildeo existir cus-to de licenciamento eles podem ser usados por todos A empresa Ventana Research[4]

publicou um estudo sobre softwa-res de BI livres em 2006 que mostra que 48 das empresas entrevistadas indicaram o fator de custo como o mais importante na seleccedilatildeo de uma soluccedilatildeo de coacutedigo aberto Adicional-mente 24 dos usuaacuterios individuais entrevistados nesse estudo disseram que o uso de sistemas BI ajuda a aten-der melhor as necessidades pessoais de informaccedilatildeo e decisatildeo que devem fazer no dia-a-dia nas empresas

Natildeo existe uma variedade muito grande de sistemas BI de Coacutedigo Aberto que possam ser chamados de completos Devido agrave diversidade de componentes de um pacote de BI tais como geradores de relatoacuterios

anaacutelise de dados em cubos OLAP (on-line analytic processing)

mineraccedilatildeo de da-dos e

indicadores e pai-neacuteis de controle (dashboards)

entre outros muitos sistemas que atendem somente a uma ou poucas dessas aacutereas es-tatildeo classificados como sistemas BI Tambeacutem

eacute perceptiacutevel o fato de que os siste-mas BI completos de Coacutedigo Aberto contam com suporte oficial de uma empresa seja atuante no mercado BI ou profundamente envolvida com o Software Livre em geral

Caracteriacutesticas e tecnologiaO SpagoBI[5] eacute um sistema que satisfaz as condiccedilotildees para ser usa-do corporativamente atendendo a grande parte das necessidades de informaccedilatildeo relatadas acima Ele estaacute agrupado sob o conceito do Spago World que tem os seguintes obje-tivos gerais fornecer uma soluccedilatildeo livre poder ser usado em ambientes

corporativos facilitar a incorporaccedilatildeo de outras

tecnologias para formar um pa-cote de componentes variados

enfocar o desenvolvimento de soluccedilotildees

formar uma comunidade e contar com serviccedilos de suporte

O SpagoBI eacute membro do con-soacutercio OW2[6] suportado prin-cipalmente pela Bull[7] e pela France Telecom[8] O sistema foi desenvolvido como um framework para aplicativos web em Java para atender a projetos internos Em 2004 o ambiente foi completado e liberado sob a GPL no Source-Forge e posteriormente hospedado no ObjectWeb hoje OW2

O sistema hoje estaacute sob a li-cenccedila LGPL e tem tambeacutem a vantagem de ser verdadeiramente livre devido ao modelo de negoacutecio aplicado O SpagoBI natildeo oferece qualquer restriccedilatildeo ao uso e natildeo existem versotildees comerciais mais completas como eacute frequumlente em outros aplicativos de negoacutecio de Coacutedigo Aberto

Em 2007 foram liberadas algu-mas outras soluccedilotildees do Spago World Spago4Q (indicadores e meacutetricas de

Figura 2 Modelo estrutural do SpagoBI

Figura 3 Tela inicial do aplicativo analiacutetico

copy Linux New Media do Brasil Editora Ltda

61

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

qualidade no processo de desenvol-vimento de software) e Spagic (pla-taforma de integraccedilatildeo de sistemas utilizando SOA e BPM ndash Business Process Management nesse caso)

ComponentesO SpagoBI possui seis componentes principais servidor SpagoBI Spago-BI Studio SpagoBI SDK SpagoBI Meta e SpagoBI Applications

O servidor SpagoBI compreende o nuacutecleo para consultas pelo aplica-tivo aleacutem de apresentar o modelo analiacutetico do sistema Ele oferece os seguintes serviccedilos interface com o usuaacuterio intuiti-

va tipo rich client configuraccedilatildeo de fontes de dados geraccedilatildeo livre de consultas ao

sistema para anaacutelise assinaturas para receber informa-

ccedilatildeo perioacutedica e notificaccedilotildees aacutereas (pastas) para uso pessoal salvar importar e exportar as

configuraccedilotildees paacutegina individual (do tipo

MeuBI) integraccedilatildeo com mecanismos de vi-

sualizaccedilatildeo (PALO para Excel[9] e JPALO para Web[10])

alertas e notificaccedilotildees motor de busca acesso a consultas preacute-configu-

radas agrupadas por tiposO SpagoBI Studio por sua vez eacute

um ambiente em forma de plugin para o Eclipse[11] para desenvolver soluccedilotildees dentro do SpagoBI Ele oferece modeladores para todos os documentos analiacuteticos permite o upload para o servidor SpagoBI e possibilita a realizaccedilatildeo de testes aces-sando dados de testes ou reais

A SpagoBI SDK consiste em uma interface para acesso a serviccedilos de BI que possam ser integrados a outros aplicativos Oferece uma biblioteca de tags a proacutepria API de integraccedilatildeo e acesso a Web Services

Enquanto isso o SpagoBI Meta eacute um mecanismo de armazenamen-to de metadados (informaccedilatildeo que descreve os dados) Os metadados permitem que o usuaacuterio que faz a anaacutelise possa conhecer melhor a informaccedilatildeo tratada assim como a fonte dessa informaccedilatildeo

Por uacuteltimo as SpagoBI Appli-cations compreendem diversos aplicativos verticais Dentro desse conceito podemos mencionar o SpagoBI for AREAS utilizado para BI no campo da medicina AREAS eacute um sistema ERP italia-no voltado para empresas de me-

dicina que selecionou o SpagoBI como seu componente BI

As funcionalidades do sistema satildeo geraccedilatildeo de relatoacuterios com su-

porte a diversos mecanismos anaacutelise de dados em visotildees de

cubos OLAP paineacuteis de controle com indica-

dores (KPI) mineraccedilatildeo de dados visualizaccedilatildeo geograacutefica processos ETL (Extract Trans-

form Load) simulaccedilotildees what-if dossiecirc cataacutelogo de informaccedilotildees gerador de consultas usando

Figura 4 Menu de opccedilotildees e painel de controle

Figura 5 Exemplos de novos termocircmetros para formar paineacuteis

copy Linux New Media do Brasil Editora Ltda

62 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

mecanismos QbE (query by example) integraccedilatildeo de servi-

ccedilos BI ao Microsoft Office

colaboraccedilatildeoA figura 1 mostra o flu-

xo de informaccedilatildeo entre as diversas funccedilotildees da so-luccedilatildeo Todas as funccedilotildees satildeo acessadas somente pelo moacutedulo denomi-nado Modelo Compor-tamental que gerencia as permissotildees de acesso O sistema estaacute prepara-do para uso empresarial

considerando as seguintes carac-teriacutesticas restriccedilatildeo de

acesso agraves in-formaccedilotildees

single sign-on a publicaccedilatildeo

de elementos do sistema tais como definiccedilotildees de relatoacuterios eacute gerenciada den-tro do CMS (content mana-gement system) utilizando a nor-ma JSR 170

sistema escalaacutevel pois eacute escrito em Java e funciona dentro de um servidor de aplicaccedilatildeo

permite o uso de vaacuterios moto-res diferentes tanto de Coacutedigo Aberto quanto proprietaacuterios

eacute uma plataforma de integraccedilatildeo natildeo apenas um aplicativo

A figura 2 mostra a arquitetura do SpagoBI

Uma limitaccedilatildeo presente com frequumlecircncia em sistemas BI de Coacutedi-go Aberto eacute o fato de serem apenas ferramentas para construir a soluccedilatildeo sem um aplicativo pronto para ser utilizado plenamente O SpagoBI se destaca por apresentar tambeacutem

um aplicativo para o usuaacuterio de BI Esse aplicativo eacute acessado de dentro do ambiente web oferecido por outro componente OW2 a Exo Platform[12] que tem a possibilidade de rodar o aplicativo dentro de sua arquitetura de virtualizaccedilatildeo da aacuterea de trabalho o WebOS[13] Poreacutem adicionalmente agrave eXo Platform o SpagoBI estaacute cer-tificado para rodar dentro do portal Liferay[14] muito conhecido e uti-lizado em ambientes de arquitetura Java O CMS JSR 170 tambeacutem eacute for-necido pela eXo Platform

DiferenciaisUm diferencial muito importante do SpagoBI eacute ser uma plataforma de integraccedilatildeo para diversas ferramentas de BI Como consequumlecircncia para ob-tenccedilatildeo de um aplicativo completo devem ser instalados os diversos me-canismos individuais do SpagoBI

O sistema eacute completamente desen-volvido em Java com operaccedilatildeo pelo navegador web para uso e consultas Certos componentes satildeo utilizados em ambiente graacutefico ndash e natildeo web ndash como o mecanismo ETL Entre os componentes agrupados pelo SpagoBI podemos encontrar projetos de Coacutedigo Aberto bem conhecidos como Weka para mineraccedilatildeo de dados Mondrian e PALO para anaacutelise

OLAP de cubos multi-dimen-sionais

BIRT e Jasper Reports para ge-raccedilatildeo de relatoacuterios

Talend para processos ETL Lazslo para paineacuteis de controle

e indicadores

OperaccedilatildeoPrimeiramente o aplicativo deve ser acessado por meio do navegador web O mecanismo de seguranccedila determi-na as permissotildees de acesso do usuaacuterio no processo de login (figura 3)

Apoacutes o login o usuaacuterio tem agrave dis-posiccedilatildeo a tela inicial em que pode

Figura 6 Tela com a visatildeo geograacutefica dos dados

Figura 7 Interface de acesso a BI fornecida pelo WebOS

Figura 8 Seleccedilatildeo de relatoacuterios no navegador BI

copy Linux New Media do Brasil Editora Ltda

63

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

selecionar as operaccedilotildees a efetuar A figura 4 exibe o painel de controle com indicadores de desempenho

Eacute possiacutevel substituir os indicadores visuais da figura 4 por outros como os da figura 5 particularmente interes-santes para o usuaacuterio por mudarem de posiccedilatildeo dinamicamente pelo acesso regular aos dados que representam O painel portanto natildeo conteacutem ape-nas informaccedilotildees estaacuteticas

Para gerar uma nova consulta o usuaacuterio pode usar a funcionalidade QbE (query by example) que exibe as tabelas que podem ser consulta-das e para cada uma os dados que podem ser selecionados

Com as consultas definidas tan-to diretamente em bancos de dados quanto em cubos para anaacutelise OLAP pode ser configurada uma tela de con-sulta geograacutefica conforme mostrado na figura 6 Selecionando aacutereas da fi-gura o usuaacuterio seraacute levado a telas de consulta dos detalhes do item

Usando as possibilidades do We-bOS eacute possiacutevel definir telas BI mais sofisticadas conforme mostra a figura 7 Poreacutem caso a consulta requerida seja frequumlente talvez jaacute esteja disponiacutevel para consulta imediata pelo navegador de consultas do sistema (figura 8)

A interface graacutefica do aplicativo web permite que o usuaacuterio agrupe di-ferentes relatoacuterios e visotildees em conjun-tos denominados dossiecircs Cada rela-

toacuterio ou objeto BI em geral permite que o usuaacuterio faccedila anotaccedilotildees Assim pode ser delegada a funccedilatildeo de pre-parar por exem-plo um dossiecirc de status de projeto a usuaacuterios de dife-rentes aacutereas que possam preparar o material e re-gistrar questotildees relevantes para a anaacutelise final Essa

eacute a base das possibilidades colabora-tivas do sistema

Os relatoacuterios podem ser salvos em diferentes formatos atualmen-te limitados a HTML PDF XLS CSV XML TXT e JPG

A figura 9 mostra um exemplo de tela com o editor de notas aberto

ConclusatildeoFazer uso eficiente e produtivo de um pacote de BI eacute uma meta nobre e difiacutecil de atingir A forma de implementar o SpagoBI e a possibilidade de integraccedilatildeo de motores individuais de diferentes fa-bricantes permite que o uso do SpagoBI comece pouco difundido e aumente conforme as necessidades

A implementaccedilatildeo do SpagoBI considera ter resultados bons mesmo que parciais algo muito importante para o projeto de implementaccedilatildeo O SpagoBI permite que a empresa inicie por exemplo apenas com a necessidade de um termocircmetro que mostre em forma de painel de con-trole a quantidade de peccedilas vendidas por semana

O estudo da Ventana Research mencionado anteriormente mos-tra que as empresas entrevistadas consideram que os pacotes de BI de Coacutedigo Aberto tecircm suficientes caracteriacutesticas para serem usados Esse eacute o caso do SpagoBI o clien-te que resolver iniciar um projeto

de BI com ele natildeo sentiraacute falta de funcionalidades para aspectos fun-damentais de BI Destacamos que para uma implementaccedilatildeo bem sucedida eacute muito importante dar passos firmes sustentados com um planejamento adequado

Mais informaccedilotildees

[1] Aquisiccedilatildeo da Hyperion pela Oracle httpwwworaclecomcorporatepress2007_marhyperionhtml

[2] Aquisiccedilatildeo da Business Objects pela SAP httpwwwbusinessobjectscomcompanysap

[3] Aquisiccedilatildeo da Cognos pela IBM httpwwwcognoscomnewsreleases20071112html

[4] Ventana Research httpwwwventanaresearchcom

[5] SpagoBI httpspagobiengit

[6] Consoacutercio OW2 httpwwwow2org

[7] Bull httpwwwbullcombr

[8] France Telecom httpwwwfrancetelecomcom

[9] PALO httpwwwjedoxcom

[10] JPALO httpwwwjpalocom

[11] Eclipse httpwwweclipseorg

[12] eXo Platform httpwikiexoplatformcomxwikibinviewMain

[13] WebOS httpwikiexoplatformcomxwikibinviewMainWebOS+concept

[14] Liferay httpwwwliferaycom

Figura 9 Relatoacuterio graacutefico mostrando o editor de notas

copy Linux New Media do Brasil Editora Ltda

64

AN

AacuteLIS

E

httpwwwlinuxmagazinecombr

DVD do assinante Librix 3

Para conquistar o puacuteblicoEm sua versatildeo 30 o Librix da Itautec atinge a maturidade para ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientespor Pablo Hess

Distribuiccedilotildees genuinamente nacionais de grande sucesso jaacute foram numerosas e muito

presentes nas maacutequinas brasileiras Atualmente no entanto satildeo raras especialmente apoacutes a meteoacuterica as-cenccedilatildeo do Ubuntu entre os usuaacuterios de desktop assim como a ampla ado-

ccedilatildeo de distribuiccedilotildees mundialmente difundidas como Open Suse Fedora e Mandriva

A onda de novas distribuiccedilotildees nacio-nais no entanto promete mudar esse cenaacuterio Fortemente baseadas em dis-tribuiccedilotildees usadas em grande escala no exterior as distribuiccedilotildees que equipam os

computadores ven-didos sob o programa Computador Para Todos do Governo Federal geralmente realizam apenas al-gumas adaptaccedilotildees graacuteficas e de idiomas para tornarem o uso das maacutequinas mais praacutetico para nosso povo ndash com algumas exceccedilotildees eacute claro

Uma das mais gratas dentre exce-ccedilotildees estaacute sendo en-tregue junto com o DVD do assinante desta ediccedilatildeo da Li-nux Magazine O Librix 3 fabricado pela Itautec tem base no poderoso e flexiacutevel Gentoo ndash conhecido espe-cialmente entre os usuaacuterios avanccedilados de Linux O valor do Librix no entanto reside justamente em seu sucesso na oferta de inuacutemeras vantagens a uma

ampla gama de usuaacuterios Enquanto os mais iacutentimos do sistema do pinguumlim tecircm agrave disposiccedilatildeo os flexiacuteveis utilitaacuterios de linha de comando do Gentoo os usuaacuterios inexperientes que iniciam seu aprendizado em Linux com a dis-tribuiccedilatildeo da Itautec desfrutam de um agradaacutevel e organizado ndash aleacutem de atra-ente claro ndash ambiente KDE

BelezaA aacuterea de trabalho do Librix (figura 1) traz os principais iacutecones que o usuaacuterio iniciante espera encontrar aleacutem da Pasta do Usuaacuterio pode-se acessar o navegador Firefox o pacote de escritoacute-rio BrOfficeorg o Sistema Konqueror (acessando a URI system e exibindo locais de rede e miacutedias externas ndash figura 2) e a lixeira

E jaacute comeccedilam as inovaccedilotildees O tema adotado por padratildeo como mostra a fi-gura 2 eacute colorido e elegante capaz de agradar todos os tipos de usuaacuterios ndash uma constante nessa versatildeo da distribuiccedilatildeo jaacute podemos adiantar Os efeitos graacuteficos do desktop fornecidos pelo gerenciador de janelas Compiz e com ornamentos do Emerald vecircm desabilitados mas um iacutecone na barra de tarefas (figura 3) permite sua ativaccedilatildeo e configura-ccedilatildeo baacutesica com apenas dois cliques do mouse ou a alteraccedilatildeo de opccedilotildees mais avanccediladas mediante o acionamento de utilitaacuterios completos

Ao ser ativado o Compiz a con-figuraccedilatildeo-padratildeo do Librix 3 utiliza todos os recursos disponiacuteveis geral-mente em modo aleatoacuterio Embora isso possa ser impressionante para fins de demonstraccedilatildeo os usuaacuterios

Figura 1 A aacuterea de trabalho do Librix 3 traz os iacutecones mais impor-tantes e um visual muito atraente

Figura 2 O navegador do sistema exibe dispositivos de armazena-mento externos e remotos

copy Linux New Media do Brasil Editora Ltda

65

| ANAacuteLISEDVD do assinante

Linux Magazine 42 | Maio de 2008

podem se cansar rapidamente desse comportamento exagerado

O menu trazido pela Itautec (figura 4) eacute outro aspecto novo nessa versatildeo da distribuiccedilatildeo Seu comportamen-to diferente do presente nas demais distribuiccedilotildees Linux da atualidade no entanto pode ser um fator negativo especialmente para os usuaacuterios inex-perientes ndash felizmente desativaacute-lo eacute tatildeo faacutecil quanto ativar os efeitos 3D exigindo apenas um clique com o botatildeo direito sobre o botatildeo Menu e sua configuraccedilatildeo

PoderO sistema Gentoo que vive sob o Librix eacute o velho conhecido dos obcecados por personalizaccedilatildeo Utilizando um mirror da distribuiccedilatildeo padratildeo os pacotes que diferenciam essa distribuiccedilatildeo de sua ldquoprogenitorardquo residem nos overlays (re-positoacuterios alternativos de pacotes) locais em usrlocalportage e usrlocalportagexeffects Isso eacute suficiente para fornecer ao Librix o pacote de escritoacuterio BrOfficeorg (ausente no Gentoo) e o gerenciador graacutefico de pacotes Tutoo Package Manager (figura 5) aleacutem de alguns outros softwares que englobam desde moacutedulos para a linguagem Python ateacute as leves particularidades graacuteficas do sistema da Itautec

Mesmo com todas essas facilida-des o gerenciamento do sistema pode ser feito inteiramente pela linha de comando com os poderosos emer-ge eselect equery e companhia A

Itautec natildeo utiliza pacotes binaacuterios ou seja o sistema compila cada um dos pa-cotes instalados no sistema salvo importantes exceccedilotildees como o BrOfficeorg ndash cuja compilaccedilatildeo levaria vaacuterias horas Apesar de tornar a instalaccedilatildeo de novos softwa-res significativamente mais lenta que distribuiccedilotildees com pacotes DEB RPM ou tgz essa estra-teacutegia garante a possibilidade de per-sonalizaccedilatildeo por meio das flags USE responsaacuteveis por ativar ou desativar as opccedilotildees de compilaccedilatildeo de cada pacote que compotildee o sistema Aleacutem disso garante a constante atualizaccedilatildeo dos pacotes satisfazendo dependecircncias com facilidade e anulando as restri-ccedilotildees de versotildees de bibliotecas

PraticidadeNatildeo haacute como negar o puacuteblico-alvo dessa distribuiccedilatildeo eacute o usuaacuterio iniciante que estaacute travando seu primeiro contato com o Linux Nesse sentido um im-portante aspecto do sistema eacute incluir ldquode faacutebricardquo softwares que supram as necessidades de quem jaacute tem costume com algum sistema Windowsreg

O Librix jaacute traz os codecs de aacuteudio e viacutedeo proprietaacuterios da Microsoft (WMA e WMV satildeo seus principais represen-tantes) e eacute capaz de reproduzir DVDs em seu reprodutor multimiacutedia Kaffeine Os usuaacuterios do iTunes da Apple tam-beacutem podem evitar a saudade usando

o amigaacutevel Amarok Softwares raramente incluiacutedos em outras distribuiccedilotildees como o Skype e o geren-ciador de downloads Downloader for X por exemplo tam-beacutem vecircm instalados mas falta um utilitaacute-rio de configuraccedilatildeo de conexotildees PPPoE a mais comum em serviccedilos ADSL

ConclusotildeesA Itautec vem me-lhorando seu Librix a cada nova versatildeo Com facilidades im-portantes voltadas aos novos usuaacuterios Linux a distribuiccedilatildeo se torna uma al-ternativa interessante para os usuaacuterios que temem deixar sua zona de con-forto em relaccedilatildeo ao comportamento de seu desktop

O gerenciamento de pacotes agora feito pelo TPM finalmente alcanccedilou o niacutevel de maturidade exigido para satisfa-zer as necessidades do puacuteblico iniciante ndash principalmente a facilidade de uso e compreensatildeo ndash ainda assim preservando o poder do Portage ldquosob o capocircrdquo

O visual e o comportamento do am-biente desktop fazem alusatildeo agraves atuais versotildees do Windows (XP e Vista) o que certamente contribui para a que-da de uma importante barreira para a adoccedilatildeo dessa distribuiccedilatildeo no programa Computador Para Todos

Figura 3 Ativar e desativar os efeitos 3D na aacuterea de trabalho do Librix eacute muito praacutetico

Figura 4 O menu KBFX vem ativado por padratildeo e mostra seme-lhanccedilas com o de diferentes versotildees do Windows

Figura 5 O Tutoo Package Manager livra o usuaacuterio de adquirir intimidade com o comando emerge

copy Linux New Media do Brasil Editora Ltda

66 httpwwwlinuxmagazinecombr

Manipulando maacutequinas com o Puppet

MarioneteAprenda a economizar tempo e agilize a administraccedilatildeo de sistemas com ajuda do Puppet uma ferramenta de gerenciamento e configuraccedilatildeo centralizadospor Juliet Kemp

O Puppet eacute um sistema centra-lizado de gerenciamento de configuraccedilatildeo que usa uma

linguagem de especificaccedilatildeo multiplata-forma Para usaacute-lo executa-se um ser-vidor Puppet central ndash o puppetmaster ndash e os daemons do programa em todos os computadores que devem ser admi-nistrados As opccedilotildees de configuraccedilatildeo para todas as maacutequinas-cliente satildeo es-pecificadas no PuppetMaster Depois as alteraccedilotildees nas configuraccedilotildees satildeo propagadas a partir do PuppetMaster para os clientes adequados

O Puppet permite o gerenciamento de arquivos (dono modo conteuacutedo e existecircncia) usuaacuterios grupos pa-cotes e serviccedilos a partir de um local central Pode-se rodar comandos ou scripts e tambeacutem eacute possiacutevel gerenciar crontabs montagem de sistemas de arquivos e configuraccedilotildees de rede

Cada item gerenciado eacute chamado de recurso e os recursos satildeo categori-zados em tipos (por exemplo arquivo pacote serviccedilo cron) O Puppet estaacute em intenso desenvolvimento receben-do novos tipos regularmente ndash pode-se ateacute criar tipos personalizados

Por que usaacute-loOs trecircs principais motivos para usar o Puppet satildeo 1 O programa manteacutem um regis-

tro da configuraccedilatildeo do cliente Se um sistema-cliente morrer eacute possiacutevel gerar uma configura-ccedilatildeo idecircntica num novo sistema com base na informaccedilatildeo arma-zenada no Puppetmaster

2 Se houver mais de uma maacutequi-na eacute possiacutevel instalaacute-las de forma idecircntica ou usar o mesmo siste-ma-base e aplicar as modificaccedilotildees para clientes individuais

3 O conjunto de tipos do Puppet facilita o gerenciamento de muacuteltiplos sistemas a partir de um local uacutenico

Outra vantagem do Puppet eacute que ele funciona em conjunto com uma ferramenta chamada Facter Ela define variaacuteveis especiacuteficas em cada maacutequina (como nome da maacutequina endereccedilo IP e sistema operacional) automatica-mente permitindo um ajuste fino de configuraccedilotildees especiacuteficas em clientes individuais sem perder os benefiacutecios de uma configuraccedilatildeo comum

Instalaccedilatildeo e configuraccedilatildeoO coacutedigo-fonte do Puppet estaacute dispo-niacutevel no site do projeto[1] e seus pa-cotes estatildeo presentes nos repositoacuterios de vaacuterias distribuiccedilotildees Linux

O principal arquivo de configuraccedilatildeo eacute etcpuppetpuppetmasterconf com uma estrutura bem clara e simples

[puppetmasterd] Assegure-se de que todas as mensagens de log sejam enviadas ao di- retorio correto Ele deve ser gravavel pelo usuario puppetlogdir=varlogpuppetvardir=varlibpuppetrundir=varrun

Para guardar tambeacutem o conteuacutedo dos arquivos seraacute necessaacuterio uma con-figuraccedilatildeo de servidor de arquivos em etcpuppetfileserverconf O coacutedigo mostrado a seguir exibe o caminho para o armazenamento de arquivos no puppetmaster e permite o acesso a todas as maacutequinas em exemplocom

[files] path etcpuppetfiles allow exemplocom deny ruimexemplocom allow 1921680024

Aleacutem disso tambeacutem eacute possiacutevel ba-nir domiacutenios ou maacutequinas especiacuteficos bem como especificar por endereccedilo IP caso seja preferiacutevel Para criar os usuaacuterios do Puppet que o daemon utiliza deve-se usar a opccedilatildeo mkusers ao executar o daemon puppetmaster pela primeira vez

Como ainda natildeo foram criadas as definiccedilotildees dos noacutes tambeacutem seraacute ne-cessaacuterio usar a opccedilatildeo --nonodes

usrbinpuppetmasterd --mkusers --nonodes

Receita baacutesicaCom a configuraccedilatildeo baacutesica jaacute feita vejamos como configurar o mani-festo do site e comeccedilar a gerenciar as configuraccedilotildees e outros tipos Por padratildeo o principal manifesto de site do Puppet fica em etcpuppetma-nifestssitepp Tudo nesse arquivo seraacute executado em todos os clientes Para comeccedilar podemos tentar colo-

RE

DE

S

dim

itris

pet

rid

is ndash

ww

ws

xch

u

copy Linux New Media do Brasil Editora Ltda

67

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

car algo numa receita faacutecil o arquivo sudoers eacute um bom candidato

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo440rdquo

Isso garante que o arquivo sudoers do cliente tenha essas propriedades

ClienteEm seguida eacute necessaacuterio iniciar o PuppetMaster e configurar um cliente para testes No cliente eacute necessaacuterio o pacote puppet Para definir o nome do servidor para um site deve-se in-cluir no arquivo etcpuppetpuppetdconf a linha

server = puppetserverexemplocom

Depois alterar os modos ou o dono do arquivo etcsudoers no cliente para que fiquem diferentes do es-pecificado no arquivo sitepp do PuppetMaster A seguir deve-se executar o cliente pela primeira vez com o comando

puppetd --waitforcert 60 --test

Os clientes satildeo autenticados por uma requisiccedilatildeo de certificado ao Pu-ppetMaster O cliente acusaraacute a falta de um certificado e em seguida faraacute uma pausa para que se possa ordenar que o PuppetMaster assine o certifi-cado do cliente O comando puppet-ca --list no PuppetMaster lista os clientes que aguardam sua assinatura Com puppetca --sign clienteexemplocom (novamente no PuppetMaster) o certificado seraacute assinado (puppetca --sign --all assinaraacute todos os certifica-dos que estatildeo aguardando) Apoacutes 60 segundos o cliente obteacutem o certificado assinado e eacute executado A opccedilatildeo test faz com que o cliente rode em modo verboso e apenas uma vez

Apoacutes terminar eacute importante verifi-car o arquivo etcsudoers o modo deve ser o mesmo especificado no Puppet-Master e natildeo o que foi alterado

Aleacutem de gerenciar atributos de arquivos o Puppet tambeacutem gerencia seu conteuacutedo atuando como servi-dor de arquivos Para isso primeiro eacute preciso criar um arquivo sudoers de exemplo e colocaacute-lo em etcpu-ppetfilessudoers

Em seguida edite novamente o arquivo sitepp para que a receita do sudoers fique semelhante a

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt 440 source =gt ldquopuppetpuppetserverexemplocomfilessudoersrdquo

Edite o arquivo no cliente para que ele fique diferente do con-teuacutedo acima e rode novamente o Puppet com o comando ppuppetd --test O conteuacutedo do arquivo seraacute alterado

O trecho abaixo tambeacutem mostra como usar um uacutenico contecirciner file para muacuteltiplos recursos de arquivo

file ldquostarrdquo ensure =gt link target =gt ldquosoft9starrdquo ldquotestdirrdquo ensure =gt directory

DependecircnciasOs recursos interagem uns com os outros Certos pacotes satildeo necessaacute-rios para determinados serviccedilos por exemplo ou talvez se queira reiniciar um serviccedilo quando um arquivo espe-ciacutefico for alterado O Puppet possui dependecircncias ndash notavelmente require

e subscribe ndash para especificar essas interaccedilotildees

O trecho abaixo usa o tipo service que pode ser usado para qualquer daemon que se queira deixar em execuccedilatildeo (no caso o Slapd)

service ldquoslapdrdquo ensure =gt running hasrestart =gt true require =gt Package[ldquoslapdrdquo] subscribe =gt [File[ldquoldapconfrdquo] File[ldquoetcldapschemardquo]]

A opccedilatildeo hasrestart informa ao Pu-ppet se ele deve reiniciar o serviccedilo com stopstart ou com restart A diretiva re-quire simplesmente fornece um rela-cionamento de ordem ela garante que o recurso referido ndash no caso o pacote slapd ndash estaraacute configurado antes deste serviccedilo Todos os tipos suportam isso

O item subscribe eacute uma depen-decircncia relativa Se os recursos espe-cificados forem alterados o item eacute atualizado Os tipos exec service e mount suportam isso

Note a forma como os recursos do Puppet satildeo especificados nesse contex-to com o nome do tipo comeccedilando com letra maiuacutescula e fornecendo o nome do recurso Aleacutem disso esses recursos precisam ser especificados em outros locais ou ocorreraacute um erro

O Puppet eacute capaz de gerenciar diversos tipos packages o Puppet interage

com a maioria dos principais sistemas de pacotes e pode garantir que programas espe-ciacuteficos estejam instalados o que eacute particularmente uacutetil ao instalar uma nova maacutequina

package ldquoslapdrdquo ensure =gt installed

exec executa comandos internos O comando subscribe eacute uacutetil nesse ponto Por exemplo um trecho

copy Linux New Media do Brasil Editora Ltda

68 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

que atualiza o exim4 quando sua configuraccedilatildeo eacute modificada

exec ldquoexim4-updaterdquo command =gt ldquousrsbinupdate-exim4confrdquo user =gt ldquorootrdquo subscribe =gt File[ldquoupdate-exim4rdquo] refreshonly =gt true

usuaacuterios e grupos esse tipo tem como objetivo gerenciar usuaacute-rios do sistema e natildeo usuaacuterios normais Eacute possiacutevel gerenciar o diretoacuterio home (por exemplo criaacute-lo) assim como outros atri-butos de usuaacuterio

user ldquomanagerrdquo ensure =gt present home =gt ldquolocalmanagerrdquo managehome =gt true gid =gt ldquosystemusersrdquo

cron gerencia cron jobs Um uso possiacutevel para esse recurso eacute reini-ciar o Puppet em clientes caso ele falhe como mostra o exem-plo 1 Embora esteja mostrado em muacuteltiplas linhas o coman-do tambeacutem pode ser usado em uma uacutenica A hora e o dia para execuccedilatildeo do cron job assim como o usuaacuterio a executar a ta-refa podem ser definidos como no trecho acima O comando eacute adicionado ao crontab do usuaacuterio correspondente

mount monta diretoacuterios para o en-sure Se o paracircmetro ensure estiver definido como present o sistema de arquivos estaraacute na tabela mas natildeo montado Se o paracircmetro estiver definido como mounted o sistema de arquivos seraacute adicio-nado agrave tabela e montado E se o paracircmetro estiver definido como absent o sistema de arquivos seraacute removido da tabela

Tambeacutem estatildeo disponiacuteveis vaacuterios atributos de rede maacutequinas in-terfaces listas de email aliases de email e chaves SSH

PadrotildeesEacute possiacutevel definir padrotildees para qual-quer recurso Por exemplo se a maio-ria dos arquivos de uma maacutequina pertencer ao usuaacuterio root e tiverem permissotildees 644 o seguinte trecho vai estabelecer esses valores como padratildeo para todos os arquivos

File owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo644rdquo

Para contornar esse padratildeo basta es-pecificar um valor diferente para qual-quer um desses paracircmetros num recurso especiacutefico Note que os padrotildees somente se aplicam a seu proacuteprio escopo (classe) e a qualquer classe abaixo dessa se for desejaacutevel aplicaacute-los globalmente eacute ne-cessaacuterio defini-los fora de todas as classes ndash por exemplo no arquivo sitepp

Organizaccedilatildeo do diretoacuterioO site do Puppet oferece sugestotildees de organizaccedilatildeo de arquivos e ma-nifestos Independente do sistema usado eacute importante certificar-se de que ele seja compreensiacutevel e facil-mente atualizaacutevel

Um exemplo seria

- Diretoacuterio principal do Puppet |- Arquivos |- Aplicativos |- Usuaacuterios |- Manifestos |- sitepp - Noacutes - diretoacuterio com manifestos de vaacuterios noacutes - confira a proacutexima seccedilatildeo - Classes - diretoacuterio com manifestos de vaacuterias classes dependendo do programa (aptpp apache2pp) |- Definiccedilotildees |- Modelos (templates)

Todos os subdiretoacuterios contecircm arquivos de classe (veja abaixo) e para incluiacute-los o arquivo sitepp fica semelhante a

import ldquoclassesrdquoimport ldquodefinicoesrdquoimport ldquonosrdquoimport ldquousuariosrdquo

NoacutesAteacute o momento consideramos somen-te a configuraccedilatildeo de uma uacutenica maacute-quina mas o Puppet realmente brilha quando se tem muacuteltiplas maacutequinas Se forem todas idecircnticas basta criar uma configuraccedilatildeo ndash a padratildeo

siteppdefault include sudo

Mas tambeacutem se pode ter uma confi-guraccedilatildeo diferente para cada maacutequina

Exemplo 1 Cron job para reiniciar o Puppet

01 cron restart-puppet02 command =gt lsquoif [ -e varrunpuppetdpid ] then ps uw -p `cat varrunpuppetdpid` | grep -q lsquo ruby usrsbinpuppetdrsquo03 || (rm varrunpuppetdpid etcinitdpuppet start) firsquo04 user =gt root05 minute =gt lsquo0rsquo06

copy Linux New Media do Brasil Editora Ltda

69

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

assim como criar configuraccedilotildees-base e depois herdaacute-las ou incluiacute-las na configuraccedilatildeo dos noacutes Por exemplo eacute possiacutevel criar uma configuraccedilatildeo baacute-sica para servidores diferente daquela para desktops e ambas podem herdar de uma base ou configuraccedilatildeo-padratildeo comum (exemplo 2)

As classes podem ser especifica-das num arquivo individual ou em um arquivo por classe recomenda-se a segunda forma para facilitar o gerenciamento

Facter modelos variaacuteveisUm aspecto uacutetil do Puppet eacute que ele vem com o Facter uma ferramenta que informa vaacuterios ldquofatosrdquo (facts em inglecircs daiacute o nome Facter) a respeito de uma maacutequina especiacutefica incluindo seu nome IP arquitetura sistema ope-racional chave SSH informaccedilotildees de processador e memoacuteria entre outros

Para uma lista completa dos fatos fornecidos por padratildeo basta digitar facter na linha de comando Eacute pos-siacutevel consultar esses fatos de den-tro do Puppet com $nome_do_fato Eles possuem dois usos importan-tes criar estruturas condicionais e usaacute-las em modelos

CondicionaisO Puppet possui trecircs tipos de con-dicionais 1 seletores satildeo usados dentro de

uma diretiva

package ldquokbr-clientsrdquo ensure =gt $operatingsystem ubuntu =gt absent debian =gt installed default = undef

Nesse trecho se o fato $opera-tingsystem estiver definido como

ubuntu o pacote natildeo estaraacute ins-talado se estiver como debian o pacote estaraacute instalado O padratildeo eacute natildeo definir o atributo

2 A diretiva case oferece uma forma de aplicar classes con-dicionalmente

case $operatingsystem ubuntu include ubuntu debian include debian default include basic

Nesse trecho a classe especiacute-fica a cada sistema operacio-nal eacute incluiacuteda dependendo

novamente do valor do fato $operatingsystem Eacute possiacutevel especificar muacuteltiplas condiccedilotildees entre viacutergulas

3 Tambeacutem existe uma estrutura ifelse mais simples

if $needexample file ldquousrlocalexemplordquo ensure =gt present else file ldquousrlocaltesterdquo ensure =gt present

Exemplo 2 Muacuteltiplas classes e heranccedila

01 class base 02 Varias coisas basicas03 include autofs04 include cron05 include puppet06 include ssh07 e assim por diante08 0910 class desktop inherits base 11 Tudo na classe lsquobasersquo serah automaticamente incluido aqui12 Depois tambem eh possivel13 include latex14 include gnome15 e assim por diante16 1718 class server inherits base 19 Novamente tudo da classe lsquobasersquo serah automaticamente incluido20 E depois outras coisas exclusivas de servidores21 include nfs22 e assim por diante23

Exemplo 3 iptableserb

01 filter02 INPUT DROP [00]03 FORWARD DROP [00]04 OUTPUT ACCEPT [00]05 -A INPUT -d 127000255000 -i lo -p tcp -j DROP06 -A INPUT -d lt= ipaddress gt -m state --state RELATEDESTABLISHED -j ACCEPT07 -A INPUT -i lo -j ACCEPT08 -A INPUT -s 10419815302552552550 -d lt= ipaddress gt -j ACCEPT09 -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j LOG --log-prefix ldquosshrdquo -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j ACCEPT10 COMMIT

copy Linux New Media do Brasil Editora Ltda

70 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

Atualmente eacute possiacutevel determinar apenas se uma dada variaacutevel estaacute de-finida sem distinguir entre valores es-peciacuteficos Para fazer isso eacute necessaacuterio usar as diretivas case ou selector

ModelosOs modelos usam a linguagem Ruby para inserir variaacuteveis num arquivo-fonte Em outras palavras eacute como fornecer um arquivo central que pode variar de uma maacutequina para outra

Um bom exemplo de uso de um fato num modelo eacute definir uma po-liacutetica de ipchains Por exemplo o ar-quivo iptableserb (ERB eacute a sintaxe de modelos do Ruby) mostrado no exemplo 3 utiliza o fato $ipaddress

Depois eacute possiacutevel fazer referecircncia a esse modelo

file ldquoiptables_configrdquo name =gt ldquoetcsysconfigiptablesrdquo content =gt template(ldquoetcpuppettemplatesiptableserbrdquo)

Note que enquanto os arquivos precisam da sintaxe puppetpu-ppetserverexemplocom os modelos natildeo precisam

Fatos personalizadosOs fatos-padratildeo estatildeo disponiacuteveis em todos os clientes automaticamente

Poreacutem caso se deseje criar fatos personalizados eacute interessante mantecirc-los no PuppetMaster e entatildeo confi-gurar os clientes para sincronizarem seus fatos com o servidor

Acrescente a seguinte seccedilatildeo ao arquivo etcpuppetfileserverconf no puppetmaster

[facts] path etcpuppetfacts allow exemplocom

e em cada cliente adicione a se-guinte linha ao arquivo etcpuppetpuppetdconf

factsync = true

Em seguida reinicie o PuppetMas-ter no servidor e o Puppet nos clientes Agora jaacute eacute possiacutevel colocar qualquer fato personalizado em etcpuppetfacts e propagaacute-lo Por exemplo para criar uma regra que defina o fato $home com a variaacutevel de ambiente $HOME basta criar o arquivo etcpuppetfactshomerb

Facteradd(ldquohomerdquo) do setcode do ENV[lsquoHOMErsquo] endend

Da proacutexima vez que o Puppet rodar nos clientes esse fato seraacute sin-

cronizado e entatildeo poderaacute ser usado em qualquer receita

Outras variaacuteveisVariaacuteveis tambeacutem satildeo uacuteteis em outras situaccedilotildees Uma variaacutevel definida no arquivo sitepp ficaraacute disponiacutevel para todos os outros manifestos e classes Caso haja um conjunto-padratildeo de usuaacuterios com permissatildeo para fazer login nos servidores e se quiser edi-tar o arquivo etcsshsshd_config de acordo o coacutedigo do exemplo 4 funcionaraacute muito bem

Configurar o servidor de arqui-vos por meio de uma variaacutevel tam-beacutem eacute uma boa ideacuteia se o servidor sofrer alteraccedilotildees natildeo seraacute neces-saacuterio editar cada arquivo que faz referecircncia ao Puppet

ConclusatildeoEssa breve apresentaccedilatildeo fornece somente um raacutepido panorama das possibilidades do Puppet As versotildees mais recentes do software permitem que se organize a configuraccedilatildeo em moacutedulos o que oferece ainda mais flexibilidade e reusabilidade Caso se use LDAP para armazenar infor-maccedilotildees de maacutequinas e usuaacuterios eacute possiacutevel tambeacutem obter as definiccedilotildees dos noacutes a partir desse recurso

Caso sejam necessaacuterias mais informa-ccedilotildees ou suporte o site do Puppet assim como seu wiki[2] e sua lista de emails[3] satildeo de grande ajuda Tenha nas matildeos o controle de suas maacutequinas

Mais informaccedilotildees

[1] Projeto Puppet httpreductivelabscomprojetspuppet

[2] Wiki do Puppet httpreductivelabscomtracpuppetwiki

[3] Lista do Puppet httpreductivelabscomtracpuppetwikiGettingHelpmailing-list

Exemplo 4 Uso de variaacuteveis no SSH

01 em sitepp02 $server_ssh_users = ldquoroot jkemp adminrdquo0304 em sshpp ou qualquer outro lugar a sua escolha05 file ldquosshd_configrdquo06 name =gt ldquoetcsshsshd_configrdquo07 allow_users =gt lsquoAllowUsers $server_ssh_usersrsquo08 template =gt ldquoetcpuppettemplatessshd_configerbrdquo09 1011 trecho relevante de sshd_configerb12 LoginGraceTime 60013 PermitRootLogin without-password14 StrictModes yes1516 lt= allow_users gt

copy Linux New Media do Brasil Editora Ltda

71Linux Magazine 42 | Maio de 2008

Firewall faacutecil com o Shorewall

Domando o fogoEacute verdade que firewalls devem ser administrados por especialistas Poreacutem ateacute esses profissionais podem se beneficiar de uma interface praacutetica para essa tarefapor Tarciacutesio Carvalho Espiacutenola

Montar um firewall para a proteccedilatildeo de um uacutenico servidor natildeo eacute tarefa das

mais simples Imagine montar um firewall para uma rede inteira que requer muito mais atenccedilatildeo e conhe-cimento tanto dos serviccedilos quanto das ferramentas utilizadas Qualquer descuido pode comprometer toda a seguranccedila da rede e a reputaccedilatildeo do seu administrador

No caso especiacutefico do Linux tra-balhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas principalmente para usuaacuterios novatos ou acostuma-dos apenas com cliques na interfa-ce graacutefica A criaccedilatildeo de regras mais elaboradas requer tantas opccedilotildees e paracircmetros ndash e em uma rede mais complexa teremos dezenas delas ndash que eacute faacutecil cometer erros

Natildeo estamos questionando a efi-caacutecia dessa poderosa ferramenta muito pelo contraacuterio o domiacutenio de seus comandos para uma utilizaccedilatildeo eficiente e segura em situaccedilotildees mais avanccediladas exige bastante experiecircncia por parte do administrador Pensan-do nisso Thomas M Eastep teve a brilhante ideacuteia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e

atarefado administrador de rede e o prolixo mas poderoso software Iptables o Shorewall[1]

A forma simples e intuitiva como satildeo desenvolvidas as regras no Shorewall facilita bastante a cria-ccedilatildeo e manutenccedilatildeo do firewall Na inicializaccedilatildeo do serviccedilo as regras definidas pelo administrador satildeo compiladas e convertidas em regras do Iptables que seraacute o responsaacutevel pelo firewall

Devido agrave sua compe-tecircncia o Shorewall per-mite tambeacutem que o admi-nistrador aprimore seus conhecimentos na opera-ccedilatildeo do Iptables estudan-do as regras criadas pelo programa a partir das ins-truccedilotildees passadas de forma graacutefica Quando o admi-nistrador adota a defini-ccedilatildeo graacutefica de regras pelo Shorewall geralmente aumenta sua capacidade de criar e gerenciar confi-guraccedilotildees mais complexas O poder da interface graacute-fica nesse caso estaacute em permitir a administraccedilatildeo de muacuteltiplas regras de forma facilitada

Para ilustrar a utilizaccedilatildeo do Sho-rewall mostraremos como configurar o firewall de uma rede normalmente utilizada em pequenas e meacutedias em-presas (figura 1) embora o Shorewall possa ser utilizado em situaccedilotildees bem mais complexas

Infra-estruturaEm nossa rede de exemplo usaremos servidores e estaccedilotildees Linux e Win-dowsreg para mostrar que os serviccedilos

SE

GU

RA

NCcedil

A

Figura 1 A rede utilizada neste artigo eacute bastante simples composta por uma DMZ uma rede local e o firewall conectando ambas agrave Internet

Ramon Gonzalez - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

72 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

apresentados natildeo de-pendem dos sistemas operacionais utilizados com exceccedilatildeo claro do servidor firewall que de-veraacute necessariamente usar Linux

Para fins de exemplo suponhamos que nossos 64 IPs pertencem agrave fai-xa 20016616119226 distribuiacutedos da se-guinte forma IP da rede 200

166161192 maacutescara 255255

255192

IPs utilizaacuteveis 200166161193 a 200166161254

IP broadcast 200166161255A figura 2 e a tabela 1 detalham os pa-

racircmetros da nossa rede de exemploEm seguida basta configurar o

servidor DHCP da rede local com os paracircmetros acima Na configuraccedilatildeo das regras do firewall consideraremos que o serviccedilo de DHCP seraacute oferecido pelo proacuteprio servidor firewall como veremos mais adiante mas a sua configuraccedilatildeo foge do escopo deste artigo

A DMZ (zona desmilitarizada) obviamente fica isolada da rede local Nela seratildeo conectados os servidores Observe que na figura 2 foi definido inclusive o endereccedilo IP da estaccedilatildeo re-mota que teraacute acesso a alguns serviccedilos nas estaccedilotildees da rede local

Note que dos 64 endereccedilos de que dispomos iremos utilizar apenas seis (um para a rede outro de broadcast um no roteador e trecircs nos servidores) e os 58 restantes seratildeo desperdiccedilados Isso eacute muito comum nos contratos com operadoras ao menos no Brasil Esse tipo de contrato tem ajudado a agravar a escassez de endereccedilos IP disponiacuteveis na Internet

InstalaccedilatildeoVamos agora instalar a ferramenta que seraacute utilizada na configuraccedilatildeo do firewall Antes de iniciar no entanto eacute importante lembrar que a versatildeo mais recente do Shorewall no momento da escrita deste artigo era a 408

O Shorewall funciona da seguinte maneira ao ser iniciado o programa as configuraccedilotildees definidas nos arquivos do diretoacuterio etcshorewall satildeo com-piladas e convertidas em um arquivo que contenha as regras para o Iptables Caso natildeo ocorram erros as regras seratildeo aplicadas e o firewall ativado Do con-traacuterio o motivo da falha seraacute mostrado e o firewall natildeo seraacute iniciado

A partir do lanccedilamento da versatildeo 40 foram disponibilizadas duas ver-sotildees de compiladores para as regras do Shorewall a versatildeo em script de shell

Tabela 1 Descriccedilatildeo da rede de exemplo

RoteadorInterface Ethernet 20016616125426

Servidor FirewallInterface eth0 20016616119326

Interface eth1 192168125424

Interface eth2 1000130 (interface da DMZ)

Gateway padratildeo 200166161254 (IP do roteador)

DNS 200166161193 (o servidor firewall tambeacutem serviraacute DNS)

Servidor de email (mailmeu_sitecombr)Interface eth0 20016616119426

Maacutescara 255255255192

Gateway padratildeo 200166161254

DNS 200166161193

Servidor Web (wwwmeu_sitecombr)Interface Ethernet 200166161254

DNS 200166161193

Rede localIP da rede 19216810

Maacutescara 2552552550

IPs utilizaacuteveis 19216811 a 254

Broadcast 1921681255

Gateway padratildeo 1921681254 (eth1 no servidor firewall)

DNS server 1921681254 (eth1 no servidor firewall)

Figura 2 Detalhes da estrutura da rede usada neste artigo

copy Linux New Media do Brasil Editora Ltda

73

| SEGURANCcedilAShorewall

Linux Magazine 42 | Maio de 2008

que eacute a mais antiga e provavelmen-te seraacute descontinuada nas proacuteximas versotildees e a versatildeo em Perl bem mais raacutepida mas que ainda natildeo estaacute totalmente funcional Apesar disso muitos administradores jaacute a utilizam em produccedilatildeo sem qualquer proble-ma por isso vamos usar essa nova teacutecnica neste artigo

Como o Shorewall estaacute disponiacutevel nos repositoacuterios de pacotes de todas as principais distribuiccedilotildees natildeo abor-daremos a compilaccedilatildeo do software a partir dos fontes

Apoacutes a instalaccedilatildeo os arquivos que iremos editar na configuraccedilatildeo do fi-rewall seratildeo colocados no diretoacuterio etcshorewall sendo eles

interfacesmasqpolicyproxyarprulesshorewallconfzones

Os pacotes para Debian e Ubun-tu no entanto deixam os arquivos de configuraccedilatildeo-padratildeo em usrsharedocshorewalldefault-con-fig Nesse caso basta copiaacute-los para etcshorewall Em seguida jaacute podemos iniciar a configuraccedilatildeo do nosso firewall

ZonasDefiniremos duas zonas para a montagem do firewall uma para o proacuteprio servidor firewall que controlaraacute todo o traacutefego entre as zonas e uma para cada rede a que ele estiver conectado A tabe-la 2 mostra como seratildeo definidas essas zonas

Todas as configuraccedilotildees de zonas no Shorewall deveratildeo ser feitas no arquivo etcshorewallzones O exemplo 1 ilustra como deve ficar esse arquivo em nossa configura-ccedilatildeo Basta ele para definir todas as zonas do firewall Observe que as zonas NET LOC e DMZ foram confi-

guradas com o tipo ipv4 pois isso eacute obrigatoacuterio Note tambeacutem que a zona FW foi definida como sendo o proacuteprio firewall Com o comando man shorewall-zones o administrador pode ler mais informaccedilotildees sobre esse arquivo de configuraccedilatildeo

InterfacesCada zona seraacute vinculada a uma in-terface de rede do servidor exceto a zona FW que representaraacute o proacuteprio servidor e natildeo estaraacute vinculada a ne-nhuma interface Logo deveremos ter trecircs interfaces em nosso servidor eth0 Interface vinculada agrave zona

NET Essa interface seraacute conec-tada diretamente ao roteador que liga a rede agrave Internet Em nosso exemplo eth0 receberaacute o IP 20016616119326

eth1 Interface vinculada agrave zona LOC Essa interface deveraacute ser conectada ao switch da rede lo-cal e seraacute configurada com o IP 192168125424 Eacute preciso confi-gurar tambeacutem o servidor DHCP da rede local para que ele envie esse endereccedilo como gateway agraves estaccedilotildees (em nosso exemplo esse serviccedilo seraacute executado no proacuteprio servidor firewall)

eth2 Interface vinculada agrave zona DMZ Essa interface tem uma par-ticularidade seu IP seraacute con-figurado apenas com o intuito

Exemplo 1 Arquivo de zonas

01 ZONE TYPE OPTIONS IN OUT02 OPTIONS OPTIONS03 fw firewall04 net ipv405 loc ipv406 dmz ipv407 08 Natildeo apagar esta uacuteltima linha

Tabela 2 Definiccedilatildeo das zonas

Nome da zona

Componentes Caracteriacutesticas

Zona FW O proacuteprio firewall Tem livre acesso agraves demais zonas mas o acesso a ela seraacute controlado de acordo com os serviccedilos disponibilizados para cada zona

Zona NET Internet Seraacute considerada hostil em nossas configuraccedilotildees Eacute importante ter muito cuidado com ela

Zona LOC Rede local Nesta zona estaratildeo conectadas as estaccedilotildees locais da empresa Seu acesso agraves demais zonas seraacute controlado de acordo com os serviccedilos permitidos para essa zona

Zona DMZ Servidores da empresa que proveratildeo serviccedilos agrave Internet e agrave rede local

Essa zona teraacute dois servidores um com Linux (mailmeu_sitecombr) executando ser-viccedilos de e-mail e o outro com Windows Server (wwwmeu_sitecombr) que hospedaraacute o site da empresa (ver figura 1)

copy Linux New Media do Brasil Editora Ltda

74 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

de ativaacute-la mas natildeo pertenceraacute a nenhuma rede de qualquer zona Nela configuraremos o IP 1000130 e vamos conectaacute-la ao mesmo switch no qual seratildeo co-nectados os servidores da DMZ

Natildeo seraacute necessaacuterio seguir o padratildeo acima para montar os seus proacuteprios firewalls no entanto eacute recomendaacute-vel fazecirc-lo Tambeacutem eacute possiacutevel usar aliases de interfaces (eth00 por

exemplo) se necessaacuterio Todas as configuraccedilotildees de interfaces no Sho-rewall deveratildeo ser feitas no arquivo etcshorewallinterfaces

O exemplo 2 mostra como deve ser feita essa configuraccedilatildeo Observe que esse caso natildeo configura a zona FW uma vez que ela natildeo estaraacute vinculada a nenhuma interface Aleacutem disso os endereccedilos broadcast foram configura-dos para serem detectados automatica-

mente Jaacute para a interface eth0 que teraacute IP estaacutetico foram definidas as opccedilotildees tcpflags routerfilter nosmurfs nor-cf1918 e logmartians

Eacute interessante consultar o manual do arquivo de configuraccedilatildeo de interfa-ces e descobrir a funccedilatildeo de cada uma dessas opccedilotildees (man shorewall-inter-faces) Elimine-as se necessaacuterio (natildeo recomendaacutevel) ou adicione outras de acordo com as suas necessidades

PoliacuteticasDefinidas as zonas e interfaces defi-niremos agora as poliacuteticas de acesso entre cada par de zonas As definiccedilotildees mostradas na tabela 3 seratildeo adotadas como padratildeo para qualquer requisiccedilatildeo que ocorra entre as zonas

Para reforccedilar a seguranccedila vamos definir por fim que todas as requi-siccedilotildees vindas de qualquer zona (all) com destino a qualquer zona (all) se-ratildeo bloqueadas e que esses bloqueios sejam registrados no log com a tag info Essa regra deveraacute ser a uacuteltima no arquivo de configuraccedilatildeo

Todas as configuraccedilotildees das poliacuteticas de acesso no Shorewall devem ser feitas no arquivo etcshorewallpolicy como mostra o exemplo 3 Note que a regra geral ou seja a que define a poliacutetica de qualquer pacote foi a uacuteltima a ser definida justamente para ser aplicada apenas se os pacotes natildeo se encaixarem a nenhuma outra regra Mais uma vez eacute importante consultar a paacutegina de ma-nual do programa (man shorewall-policy) para obter mais detalhes

Tabela 3 Poliacuteticas entre zonas

Zona Poliacutetica Explicaccedilatildeo

FW ACCEPT Requisiccedilotildees vindas da zona FW com destino agraves de-mais zonas (all) seratildeo permitidas e nada seraacute regis-trado no log

LOC REJECT Requisiccedilotildees vindas da zona LOC com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Uma res-posta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

NET DROP Requisiccedilotildees vindas da zona NET com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

DMZ DROP Requisiccedilotildees vindas da zona DMZ com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

Mais informaccedilotildees

[1] Shorewall httpwwwshorewallnet

Exemplo 3 Arquivo de poliacuteticas

01 SOURCE DEST POLICY LOG LIMITBURST02 LEVEL03 fw all ACCEPT04 loc all REJECT info05 net all DROP info06 dmz all DROP info07 08 THE FOLLOWING POLICY MUST BE LAST09 10 all all DROP info11 12 Natildeo apagar esta uacuteltima linha

Exemplo 2 Arquivo de interfaces

01 ZONE INTERFACE BROADCAST OPTIONS02 net eth0 detect tcpflagsroutefilternosmurfsnorfc1918logmartians03 loc eth1 detect04 dmz eth2 detect05 06 Natildeo apagar esta uacuteltima linha

Sobre o autorTarciacutesio Carvalho Espiacutenola eacute coordenador de TI do Instituto Centec onde vem traba-lhando na implementaccedilatildeo de soluccedilotildees livres nos servidores da empresa Em seu tempo livre ele ainda manteacutem o site Opccedilatildeo Linux (httpwwwopcaolinuxcombr)

copy Linux New Media do Brasil Editora Ltda

75Linux Magazine 42 | Maio de 2008

PR

OG

RA

MA

CcedilAtilde

O

Trabalhe com um repositoacuterio online de scripts PHP

TesouroProgramadores PHP podem economizar tempo e trabalho com o uso do trecho script ou classe perfeitos para usar em seus programaspor Kenneth Hess

Haacute dezenas de repositoacuterios gratuitos de scripts que per-mitem que se navegue e es-

colha os scripts PHP para seu proacuteprio uso A maioria desses sites possui vaacute-rias ofertas desde scripts simples ateacute aplicativos web completos incluindo conjuntos inteiros de software Este artigo descreve alguns dos sites mais importantes na busca de um script PHP preacute-fabricado

devshedcomO Dev Shed[1] eacute o avocirc das comunida-des de desenvolvedores com recursos compartilhados O site tem um pa-gerank de 8 no Google e conta com mais de 150 mil assinantes Agora par-te da empresa Ziff Davis o Dev Shed eacute a comunidade de desenvolvedores mais destacada sendo usada por pro-gramadores de vaacuterias linguagens e tecnologias O site principal do Dev Shed tem foco em artigos tutoriais e na proacutepria comunidade de desenvol-vimento Quem desejar apenas scripts seraacute redirecionado do site principal para o Scriptscom[2] ndash a biblioteca de coacutedigo do Dev Shed

No Scriptscom pode-se ver que a aacuterea de PHP eacute a mais numerosa do repositoacuterio Seus mais de 4 mil scripts colocam essa seccedilatildeo com quase o dobro da segunda coloca-da Perl Depois de selecionado o repositoacuterio PHP a ser usado satildeo mostradas mais de 60 categorias diferentes A maioria dos sites com

repositoacuterios de scripts possui listas se-melhantes de categorias

Alguns sites natildeo possuem qualquer controle de qualidade ou orientaccedilatildeo de envio para os scripts recebidos mas o Scriptcom emprega regras um tanto rigorosas As orientaccedilotildees de envio protegem os usuaacuterios de softwares maliciosos e outros scripts ou teacutecnicas danosos que possam pre-judicar um site ou atacar o navegador dos visitantes Cada script listado tem uma descriccedilatildeo completa da tarefa que executa uma nota um link para o site do autor e um preccedilo Nem todos os scripts satildeo gratuitos Na verdade alguns satildeo caros mas geralmente o autor oferece suporte atualizaccedilotildees e possivelmente outros serviccedilos (como hospedagem por exemplo) pelo pre-ccedilo listado Alguns scripts satildeo gratuitos para uso pessoal mas exigem uma taxa para uso comercial

phpbuildercomO PHP Builder[3] eacute 100 dedicado ao uso e desenvolvimento de scripts PHP Sua comunidade eacute ativa e gen-

til com novos usuaacuterios Aleacutem disso haacute um foacuterum Newbies em que eacute permitido fazer perguntas que jaacute tenham sido respondidas milhotildees de vezes sem medo de sofrer repre-saacutelias ndash embora seja recomendaacutevel fazer uma busca antes de perguntar Assim como a maioria dos sites de comunidade eacute necessaacuterio registrar-se (gratuitamente) e fazer login antes de postar ou participar O PHP Buil-der eacute um dos sites de comunidade mais profissionais e bem mantidos desta seleccedilatildeo

Sua biblioteca de coacutedigos eacute me-nor que a dos outros ndash com apenas umas poucas centenas de scripts ndash mas eacute comum encontrar trechos de coacutedigo nos foacuteruns que resolvem seus problemas Caso o programador natildeo esteja seguro de suas habilidades de programaccedilatildeo existe um foacuterum de criacutetica de coacutedigo (chamado Coding Critique) no qual eacute possiacutevel colar o coacutedigo em questatildeo em busca de criacuteticas correccedilotildees e melhorias A forccedila do PHP Builder natildeo estaacute em sua biblioteca de coacutedigo mas em sua

Figura 1 Inicie a instalaccedilatildeo a partir da tela do DaDaBIK

Sophie ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

76 httpwwwlinuxmagazinecombr

PROGRAMACcedilAtildeO | Repositoacuterio PHP

comunidade Para os que precisam de respostas esse eacute o lugar

weberdevcomO Weberdev[4] ndash uma presenccedila obrigatoacuteria no kit de ferramentas de PHP ndash tem foacuteruns coacutedigo links e tutoriais excelentes Se a necessida-de for resolver rapidamente algum aspecto de programaccedilatildeo em PHP o Weberdevcom eacute a opccedilatildeo Sua biblio-teca de coacutedigo eacute um pouco esquisita de navegar mas o mecanismo de busca eacute raacutepido e inteligente

phpclassesorgPara usar algum dos scripts do PHP Classes[5] eacute necessaacuterio se registrar e fazer login mas eacute uma felicidade fazecirc-lo O PHP

Classes conteacutem trechos de coacute-digo orientados a objetos que podem ser acrescentados a qual-quer coacutedigo Para usar as classes e scripts eacute preciso ter ao menos uma compreensatildeo baacutesica de teacutec-nicas de programaccedilatildeo orientada a objetos Felizmente a maioria dos autores das classes fornece documentaccedilatildeo e exemplos fun-cionais de seus coacutedigos na forma de paacuteginas PHP completas

Eacute possiacutevel ler os blogs dos au-tores pedir mais informaccedilotildees so-bre uma classe diretamente a um autor envolver-se nos foacuteruns em busca de perguntas e respostas ou simplesmente obter classes a par-tir do enorme repositoacuterio Muitas classes desse site ainda continu-

am funcionando mesmo depois de quatro anos em produccedilatildeo O PHP Classes deve ser incluiacutedo nos favoritos de quem quer que esteja agrave procura de um excelen-te recurso para scripts classes e trechos PHP

Esse site tambeacutem possui uma lista de emails que notifica os assinantes em relaccedilatildeo a novas classes quando satildeo adicionadas ao repositoacuterio ndash os emails incluem um resumo da clas-se sua classificaccedilatildeo e uma curta biografia do autor Novas classes satildeo acrescentadas todos os dias

phpnetO phpnet[6] eacute o site oficial da lin-guagem onde se origina todo o coacutedigo PHP gerado Apesar de natildeo possuir uma biblioteca de coacutedigo propriamente dita eacute possiacutevel encon-trar no site uma grande quantidade de coacutedigos

Se o visitante procurar qualquer funccedilatildeo ndash fwrite por exemplo ndash rece-beraacute a paacutegina que descreve a sintaxe e o uso dessa funccedilatildeo Mais abaixo na mesma paacutegina satildeo exibidos tre-chos de coacutedigo que demonstram a funccedilatildeo em accedilatildeo

advancescriptscomO oceano de banners e anuacutencios piscantes talvez seja a primeira ca-racteriacutestica a chamar a atenccedilatildeo dos visitantes do AdvanceScripts[7] Esse site tem muito a oferecer e merece ser navegado entatildeo natildeo se deixe assus-tar pela forma de suporte financeiro escolhida por eles O AdvanceScripts hospeda quase 6 mil scripts PHP em seu repositoacuterio

Assim como ocorre com os outros sites nem todos os scripts satildeo gratui-tos entatildeo eacute importante ter cuidado com as escolhas feitas

Baixe altere e useApenas para ilustrar as ofertas bai-xei um script de um desses sites e adaptei-o para meu proacuteprio uso Esse

Figura 2 Ao teacutermino da instalaccedilatildeo eacute exibido um resumo das mensagens de alerta e de instalaccedilatildeo

Figura 3 A paacutegina indexphp mostra informaccedilotildees da tabela

copy Linux New Media do Brasil Editora Ltda

77

| PROGRAMACcedilAtildeORepositoacuterio PHP

Linux Magazine 42 | Maio de 2008

exemplo raacutepido mostraraacute como eacute faacutecil implementar uma ferramenta a partir de uma biblioteca de coacutedigo Como meu trabalho envolve bancos de da-dos e PHP optei pelo foco em scripts relacionados a bancos de dados Na biblioteca do Scriptscom em PHP Scripts | Database Tools encontrei o DaDaBIK[8][9] (Databases Inter-face Kreator) cuja descriccedilatildeo oficial traduzida eacute ldquoum aplicativo PHP gratuito que permite criar facilmen-te uma interface de formulaacuterio web altamente personalizaacutevel para um banco de dados MySQL para buscar inserir atualizar e apagar registros basta especificar alguns paracircmetros de configuraccedilatildeordquo

Eacute interessante verificar a descriccedilatildeo do script antes de baixaacute-lo O script eacute pequeno (16 MB) bem documen-tado e livre (utiliza a GPL) Os re-quisitos miacutenimos do DaDaBIK satildeo PHP posterior agrave versatildeo 405 e um banco de dados (MySQL Oracle PostgreSQL ou MS SQL)

As etapas de instalaccedilatildeo satildeo seme-lhantes agraves de outros scripts da Inter-net Deve-se baixar e descompactar o pacote e depois procurar o arquivo documentationhtm que fornece as instruccedilotildees de instalaccedilatildeo Seguindo as instruccedilotildees renomeie o diretoacuterio program_files para dadabik e copie-o para o diretoacuterio webroot

Apoacutes abrir o arquivo includecon-figphp eacute preciso digitar os paracircme-tros mostrados na tabela 1 Depois de digitaacute-los e salvaacute-los abra um nave-gador e aponte-o para a paacutegina de instalaccedilatildeo do DaDaBIK httpwwwnome_do_sitecombrdadabikinstallphp (figura 1) Apoacutes clicar no botatildeo de instalaccedilatildeo e finalizar o processo seraacute exibida uma tela semelhante agrave figura 2 que mostra alertas e men-sagens da instalaccedilatildeo

Ao clicar no link no alto da paacutegina para sair da aacuterea de administraccedilatildeo o administrador seraacute redirecionado para a paacutegina indexphp onde veraacute a primeira tabela de banco de dados

(figura 3) As tabelas satildeo listadas em ordem alfabeacutetica na lista drop-down Nessa paacutegina eacute possiacutevel editar inse-rir apagar ou buscar registros

Como se pode ver o DaDaBIK eacute faacutecil de instalar e raacutepido para confi-gurar e usar O exemplo deste artigo teve sucesso devido agrave excelente do-cumentaccedilatildeo incluiacuteda na ferramen-ta Ao procurar numa biblioteca de coacutedigo eacute importante sempre esco-lher scripts classes e aplicativos com muita documentaccedilatildeo

Exceto no caso de programadores experientes que se sintam confor-taacuteveis ao analisar coacutedigo alheio eacute fundamental ter acesso a uma boa documentaccedilatildeo Raramente a docu-mentaccedilatildeo interna de um script (co-mentaacuterios no coacutedigo) explica com-pletamente seu comportamento

ResumoMuitos programadores pensam ser capazes de produzir todo o coacutedi-go de um aplicativo Usar trechos de coacutedigos e ideacuteias de outros pro-gramadores eacute uma oacutetima forma de melhorar as habilidades em programaccedilatildeo poreacutem o trabalho natildeo eacute feito simplesmente baixan-do-se um script ou trecho ndash ainda eacute necessaacuterio adaptar o coacutedigo ao ambiente no qual ele seraacute usado Frequumlentemente essa tarefa natildeo eacute

faacutecil Eacute interessante usar todos os recursos disponiacuteveis para conhecer outros profissionais ao longo do caminho e rapidamente tornar-se o tipo de programador que ajuda os outros

Mais informaccedilotildees

[1] PHP no Dev Shed httpwwwdevshedcomcbPHP

[2] Scriptscom httpwwwscriptscom

[3] PHP Builder httpwwwphpbuildercom

[4] Weberdev httpwwwweberdevcom

[5] PHP Classes httpwwwphpclassesorg

[6] PHPnet httpwwwphpnet

[7] Advance Scripts httpwwwadvancescriptscom

[8] DaDaBIK no Scriptscom httpwwwscriptscomphp-scriptsdatabase-toolsdadabik

[9] DaDaBIK httpwwwdadabikorg

Tabela 1 Paracircmetros do configphp

Paracircmetro Descriccedilatildeo$dbms_type Tipo do banco de dados (MySQL Postgres7 Postgres8

Mssql ou oci8po)

$host Nome do servidor de banco de dados (normalmente local-host)

db_name Nome do banco de dados a ser usado com o DaDaBIK

$user Conta de usuaacuterio do banco de dados que possa fazer SE-LECT INSERT DELETE e UPDATE nos registros do banco

$pass Senha do usuaacuterio no banco de dados

$site_url URL completa do DaDaBIK (httpwwwnome_do_sitecombrdadabik)

$site_path Caminho relativo do DaDaBIK (dadabik)

copy Linux New Media do Brasil Editora Ltda

78

SE

RV

ICcedilO

S

httpwwwlinuxmagazinecombr

Fornecedor de Hardware = 1 Redes e Telefonia PBX = 2 Integrador de Soluccedilotildees = 3

Literatura Editora = 4 Fornecedor de Software = 5

Consultoria Treinamento = 6

Linuxlocal

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

CearaacuteF13 Tecnologia Fortaleza Rua Coronel Solon 480 ndash Bairro de Faacutetima

Fortaleza - CE - CEP 60040-270 85 3252-3836 wwwf13combr

Espiacuterito SantoLinux Shopp Vila Velha Rua Satildeo Simatildeo (Correspondecircncia) 18 ndash CEP 29113-120 27 3082-0932 wwwlinuxshoppcombr

Megawork Consultoria e Sistemas

Vitoacuteria Rua Chapot Presvot 389 ndash Praia do Can-to ndash CEP 29055-410 sl 201 202

27 3315-2370 wwwmegaworkcombr

Spirit Linux Vitoacuteria Rua Marins Alvarino 150 ndash CEP 29047-660 27 3227-5543 wwwspiritlinuxcombr

Minas GeraisInstituto Online Belo Horizonte Av Bias Fortes 932 Sala 204 ndash CEP 30170-011 31 3224-7920 wwwinstitutoonlinecombr

Linux Place Belo Horizonte Rua do Ouro 136 Sala 301 ndash Serra ndash CEP 30220-000 31 3284-0575 corporatelinuxplacecombr

Microhard Belo Horizonte Rua Repuacuteblica da Argentina 520 ndash Sion ndash CEP 30315-490 31 3281-5522 wwwmicrohardcombr

TurboSite Belo Horizonte Rua Paraiacuteba 966 Sala 303 ndash Savassi ndash CEP 30130-141 0800 702-9004 wwwturbositecombr

ParanaacuteiSolve Curitiba Av Cacircndido de Abreu 526 Cj 1206B ndash CEP 80530-000 41 252-2977 wwwisolvecombr

Mandriva Conectiva Curitiba Rua Tocantins 89 ndash Cristo Rei ndash CEP 80050-430 41 3360-2600 wwwmandrivacombr

Telway Tecnologia Curitiba Rua Francisco Rocha 183071 41 3203-0375 wwwtelwaycombr

Rio de JaneiroNSI Training Rio de Janeiro Rua Arauacutejo Porto Alegre 71 4ordmandar Centro ndash CEP 20030-012 21 2220-7055 wwwnsicombr

Open IT Rio de Janeiro Rua do Mercado 34 Sl 402 ndash Centro ndash CEP 20010-120 21 2508-9103 wwwopenitcombr

Unipi Tecnologias Campos dos Goytacazes

Av Alberto Torres 303 1ordmandar - Centro ndash CEP 28035-581 22 2725-1041 wwwunipicombr

Rio Grande do Sul4up Soluccedilotildees Corporativas Novo Hamburgo Pso Calccediladatildeo Osvaldo Cruz 54 sl 301 CEP 93510-015 51 3581-4383 www4upcombr

Definitiva Informaacutetica Novo Hamburgo Rua General Osoacuterio 402 - Hamburgo Velho 51 3594 3140 wwwdefinitivacombr

Solis Lajeado Rua Comandante Wagner 12 ndash Satildeo Cristoacutevatildeo ndash CEP 95900-000 51 3714-6653 wwwsoliscoopbr

DualCon Novo Hamburgo Rua Joaquim Pedro Soares 1099 Sl 305 ndash Centro 51 3593-5437 wwwdualconcombr

Datarecover Porto Alegre Av Carlos Gomes 403 Sala 908 Centro Comer-cial Atrium Center ndash Bela Vista ndash CEP 90480-003

51 3018-1200 wwwdatarecovercombr

LM2 Consulting Porto Alegre Rua Germano Petersen Junior 101-Sl 202 ndash Hi-gienoacutepolis ndash CEP 90540-140

51 3018-1007 wwwlm2combr

Lnx-IT Informaccedilatildeo e Tecnologia Porto Alegre Av Venacircncio Aires 1137 ndash Rio Branco ndash CEP 90040193 51 3331-1446 wwwlnx-itinfbr

Plugin Porto Alegre Av Juacutelio de Castilhos 132 11ordm andar Centro ndash CEP 90030-130 51 4003-1001 wwwplugincombr

TeHospedo Porto Alegre Rua dos Andradas 1234610 ndash Centro ndash CEP 90020-008 51 3286-3799 wwwtehospedocombr

Satildeo PauloWs Host Arthur Nogueira Rua Jerere 36 ndash Vista Alegre ndash CEP 13280-000 19 3846-1137 wwwwshostcombr

DigiVoice Barueri Al Juruaacute 159 Teacuterreo ndash Alphaville ndash CEP 06455-010 11 4195-2557 wwwdigivoicecombr

Dextra Sistemas Campinas Rua Antocircnio Paioli 320 ndash Pq das Universidades ndash CEP 13086-045 19 3256-6722 wwwdextracombr

Insigne Free Software do Brasil Campinas Av Andrades Neves 1579 ndash Castelo ndash CEP 13070-001 19 3213-2100 wwwinsignesoftwarecom

Microcamp Campinas Av Thomaz Alves 20 ndash Centro ndash CEP 13010-160 19 3236-1915 wwwmicrocampcombr

PC2 Consultoria em Software Livre

Carapicuiba Rua Edeia 500 - CEP 06350-080 11 3213-6388 wwwpc2consultoriacom

Savant Tecnologia Diadema Av Senador Vitorino Freire 465 ndash CEP 09910-550 11 5034-4199 wwwsavantcombr

Epopeacuteia Informaacutetica Mariacutelia Rua Goiaacutes 392 ndash Bairro Cascata ndash CEP 17509-140 14 3413-1137 wwwepopeiacombr

Redentor Osasco Rua Costante Piovan 150 ndash Jd Trecircs Montanhas ndash CEP 06263-270 11 2106-9392 wwwredentorindbr

Go-Global Santana de Parnaiacuteba

Av Yojiro Takaoca 4384 Ed Shopping Ser-vice Cj 1013 ndash CEP 06541-038

11 2173-4211 wwwgo-globalcombr

AW2NET Santo Andreacute Rua Edson Soares 59 ndash CEP 09760-350 11 4990-0065 wwwaw2netcombr

Async Open Source Satildeo Carlos Rua Orlando Damiano 2212 ndash CEP 13560-450 16 3376-0125 wwwasynccombr

Delix Internet Satildeo Joseacute do Rio Preto

Rua Voluntaacuterio de Satildeo Paulo 3066 9ordm ndash Centro ndash CEP 15015-909 11 4062-9889 wwwdelixhostingcombr

O maior diretoacuterio de empresas que oferecem produtos soluccedilotildees e serviccedilos em Linux e Software Livre organizado por Estado Sentiu falta do nome de sua empresa aqui Entre em contato com a gente 11 4082-1300 ou anuncioslinuxmagazinecombr

copy Linux New Media do Brasil Editora Ltda

79

| SERVICcedilOSLinuxlocal

Linux Magazine 42 | Maio de 2008

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

Satildeo Paulo (continuaccedilatildeo)4Linux Satildeo Paulo Rua Teixeira da Silva 660 6ordm andar ndash CEP 04002-031 11 2125-4747 www4linuxcombr

A Casa do Linux Satildeo Paulo Al Jauacute 490 ndash Jd Paulista ndash CEP 01420-000 11 3549-5151 wwwacasadolinuxcombr

Accenture do Brasil Ltda Satildeo Paulo Rua Alexandre Dumas 2051 ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 5188-3000 wwwaccenturecombr

ACR Informaacutetica Satildeo Paulo Rua Lincoln de Albuquerque 65 ndashPerdizes ndash CEP 05004-010 11 3873-1515 wwwacrinformaticacombr

Agit Informaacutetica Satildeo Paulo Rua Major Quedinho 111 5ordm andar Cj 508 ndash Centro ndash CEP 01050-030

11 3255-4945 wwwagitcombr

Altbit - Informaacutetica Co-meacutercio e Serviccedilos LTDA

Satildeo Paulo Av Francisco Matarazzo 229 Cj 57 ndash Aacutegua Branca ndash CEP 05001-000

11 3879-9390 wwwaltbitcombr

AS2M -WPC Consultoria Satildeo Paulo Rua Trecircs Rios 131 Cj 61A ndash Bom Retiro ndash CEP 01123-001 11 3228-3709 wwwwpccombr

Big Host Satildeo Paulo Rua Dr Miguel Couto 58 ndash Centro ndash CEP 01008-010 11 3033-4000 wwwbighostcombr

Blanes Satildeo Paulo Rua Andreacute Ampeacutere 153 ndash 9ordm andar ndash Conj 91 CEP 04562-907 (proacutex Av L C Berrini)

11 5506-9677 wwwblanescombr

Commlogik do Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 13797 Bloco II 6ordm andar ndash Morumbi ndash CEP 04794-000

11 5503-1011 wwwcommlogikcombr

Computer Consulting Pro-jeto e Consultoria Ltda

Satildeo Paulo Rua Vergueiro 6455 Cj 06 ndash Alto do Ipiranga ndash CEP 04273-100 11 5062-3927 wwwcomputerconsultingcombr

Consist Consultoria Siste-mas e Representaccedilotildees Ltda

Satildeo Paulo Av das Naccedilotildees Unidas 20727 ndash CEP 04795-100 11 5693-7210 wwwconsistcombr

Domiacutenio Tecnologia Satildeo Paulo Rua das Carnaubeiras 98 ndash Metrocirc Conceiccedilatildeo ndash CEP 04343-080 11 5017-0040 wwwdominiotecnologiacombr

EDS do Brasil Satildeo Paulo Av Pres Juscelino Kubistcheck 1830 Torre 4 - 5ordm andar 11 3707-4100 wwwedscom

Eacutetica Tecnologia Satildeo Paulo Rua Nova York 945 ndash Brooklin ndash CEP04560-002 11 5093-3025 wwweticanet

Getronics ICT Solu-tions and Services

Satildeo Paulo Rua Verbo Divino 1207 ndash CEP 04719-002 11 5187-2700 wwwgetronicscombr

Hewlett-Packard Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 12901 25ordm andar ndash CEP 04578-000 11 5502-5000 wwwhpcombr

IBM Brasil Ltda Satildeo Paulo Rua Tutoacuteia 1157 ndash CEP 04007-900 0800-7074 837 wwwbribmcom

iFractal Satildeo Paulo Rua Fiaccedilatildeo da Sauacutede 145 Conj 66 ndash Sauacutede ndash CEP 04144-020 11 5078-6618 wwwifractalcombr

Integral Satildeo Paulo Rua Dr Gentil Leite Martins 295 2ordm andar Jd Prudecircncia ndash CEP 04648-001

11 5545-2600 wwwintegralcombr

Itautec SA Satildeo Paulo Rua Santa Catarina 1 ndash Tatuapeacute ndash CEP 03086-025 11 6097-3000 wwwitauteccombr

Kenos Consultoria Satildeo Paulo Av Fagundes Filho 13 Conj -53 ndash CEP 04304-000 11 40821305 wwwkenoscombr

Konsultex Informatica Satildeo Paulo Av Dr Guilherme Dumont Villares 1410 6 andar CEP 05640-003 11 3773-9009 wwwkonsultexcombr

Linux Komputer Informaacutetica Satildeo Paulo Av Dr Lino de Moraes Leme 185 ndash CEP 04360-001 11 5034-4191 wwwkomputercombr

Linux Mall Satildeo Paulo Rua Machado Bittencourt 190 Cj 2087 ndash CEP 04044-001 11 5087-9441 wwwlinuxmallcombr

Livraria Tempo Real Satildeo Paulo Al Santos 1202 ndash Cerqueira Ceacutesar ndash CEP 01418-100 11 3266-2988 wwwtemporealcombr

Locasite Internet Service Satildeo Paulo Av Brigadeiro Luiz Antonio 2482 3ordm andar ndash Centro ndash CEP 01402-000

11 2121-4555 wwwlocasitecombr

Microsiga Satildeo Paulo Av Braz Leme 1631 ndash CEP 02511-000 11 3981-7200 wwwmicrosigacombr

Novatec Editora Ltda Satildeo Paulo Rua Luis Antonio dos Santos 110 ndash Santana ndash CEP 02460-000 11 6979-0071 wwwnovateceditoracombr

Novell Ameacuterica Latina Satildeo Paulo Rua Funchal 418 ndash Vila Oliacutempia 11 3345-3900 wwwnovellcombrasil

Oracle do Brasil Sistemas Ltda Satildeo Paulo Av Alfredo Egiacutedio de Souza Aranha 100 ndash Bloco B ndash 5ordm andar ndash CEP 04726-170

11 5189-3000 wwworaclecombr

Proelbra Tecnolo-gia Eletrocircnica Ltda

Satildeo Paulo Av Rouxinol 1041 Cj 204 2ordm andar Moema ndash CEP 04516-001 11 5052- 8044 wwwproelbracombr

Provider Satildeo Paulo Av Cardoso de Melo 1450 6ordm andar ndash Vila Oliacutempia ndash CEP 04548-005

11 2165-6500 wwwe-providercombr

Red Hat Brasil Satildeo Paulo Av Brigadeiro Faria Lima 3900 Cj 81 8ordm andar Itaim Bibi ndash CEP 04538-132

11 3529-6000 wwwredhatcombr

Samurai Projetos Especiais Satildeo Paulo Rua Baratildeo do Triunfo 550 6ordm andar ndash CEP 04602-002 11 5097-3014 wwwsamuraicombr

SAP Brasil Satildeo Paulo Av das Naccedilotildees Unidas 11541 16ordm andar ndash CEP 04578-000 11 5503-2400 wwwsapcombr

Simples Consultoria Satildeo Paulo Rua Mourato Coelho 299 Cj 02 Pinheiros ndash CEP 05417-010 11 3898-2121 wwwsimplesconsultoriacombr

Smart Solutions Satildeo Paulo Av Jabaquara 2940 cj 56 e 57 11 5052-5958 wwwsmart-teccombr

Snap IT Satildeo Paulo Rua Joatildeo Gomes Junior 131 ndash Jd Bonfiglioli ndash CEP 05299-000 11 3731-8008 wwwsnapitcombr

Stefanini IT Solutions Satildeo Paulo Av Brig Faria Lima 1355 19ordm ndash Pinheiros ndash CEP 01452-919 11 3039-2000 wwwstefaninicombr

Sun Microsystems Satildeo Paulo Rua Alexandre Dumas 2016 ndash CEP 04717-004 11 5187-2100 wwwsuncombr

Sybase Brasil Satildeo Paulo Av Juscelino Kubitschek 510 9ordm andar Itaim Bibi ndash CEP 04543-000 11 3046-7388 wwwsybasecombr

The Source Satildeo Paulo Rua Marquecircs de Abrantes 203 ndash Chaacutecara Tatuapeacute ndash CEP 03060-020

11 6698-5090 wwwthesourcecombr

Unisys Brasil Ltda Satildeo Paulo R Alexandre Dumas 1658 ndash 6ordm 7ordm e 8ordm andares ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 3305-7000 wwwunisyscombr

Utah Satildeo Paulo Av Paulista 925 13ordm andar ndash Cerqueira Ceacutesar ndash CEP 01311-916 11 3145-5888 wwwutahcombr

Visuelles Satildeo Paulo Rua Eng Domicio Diele Pacheco e Silva 585 ndash Interlagos ndash CEP 04455-310

11 5614-1010 wwwvisuellescombr

Webnow Satildeo Paulo Av Naccedilotildees Unidas 12995 10ordm andar Ed Plaza Centenaacuterio ndash Chaacutecara Itaim ndash CEP 04578-000

11 5503-6510 wwwwebnowcombr

WRL Informaacutetica Ltda Satildeo Paulo Rua Santa Ifigecircnia 211213 Box 02ndash Centro ndash CEP 01207-001 11 3362-1334 wwwwrlcombr

Systech Taquaritinga Rua Satildeo Joseacute 1126 ndash Centro - Caixa Postal 71 ndash CEP 15900-000 16 3252-7308 wwwsystech-ltdcombr

| SERVICcedilOSLinuxlocal

copy Linux New Media do Brasil Editora Ltda

80

SERVICcedil

OS

httpwwwlinuxmagazinecombr

User Friendly ndash Os quadrinhos mensais da Linux Magazine

Calendaacuterio de eventosEvento Data Local Website

ApacheCon Europe 2008 7 a 11 de abril Amsterdam Holanda wwweuapacheconcom

II Encontro Software Livre da Paraiacuteba

2 a 4 de maio Joatildeo Pessoa PB ensolorgbr

LinuxTag 28 a 31 de maio Berlin Alemanha htttpwwwlinuxtagorg

LinuxWorld Conference and Expo

04 a 07 de agosto Satildeo Francisco EUAhttpwwwlinuxworldexpocomlive12

Linux Park 10 de junho Porto Alegre RS wwwlinuxparkcombr

Linux Park 24 de junho Rio de Janeiro RJ wwwlinuxparkcombr

Iacutendice de anunciantes

Empresa PaacutegEasyLinux 15

Guia de TI 83

Impacta 27

Kenos 22 23

Linux Magazine 33

Linux Magazine Online 81

Linux Park 84

Linux Pocket Pro 02 09

Linux Pro 31

Linux Technical Review 07

LPI 57

Plugin 11

Starter Kit 13

Watch Guard 19

copy Linux New Media do Brasil Editora Ltda

LM40_sitepdf 146 190208 124436

copy Linux New Media do Brasil Editora Ltda

82 httpwwwlinuxmagazinecombr

Na Linux Magazine 43

PREVIE

W

DESTAQUE

Alta disponibilidadeSe o pneu do seu carro furar como vocecirc age Se a base de dados principal do seu banco cair o que acontece Se aquele software do qual sua empresa depende profundamente simplesmente fechar o que poderaacute ser feito

No caso do carro a resposta eacute bastante simples use o estepe Durante alguns minutos vocecirc natildeo poderaacute andar com o carro mas esse atraso certa-mente seraacute perdoado por quem quer que tenha um bom coraccedilatildeo No entanto o banco de dados de uma instituiccedilatildeo financeira assim como o software de missatildeo criacutetica da sua empresa jamais pode parar Para as empresas envolvi-

das qualquer problema significa perder dinheiro ndash e geralmente em quantidade suficiente para ocasionar demissotildees

Felizmente para os ad-ministradores de sistemas e gestores de TI jaacute dispomos hoje de oacutetimas soluccedilotildees de alta disponibilidade e vamos exploraacute-las em detalhes na Linux Magazine 43

Seguranccedila

DNSSECOs administradores de sistemas e consultores de seguranccedila utilizam estrateacutegias sofisticadas para proteger redes mas ainda existe uma parte muito baacutesica da infra-estrutura da Internet que permanece surpreen-dentemente vulneraacutevel o sistema de resoluccedilatildeo de nomes Existem teacutecnicas elaboradas para forjar res-postas DNS e da mesma forma maneiras tambeacutem engenhosas de contornar esses ataques De todas elas o DNSSEC desponta como uma das mais eficazes para prote-ger redes por meio de criptografia e autenticaccedilatildeo

Conheccedila essa tecnologia e man-tenha seu sistema de resoluccedilatildeo de nomes protegido

DESTAQUE

PortaacuteteisOs laptops e notebooks sempre deram aos seus possui-dores um certo glamour status de pessoas antenadas e claro fama de gente que tinha ldquogranardquo ndash afinal um bom portaacutetil ateacute dois anos atraacutes natildeo custava nada barato Com o passar do tempo no entanto fabricantes foram criando uma nova geraccedilatildeo de no-tebooks menores sem partes mecacircnicas quebraacuteveis em boa parte de suas versotildees e mais baratos Esses aparelhinhos chamados de sub-notebooks vecircm ganhando espaccedilo tanto entre os clientes ldquotradicio-naisrdquo dos laptops quanto entre pessoas que jamais imaginaram ter um portaacutetil

Oficina

Com jeito de cinemaA qualidade de auacutedio e viacutedeo da TV digital recente-

mente iniciada no Brasil eacute um atrativo para quem deseja assistir programas em alta resoluccedilatildeo e ateacute gravar alguns de seus preferidos Se os receptores de TV ainda estatildeo muito caros receptores USB para computador oferecem a ima-gem de cinema e qualidade de som de DVD E o que eacute melhor usando Linux

Na EasyLinux 13

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

42 0508

R$ 1390 euro 750

9771806

942009

00042

A REVISTA DO PROFISSIONAL DE TI

Linu

x M

agazin

e

42 42

M

aio

200

8

052008

WWWLINUXMAGAZINECOMBR

RICARDO BIMBO p30No Linux empresas e voluntaacuterios colaboram harmoniosamente

BOSSA CONFERENCE 2008 p24Evento internacional aponta para um futuro moacutevel com Coacutedigo Aberto

ENTREVISTA SAP p28Empresa aposta em reestruturaccedilatildeo de arquiteturas rumo ao SOA

VEJA TAMBEacuteM NESTA EDICcedilAtildeO

raquo ADempiere e Eclipse desenvolvimento integrado p49

raquo LPIC-2 aula 11 DNS p52

raquo BI de coacutedigo aberto com SpagoBI p59

raquo Os melhores repositoacuterios de coacutedigo PHP p75

REDES ADMINISTRACcedilAtildeO CENTRALIZADA p66

O Puppet toma conta do gerenciamento e confi guraccedilatildeo de servidores e desktops na rede

SEGURANCcedilA FIREWALL PRAacuteTICO p71

Ateacute os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall

SOA

PRINCIacutePIOS

REDHAT

N

OVAFORGE

SHOREWALL

PUPPET

PHP

SPAGOBI

ADEM

PIERE

LPIC-2

INDT

A ARQUITETURA ORIENTADA A SERVICcedilOS DAacute FOCO AOS NEGOacuteCIOS E SERVE RECURSOS DISTRIBUIacuteDOS COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS p34

raquo A Red Hat oferece a pilha completa para SOA p36

raquo Serviccedilos distribuiacutedos soluccedilotildees integradas p40

raquo NovaForge uma faacutebrica de software corporativo p44

SOA

ex

em

pla

r d

e

Ass

inan

teve

nd

a

pro

ibid

a

copy Linux New Media do Brasil Editora Ltda

  • Capa
  • Editorial
  • Iacutendice
  • Cartas
  • Augusto Campos
  • Charly Kuumlhnast
  • Klaus Knopper
  • Zack Brown
  • Seguranccedila
  • Notiacutecias
  • Notiacutecias Corporate
  • A bossa da mobilidade
  • Software bem rodado
  • 100 de serviccedilo
  • Cezar Taurion
  • Ricardo Bimbo
  • Edgar Silva
  • Introduccedilatildeo de Capa
  • Bem arquitetado
  • Clientes espalhados servidores distribuiacutedos
  • Quase faz cafeacute
  • Produto importado
  • LPI niacutevel 2 Aula 11
  • Negoacutecio inteligente
  • Para conquistar o puacuteblico
  • Marionete
  • Domando o fogo
  • Tesouro
  • Linuxlocal
  • Serviccedilos
  • Na Linux Magazine 43
Page 5: © Linux New Media do Brasil Editora Ltda.

5

COLUNASAugusto Campos 08

Charly Kuumlhnast 10

Klaus Knopper 12

Zack Brown 14

NOTIacuteCIASSeguranccedila 16 Notiacutecias de inseguranccedila

Geral 18 Linux eacute feito por empresas

Sun homologaraacute Ubuntu

Linux em switches Cisco

BrOfficeorg 24

CORPORATENotiacutecias 20 Gartner SL em alta Windows em colapso

Microsoft cogita aquisiccedilatildeo hostil do Yahoo

Concorrente do ODF vira padratildeo ISO

Sun promete viacutedeo 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

TUTORIALProduto importado 49 Se for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte

do ADempiere eacute muito faacutecil usar o poderoso ambien-te de desenvolvimento Eclipse para importaacute-lo

LPI niacutevel 2 Aula 11 52 Configuraccedilatildeo do servidor BIND criaccedilatildeo e manuten-

ccedilatildeo de arquivos de zonas e ferramentas relacionadas

ANAacuteLISENegoacutecio inteligente 59 O ramo da Business Intelligence conta com poderosas fer-

ramentas e o SpagoBI se destaca entre as alternativas li-vres por sua modularidade e consequumlente flexibilidade

Para conquistar o puacuteblico 64 Em sua versatildeo 30 o Librix da Itautec atinge a maturidade para

ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientes

REDESMarionete 66 Aprenda a economizar tempo e agilize a administra-

ccedilatildeo de sistemas com ajuda do Puppet uma ferramen-ta de gerenciamento e configuraccedilatildeo centralizados

SEGURANCcedilADomando o fogo 71 Eacute verdade que firewalls devem ser administrados por es-

pecialistas Poreacutem ateacute esses profissionais podem se be-neficiar de uma interface praacutetica para essa tarefa

PROGRAMACcedilAtildeOTesouro 75 Programadores PHP podem economizar tem-

po e trabalho com o uso do trecho script ou clas-se perfeitos para usar em seus programas

SERVICcedilOSEditorial 03Emails 06Linuxlocal 78Eventos 80Iacutendice de anunciantes 80Preview 82

Linux Magazine 42 | Maio de 2008

| IacuteNDICELinux Magazine 42

copy Linux New Media do Brasil Editora Ltda

6 httpwwwlinuxmagazinecombr

Download do primeiro anoGostaria de informar que apesar de terem sido li-beradas para download as ediccedilotildees do ano passado natildeo haacute links para fazer esses downloads no site da revista A uacutenica alternativa mais oacutebvia do site eacute ten-tar baixar a versatildeo em PDF mas como antes o link direciona para o carrinho de compras

Diogo MunizResposta

Caro Diogo aparentemente falhamos na precisatildeo ao comunicarmos a liberaccedilatildeo do conteuacutedo do primei-ro ano da Linux Magazine e por isso vamos tentar corrigir esse erro agora

Estatildeo liberados individualmente todos os artigos de todas as ediccedilotildees do primeiro ano da Linux Maga-zine Ou seja qualquer artigo das ediccedilotildees 1 a 12 pode ser baixado gratuitamente em formato digital (PDF) a partir do site da Linux Magazine em httpwwwlinuxmagazinecombr no link Anteriores

O download de cada uma das ediccedilotildees de 1 a 12 completas e em formato digital permanece possiacutevel poreacutem sob o preccedilo normal (R$ 990)

O conteuacutedo das demais ediccedilotildees da Linux Maga-zine permanece com os tradicionais 30 liberados gratuitamente sob a forma de artigos individuais e ateacute o final de 2008 vamos liberar gradualmente 100 do conteuacutedo do segundo ano da revista (edi-ccedilotildees 13 a 24)

Pedimos sinceras desculpas pela falha de comu-nicaccedilatildeo e qualquer inconveniente que ela possa ter causado

CARTAS

sanj

a gj

ener

o ndash

ww

ws

xch

u

Emails para o editor

Permissatildeo de EscritaSe vocecirc tem duacutevidas sobre o mundo Linux criacuteticas ou sugestotildees que possam ajudar a melhorar a nossa revista escreva para o seguinte endereccedilo cartaslinuxmagazinecombr Devido ao volume de correspondecircncia eacute impossiacutevel responder a todas as duacutevidas sobre aplicativos configuraccedilotildees e problemas de hardware que chegam agrave Redaccedilatildeo mas garantimos que elas satildeo lidas e analisadas As mais interessantes satildeo publicadas nesta seccedilatildeo

Errata

Na paacutegina 65 da ediccedilatildeo 40 da Linux Magazine no artigo Montando a gestatildeo de Eduardo Montene-gro o exemplo 1 estaacute incorreto O correto eacute

O leitor Marcelo Saacutevio informou que diferente do que eacute afirmado na paacutegina 68 da ediccedilatildeo 39 da Li-nux Magazine no artigo Segredos graacuteficos sobre o utilitaacuterio de esteganografia Outguess o algoritmo RC4 natildeo eacute mais recomendaacutevel devido agraves vulnera-bilidades encontradas A quem desejar mais infor-maccedilotildees sobre esse algoritmo criptograacutefico o leitor sugere o link httpenwikipediaorgwikiRC4 Muito obrigado Marcelo

Exemplo 1 Compilaccedilatildeo do PLJava

01 $ sudo mkdir -p usrlocalsrcpljava02 $ sudo chown adempiere usrlocalsrcpljava03 $ tar xzvf pljava-src-140targz04 $ mv pljava-140 usrlocalsrcpljava05 $ cd usrlocalsrcpljava06 $ make07 $ sudo sh08 export PATH=$PATHusrlocalpgsqlbinusrlocaljdk150_14bin09 make install

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

8

COLUNA

httpwwwlinuxmagazinecombr

Acessibilidade em Software Livre

Augusto CamposEmbora qualquer pessoa possa vir a precisar de tecnologias assistivas ainda eacute pouca a atenccedilatildeo dispensada a esse campo no Software Livrepor Augusto Campos

Recentemente tive a oportunidade de participar da Comissatildeo de Programa de um evento de informaacutetica corporativa como parte de uma

banca na qual me cabia avaliar e classificar cerca de 80 trabalhos das mais variadas especialidades da Informaacutetica No decorrer dessa atividade avaliei po-sitivamente quanto agrave aplicabilidade vaacuterios trabalhos relacionados a tecnologias assistivas e acessibilidade mas tive a desagradaacutevel surpresa de constatar que na fase de discussatildeo os demais avaliadores sustentaram a posiccedilatildeo oposta a de que tecnologias assistivas inte-ressam a poucas pessoas portanto sua aplicabilidade deveria ser considerada baixa Resultado todos os trabalhos relacionados agrave acessibilidade acabaram ficando de fora do evento

A situaccedilatildeo estava fora do meu controle e laacute eu natildeo podia fazer nada a respeito mas agora vou contar com a compreensatildeo de vocecircs e usar nosso espaccedilo deste mecircs para falar um pouco sobre tecnologias assistivas em Software Livre

As tecnologias assistivas satildeo aquelas que oferecem recursos especiais de adaptaccedilatildeo assistecircncia e ateacute re-abilitaccedilatildeo para pessoas com necessidades especiais Isso eacute feito por intermeacutedio de meacutetodos diferenciados de interaccedilatildeo com tecnologias existentes permitin-do que essas pessoas possam realizar tarefas que de outro modo natildeo estariam a seu alcance

O nuacutemero de sistemas assistivos disponiacuteveis em Software Livre eacute crescente embora a atenccedilatildeo vol-

tada a eles nem sempre acompanhe a mesma ten-decircncia Essa eacute uma realidade que cada um de noacutes deveria se preocupar em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo ndash a acessibi-lidade a portadores de necessidades especiais vem sendo requisito cada vez mais exigido em softwares adotados por grandes corporaccedilotildees e pelos governos e a ausecircncia de uma oferta bem estruturada desse tipo de recurso jaacute foi justificativa para substituir Soft-ware Livre pelos seus equivalentes proprietaacuterios em telecentros municipais recentemente

Tambeacutem o niacutevel do suporte a tecnologias assisti-vas em Software Livre vem crescendo felizmente Agora aleacutem de contarmos com aplicativos espe-ciacuteficos como o vocalizador Festival e os drivers para displays em braille as versotildees recentes do Gnome passaram a oferecer o Orca sistema que integra os diversos recursos de acessibilidade dis-persos (vocalizadores displays braille ampliaccedilatildeo de tela etc) agraves aplicaccedilotildees disponiacuteveis no sistema operacional (com suporte a Firefox Thunderbird Pidgin BrOfficeorg e mais aleacutem da expansibili-dade atraveacutes de scripts)

Natildeo perco oportunidade de divulgar esse tipo de soluccedilatildeo especialmente a quem julga natildeo precisar delas ndash todos temos chance de um dia chegar a uti-lizaacute-las O Software Livre tem forte relaccedilatildeo com a ideacuteia de inclusatildeo digital e se cada administrador de sistemas e gestor de TI souber o que estaacute disponiacutevel nesse campo teremos possibilidade de empregaacute-las no momento certo e de prover o estiacutemulo neces-saacuterio para que seus desenvolvedores continuem investindo nelas

Sobre o autorAugusto Ceacutesar Campos eacute administrador de TI e desde 1996 manteacutem o site BR-linuxorg que cobre a cena do Software Livre no Brasil e no mundo

Essa eacute uma realidade que cada um de noacutes deveria preocupar-se em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

10 httpwwwlinuxmagazinecombr

Nload

Charly KuumlhnastMonitores de rede satildeo faacuteceis de encontrar mas o Nload eacute o uacutenico que separa traacutefego de entrada e saiacuteda e ainda desenha no consolepor Charly Kuumlhnast

Exibir o uso da rede numa interface natildeo eacute difiacutecil e existem inuacutemeras ferramentas para visuali-zar os valores Mas qual ferramenta oferece a

melhor representaccedilatildeo graacutefica dos valores medidos Os ldquoescovadores de bitrdquo certamente recomendariam a consulta direta aos dados no diretoacuterio proc mas essa obviamente natildeo eacute a soluccedilatildeo mais praacutetica

Tambeacutem podemos descartar todas as alternativas que dependam do X11 pois servidores geralmente natildeo possuem interfaces graacuteficas O IPTraf oferece os nuacutemeros necessaacuterios mas natildeo possui um recurso de histoacuterico O mesmo se aplica ao Iftop[1] embora ele informe quanto traacutefego sai e entra no parceiro de comunicaccedilatildeo

Para um raacutepido panorama minha ferramenta favo-rita eacute o Nload[2] Ele exibe o uso atual da rede para dados de entrada e saiacuteda dependendo do graacutefico sele-cionado (figura 1) Ao mesmo tempo oferece os valores meacutedios para um intervalo configuraacutevel O recurso de histoacuterico torna o uso do Nload um prazer natildeo haacute ris-co de perder um pico mesmo tirando os olhos da tela por um momento O paracircmetro de linha de coman-do -t ltvalorgt com valor em milissegundos permite a definiccedilatildeo do intervalo de atualizaccedilatildeo Por padratildeo o

Nload atualizaraacute sua tela duas vezes a cada segundo Na maioria dos casos uma configuraccedilatildeo mais espaccedilada eacute aceitaacutevel eu costumo usar -t 2000 uma atualizaccedilatildeo a cada dois segundos

Para manter os graacuteficos legiacuteveis eacute possiacutevel estabe-lecer limites para os traacutefegos de entrada e saiacuteda Se os dados excederem esse limite o Nload trunca o graacutefico permitindo a visualizaccedilatildeo de algo que esteja errado O limite-padratildeo eacute 10 Mbs mas pode ser modifica-do com -i ltvalorgt para a entrada e -o ltvalorgt para a saiacuteda O paracircmetro -s ltvalorgt com valor entre 1 e 9 possibilita a manipulaccedilatildeo dos valores meacutedios Quanto menor o nuacutemero mais curto eacute o intervalo para caacutelculo das meacutedias O valor 9 eacute o padratildeo Outro recurso inte-ressante eacute a possibilidade de modificar paracircmetros criacuteticos em tempo de execuccedilatildeo ndash incluindo a interface a ser monitorada Pressionar [O] enquanto o Nload estaacute rodando exibe um menu de opccedilotildees As alteraccedilotildees satildeo aplicadas no mesmo momento

O paracircmetro -m eacute uacutetil para servidores com muacuteltiplas interfaces ele informa o Nload para exibir o uso de muacuteltiplas interfaces ao mesmo tempo apesar de ser perdida a possibilidade de desenhar histogramas com o uso dessa opccedilatildeo

COLUNA

Mais informaccedilotildees

[1] Iftop httpwwwex-parrotcompdwiftop

[2] Nload httpwwwroland-riegeldenload

Figura 1 Os graacuteficos do Nload do Charly satildeo impressionantes

Sobre o autorCharly Kuumlhnast eacute administrador de sistemas Unix no datacenter Moers perto do famoso rio Reno na Alemanha Laacute ele cuida principalmen-te dos firewalls

copy Linux New Media do Brasil Editora Ltda

- Conexotildees Ilimitadas - Windows e Linux - Windows e Linux

Gab

arit

o

Suas mensagens entregues sem filas

E-mail marketingE-mail marketing Plug In

A ferramenta de relacionamento por e-mail mais poderosa do mercado

Contrate online

wwwplugincombrLigue e contrate

4003-1001

Powered by

por apenasR$4250

anunciodedicadoindd 1 41408 95432 AM

copy Linux New Media do Brasil Editora Ltda

12

COLUNA

httpwwwlinuxmagazinecombr

Pergunte ao Klaus

Klaus Knopper O criador do Knoppix responde agraves mais diversas perguntas dos leitores por Klaus Knopper

Wifi num Pavilion Prezado Klaus eu adoro sua coluna na Linux Magazine Ela jaacute me ajudou vaacuterias vezes e sem-pre aprendo muito Estou usando o openSUSE 103 num notebook HP Pavilion da seacuterie dv6000 (comprei no Natal e estou amando a maacutequina) Tudo funciona perfeitamente sem necessidade de alteraccedilotildees em arquivos de configuraccedilatildeo ex-ceto por um problema a rede sem fio

Jaacute procurei e conversei pela Internet visitei o site do driver e tentei tudo que consegui imaginar para resolver esse problema ndash desde o NDISwrap-per ateacute o comando install_fwcutter_43xx

Aleacutem disso recentemente postei um bug no site da minha distribuiccedilatildeo mas natildeo recebi qual-quer resposta

Os programas de conexatildeo sem fio como KNe-tworkManager KWiFi-Manager e iwconfig en-xergam a placa de rede sem fio assim como seu moacutedulo mas ela natildeo recebe sinal do roteador Jaacute verifiquei o equipamento e tentei me conec-tar a outros roteadores mas sempre acontece a mesma coisa

Obrigado por qualquer ajuda que vocecirc possa me dar e tambeacutem por toda a ajuda que daacute a todos que lecircem sua coluna E obrigado tambeacutem a todo o pessoal que faz a revista vocecircs satildeo oacutetimos

Resposta O seu problema talvez seja resolvido pelos

drivers de rede sem fio incluiacutedos no kernel 2624 que sempre oferecem suporte ao inter-ruptor da rede sem fio ( wifi switch ) presente em alguns notebooks Esse interruptor costu-ma impedir o funcionamento da rede sem fio porque simplesmente desliga a antena e conse-quumlentemente nenhum sinal eacute recebido mesmo que o driver e o hardware estejam funcionando perfeitamente

Como vocecirc disse ainda seraacute necessaacuterio ins-talar o firmware do adaptador de rede sem fio caso contraacuterio ele somente mostraraacute mensagens engraccediladas nos logs do sistema

O exemplo 1 mostra um trecho do arquivo de log que vocecirc me enviou Esse log confirma que o moacutedulo bcm43xx que vocecirc possui eacute adequado para a sua versatildeo do kernel mas o firmware desse adaptador natildeo estaacute presente

Provavelmente eacute possiacutevel obter esse firmware a partir de vaacuterios locais na Internet mas tambeacutem se pode extraiacute-lo de um adaptador que jaacute o pos-sua usando o programa bcm43xx-fwcutter que vocecirc mencionou

Quando vocecirc conseguir uma coacutepia do firm-ware necessaacuterio deve colocaacute-lo em usrlibho-tplugbcm43xx_microcode5fw (dependendo da sua distribuiccedilatildeo talvez tambeacutem em libfirmwarebcm43xx_microcode5fw ) em que seraacute automatica-mente carregado durante a inicializaccedilatildeo do sis-tema no momento em que o adaptador de rede sem fio for detectado e ativado

Sobre o autorKlaus Knopper eacute o criador do Knoppix e co-fundador do evento Linux Tag Atual-mente ele trabalha como professor progra-mador e consultor

Exemplo 1 Log do sistema (trecho)

Jan 6 052623 linux kernel bcm43xx PHYconnectedJan 6 052623 linux kernel bcm43xxError Microcode ldquobcm43xx_microcode5fwrdquonot available or load failedJan 6 052623 linux kernel bcm43xx core_up for active 80211 core failed (-2)Jan 6 052623 linux firmwaresh[5865]Cannot find firmware file lsquobcm43xx_microcode5fwrsquo

copy Linux New Media do Brasil Editora Ltda

REA

LIZA

CcedilAtildeO

PRO

MO

CcedilAtildeO

O Ecossistema de Negoacutecios em Software Livre no Brasil

2008PA

TRO

CIN

AD

ORE

S EM

200

7

copy Linux New Media do Brasil Editora Ltda

14 httpwwwlinuxmagazinecombr

Crocircnicas do kernel

Zack BrownLinus muda mais uma vez a poliacutetica de desenvolvimento do kernel desfazendo-se da tarefa de garantir total estabilidadepor Zack Brown

Inclusatildeo de drivers mais raacutepidaRecentemente Linus Torvalds reduziu os empeci-lhos para incluir coacutedigo no kernel Quando o Linux comeccedilou uma das maiores prioridades de Torvalds era encorajar contribuiccedilotildees Para isso ele reforccedilou a resposta a qualquer patch aceitando diversos de-les e ateacute mesmo publicando estatiacutesticas manuais sobre aqueles recebidos Conforme as contribuiccedilotildees aumentaram no final da deacutecada de 1990 a rapidez nas respostas de Linus diminuiu e ele ficou mais propenso a simplesmente ignorar patches caso natildeo gostasse deles Ele tambeacutem comeccedilou a insistir que os algoritmos dos patches fossem bonitos e que dife-rentes partes do kernel se comunicassem de formas naturais para elas

Quando Linus adotou as aacutervores ldquoestaacutevelrdquo e ldquode desenvolvimentordquo manteve a insistecircncia no bom gosto e tornou-se ainda mais estrito no ciclo ldquoes-taacutevelrdquo Com a estruturaccedilatildeo do envio de coacutedigos do kernel em uma hierarquia de mantenedores e ldquotenentesrdquo Linus comeccedilou a criar uma cultura de aderecircncia a suas preferecircncias pessoais de escrita de coacutedigo na qual outras pessoas que compreendes-sem seus gostos podiam atuar como guardas aleacutem de realizar o trabalho teacutecnico de escrever e revisar os coacutedigos em busca de falhas

Durante a aacutervore 26 Linus abandonou as mu-danccedilas um tanto desconfortaacuteveis entre as aacutervores estaacutevel e de desenvolvimento Entatildeo ele reinstituiu um conjunto de micro-forks para o desenvolvimen-to estaacutevel no qual a aacutervore 26 principal jamais sai da fase de desenvolvimento e cada versatildeo gera um novo fork estaacutevel A decisatildeo de abandonar os ciclos originais de estabilidade e desenvolvimento marca-ram uma eacutepoca de avaliaccedilatildeo de uma grande varie-dade de problemas Uma das principais justificativas para a mudanccedila foi a de que as distribuiccedilotildees Linux sempre aplicavam seus proacuteprios patches sobre as versotildees oficiais do kernel

Como o ocircnus de oferecer estabilidade sempre recaiacutea sobre as distribuiccedilotildees Linus lhes impocircs for-malmente essa obrigaccedilatildeo livrando-se dessa tarefa A decisatildeo indicou uma nova abordagem para o desenvolvimento do kernel ndash sem abandonar a necessidade de estabilizar aspectos do kernel mas ainda dando maior liberdade aos contribuidores

Agora Torvalds comeccedilou a aceitar patches de drivers com problemas oacutebvios Recentemente Adrian Bunk reclamou de um envio de driver que foi aceito no kernel apesar de conter mais de 250 erros de checkpatch e mais de 2000 avisos Antiga-mente esses problemas precisavam ser solucionados antes que um driver fosse aceito na aacutervore Parte da justificativa de Linus para a mudanccedila na poliacutetica eacute o reconhecimento de que eacute muito mais provaacutevel que um coacutedigo seja testado e consertado dentro da aacutervore oficial do que fora dela

Aleacutem disso supotildee-se que o usuaacuterio meacutedio use o kernel de sua distribuiccedilatildeo e natildeo o oficial enquan-to os desenvolvedores satildeo os usuaacuterios primaacuterios da versatildeo oficial e conseguem lidar melhor com drivers mais feios e menos polidos

Linus lembra que essa nova poliacutetica visa ao coacutedigo de drivers que por definiccedilatildeo satildeo perifeacutericos em relaccedilatildeo ao corpo principal do coacutedigo Ele diz que eacute importante que os drivers sejam bem testados antes de entrarem no kernel O liacuteder do desenvolvimento do Linux natildeo estaacute tatildeo preocupado com o visual do coacutedigo mas quer garantir que ele funcione e natildeo quebre nem cause per-da de dados aos usuaacuterios

COLUNA

Sobre o autorA lista de discussatildeo Linux-kernel eacute o nuacutecleo das atividades de desenvolvimento do kernel Zack Brown consegue se perder nesse oce-ano de mensagens e extrair significado Sua newsletter Kernel Traffic esteve em atividade de 1999 a 2005

copy Linux New Media do Brasil Editora Ltda

Acesse agora wwwrevistaesylinuxcombrPeccedila pelo telefone 11 4082-1300

Jaacute nas bancaspor apenas R$990

Easy Linux traz todos os meses notiacutecias tutoriais de programas e jogos dicas e tudo que o usuaacuterio iniciante precisa saber para usar Linux em casa e no trabalho

Com linguagem simples e abrangente EasyLinux eacute a leitura obrigatoacuteria para quem quer ldquodesbravarrdquo o software livre

EasyLinux leia para saber

por apenas R$990

por apenas R$990

por apenas R$990

por apenas R$990

copy Linux New Media do Brasil Editora Ltda

16

SE

GU

RA

NCcedil

A

httpwwwlinuxmagazinecombr

Figura 1 O gato natildeo estaacute vivo nem morto ateacute que se olhe dentro da caixa

Notiacutecias de InseguranccedilaTodos noacutes jaacute passamos por isso

na verdade muitos passaram recentemente Vocecirc acorda

e encontra um email do Bugtraq ou do Full-Disclosure ou talvez uma noti-ficaccedilatildeo do seu fornecedor a respeito de uma atualizaccedilatildeo de seguranccedila ndash uma atualizaccedilatildeo que afeta quase todos os seus sistemas e cujo exploit jaacute estaacute dis-poniacutevel haacute vaacuterios dias[1]

Obviamente podemos facilmente empregar o poder do Coacutedigo Aberto e nos gabar da velocidade com que os desenvolvedores do kernel con-sertaram a vulnerabilidade permi-tindo que os fornecedores provessem atualizaccedilotildees rapidamente

Ou eu poderia ainda falar da im-portacircncia de fazer um inventaacuterio de seus sistemas e ter um sistema de ge-renciamento de patches para aplicaacute-los prontamente Poreacutem a questatildeo eacute que todos os sistemas satildeo vulneraacuteveis o tempo inteiro Permita-me repetir soacute para assegurar que ningueacutem pense que me confundi todos os sistemas satildeo vulneraacuteveis o tempo inteiro

Falhas de seguranccedila satildeo bem se-melhantes ao gato de Schroumldinger nem vivo nem morto ateacute que seja verificado[2] (figura 1) Da mesma forma podemos perguntar se as vul-nerabilidades de seguranccedila aparecem do nada como por maacutegica quando algueacutem as observa colapsando o es-tado quacircntico de probabilidade da vulnerabilidade em questatildeo para um estado conhecido Ou seja en-quanto ningueacutem reconhece uma vulnerabilidade (e mais importan-te enquanto ningueacutem possui um exploit para ela) ela natildeo existe Isso tambeacutem eacute conhecido como a teoria da ldquoaacutervore que cai na florestardquo em seguranccedila da informaccedilatildeo

Tambeacutem seria possiacutevel argumen-tar de forma alternativa que mes-mo sem sabermos ao certo quan-do o isoacutetopo decairaacute acionando a liberaccedilatildeo do gaacutes venenoso ele vai decair e provavelmente mais cedo do que se desejaria

A verdade eacute que um sistema mo-derno possui tanto coacutedigo instalado e em execuccedilatildeo que eacute provaacutevel que alguma vulnerabilidade exploraacutevel venha a ser encontrada e usada para comprometer o sistema Entatildeo o que vocecirc pode fazer

Planos futurosAssim como no velho ensinamento ldquoplaneje-se para o pior mas espere o melhorrdquo eacute obrigatoacuterio planejar-se para o caso de falhas no sistema de seguranccedila Todos os conselhos-padratildeo a respeito de aumento de seguranccedila de sistemas criaccedilatildeo de camadas de seguranccedila e limitaccedilatildeo de acesso e privileacutegios sempre que possiacutevel ainda satildeo bons conselhos mas simplesmente natildeo consegue mresponder agrave pergunta o que fazer quando sua seguranccedila falha

Melhores praacuteticasPor ser praticamente inevitaacutevel que seus sistemas estejam vulneraacuteveis em algum momento ndash provavelmente durante um periacuteodo em que haacute aces-so puacuteblico pelo exploit ndash eles prova-velmente estaratildeo comprometidos Um exemplo perfeito disso eacute o site seifriedorg O SELinux estava ativo impedindo a exploraccedilatildeo de todas as vulnerabilidades de seguranccedila mas tambeacutem evitando o funcionamento correto de vaacuterios softwares de tercei-ros Apoacutes brigar um tempo contra o SELinux desisti e desativei-o

Esse foi meu primeiro erro por dois motivos Primeiro ao desati-var o SELinux facilitei muito a in-vasatildeo do meu sistema reduzindo tambeacutem a quantidade de logs que seriam gerados em caso de invasatildeo Se for preciso desativar o SELinux ao menos use o modo permissivo que registra as violaccedilotildees

Meu segundo erro foi a claacutessica preguiccedila administrativa Para faci-litar a administraccedilatildeo do sistema eu havia estabelecido relaccedilotildees de confianccedila no SSH entre minhas maacutequinas e tambeacutem ativado o acesso por sudo sem a requisiccedilatildeo de uma senha

Entatildeo uma vez que o agressor conseguisse invadir um sistema e ganhasse acesso agrave conta de admi-nistraccedilatildeo ele teria acesso a todos os meus sistemas Portanto quando um dos meus sistemas foi compro-metido acabei tendo que reinstalar todos eles pois tinha certeza de que todos haviam sido modificados Com frequumlecircncia essa falha de projeto tam-beacutem ocorre com firewalls e outros mecanismos de seguranccedila As organi-zaccedilotildees implementam uma seguranccedila externa bem riacutegida mas falham ao implementar a seguranccedila interna deixando um nuacutecleo apetitoso para os invasores desfrutarem

por Kurt Seifried

copy Linux New Media do Brasil Editora Ltda

17

| NOTIacuteCIASSeguranccedila

Linux Magazine 42 | Maio de 2008

Melhores registrosComo disse eu havia desativado o SELinux em vez de deixaacute-lo no modo permissivo Com o espaccedilo em disco sendo relativamente barato atualmen-te raramente faz sentido apagar logs para economizar espaccedilo

Aleacutem disso com a facilidade de criar um sistema de logs pela rede com o Syslog natildeo existe desculpa para natildeo usar um log centralizado (dificultando assim a eliminaccedilatildeo dos rastros de um eventual invasor) Entretanto note que muitos ataques deixaratildeo poucas mensagens significativas nos logs

Frequumlentemente uma mensa-gem informando que o programa servidor fechou seraacute o uacutenico indiacute-cio da invasatildeo o que dificilmente garante uma investigaccedilatildeo completa da ocorrecircncia

Ter um rastro confiaacutevel para au-ditoria pode significar a diferenccedila

entre precisar reinstalar todo um grupo de maacutequinas e apenas limpar uma delas Manter logs tambeacutem eacute importante para fornecer as infor-maccedilotildees necessaacuterias para consertar um sistema Simplesmente retornar um sistema a seu estado original natildeo impediraacute que o agressor faccedila uma nova invasatildeo

BecapeOs becapes costumam ser um dos as-pectos mais negligenciados pela segu-ranccedila da informaccedilatildeo Poreacutem eles satildeo cruciais para garantir que os sistemas possam ser reinstalados corretamente e os dados possam ser recuperados Se vocecirc natildeo fizer becape de nada mais ao menos faccedila um de seus da-dos e assegure-se de guardaacute-lo longe da maacutequina Aleacutem disso ter sistemas de recuperaccedilatildeo que funcionem eacute tatildeo importante quanto todo o becape

Mais Informaccedilotildees

[1] SecurityFocus vulnerabilidade em copy_from_user_mmap_sem() httpwwwsecurityfocuscombid27796

[2] Gato de Schroumldinger httpptwikipediaorgwikiGato_de_SchrC3B6dinger

Sobre o autorKurt Seifried eacute Consultor de Seguranccedila da Informaccedilatildeo especializado em Linux e re-des desde 1996 Ele eacute casado e tem qua-tro gatos mas nenhum peixe (porque os ga-tos tecircm mais fome que medo de aacutegua) Ele sempre se pergunta como essa tecnologia funciona em larga escala mas frequumlente-mente falha em escalas menores

Com muita frequumlecircncia jaacute vi be-capes funcionarem perfeitamente ateacute serem necessaacuterios aleacutem de imagens de recuperaccedilatildeo de baixo niacutevel incompatiacuteveis com o hard-ware substituto ou dados exporta-dos corrompidos e incompletos Por exemplo tenho um script de becape que estava falhando silen-ciosamente haacute trecircs meses porque eu havia deixado de lado a opccedilatildeo ldquosobrescrever arquivos mais anti-gosrdquo e entatildeo todos os arquivos alterados natildeo haviam recebido a coacutepia de seguranccedila

Preacute-funeralUma das praacuteticas mais poderosas que jaacute vi eacute conduzir um ldquopreacute-fu-neralrdquo Em essecircncia o administra-dor finge que o sistema jaacute falhou Ter uma ideacuteia do que fazer nessa situaccedilatildeo ajuda a evitar a confusatildeo caso isso de fato aconteccedila e tam-beacutem pode oferecer ideacuteias de accedilotildees preventivas a serem tomadas tais como usar firewalls em todos os computadores independente de a maacutequina estar ou natildeo conectada a uma rede puacuteblica

ConclusatildeoDa mesma forma que o sistema comprometido natildeo importa de ver-dade se o gato estaacute vivo ou morto Em algum momento o gaacutes veneno-so seraacute liberado o gato morreraacute e o local comeccedilaraacute a cheirar mal

O truque eacute encontrar formas efi-cazes de lidar com falhas para que se consiga retornar ao trabalho de forma raacutepida e segura

Dica de invasatildeo MySQL

Um meacutetodo comumente usado para zerar uma senha de root do MySQL perdida eacute usar a opccedilatildeo --skip-grant-tables que carrega o banco de dados sem qualquer proteccedilatildeo Se for necessaacuterio usar esse meacutetodo use tambeacutem --skip_networking para permitir somente conexotildees locais Com ela usuaacute-rios locais ainda conseguiriam conectar-se portanto assegure-se de desco-nectaacute-los tambeacutem

Talvez um meacutetodo melhor seja usar a opccedilatildeo --init file que lecirc comandos SQL deste arquivo na inicializaccedilatildeo Cada comando deve estar numa uacutenica linha e natildeo deve incluir comentaacuterios

Entatildeo basta criar um arquivo texto (zera-senhatxt) com um comando SQL para alterar a senha de root

SET PASSWORD FOR lsquorootrsquorsquolocalhostrsquo = PASSWORD(lsquoNovaSenharsquo)

e em seguida iniciar o mysqld com a opccedilatildeo --init-file zera-senhatxt Depois de carregar o arquivo simplesmente reinicie o MySQL normalmente e entre com a nova senha

copy Linux New Media do Brasil Editora Ltda

18

NO

TIacuteC

IAS

httpwwwlinuxmagazinecombr

Linux eacute feito por empresas

Sun homologaraacute Ubuntu Mark Shuttleworth fundador da Canonical empresa responsaacutevel pelo Ubuntu afi rmou que a Sun demons-trou interesse em homologar essa distribuiccedilatildeo em seus servidores A accedilatildeo seria muito importante para a em-presa sul-africana cuja distribuiccedilatildeo passaria a concorrer contra os pesos-pesados das distribuiccedilotildees corporativas (as chamadas Enterprise ) Red Hat Enterprise Linux e No-vell Suse Linux Enterprise Server ambas com modelos baseados em subscriccedilatildeo diferentemente do Ubuntu

A Canonical jaacute oferece suporte comercial ao Ubun-tu instalado em determinadas maacutequinas da Sun O que muda agora eacute a homologaccedilatildeo por parte da fa-bricante do hardware

A Linux Foundation publicou um novo relatoacuterio a res-peito do desenvolvimento do Linux intitulado ldquoLinux Kernel Development ndash How Fast it is Going Who is Doing It What They are Doing and Who is Sponso-ring Itrdquo (Desenvolvimento do Kernel Linux ndash com que velocidade estaacute ocorrendo quem o estaacute fazendo o que eles tecircm feito e quem fi nancia O estudo foi feito com base nos uacuteltimos trecircs anos do desenvolvimento do kernel Linux ndash abrangendo desde a versatildeo 2611 ateacute a 2624 ndash e revela que a maior parte dos desenvolvedores do kernel satildeo pagos por grandes companhias como IBM Intel Linux Foundation MIPS Technology MontaVista Movial NetApp Novell e Red Hat

Ao longo dos anos o nuacutemero de desenvolvedores do Linux tem crescido consideravelmente Pela anaacutelise a versatildeo mais recente do kernel (2624 na liberaccedilatildeo do estudo) teve 1057 desenvolvedores registrados O estudo informa que entre 70 e 95 dos desenvolvedores pagos para trabalhar com o Linux nos uacuteltimos trecircs anos satildeo funcionaacuterios dessas empresas Mostra tambeacutem que atual-mente a relaccedilatildeo das grandes empresas com o Linux eacute bastante proacutexima Os investimentos em Coacutedigo Aber-to portanto estatildeo diretamente relacionados ao modus operandi dessas empresas e jaacute incorporados agrave ldquocorrida armamentistardquo do mundo dos negoacutecios

O relatoacuterio da Linux Foundation sobre as contribui-ccedilotildees ao Linux exibe tambeacutem um nuacutemero elevado de contribuiccedilotildees de desenvolvedores individuais ao siste-ma Poreacutem a quantidade de pessoas que realmente faz o trabalho ldquobraccedilalrdquo eacute bem pequena Nos uacuteltimos trecircs anos os dez desenvolvedores que mais contribuiacuteram para o kernel somam 15 de todo esse trabalho Se au-

mentada a margem levando em conta os 30 maiores desenvolvedores esse nuacutemero sobe para 30

Assim foi estabelecido um ranking das empresas mais atuantes no kernel Um dos destaques eacute a Novell que au-mentou em 300 sua participaccedilatildeo nos uacuteltimos trecircs anos A empresa passou de 36 para 144 do total de contribuiccedilotildees realizadas Isso a coloca em segundo lugar logo atraacutes da Red Hat

Ranking

As companhias que de fato constroem o Linux consi-derando sua contribuiccedilatildeo para o kernel satildeo Red Hat (112) Novell (89) IBM (83) Intel (41) Linux Foundation (35) SGI (20) MIPS Technology (16) Oracle (13) MontaVista (12) e Linutronix (10) A participaccedilatildeo dessas empresas no desenvolvimento do Linux tem sua razatildeo de ser Red Hat Novell e MontaVista possuem motivos claros as trecircs desenvolvem e comer-cializam sistemas Linux As demais companhias traba-lham no kernel para garantir que o Linux rode correta-mente em seus hardwares na intenccedilatildeo de tornar seus produtos mais atraentes para os usuaacuterios Linux e com isso aumentar suas vendas

Outras empresas que desenvolvem o Linux como Sony Nokia e Samsung satildeo conhecidas por embar-carem o sistema aberto como um componente de seus proacuteprios produtos (como cacircmeras de viacutedeo te-levisores e telefones moacuteveis) Sua participaccedilatildeo no de-senvolvimento do kernel busca um investimento de meacutedio a longo prazo Essas empresas desejam ga-rantir que o sistema do pinguumlim continue a ser uma base soacutelida para seus produtos no futuro

18copy Linux New Media do Brasil Editora Ltda

19

| NOTIacuteCIASGerais

Linux Magazine 42 | Maio de 2008

BrOfficeorg 24Apoacutes uma espera relativamente longa a nova versatildeo do BrOfficeorg finalmente estaacute disponiacutevel para download Satildeo vaacuterias as novidades que se destacam nesse salto de versatildeo entre elas me-lhorias na geraccedilatildeo de documentos PDF mudanccedila da fonte-padratildeo para a famiacutelia DejaVu melhorias gerais no acesso a banco de dados (MySQL Oracle JDBC etc) e inclusatildeo de suporte nativo ao formato proprietaacuterio do aplicativo de bancos de dados do MS Access 2007

A interface dos programas tambeacutem apresenta algumas mudanccedilas A seleccedilatildeo do idioma no corretor ortograacutefico estaacute mais simples novos atalhos de teclado foram criados

para a definiccedilatildeo de estilos de paraacutegrafo e os blocos de ceacutelulas do Calc podem ser copiados e movidos mais facilmente pela planilha Na janela de impressatildeo as opccedilotildees avanccediladas podem ser ocultadas uma vez que raramente precisam ser alteradas

Linux em switches CiscoA Cisco atraveacutes de sua nova plataforma Application Extension Platform (AXP) converteu vaacuterios mode-los de seus switches para servidores de aplicaccedilotildees Linux Os novos servidores vecircm embarcados com bibliotecas C Java e Perl certificadas Com isso os desenvolvedores seratildeo capazes de usar um kit de desenvolvimento (SDK) para construir aplicativos para o novo sistema

Os servidores AXP vecircm equipados com proces-sadores de arquitetura x86 (o mais recente traz um Pentium 14 GHz) e satildeo capazes de executar uma distribuiccedilatildeo Linux proacutepria com kernel 26143 e bibliotecas compatiacuteveis com o Fedora Core 4 A dis-tribuiccedilatildeo particular da Cisco foi desenvolvida exata-mente para rodar sobre esse hardware que in-clui 2 GB de memoacuteria RAM e discos riacutegidos de 160 GB

copy Linux New Media do Brasil Editora Ltda

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Gartner SL em alta Windows em colapso De acordo com estudo realizado pelo Gartner em apenas alguns anos praticamente todos os tipos de negoacutecios estaratildeo utilizando Coacutedigo Aberto mesmo que os gerentes de TI dessas mesmas empresas ignorem essa tecnologia e prefi ram utilizar apenas a de software como serviccedilo ( SaaS ) O mesmo estu-do informa que ateacute 2012 todas as empresas estaratildeo utilizando Coacutedigo Aberto de forma embarcada

De acordo com Mark Taylor presidente do grupo de promoccedilatildeo do Open Source Consortium ldquoinfe-lizmente o Gartner estaacute subestimando o Coacutedigo Abertordquo Ele informa que atualmente todos estatildeo utilizando Coacutedigo Aberto como serviccedilo ndash o princi-pal exemplo eacute o do Google Ainda de acordo com Taylor o Gartner natildeo percebeu que uma licenccedila livre faz mais que apenas reduzir o custo total de propriedade (TCO) ndash ela fornece muitos outros benefiacutecios tambeacutem a quem a utiliza

Mesmo sabendo que o custo da licenccedila representa apenas 3 do valor do projeto algumas empresas continuam baseando suas vendas nesse detalhe tornando-se limitadas Poreacutem quando essa limi-taccedilatildeo eacute eliminada a abrangecircncia do projeto pode se expandir para diversas outras esferas ndash tudo isso sem custo adicional Esse fenocircmeno se deve prin-cipalmente ao fato de o Coacutedigo Aberto fornecer

grande escalabilidade a um custo zero de transaccedilatildeo para qualquer aplica-

ccedilatildeo em que se queira investir

Microsoft em risco Ao mesmo tempo os analistas do Gartner afir-maram que o sistema Windows corre perigo pondo em risco tambeacutem a Microsoft Em sua conferecircncia ldquoEmerging Trendsrdquo analistas de TI do Gartner afirmaram que os esforccedilos da Mi-crosoft em relaccedilatildeo ao Windows natildeo trouxeram resultados Os motivos disso de acordo com os analistas incluem os ciclos de desenvolvimento extremamente longos e as limitadas inovaccedilotildees trazidas a cada nova versatildeo do sistema opera-cional liacuteder em vendas aleacutem da experiecircncia de uso inconsistente entre diferentes versotildees Segundo mateacuteria da PC World no lado dos ad-ministradores cada nova interaccedilatildeo do sistema traz novas questotildees de incompatibilidade com aplicativos resultando no aumento dos custos de gerenciamento e reduzindo o valor do pro-duto da gigante de Redmond

As criacuteticas ao sistema da Microsoft natildeo pararam por aiacute Os analistas do Gartner levantaram ques-totildees teacutecnicas desde a complexidade do Windows sua falta de modularidade seus trechos de coacutedigo com 20 anos de idade e os elevados requisitos de hardware ateacute a difusatildeo do uso de aplicativos web e multi-plataforma

Essas questotildees conduziratildeo os consumidores de acordo com os analistas agrave adoccedilatildeo de outros sistemas garantindo um futuro proacutespero ao Coacute-digo Aberto A saiacuteda para o Windows segundo o Gartner seria uma versatildeo do Vista ainda mais modularizada apesar das alegaccedilotildees de grande modularizaccedilatildeo no sistema feitas pela Microsoft Uma soluccedilatildeo especiacutefica para a retrocompatibili-dade dos aplicativos residiria na virtualizaccedilatildeo de sistemas e componentes No entanto adverte o instituto de pesquisa natildeo devemos esperar mu-danccedilas raacutepidas da Microsoft junto aos negoacutecios bilionaacuterios do Windows

Cars

ten

Muumll

ler -

ww

ws

xch

u

20copy Linux New Media do Brasil Editora Ltda

21

| CORPORATENotiacutecias

Linux Magazine 42 | Maio de 2008 21

21

Sun promete viacutedeo livre Rob Glidden da Sun Microsystems infor-mou em seu blog a respeito de dois novos projetos de Coacutedigo Aberto da empresa que deveratildeo resultar em uma soluccedilatildeo livre para multimiacutedia via Web incluindo codecs de aacuteudio e viacutedeo No contexto da iniciativa Open Media Commons (OMC) a Sun estaacute trabalhando atualmente no OMS Video ndash segundo Glidden a sigla OMS pode signifi car tanto Open Media Stack quanto Open Media System Assim como ocorre com o formato Flash da Adobe a soluccedilatildeo da Sun deveraacute encapsular um codec de aacuteudio e um de viacutedeo ao mesmo tempo em que cuida do controle e do trans-porte de dados bem como de aspectos de seguranccedila do conteuacutedo Os desenvolvedo-res do codec de Coacutedigo Aberto natildeo estatildeo considerando apenas suas caracteriacutesticas teacutecnicas como velocidade e qualidade questotildees como a aderecircncia da licenccedila do sistema agraves premissas do Software Livre ausecircncia de custos com licenciamento e a criaccedilatildeo de coacutedigos e meacutetodos que natildeo infrinjam nenhuma patente tambeacutem satildeo requisitos do projeto O desenvolvimento do OMS eacute pautado pela poliacutetica de direitos de propriedade intelectual adotada pela Organizaccedilatildeo Mundial do Comeacutercio que natildeo se restringe simplesmente agrave adoccedilatildeo de uma licenccedila proacutepria ndash a Common Development and Distribution License (CDDL) que permite uma combinaccedilatildeo de software de coacutedigo aberto e proprietaacute-rio ndash mas utiliza tambeacutem Digital Rights Management (DRM)

O codec de viacutedeo deveraacute ser baseado nas especifi caccedilotildees do pa-dratildeo H26x ndash mas sem se limitar a elas Como formato de aacuteudio os de-senvolvedores estatildeo considerando o formato Xiph Vorbis A Sun preferiu natildeo adotar o formato H264 por natildeo consideraacute-lo sufi cientemente livre Pro-jetos que tenham objetivos similares como Vorbis Theora e Dirac natildeo satildeo considerados concorrentes mas ldquofacilitadoresrdquo Glidden no entanto natildeo revelou em quanto tempo o produto fi nal deve estar disponiacutevel

Microsoft cogita aquisiccedilatildeo hostil do Yahoo Apoacutes ter por reiteradas vezes afi rmado que a aquisiccedilatildeo do Yahoo eacute im-prescindiacutevel para os planos de expansatildeo da companhia na concorrecircncia contra o Google a Microsoft em carta redigida pelo CEO Steve Ball-mer enviou no iniacutecio de abril um ultimato agrave empresa de Jerry Yang caso natildeo cheguem a um acordo com a cuacutepula diretora da empresa nas proacuteximas trecircs semanas a Microsoft deveraacute recorrer aos acionistas e partir para uma aquisiccedilatildeo hostil

Na carta Steve Ballmer advertiu a direccedilatildeo do Yahoo de que no caso de uma accedilatildeo hostil a oferta da Microsoft poderaacute ser menor devido agrave reduccedilatildeo nos valores das accedilotildees das duas empresas ocorrida recentemente Adicional-mente a Microsoft pretende exercer pressatildeo sobre a diretoria do Yahoo atraveacutes de seus proacuteprios representantes no conselho diretor da empresa Ateacute entatildeo a empresa fundada por Bill Gates havia tentado chegar a um acordo por vias paciacutefi cas no intuito de evitar um processo de aquisiccedilatildeo hostil longo (e possivelmente caro) bem como para preservar as equipes das duas empresas para quando ocorrer a fusatildeo Entretanto segundo Ball-mer as reuniotildees realizadas ateacute agora foram infrutiacuteferas

Ballmer argumentou ainda no docu-mento que o Yahoo teria perdido espaccedilo no mercado de maacutequinas de busca na Internet e que a situaccedilatildeo fi nanceira da companhia teria piorado desde que a oferta foi feita

Concorrente do ODF vira padratildeo ISO A Organizaccedilatildeo Internacional de Padronizaccedilatildeo ISO aprovou no dia 1ordm de abril com 75 dos votos vaacutelidos dos membros P a homologaccedilatildeo do formato de documentos de escritoacuterio Offi ce Open XML de autoria da Microsoft como um padratildeo internacional A aceitaccedilatildeo do formato como padratildeo ocorreu na segunda tentativa da empresa de Steve Ballmer junto ao oacutergatildeo internacional e apoacutes sua aprovaccedilatildeo pelo ECMA oacutergatildeo europeu de padronizaccedilatildeo de sistemas de comunicaccedilatildeo e informaccedilatildeo

O Brasil representado pela ABNT (Associaccedilatildeo Brasileira de Normas Teacutecnicas) votou assim como na primeira avaliaccedilatildeo contra a aprovaccedilatildeo do OOXML ndash como eacute chamado o formato ndash devido a inuacutemeras questotildees teacutecnicas no documento ofi cial que descreve o formato

Votaram como o Brasil o Canadaacute e a China aleacutem de Cuba Equa-dor Iacutendia Iratilde Nova Zelacircndia Aacutefrica do Sul e Venezuela totalizando oito votos de membros P (participantes) e dois de membros O (observadores incluindo o Brasil) da ISO Diversos paiacuteses se abstiveram muitos deles emitindo comentaacuterios a esse respeito

O periacuteodo anterior agrave votaccedilatildeo foi alvo de diversas denuacutencias e acusaccedilotildees relativas a alguns oacutergatildeos nacionais e influecircncias exter-nas e internas de voto

Aleacutem das falhas teacutecnicas apontadas nas especifi caccedilotildees do OOXML outro importante argumento contra sua padronizaccedilatildeo junto agrave ISO eacute a exis-tecircncia do formato ODF ( Open Document Format ) criado de forma aberta pela organizaccedilatildeo OASIS cujo objetivo eacute justamente o de proporcionar um formato de arquivos de escritoacuterio (documentos planilhas apresenta-ccedilotildees etc) legiacutevel por qualquer programa que o deseje e que jaacute havia sido aprovado como o padratildeo ISOIEC 26300 em 2006

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

24

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Agraves 9h34min de uma rara manhatilde nublada em Porto de Galinhas Brasil Sandro Alves Gerente

de Desenvolvimento de Novos Ne-goacutecios do Instituto Nokia de Tecno-logia (INdT)[1] inaugurou a ediccedilatildeo 2008 da Bossa Conference[2] Ele apresentou um curto viacutedeo contan-do detalhes da histoacuteria e das atraccedilotildees de Porto de Galinhas Recife e do Estado de Pernambuco

Alves deu as boas vindas ao puacuteblico internacional de 250 pessoas ainda em-polgado com a ediccedilatildeo de 2007 da Bossa Conference e seu grande sucesso Logo apoacutes a abertura o gerente explicou o trabalho do INdT e mais importante por que seus funcionaacuterios o fazem

Design e conceitoSandro caracteriza o INdT como um instituto ldquomovido por design e conceitordquo e natildeo ldquopor tecnologiardquo embora deixe perfeitamente claro que natildeo se trata de uma criacutetica aos desenvolvedores de Coacutedigo Aberto ldquoQuando comeccedilamos eacuteramos movi-dos pela tecnologiardquo afirmou ldquomas gradualmente fomos percebendo que a abordagem orientada ao de-sign e conceito era muito melhor e isso tem funcionado muito bem desde entatildeordquo

A unidade do INdT em Recife emprega apenas Coacutedigo Aberto no desenvolvimento de novos aplicati-vos e plataformas para dispositivos moacuteveis da Nokia e eacute esse o tema central da Bossa Conference ldquoo evento eacute projetado para promover interaccedilatildeo entre os desenvolvedoresrdquo coloca Sandro ldquoA Bossa Conference

eacute projetada para maximizar o tempo de interaccedilatildeo entre as pessoasrdquo

Na praacuteticaAssim como na ediccedilatildeo 2007 do even-to[3] todos os dias contaram com sessotildees voltadas agrave parte praacutetica dos sistemas de software que compotildeem os dispositivos moacuteveis da Nokia Daniel Rocha apresentou o uso de Python para o desenvolvimento de aplicati-vos sobre a plataforma S60 seguido de Mario Hozzano e Leandro Sales que mostraram como utilizar essa mesma linguagem na programaccedilatildeo para a plataforma Maemo No se-gundo dia Thiago Santos mostrou na praacutetica como criar plugins para o sistema multimiacutedia GStreamer e apoacutes o almoccedilo Denis Kenzior abordou a programaccedilatildeo de aplicativos com uso de Bluetooth e OBEX para a plataforma Qtopia desenvolvida pela norueguesa Trolltech e recentemente adquirida pela Nokia Finalizando as sessotildees praacuteticas do evento Marcelo Oliveira e Gustavo Barbieri ambos do INdT mostraram como desenvolver inter-faces usando Python e as bibliotecas EFL seguidos de Dave Andreoli que mostrou outras formas de ir mais fun-do no uso dessas bibliotecas

EspecialistasCom sua especializaccedilatildeo em dispo-sitivos moacuteveis de comunicaccedilatildeo e conectividade o INdT foi capaz de reunir em Porto de Galinhas um impressionante nuacutemero de sumidades em grande parte das tecnologias que compotildeem esse crescente mercado

Michael ldquoMickeyrdquo Lauer (figura 1) um dos criadores do smartphone total-mente livre OpenMoko[4] discursou sobre a construccedilatildeo de distribuiccedilotildees Linux especiacuteficas para o mercado de sistemas embarcados com o OpenEm-bedded[5] Em uma entrevista[6] dada agrave Linux Magazine logo em seguida o alematildeo exibiu alguns protoacutetipos do dispositivo fabricado pela FIC e con-tou a histoacuteria do desenvolvimento do aparelho que encheu os olhos de todo o puacuteblico presente (figura 2) chamado frequumlentemente de ldquoplaygroundrdquo para hackers tamanha sua flexibilidade Harald Welte outro alematildeo partici-pante do projeto tratou de apresentar agrave plateacuteia o conceito de um smartphone verdadeiramente aberto

Depois do almoccedilo Alp Toker de-monstrou ainda os grandes avanccedilos do mecanismo de renderizaccedilatildeo de paacuteginas web Webkit de autoria da Apple e derivado do KHTML do projeto KDE O desenvolvedor do Webkit demonstrou como a equipe de desenvolvimento do renderiza-dor tem preocupaccedilatildeo com o uso de memoacuteria [7] o que vem rendendo

Figura 1 Mickey Lauer exibe dois protoacute-tipos do FIC Neo Freerunner

Bossa Conference 2008

A bossa da mobilidadeCom um evento uacutenico no mundo a Bossa Conference do Instituto Nokia de Tecnologia em Recife comemora sua entrada no calendaacuterio internacionalpor Pablo Hess

copy Linux New Media do Brasil Editora Ltda

25

| CORPORATEBossa Conference 2008

Linux Magazine 42 | Maio de 2008

vaacuterios testes desse mecanismo nos dispositivos moacuteveis que satildeo o centro da Bossa Conference

Na aacuterea de tecnologias visuais ndash um dos fetiches desse mercado ndash Carsten ldquoRastermanrdquo Haitzler criador do re-conhecidamente inovador ambiente desktop Enlightenment demonstrou os motivos do crescente interesse por parte dos desenvolvedores de dispositivos embarcados pelas bibliotecas graacuteficas que compotildeem seu software ndash especial-mente em relaccedilatildeo ao consumo de re-cursos ndash o que pode acabar por render a essas bibliotecas o posto atualmente ocupado pela GTK[8] Oslashyvind Kolarings colaborador de diversos projetos de Soft-ware Livre na aacuterea visual como Cairo e Gimp tambeacutem explicou as necessi-dades de hardware para a interface dos futuros dispositivos moacuteveis enquanto Chris Wilson tambeacutem envolvido com o Cairo falou sobre seu processo de desenvolvimento enfatizando os testes de funcionalidades

Ainda na questatildeo multimiacutedia Lennart Poetering descreveu a aplicaccedilatildeo do ser-vidor de aacuteudio PulseAudio em dispositi-vos embarcados enquanto Zach Rusin mostrava na sala ao lado os benefiacutecios que os drivers Gallium3D prometem trazer agrave aacuterea de graacuteficos 3D Logo em seguida Conrad Parker completou o tema com sua palestra sobre aspectos internos de reprodutores de viacutedeo

Os organizadores tambeacutem incluiacuteram no programa seminaacuterios sobre questotildees especialmente importantes em dispo-

sitivos moacuteveis como a depuraccedilatildeo do sistema de comunicaccedilatildeo entre processos D-Bus (ministrado por J5 Palmieri) o armazenamento local de dados (semi-naacuterio de Alexandre Oliva)

As tendecircncias de desenvolvimento tambeacutem figuraram entre os assuntos debatidos Daniel Gentleman apre-sentou formas de interaccedilatildeo entre os projetos de Coacutedigo Aberto e as comunidades que os utilizam dei-xando clara a necessidade de desen-volvimento nesse campo

A questatildeo da mobilidade foi disseca-da por Marcel Holtmann mantenedor de diversas das pilhas de protocolos de comunicaccedilatildeo sem fio no kernel Linux Segundo Marcel o Linux pos-sui suporte a diversos protocolos de comunicaccedilatildeo que nem mesmo estatildeo disponiacuteveis comercialmente o que o torna um sistema ideal para os dispo-sitivos moacuteveis de comunicaccedilatildeo

Nesse mundo de tantos aparelhos com exigecircncias aparentemente para-doxais ndash cada vez mais funcionalida-des em dispositivos progressivamente menores ndash a Intel tambeacutem esteve presente com seu Mobile Internet Device equipado com o igualmente novato Ubuntu Mobile Edition Adil-son Oliveira da Canonical apresen-tou agrave imprensa um aparelho natildeo tatildeo pequeno quanto os demais do evento e evidentemente com objetivos dife-rentes ndash o MID eacute um subnotebook reduzido tanto em capacidade quan-to em tamanho ndash mas equipado com uma distribuiccedilatildeo que promete mexer com esse mercado[9]

Um evento uacutenicoSe o mercado de software para disposi-tivos embarcados tem diversas particu-laridades a Bossa Conference age de acordo Nas duas noites do evento os participantes foram levados a ambien-tes que propiciavam a interaccedilatildeo o que certamente ajudou muito a troca de ideacuteias entre o puacuteblico e as ldquocelebrida-desrdquo com uma proximidade raramente vista em outros eventos

Mais informaccedilotildees

[1] INdT httpwwwindtorgbr

[2] Bossa Conference httpbossaconferenceindtorg

[3] Bossa Conference 2007 ldquoO futuro da mobilidaderdquo httpwwwlinuxmagazinecombrarticleo_futuro_da_mobilidade

[4] OpenMoko httpwwwopenmokoorg

[5] OpenEmbedded httpwwwopenembeddedorg

[6] ldquoO celular mais livre do mundordquo httpwwwlinuxmagazinecombrlmnoticiao_celular_mais_livre_do_mundo

[7] ldquoWebkit em todo canto ndash mesmordquo httpwwwlinuxmagazinecombrlmnoticiabossa_conference_2008_webkit_em_todo_canto_ndash_mesmo

[8] ldquoEnlightenment vai destronar GTKrdquo httpwwwlinuxmagazinecombrnoticiabossa_conference_enlightenment_vai_destronar_gtk

[9] ldquoUbuntu para dispositivos embarcadosrdquo httpwwwlinuxnewmediacombrnoticiaubuntu_para_dispositivos_embarcados

Figura 2 O FIC Neo Freerunner eacute o segundo modelo de smartphone da FIC a utilizar a plataforma OpenMoko

Segundo o ldquodono da festardquo Sandro Alves os participantes do evento satildeo pes-soas que ldquoamam criar coacutedigordquo como definem a si proacuteprios ldquosem nenhuma inclinaccedilatildeo poliacutetica ou ideoloacutegicardquo O limite de 250 pessoas afirma Sandro eacute para garantir que apenas as pessoas mais qualificadas e motivadas participem do evento garantindo assim o retorno po-sitivo de todos -- do puacuteblico dos pales-trantes e ateacute dos organizadores

copy Linux New Media do Brasil Editora Ltda

26

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Hardware Coacutedigo Aberto e Software Enablement

Software bem rodadoPor que um fabricante de hardware teria interesse em um software de Coacutedigo Aberto Entenda o Software Enablement e seus motivospor Sulamita Garcia

No final do ano passado tive a oportunidade de partici-par de uma conferecircncia da

Intel sobre Software Enabling Mas o que eacute isso e o que tem a ver com Software Livre

A dependecircncia entre software e hardware na computaccedilatildeo sempre foi uma discussatildeo do tipo ldquoo ovo e a gali-nhardquo Hardware natildeo faria nada sem o software software natildeo faria nada sem o hardware Combinados poreacutem eles fazem tudo o que conhecemos na aacuterea Conforme a tecnologia evolui o hard-ware se torna mais raacutepido ao mesmo tempo em que consome menos energia e tem o tamanho reduzido Isso torna possiacutevel adicionar mais funcionalidades tais como melhorar a possibilidade de virtualizaccedilatildeo integrar redes sem fio ou ter multiplos nuacutecleos para processar vaacute-rias instruccedilotildees ao mesmo tempo Mas para que essas novas funcionalidades faccedilam diferenccedila o software precisa ser escrito ou modificado para utilizaacute-la O Software Enabling eacute a atividade de ajudar a escrever esse software

Entatildeo como fazemos isso acon-tecer Vamos ver como geralmente acontece trabalhando com empresas de coacutedigo fechado

No radarQuando o software tem uma boa base de usuaacuterios ou um bom propoacutesito ele pode aparecer no radar da companhia de hardware Quando a empresa de software jaacute pode ter um relacionamento com a empresa de hardware e jaacute estaacute no

radar Os dois lados hardware e software comeccedilam a conversar O primeiro pas-so geralmente eacute assinar um acordo de confidencialidade ndash NDA ndash que defina os limites sobre as informaccedilotildees com-partilhadas Entatildeo os engenheiros de ambas empresas comeccedilam a trabalhar no projeto para o qual foram designa-dos O tamanho desse time depende do projeto das empresas envolvidas da base de usuaacuterios que se deseja al-canccedilar e de outros fatores Depois de algum tempo a empresa de software finalmente termina de escrever o coacute-digo e comeccedila a vendecirc-lo Pode exis-tir alguma campanha em conjunto em que as duas empresas invistam algum dinheiro em marketing para mostrar o resultado daquele coacutedigo Algumas vezes isso traz os resultados esperados e outras vezes natildeo mas eacute assim que funciona

Poreacutem existe outra maneira de fazer esse mesmo processo Quando uma companhia de hardware se aproxima de uma empresa de software aberto elas podem assinar um contrato de confidencialidade tambeacutem dependen-do dos projetos em que essas empresas trabalham Mas quando uma empresa de hardware quer se aproximar de uma comunidade relacionada a um projeto em particular natildeo existe uma pessoa para assinar um NDA por todos e isso nem faria sentido Pela natureza do Coacutedigo Aberto as informaccedilotildees sobre o projeto tambeacutem satildeo abertas Qual-quer bom projeto tem pelo menos uma lista de afazeres ndash TODO ndash em que eacute

possiacutevel verificar quais as prioridades para o projeto e quais os planos futu-ros Alguns projetos mais maduros tecircm um planejamento um roadmap Um bom projeto tambeacutem tem um sistema de rastreamento de falhas em que as pessoas podem relataacute-las verificar o seu estado saber como corrigir um proble-ma em particular e ateacute como ajudar a resolver alguns desses problemas Entatildeo quando se aproxima desses projetos qualquer um jaacute tem uma boa ideacuteia do funcionamento dele antes mesmo de falar com os responsaacuteveis

Digamos que com essas informa-ccedilotildees a empresa de hardware tenha decido que aquele projeto era inte-ressante e que valeria a pena traba-lhar com os desenvolvedores Entatildeo a empresa comeccedila a se engajar com alguns dos principais engenheiros que podem apontar quais pessoas tecircm possibilidade de dedicar tempo a trabalhar com seu hardware Eles provavelmente vatildeo precisar de ajuda no comeccedilo e entatildeo a empresa pode providenciar alguns sistemas para teste acesso a documentaccedilatildeo e ajuda espe-cializada dos seus engenheiros

ColaboraccedilatildeoMas logo um dos melhores aspectos do Coacutedigo Aberto comeccedila a mostrar-se enquanto outros engenheiros natildeo apenas os da empresa comeccedilam a aprender sobre como lidar com o hardware podem ajudar outras pessoas no projeto a aprenderem tambeacutem E esse esforccedilo tambeacutem

Julia

Eis

enb

erg

- w

ww

sxc

hu

copy Linux New Media do Brasil Editora Ltda

27

| CORPORATESoftware Enablement

Linux Magazine 42 | Maio de 2008

aumentaraacute a base de conhecimen-to e o nuacutemero de profissionais com esse conhecimento

Depois disso podemos ter um software preparado para mostrar as novas capacidades do seu hardware Quem entatildeo vai distribuir esse soft-ware Primeiramente os projetos sempre tecircm seu proacuteprio website Provavelmente os usuaacuterios desse software tambeacutem iratildeo querer testar essa nova versatildeo e entatildeo automati-camente eacute criada uma nova base de usuaacuterios A blogosfera jaacute provou ser poderosa para espalhar novas ideacuteias e natildeo eacute incomum desenvolvedores de software falarem em que andam trabalhando ou o que vecircm testando Aleacutem de divulgar suas atividades isso tambeacutem ajuda na documentaccedilatildeo E se vocecirc ainda conseguir ajudaacute-los a integrar este a outros projetos em que estejam trabalhando melhor ainda Os custos para esse tipo de aproxima-ccedilatildeo satildeo consideravelmente menores em relaccedilatildeo ao modelo anterior e o

nuacutemero de especialistas na plataforma aumentou consideravelmente

Interesse em softwareTodavia haacute algo que muitas empre-sas natildeo entendem por que os de-senvolvedores de Coacutedigo Aberto se importariam com o hardware Bem essa eacute uma parte bastante delicada mas cabe agraves empresas demonstra-rem Isso requer bastante humildade afinal de contas o projeto em ques-tatildeo chegou ao sucesso mesmo sem apoio da empresa Tentar dar ordens certamente natildeo vai funcionar nem usar a sua grande e poderosa marca como se eles devessem ser gratos pela empresa ter-se interessado O mais importante eacute que o produto precisa ser bom Quando se trata dos desenvolvedores principais estamos falando de profissionais altamente qualificados que construiacuteram um projeto suficientemente bom para chamar a atenccedilatildeo de uma grande empresa Entatildeo maquiar os pro-

blemas de um produto ou inventar recursos que natildeo existem ou natildeo fun-cionam natildeo vatildeo render pontos para o produto A honestidade eacute sempre valorizada esse eacute um ponto muito importante e vale a pena reforccedilar Se vocecirc fizer isso pode conquistar valiosos aliados para os projetos que tambeacutem apreciam serem re-conhecidos por marcas admiradas mas somente se isso natildeo custar a integridade do projeto

Algumas empresas falharam porque tentaram dizer o que os desenvolvedores deveriam fazer ou mudar os objetivos do projeto ou mexer com as suas razotildees ideoloacute-gicas ndash eles acreditam em Coacutedigo Aberto natildeo se esqueccedila disso

Sobre o autorSulamita Garcia eacute Gerente de Estrateacutegia Linux e Open Source para Ameacuterica Latina da Intel e uma das coordenadoras do gru-po Linux Chix

copy Linux New Media do Brasil Editora Ltda

28

CORPORATE

httpwwwlinuxmagazinecombr

Entrevista com Theron Morato responsaacutevel pela aacuterea de Iniciativas Estrateacutegicas em eSOA da SAP Brasil

100 de serviccediloA SAP estaacute reestruturando sua arquitetura para incorporar a disciplina da SOA agraves suas ofertas Veja o que esse novo paradigma significa para a empresapor Pablo Hess

A disciplina da arquitetura orientada a serviccedilos (SOA) demanda o contato entre os

funcionaacuterios de TI e os responsaacuteveis pelos negoacutecios A alematilde SAP faz isso haacute anos e tem reconhecimento internacional por suas soluccedilotildees A Linux Magazine conversou com Theron Morato responsaacutevel pela aacuterea de iniciativas estrateacutegicas em eSOA da SAP Brasil a respeito das

accedilotildees da empresa no campo de SOA e sua relaccedilatildeo com padrotildees abertos e o Coacutedigo AbertoLinux Magazineraquo Qual a importacircncia do mercado de SOA para os negoacute-cios da SAPTheron Moratoraquo Extremamente im-portante Haacute pelo menos trecircs anos a SAP vem investindo fortemente para redesenhar sua arquitetura e assimilar integralmente o conceito de SOA em suas soluccedilotildees aleacutem de participar ativamente de iniciativas de padronizaccedilatildeo linguagens de especificaccedilatildeo de processos e ofe-recer todas as suas soluccedilotildees como serviccedilos Hoje podemos dizer que a empresa tem uma estrateacutegia soacute-lida e estruturada de enterprise SOA (eSOA)

LMraquo Qual eacute a estrateacutegia da SAP para o mercado de SOA Que tipo de parcerias a empresa tem firmado nessa aacutereaTMraquo A estrateacutegia que desenvolve-mos trabalha com uma semacircntica de negoacutecios que tem mais sentido para o analista de negoacutecios sem o vieacutes teacutecnico Isso natildeo significa que a tecnologia natildeo seja importante mas para o puacuteblico que mais se beneficia

do SOA que vem das aacutereas de negoacute-cios a tecnologia que implementa os conceitos da arquitetura orientada a serviccedilos deve ser transparente

A necessidade de uma semacircntica de negoacutecios se justifica principalmen-te porque natildeo basta termos apenas os agrupamentos de Web Services proxies e interfaces pois nem sempre a inte-graccedilatildeo desses elementos eacute a melhor maneira de solucionar um desafio de negoacutecios As parcerias firmadas vecircm sendo feitas em todos os niacuteveis de fornecedores de hardware a fornece-dores de soluccedilotildees complementares agraves soluccedilotildees da SAPLMraquo Com a disciplina do SOA em voga atualmente quais as expecta-tivas da SAP para esse mercado nos proacuteximos anos

TMraquo Nos uacuteltimos trecircs anos os ar-quitetos e consultores da SAP tecircm prestado serviccedilos relativos a dife-rentes aspectos do SOA entre eles o roadmap de eSOA Trata-se do desenho de soluccedilotildees de novos pro-cessos de negoacutecios com a visatildeo de que eles seratildeo reutilizaacuteveis e teratildeo vantagens quando implementados com a disciplina do SOA Com tudo isso pronto nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios com uma plataforma abrangente de serviccedilosLMraquo Como eacute a relaccedilatildeo da SAP com os fornecedores de componentes para a infra-estrutura de SOA como sistema operacional e middleware especifi-camente os de Coacutedigo AbertoTMraquo A SAP tem uma relaccedilatildeo de par-ceria com a Novell para que nossos sistemas possam utilizar como base o sistema operacional SUSE Linux Enterprise o qual jaacute eacute empregado inclusive nas aplicaccedilotildees BIAccelera-tor e Enterprise Search em parceria com a HP IBM e IntelLMraquo Qual a relaccedilatildeo entre Coacutedigo Aber-to (incluindo padrotildees abertos) e SOA Como a SAP apoacuteia essas iniciativasTMraquo A SAP estaacute alinhada aos padrotildees e ferramentas de desenvolvimen-to abertas como Eclipse Struts Hibernate e linguagens de script Nosso objetivo com isso eacute facilitar o envolvimento de desenvolvedores Java e SOA na estrutura de enterprise SOA da SAP e no SAP BPP (Business Process Platform)

Nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios

copy Linux New Media do Brasil Editora Ltda

29Linux Magazine 42 | Maio de 2008

CORPORATE

Green IT soluccedilotildees para as empresas de TI

Cezar TaurionO consumo de energia dos computadores jaacute estaacute recebendo uma maior parcela de atenccedilatildeo que no passado o que pode ajudar o Linux a se destacar no mercadopor Cezar Taurion

O tema ldquoGreen ITrdquo estaacute comeccedilando a ser debatido na miacutedia e em algumas ainda esparsas conversas sobre TI Ele jaacute faz

parte da agenda de diversos eventos importantes e o uacuteltimo CeBIT foi tambeacutem palco de vaacuterios anuacutencios mostrando a preocupaccedilatildeo crescente das empresas com as questotildees ecoloacutegicas Foi inclu-sive criada uma ldquoGreen IT Villagerdquo um saguatildeo dedicado inteiramente agraves discussotildees ecoloacutegicas e agrave exposiccedilatildeo de produtos que jaacute usam soluccedilotildees de economia de energia e materiais menos agressivos ao meio ambiente

Mas por que tanta atenccedilatildeo em torno do Green IT Nosso planeta estaacute ameaccedilado pelo aquecimento global Noacutes jaacute impusemos tensotildees cada vez maiores ao finito e limitado meio ambiente ultrapassando a sua capacidade de se sustentar Jaacute consumimos 25 mais recursos naturais a cada ano do que o planeta eacute capaz de repor E nesse ritmo em 2050 estaremos consumindo mais que o dobro da capa-cidade da Terra

E a TI natildeo fica fora do consumo de energia Agrave medida que os servidores se tornam mais poderosos demandam mais energia e nos EUA jaacute representam cerca de 12 de todo o consumo de eletricidade

O Gartner Group cita que em 2010 cerca de metade das empresas listadas na relaccedilatildeo Forbes 2000 estaratildeo gastando mais dinheiro com energia que com seus computadores Seu estudo diz ainda que em meacutedia entre 30 e 60 da energia demandada em um datacenter eacute desperdiccedilada E lembra que a TI estaacute hoje como a induacutestria automotiva estava haacute 20 anos comeccedilando a ser pressionada por maior eficiecircncia energeacutetica

Diante desse quadro os analistas comeccedilam a cha-mar atenccedilatildeo para o gasto com energia (dos servidores e dos equipamentos de refrigeraccedilatildeo) e dizem que em breve os CFOs estaratildeo bem mais preocupados com o assunto Alguns paiacuteses estatildeo comeccedilando a estudar legislaccedilotildees que visem a incentivar e em al-guns casos mesmo a obrigar os datacenters a serem

mais eficientes no consumo de energia Com cer-teza o tema vai se tornar cada vez mais importante nos proacuteximos anos

Na minha opiniatildeo temos as condiccedilotildees de uma ldquoPerfect Stormrdquo que vai disparar accedilotildees ldquoverdesrdquo O termo ldquoPerfect Stormrdquo significa a ocorrecircncia si-multacircnea de eventos que se tornam muito mais poderosos e impactantes quando combinados Esses eventos satildeo a crescente conscientizaccedilatildeo da realidade do aquecimento global os crescentes custos de energia e as crescentes mudanccedilas e demandas regulatoacuterias no mundo todo Isolados esses eventos tecircm certo impacto mas quando combinados deveratildeo gerar uma tendecircncia irre-sistiacutevel em direccedilatildeo a uma TI Verde

Imagino que em poucos anos (talvez jaacute em 2010) o tema Green IT sairaacute do campo da curiosidade para se tornar mainstream item obrigatoacuterio na agenda de qualquer gestor de TI

Entre as tecnologias que vatildeo ganhar muito im-pulso nesse contexto citamos a virtualizaccedilatildeo e consolidaccedilatildeo de servidores e datacenters Tambeacutem a discussatildeo sobre thin clients versus PCs completos comeccedilaraacute a ter outro apelo

E onde entra o Linux nessa histoacuteria Entra com muita forccedila nas tecnologias acima Soacute para termos uma ideacuteia da importacircncia do tema a Li-nux Foundation criou uma iniciativa especiacutefica acessiacutevel em httpwwwlinux-foundationorgenGreen_Linux Com isso imagino que o Linux te-nha grandes chances de se tornar um verdadeiro sistema operacional ldquoverderdquo aumentando seu niacutevel de utilizaccedilatildeo mundial

Sobre o autorCezar Taurion (ctaurionbribmcom) eacute diretor de novas tecnologias aplicadas da IBM Brasil e editor do primeiro blog da Ameacuterica Latina do Portal de Tecnologia da IBM developerWorks www-03ibmcomdeveloperworksblogspagectaurion

copy Linux New Media do Brasil Editora Ltda

30

CORPORATE

httpwwwlinuxmagazinecombr

Reflexotildees sobre o desenvolvimento do Coacutedigo Aberto

Ricardo BimboO recente estudo da Linux Foundation sobre o desenvolvimento do kernel Linux indica a participaccedilatildeo de empresas mas eacute errado imaginar que os tradicionais voluntaacuterios estejam desaparecendopor Ricardo Bimbo

Uma recente pesquisa divulgada pela Linux Foundation[1] sobre o desenvolvimento do kernel chamou a atenccedilatildeo de diversos blogs

e sites de notiacutecia para a participaccedilatildeo de funcionaacuterios de empresas dedicados ao dia-a-dia das atividades de manutenccedilatildeo correccedilatildeo e desenvolvimento do kernel Linux Algo como 10000 patches da atual versatildeo 26 envolveram 1000 colaboradores e 100 companhias contra 3700 colaboradores individuais e mais de 200 empresas em 2005

A presenccedila cada vez maior de empresas com cola-boradores dedicados ao trabalho no kernel evidencia as companhias que tecircm hoje no Linux a principal ou uma das principais fontes de receita Red Hat IBM Intel Novell e a proacutepria Linux Foundation juntas com os usuaacuterios do Linux estatildeo na linha de frente do trabalho de manutenccedilatildeo do kernel

Isso demonstra que o desenvolvedor solitaacuterio independente estaacute no fim Todos estatildeo vendendo sua forccedila de trabalho intelectual Natildeo A conclu-satildeo do estudo da Linux Foundation daacute uma dica a esse respeito ldquoO kernel Linux eacute um dos projetos de Coacutedigo Aberto melhor sucedidosrdquo Existem outros projetos tambeacutem de extrema grandeza ndash como Apa-che BrOfficeorg Firefox Gnome KDE MySQL e PostgreSQL ndash que disputam o tempo de vaacuterios desenvolvedores e tecircm a participaccedilatildeo de empresas Isso sem contar os projetos de distribuiccedilotildees como Fedora e Debian aleacutem dos mais de 170 mil projetos ativos no SourceForge[2] e de um incontaacutevel nuacuteme-ro de projetos em outros repositoacuterios

O SourceForge sozinho possui quase dois mi-lhotildees de usuaacuterios registrados e eacute um erro imaginar-mos que sejam todos programadores Natildeo eacute difiacutecil encontrar chamadas solicitando a participaccedilatildeo de gerentes de projetos especialistas em processos especialistas em economia contabilidade recursos humanos e uma infinidade de outras especializaccedilotildees e conhecimentos

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores E muitas vezes esses ldquovoluntaacuteriosrdquo sentem-se mais eficazes atuando em projetos que tecircm uma aplicabilidade no meio em que convivem ou em projetos que possam dar sua contribuiccedilatildeo dife-renciada seja para destacar-se em seu ambiente ou soacute por prazer mesmo

Isso demonstra claramente mais uma vantagem do Coacutedigo Aberto e do desenvolvimento compar-tilhado Natildeo importam os motivos que levem uma pessoa a participar ou trabalhar em um projeto a curva de participaccedilatildeo de empresas e seus co-laboradores estaacute deliberadamente vinculada agraves curvas de crescimento do projeto e ao nuacutemero de usuaacuterios Isso reordena o processo produtivo e de desenvolvimento de negoacutecios abrindo um leque de novas oportunidades

Mais informaccedilotildees

[1] Estudo da Linux Foundation httpswwwlinux-foundationorgpublicationslinuxkerneldevelopmentphp

[2] Sourceforge httpwwwsourceforgenet

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores

Sobre o autorRicardo Bimbo eacute Government Relations da Red Hat Brasil e defen-de a ideacuteia de que todo o conhecimento deve ser compartilhado

copy Linux New Media do Brasil Editora Ltda

LPIindd 1 261107 163706

copy Linux New Media do Brasil Editora Ltda

32

CORPORATE

httpwwwlinuxmagazinecombr

Como o PVM influi no mundo BPM

Edgar SilvaA modelagem de processos de negoacutecios pode beneficiar-se muito do uso do PVM ndash Process Virtual Machinepor Edgar Silva

Quando falamos em Business Process Modeling um dos diversos significados de BPM frequumlentemente nos depara-

mos com vaacuterias questotildees importantes Destas podemos destacar algumas Qual linguagem de processo utilizar A linguagem escolhida suporta as necessidades

reais de uma forma-padratildeo Como fazer com que de fato uma mudanccedila

no modelo de negoacutecio se reflita no mecanismo de execuccedilatildeo dos serviccedilos da empresa

As respostas para essas questotildees pairam como um desafio para os arquitetos e engenheiros de software nos dias de hoje Como o segredo da induacutestria estaacute na padronizaccedilatildeo nada mais oacutebvio que investir em um trabalho colaborativo que beneficie tanto as empresas quanto as comunidades de Software Livre e claro os clientes finais

Uma novidade no mundo BPM eacute o PVM (Process Virtual Machine ou Maacutequina Virtual de Processos) que vou abordar neste artigo

A induacutestria tem buscado aplicar os conceitos de workflow e em paralelo diagramas de estado e outras formas de diagramaccedilatildeo vecircm sendo apresentados ao mercado diariamente Entretanto ainda se percebe um abismo entre o ldquodesenhordquo e a ldquoexecuccedilatildeordquo dos fluxos Em sua nova roupagem os workflows ago-ra mais conhecidos como BPM tentam aproximar esses dois pilares O objetivo do PVM eacute promover uma forma-padratildeo de criar metadados padronizados de tudo que eacute comum a um fluxo um workflow ou uma maacutequinadiagrama de estado

Imagine uma foto Ela possui vaacuterias informa-ccedilotildees de metadados como fabricante e dia e hora em que foi tirada Haacute sites como o Flickr[1] que conseguem ler e apresentar esses dados in-dependendo do fornecedor desde que utilizem esses padrotildees Essa eacute mais ou menos a ideacuteia da PVM Entre seus objetivos estaacute a abstraccedilatildeo geral de qualquer tipo de fluxo e sua possiacutevel lingua-

gem de definiccedilatildeo A PVM eacute a abstraccedilatildeo por traacutes de qualquer modelo ou linguagem que a defi-niu Dessa forma natildeo importa a linguagem de construccedilatildeo do fluxo porque no final todos po-deratildeo ser lidos e gerar uma uacutenica visatildeo de fluxo dentro da PVM

O mercado tem apontado inuacutemeras linguagens para definiccedilatildeo dos processos como BPEL[2] XPDL[3] jPDL e RulesFlow entre outras Espera-se agora que haja interoperabilidade dos serviccedilos dentro de uma Arquitetura Orientada a Serviccedilos (SOA) E por que natildeo pensar tambeacutem na interoperabilidade entre diversos modelos de processos em diferentes linguagens cooperando e colaborando na execuccedilatildeo de fluxos de processos de negoacutecio

Para concluir o aspecto mais interessante do PVM eacute a total separaccedilatildeo do desenho da execuccedilatildeo e de suas linguagens Isso com certeza eacute um marco muito importante para a concepccedilatildeo de mecanismos de processos o que soacute vai agregar valor agraves vaacuterias so-luccedilotildees que utilizam os recursos e os conceitos de workflow e de BPM

Mais informaccedilotildees

[1] Flickr httpwwwflickrcom

[2] BPEL na Wikipeacutedia httpenwikipediaorgwikiBPEL

[3] XPDL httpwwwwfmcorgstandardsxpdlhtm

Sobre o autor

Edgar Silva (edgarsilvaredhatcom) eacute Arquiteto de Soluccedilotildees JBoss na Red Hat Brasil Com experiecircncia em obje-tos distribuiacutedos (Corba COM+ e Java) desde 1998 nos uacuteltimos anos Edgar vem pesquisando aplicando e ministrando pales-tras e treinamentos no Brasil e no exterior sobre assuntos de alta tecnologia incluindo JavaEE e SOA

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

SOA explicada

Sirva-se com softwareSoftware e serviccedilo agora satildeo com frequumlecircncia a mesma coisa A arquitetura orientada a serviccedilos proporciona o funcionamento adequado de todos os componentespor Pablo Hess

Softwares multi-plataforma jaacute estatildeo no mercado haacute tempos As linguagens de programaccedilatildeo ditas ldquode scriptrdquo por exemplo como Perl Python

Ruby e Tcl para citar apenas as mais populares satildeo capazes de executar instruccedilotildees em qualquer plata-forma que possua uma versatildeo de seu interpretador inclusive com vistosas interfaces graacuteficas

A oferta da Sun Microsystems o Java vai um passo aleacutem oferecendo toda uma maacutequina virtual que trata de toda a interaccedilatildeo com o sistema opera-cional subjacente o que facilita ainda mais a cria-ccedilatildeo de softwares multi-plataforma Atualmente com os sistemas de Coacutedigo Aberto ndash como o Linux ndash aumentando sua presenccedila no mercado mas com outros sistemas Unix e Windowsreg tambeacutem presentes de forma significa-tiva eacute cada vez

CA

PA

34 httpwwwlinuxmagazinecombr

mais importante que os softwares corporativos sejam capazes de rodar em muacuteltiplas plataformas

Tamanha eacute a importacircncia disso ndash e do Java nessa foacutermula ndash que a Sun chegou ateacute mesmo a alterar seu coacutedigo de quatro letras usado na bolsa NASDAQ de SUNW para JAVA sugerindo que a relevacircncia da lin-guagem hoje eacute superior agrave tradiccedilatildeo da empresa no ramo de workstations

No entanto mesmo com uma maacutequina virtual prati-camente onipresente nos desktops e servidores atuais haacute dificuldades para distribuir softwares multi-plataforma que dependam de extensotildees ou bibliotecas externas ao nuacutecleo da linguagem Lidar com a instalaccedilatildeo desses

componentes pode ser muito faacutecil para adminis-tradores de sistemas mas com frequumlecircncia

os usuaacuterios natildeo-teacutecnicos satildeo prejudi-cados nessa tarefa

Iacutendice de mateacuterias de capaBem arquitetado paacuteg36Clientes espalhados servidores distribuiacutedos paacuteg40Quase faz cafeacute paacuteg44

copy Linux New Media do Brasil Editora Ltda

ServiccedilosQue tal entatildeo atribuirmos ao administrador a tarefa de instalar o software e todos os compo-nentes requeridos por ele Com isso o usuaacuterio precisaria apenas apontar seu navegador web para a URL do software que localizado no servidor seria executado sem dificuldades e sem necessi-dade de instalaccedilatildeo pelo usuaacuterio

Felizmente essa abordagem ainda traz vanta-gens adicionais Eacute possiacutevel por exemplo utilizar os poderosos componentes da linguagem criada pela Sun para implementar clusters de alta dis-ponibilidade ou alto desempenho permitindo assim que os usuaacuterios desfrutem do software de forma ininterrupta e com desempenho inega-velmente superior ao que seria possiacutevel em seu hardware local

Essa abordagem para a oferta de softwares jaacute eacute usada haacute algum tempo e um de seus exemplos mais populares eacute o Google Docs[1] um conjunto de aplicativos de escritoacuterio disponiacutevel online e gratuitamente para qualquer usuaacuterio Com ele uma pessoa com acesso agrave Internet pode se desfa-zer da necessidade de baixar ou adquirir softwares equivalentes ndash ou quase equivalentes ndash como o BrOfficeorg[2] ou o Microsoft Office

Mais informaccedilotildees

[1] Google Docs httpdocsgooglecom

[2] BrOfficeorg httpwwwbrofficeorg

NomesO software como serviccedilo ou SaaS na sigla em inglecircs eacute tambeacutem uma nova forma de comerciali-zaccedilatildeo de softwares inclusive de Coacutedigo Aberto E a arquitetura necessaacuteria agrave implantaccedilatildeo e desenvol-vimento de softwares sob esse princiacutepio eacute a Arqui-tetura Orientada a Serviccedilos ou SOA

Como vocecirc veraacute nos artigos desta ediccedilatildeo da Linux Magazine a SOA propotildee a infra-estrutura e tambeacutem as diretrizes para que softwares sejam executados como serviccedilos e comuniquem-se uns com os outros de forma semelhante ao que ocorre num sistema operacional tradicional com comunicaccedilatildeo entre processos e biblio-tecas e outros componentes compartilhados

Nas paacuteginas a seguir apresentamos a visatildeo da construccedilatildeo de aplicativos como serviccedilos uma anaacutelise dos princiacutepios da SOA e a plataforma de desenvol-vimento NovaForge fortemente inclinada agrave oferta de softwares como serviccedilo

Boa leitura e bom serviccedilo

Linux Magazine 42 | Maio de 2008 35

SOA explicada | CAPA

copy Linux New Media do Brasil Editora Ltda

36

CA

PA

httpwwwlinuxmagazinecombr

SOA sobre JBoss

Bem arquitetadoA plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de aplicaccedilotildees JBoss Conheccedila-os em detalhespor Edgar Silva

Eacute faacutecil imaginarmos um liacuteder ou gerente de TI fugindo desesperadamente ao ou-

vir a pergunta ldquoO que eacute SOArdquo Embora a resposta simples e direta seja a explicaccedilatildeo da sigla Service Oriented Architecture eacute importante lembrar de que muito mais que orientados a serviccedilos devemos estar orientados para os serviccedilos Partindo desse sentido devemos associar toda essa visatildeo dos servi-ccedilos como agentes impulsionadores de negoacutecios

Um serviccedilo a grosso modo eacute um componente que pode ser reutilizado independentemente de tecnologias departamentos ou empresas Ao mesmo tempo que pode ser geneacuterico ele pode tam-beacutem ser especiacutefico agraves necessida-des e demandas de uma empresa

Quando falamos de SOA eacute um ligeiro engano acreditar que basta entatildeo transformar tudo em Web Services e ndash pronto ndash sua empresa estaacute 100 aderente a SOA Isso pode ser um passo que inclusi-ve leva a questotildees que preparam para os seguintes Ter as peccedilas separadas e isoladas natildeo faz um motor de carro funcionar todas as engrenagens ordens de acon-tecimentos (orquestraccedilatildeo) regras sequumlecircncia de accedilotildees (processos) devem ser previstas para que o conjunto possa funcionar

Quando falamos de SOA eacute importante lembrar que vaacuterios sis-temas ERP no Brasil satildeo legados portanto natildeo possuem aderecircncia a Web Services assim como fal-tam formas de integraccedilatildeo das mais diversas desde a transferecircncia de

arquivos FTP email e ateacute o acesso a banco de dados

A divisatildeo JBoss da Red Hat tem o JBoss SOA Platform como plata-forma voltada para SOA que reuacute-ne em um uacutenico pacote algumas soluccedilotildees descritas abaixo BPM JBoss jBPM Engine de regras JBoss Rules ESB JBoss ESB Persistecircncia de dados JBoss

Hibernate Framework de desenvolvi-

mento de aplicaccedilotildees JBoss Seam

Servidor de aplicaccedilotildees JBoss Application Server

Vale ressaltar que embora o JBoss Application Server sustente todas essas soluccedilotildees de produtos eacute possiacutevel usar qualquer servidor de aplicaccedilatildeo de outros fornecedores

copy Linux New Media do Brasil Editora Ltda

37

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

como IBM WebSphere Oracle AS ou BEA WebLogic Isso soacute eacute possiacute-vel graccedilas aos padrotildees abertos que permitem ao cliente escolher os produtos que melhor supram suas necessidades

A seguir descreveremos cada um dos componentes da platafor-ma SOA oferecidos pela Red Hat sobre seu servidor de aplicaccedilotildees de Coacutedigo Aberto

Servidor de aplicaccedilotildeesO JBoss Application Server eacute a infra-estrutura para a plataforma SOA da Red Hat Com cerca de oito anos de presenccedila no merca-do ele constitui o alicerce que permite executar os outros produ-tos visando a alta performance escalabilidade e seguranccedila para o serviccedilo dos clientes

Robustez no entanto natildeo eacute si-nocircnimo de dificuldade de instala-ccedilatildeo execuccedilatildeo e utilizaccedilatildeo Caso o servidor jaacute possua uma maacutequina virtual Java instalada e confi-gurada basta descompactar os pacotes dos componentes disponiacuteveis no site de proje-tos do JBoss[1] Em seguida vaacute ateacute o subdiretoacuterio bin dentro do diretoacuterio de ins-talaccedilatildeo do JBoss e execute o comando run (em sistemas Windowsreg) ou runsh (em Linux Solaris ou outras va-riantes de Unix) Feito isso o JBoss estaraacute pronto para a instalaccedilatildeo dos seus aplica-tivos Java EE Eacute claro que poderaacute haver necessidade de instalaccedilatildeo de recursos de bancos de dados (Datasour-ces) ou filas JMS Nesse caso e se houver maior interesse informaccedilotildees a respeito destes recursos estatildeo disponiacuteveis na documentaccedilatildeo gratuita do produto

JBoss HibernateA tarefa de construir aplicaccedilotildees Java que se comuniquem com bancos de dados pode ser extremamente facilitada com o uso de uma fer-ramenta ldquomodelo-relacionalrdquo ou ORM como o Hibernate Dentre suas inuacutemeras vantagens podemos citar o fato de que todo o desen-volvimento passa a ser de fato orientado a objetos Isso significa que comandos SQL como insert into update e outros pertencem ao passado dando lugar a procedi-mentos ocorridos inteiramente no ambiente da aplicaccedilatildeo cria-se uma estrutura baseada em um objeto do tipo ldquoclienterdquo e solicita-se que um recurso de sessatildeo (SessionFactory) o salve Nesse momento o Hiber-nate entre suas vaacuterias funccedilotildees conhece a relaccedilatildeo entre o mode-lo de objetos e as informaccedilotildees da estrutura de tabelas do banco de dados Sendo assim caberaacute a ele natildeo mais ao desenvolvedor a ta-refa aacuterdua de lidar com a falta de produtividade da linguagem SQL

a todo momento durante a cons-truccedilatildeo de sistemas

Essa caracteriacutestica do Hibernate tambeacutem eacute fundamental para que as aplicaccedilotildees sejam independentes do servidor de banco de dados Desse modo pode-se trocar de sistema ge-renciador de banco sem aquela antiga preocupaccedilatildeo com o funcionamento de instruccedilotildees SQL em diferentes bancos de dados Portabilidade de fornecedores de bancos de dados e produtividade no desenvolvimento de aplicaccedilotildees satildeo importantes para termos respostas raacutepidas agraves deman-das ocasionadas por uma arquitetura orientada para o serviccedilo

JBoss SEAMQuando algueacutem criticava o Java no passado um dos motivos era o grande nuacutemero de camadas de componentes para realizar uma operaccedilatildeo Em alguns casos o exa-gero de implementaccedilatildeo dos pa-drotildees de projeto (design patterns) ocasionava uma arquitetura com-

Figura 1 Ambiente de projeto de processos do JBoss jBPM

copy Linux New Media do Brasil Editora Ltda

38 httpwwwlinuxmagazinecombr

CAPA | SOA com JBoss

plexa e aplicaccedilotildees sujeitas a erros claacutessicos Pessoalmente ao longo de anos prestando consultoria em frameworks sofisticados perdi a conta de quantas vezes nossa equi-pe encontrou problemas ao fechar conexotildees de bancos de dados ou invocar sem necessidade a consulta de contexto de objetos etc

O Java evoluiu muitiacutessimo nos uacuteltimos anos permitindo a criaccedilatildeo de recursos muito mais estaacuteveis e modernos O resultado foi o surgi-mento de frameworks como o JBoss Seam que reuacutenem em uma uacutenica soluccedilatildeo todo o necessaacuterio para criar aplicaccedilotildees corporativas nos mode-los Web 20 e aderentes a SOA O Seam utiliza como infra-estrutura tecnologias estabelecidas como o Enterprise Java Beans 30 e Java Server Faces aleacutem de toda a riqueza proporcionada pelo Ajax

JBoss jBPMO JBoss jBPM eacute um projeto que resulta em um produto muito mais que em uma soluccedilatildeo de

BPMS (Business Process Manage-ment System) Ele satisfaz tanto aos analistas de negoacutecios quanto aos engenheiros de software pois muito mais que oferecer uma fer-ramenta de desenho para modelar negoacutecios e serviccedilos possui um framework completo para geren-ciamento monitoraccedilatildeo e controle de todas as fases dos fluxos dentro do processo

Como novidade as proacuteximas versotildees do jBPM devem trazer a implementaccedilatildeo do conceito PVM (Process Virtual Machine ndash Maacutequina Virtual de Processos) que em resumo eacute um framework de maacutequina de estado Poreacutem o propoacutesito da PVM vai muito aleacutem disso permite por exemplo abs-trair a linguagem de composiccedilatildeo do desenho de processos Com isso espera-se poder ter inuacutemeras linguagens para definiccedilatildeo como BPEL jPDL XPDL e Seam Page Flow A PVM seraacute capaz de rende-rizar de forma visual os processos definidos independente da lin-guagem empregada

Entre as caracteriacutesticas principais do JBPM estaacute sua possibilidade de execuccedilatildeo sobre qualquer servidor de aplicaccedilotildees Java ou alternati-vamente como serviccedilo Java standalone ndash sem um servidor de aplicaccedilotildees Tambeacutem pode manter os dados a respeito de versotildees e execuccedilotildees dos processos em qualquer banco de dados A figura 1 mostra uma visatildeo do ambiente de projeto e gerenciamento do JBoss jBPM

JBoss RulesO JBoss Rules ou Drools (seu nome na versatildeo co-munitaacuteria) eacute um produto notaacutevel cujas principais caracteriacutesticas satildeo

baixo custo de suporte e au-secircncia de custo de licenccedilas como seus concorrentes

marcante evoluccedilatildeo de versatildeo para versatildeo com estabilidade confiaacutevel

membros brasileiros na equipe de desenvolvimento

Sobre a motivaccedilatildeo para utilizar esse software eacute importante notar que as regras de negoacutecios satildeo os ativos mais alterados dentro de uma arquitetura SOA Respostas raacutepidas e cenaacuterios especiais podem ser alcanccedilados com facilidade separando a maioria das regras de coacutedigos de infra-estrutura e a aplicaccedilatildeo propriamente dita

Realizar alteraccedilotildees em uma aplicaccedilatildeo Java muitas vezes pode ocasionar a perda de tempo para testar novamente todas as partes afetadas pela mudanccedila da rede Poreacutem esse natildeo eacute o grande pro-blema muitos ambientes criacuteticos de produccedilatildeo podem ter a neces-sidade de reinicializaccedilatildeo Usando JBoss Rules a alteraccedilatildeo de uma regra exigiria apenas a alteraccedilatildeo

Figura 2 O editor de regras do JBoss Rules oferece suporte a DSLs em portuguecircs

copy Linux New Media do Brasil Editora Ltda

39

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

do arquivo dessa regra sem a ne-cessidade de tocar no nuacutecleo da aplicaccedilatildeo economizando assim tempo e parte dos testes

As regras de negoacutecio tambeacutem podem possuir seus idiomas proacute-prios ndash um conceito chamado de Domain Specific Language ou DLS que nos permite o uso de jargotildees idiomas expressotildees e dialetos de negoacutecio para compor nossas regras Assim fica mais faacutecil os analistas de negoacutecios comporem as regras no idioma portuguecircs brasileiro

O JBoss Rules pode ser embar-cado em soluccedilotildees de mercado as-sim como executado em qualquer servidor de aplicaccedilotildees Java

Os desenvolvedores tambeacutem dispotildeem de plugins nativos para o Eclipse[2] que permitem o de-senho e o desenvolvimento da escrita de regras O JBoss Rules tambeacutem suporta o desenho de re-gras por meio de diagramas como fluxos de regras Esse recurso tem o nome de RulesFlow e pode ser um guia visual para a execuccedilatildeo de suas regras de negoacutecio ou ajudar a visualizar como possiacutevel orquestrar serviccedilos atraveacutes de regras de ne-goacutecios As figuras 2 e 3 mostram respectivamente o editor de regras em modo de coacutedigo e o ambiente de desenho do RulesFlow

JBoss ESBEm agosto de 2007 a nova versatildeo do JBoss ESB trouxe vaacuterias inova-ccedilotildees e melhorias que fizeram com que seu posicionamento antes ligeiramente atrasado em relaccedilatildeo aos concorrentes de Coacutedigo Aber-to (Apache Service Mix e Mule principalmente) superasse essas alternativas Agora o JBoss ESB compete de igual para igual com soluccedilotildees de fornecedores como BEA Oracle e IBM

O conceito de ESB (Enterprise Service Bus) em termos gerais significa ser o barramento para os serviccedilos que a empresa possui Eacute nele que credenciais de seguran-ccedila single-sign on orquestraccedilatildeo e outras atividades acontecem A questatildeo nesse caso eacute que mui-tos ESBs de mercado pregam que um serviccedilo somente pode ser mascarado ou exposto por meio de um Web Service essa obriga-toriedade no entanto natildeo existe no JBoss ESB jaacute que como prin-cipal diferencial ele ldquoconversardquo com vaacuterios protocolos de registros de serviccedilos

Imagine poder considerar a ge-raccedilatildeo de um arquivo csv vindo do ERP ndash um evento suficiente para disparar vaacuterias atividades dentro da empresa como transformar a

representaccedilatildeo se-parada por virgulas em XML A partir desse XML eacute pos-siacutevel criar objetos Java publicando a partir destes infor-maccedilotildees 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-sas satildeo possiacuteveis com o JBoss ESB

ConclusotildeesEste artigo natildeo tem como objetivo fazer propaganda das soluccedilotildees da Red Hat mas mostrar como essas ferramentas compotildeem uma ofer-ta interessante e altamente capaz de fornecer uma infra-estrutura adequada agrave pratica da SOA em qualquer empresa

O uso dos produtos descritos neste artigo natildeo requer o preenchi-mento de formulaacuterios ou a compra de licenccedilas pois tratam-se todos de Softwares Livres Caso seja ne-cessaacuterio conformar o serviccedilo a um SLA obter garantia ou suporte eacute possiacutevel tambeacutem contratar esses serviccedilos de forma especializada

No Brasil esse modelo parece ser o mais racional jaacute que somente apoacutes investimentos em estudos de viabilidade e adequaccedilatildeo as em-presas escolhem se e como iratildeo contratar suporte

Mais informaccedilotildees

[1] JBoss httpwwwjbossorgprojects

[2] Eclipse httpwwweclipseorg

Figura 3 Interface do editor do Rules Flow que permite o desenho de regras de forma visual

copy Linux New Media do Brasil Editora Ltda

Irum Shahid ndash wwwsxchu

40

CA

PA

httpwwwlinuxmagazinecombr

O desenvolvimento de aplicaccedilotildees e a SOA

Clientes espalhados servidores distribuiacutedos

Como novo paradigma a SOA requer algumas mudanccedilas profundas na forma de projetar implementar e organizar aplicaccedilotildees corporativaspor Antocircnio Godinho

Quando uma nova tecnologia eacute introduzida no mercado uma das principais preocu-

paccedilotildees de qualquer gerente de desenvolvimento eacute perguntar-se ldquoDevo adotar a nova arquiteturardquo ldquoQuais benefiacutecios essa nova soluccedilatildeo traz ao meu ambienterdquo ldquoComo co-meccedilo o processo de adoccedilatildeo da SOA (Service Oriented Architecture)rdquo ldquoO que fazer com as aplicaccedilotildees que jaacute exis-temrdquo e ldquoComo desenvolver aplicaccedilotildees voltadas ao novo ambienterdquo

Avaliar se determinada arqui-tetura ou soluccedilatildeo traz benefiacutecios para nosso ambiente eacute funda-mental Para analisar a primeira questatildeo acima vamos definir al-gumas caracteriacutesticas da arquite-tura orientada a serviccedilos

PrinciacutepiosA base da SOA eacute a definiccedilatildeo do ser-viccedilo que seraacute fornecido Esse servi-ccedilo eacute exposto para seu usuaacuterio com funccedilotildees e interfaces bem definidas eacute independente do consumidor do serviccedilo pode estar codificado em qualquer linguagem e ser executado em qualquer combinaccedilatildeo de plata-forma ou sistema operacional e a in-formaccedilatildeo sobre esse serviccedilo pode ser obtida a partir de algum diretoacuterio na rede Como consequumlecircncia eacute possiacutevel substituir um serviccedilo por uma nova versatildeo executada em outra platafor-ma sistema operacional ou lingua-gem sem afetar o consumidor desse serviccedilo como mostra a figura 1

O consumidor do serviccedilo pode ser o usuaacuterio final ou um outro ser-

viccedilo e dentro do contexto da SOA uma aplicaccedilatildeo eacute um conjunto de provedores de serviccedilos colaborativos residentes ou natildeo em uma mesma plataforma ou organizaccedilatildeo Supondo que a empresa possua vaacuterios sistemas ndash entre pacotes sistemas ERP (En-terprise Resource Planning) e desen-volvimento interno e o usuaacuterio final ndash ao fazer uma consulta precisa de dados fornecidos por diversos desses sistemas Entatildeo temos uma situa-ccedilatildeo na qual a arquitetura facilita o ambiente de desenvolvimento per-mitindo a criaccedilatildeo de uma aplicaccedilatildeo composta que utilizaraacute as aplicaccedilotildees jaacute existentes Cada aplicaccedilatildeo existen-te eacute um potencial provedor de um serviccedilo usado pela nova aplicaccedilatildeo composta como na figura 2

Se considerarmos que atualmen-te cada empresa depende de outras dentro do contexto de mundo globa-lizado e que haacute uma sinergia entre aplicaccedilotildees executadas em diferentes empresas podemos ter um quadro em que uma companhia fornece um serviccedilo para outra e nesse caso o usuaacuterio final pode usar diversos serviccedilos fornecidos por mais de uma empresa Aleacutem disso a abordagem SOA permite o desenvolvimento de novos serviccedilos de forma mais raacutepida uma vez que aproveita serviccedilos jaacute exis-tentes e com maturidade e eficiecircncia

Figura 1 Camadas adotadas em SOA

copy Linux New Media do Brasil Editora Ltda

41

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

comprovadas reduzindo o periacuteodo de testes da nova aplicaccedilatildeo

Iniacutecio da adoccedilatildeoConsiderando que resolvemos ado-tar a SOA precisamos responder a segunda pergunta do gerente de desenvolvimento que diz respeito a como comeccedilar o processo de adoccedilatildeo dessa arquitetura

Como em qualquer novo conhe-cimento o primeiro passo eacute difundir a estrateacutegia O melhor modo de fazer isso eacute por meio de oficinas junto agrave equipe nas quais as tendecircncias de mercado satildeo colocadas e eacute realiza-da uma exposiccedilatildeo das tecnologias existentes Eacute importante tambeacutem alinhar a adoccedilatildeo da SOA com as expectativas ou problemas do negoacute-cio de maneira a criar a motivaccedilatildeo necessaacuteria em toda a equipe

Eacute necessaacuterio ainda fazer um mape-amento desses problemas de negoacutecio assim como das melhores praacuteticas do mercado e das vantagens em adquirir pacotes em comparaccedilatildeo com o de-senvolvimento interno e identificar quais os padrotildees mais adequados ao ambiente Conveacutem ressaltar que nes-sa fase eacute bom ter algueacutem externo para fazer a moderaccedilatildeo dessa oficina com o intuito de contar com uma pessoa isenta que possa enxergar o todo e natildeo esteja envolvida com questotildees internas ou departamentais

Aplicaccedilotildees anterioresNo mundo do desenvolvimento jaacute passamos por vaacuterios ciclos de linguagens e arquiteturas Logo eacute natural que a empresa possua sistemas estruturas e linguagens diferentes Essas aplicaccedilotildees con-tecircm dentro de si loacutegicas de negoacutecio desenvolvidas ao longo do tempo e satildeo um ativo muito importante da empresa Eacute natural portanto que a terceira duacutevida venha agrave tona se vamos investir em uma arquitetura SOA o que devemos fazer com as aplicaccedilotildees existentes

Uma das boas no-tiacutecias da SOA eacute que a sua adoccedilatildeo natildeo impli-ca descartar o que foi feito previamente Os primeiros passos para a adoccedilatildeo da arquitetu-ra orientada a serviccedilos satildeo avaliar as aplicaccedilotildees existentes analisar os ser-viccedilos e as funccedilotildees sele-cionar quais devem ser publicadas e de acordo com suas caracteriacutesticas selecionar os conectores adequados

Como vimos o ser-viccedilo precisa estar bem definido e com interfaces claras Se a aplicaccedilatildeo em questatildeo natildeo possui essas caracteriacutesticas eacute preciso usar um conector que as forneccedila como um Resource Adaptor que encapsu-laria uma aplicaccedilatildeo natildeo-conforme na SOA

InterconexatildeoNesse momento comeccedilamos a ver mais um item importante da arquitetura a infra-estrutura de interconexatildeo Ela eacute composta por dois moacutedulos loacutegicos como podemos observar na figura 3 que exibe em mais detalhes o barra-mento de serviccedilos O barramento de serviccedilos conecta todos os fornecedo-res de serviccedilos enquanto o canal de acesso une os usuaacuteriosconsumidores internos e externos aos serviccedilos

Barramento de serviccedilosO barramento de serviccedilos integra vaacuterias entidades de software O moacutedulo prin-cipal eacute o subcomponente de ldquoInterco-nectividade de serviccedilosrdquo que fornece os protocolos e outras funccedilotildees neces-saacuterias para conectar o gerenciamento de canal de acesso aos provedores de serviccedilo bem como os provedores uns aos outros Se eles suportam os proto-colos utilizados na interconectividade

de serviccedilos eles podem se comunicar diretamente entre si como mostrado nas conexotildees A da figura 3 Os proto-colos podem incluir por exemplo mensageria e SOAP (Simple Object Access Protocol)

Nesse caso estamos abordando a questatildeo do reaproveitamento das apli-caccedilotildees existentes ndash muitas vezes elas natildeo suportam os protocolos escolhidos sendo chamadas de ldquonatildeo-conformesrdquo A adaptaccedilatildeo (encapsulamento) eacute exe-cutada por um conector como mos-trado na figura 3 pela conexatildeo B O conector converte o protocolo no que for necessaacuterio para acessar a aplicaccedilatildeo ndash e vice-versa na saiacuteda

Uma variedade de serviccedilos baacutesicos eacute necessaacuteria para que o barramento de serviccedilos seja facilmente usado Eles abrangem dois grandes grupos ldquoUtilitaacuteriosrdquo responsaacutevel pelo dire-toacuterio de serviccedilos tradutores de coacutedi-go formatadores de mensagem e ldquoGerenciamentordquo responsaacutevel pela monitoraccedilatildeo ndash incluindo relatoacuterio de erros ndash configuraccedilatildeo e seguranccedila Os subcomponentes do serviccedilo de inter-conectividade e os conectores fariam a interface com a loacutegica comum as-sim como os provedores de serviccedilo e o componente de gerenciamento canal de acesso como mostrado nas conexotildees C da figura 3

Figura 2 O consumidor acessa a aplicaccedilatildeo-serviccedilo fornecida pelos provedores distribuiacutedos

copy Linux New Media do Brasil Editora Ltda

42 httpwwwlinuxmagazinecombr

CAPA | Desenvolvimento e SOA

Camada fiacutesicaNote que ateacute o momento falamos apenas da camada loacutegica Natural-mente haacute uma camada fiacutesica que pode ser implementada de forma distribuiacuteda ou centralizada usando uma abordagem de concentrador Na abordagem distribuiacuteda os subcom-ponentes do barramento de serviccedilos estatildeo espalhados pelos componentes e a rede fornece as interconexotildees fiacute-sicas necessaacuterias Essa abordagem eacute na verdade uma seacuterie de conexotildees ponto-a-ponto que pode rapida-mente aumentar a complexidade caso existam mais que apenas um ou dois protocolos ou um nuacutemero pequeno de serviccedilos Para montar um ambiente mais administraacutevel a abordagem com a utilizaccedilatildeo de um concentrador eacute melhor

Com a abordagem do concentrador o barramento de serviccedilos eacute implemen-tado em um servidor independente ou em um conjunto de servidores Os pro-vedores de serviccedilos podem implementar quaisquer dos protocolos suportados pelo subcomponente de interconec-tividade de serviccedilos Requisiccedilotildees de entrada satildeo roteadas para o serviccedilo de destino apropriado O concentrador age entatildeo como um comutador Pro-tocolos diferentes podem ser usados entre as conexotildees de origem e destino o subcomponente ldquoInterconectividade de Serviccedilosrdquo no concentrador executa a conversatildeo entre ambos

Com essa estrutura resolvemos a questatildeo das aplicaccedilotildees existentes do ponto de vista de infra-estrutura interna E o contato com o usuaacuterio Para trabalharmos esta parte vamos

ver com mais detalhes a outra camada da infra-estrutura de interconexatildeo mostrada na figura 4

UsuaacuterioO gerenciamento de canal de acesso se conecta ao barramento de serviccedilos do mesmo modo que os provedores de serviccedilo Ele executa duas funccedilotildees ou conjuntos de funccedilotildees ldquoGerencia-mento de interface de usuaacuteriordquo que trata da interface para os usuaacuterios ou consumidores de serviccedilo como na-vegadores web estaccedilotildees de trabalho com clientes inteligentes e serviccedilos web e ldquoMapeamento e definiccedilatildeo do serviccedilordquo que identifica os serviccedilos disponiacuteveis e conecta as requisiccedilotildees de entrada aos provedores de serviccedilo usando as interfaces expostas

O mapeamento e a definiccedilatildeo do serviccedilo podem ser bem simples ndash ape-nas um ponteiro para o provedor do serviccedilo Um processo completo de negoacutecio no entando pode necessitar do uso de vaacuterios provedores de servi-ccedilo e as sequumlecircncias nas quais eles satildeo invocados podem variar dependen-do do resultado das requisiccedilotildees a um provedor de serviccedilo especiacutefico

Orquestraccedilatildeo e barramentoA orquestraccedilatildeo pode ser feita obviamen-te escrevendo-se o provedor de serviccedilo externo que implementa as regras de negoacutecio para o processo em questatildeo e invoca os provedores internos quando necessaacuterio Contudo jaacute existem vaacuterios produtos para apoiar a criaccedilatildeo 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 orquestraccedilatildeo disponiacuteveis dentro desses produtos per-mitem criar o processo completo pro-vendo interfaces graacuteficas para identificar os provedores internos necessaacuterios e as regras de negoacutecios a serem seguidas durante o processo

Figura 3 A infra-estrutura de serviccedilos em SOA transita pelo barramento de serviccedilos ou ESB

Figura 4 As conexotildees entre provedores internos e externos compotildeem a outra camada da estrutura de interconexatildeo

copy Linux New Media do Brasil Editora Ltda

43

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

Desenvolvimento de aplicaccedilotildeesFinalmente vamos responder a uacutel-tima pergunta do gerente de desen-volvimento ldquocomo desenvolver apli-caccedilotildees voltadas ao novo ambienterdquo Caso se trate de uma nova aplicaccedilatildeo o ideal eacute utilizar uma ferramenta que possua um ambiente completo e raacutepido para desenvolvimento e im-plementaccedilatildeo de aplicativos permita essa implementaccedilatildeo com agilidade de novos processos e encapsule o co-nhecimento dos negoacutecios sob a forma de componentes reutilizaacuteveis

Um dos pontos fundamentais da SOA eacute que o serviccedilo pode ser execu-tado em qualquer plataforma sistema operacional ou linguagem Desse modo ao desenvolver um serviccedilo o desenvol-vedor natildeo deveria se preocupar com caracteriacutesticas de uma linguagem ou plataforma especiacutefica Esses serviccedilos devem ser desenvolvidos rapidamen-te e com facilidade em conjunto com analistas de negoacutecios e usuaacuterios finais utilizando a terminologia e o vocabulaacuterio compreendidos por eles O importan-te eacute se preocupar com o negoacutecio que seraacute atendido e que exista um niacutevel de abstraccedilatildeo entre a loacutegica de negoacutecio e a plataforma ou linguagem na qual o serviccedilo seraacute executado

Note que haacute um ambiente (ldquoMode-lador do sistemardquo) no qual o negoacutecio eacute modelado O construtor traduz o negoacutecio para o ambiente final com todas as ca-racteriacutesticas corporativas para assegurar a integridade da aplicaccedilatildeo modelada

O modelador do sistema deve oferecer a flexibilidade de adicionar interfaces de usuaacuterio final ao modelo que podem ser implementadas em uma ampla gama de ambientes

Governanccedila e seguranccedilaUma vez que tenham sido realizados os levantamentos e as oficinas a equi-pe estaacute motivada e os objetivos estatildeo

claros eacute impor-tante garantir que a meacutetrica baacutesica da arquitetura orientada a ser-viccedilos seja medida e explorada Um dos principais atri-butos da SOA eacute a capacidade de reutilizar serviccedilos existentes em no-vas aplicaccedilotildees ndash e eacute necessaacuterio man-ter esse cataacutelogo bem definido

Para auxiliar nesse controle existem diversas ferramentas disponiacute-veis que utilizam definiccedilotildees como UDDI (Universal Descrip-

tion Discovery and Integra-tion) ndash registro independente de plataforma baseado em XML cujo objetivo eacute listar serviccedilos acessiacuteveis pela Web Trata-se de uma iniciativa aberta que permite agraves empre-sas publicarem listas de servi-ccedilos acessaacute-los e descrevecirc-los possibilitando que aplicaccedilotildees possam interagir A UDDI foi originalmente proposta e pro-jetada para ser interligada por mensagens SOAP provendo acesso a documentos WSDL com as descriccedilotildees de protoco-los e formatos requeridos para interaccedilatildeo com os serviccedilos web listados no diretoacuterio

ebXML (Electronic Business using eXtensible Markup Lan-guage) ndash nada mais que uma grande biblioteca contendo informaccedilotildees sobre os serviccedilos disponiacuteveis e como acessaacute-los Sua infra-estrutura eacute aberta e baseada em XML habilitando o uso global das informaccedilotildees de forma interoperaacutevel segura e consistente Incorpora cinco camadas de definiccedilotildees de da-

dos (i) processos de negoacutecios (ii) protocolos de colaboraccedilatildeo (iii) componentes de dados prin-cipais (iv) mensageria e (v) re-gistro e repositoacuterios

Consideraccedilotildees finaisA adoccedilatildeo da SOA tem aumenta-do rapidamente Aleacutem de reunir muitas vantagens em um ambien-te distribuiacutedo de aplicaccedilotildees que eacute a nossa realidade hoje haacute diversas ferramentas disponiacuteveis no mercado que facilitam o seu uso Com pro-fundas diferenciaccedilotildees em relaccedilatildeo ao desenvolvimento tradicional de sistemas eacute necessaacuterio planejar bas-tante sua introduccedilatildeo junto agraves equi-pes de desenvolvimento e contar com apoio externo agrave empresa para que a mensagem seja absorvida com mais facilidade Com tudo isso e considerando as respostas ao gerente de desenvolvimento a arquitetura orientada a serviccedilos eacute um excelente caminho para a integraccedilatildeo de tran-saccedilotildees distribuiacutedas

Sobre o autorAntonio Godinho eacute arquiteto de sistemas na Unisys Brasil

Figura 5 O ESB realiza a comunicaccedilatildeo entre os canais de acesso de muacuteltiplos grupos de provedores que podem representar diferentes departamentos empresas etc

copy Linux New Media do Brasil Editora Ltda

Andrzej Gdula ndash sxchu

44 httpwwwlinuxmagazinecombr

A faacutebrica de software corporativo NovaForge

Quase faz cafeacuteCom o NovaForge eacute muito praacutetico hospedar gerenciar e testar softwares em escala corporativapor Pablo Hess

Sistemas de desenvolvimento distribuiacutedo de software satildeo altamente produtivos Em-

pregados amplamente por projetos de Software Livre sistemas como git[1] CVS[2][3] SVN[3][4] Mer-curial[5] e Bitkeeper[6] apenas para citar os mais famosos possibilitam o desenvolvimento colaborativo da grande maioria dos softwares de Coacute-digo Aberto desde o kernel Linux ateacute sofisticados ambientes desktop como Gnome e KDE

Uma interessante alternativa agrave manutenccedilatildeo de um servidor de de-senvolvimento ldquodentro de casardquo eacute o uso de repositoacuterios de projetos de software cujo exemplo mais famoso eacute o SourceForge[7] que abriga ou jaacute abrigou inuacutemeros projetos de Coacutedigo Aberto desde os mais simples e de uso restrito a uma aacuterea de atuaccedilatildeo ateacute os atuais campeotildees de atividade[8] o ERP Openbravo[9] o software de comparti-lhamento Azureus[10] e o programa de graacuteficos vetoriais Inkscape[11]

No entanto empresas que de-sejem gerenciar seus projetos de software corporativo de forma centralizada com testes e anaacutelises de desempenho durante a noite aleacutem da geraccedilatildeo automatizada de relatoacuterios tecircm como uacutenica alter-nativa o emprego de um servidor proacuteprio para essas tarefas Ou me-lhor tinham

No intuito de oferecer uma al-ternativa de caraacuteter corporativo que forneccedila aos projetos toda a infra-estrutura para a criaccedilatildeo e ge-renciamento a francesa Bull[12] lanccedilou o NovaForge[13]

CorporativoEm seu whitepaper a Bull afirma ter ldquoempregado no NovaForge seus conhecimentos metodoloacutegi-cos e sua experiecircncia na condu-ccedilatildeo e realizaccedilatildeo de projetos de desenvolvimento e integraccedilatildeo de sistemas numa plataforma indus-trial de produccedilatildeordquo Para os desen-

volvedores que desejem hospedar seus projetos nesse sistema isso significa uma maior base de ferra-mentas natildeo apenas para gerenciar o coacutedigo-fonte do projeto mas o projeto em si assim como toda a documentaccedilatildeo relevante

O NovaForge de fato facilita o gerenciamento de projetos de software de escala industrial de formas que o SourceForge ou mes-mo o CodePlex[14] da Microsoft jamais pretenderam fazer E a melhor parte o sistema eacute inteira-mente voltado ao Coacutedigo Aberto e padrotildees abertos

De acordo com a Bull os prin-ciacutepios do NovaForge satildeo capitalizaccedilatildeo empregar fer-

ramentas de desenvolvimen-to qualificadas e metodolo-gias aprovadas assim como a reutilizaccedilatildeo dos trabalhos jaacute realizados

compartilhamento compar-tilhar a mesma visatildeo que os

CA

PA

copy Linux New Media do Brasil Editora Ltda

45

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

projetos independen-temente da localizaccedilatildeo de seus participantes e compartilhando tam-beacutem o repositoacuterio de documentaccedilatildeo

flexibilidade o Nova-Forge foi concebido de forma modular para incluir ferramentas par-ticulares e assim res-ponder aos diferentes niacuteveis de atividade dos projetos tanto hospedados sobre uma infra-estrutura de rede de alto desem-penho quanto instalado no cliente

Eacute interessante notar que o terceiro item dessa lista jaacute dei-xa clara a inclinaccedilatildeo da plata-forma aos novos princiacutepios de software como serviccedilo

Processo de desenvolvimentoSob o NovaForge as diferentes etapas de desenvolvimento de software (figura 1) satildeo realizadas na seguinte ordem gestatildeo das exigecircncias da apli-

caccedilatildeo a ser desenvolvida exportaccedilatildeo das exigecircncias para a fer-

ramenta de modelagem UML geraccedilatildeo do coacutedigo com auxiacute-

lio do ambiente integrado de desenvolvimento

gerenciamento do coacutedigo-fonte e de suas versotildees

integraccedilatildeo e construccedilatildeo da apli-caccedilatildeo com uso dos repositoacuterios de integraccedilatildeo e das ferramentas de integraccedilatildeo contiacutenua

testes funcionais frente agraves exigecircn-cias e gerenciamento automaacuteti-co de falhas em caso de erros e falha de conformidade

As vantagens do uso da infra- estrutura do sistema para criaccedilatildeo de aplicaccedilotildees corporativas portanto podem ser listadas

ambiente de desenvolvimento pa-dronizado e com ferramentas po-derosas que permite mascarar para o desenvolvedor a complexidade da linguagem Java subjacente

o ganho de produtividade oferecido pela escolha das ferramentas mais adequadas pemite a geraccedilatildeo de partes do coacutedigo por meio de tarefas recorrentes de produccedilatildeo

a escolha de ferramentas de Coacute-digo Aberto robustas poderosas e aderentes aos padrotildees de de-senvolvimento e comunicaccedilatildeo utilizadas em diversos projetos e compatiacuteveis com a maioria dos sistemas operacionais

Seccedilotildees do desenvolvimentoO desenvolvimento no NovaForge eacute dividido em dois ambientes um destinado agrave concepccedilatildeo do projeto

e outro ndash Bull SOA IDE ndash feito sobre uma base de blocos de Coacute-digo Aberto como o Eclipse por exemplo enriquecidos pela proacute-pria Bull

O primeiro ambiente permite a geraccedilatildeo de relatoacuterios detalhados de concepccedilatildeo a partir dos diagra-mas UML e das regras de gestatildeo associadas aos casos de uso aleacutem das etapas de testes e validaccedilatildeo dos moacutedulos O segundo por sua vez oferece uma interface com a pri-meira e integra as ferramentas de geraccedilatildeo de coacutedigo ndash Velocity por exemplo ndash assim como uma seacuterie de plugins descritos a seguir

Ambiente de concepccedilatildeoO ambiente de concepccedilatildeo (a ferra-menta de modelagem Sprarx Sys-tem Enterprise Architect) natildeo exige a presenccedila de qualquer moacutedulo ou

Figura 1 Diagrama das etapas de desenvolvimento de software no NovaForge

copy Linux New Media do Brasil Editora Ltda

46 httpwwwlinuxmagazinecombr

CAPA | NovaForge

funcionalidade por parte do cliente Ele suporta UML 20 salva o modelo num banco de dados ou num arquivo e por fim exporta-o em XMI No entanto tambeacutem eacute possiacutevel trabalhar com diversos outras ferramentas como Rose XDE RAD Together MEGA Objecteering e PowerAMC por exemplo O objetivo afinal eacute simplesmente fornecer a entrada para a geraccedilatildeo de coacutedigo para im-plementar a arquitetura orientada ao modelo ou MDA

Dessa forma a cadeia de concep-ccedilatildeo do sistema formaliza a passagem do modelo de anaacutelise UML a um de concepccedilatildeo e implementaccedilatildeo Aleacutem das orientaccedilotildees de concepccedilatildeo e das normas de implementaccedilatildeo apoacutes a definiccedilatildeo da arquitetura de processador de destino para a aplicaccedilatildeo jaacute eacute possiacutevel gerar uma parte do coacutedigo da aplicaccedilatildeo ndash com o mecanismo de tagged value ndash fi-gura 2 Eacute importante notar tambeacutem

que o coacutedigo gerado natildeo depende de qualquer classe da Bull pois eacute puro JavaJ2EE

Ambiente de desenvolvimentoOs principais objetivos de um am-biente de desenvolvimento satildeo au-mentar a produtividade por meio de ferramentas para projetar pro-gramar e instalar aplicaccedilotildees J2EE e permitir o desenvolvimento co-laborativo Para isso eacute necessaacuterio tambeacutem observar as boas praacuteticas permitindo a geraccedilatildeo do coacutedigo de certos componentes da aplicaccedilatildeo e tambeacutem a criaccedilatildeo de uma corrente completa desde os objetos ateacute a base de dados incluindo todos os blocos que compotildeem a arquitetura

Por fim o ambiente de progra-maccedilatildeo deve permitir a integraccedilatildeo do desenvolvimento a uma arquitetura orientada a serviccedilos caso necessaacuterio

Isso facilita a chamada e a criaccedilatildeo de serviccedilos referenciados dentro da em-presa por intermeacutedio de assistentes

Nesse sentido a Bull contribui com o projeto Eclipse para melhorar o su-porte a J2EE e ao desenvolvimento de Web Services e processos de ne-goacutecios Aleacutem disso a colaboraccedilatildeo da empresa com o Eclipse visa a permitir acesso a aplicaccedilotildees externas ndash isso eacute natildeo escritas em Java ndash e a bancos de dados por meio de conectores JCA ou de meacutetodos de persistecircncia Uma caracteriacutestica importante eacute a total in-dependecircncia de classes especiacuteficas da Bull com total aderecircncia ao padratildeo J2EE mas ainda com suporte aos fra-meworks mais usados como Struts Spring e Hibernate

UtilizaccedilatildeoOs componentes da plataforma NovaForge portanto podem ser listados como a seguir

Figura 2 O mecanismo de tagged value enriquece as classes UML com as informaccedilotildees adequadas agrave geraccedilatildeo de coacutedigo

copy Linux New Media do Brasil Editora Ltda

47

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

ambiente de desenvolvimento Java Eclipse

ambiente de desenvolvimento J2EE JOPE

plugin Open Source Web Tools

controle de versotildees CVS Subversion

qualidade do coacutedigo Jalopy CheckStyle PMD

testes Unitaacuterios JUnit geraccedilatildeo ANT Maven

Para usar essa estrutura colaborati-va de desenvolvimento eacute necessaacuterio apenas um navegador web O servidor de aplicaccedilatildeo naturalmente tambeacutem eacute obrigatoacuterio e a Bull recomenda o uso do JBoss[15]

Servidor colaborativoO servidor colaborativo de desenvol-vimento fornece a todos os participan-tes do projeto o acesso ao ambiente para realizaccedilatildeo de suas tarefas espe-ciacuteficas de acordo com o papel de cada um (desenvolvedor integrador liacuteder de projeto gerente etc)

O portal utiliza a solu-ccedilatildeo eXo Portal[16] que em sua versatildeo 20 oferece suporte a clientes de rich internet applications (RIA como satildeo mais conhecidos) dentro do proacuteprio navega-dor O NovaForge faz bom uso dos ldquoaplicativos ricosrdquo como mostra a figura 3 incluindo o single sign-on para todos os serviccedilos dispo-nibilizados como comuni-caccedilatildeo desenvolvimento e acesso a documentos por exemplo

GForgeUma das principais fer-ramentas de desenvolvi-mento colaborativo utili-zadas pelo NovaForge eacute

o pacote de Coacutedigo Aberto GFor-ge[17] um gerenciador de proje-tos repleto de funcionalidades Como tal ele centraliza o acesso ao conjunto de ferramentas de gestatildeo e colaboraccedilatildeo necessaacuterias agrave boa realizaccedilatildeo de um projeto de desenvolvimento como por exemplo acesso seguro aos diferentes

moacutedulos de gerenciamento de coacutedigo diretamente a partir da interface web

gerenciamento de documen-tos e suas versotildees

gerenciamento de foacuteruns e listas de discussatildeo

monitoramento das tarefas realizadas pelos usuaacuterios

gerenciamento de falhas e anomalias do projeto com possibilidades ilimitadas em termos de qualificaccedilatildeo das falhas atribuiccedilatildeo a desenvol-vedores de diferentes equipes

gerenciamento de prioridades e outras funccedilotildees

gerenciamento e atribuiccedilatildeo de tarefas aos participantes ao longo de todo o ciclo de de-senvolvimento dos projetos

interface com o CVS ou Sub-version para gestatildeo da segu-ranccedila no que diz respeito ao acesso de escrita e leitura do coacutedigo-fonte do projeto

Servidor de industrializaccedilatildeoO chamado ldquoservidor de industrializa-ccedilatildeordquo eacute uma plataforma de ldquofaacutebrica de receitasrdquo proposta pela Bull com todo o contexto necessaacuterio aos procedimentos e seus testes Seus principais objetivos satildeo a criaccedilatildeo de ldquonightly buildsrdquo a re-alizaccedilatildeo de testes de desempenho afim de garantir o correto funcionamento e dos softwares no momento em que forem finalizados

Figura 3 O NovaForge jaacute utiliza e muito bem as potencialidades dos componentes chamados Rich Internet Applications

copy Linux New Media do Brasil Editora Ltda

48 httpwwwlinuxmagazinecombr

CAPA | NovaForge

A figura 4 demonstra o processo de compilaccedilatildeo dessa etapa Em in-tervalos regulares toda a aplicaccedilatildeo sua documentaccedilatildeo e seus testes unitaacuterios satildeo gerados permitindo que se automatize a anaacutelise da qualidade do coacutedi-

go da aplicaccedilatildeo pelos compo-nentes PMD e CheckStyle

a geraccedilatildeo automaacutetica da apli-caccedilatildeo por comparaccedilatildeo com as uacuteltimas versotildees presentes no gerenciador de configuraccedilotildees a partir do servidor CVS ou Subversion

a geraccedilatildeo automaacutetica da do-cumentaccedilatildeo da aplicaccedilatildeo

a execuccedilatildeo do conjunto de testes unitaacuterios usando os componentes JUnit DBUnit e HTTPUnit com geraccedilatildeo posterior de relatoacuterios

a implementaccedilatildeo da moni-toraccedilatildeo de servidores da do-cumentaccedilatildeo e dos relatoacuterios anteriormente gerados

A cada manhatilde a anaacutelise dos relatoacuterios e resultados do servi-dor de industrializaccedilatildeo oferece ao gerente do projeto um pano-rama absolutamente atualizado do estado funcional do software

e possibilita a criaccedilatildeo de tiacutequetes de falhas pelo Salomeacute-TMF

ConclusotildeesO NovaForge natildeo tem como obje-tivo substituir os repositoacuterios mais tradicionais como o SourceForge mas criar uma verdadeira faacutebrica de software colaborativo de caraacuteter corporativo A linguagem Java por exemplo eacute uma obrigaccedilatildeo o que pode limitar o uso por projetos co-munitaacuterios de espectro geral mas natildeo representa uma restriccedilatildeo aos projetos de software corporativos ndash aliaacutes muito pelo contraacuterio

No momento o NovaForge em-prega 17 ferramentas para gerenciar seus softwares desde o CVS ou Subversion para o coacutedigo-fonte passando pelo GForge no campo do gerenciamento de projetos e documentos e chegando ateacute o Ma-ven para as tarefas automatizadas de industrializaccedilatildeo

Somada ao praacutetico gerencia-mento a garantia de qualidade dos projetos abrigados no NovaForge eacute um importante convite a qualquer organizaccedilatildeo que deseje desenvol-ver projetos de alta qualidade em escala corporativa

Mais informaccedilotildees

[1] Git httpgitorcz

[2] CVS na Wikipeacutedia httpptwikipediaorgwikiCVS

[3] Johannes Ploumltner e Steffen Wendzel ldquoFonte de organizaccedilatildeo httpwwwlinuxmagazinecombrarticlefonte_de_organizacao

[4] Subversion httpsubversiontigrisorg

[5] Mercurial httpwwwseleniccommercurialwiki

[6] Bitkeeper httpwwwbitkeepercom

[7] SourceForge httpsourceforgenet

[8] Ranking de atividade do SourceForge httpsourceforgenettopmostactivephptype=week

[9] Openbravo httpwwwopenbravocom

[10] Azureus httpazureussourceforgenet

[11] Inkscape httpwwwinkscapeorg

[12] Bull httpwwwbullcombr

[13] NovaForge httpwwwnovaforgeorg

[14] Microsoft CodePlex httpwwwcodeplexcom

[15] JBoss httpwwwjbosscom

[16] Portal httpwwwexoplatformcomportalpublicsite

[17] GForge httpgforgeorg

Figura 4 Os testes realizados automaticamente nos nightly builds fornecem vaacuterios dados a respeito do aplicativo

copy Linux New Media do Brasil Editora Ltda

49Linux Magazine 42 | Maio de 2008

TU

TO

RIA

L

Configurando o ambiente de desenvolvimento

Produto importadoSe for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte do ADempiere eacute muito faacutecil usar o poderoso ambiente de desenvolvimento Eclipse para importaacute-lopor Eduardo Montenegro

Chegamos agora agrave terceira parte de nosso tutorial sobre o ADempiere ERP amp CRM

Na uacuteltima ediccedilatildeo[1] fizemos uma pequena adaptaccedilatildeo ao sistema crian-do um novo campo que permitia a entrada de dados pelo usuaacuterio

Agora vamos importar o coacutedigo-fonte do ADempiere no ambiente de desenvolvimento Java Eclipse[2] que iraacute permitir o desenvolvimento de novos recursos no sistema utili-zando programaccedilatildeo

Vale lembrar que o objetivo deste tutorial eacute apresentar algumas carac-teriacutesticas principais do ADempiere sendo impossiacutevel esgotar esse assun-to ou nos aprofundarmos muito em determinados toacutepicos

O ambiente de desenvolvimento padratildeo utilizado pelos desenvolvedo-res do projeto ADempiere eacute o Eclipse Vamos acompanhar os passos neces-saacuterios para instalaccedilatildeo desse ambien-te de desenvolvimento e do plugin Subclipse[3] que utilizaremos para fazer o checkout do projeto do servi-dor SVN no SourceForge[4]

Instalaccedilatildeo do EclipseContinuando a configuraccedilatildeo de nos-so ambiente de desenvolvimento no Ubuntu[5] iremos fazer a instalaccedilatildeo do Eclipse por meio do repositoacuterio de pacotes usando o Synaptic Apoacutes pro-curar o pacote Eclipse basta efetuar a instalaccedilatildeo da forma normal Em segui-da seraacute necessaacuterio iniciaacute-lo para fazer a instalaccedilatildeo do plugin Subclipse

Plugin SubclipseNo menu principal do Eclipse iremos selecionar as opccedilotildees Help e em seguida Software Updates e Find and Install conforme indicado na figura 1

Na proacutexima janela como mostra a figura 2 selecionaremos a opccedilatildeo Search for New Features to Install e depois o botatildeo Next

Na janela seguinte eacute preciso acres-centar uma nova fonte remota de softwares selecionando a opccedilatildeo New Remote Site e digitando na nova janela o nome Subclipse 12x (Eclipse 32+) e a URL httpsubclipsetigrisorgupda-te_12x conforme a figura 3

Em seguida vamos selecionar para a busca a opccedilatildeo que acabou de ser criada na janela (figura 4) Ao ser exibido finalmente o plugin Subclipse (figura 5) deve-se selecionaacute-lo pressionando o botatildeo Finish em seguida

Ao concluir a ins-talaccedilatildeo do plugin o Eclipse precisaraacute ser reiniciado para que pos-sa ser utilizado

Repositoacuterio ADempiereDe volta ao Eclipse selecionaremos o menu Window Open Perspective e Other Na janela exibida na figura 6 deve ser selecionada a opccedilatildeo SVN Re-pository Exploring Na parte esquerda da janela na aba SVN Repository iremos clicar com o botatildeo direito do mouse e adicionar o repositoacuterio do ADempiere conforme demonstrado na figura 7 Seu endereccedilo eacute httpsadempieresvnsour-ceforgenetsvnrootadempiere [4]

Figura 1 A instalaccedilatildeo de novos plugins no Eclipse eacute bem simples

Figura 2 Como o plugin estaacute num novo repositoacuterio devemos acrescentaacute-lo manualmente

Figura 3 Dados do repositoacuterio do ADempiere

copy Linux New Media do Brasil Editora Ltda

50 httpwwwlinuxmagazinecombr

TUTORIAL | Alteraccedilotildees no coacutedigo-fonte do ADempiere

Figura 5 O plugin do Subclipse jaacute pode ser instalado

O projeto do ADempiere estaraacute disponiacutevel no Eclipse possibilitando a navegaccedilatildeo pelos diversos pacotes e arquivos do projeto por meio da aba do lado esquerdo conforme exibido na figura 10

Para executar o projeto a partir do Eclipse resta apenas definir um perfil de execuccedilatildeo que podemos criar com poucos passos 1 selecionar o menu Run e em

seguida Open Run Dialog 2 na janela aberta (figura 11)

selecionar a opccedilatildeo Java Appli-cation no painel esquerdo e pressionar o botatildeo New

3 no campo Name entrar com o nome Adempiere

4 no campo Project utilizan-do o botatildeo Browse selecionar o projeto receacutem-criado

5 finalmente no campo Main Class digitar orgcompiereAdempiere

Agora se pressionarmos o botatildeo Apply e em seguida selecionarmos Run o ADempiere seraacute executado a partir do Eclipse

ConclusatildeoAo final desse procedimento o am-biente de desenvolvimento do ADem-piere estaraacute configurado Com isso no proacuteximo artigo poderemos importar o projeto do ADempiereLBR[6] que eacute complementar ao LBR e acrescenta diversos recursos para a operaccedilatildeo do ADempiere no Brasil

Na proacutexima ediccedilatildeo veremos tam-beacutem algumas das principais caracte-riacutesticas do desenvolvimento de novos recursos para o ADempiere utilizando a linguagem Java

Jaacute com as informaccedilotildees do reposi-toacuterio no Eclipse iremos navegar ateacute a pasta Tags e em seguida clicando com o botatildeo direito do mouse em cima da pasta adempiere340 selecionaremos a opccedilatildeo Checkout (figura 8)

Na janela mostrada em seguida para a operaccedilatildeo de checkout basta confirmar a operaccedilatildeo selecionando os bototildees Next e em seguida Finish Esse passo pode demorar um pouco pois seratildeo copiados todos os arquivos do projeto ADempiere para a maacutequina local

De dentroVamos agora executar o ADempiere de dentro do Eclipse Selecionan-do no menu novamente as opccedilotildees Window Open Perspective e Other iremos voltar para a perspectiva Java (default) (figura 9)

Figura 4 Seleccedilatildeo do novo repositoacuterio configurado como fonte do plugin

Figura 6 O Subclipse permite a impor-taccedilatildeo de dados a partir de um repositoacuterio Subversion

Figura 7 Adicionando um repositoacuterio Subversion

copy Linux New Media do Brasil Editora Ltda

51Linux Magazine 42 | Maio de 2008

Mais informaccedilotildees

[1] Eduardo Montenegro ldquoConfiguraccedilatildeo do ADempiere ndash Faccedila a sua gestatildeordquo httpwwwlinuxmagazinecombrarticle1649

[2] Eclipse httpwwweclipseorg

[3] Subclipsehttpsubclipsetigrisorg

[4] Repositoacuterio do ADempiere no SourceForge httpsadempieresvnsourceforgenetsvnrootadempiere

[5] Ubuntu httpwwwubuntucom

[6] Projeto AdempiereLBR no Sourceforge httpsfnetprojectsadempierelbr

[7] Site do Projeto ADempiere httpwwwadempierecom

[8] Wiki do Projeto Adempiere httpwwwadempierecomwiki

[9] Foacuterum do ADempiere em portuguecircs httpforumkenoscombr

Figura 8 Realizaccedilatildeo do che-ckout no repositoacuterio

Figura 9 Com a perspectiva Java eacute pos-siacutevel trabalhar em projetos nessa linguagem como o ADempiere

Figura 10 Jaacute eacute possiacutevel navegar pelo coacutedigo do ADempiere

Figura 11 Criaccedilatildeo de um novo perfil para o projeto do ADempiere no Eclipse

copy Linux New Media do Brasil Editora Ltda

52 httpwwwlinuxmagazinecombr

Deacutecima primeira aula de preparaccedilatildeo LPIC-2

LPI niacutevel 2 Aula 11Configuraccedilatildeo do servidor BIND criaccedilatildeo e manutenccedilatildeo de arquivos de zonas e ferramentas relacionadaspor Luciano Siqueira

22071 Configuraccedilatildeo baacutesica de um servidor DNS Um servidor DNS ndash Domain Name System ndash converte remotamente no-mes de maacutequinas para seus respectivos nuacutemeros IP e vice-versa A correspon-decircncia entre o nome e o nuacutemero IP eacute chamada mapeamento e organizado de forma hieraacuterquica

Em outras palavras um domiacutenio como howtoslinuxcom seraacute quebrado e resolvido comeccedilando por com de-pois linux e finalmente howtos ndash itens chamados respectivamente top-level domain second-level domain e third-level domain Eacute nessa ordem que o endereccedilo IP para howtoslinuxcom seraacute obtido Os top-level domains mais comuns satildeo com org e net mas existem vaacuterios outros

O programa servidor responsaacutevel pelo mapeamento eacute o usrsbinnamed que eacute parte do pacote cha-mado BIND cujas especificaccedilotildees

satildeo definidas pelo Internet Systems Consortium Seu arquivo de confi-guraccedilatildeo eacute namedconf que pode ser encontrado no diretoacuterio etc ou etcbind Em versotildees do BIND anteriores agrave 8 o arquivo de configu-raccedilatildeo chama-se namedboot e possui sintaxe diferente Arquivos anteriores agrave versatildeo 8 natildeo funcionaratildeo nesta ou na 9 Para converter arquivos de con-figuraccedilatildeo de versotildees anteriores para a 8 pode ser utilizado o comando named-bootconf

Servidor caching-onlyO DNS caching-only eacute a mais simples implementaccedilatildeo de um servidor DNS Ele apenas requisita a resoluccedilatildeo do nome junto a um servidor externo e armazena a resposta para agilizar futuras requisiccedilotildees Exemplo de na-medconf para um servidor de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

Zonas convencionais tecircm seccedilotildees definidas de forma semelhante (exem-plo zone ldquolocalhost IN rdquo) e eacute importante que para cada uma delas seja especificada uma zona para DNS reverso (exemplo zone ldquo00127in-addrarpa IN rdquo) O DNS reverso eacute responsaacutevel por converter nuacutemeros IP para seus respectivos nomes

Voltando ao exemplo na seccedilatildeo options eacute indicado onde estatildeo os arquivos de zonas (directory ldquovarnamedrdquo) Estaacute definido apenas o mapeamento para ldquordquo que seraacute consultado se nenhum outro ma-peamento for encontrado Eacute este o caso do exemplo

No arquivo varnamedroothints haacute uma lista com os principais ser-vidores de nomes da Internet Este arquivo eacute gerado atraveacutes do comando

Toacutepico 207 DNS

TU

TO

RIA

L

Irum_Shahid - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

53

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

dig eroot-serversnet ns Como os endereccedilos de alguns servidores po-dem mudar eacute aconselhaacutevel atualizar o arquivo mensalmente O exemplo 1 mostra um trecho do arquivo varnamedroothints

Apoacutes alterar os arquivos de con-figuraccedilatildeo seraacute necessaacuterio reiniciar o daemon named responsaacutevel por responder agraves requisiccedilotildees de DNS Para que as configuraccedilotildees tenham efeito sem interromper o named basta enviar o sinal HUP para o processo atraveacutes do comando kill

kill -HUP `pidof named`

22072 Criaccedilatildeo e manutenccedilatildeo de zonas de DNSA principal diferenccedila entre um servidor DNS tradicional e um servidor DNS caching-only estaacute nos arquivos de zona Num ser-vidor tradicional os arquivos de zona conteacutem a correspondecircncia de IPs e nomes para os domiacutenios especificados em namedconf

Criando um domiacutenioPara cada domiacutenio sob responsabili-dade do servidor deve ser criada uma entrada no arquivo namedconf Essa entrada eacute muito parecida agravequela do exemplo de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo

A uacuteltima entrada indica opccedilotildees e o arquivo de zona para solicitaccedilotildees de nome para o domiacutenio ginkgo

Este eacute um domiacutenio fictiacutecio uti-lizado como exemplo para uma rede interna A opccedilatildeo type deter-mina a prioridade da zona para o domiacutenio pode ser master ou slave O arquivo definido na opccedilatildeo file deve ser criado no mesmo diretoacuterio selecionado na opccedilatildeo directory da seccedilatildeo options Pode ser escolhido qualquer nome para o arquivo de zona mas geralmente elege-se o nome do domiacutenio leva os prefixossufixos zone ou db

Registros da zonaO arquivo de zona conteacutem vaacuterias informaccedilotildees dos nomes do domiacutenio em questatildeo pode ser escrito confor-me o exemplo 2

Vamos analisar item a item este arquivo de zona para entender cada uma das suas entradas

$TTL 3D

Indica a validade-padratildeo ou por quanto tempo os dados con-

seguidos a partir deste servidor devem ser mantidos em um ca-che de DNS

IN SOA floydginkgo hostmasterginkgo (

Essa linha corresponde agrave prin-cipal entrada SOA (Start Of Au-thority) Ela determina qual o ser-vidor e o email do administrador do DNS O sinal eacute apenas um atalho para a origem (o domiacute-nio da zona) e tambeacutem pode ser especificado literalmente (neste caso deve ser especificado com um ponto no final ginkogo) O IN significa Internet e determina a classe do registro Na maior parte dos servidores DNS seraacute a uacutenica classe utilizada O termo SOA indica tratar-se do registro da autoridade para o domiacutenio seguido do nome do servidor DNS e do email do administrador Perceba que ambos satildeo terminados com um ponto O email tambeacutem tem um ponto no

Exemplo 1 Trecho de roothints

()DROOT-SERVERSNET 3600000 IN A 12881090AROOT-SERVERSNET 3600000 IN A 1984104HROOT-SERVERSNET 3600000 IN A 12863253CROOT-SERVERSNET 3600000 IN A 19233412()

Exemplo 2 Arquivo de zona

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floyd MX 5 mailfloyd A 19216801 hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

copy Linux New Media do Brasil Editora Ltda

54 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

lugar do O parecircntese no final da linha indica o iniacutecio das proprie-dades do registro

2007060401 serial 28800 refresh (8horas) 7200 retry (2 horas) 2419200 expire (4semanas) 86400 minimum (1 dia) )

Essa seccedilatildeo especifica algumas pro-priedades para a zona O primeiro nuacutemero 2007060401 determina um nuacutemero serial de identificaccedilatildeo Pode ser qualquer nuacutemero mas via de re-gra segue o formato de data mais um nuacutemero decimal Os demais valores determinam respectivamente inter-valo de atualizaccedilatildeo intervalo para novas tentativas prazo de validade das informaccedilotildees intervalo miacutenimo de permanecircncia no cachecirc Estes va-lores seratildeo informados aos clientes e outros servidores DNS que utilizam este mapa O caracter ldquordquo especifica um comentaacuterio e todo texto em se-guida seraacute ignorado pelo programa O final das propriedades do registro eacute determinado com o fechamento do parecircntese Continuando o exame

NS floyd MX 5 mailfloyd A 19216801

hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

Os demais registros correspondem agraves entradas de nomes da zona Se natildeo for informado no comeccedilo da linha eacute assumida a mesma origem (especificada pelo caracter ) e a classe (IN) Tipos de registro comuns satildeo NS especifica qual dos registros eacute

o servidor de nomes do domiacutenio tambeacutem citado no registro SOA

MX o servidor de email para o domiacutenio Pode haver mais de um sendo suas prioridades determinadas pelo nuacutemero agrave esquerda do nome do servidor Valores menores indicam maior prioridade

A mapeia o nome especifica-do agrave esquerda para o IP espe-cificado agrave direita A origem (domiacutenio) eacute automaticamente adicionada ao nome pois estaacute impliacutecita na entrada (ex floyd = floydginkgo)

CNAME cria um alias especifica-do agrave esquerda para um nome jaacute definido em outro registro Natildeo pode haver alias para um registro NS

PTR mapeia um nuacutemero IP para um nome Eacute utilizado para DNS reverso que veremos a seguir

DNS reversoAleacutem das zonas para resolver nomes para nuacutemeros IP eacute praxe criar zonas para resolver nuacutemeros IP para nomes processo chamado DNS reverso Para isso deve ser criada uma zona especiacute-fica no arquivo namedconf que aponte para outro arquivo de zona

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo zone ldquo0168192in-addrarpardquo IN type master file ldquodb1921680in-addrarpardquo allow-update none

O registro em destaque espe-cifica a zona reversa O nome da zona reversa comeccedila com o trecho do IP referente agrave rede escrito de traacutes para frente seguido do termo in-addrarpa que determina tratar-se de um registro de DNS rever-so Portanto o registro mostrado converteraacute em nomes os IPs que comecem por 1921680 As demais opccedilotildees como tipo nome de ar-quivo etc obedecem agraves mesmas regras do DNS

O arquivo de zona para o DNS reverso eacute praticamente idecircntico ao do DNS convencional mostrado no exemplo 3

A uacutenica diferenccedila encontra-se nos registros de nomes Aqui a ori-gem tambeacutem estaacute impliacutecita sendo necessaacuterio apenas especificar o tre-cho do IP especiacutefico do host Por se tratar de uma resoluccedilatildeo reversa eacute

Exemplo 3 Arquivo de zona do DNS reverso

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060402 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floydginkgo 1 PTR floydginkgo 2 PTR hamiltonginkgo 4 PTR felixginkgo 11 PTR emilyginkgo

copy Linux New Media do Brasil Editora Ltda

55

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

usado um registro do tipo PTR seguido do nome para o IP es-pecificado

Um detalhe importante eacute que o nome dos hosts preci-sa ser completo incluindo o domiacutenio e o ponto no final Isso evita que o DNS reverso interprete a origem (que aqui eacute 168192in-addrarpa) como sendo o domiacutenio

Para que as novas configuraccedilotildees tenham efeito eacute necessaacuterio reiniciar o servidor de nomes O procedimento pode ser feito via script de iniciali-zaccedilatildeo ou simplesmente enviando o sinal HUP para o processo

killall -HUP named

Servidores escravosPara aumentar a disponibilidade do serviccedilo eacute recomendaacutevel criar um servidor DNS escravo de preferecircn-cia numa localizaccedilatildeo fiacutesica distante do servidor primaacuterio para evitar que panes eleacutetricas por exemplo afetem ambos

A entrada em namedconf para de-finir um servidor escravo pode ser escrita da seguinte forma

zone ldquoginkgordquo type slave file ldquodbginkgordquo masters 19216801

O servidor escravo armazena-raacute os registros da zona ginkgo atraveacutes de um processo chamado transferecircncia de zona O arquivo de zona no servidor escravo possui apenas o registro SOA como mostra o exemplo 4

A zona soacute eacute transferida se o nuacutemero serial do servidor escra-vo for menor que o do servidor primaacuterio O valor refresh especi-fica o intervalo em que o servidor escravo verificaraacute atualizaccedilotildees de registro no servidor primaacuterio Se

o servidor natildeo pocircde ser contacta-do seratildeo feitas novas tentativas a cada intervalo especificado no valor retry A zona deixaraacute de existir no servidor escravo se o primaacuterio natildeo puder ser contactado ateacute o final do periacuteodo-limite especificado no valor expire O uacuteltimo valor minimum determina o periacuteodo miacutenimo que a zona deve permanecer no servidor escravo Por padratildeo todos os valo-res satildeo expressos em segundos Para alterar a unidade de tempo basta utilizar um sufixo como H (hora) D (dia) ou W (semana) Por exemplo 2H (duas horas)

Redirecionamento de servidorUm redirecionamento simplesmen-te transfere todas as solicitaccedilotildees fei-tas ao servidor para outro servidor DNS armazenando os resultados temporariamente para agilizar fu-turas solicitaccedilotildees semelhante a um servidor caching-only Para redire-cionar qualquer solicitaccedilatildeo basta criar a seccedilatildeo options em namedconf da seguinte forma

options directory ldquovarnamedrdquo forwarders 20019214021 2001921435

Seratildeo utilizados os servidores especificados na opccedilatildeo forwarders Para que apenas solicitaccedilotildees para uma zona especiacutefica sejam redire-cionadas o tipo da zona deve ser especificado como forward

zone ldquoginkgordquo IN type forward forwarders 20019214021 2001921435

Os servidores de destino das soli-citaccedilotildees devem ser especificados da mesma forma na opccedilatildeo forwarders

Diagnoacutestico do servidorAgora o servidor DNS jaacute pode ser testado para encontrar possiacuteveis pro-blemas Para uma checagem simples pode ser usado o comando host Mas antes natildeo se esqueccedila de alterar os dados do servidor de nomes em etcresolvconf para o servidor que vocecirc acabou de configurar Feito isso utilize o comando host para um dos nomes registrados na zona criada

host felix felixginkgo has address 19216804

Testando o DNS reverso

host 19216842 40168192in-addrarpa domain name pointer felix1681920in-addrarpa

Pocircde ser verificado que tanto o DNS convencional quanto o DNS reverso estatildeo funcionando ao menos para o nome e IP do host felix

Para evitar alterar o arquivo etcresolvconf e obter informaccedilotildees um pouco mais detalhadas basta

Exemplo 4 Arquivo de zona com o regsitro SOA

IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) )

copy Linux New Media do Brasil Editora Ltda

56 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

fornecer tambeacutem o nome do servi-dor DNS ao comando host

host www floydginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo hamiltonginkgo has address 19216802 Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo

Pela saiacuteda podemos verificar en-tre as informaccedilotildees mostradas que o host wwwginkgo trata-se de um alias para o host hamiltonginkgo

Uma ferramenta especiacutefica para diagnoacutestico de servidores DNS eacute o comando dig (Domain Information Groper) Apesar de possuir vaacuterias opccedilotildees que podem ser consultadas na paacutegina manual do comando a forma mais usual de invocaacute-lo eacute dig servidor domiacutenio tipo O servidor DNS especificado pelo caracter seraacute consultado pelo domiacutenio e tipo de registro O exemplo 5 mostra como utilizar o comando dig

A saiacuteda eacute dividida em seccedilotildees O cam-po status da seccedilatildeo HEADER nos permite verificar se foram encontrados erros no servidor DNS A seccedilatildeo QUESTION mostra que tipo de requisiccedilatildeo foi feita ao servidor A resposta eacute mostrada na seccedilatildeo ANSWER A seccedilatildeo ADDITIONAL mostra os endereccedilos dos nomes exibidos em ANSWER

Outra ferramenta eacute o coman-do nslookup que trabalha de duas formas interativo e natildeo-interativo

Usado sem argumentos o nslookup entra em modo interativo

nslookup gt

Dessa forma seraacute utilizado o servi-dor de nomes especificado em etcresolvconf Outro servidor pode ser especificado da seguinte forma

nslookup - floyd gt

Note que haacute um espaccedilo entre o traccedilo e o nome do servidor A maneira mais simples de utilizar o modo interativo eacute simplesmente fornecer um nome a verificar e pressionar [enter]

gt hamilton Server 19216801 Address 1921680153

Name hamiltonginkgo Address 19216802 gt

Exemplo 5 Utilizaccedilatildeo do dig

dig floyd ginkgo ANY

ltltgtgt DiG 932-P1 ltltgtgt floyd ginkgo ANY (1 server found) global options printcmd Got answer -gtgtHEADERltlt- opcode QUERY status NOERROR id 28285 flags qr aa rd ra QUERY 1 ANSWER 3 AUTHORITY 0 ADDITIONAL 2

QUESTION SECTION ginkgo IN ANY

ANSWER SECTION ginkgo 259200 IN SOA floydginkgo hostmasterginkgo 2007060402 28800 7200 2419200 86400 ginkgo 259200 IN NS floydginkgo ginkgo 259200 IN MX 10 felixginkgo ADDITIONAL SECTION floydginkgo 259200 IN A 19216801 felixginkgo 259200 IN A 19216804

Query time 0 msec SERVER 1921680153(19216801) WHEN Mon Jun 4 154409 2007 MSG SIZE rcvd 146

copy Linux New Media do Brasil Editora Ltda

| TUTORIALLPI Niacutevel 2

Para pesquisar um nome no modo natildeo-interativo podem ser fornecidos o nome e o servidor como argumen-tos para o nslookup

nslookup felix floyd Server floyd Address 1921680153

Name felixginkgo Address 19216804

22073 Seguranccedila de DNSPara o administrador precavido a fa-lha em um servidor DNS pode natildeo ser um desastre de grandes proporccedilotildees Ele pode conectar-se atraveacutes do IP do servidor (caso o tenha) e recupe-rar o serviccedilo Os demais usuaacuterios da rede por sua vez apenas acessam as maacutequinas atraveacutes de seus nomes Uma interrupccedilatildeo do servidor DNS mesmo que a comunicaccedilatildeo da rede

ainda exista torna inviaacutevel sua uti-lizaccedilatildeo para quem desconhece os endereccedilos IP das maacutequinas

Num cenaacuterio ainda pior um in-vasor pode interceptar as chamadas DNS e conhecer os nomes e endere-ccedilos das maacutequinas da rede facilitan-do a identificaccedilatildeo e ataque Caso os registros tenham sido alterados um usuaacuterio pode conectar-se a uma maacute-quina-armadilha acreditando tratar-se de uma maacutequina conhecida Neste caso o invasor poderia facilmente conseguir dados sensiacuteveis de todo usuaacuterio enganado

Enjaular o servidorO servidor DNS pode ser executa-do num ambiente isolado onde soacute existam os componentes necessaacute-rios agrave sua execuccedilatildeo Esse ambiente eacute denominado jaula chroot Este processo ajuda a garantir a segu-ranccedila do servidor BIND colocan-

do-o numa ldquogaiolardquo que limitaraacute o ldquoestragordquo caso o servidor seja com-prometido Junto com a restriccedilatildeo a arquivos e diretoacuterios o servidor deve ser executado por um usuaacuterio sem privileacutegios de root

Por exemplo o daemon named pode ser iniciado como proces-so do usuaacuterio natildeo-privilegiado bind tendo como diretoacuterio raiz varnamed

named -u bind -t varnamed

Para que a jaula chroot fun-cione eacute necessaacuterio adaptar algu-mas variaacuteveis na configuraccedilatildeo do BIND O diretoacuterio raiz enxergado pelo daemon named seraacute varna-med portanto eacute necessaacuterio indi-car corretamente a localizaccedilatildeo de arquivos e diretoacuterios como o diretoacuterio dos arquivos de zona e do arquivo de PID

copy Linux New Media do Brasil Editora Ltda

58 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

DNSSECAs transferecircncias de informaccedilotildees entre servidores DNS podem ser autenticadas atraveacutes de uma chave do DNSSEC um complemento do BIND

A chave eacute gerada pelo comando dnssec-keygen Diferentes algoriacutetimos podem ser escolhidos No exem-plo elas seratildeo geradas no diretoacuterio varnamed

cd varnamed dnssec-keygen -a DSA -b 768 -r devuramdom -n ZONE ginkgo

A opccedilatildeo -a especifica a criptografia utilizada a opccedilatildeo -b o tamanho da chave e -r a fonte de dados aleatoacute-rios para gerar a chave (se -r natildeo for fornecido o teclado seraacute usado como fonte de dados aleatoacuterios) A opccedilatildeo -n especifica qual o tipo do dono da chave (ZONE) Por fim eacute especificado o nome (ginkgo)

Terminada a execuccedilatildeo seraacute emitida uma resposta no formato Knnnn+aaa+iiiii Os elementos da resposta significam nnnn Nome da chave aaa Representaccedilatildeo numeacuterica

do algoriacutetimo iiiii Identificaccedilatildeo da chave

(ou impressatildeo digital)Neste exemplo foram gerados

dois arquivos Kginkgo+003+47654key e Kginkgo+003+47654pri-vate O arquivo key deve ser mencionado na respectiva zona atraveacutes de um $include ao final do arquivo

$include Kginkgo+003+47654key

Feito isso a zona deve ser assinada com o comando dnssec-signzone

dnssec-signzone -r devurandom -o ginkgo dbginkgo Kginkgo+003+47654

A opccedilatildeo -o define a origem do arquivo de zona Se natildeo for espe-

cificada a chave seratildeo utilizadas as mencionadas na zona O arqui-vo de saiacuteda dbginkgosigned seraacute criado e deveraacute ser especificado no registro da zona em namedconf

zone ldquoginkgordquo IN type master file ldquodbginkgosignedrdquo allow-update none

Tambeacutem seratildeo criados arquivos dsset e keyset utilizados para que o administrador da zona superior saiba quais chaves satildeo o ponto de entrada seguro para a zona

Os servidores DNS que bus-cam dados no servidor em que o DNSSEC foi utilizado poderatildeo agora validar os dados atraveacutes da chave puacuteblica contida no arqui-vo Kginkgo+003+47654key Essa chave deve estar presente na entrada trusted-keys do arquivo namedconf que obedece a seguin-te sintaxe

trusted-keys string number number number string string number number number string

A entrada trusted-keys pode fazer referecircncia a vaacuterias chaves Cada campo corresponde ao nome do domiacutenio opccedilotildees protocolo algoritmo utilizado e o coacutedigo da chave gerada Todos esses dados estatildeo contidos no arquivo key

No caso do exemplo o registro trus-ted-keys ficaria da seguinte forma

trusted-keys ldquoginkgordquo 256 3 3 ldquoBPDC8hyXf5G8TrgNikGbTVRTlpzpo5ldQt0ROv3viRFBlj7Je2NKIAoJGyEOhmmGHRw4Ls0uHLeQasRAFqz3IKIFh3UpH3b8KYoebkPaDk68zoFphMknxTAr3aUxPmzMKfkDzfHnfe2izxLhzZp52Me

fdeVbuMhusD5BmS4RMK5hsQmjpd8ew3L17RD6WxHxb5KBhr91qVEakLDcPnBG7fCDKgJbG6ynKd8iZKjZHgn5Ve1vQh4az72SCEnkOhljc6mkvUZmg+63PXtedw9IJaXULeq5iMydmZkRTvZtXlQnxObOOACSHwzO3WQSWvruOz6R9mjGY oSyhsAbnEx3HEETwn89GyJMKtYAsBHsTgAJyKgOMPx3OYOvSPCQThOXDuIoLzYEL3HnUqx5P5PXrdquo

Restringir acessoEacute possiacutevel restringir totalmente o acesso ao servidor de nomes a uma rede ou a um host especiacutefico atraveacutes da opccedilatildeo allow-query

allow-query 1921680024

Essa opccedilatildeo pode ser definida tanto na seccedilatildeo options quanto numa entrada de zona Se defini-da em ambos prevaleceraacute para a zona as regras nela especificadas Podem ser especificados mais de um endereccedilo de rede ou host

Para restringir transferecircncias de zona entre servidores ndash ou atraveacutes de comandos como dig e nslookup pode ser utilizada a opccedilatildeo allow-transfer na seccedilatildeo options

allow-transfer 19216802

Como para a opccedilatildeo allow-query mais de um endereccedilo podem ser especificados separados por ldquordquo

Consideraccedilotildees sobre o toacutepicoEste eacute outro toacutepico muito abor-dado na prova Sobretudo co-nheccedila muito bem o formato do arquivo namedconf e os arquivos de zona

Comandos relacionados como rndc dig e host tambeacutem seratildeo abordados

copy Linux New Media do Brasil Editora Ltda

59Linux Magazine 42 | Maio de 2008

AN

AacuteLIS

E

O SpagoBI oferece um pacote de BI completo e de Coacutedigo Aberto

Negoacutecio inteligenteO ramo da Business Intelligence conta com poderosas ferramentas e o SpagoBI se destaca entre as alternativas livres por sua modularidade e consequumlente flexibilidadepor Miguel Koren OrsquoBrien de Lacy

A praacutetica de BI (Business In-telligence) eacute tradicionalmente associada a bancos de dados

enormes em que as aacutereas de mar-keting das empresas tentam descobrir padrotildees de preferecircncias dos clientes usando consultas padronizadas Esses bancos de dados comumente conhe-cidos como data warehouses ou data mart satildeo formados por informaccedilotildees vindas dos mais diversos sistemas da empresa Um data warehouse eacute o repositoacuterio eletrocircnico de informa-ccedilotildees armazenadas da empresa Um data mart eacute um subconjunto de in-formaccedilotildees geralmente focadas em alguma necessidade especiacutefica Um exemplo poderia ser o data mart de informaccedilotildees de produccedilatildeo etc No Brasil temos o costume de usar o termo DW quando nos referimos a um data mart Outra aceitaccedilatildeo comumente encontrada no mer-cado considera sistemas BI como geradores de relatoacuterios diminuindo sua utilidade

Para nivelarmos o conhecimento da mateacuteria podemos convencionar que BI se refere agrave praacutetica de procu-rar armazenar e analisar a informa-ccedilatildeo apresentando em seguida os resultados necessaacuterios para tomar decisotildees fundamentadas e corretas Os sistemas de BI satildeo aplicativos ou ferramentas que suportam e permi-tem essas atividades necessariamente orientados pelos dados

Eacute importante lembrar que sem conhecimento do negoacutecio ou seja das necessidades de informaccedilatildeo e das decisotildees que precisam ser tomadas natildeo existe a possibilidade de prati-car BI Os sistemas de BI satildeo apenas facilitadores

O uso original de BI e as dificul-dades em implementar as soluccedilotildees fizeram com que o segmento atuasse como um espelho do passado para mostrar agrave empresa onde exatamente ela cometeu erros O que se deseja atualmente eacute um sistema de posi-cionamento que mostre onde a em-presa estaacute e como deve evoluir para chegar ao destino pretendido

Os sistemas BI devem mostrar informaccedilatildeo histoacuterica atual e visotildees preditivas O poder analiacutetico e a na-

vegaccedilatildeo pelas informaccedilotildees formam o atual potencial desses sistemas A visatildeo eacute poder obter os benefiacutecios de BI em qualquer lugar e qualquer momento O objetivo que precisa ser satisfeito hoje eacute o monitoramento de diversos indicadores para diversas aacutereas e consolidados para a empresa com o objetivo de aplicar o Geren-ciamento de Performance do Negoacutecio (BPM ndash Business Performance Ma-nagement nesse caso) Tambeacutem eacute interessante suportar um novo termo BI operacional que integra as in-formaccedilotildees analisadas pelo BI tradi-cional (em visatildeo de piracircmide satildeo o BI estrateacutegico e o BI taacutetico) com necessidades operacionais

A IDC publicou um estudo em 2006 que mostra um crescimento anu-

Figura 1 Modelo estrutural de funccedilotildees do SpagoBI

ramzi hashisho ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

60 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

al de 10 em soluccedilotildees BI entre 2005 e 2010 Diversas fontes citam o valor que o BI representa para as empresas e indicam que essa aplicaccedilatildeo comeccedila a fazer parte das soluccedilotildees de negoacutecio e natildeo simplesmente um aplicativo da aacuterea de marketing comprado e instalado por acaso Agrave medida que o mercado olha para os sistemas BI como criacuteticos para a gestatildeo as em-presas fornecedoras dessa tecnologia estatildeo se fundindo resultando em me-nos opccedilotildees para os clientes Algumas aquisiccedilotildees recentes em 2007 satildeo a compra da Hyperion pela Oracle[1] da Business Objects pela SAP[2] e da Cognos pela IBM[3]

Ao mesmo tempo que o mercado de sistemas comerciais estaacute se consoli-

dando aparecem siste-mas de BI licenciados como Software Livre o que aumenta o nuacute-mero de opccedilotildees para os clientes Essa modali-dade de licenciamento vem ao encontro das necessidades de imple-mentaccedilatildeo de BI para todos os funcionaacuterios da empresa pois pelo fato de natildeo existir cus-to de licenciamento eles podem ser usados por todos A empresa Ventana Research[4]

publicou um estudo sobre softwa-res de BI livres em 2006 que mostra que 48 das empresas entrevistadas indicaram o fator de custo como o mais importante na seleccedilatildeo de uma soluccedilatildeo de coacutedigo aberto Adicional-mente 24 dos usuaacuterios individuais entrevistados nesse estudo disseram que o uso de sistemas BI ajuda a aten-der melhor as necessidades pessoais de informaccedilatildeo e decisatildeo que devem fazer no dia-a-dia nas empresas

Natildeo existe uma variedade muito grande de sistemas BI de Coacutedigo Aberto que possam ser chamados de completos Devido agrave diversidade de componentes de um pacote de BI tais como geradores de relatoacuterios

anaacutelise de dados em cubos OLAP (on-line analytic processing)

mineraccedilatildeo de da-dos e

indicadores e pai-neacuteis de controle (dashboards)

entre outros muitos sistemas que atendem somente a uma ou poucas dessas aacutereas es-tatildeo classificados como sistemas BI Tambeacutem

eacute perceptiacutevel o fato de que os siste-mas BI completos de Coacutedigo Aberto contam com suporte oficial de uma empresa seja atuante no mercado BI ou profundamente envolvida com o Software Livre em geral

Caracteriacutesticas e tecnologiaO SpagoBI[5] eacute um sistema que satisfaz as condiccedilotildees para ser usa-do corporativamente atendendo a grande parte das necessidades de informaccedilatildeo relatadas acima Ele estaacute agrupado sob o conceito do Spago World que tem os seguintes obje-tivos gerais fornecer uma soluccedilatildeo livre poder ser usado em ambientes

corporativos facilitar a incorporaccedilatildeo de outras

tecnologias para formar um pa-cote de componentes variados

enfocar o desenvolvimento de soluccedilotildees

formar uma comunidade e contar com serviccedilos de suporte

O SpagoBI eacute membro do con-soacutercio OW2[6] suportado prin-cipalmente pela Bull[7] e pela France Telecom[8] O sistema foi desenvolvido como um framework para aplicativos web em Java para atender a projetos internos Em 2004 o ambiente foi completado e liberado sob a GPL no Source-Forge e posteriormente hospedado no ObjectWeb hoje OW2

O sistema hoje estaacute sob a li-cenccedila LGPL e tem tambeacutem a vantagem de ser verdadeiramente livre devido ao modelo de negoacutecio aplicado O SpagoBI natildeo oferece qualquer restriccedilatildeo ao uso e natildeo existem versotildees comerciais mais completas como eacute frequumlente em outros aplicativos de negoacutecio de Coacutedigo Aberto

Em 2007 foram liberadas algu-mas outras soluccedilotildees do Spago World Spago4Q (indicadores e meacutetricas de

Figura 2 Modelo estrutural do SpagoBI

Figura 3 Tela inicial do aplicativo analiacutetico

copy Linux New Media do Brasil Editora Ltda

61

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

qualidade no processo de desenvol-vimento de software) e Spagic (pla-taforma de integraccedilatildeo de sistemas utilizando SOA e BPM ndash Business Process Management nesse caso)

ComponentesO SpagoBI possui seis componentes principais servidor SpagoBI Spago-BI Studio SpagoBI SDK SpagoBI Meta e SpagoBI Applications

O servidor SpagoBI compreende o nuacutecleo para consultas pelo aplica-tivo aleacutem de apresentar o modelo analiacutetico do sistema Ele oferece os seguintes serviccedilos interface com o usuaacuterio intuiti-

va tipo rich client configuraccedilatildeo de fontes de dados geraccedilatildeo livre de consultas ao

sistema para anaacutelise assinaturas para receber informa-

ccedilatildeo perioacutedica e notificaccedilotildees aacutereas (pastas) para uso pessoal salvar importar e exportar as

configuraccedilotildees paacutegina individual (do tipo

MeuBI) integraccedilatildeo com mecanismos de vi-

sualizaccedilatildeo (PALO para Excel[9] e JPALO para Web[10])

alertas e notificaccedilotildees motor de busca acesso a consultas preacute-configu-

radas agrupadas por tiposO SpagoBI Studio por sua vez eacute

um ambiente em forma de plugin para o Eclipse[11] para desenvolver soluccedilotildees dentro do SpagoBI Ele oferece modeladores para todos os documentos analiacuteticos permite o upload para o servidor SpagoBI e possibilita a realizaccedilatildeo de testes aces-sando dados de testes ou reais

A SpagoBI SDK consiste em uma interface para acesso a serviccedilos de BI que possam ser integrados a outros aplicativos Oferece uma biblioteca de tags a proacutepria API de integraccedilatildeo e acesso a Web Services

Enquanto isso o SpagoBI Meta eacute um mecanismo de armazenamen-to de metadados (informaccedilatildeo que descreve os dados) Os metadados permitem que o usuaacuterio que faz a anaacutelise possa conhecer melhor a informaccedilatildeo tratada assim como a fonte dessa informaccedilatildeo

Por uacuteltimo as SpagoBI Appli-cations compreendem diversos aplicativos verticais Dentro desse conceito podemos mencionar o SpagoBI for AREAS utilizado para BI no campo da medicina AREAS eacute um sistema ERP italia-no voltado para empresas de me-

dicina que selecionou o SpagoBI como seu componente BI

As funcionalidades do sistema satildeo geraccedilatildeo de relatoacuterios com su-

porte a diversos mecanismos anaacutelise de dados em visotildees de

cubos OLAP paineacuteis de controle com indica-

dores (KPI) mineraccedilatildeo de dados visualizaccedilatildeo geograacutefica processos ETL (Extract Trans-

form Load) simulaccedilotildees what-if dossiecirc cataacutelogo de informaccedilotildees gerador de consultas usando

Figura 4 Menu de opccedilotildees e painel de controle

Figura 5 Exemplos de novos termocircmetros para formar paineacuteis

copy Linux New Media do Brasil Editora Ltda

62 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

mecanismos QbE (query by example) integraccedilatildeo de servi-

ccedilos BI ao Microsoft Office

colaboraccedilatildeoA figura 1 mostra o flu-

xo de informaccedilatildeo entre as diversas funccedilotildees da so-luccedilatildeo Todas as funccedilotildees satildeo acessadas somente pelo moacutedulo denomi-nado Modelo Compor-tamental que gerencia as permissotildees de acesso O sistema estaacute prepara-do para uso empresarial

considerando as seguintes carac-teriacutesticas restriccedilatildeo de

acesso agraves in-formaccedilotildees

single sign-on a publicaccedilatildeo

de elementos do sistema tais como definiccedilotildees de relatoacuterios eacute gerenciada den-tro do CMS (content mana-gement system) utilizando a nor-ma JSR 170

sistema escalaacutevel pois eacute escrito em Java e funciona dentro de um servidor de aplicaccedilatildeo

permite o uso de vaacuterios moto-res diferentes tanto de Coacutedigo Aberto quanto proprietaacuterios

eacute uma plataforma de integraccedilatildeo natildeo apenas um aplicativo

A figura 2 mostra a arquitetura do SpagoBI

Uma limitaccedilatildeo presente com frequumlecircncia em sistemas BI de Coacutedi-go Aberto eacute o fato de serem apenas ferramentas para construir a soluccedilatildeo sem um aplicativo pronto para ser utilizado plenamente O SpagoBI se destaca por apresentar tambeacutem

um aplicativo para o usuaacuterio de BI Esse aplicativo eacute acessado de dentro do ambiente web oferecido por outro componente OW2 a Exo Platform[12] que tem a possibilidade de rodar o aplicativo dentro de sua arquitetura de virtualizaccedilatildeo da aacuterea de trabalho o WebOS[13] Poreacutem adicionalmente agrave eXo Platform o SpagoBI estaacute cer-tificado para rodar dentro do portal Liferay[14] muito conhecido e uti-lizado em ambientes de arquitetura Java O CMS JSR 170 tambeacutem eacute for-necido pela eXo Platform

DiferenciaisUm diferencial muito importante do SpagoBI eacute ser uma plataforma de integraccedilatildeo para diversas ferramentas de BI Como consequumlecircncia para ob-tenccedilatildeo de um aplicativo completo devem ser instalados os diversos me-canismos individuais do SpagoBI

O sistema eacute completamente desen-volvido em Java com operaccedilatildeo pelo navegador web para uso e consultas Certos componentes satildeo utilizados em ambiente graacutefico ndash e natildeo web ndash como o mecanismo ETL Entre os componentes agrupados pelo SpagoBI podemos encontrar projetos de Coacutedigo Aberto bem conhecidos como Weka para mineraccedilatildeo de dados Mondrian e PALO para anaacutelise

OLAP de cubos multi-dimen-sionais

BIRT e Jasper Reports para ge-raccedilatildeo de relatoacuterios

Talend para processos ETL Lazslo para paineacuteis de controle

e indicadores

OperaccedilatildeoPrimeiramente o aplicativo deve ser acessado por meio do navegador web O mecanismo de seguranccedila determi-na as permissotildees de acesso do usuaacuterio no processo de login (figura 3)

Apoacutes o login o usuaacuterio tem agrave dis-posiccedilatildeo a tela inicial em que pode

Figura 6 Tela com a visatildeo geograacutefica dos dados

Figura 7 Interface de acesso a BI fornecida pelo WebOS

Figura 8 Seleccedilatildeo de relatoacuterios no navegador BI

copy Linux New Media do Brasil Editora Ltda

63

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

selecionar as operaccedilotildees a efetuar A figura 4 exibe o painel de controle com indicadores de desempenho

Eacute possiacutevel substituir os indicadores visuais da figura 4 por outros como os da figura 5 particularmente interes-santes para o usuaacuterio por mudarem de posiccedilatildeo dinamicamente pelo acesso regular aos dados que representam O painel portanto natildeo conteacutem ape-nas informaccedilotildees estaacuteticas

Para gerar uma nova consulta o usuaacuterio pode usar a funcionalidade QbE (query by example) que exibe as tabelas que podem ser consulta-das e para cada uma os dados que podem ser selecionados

Com as consultas definidas tan-to diretamente em bancos de dados quanto em cubos para anaacutelise OLAP pode ser configurada uma tela de con-sulta geograacutefica conforme mostrado na figura 6 Selecionando aacutereas da fi-gura o usuaacuterio seraacute levado a telas de consulta dos detalhes do item

Usando as possibilidades do We-bOS eacute possiacutevel definir telas BI mais sofisticadas conforme mostra a figura 7 Poreacutem caso a consulta requerida seja frequumlente talvez jaacute esteja disponiacutevel para consulta imediata pelo navegador de consultas do sistema (figura 8)

A interface graacutefica do aplicativo web permite que o usuaacuterio agrupe di-ferentes relatoacuterios e visotildees em conjun-tos denominados dossiecircs Cada rela-

toacuterio ou objeto BI em geral permite que o usuaacuterio faccedila anotaccedilotildees Assim pode ser delegada a funccedilatildeo de pre-parar por exem-plo um dossiecirc de status de projeto a usuaacuterios de dife-rentes aacutereas que possam preparar o material e re-gistrar questotildees relevantes para a anaacutelise final Essa

eacute a base das possibilidades colabora-tivas do sistema

Os relatoacuterios podem ser salvos em diferentes formatos atualmen-te limitados a HTML PDF XLS CSV XML TXT e JPG

A figura 9 mostra um exemplo de tela com o editor de notas aberto

ConclusatildeoFazer uso eficiente e produtivo de um pacote de BI eacute uma meta nobre e difiacutecil de atingir A forma de implementar o SpagoBI e a possibilidade de integraccedilatildeo de motores individuais de diferentes fa-bricantes permite que o uso do SpagoBI comece pouco difundido e aumente conforme as necessidades

A implementaccedilatildeo do SpagoBI considera ter resultados bons mesmo que parciais algo muito importante para o projeto de implementaccedilatildeo O SpagoBI permite que a empresa inicie por exemplo apenas com a necessidade de um termocircmetro que mostre em forma de painel de con-trole a quantidade de peccedilas vendidas por semana

O estudo da Ventana Research mencionado anteriormente mos-tra que as empresas entrevistadas consideram que os pacotes de BI de Coacutedigo Aberto tecircm suficientes caracteriacutesticas para serem usados Esse eacute o caso do SpagoBI o clien-te que resolver iniciar um projeto

de BI com ele natildeo sentiraacute falta de funcionalidades para aspectos fun-damentais de BI Destacamos que para uma implementaccedilatildeo bem sucedida eacute muito importante dar passos firmes sustentados com um planejamento adequado

Mais informaccedilotildees

[1] Aquisiccedilatildeo da Hyperion pela Oracle httpwwworaclecomcorporatepress2007_marhyperionhtml

[2] Aquisiccedilatildeo da Business Objects pela SAP httpwwwbusinessobjectscomcompanysap

[3] Aquisiccedilatildeo da Cognos pela IBM httpwwwcognoscomnewsreleases20071112html

[4] Ventana Research httpwwwventanaresearchcom

[5] SpagoBI httpspagobiengit

[6] Consoacutercio OW2 httpwwwow2org

[7] Bull httpwwwbullcombr

[8] France Telecom httpwwwfrancetelecomcom

[9] PALO httpwwwjedoxcom

[10] JPALO httpwwwjpalocom

[11] Eclipse httpwwweclipseorg

[12] eXo Platform httpwikiexoplatformcomxwikibinviewMain

[13] WebOS httpwikiexoplatformcomxwikibinviewMainWebOS+concept

[14] Liferay httpwwwliferaycom

Figura 9 Relatoacuterio graacutefico mostrando o editor de notas

copy Linux New Media do Brasil Editora Ltda

64

AN

AacuteLIS

E

httpwwwlinuxmagazinecombr

DVD do assinante Librix 3

Para conquistar o puacuteblicoEm sua versatildeo 30 o Librix da Itautec atinge a maturidade para ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientespor Pablo Hess

Distribuiccedilotildees genuinamente nacionais de grande sucesso jaacute foram numerosas e muito

presentes nas maacutequinas brasileiras Atualmente no entanto satildeo raras especialmente apoacutes a meteoacuterica as-cenccedilatildeo do Ubuntu entre os usuaacuterios de desktop assim como a ampla ado-

ccedilatildeo de distribuiccedilotildees mundialmente difundidas como Open Suse Fedora e Mandriva

A onda de novas distribuiccedilotildees nacio-nais no entanto promete mudar esse cenaacuterio Fortemente baseadas em dis-tribuiccedilotildees usadas em grande escala no exterior as distribuiccedilotildees que equipam os

computadores ven-didos sob o programa Computador Para Todos do Governo Federal geralmente realizam apenas al-gumas adaptaccedilotildees graacuteficas e de idiomas para tornarem o uso das maacutequinas mais praacutetico para nosso povo ndash com algumas exceccedilotildees eacute claro

Uma das mais gratas dentre exce-ccedilotildees estaacute sendo en-tregue junto com o DVD do assinante desta ediccedilatildeo da Li-nux Magazine O Librix 3 fabricado pela Itautec tem base no poderoso e flexiacutevel Gentoo ndash conhecido espe-cialmente entre os usuaacuterios avanccedilados de Linux O valor do Librix no entanto reside justamente em seu sucesso na oferta de inuacutemeras vantagens a uma

ampla gama de usuaacuterios Enquanto os mais iacutentimos do sistema do pinguumlim tecircm agrave disposiccedilatildeo os flexiacuteveis utilitaacuterios de linha de comando do Gentoo os usuaacuterios inexperientes que iniciam seu aprendizado em Linux com a dis-tribuiccedilatildeo da Itautec desfrutam de um agradaacutevel e organizado ndash aleacutem de atra-ente claro ndash ambiente KDE

BelezaA aacuterea de trabalho do Librix (figura 1) traz os principais iacutecones que o usuaacuterio iniciante espera encontrar aleacutem da Pasta do Usuaacuterio pode-se acessar o navegador Firefox o pacote de escritoacute-rio BrOfficeorg o Sistema Konqueror (acessando a URI system e exibindo locais de rede e miacutedias externas ndash figura 2) e a lixeira

E jaacute comeccedilam as inovaccedilotildees O tema adotado por padratildeo como mostra a fi-gura 2 eacute colorido e elegante capaz de agradar todos os tipos de usuaacuterios ndash uma constante nessa versatildeo da distribuiccedilatildeo jaacute podemos adiantar Os efeitos graacuteficos do desktop fornecidos pelo gerenciador de janelas Compiz e com ornamentos do Emerald vecircm desabilitados mas um iacutecone na barra de tarefas (figura 3) permite sua ativaccedilatildeo e configura-ccedilatildeo baacutesica com apenas dois cliques do mouse ou a alteraccedilatildeo de opccedilotildees mais avanccediladas mediante o acionamento de utilitaacuterios completos

Ao ser ativado o Compiz a con-figuraccedilatildeo-padratildeo do Librix 3 utiliza todos os recursos disponiacuteveis geral-mente em modo aleatoacuterio Embora isso possa ser impressionante para fins de demonstraccedilatildeo os usuaacuterios

Figura 1 A aacuterea de trabalho do Librix 3 traz os iacutecones mais impor-tantes e um visual muito atraente

Figura 2 O navegador do sistema exibe dispositivos de armazena-mento externos e remotos

copy Linux New Media do Brasil Editora Ltda

65

| ANAacuteLISEDVD do assinante

Linux Magazine 42 | Maio de 2008

podem se cansar rapidamente desse comportamento exagerado

O menu trazido pela Itautec (figura 4) eacute outro aspecto novo nessa versatildeo da distribuiccedilatildeo Seu comportamen-to diferente do presente nas demais distribuiccedilotildees Linux da atualidade no entanto pode ser um fator negativo especialmente para os usuaacuterios inex-perientes ndash felizmente desativaacute-lo eacute tatildeo faacutecil quanto ativar os efeitos 3D exigindo apenas um clique com o botatildeo direito sobre o botatildeo Menu e sua configuraccedilatildeo

PoderO sistema Gentoo que vive sob o Librix eacute o velho conhecido dos obcecados por personalizaccedilatildeo Utilizando um mirror da distribuiccedilatildeo padratildeo os pacotes que diferenciam essa distribuiccedilatildeo de sua ldquoprogenitorardquo residem nos overlays (re-positoacuterios alternativos de pacotes) locais em usrlocalportage e usrlocalportagexeffects Isso eacute suficiente para fornecer ao Librix o pacote de escritoacuterio BrOfficeorg (ausente no Gentoo) e o gerenciador graacutefico de pacotes Tutoo Package Manager (figura 5) aleacutem de alguns outros softwares que englobam desde moacutedulos para a linguagem Python ateacute as leves particularidades graacuteficas do sistema da Itautec

Mesmo com todas essas facilida-des o gerenciamento do sistema pode ser feito inteiramente pela linha de comando com os poderosos emer-ge eselect equery e companhia A

Itautec natildeo utiliza pacotes binaacuterios ou seja o sistema compila cada um dos pa-cotes instalados no sistema salvo importantes exceccedilotildees como o BrOfficeorg ndash cuja compilaccedilatildeo levaria vaacuterias horas Apesar de tornar a instalaccedilatildeo de novos softwa-res significativamente mais lenta que distribuiccedilotildees com pacotes DEB RPM ou tgz essa estra-teacutegia garante a possibilidade de per-sonalizaccedilatildeo por meio das flags USE responsaacuteveis por ativar ou desativar as opccedilotildees de compilaccedilatildeo de cada pacote que compotildee o sistema Aleacutem disso garante a constante atualizaccedilatildeo dos pacotes satisfazendo dependecircncias com facilidade e anulando as restri-ccedilotildees de versotildees de bibliotecas

PraticidadeNatildeo haacute como negar o puacuteblico-alvo dessa distribuiccedilatildeo eacute o usuaacuterio iniciante que estaacute travando seu primeiro contato com o Linux Nesse sentido um im-portante aspecto do sistema eacute incluir ldquode faacutebricardquo softwares que supram as necessidades de quem jaacute tem costume com algum sistema Windowsreg

O Librix jaacute traz os codecs de aacuteudio e viacutedeo proprietaacuterios da Microsoft (WMA e WMV satildeo seus principais represen-tantes) e eacute capaz de reproduzir DVDs em seu reprodutor multimiacutedia Kaffeine Os usuaacuterios do iTunes da Apple tam-beacutem podem evitar a saudade usando

o amigaacutevel Amarok Softwares raramente incluiacutedos em outras distribuiccedilotildees como o Skype e o geren-ciador de downloads Downloader for X por exemplo tam-beacutem vecircm instalados mas falta um utilitaacute-rio de configuraccedilatildeo de conexotildees PPPoE a mais comum em serviccedilos ADSL

ConclusotildeesA Itautec vem me-lhorando seu Librix a cada nova versatildeo Com facilidades im-portantes voltadas aos novos usuaacuterios Linux a distribuiccedilatildeo se torna uma al-ternativa interessante para os usuaacuterios que temem deixar sua zona de con-forto em relaccedilatildeo ao comportamento de seu desktop

O gerenciamento de pacotes agora feito pelo TPM finalmente alcanccedilou o niacutevel de maturidade exigido para satisfa-zer as necessidades do puacuteblico iniciante ndash principalmente a facilidade de uso e compreensatildeo ndash ainda assim preservando o poder do Portage ldquosob o capocircrdquo

O visual e o comportamento do am-biente desktop fazem alusatildeo agraves atuais versotildees do Windows (XP e Vista) o que certamente contribui para a que-da de uma importante barreira para a adoccedilatildeo dessa distribuiccedilatildeo no programa Computador Para Todos

Figura 3 Ativar e desativar os efeitos 3D na aacuterea de trabalho do Librix eacute muito praacutetico

Figura 4 O menu KBFX vem ativado por padratildeo e mostra seme-lhanccedilas com o de diferentes versotildees do Windows

Figura 5 O Tutoo Package Manager livra o usuaacuterio de adquirir intimidade com o comando emerge

copy Linux New Media do Brasil Editora Ltda

66 httpwwwlinuxmagazinecombr

Manipulando maacutequinas com o Puppet

MarioneteAprenda a economizar tempo e agilize a administraccedilatildeo de sistemas com ajuda do Puppet uma ferramenta de gerenciamento e configuraccedilatildeo centralizadospor Juliet Kemp

O Puppet eacute um sistema centra-lizado de gerenciamento de configuraccedilatildeo que usa uma

linguagem de especificaccedilatildeo multiplata-forma Para usaacute-lo executa-se um ser-vidor Puppet central ndash o puppetmaster ndash e os daemons do programa em todos os computadores que devem ser admi-nistrados As opccedilotildees de configuraccedilatildeo para todas as maacutequinas-cliente satildeo es-pecificadas no PuppetMaster Depois as alteraccedilotildees nas configuraccedilotildees satildeo propagadas a partir do PuppetMaster para os clientes adequados

O Puppet permite o gerenciamento de arquivos (dono modo conteuacutedo e existecircncia) usuaacuterios grupos pa-cotes e serviccedilos a partir de um local central Pode-se rodar comandos ou scripts e tambeacutem eacute possiacutevel gerenciar crontabs montagem de sistemas de arquivos e configuraccedilotildees de rede

Cada item gerenciado eacute chamado de recurso e os recursos satildeo categori-zados em tipos (por exemplo arquivo pacote serviccedilo cron) O Puppet estaacute em intenso desenvolvimento receben-do novos tipos regularmente ndash pode-se ateacute criar tipos personalizados

Por que usaacute-loOs trecircs principais motivos para usar o Puppet satildeo 1 O programa manteacutem um regis-

tro da configuraccedilatildeo do cliente Se um sistema-cliente morrer eacute possiacutevel gerar uma configura-ccedilatildeo idecircntica num novo sistema com base na informaccedilatildeo arma-zenada no Puppetmaster

2 Se houver mais de uma maacutequi-na eacute possiacutevel instalaacute-las de forma idecircntica ou usar o mesmo siste-ma-base e aplicar as modificaccedilotildees para clientes individuais

3 O conjunto de tipos do Puppet facilita o gerenciamento de muacuteltiplos sistemas a partir de um local uacutenico

Outra vantagem do Puppet eacute que ele funciona em conjunto com uma ferramenta chamada Facter Ela define variaacuteveis especiacuteficas em cada maacutequina (como nome da maacutequina endereccedilo IP e sistema operacional) automatica-mente permitindo um ajuste fino de configuraccedilotildees especiacuteficas em clientes individuais sem perder os benefiacutecios de uma configuraccedilatildeo comum

Instalaccedilatildeo e configuraccedilatildeoO coacutedigo-fonte do Puppet estaacute dispo-niacutevel no site do projeto[1] e seus pa-cotes estatildeo presentes nos repositoacuterios de vaacuterias distribuiccedilotildees Linux

O principal arquivo de configuraccedilatildeo eacute etcpuppetpuppetmasterconf com uma estrutura bem clara e simples

[puppetmasterd] Assegure-se de que todas as mensagens de log sejam enviadas ao di- retorio correto Ele deve ser gravavel pelo usuario puppetlogdir=varlogpuppetvardir=varlibpuppetrundir=varrun

Para guardar tambeacutem o conteuacutedo dos arquivos seraacute necessaacuterio uma con-figuraccedilatildeo de servidor de arquivos em etcpuppetfileserverconf O coacutedigo mostrado a seguir exibe o caminho para o armazenamento de arquivos no puppetmaster e permite o acesso a todas as maacutequinas em exemplocom

[files] path etcpuppetfiles allow exemplocom deny ruimexemplocom allow 1921680024

Aleacutem disso tambeacutem eacute possiacutevel ba-nir domiacutenios ou maacutequinas especiacuteficos bem como especificar por endereccedilo IP caso seja preferiacutevel Para criar os usuaacuterios do Puppet que o daemon utiliza deve-se usar a opccedilatildeo mkusers ao executar o daemon puppetmaster pela primeira vez

Como ainda natildeo foram criadas as definiccedilotildees dos noacutes tambeacutem seraacute ne-cessaacuterio usar a opccedilatildeo --nonodes

usrbinpuppetmasterd --mkusers --nonodes

Receita baacutesicaCom a configuraccedilatildeo baacutesica jaacute feita vejamos como configurar o mani-festo do site e comeccedilar a gerenciar as configuraccedilotildees e outros tipos Por padratildeo o principal manifesto de site do Puppet fica em etcpuppetma-nifestssitepp Tudo nesse arquivo seraacute executado em todos os clientes Para comeccedilar podemos tentar colo-

RE

DE

S

dim

itris

pet

rid

is ndash

ww

ws

xch

u

copy Linux New Media do Brasil Editora Ltda

67

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

car algo numa receita faacutecil o arquivo sudoers eacute um bom candidato

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo440rdquo

Isso garante que o arquivo sudoers do cliente tenha essas propriedades

ClienteEm seguida eacute necessaacuterio iniciar o PuppetMaster e configurar um cliente para testes No cliente eacute necessaacuterio o pacote puppet Para definir o nome do servidor para um site deve-se in-cluir no arquivo etcpuppetpuppetdconf a linha

server = puppetserverexemplocom

Depois alterar os modos ou o dono do arquivo etcsudoers no cliente para que fiquem diferentes do es-pecificado no arquivo sitepp do PuppetMaster A seguir deve-se executar o cliente pela primeira vez com o comando

puppetd --waitforcert 60 --test

Os clientes satildeo autenticados por uma requisiccedilatildeo de certificado ao Pu-ppetMaster O cliente acusaraacute a falta de um certificado e em seguida faraacute uma pausa para que se possa ordenar que o PuppetMaster assine o certifi-cado do cliente O comando puppet-ca --list no PuppetMaster lista os clientes que aguardam sua assinatura Com puppetca --sign clienteexemplocom (novamente no PuppetMaster) o certificado seraacute assinado (puppetca --sign --all assinaraacute todos os certifica-dos que estatildeo aguardando) Apoacutes 60 segundos o cliente obteacutem o certificado assinado e eacute executado A opccedilatildeo test faz com que o cliente rode em modo verboso e apenas uma vez

Apoacutes terminar eacute importante verifi-car o arquivo etcsudoers o modo deve ser o mesmo especificado no Puppet-Master e natildeo o que foi alterado

Aleacutem de gerenciar atributos de arquivos o Puppet tambeacutem gerencia seu conteuacutedo atuando como servi-dor de arquivos Para isso primeiro eacute preciso criar um arquivo sudoers de exemplo e colocaacute-lo em etcpu-ppetfilessudoers

Em seguida edite novamente o arquivo sitepp para que a receita do sudoers fique semelhante a

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt 440 source =gt ldquopuppetpuppetserverexemplocomfilessudoersrdquo

Edite o arquivo no cliente para que ele fique diferente do con-teuacutedo acima e rode novamente o Puppet com o comando ppuppetd --test O conteuacutedo do arquivo seraacute alterado

O trecho abaixo tambeacutem mostra como usar um uacutenico contecirciner file para muacuteltiplos recursos de arquivo

file ldquostarrdquo ensure =gt link target =gt ldquosoft9starrdquo ldquotestdirrdquo ensure =gt directory

DependecircnciasOs recursos interagem uns com os outros Certos pacotes satildeo necessaacute-rios para determinados serviccedilos por exemplo ou talvez se queira reiniciar um serviccedilo quando um arquivo espe-ciacutefico for alterado O Puppet possui dependecircncias ndash notavelmente require

e subscribe ndash para especificar essas interaccedilotildees

O trecho abaixo usa o tipo service que pode ser usado para qualquer daemon que se queira deixar em execuccedilatildeo (no caso o Slapd)

service ldquoslapdrdquo ensure =gt running hasrestart =gt true require =gt Package[ldquoslapdrdquo] subscribe =gt [File[ldquoldapconfrdquo] File[ldquoetcldapschemardquo]]

A opccedilatildeo hasrestart informa ao Pu-ppet se ele deve reiniciar o serviccedilo com stopstart ou com restart A diretiva re-quire simplesmente fornece um rela-cionamento de ordem ela garante que o recurso referido ndash no caso o pacote slapd ndash estaraacute configurado antes deste serviccedilo Todos os tipos suportam isso

O item subscribe eacute uma depen-decircncia relativa Se os recursos espe-cificados forem alterados o item eacute atualizado Os tipos exec service e mount suportam isso

Note a forma como os recursos do Puppet satildeo especificados nesse contex-to com o nome do tipo comeccedilando com letra maiuacutescula e fornecendo o nome do recurso Aleacutem disso esses recursos precisam ser especificados em outros locais ou ocorreraacute um erro

O Puppet eacute capaz de gerenciar diversos tipos packages o Puppet interage

com a maioria dos principais sistemas de pacotes e pode garantir que programas espe-ciacuteficos estejam instalados o que eacute particularmente uacutetil ao instalar uma nova maacutequina

package ldquoslapdrdquo ensure =gt installed

exec executa comandos internos O comando subscribe eacute uacutetil nesse ponto Por exemplo um trecho

copy Linux New Media do Brasil Editora Ltda

68 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

que atualiza o exim4 quando sua configuraccedilatildeo eacute modificada

exec ldquoexim4-updaterdquo command =gt ldquousrsbinupdate-exim4confrdquo user =gt ldquorootrdquo subscribe =gt File[ldquoupdate-exim4rdquo] refreshonly =gt true

usuaacuterios e grupos esse tipo tem como objetivo gerenciar usuaacute-rios do sistema e natildeo usuaacuterios normais Eacute possiacutevel gerenciar o diretoacuterio home (por exemplo criaacute-lo) assim como outros atri-butos de usuaacuterio

user ldquomanagerrdquo ensure =gt present home =gt ldquolocalmanagerrdquo managehome =gt true gid =gt ldquosystemusersrdquo

cron gerencia cron jobs Um uso possiacutevel para esse recurso eacute reini-ciar o Puppet em clientes caso ele falhe como mostra o exem-plo 1 Embora esteja mostrado em muacuteltiplas linhas o coman-do tambeacutem pode ser usado em uma uacutenica A hora e o dia para execuccedilatildeo do cron job assim como o usuaacuterio a executar a ta-refa podem ser definidos como no trecho acima O comando eacute adicionado ao crontab do usuaacuterio correspondente

mount monta diretoacuterios para o en-sure Se o paracircmetro ensure estiver definido como present o sistema de arquivos estaraacute na tabela mas natildeo montado Se o paracircmetro estiver definido como mounted o sistema de arquivos seraacute adicio-nado agrave tabela e montado E se o paracircmetro estiver definido como absent o sistema de arquivos seraacute removido da tabela

Tambeacutem estatildeo disponiacuteveis vaacuterios atributos de rede maacutequinas in-terfaces listas de email aliases de email e chaves SSH

PadrotildeesEacute possiacutevel definir padrotildees para qual-quer recurso Por exemplo se a maio-ria dos arquivos de uma maacutequina pertencer ao usuaacuterio root e tiverem permissotildees 644 o seguinte trecho vai estabelecer esses valores como padratildeo para todos os arquivos

File owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo644rdquo

Para contornar esse padratildeo basta es-pecificar um valor diferente para qual-quer um desses paracircmetros num recurso especiacutefico Note que os padrotildees somente se aplicam a seu proacuteprio escopo (classe) e a qualquer classe abaixo dessa se for desejaacutevel aplicaacute-los globalmente eacute ne-cessaacuterio defini-los fora de todas as classes ndash por exemplo no arquivo sitepp

Organizaccedilatildeo do diretoacuterioO site do Puppet oferece sugestotildees de organizaccedilatildeo de arquivos e ma-nifestos Independente do sistema usado eacute importante certificar-se de que ele seja compreensiacutevel e facil-mente atualizaacutevel

Um exemplo seria

- Diretoacuterio principal do Puppet |- Arquivos |- Aplicativos |- Usuaacuterios |- Manifestos |- sitepp - Noacutes - diretoacuterio com manifestos de vaacuterios noacutes - confira a proacutexima seccedilatildeo - Classes - diretoacuterio com manifestos de vaacuterias classes dependendo do programa (aptpp apache2pp) |- Definiccedilotildees |- Modelos (templates)

Todos os subdiretoacuterios contecircm arquivos de classe (veja abaixo) e para incluiacute-los o arquivo sitepp fica semelhante a

import ldquoclassesrdquoimport ldquodefinicoesrdquoimport ldquonosrdquoimport ldquousuariosrdquo

NoacutesAteacute o momento consideramos somen-te a configuraccedilatildeo de uma uacutenica maacute-quina mas o Puppet realmente brilha quando se tem muacuteltiplas maacutequinas Se forem todas idecircnticas basta criar uma configuraccedilatildeo ndash a padratildeo

siteppdefault include sudo

Mas tambeacutem se pode ter uma confi-guraccedilatildeo diferente para cada maacutequina

Exemplo 1 Cron job para reiniciar o Puppet

01 cron restart-puppet02 command =gt lsquoif [ -e varrunpuppetdpid ] then ps uw -p `cat varrunpuppetdpid` | grep -q lsquo ruby usrsbinpuppetdrsquo03 || (rm varrunpuppetdpid etcinitdpuppet start) firsquo04 user =gt root05 minute =gt lsquo0rsquo06

copy Linux New Media do Brasil Editora Ltda

69

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

assim como criar configuraccedilotildees-base e depois herdaacute-las ou incluiacute-las na configuraccedilatildeo dos noacutes Por exemplo eacute possiacutevel criar uma configuraccedilatildeo baacute-sica para servidores diferente daquela para desktops e ambas podem herdar de uma base ou configuraccedilatildeo-padratildeo comum (exemplo 2)

As classes podem ser especifica-das num arquivo individual ou em um arquivo por classe recomenda-se a segunda forma para facilitar o gerenciamento

Facter modelos variaacuteveisUm aspecto uacutetil do Puppet eacute que ele vem com o Facter uma ferramenta que informa vaacuterios ldquofatosrdquo (facts em inglecircs daiacute o nome Facter) a respeito de uma maacutequina especiacutefica incluindo seu nome IP arquitetura sistema ope-racional chave SSH informaccedilotildees de processador e memoacuteria entre outros

Para uma lista completa dos fatos fornecidos por padratildeo basta digitar facter na linha de comando Eacute pos-siacutevel consultar esses fatos de den-tro do Puppet com $nome_do_fato Eles possuem dois usos importan-tes criar estruturas condicionais e usaacute-las em modelos

CondicionaisO Puppet possui trecircs tipos de con-dicionais 1 seletores satildeo usados dentro de

uma diretiva

package ldquokbr-clientsrdquo ensure =gt $operatingsystem ubuntu =gt absent debian =gt installed default = undef

Nesse trecho se o fato $opera-tingsystem estiver definido como

ubuntu o pacote natildeo estaraacute ins-talado se estiver como debian o pacote estaraacute instalado O padratildeo eacute natildeo definir o atributo

2 A diretiva case oferece uma forma de aplicar classes con-dicionalmente

case $operatingsystem ubuntu include ubuntu debian include debian default include basic

Nesse trecho a classe especiacute-fica a cada sistema operacio-nal eacute incluiacuteda dependendo

novamente do valor do fato $operatingsystem Eacute possiacutevel especificar muacuteltiplas condiccedilotildees entre viacutergulas

3 Tambeacutem existe uma estrutura ifelse mais simples

if $needexample file ldquousrlocalexemplordquo ensure =gt present else file ldquousrlocaltesterdquo ensure =gt present

Exemplo 2 Muacuteltiplas classes e heranccedila

01 class base 02 Varias coisas basicas03 include autofs04 include cron05 include puppet06 include ssh07 e assim por diante08 0910 class desktop inherits base 11 Tudo na classe lsquobasersquo serah automaticamente incluido aqui12 Depois tambem eh possivel13 include latex14 include gnome15 e assim por diante16 1718 class server inherits base 19 Novamente tudo da classe lsquobasersquo serah automaticamente incluido20 E depois outras coisas exclusivas de servidores21 include nfs22 e assim por diante23

Exemplo 3 iptableserb

01 filter02 INPUT DROP [00]03 FORWARD DROP [00]04 OUTPUT ACCEPT [00]05 -A INPUT -d 127000255000 -i lo -p tcp -j DROP06 -A INPUT -d lt= ipaddress gt -m state --state RELATEDESTABLISHED -j ACCEPT07 -A INPUT -i lo -j ACCEPT08 -A INPUT -s 10419815302552552550 -d lt= ipaddress gt -j ACCEPT09 -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j LOG --log-prefix ldquosshrdquo -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j ACCEPT10 COMMIT

copy Linux New Media do Brasil Editora Ltda

70 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

Atualmente eacute possiacutevel determinar apenas se uma dada variaacutevel estaacute de-finida sem distinguir entre valores es-peciacuteficos Para fazer isso eacute necessaacuterio usar as diretivas case ou selector

ModelosOs modelos usam a linguagem Ruby para inserir variaacuteveis num arquivo-fonte Em outras palavras eacute como fornecer um arquivo central que pode variar de uma maacutequina para outra

Um bom exemplo de uso de um fato num modelo eacute definir uma po-liacutetica de ipchains Por exemplo o ar-quivo iptableserb (ERB eacute a sintaxe de modelos do Ruby) mostrado no exemplo 3 utiliza o fato $ipaddress

Depois eacute possiacutevel fazer referecircncia a esse modelo

file ldquoiptables_configrdquo name =gt ldquoetcsysconfigiptablesrdquo content =gt template(ldquoetcpuppettemplatesiptableserbrdquo)

Note que enquanto os arquivos precisam da sintaxe puppetpu-ppetserverexemplocom os modelos natildeo precisam

Fatos personalizadosOs fatos-padratildeo estatildeo disponiacuteveis em todos os clientes automaticamente

Poreacutem caso se deseje criar fatos personalizados eacute interessante mantecirc-los no PuppetMaster e entatildeo confi-gurar os clientes para sincronizarem seus fatos com o servidor

Acrescente a seguinte seccedilatildeo ao arquivo etcpuppetfileserverconf no puppetmaster

[facts] path etcpuppetfacts allow exemplocom

e em cada cliente adicione a se-guinte linha ao arquivo etcpuppetpuppetdconf

factsync = true

Em seguida reinicie o PuppetMas-ter no servidor e o Puppet nos clientes Agora jaacute eacute possiacutevel colocar qualquer fato personalizado em etcpuppetfacts e propagaacute-lo Por exemplo para criar uma regra que defina o fato $home com a variaacutevel de ambiente $HOME basta criar o arquivo etcpuppetfactshomerb

Facteradd(ldquohomerdquo) do setcode do ENV[lsquoHOMErsquo] endend

Da proacutexima vez que o Puppet rodar nos clientes esse fato seraacute sin-

cronizado e entatildeo poderaacute ser usado em qualquer receita

Outras variaacuteveisVariaacuteveis tambeacutem satildeo uacuteteis em outras situaccedilotildees Uma variaacutevel definida no arquivo sitepp ficaraacute disponiacutevel para todos os outros manifestos e classes Caso haja um conjunto-padratildeo de usuaacuterios com permissatildeo para fazer login nos servidores e se quiser edi-tar o arquivo etcsshsshd_config de acordo o coacutedigo do exemplo 4 funcionaraacute muito bem

Configurar o servidor de arqui-vos por meio de uma variaacutevel tam-beacutem eacute uma boa ideacuteia se o servidor sofrer alteraccedilotildees natildeo seraacute neces-saacuterio editar cada arquivo que faz referecircncia ao Puppet

ConclusatildeoEssa breve apresentaccedilatildeo fornece somente um raacutepido panorama das possibilidades do Puppet As versotildees mais recentes do software permitem que se organize a configuraccedilatildeo em moacutedulos o que oferece ainda mais flexibilidade e reusabilidade Caso se use LDAP para armazenar infor-maccedilotildees de maacutequinas e usuaacuterios eacute possiacutevel tambeacutem obter as definiccedilotildees dos noacutes a partir desse recurso

Caso sejam necessaacuterias mais informa-ccedilotildees ou suporte o site do Puppet assim como seu wiki[2] e sua lista de emails[3] satildeo de grande ajuda Tenha nas matildeos o controle de suas maacutequinas

Mais informaccedilotildees

[1] Projeto Puppet httpreductivelabscomprojetspuppet

[2] Wiki do Puppet httpreductivelabscomtracpuppetwiki

[3] Lista do Puppet httpreductivelabscomtracpuppetwikiGettingHelpmailing-list

Exemplo 4 Uso de variaacuteveis no SSH

01 em sitepp02 $server_ssh_users = ldquoroot jkemp adminrdquo0304 em sshpp ou qualquer outro lugar a sua escolha05 file ldquosshd_configrdquo06 name =gt ldquoetcsshsshd_configrdquo07 allow_users =gt lsquoAllowUsers $server_ssh_usersrsquo08 template =gt ldquoetcpuppettemplatessshd_configerbrdquo09 1011 trecho relevante de sshd_configerb12 LoginGraceTime 60013 PermitRootLogin without-password14 StrictModes yes1516 lt= allow_users gt

copy Linux New Media do Brasil Editora Ltda

71Linux Magazine 42 | Maio de 2008

Firewall faacutecil com o Shorewall

Domando o fogoEacute verdade que firewalls devem ser administrados por especialistas Poreacutem ateacute esses profissionais podem se beneficiar de uma interface praacutetica para essa tarefapor Tarciacutesio Carvalho Espiacutenola

Montar um firewall para a proteccedilatildeo de um uacutenico servidor natildeo eacute tarefa das

mais simples Imagine montar um firewall para uma rede inteira que requer muito mais atenccedilatildeo e conhe-cimento tanto dos serviccedilos quanto das ferramentas utilizadas Qualquer descuido pode comprometer toda a seguranccedila da rede e a reputaccedilatildeo do seu administrador

No caso especiacutefico do Linux tra-balhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas principalmente para usuaacuterios novatos ou acostuma-dos apenas com cliques na interfa-ce graacutefica A criaccedilatildeo de regras mais elaboradas requer tantas opccedilotildees e paracircmetros ndash e em uma rede mais complexa teremos dezenas delas ndash que eacute faacutecil cometer erros

Natildeo estamos questionando a efi-caacutecia dessa poderosa ferramenta muito pelo contraacuterio o domiacutenio de seus comandos para uma utilizaccedilatildeo eficiente e segura em situaccedilotildees mais avanccediladas exige bastante experiecircncia por parte do administrador Pensan-do nisso Thomas M Eastep teve a brilhante ideacuteia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e

atarefado administrador de rede e o prolixo mas poderoso software Iptables o Shorewall[1]

A forma simples e intuitiva como satildeo desenvolvidas as regras no Shorewall facilita bastante a cria-ccedilatildeo e manutenccedilatildeo do firewall Na inicializaccedilatildeo do serviccedilo as regras definidas pelo administrador satildeo compiladas e convertidas em regras do Iptables que seraacute o responsaacutevel pelo firewall

Devido agrave sua compe-tecircncia o Shorewall per-mite tambeacutem que o admi-nistrador aprimore seus conhecimentos na opera-ccedilatildeo do Iptables estudan-do as regras criadas pelo programa a partir das ins-truccedilotildees passadas de forma graacutefica Quando o admi-nistrador adota a defini-ccedilatildeo graacutefica de regras pelo Shorewall geralmente aumenta sua capacidade de criar e gerenciar confi-guraccedilotildees mais complexas O poder da interface graacute-fica nesse caso estaacute em permitir a administraccedilatildeo de muacuteltiplas regras de forma facilitada

Para ilustrar a utilizaccedilatildeo do Sho-rewall mostraremos como configurar o firewall de uma rede normalmente utilizada em pequenas e meacutedias em-presas (figura 1) embora o Shorewall possa ser utilizado em situaccedilotildees bem mais complexas

Infra-estruturaEm nossa rede de exemplo usaremos servidores e estaccedilotildees Linux e Win-dowsreg para mostrar que os serviccedilos

SE

GU

RA

NCcedil

A

Figura 1 A rede utilizada neste artigo eacute bastante simples composta por uma DMZ uma rede local e o firewall conectando ambas agrave Internet

Ramon Gonzalez - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

72 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

apresentados natildeo de-pendem dos sistemas operacionais utilizados com exceccedilatildeo claro do servidor firewall que de-veraacute necessariamente usar Linux

Para fins de exemplo suponhamos que nossos 64 IPs pertencem agrave fai-xa 20016616119226 distribuiacutedos da se-guinte forma IP da rede 200

166161192 maacutescara 255255

255192

IPs utilizaacuteveis 200166161193 a 200166161254

IP broadcast 200166161255A figura 2 e a tabela 1 detalham os pa-

racircmetros da nossa rede de exemploEm seguida basta configurar o

servidor DHCP da rede local com os paracircmetros acima Na configuraccedilatildeo das regras do firewall consideraremos que o serviccedilo de DHCP seraacute oferecido pelo proacuteprio servidor firewall como veremos mais adiante mas a sua configuraccedilatildeo foge do escopo deste artigo

A DMZ (zona desmilitarizada) obviamente fica isolada da rede local Nela seratildeo conectados os servidores Observe que na figura 2 foi definido inclusive o endereccedilo IP da estaccedilatildeo re-mota que teraacute acesso a alguns serviccedilos nas estaccedilotildees da rede local

Note que dos 64 endereccedilos de que dispomos iremos utilizar apenas seis (um para a rede outro de broadcast um no roteador e trecircs nos servidores) e os 58 restantes seratildeo desperdiccedilados Isso eacute muito comum nos contratos com operadoras ao menos no Brasil Esse tipo de contrato tem ajudado a agravar a escassez de endereccedilos IP disponiacuteveis na Internet

InstalaccedilatildeoVamos agora instalar a ferramenta que seraacute utilizada na configuraccedilatildeo do firewall Antes de iniciar no entanto eacute importante lembrar que a versatildeo mais recente do Shorewall no momento da escrita deste artigo era a 408

O Shorewall funciona da seguinte maneira ao ser iniciado o programa as configuraccedilotildees definidas nos arquivos do diretoacuterio etcshorewall satildeo com-piladas e convertidas em um arquivo que contenha as regras para o Iptables Caso natildeo ocorram erros as regras seratildeo aplicadas e o firewall ativado Do con-traacuterio o motivo da falha seraacute mostrado e o firewall natildeo seraacute iniciado

A partir do lanccedilamento da versatildeo 40 foram disponibilizadas duas ver-sotildees de compiladores para as regras do Shorewall a versatildeo em script de shell

Tabela 1 Descriccedilatildeo da rede de exemplo

RoteadorInterface Ethernet 20016616125426

Servidor FirewallInterface eth0 20016616119326

Interface eth1 192168125424

Interface eth2 1000130 (interface da DMZ)

Gateway padratildeo 200166161254 (IP do roteador)

DNS 200166161193 (o servidor firewall tambeacutem serviraacute DNS)

Servidor de email (mailmeu_sitecombr)Interface eth0 20016616119426

Maacutescara 255255255192

Gateway padratildeo 200166161254

DNS 200166161193

Servidor Web (wwwmeu_sitecombr)Interface Ethernet 200166161254

DNS 200166161193

Rede localIP da rede 19216810

Maacutescara 2552552550

IPs utilizaacuteveis 19216811 a 254

Broadcast 1921681255

Gateway padratildeo 1921681254 (eth1 no servidor firewall)

DNS server 1921681254 (eth1 no servidor firewall)

Figura 2 Detalhes da estrutura da rede usada neste artigo

copy Linux New Media do Brasil Editora Ltda

73

| SEGURANCcedilAShorewall

Linux Magazine 42 | Maio de 2008

que eacute a mais antiga e provavelmen-te seraacute descontinuada nas proacuteximas versotildees e a versatildeo em Perl bem mais raacutepida mas que ainda natildeo estaacute totalmente funcional Apesar disso muitos administradores jaacute a utilizam em produccedilatildeo sem qualquer proble-ma por isso vamos usar essa nova teacutecnica neste artigo

Como o Shorewall estaacute disponiacutevel nos repositoacuterios de pacotes de todas as principais distribuiccedilotildees natildeo abor-daremos a compilaccedilatildeo do software a partir dos fontes

Apoacutes a instalaccedilatildeo os arquivos que iremos editar na configuraccedilatildeo do fi-rewall seratildeo colocados no diretoacuterio etcshorewall sendo eles

interfacesmasqpolicyproxyarprulesshorewallconfzones

Os pacotes para Debian e Ubun-tu no entanto deixam os arquivos de configuraccedilatildeo-padratildeo em usrsharedocshorewalldefault-con-fig Nesse caso basta copiaacute-los para etcshorewall Em seguida jaacute podemos iniciar a configuraccedilatildeo do nosso firewall

ZonasDefiniremos duas zonas para a montagem do firewall uma para o proacuteprio servidor firewall que controlaraacute todo o traacutefego entre as zonas e uma para cada rede a que ele estiver conectado A tabe-la 2 mostra como seratildeo definidas essas zonas

Todas as configuraccedilotildees de zonas no Shorewall deveratildeo ser feitas no arquivo etcshorewallzones O exemplo 1 ilustra como deve ficar esse arquivo em nossa configura-ccedilatildeo Basta ele para definir todas as zonas do firewall Observe que as zonas NET LOC e DMZ foram confi-

guradas com o tipo ipv4 pois isso eacute obrigatoacuterio Note tambeacutem que a zona FW foi definida como sendo o proacuteprio firewall Com o comando man shorewall-zones o administrador pode ler mais informaccedilotildees sobre esse arquivo de configuraccedilatildeo

InterfacesCada zona seraacute vinculada a uma in-terface de rede do servidor exceto a zona FW que representaraacute o proacuteprio servidor e natildeo estaraacute vinculada a ne-nhuma interface Logo deveremos ter trecircs interfaces em nosso servidor eth0 Interface vinculada agrave zona

NET Essa interface seraacute conec-tada diretamente ao roteador que liga a rede agrave Internet Em nosso exemplo eth0 receberaacute o IP 20016616119326

eth1 Interface vinculada agrave zona LOC Essa interface deveraacute ser conectada ao switch da rede lo-cal e seraacute configurada com o IP 192168125424 Eacute preciso confi-gurar tambeacutem o servidor DHCP da rede local para que ele envie esse endereccedilo como gateway agraves estaccedilotildees (em nosso exemplo esse serviccedilo seraacute executado no proacuteprio servidor firewall)

eth2 Interface vinculada agrave zona DMZ Essa interface tem uma par-ticularidade seu IP seraacute con-figurado apenas com o intuito

Exemplo 1 Arquivo de zonas

01 ZONE TYPE OPTIONS IN OUT02 OPTIONS OPTIONS03 fw firewall04 net ipv405 loc ipv406 dmz ipv407 08 Natildeo apagar esta uacuteltima linha

Tabela 2 Definiccedilatildeo das zonas

Nome da zona

Componentes Caracteriacutesticas

Zona FW O proacuteprio firewall Tem livre acesso agraves demais zonas mas o acesso a ela seraacute controlado de acordo com os serviccedilos disponibilizados para cada zona

Zona NET Internet Seraacute considerada hostil em nossas configuraccedilotildees Eacute importante ter muito cuidado com ela

Zona LOC Rede local Nesta zona estaratildeo conectadas as estaccedilotildees locais da empresa Seu acesso agraves demais zonas seraacute controlado de acordo com os serviccedilos permitidos para essa zona

Zona DMZ Servidores da empresa que proveratildeo serviccedilos agrave Internet e agrave rede local

Essa zona teraacute dois servidores um com Linux (mailmeu_sitecombr) executando ser-viccedilos de e-mail e o outro com Windows Server (wwwmeu_sitecombr) que hospedaraacute o site da empresa (ver figura 1)

copy Linux New Media do Brasil Editora Ltda

74 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

de ativaacute-la mas natildeo pertenceraacute a nenhuma rede de qualquer zona Nela configuraremos o IP 1000130 e vamos conectaacute-la ao mesmo switch no qual seratildeo co-nectados os servidores da DMZ

Natildeo seraacute necessaacuterio seguir o padratildeo acima para montar os seus proacuteprios firewalls no entanto eacute recomendaacute-vel fazecirc-lo Tambeacutem eacute possiacutevel usar aliases de interfaces (eth00 por

exemplo) se necessaacuterio Todas as configuraccedilotildees de interfaces no Sho-rewall deveratildeo ser feitas no arquivo etcshorewallinterfaces

O exemplo 2 mostra como deve ser feita essa configuraccedilatildeo Observe que esse caso natildeo configura a zona FW uma vez que ela natildeo estaraacute vinculada a nenhuma interface Aleacutem disso os endereccedilos broadcast foram configura-dos para serem detectados automatica-

mente Jaacute para a interface eth0 que teraacute IP estaacutetico foram definidas as opccedilotildees tcpflags routerfilter nosmurfs nor-cf1918 e logmartians

Eacute interessante consultar o manual do arquivo de configuraccedilatildeo de interfa-ces e descobrir a funccedilatildeo de cada uma dessas opccedilotildees (man shorewall-inter-faces) Elimine-as se necessaacuterio (natildeo recomendaacutevel) ou adicione outras de acordo com as suas necessidades

PoliacuteticasDefinidas as zonas e interfaces defi-niremos agora as poliacuteticas de acesso entre cada par de zonas As definiccedilotildees mostradas na tabela 3 seratildeo adotadas como padratildeo para qualquer requisiccedilatildeo que ocorra entre as zonas

Para reforccedilar a seguranccedila vamos definir por fim que todas as requi-siccedilotildees vindas de qualquer zona (all) com destino a qualquer zona (all) se-ratildeo bloqueadas e que esses bloqueios sejam registrados no log com a tag info Essa regra deveraacute ser a uacuteltima no arquivo de configuraccedilatildeo

Todas as configuraccedilotildees das poliacuteticas de acesso no Shorewall devem ser feitas no arquivo etcshorewallpolicy como mostra o exemplo 3 Note que a regra geral ou seja a que define a poliacutetica de qualquer pacote foi a uacuteltima a ser definida justamente para ser aplicada apenas se os pacotes natildeo se encaixarem a nenhuma outra regra Mais uma vez eacute importante consultar a paacutegina de ma-nual do programa (man shorewall-policy) para obter mais detalhes

Tabela 3 Poliacuteticas entre zonas

Zona Poliacutetica Explicaccedilatildeo

FW ACCEPT Requisiccedilotildees vindas da zona FW com destino agraves de-mais zonas (all) seratildeo permitidas e nada seraacute regis-trado no log

LOC REJECT Requisiccedilotildees vindas da zona LOC com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Uma res-posta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

NET DROP Requisiccedilotildees vindas da zona NET com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

DMZ DROP Requisiccedilotildees vindas da zona DMZ com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

Mais informaccedilotildees

[1] Shorewall httpwwwshorewallnet

Exemplo 3 Arquivo de poliacuteticas

01 SOURCE DEST POLICY LOG LIMITBURST02 LEVEL03 fw all ACCEPT04 loc all REJECT info05 net all DROP info06 dmz all DROP info07 08 THE FOLLOWING POLICY MUST BE LAST09 10 all all DROP info11 12 Natildeo apagar esta uacuteltima linha

Exemplo 2 Arquivo de interfaces

01 ZONE INTERFACE BROADCAST OPTIONS02 net eth0 detect tcpflagsroutefilternosmurfsnorfc1918logmartians03 loc eth1 detect04 dmz eth2 detect05 06 Natildeo apagar esta uacuteltima linha

Sobre o autorTarciacutesio Carvalho Espiacutenola eacute coordenador de TI do Instituto Centec onde vem traba-lhando na implementaccedilatildeo de soluccedilotildees livres nos servidores da empresa Em seu tempo livre ele ainda manteacutem o site Opccedilatildeo Linux (httpwwwopcaolinuxcombr)

copy Linux New Media do Brasil Editora Ltda

75Linux Magazine 42 | Maio de 2008

PR

OG

RA

MA

CcedilAtilde

O

Trabalhe com um repositoacuterio online de scripts PHP

TesouroProgramadores PHP podem economizar tempo e trabalho com o uso do trecho script ou classe perfeitos para usar em seus programaspor Kenneth Hess

Haacute dezenas de repositoacuterios gratuitos de scripts que per-mitem que se navegue e es-

colha os scripts PHP para seu proacuteprio uso A maioria desses sites possui vaacute-rias ofertas desde scripts simples ateacute aplicativos web completos incluindo conjuntos inteiros de software Este artigo descreve alguns dos sites mais importantes na busca de um script PHP preacute-fabricado

devshedcomO Dev Shed[1] eacute o avocirc das comunida-des de desenvolvedores com recursos compartilhados O site tem um pa-gerank de 8 no Google e conta com mais de 150 mil assinantes Agora par-te da empresa Ziff Davis o Dev Shed eacute a comunidade de desenvolvedores mais destacada sendo usada por pro-gramadores de vaacuterias linguagens e tecnologias O site principal do Dev Shed tem foco em artigos tutoriais e na proacutepria comunidade de desenvol-vimento Quem desejar apenas scripts seraacute redirecionado do site principal para o Scriptscom[2] ndash a biblioteca de coacutedigo do Dev Shed

No Scriptscom pode-se ver que a aacuterea de PHP eacute a mais numerosa do repositoacuterio Seus mais de 4 mil scripts colocam essa seccedilatildeo com quase o dobro da segunda coloca-da Perl Depois de selecionado o repositoacuterio PHP a ser usado satildeo mostradas mais de 60 categorias diferentes A maioria dos sites com

repositoacuterios de scripts possui listas se-melhantes de categorias

Alguns sites natildeo possuem qualquer controle de qualidade ou orientaccedilatildeo de envio para os scripts recebidos mas o Scriptcom emprega regras um tanto rigorosas As orientaccedilotildees de envio protegem os usuaacuterios de softwares maliciosos e outros scripts ou teacutecnicas danosos que possam pre-judicar um site ou atacar o navegador dos visitantes Cada script listado tem uma descriccedilatildeo completa da tarefa que executa uma nota um link para o site do autor e um preccedilo Nem todos os scripts satildeo gratuitos Na verdade alguns satildeo caros mas geralmente o autor oferece suporte atualizaccedilotildees e possivelmente outros serviccedilos (como hospedagem por exemplo) pelo pre-ccedilo listado Alguns scripts satildeo gratuitos para uso pessoal mas exigem uma taxa para uso comercial

phpbuildercomO PHP Builder[3] eacute 100 dedicado ao uso e desenvolvimento de scripts PHP Sua comunidade eacute ativa e gen-

til com novos usuaacuterios Aleacutem disso haacute um foacuterum Newbies em que eacute permitido fazer perguntas que jaacute tenham sido respondidas milhotildees de vezes sem medo de sofrer repre-saacutelias ndash embora seja recomendaacutevel fazer uma busca antes de perguntar Assim como a maioria dos sites de comunidade eacute necessaacuterio registrar-se (gratuitamente) e fazer login antes de postar ou participar O PHP Buil-der eacute um dos sites de comunidade mais profissionais e bem mantidos desta seleccedilatildeo

Sua biblioteca de coacutedigos eacute me-nor que a dos outros ndash com apenas umas poucas centenas de scripts ndash mas eacute comum encontrar trechos de coacutedigo nos foacuteruns que resolvem seus problemas Caso o programador natildeo esteja seguro de suas habilidades de programaccedilatildeo existe um foacuterum de criacutetica de coacutedigo (chamado Coding Critique) no qual eacute possiacutevel colar o coacutedigo em questatildeo em busca de criacuteticas correccedilotildees e melhorias A forccedila do PHP Builder natildeo estaacute em sua biblioteca de coacutedigo mas em sua

Figura 1 Inicie a instalaccedilatildeo a partir da tela do DaDaBIK

Sophie ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

76 httpwwwlinuxmagazinecombr

PROGRAMACcedilAtildeO | Repositoacuterio PHP

comunidade Para os que precisam de respostas esse eacute o lugar

weberdevcomO Weberdev[4] ndash uma presenccedila obrigatoacuteria no kit de ferramentas de PHP ndash tem foacuteruns coacutedigo links e tutoriais excelentes Se a necessida-de for resolver rapidamente algum aspecto de programaccedilatildeo em PHP o Weberdevcom eacute a opccedilatildeo Sua biblio-teca de coacutedigo eacute um pouco esquisita de navegar mas o mecanismo de busca eacute raacutepido e inteligente

phpclassesorgPara usar algum dos scripts do PHP Classes[5] eacute necessaacuterio se registrar e fazer login mas eacute uma felicidade fazecirc-lo O PHP

Classes conteacutem trechos de coacute-digo orientados a objetos que podem ser acrescentados a qual-quer coacutedigo Para usar as classes e scripts eacute preciso ter ao menos uma compreensatildeo baacutesica de teacutec-nicas de programaccedilatildeo orientada a objetos Felizmente a maioria dos autores das classes fornece documentaccedilatildeo e exemplos fun-cionais de seus coacutedigos na forma de paacuteginas PHP completas

Eacute possiacutevel ler os blogs dos au-tores pedir mais informaccedilotildees so-bre uma classe diretamente a um autor envolver-se nos foacuteruns em busca de perguntas e respostas ou simplesmente obter classes a par-tir do enorme repositoacuterio Muitas classes desse site ainda continu-

am funcionando mesmo depois de quatro anos em produccedilatildeo O PHP Classes deve ser incluiacutedo nos favoritos de quem quer que esteja agrave procura de um excelen-te recurso para scripts classes e trechos PHP

Esse site tambeacutem possui uma lista de emails que notifica os assinantes em relaccedilatildeo a novas classes quando satildeo adicionadas ao repositoacuterio ndash os emails incluem um resumo da clas-se sua classificaccedilatildeo e uma curta biografia do autor Novas classes satildeo acrescentadas todos os dias

phpnetO phpnet[6] eacute o site oficial da lin-guagem onde se origina todo o coacutedigo PHP gerado Apesar de natildeo possuir uma biblioteca de coacutedigo propriamente dita eacute possiacutevel encon-trar no site uma grande quantidade de coacutedigos

Se o visitante procurar qualquer funccedilatildeo ndash fwrite por exemplo ndash rece-beraacute a paacutegina que descreve a sintaxe e o uso dessa funccedilatildeo Mais abaixo na mesma paacutegina satildeo exibidos tre-chos de coacutedigo que demonstram a funccedilatildeo em accedilatildeo

advancescriptscomO oceano de banners e anuacutencios piscantes talvez seja a primeira ca-racteriacutestica a chamar a atenccedilatildeo dos visitantes do AdvanceScripts[7] Esse site tem muito a oferecer e merece ser navegado entatildeo natildeo se deixe assus-tar pela forma de suporte financeiro escolhida por eles O AdvanceScripts hospeda quase 6 mil scripts PHP em seu repositoacuterio

Assim como ocorre com os outros sites nem todos os scripts satildeo gratui-tos entatildeo eacute importante ter cuidado com as escolhas feitas

Baixe altere e useApenas para ilustrar as ofertas bai-xei um script de um desses sites e adaptei-o para meu proacuteprio uso Esse

Figura 2 Ao teacutermino da instalaccedilatildeo eacute exibido um resumo das mensagens de alerta e de instalaccedilatildeo

Figura 3 A paacutegina indexphp mostra informaccedilotildees da tabela

copy Linux New Media do Brasil Editora Ltda

77

| PROGRAMACcedilAtildeORepositoacuterio PHP

Linux Magazine 42 | Maio de 2008

exemplo raacutepido mostraraacute como eacute faacutecil implementar uma ferramenta a partir de uma biblioteca de coacutedigo Como meu trabalho envolve bancos de da-dos e PHP optei pelo foco em scripts relacionados a bancos de dados Na biblioteca do Scriptscom em PHP Scripts | Database Tools encontrei o DaDaBIK[8][9] (Databases Inter-face Kreator) cuja descriccedilatildeo oficial traduzida eacute ldquoum aplicativo PHP gratuito que permite criar facilmen-te uma interface de formulaacuterio web altamente personalizaacutevel para um banco de dados MySQL para buscar inserir atualizar e apagar registros basta especificar alguns paracircmetros de configuraccedilatildeordquo

Eacute interessante verificar a descriccedilatildeo do script antes de baixaacute-lo O script eacute pequeno (16 MB) bem documen-tado e livre (utiliza a GPL) Os re-quisitos miacutenimos do DaDaBIK satildeo PHP posterior agrave versatildeo 405 e um banco de dados (MySQL Oracle PostgreSQL ou MS SQL)

As etapas de instalaccedilatildeo satildeo seme-lhantes agraves de outros scripts da Inter-net Deve-se baixar e descompactar o pacote e depois procurar o arquivo documentationhtm que fornece as instruccedilotildees de instalaccedilatildeo Seguindo as instruccedilotildees renomeie o diretoacuterio program_files para dadabik e copie-o para o diretoacuterio webroot

Apoacutes abrir o arquivo includecon-figphp eacute preciso digitar os paracircme-tros mostrados na tabela 1 Depois de digitaacute-los e salvaacute-los abra um nave-gador e aponte-o para a paacutegina de instalaccedilatildeo do DaDaBIK httpwwwnome_do_sitecombrdadabikinstallphp (figura 1) Apoacutes clicar no botatildeo de instalaccedilatildeo e finalizar o processo seraacute exibida uma tela semelhante agrave figura 2 que mostra alertas e men-sagens da instalaccedilatildeo

Ao clicar no link no alto da paacutegina para sair da aacuterea de administraccedilatildeo o administrador seraacute redirecionado para a paacutegina indexphp onde veraacute a primeira tabela de banco de dados

(figura 3) As tabelas satildeo listadas em ordem alfabeacutetica na lista drop-down Nessa paacutegina eacute possiacutevel editar inse-rir apagar ou buscar registros

Como se pode ver o DaDaBIK eacute faacutecil de instalar e raacutepido para confi-gurar e usar O exemplo deste artigo teve sucesso devido agrave excelente do-cumentaccedilatildeo incluiacuteda na ferramen-ta Ao procurar numa biblioteca de coacutedigo eacute importante sempre esco-lher scripts classes e aplicativos com muita documentaccedilatildeo

Exceto no caso de programadores experientes que se sintam confor-taacuteveis ao analisar coacutedigo alheio eacute fundamental ter acesso a uma boa documentaccedilatildeo Raramente a docu-mentaccedilatildeo interna de um script (co-mentaacuterios no coacutedigo) explica com-pletamente seu comportamento

ResumoMuitos programadores pensam ser capazes de produzir todo o coacutedi-go de um aplicativo Usar trechos de coacutedigos e ideacuteias de outros pro-gramadores eacute uma oacutetima forma de melhorar as habilidades em programaccedilatildeo poreacutem o trabalho natildeo eacute feito simplesmente baixan-do-se um script ou trecho ndash ainda eacute necessaacuterio adaptar o coacutedigo ao ambiente no qual ele seraacute usado Frequumlentemente essa tarefa natildeo eacute

faacutecil Eacute interessante usar todos os recursos disponiacuteveis para conhecer outros profissionais ao longo do caminho e rapidamente tornar-se o tipo de programador que ajuda os outros

Mais informaccedilotildees

[1] PHP no Dev Shed httpwwwdevshedcomcbPHP

[2] Scriptscom httpwwwscriptscom

[3] PHP Builder httpwwwphpbuildercom

[4] Weberdev httpwwwweberdevcom

[5] PHP Classes httpwwwphpclassesorg

[6] PHPnet httpwwwphpnet

[7] Advance Scripts httpwwwadvancescriptscom

[8] DaDaBIK no Scriptscom httpwwwscriptscomphp-scriptsdatabase-toolsdadabik

[9] DaDaBIK httpwwwdadabikorg

Tabela 1 Paracircmetros do configphp

Paracircmetro Descriccedilatildeo$dbms_type Tipo do banco de dados (MySQL Postgres7 Postgres8

Mssql ou oci8po)

$host Nome do servidor de banco de dados (normalmente local-host)

db_name Nome do banco de dados a ser usado com o DaDaBIK

$user Conta de usuaacuterio do banco de dados que possa fazer SE-LECT INSERT DELETE e UPDATE nos registros do banco

$pass Senha do usuaacuterio no banco de dados

$site_url URL completa do DaDaBIK (httpwwwnome_do_sitecombrdadabik)

$site_path Caminho relativo do DaDaBIK (dadabik)

copy Linux New Media do Brasil Editora Ltda

78

SE

RV

ICcedilO

S

httpwwwlinuxmagazinecombr

Fornecedor de Hardware = 1 Redes e Telefonia PBX = 2 Integrador de Soluccedilotildees = 3

Literatura Editora = 4 Fornecedor de Software = 5

Consultoria Treinamento = 6

Linuxlocal

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

CearaacuteF13 Tecnologia Fortaleza Rua Coronel Solon 480 ndash Bairro de Faacutetima

Fortaleza - CE - CEP 60040-270 85 3252-3836 wwwf13combr

Espiacuterito SantoLinux Shopp Vila Velha Rua Satildeo Simatildeo (Correspondecircncia) 18 ndash CEP 29113-120 27 3082-0932 wwwlinuxshoppcombr

Megawork Consultoria e Sistemas

Vitoacuteria Rua Chapot Presvot 389 ndash Praia do Can-to ndash CEP 29055-410 sl 201 202

27 3315-2370 wwwmegaworkcombr

Spirit Linux Vitoacuteria Rua Marins Alvarino 150 ndash CEP 29047-660 27 3227-5543 wwwspiritlinuxcombr

Minas GeraisInstituto Online Belo Horizonte Av Bias Fortes 932 Sala 204 ndash CEP 30170-011 31 3224-7920 wwwinstitutoonlinecombr

Linux Place Belo Horizonte Rua do Ouro 136 Sala 301 ndash Serra ndash CEP 30220-000 31 3284-0575 corporatelinuxplacecombr

Microhard Belo Horizonte Rua Repuacuteblica da Argentina 520 ndash Sion ndash CEP 30315-490 31 3281-5522 wwwmicrohardcombr

TurboSite Belo Horizonte Rua Paraiacuteba 966 Sala 303 ndash Savassi ndash CEP 30130-141 0800 702-9004 wwwturbositecombr

ParanaacuteiSolve Curitiba Av Cacircndido de Abreu 526 Cj 1206B ndash CEP 80530-000 41 252-2977 wwwisolvecombr

Mandriva Conectiva Curitiba Rua Tocantins 89 ndash Cristo Rei ndash CEP 80050-430 41 3360-2600 wwwmandrivacombr

Telway Tecnologia Curitiba Rua Francisco Rocha 183071 41 3203-0375 wwwtelwaycombr

Rio de JaneiroNSI Training Rio de Janeiro Rua Arauacutejo Porto Alegre 71 4ordmandar Centro ndash CEP 20030-012 21 2220-7055 wwwnsicombr

Open IT Rio de Janeiro Rua do Mercado 34 Sl 402 ndash Centro ndash CEP 20010-120 21 2508-9103 wwwopenitcombr

Unipi Tecnologias Campos dos Goytacazes

Av Alberto Torres 303 1ordmandar - Centro ndash CEP 28035-581 22 2725-1041 wwwunipicombr

Rio Grande do Sul4up Soluccedilotildees Corporativas Novo Hamburgo Pso Calccediladatildeo Osvaldo Cruz 54 sl 301 CEP 93510-015 51 3581-4383 www4upcombr

Definitiva Informaacutetica Novo Hamburgo Rua General Osoacuterio 402 - Hamburgo Velho 51 3594 3140 wwwdefinitivacombr

Solis Lajeado Rua Comandante Wagner 12 ndash Satildeo Cristoacutevatildeo ndash CEP 95900-000 51 3714-6653 wwwsoliscoopbr

DualCon Novo Hamburgo Rua Joaquim Pedro Soares 1099 Sl 305 ndash Centro 51 3593-5437 wwwdualconcombr

Datarecover Porto Alegre Av Carlos Gomes 403 Sala 908 Centro Comer-cial Atrium Center ndash Bela Vista ndash CEP 90480-003

51 3018-1200 wwwdatarecovercombr

LM2 Consulting Porto Alegre Rua Germano Petersen Junior 101-Sl 202 ndash Hi-gienoacutepolis ndash CEP 90540-140

51 3018-1007 wwwlm2combr

Lnx-IT Informaccedilatildeo e Tecnologia Porto Alegre Av Venacircncio Aires 1137 ndash Rio Branco ndash CEP 90040193 51 3331-1446 wwwlnx-itinfbr

Plugin Porto Alegre Av Juacutelio de Castilhos 132 11ordm andar Centro ndash CEP 90030-130 51 4003-1001 wwwplugincombr

TeHospedo Porto Alegre Rua dos Andradas 1234610 ndash Centro ndash CEP 90020-008 51 3286-3799 wwwtehospedocombr

Satildeo PauloWs Host Arthur Nogueira Rua Jerere 36 ndash Vista Alegre ndash CEP 13280-000 19 3846-1137 wwwwshostcombr

DigiVoice Barueri Al Juruaacute 159 Teacuterreo ndash Alphaville ndash CEP 06455-010 11 4195-2557 wwwdigivoicecombr

Dextra Sistemas Campinas Rua Antocircnio Paioli 320 ndash Pq das Universidades ndash CEP 13086-045 19 3256-6722 wwwdextracombr

Insigne Free Software do Brasil Campinas Av Andrades Neves 1579 ndash Castelo ndash CEP 13070-001 19 3213-2100 wwwinsignesoftwarecom

Microcamp Campinas Av Thomaz Alves 20 ndash Centro ndash CEP 13010-160 19 3236-1915 wwwmicrocampcombr

PC2 Consultoria em Software Livre

Carapicuiba Rua Edeia 500 - CEP 06350-080 11 3213-6388 wwwpc2consultoriacom

Savant Tecnologia Diadema Av Senador Vitorino Freire 465 ndash CEP 09910-550 11 5034-4199 wwwsavantcombr

Epopeacuteia Informaacutetica Mariacutelia Rua Goiaacutes 392 ndash Bairro Cascata ndash CEP 17509-140 14 3413-1137 wwwepopeiacombr

Redentor Osasco Rua Costante Piovan 150 ndash Jd Trecircs Montanhas ndash CEP 06263-270 11 2106-9392 wwwredentorindbr

Go-Global Santana de Parnaiacuteba

Av Yojiro Takaoca 4384 Ed Shopping Ser-vice Cj 1013 ndash CEP 06541-038

11 2173-4211 wwwgo-globalcombr

AW2NET Santo Andreacute Rua Edson Soares 59 ndash CEP 09760-350 11 4990-0065 wwwaw2netcombr

Async Open Source Satildeo Carlos Rua Orlando Damiano 2212 ndash CEP 13560-450 16 3376-0125 wwwasynccombr

Delix Internet Satildeo Joseacute do Rio Preto

Rua Voluntaacuterio de Satildeo Paulo 3066 9ordm ndash Centro ndash CEP 15015-909 11 4062-9889 wwwdelixhostingcombr

O maior diretoacuterio de empresas que oferecem produtos soluccedilotildees e serviccedilos em Linux e Software Livre organizado por Estado Sentiu falta do nome de sua empresa aqui Entre em contato com a gente 11 4082-1300 ou anuncioslinuxmagazinecombr

copy Linux New Media do Brasil Editora Ltda

79

| SERVICcedilOSLinuxlocal

Linux Magazine 42 | Maio de 2008

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

Satildeo Paulo (continuaccedilatildeo)4Linux Satildeo Paulo Rua Teixeira da Silva 660 6ordm andar ndash CEP 04002-031 11 2125-4747 www4linuxcombr

A Casa do Linux Satildeo Paulo Al Jauacute 490 ndash Jd Paulista ndash CEP 01420-000 11 3549-5151 wwwacasadolinuxcombr

Accenture do Brasil Ltda Satildeo Paulo Rua Alexandre Dumas 2051 ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 5188-3000 wwwaccenturecombr

ACR Informaacutetica Satildeo Paulo Rua Lincoln de Albuquerque 65 ndashPerdizes ndash CEP 05004-010 11 3873-1515 wwwacrinformaticacombr

Agit Informaacutetica Satildeo Paulo Rua Major Quedinho 111 5ordm andar Cj 508 ndash Centro ndash CEP 01050-030

11 3255-4945 wwwagitcombr

Altbit - Informaacutetica Co-meacutercio e Serviccedilos LTDA

Satildeo Paulo Av Francisco Matarazzo 229 Cj 57 ndash Aacutegua Branca ndash CEP 05001-000

11 3879-9390 wwwaltbitcombr

AS2M -WPC Consultoria Satildeo Paulo Rua Trecircs Rios 131 Cj 61A ndash Bom Retiro ndash CEP 01123-001 11 3228-3709 wwwwpccombr

Big Host Satildeo Paulo Rua Dr Miguel Couto 58 ndash Centro ndash CEP 01008-010 11 3033-4000 wwwbighostcombr

Blanes Satildeo Paulo Rua Andreacute Ampeacutere 153 ndash 9ordm andar ndash Conj 91 CEP 04562-907 (proacutex Av L C Berrini)

11 5506-9677 wwwblanescombr

Commlogik do Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 13797 Bloco II 6ordm andar ndash Morumbi ndash CEP 04794-000

11 5503-1011 wwwcommlogikcombr

Computer Consulting Pro-jeto e Consultoria Ltda

Satildeo Paulo Rua Vergueiro 6455 Cj 06 ndash Alto do Ipiranga ndash CEP 04273-100 11 5062-3927 wwwcomputerconsultingcombr

Consist Consultoria Siste-mas e Representaccedilotildees Ltda

Satildeo Paulo Av das Naccedilotildees Unidas 20727 ndash CEP 04795-100 11 5693-7210 wwwconsistcombr

Domiacutenio Tecnologia Satildeo Paulo Rua das Carnaubeiras 98 ndash Metrocirc Conceiccedilatildeo ndash CEP 04343-080 11 5017-0040 wwwdominiotecnologiacombr

EDS do Brasil Satildeo Paulo Av Pres Juscelino Kubistcheck 1830 Torre 4 - 5ordm andar 11 3707-4100 wwwedscom

Eacutetica Tecnologia Satildeo Paulo Rua Nova York 945 ndash Brooklin ndash CEP04560-002 11 5093-3025 wwweticanet

Getronics ICT Solu-tions and Services

Satildeo Paulo Rua Verbo Divino 1207 ndash CEP 04719-002 11 5187-2700 wwwgetronicscombr

Hewlett-Packard Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 12901 25ordm andar ndash CEP 04578-000 11 5502-5000 wwwhpcombr

IBM Brasil Ltda Satildeo Paulo Rua Tutoacuteia 1157 ndash CEP 04007-900 0800-7074 837 wwwbribmcom

iFractal Satildeo Paulo Rua Fiaccedilatildeo da Sauacutede 145 Conj 66 ndash Sauacutede ndash CEP 04144-020 11 5078-6618 wwwifractalcombr

Integral Satildeo Paulo Rua Dr Gentil Leite Martins 295 2ordm andar Jd Prudecircncia ndash CEP 04648-001

11 5545-2600 wwwintegralcombr

Itautec SA Satildeo Paulo Rua Santa Catarina 1 ndash Tatuapeacute ndash CEP 03086-025 11 6097-3000 wwwitauteccombr

Kenos Consultoria Satildeo Paulo Av Fagundes Filho 13 Conj -53 ndash CEP 04304-000 11 40821305 wwwkenoscombr

Konsultex Informatica Satildeo Paulo Av Dr Guilherme Dumont Villares 1410 6 andar CEP 05640-003 11 3773-9009 wwwkonsultexcombr

Linux Komputer Informaacutetica Satildeo Paulo Av Dr Lino de Moraes Leme 185 ndash CEP 04360-001 11 5034-4191 wwwkomputercombr

Linux Mall Satildeo Paulo Rua Machado Bittencourt 190 Cj 2087 ndash CEP 04044-001 11 5087-9441 wwwlinuxmallcombr

Livraria Tempo Real Satildeo Paulo Al Santos 1202 ndash Cerqueira Ceacutesar ndash CEP 01418-100 11 3266-2988 wwwtemporealcombr

Locasite Internet Service Satildeo Paulo Av Brigadeiro Luiz Antonio 2482 3ordm andar ndash Centro ndash CEP 01402-000

11 2121-4555 wwwlocasitecombr

Microsiga Satildeo Paulo Av Braz Leme 1631 ndash CEP 02511-000 11 3981-7200 wwwmicrosigacombr

Novatec Editora Ltda Satildeo Paulo Rua Luis Antonio dos Santos 110 ndash Santana ndash CEP 02460-000 11 6979-0071 wwwnovateceditoracombr

Novell Ameacuterica Latina Satildeo Paulo Rua Funchal 418 ndash Vila Oliacutempia 11 3345-3900 wwwnovellcombrasil

Oracle do Brasil Sistemas Ltda Satildeo Paulo Av Alfredo Egiacutedio de Souza Aranha 100 ndash Bloco B ndash 5ordm andar ndash CEP 04726-170

11 5189-3000 wwworaclecombr

Proelbra Tecnolo-gia Eletrocircnica Ltda

Satildeo Paulo Av Rouxinol 1041 Cj 204 2ordm andar Moema ndash CEP 04516-001 11 5052- 8044 wwwproelbracombr

Provider Satildeo Paulo Av Cardoso de Melo 1450 6ordm andar ndash Vila Oliacutempia ndash CEP 04548-005

11 2165-6500 wwwe-providercombr

Red Hat Brasil Satildeo Paulo Av Brigadeiro Faria Lima 3900 Cj 81 8ordm andar Itaim Bibi ndash CEP 04538-132

11 3529-6000 wwwredhatcombr

Samurai Projetos Especiais Satildeo Paulo Rua Baratildeo do Triunfo 550 6ordm andar ndash CEP 04602-002 11 5097-3014 wwwsamuraicombr

SAP Brasil Satildeo Paulo Av das Naccedilotildees Unidas 11541 16ordm andar ndash CEP 04578-000 11 5503-2400 wwwsapcombr

Simples Consultoria Satildeo Paulo Rua Mourato Coelho 299 Cj 02 Pinheiros ndash CEP 05417-010 11 3898-2121 wwwsimplesconsultoriacombr

Smart Solutions Satildeo Paulo Av Jabaquara 2940 cj 56 e 57 11 5052-5958 wwwsmart-teccombr

Snap IT Satildeo Paulo Rua Joatildeo Gomes Junior 131 ndash Jd Bonfiglioli ndash CEP 05299-000 11 3731-8008 wwwsnapitcombr

Stefanini IT Solutions Satildeo Paulo Av Brig Faria Lima 1355 19ordm ndash Pinheiros ndash CEP 01452-919 11 3039-2000 wwwstefaninicombr

Sun Microsystems Satildeo Paulo Rua Alexandre Dumas 2016 ndash CEP 04717-004 11 5187-2100 wwwsuncombr

Sybase Brasil Satildeo Paulo Av Juscelino Kubitschek 510 9ordm andar Itaim Bibi ndash CEP 04543-000 11 3046-7388 wwwsybasecombr

The Source Satildeo Paulo Rua Marquecircs de Abrantes 203 ndash Chaacutecara Tatuapeacute ndash CEP 03060-020

11 6698-5090 wwwthesourcecombr

Unisys Brasil Ltda Satildeo Paulo R Alexandre Dumas 1658 ndash 6ordm 7ordm e 8ordm andares ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 3305-7000 wwwunisyscombr

Utah Satildeo Paulo Av Paulista 925 13ordm andar ndash Cerqueira Ceacutesar ndash CEP 01311-916 11 3145-5888 wwwutahcombr

Visuelles Satildeo Paulo Rua Eng Domicio Diele Pacheco e Silva 585 ndash Interlagos ndash CEP 04455-310

11 5614-1010 wwwvisuellescombr

Webnow Satildeo Paulo Av Naccedilotildees Unidas 12995 10ordm andar Ed Plaza Centenaacuterio ndash Chaacutecara Itaim ndash CEP 04578-000

11 5503-6510 wwwwebnowcombr

WRL Informaacutetica Ltda Satildeo Paulo Rua Santa Ifigecircnia 211213 Box 02ndash Centro ndash CEP 01207-001 11 3362-1334 wwwwrlcombr

Systech Taquaritinga Rua Satildeo Joseacute 1126 ndash Centro - Caixa Postal 71 ndash CEP 15900-000 16 3252-7308 wwwsystech-ltdcombr

| SERVICcedilOSLinuxlocal

copy Linux New Media do Brasil Editora Ltda

80

SERVICcedil

OS

httpwwwlinuxmagazinecombr

User Friendly ndash Os quadrinhos mensais da Linux Magazine

Calendaacuterio de eventosEvento Data Local Website

ApacheCon Europe 2008 7 a 11 de abril Amsterdam Holanda wwweuapacheconcom

II Encontro Software Livre da Paraiacuteba

2 a 4 de maio Joatildeo Pessoa PB ensolorgbr

LinuxTag 28 a 31 de maio Berlin Alemanha htttpwwwlinuxtagorg

LinuxWorld Conference and Expo

04 a 07 de agosto Satildeo Francisco EUAhttpwwwlinuxworldexpocomlive12

Linux Park 10 de junho Porto Alegre RS wwwlinuxparkcombr

Linux Park 24 de junho Rio de Janeiro RJ wwwlinuxparkcombr

Iacutendice de anunciantes

Empresa PaacutegEasyLinux 15

Guia de TI 83

Impacta 27

Kenos 22 23

Linux Magazine 33

Linux Magazine Online 81

Linux Park 84

Linux Pocket Pro 02 09

Linux Pro 31

Linux Technical Review 07

LPI 57

Plugin 11

Starter Kit 13

Watch Guard 19

copy Linux New Media do Brasil Editora Ltda

LM40_sitepdf 146 190208 124436

copy Linux New Media do Brasil Editora Ltda

82 httpwwwlinuxmagazinecombr

Na Linux Magazine 43

PREVIE

W

DESTAQUE

Alta disponibilidadeSe o pneu do seu carro furar como vocecirc age Se a base de dados principal do seu banco cair o que acontece Se aquele software do qual sua empresa depende profundamente simplesmente fechar o que poderaacute ser feito

No caso do carro a resposta eacute bastante simples use o estepe Durante alguns minutos vocecirc natildeo poderaacute andar com o carro mas esse atraso certa-mente seraacute perdoado por quem quer que tenha um bom coraccedilatildeo No entanto o banco de dados de uma instituiccedilatildeo financeira assim como o software de missatildeo criacutetica da sua empresa jamais pode parar Para as empresas envolvi-

das qualquer problema significa perder dinheiro ndash e geralmente em quantidade suficiente para ocasionar demissotildees

Felizmente para os ad-ministradores de sistemas e gestores de TI jaacute dispomos hoje de oacutetimas soluccedilotildees de alta disponibilidade e vamos exploraacute-las em detalhes na Linux Magazine 43

Seguranccedila

DNSSECOs administradores de sistemas e consultores de seguranccedila utilizam estrateacutegias sofisticadas para proteger redes mas ainda existe uma parte muito baacutesica da infra-estrutura da Internet que permanece surpreen-dentemente vulneraacutevel o sistema de resoluccedilatildeo de nomes Existem teacutecnicas elaboradas para forjar res-postas DNS e da mesma forma maneiras tambeacutem engenhosas de contornar esses ataques De todas elas o DNSSEC desponta como uma das mais eficazes para prote-ger redes por meio de criptografia e autenticaccedilatildeo

Conheccedila essa tecnologia e man-tenha seu sistema de resoluccedilatildeo de nomes protegido

DESTAQUE

PortaacuteteisOs laptops e notebooks sempre deram aos seus possui-dores um certo glamour status de pessoas antenadas e claro fama de gente que tinha ldquogranardquo ndash afinal um bom portaacutetil ateacute dois anos atraacutes natildeo custava nada barato Com o passar do tempo no entanto fabricantes foram criando uma nova geraccedilatildeo de no-tebooks menores sem partes mecacircnicas quebraacuteveis em boa parte de suas versotildees e mais baratos Esses aparelhinhos chamados de sub-notebooks vecircm ganhando espaccedilo tanto entre os clientes ldquotradicio-naisrdquo dos laptops quanto entre pessoas que jamais imaginaram ter um portaacutetil

Oficina

Com jeito de cinemaA qualidade de auacutedio e viacutedeo da TV digital recente-

mente iniciada no Brasil eacute um atrativo para quem deseja assistir programas em alta resoluccedilatildeo e ateacute gravar alguns de seus preferidos Se os receptores de TV ainda estatildeo muito caros receptores USB para computador oferecem a ima-gem de cinema e qualidade de som de DVD E o que eacute melhor usando Linux

Na EasyLinux 13

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

42 0508

R$ 1390 euro 750

9771806

942009

00042

A REVISTA DO PROFISSIONAL DE TI

Linu

x M

agazin

e

42 42

M

aio

200

8

052008

WWWLINUXMAGAZINECOMBR

RICARDO BIMBO p30No Linux empresas e voluntaacuterios colaboram harmoniosamente

BOSSA CONFERENCE 2008 p24Evento internacional aponta para um futuro moacutevel com Coacutedigo Aberto

ENTREVISTA SAP p28Empresa aposta em reestruturaccedilatildeo de arquiteturas rumo ao SOA

VEJA TAMBEacuteM NESTA EDICcedilAtildeO

raquo ADempiere e Eclipse desenvolvimento integrado p49

raquo LPIC-2 aula 11 DNS p52

raquo BI de coacutedigo aberto com SpagoBI p59

raquo Os melhores repositoacuterios de coacutedigo PHP p75

REDES ADMINISTRACcedilAtildeO CENTRALIZADA p66

O Puppet toma conta do gerenciamento e confi guraccedilatildeo de servidores e desktops na rede

SEGURANCcedilA FIREWALL PRAacuteTICO p71

Ateacute os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall

SOA

PRINCIacutePIOS

REDHAT

N

OVAFORGE

SHOREWALL

PUPPET

PHP

SPAGOBI

ADEM

PIERE

LPIC-2

INDT

A ARQUITETURA ORIENTADA A SERVICcedilOS DAacute FOCO AOS NEGOacuteCIOS E SERVE RECURSOS DISTRIBUIacuteDOS COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS p34

raquo A Red Hat oferece a pilha completa para SOA p36

raquo Serviccedilos distribuiacutedos soluccedilotildees integradas p40

raquo NovaForge uma faacutebrica de software corporativo p44

SOA

ex

em

pla

r d

e

Ass

inan

teve

nd

a

pro

ibid

a

copy Linux New Media do Brasil Editora Ltda

  • Capa
  • Editorial
  • Iacutendice
  • Cartas
  • Augusto Campos
  • Charly Kuumlhnast
  • Klaus Knopper
  • Zack Brown
  • Seguranccedila
  • Notiacutecias
  • Notiacutecias Corporate
  • A bossa da mobilidade
  • Software bem rodado
  • 100 de serviccedilo
  • Cezar Taurion
  • Ricardo Bimbo
  • Edgar Silva
  • Introduccedilatildeo de Capa
  • Bem arquitetado
  • Clientes espalhados servidores distribuiacutedos
  • Quase faz cafeacute
  • Produto importado
  • LPI niacutevel 2 Aula 11
  • Negoacutecio inteligente
  • Para conquistar o puacuteblico
  • Marionete
  • Domando o fogo
  • Tesouro
  • Linuxlocal
  • Serviccedilos
  • Na Linux Magazine 43
Page 6: © Linux New Media do Brasil Editora Ltda.

6 httpwwwlinuxmagazinecombr

Download do primeiro anoGostaria de informar que apesar de terem sido li-beradas para download as ediccedilotildees do ano passado natildeo haacute links para fazer esses downloads no site da revista A uacutenica alternativa mais oacutebvia do site eacute ten-tar baixar a versatildeo em PDF mas como antes o link direciona para o carrinho de compras

Diogo MunizResposta

Caro Diogo aparentemente falhamos na precisatildeo ao comunicarmos a liberaccedilatildeo do conteuacutedo do primei-ro ano da Linux Magazine e por isso vamos tentar corrigir esse erro agora

Estatildeo liberados individualmente todos os artigos de todas as ediccedilotildees do primeiro ano da Linux Maga-zine Ou seja qualquer artigo das ediccedilotildees 1 a 12 pode ser baixado gratuitamente em formato digital (PDF) a partir do site da Linux Magazine em httpwwwlinuxmagazinecombr no link Anteriores

O download de cada uma das ediccedilotildees de 1 a 12 completas e em formato digital permanece possiacutevel poreacutem sob o preccedilo normal (R$ 990)

O conteuacutedo das demais ediccedilotildees da Linux Maga-zine permanece com os tradicionais 30 liberados gratuitamente sob a forma de artigos individuais e ateacute o final de 2008 vamos liberar gradualmente 100 do conteuacutedo do segundo ano da revista (edi-ccedilotildees 13 a 24)

Pedimos sinceras desculpas pela falha de comu-nicaccedilatildeo e qualquer inconveniente que ela possa ter causado

CARTAS

sanj

a gj

ener

o ndash

ww

ws

xch

u

Emails para o editor

Permissatildeo de EscritaSe vocecirc tem duacutevidas sobre o mundo Linux criacuteticas ou sugestotildees que possam ajudar a melhorar a nossa revista escreva para o seguinte endereccedilo cartaslinuxmagazinecombr Devido ao volume de correspondecircncia eacute impossiacutevel responder a todas as duacutevidas sobre aplicativos configuraccedilotildees e problemas de hardware que chegam agrave Redaccedilatildeo mas garantimos que elas satildeo lidas e analisadas As mais interessantes satildeo publicadas nesta seccedilatildeo

Errata

Na paacutegina 65 da ediccedilatildeo 40 da Linux Magazine no artigo Montando a gestatildeo de Eduardo Montene-gro o exemplo 1 estaacute incorreto O correto eacute

O leitor Marcelo Saacutevio informou que diferente do que eacute afirmado na paacutegina 68 da ediccedilatildeo 39 da Li-nux Magazine no artigo Segredos graacuteficos sobre o utilitaacuterio de esteganografia Outguess o algoritmo RC4 natildeo eacute mais recomendaacutevel devido agraves vulnera-bilidades encontradas A quem desejar mais infor-maccedilotildees sobre esse algoritmo criptograacutefico o leitor sugere o link httpenwikipediaorgwikiRC4 Muito obrigado Marcelo

Exemplo 1 Compilaccedilatildeo do PLJava

01 $ sudo mkdir -p usrlocalsrcpljava02 $ sudo chown adempiere usrlocalsrcpljava03 $ tar xzvf pljava-src-140targz04 $ mv pljava-140 usrlocalsrcpljava05 $ cd usrlocalsrcpljava06 $ make07 $ sudo sh08 export PATH=$PATHusrlocalpgsqlbinusrlocaljdk150_14bin09 make install

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

8

COLUNA

httpwwwlinuxmagazinecombr

Acessibilidade em Software Livre

Augusto CamposEmbora qualquer pessoa possa vir a precisar de tecnologias assistivas ainda eacute pouca a atenccedilatildeo dispensada a esse campo no Software Livrepor Augusto Campos

Recentemente tive a oportunidade de participar da Comissatildeo de Programa de um evento de informaacutetica corporativa como parte de uma

banca na qual me cabia avaliar e classificar cerca de 80 trabalhos das mais variadas especialidades da Informaacutetica No decorrer dessa atividade avaliei po-sitivamente quanto agrave aplicabilidade vaacuterios trabalhos relacionados a tecnologias assistivas e acessibilidade mas tive a desagradaacutevel surpresa de constatar que na fase de discussatildeo os demais avaliadores sustentaram a posiccedilatildeo oposta a de que tecnologias assistivas inte-ressam a poucas pessoas portanto sua aplicabilidade deveria ser considerada baixa Resultado todos os trabalhos relacionados agrave acessibilidade acabaram ficando de fora do evento

A situaccedilatildeo estava fora do meu controle e laacute eu natildeo podia fazer nada a respeito mas agora vou contar com a compreensatildeo de vocecircs e usar nosso espaccedilo deste mecircs para falar um pouco sobre tecnologias assistivas em Software Livre

As tecnologias assistivas satildeo aquelas que oferecem recursos especiais de adaptaccedilatildeo assistecircncia e ateacute re-abilitaccedilatildeo para pessoas com necessidades especiais Isso eacute feito por intermeacutedio de meacutetodos diferenciados de interaccedilatildeo com tecnologias existentes permitin-do que essas pessoas possam realizar tarefas que de outro modo natildeo estariam a seu alcance

O nuacutemero de sistemas assistivos disponiacuteveis em Software Livre eacute crescente embora a atenccedilatildeo vol-

tada a eles nem sempre acompanhe a mesma ten-decircncia Essa eacute uma realidade que cada um de noacutes deveria se preocupar em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo ndash a acessibi-lidade a portadores de necessidades especiais vem sendo requisito cada vez mais exigido em softwares adotados por grandes corporaccedilotildees e pelos governos e a ausecircncia de uma oferta bem estruturada desse tipo de recurso jaacute foi justificativa para substituir Soft-ware Livre pelos seus equivalentes proprietaacuterios em telecentros municipais recentemente

Tambeacutem o niacutevel do suporte a tecnologias assisti-vas em Software Livre vem crescendo felizmente Agora aleacutem de contarmos com aplicativos espe-ciacuteficos como o vocalizador Festival e os drivers para displays em braille as versotildees recentes do Gnome passaram a oferecer o Orca sistema que integra os diversos recursos de acessibilidade dis-persos (vocalizadores displays braille ampliaccedilatildeo de tela etc) agraves aplicaccedilotildees disponiacuteveis no sistema operacional (com suporte a Firefox Thunderbird Pidgin BrOfficeorg e mais aleacutem da expansibili-dade atraveacutes de scripts)

Natildeo perco oportunidade de divulgar esse tipo de soluccedilatildeo especialmente a quem julga natildeo precisar delas ndash todos temos chance de um dia chegar a uti-lizaacute-las O Software Livre tem forte relaccedilatildeo com a ideacuteia de inclusatildeo digital e se cada administrador de sistemas e gestor de TI souber o que estaacute disponiacutevel nesse campo teremos possibilidade de empregaacute-las no momento certo e de prover o estiacutemulo neces-saacuterio para que seus desenvolvedores continuem investindo nelas

Sobre o autorAugusto Ceacutesar Campos eacute administrador de TI e desde 1996 manteacutem o site BR-linuxorg que cobre a cena do Software Livre no Brasil e no mundo

Essa eacute uma realidade que cada um de noacutes deveria preocupar-se em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

10 httpwwwlinuxmagazinecombr

Nload

Charly KuumlhnastMonitores de rede satildeo faacuteceis de encontrar mas o Nload eacute o uacutenico que separa traacutefego de entrada e saiacuteda e ainda desenha no consolepor Charly Kuumlhnast

Exibir o uso da rede numa interface natildeo eacute difiacutecil e existem inuacutemeras ferramentas para visuali-zar os valores Mas qual ferramenta oferece a

melhor representaccedilatildeo graacutefica dos valores medidos Os ldquoescovadores de bitrdquo certamente recomendariam a consulta direta aos dados no diretoacuterio proc mas essa obviamente natildeo eacute a soluccedilatildeo mais praacutetica

Tambeacutem podemos descartar todas as alternativas que dependam do X11 pois servidores geralmente natildeo possuem interfaces graacuteficas O IPTraf oferece os nuacutemeros necessaacuterios mas natildeo possui um recurso de histoacuterico O mesmo se aplica ao Iftop[1] embora ele informe quanto traacutefego sai e entra no parceiro de comunicaccedilatildeo

Para um raacutepido panorama minha ferramenta favo-rita eacute o Nload[2] Ele exibe o uso atual da rede para dados de entrada e saiacuteda dependendo do graacutefico sele-cionado (figura 1) Ao mesmo tempo oferece os valores meacutedios para um intervalo configuraacutevel O recurso de histoacuterico torna o uso do Nload um prazer natildeo haacute ris-co de perder um pico mesmo tirando os olhos da tela por um momento O paracircmetro de linha de coman-do -t ltvalorgt com valor em milissegundos permite a definiccedilatildeo do intervalo de atualizaccedilatildeo Por padratildeo o

Nload atualizaraacute sua tela duas vezes a cada segundo Na maioria dos casos uma configuraccedilatildeo mais espaccedilada eacute aceitaacutevel eu costumo usar -t 2000 uma atualizaccedilatildeo a cada dois segundos

Para manter os graacuteficos legiacuteveis eacute possiacutevel estabe-lecer limites para os traacutefegos de entrada e saiacuteda Se os dados excederem esse limite o Nload trunca o graacutefico permitindo a visualizaccedilatildeo de algo que esteja errado O limite-padratildeo eacute 10 Mbs mas pode ser modifica-do com -i ltvalorgt para a entrada e -o ltvalorgt para a saiacuteda O paracircmetro -s ltvalorgt com valor entre 1 e 9 possibilita a manipulaccedilatildeo dos valores meacutedios Quanto menor o nuacutemero mais curto eacute o intervalo para caacutelculo das meacutedias O valor 9 eacute o padratildeo Outro recurso inte-ressante eacute a possibilidade de modificar paracircmetros criacuteticos em tempo de execuccedilatildeo ndash incluindo a interface a ser monitorada Pressionar [O] enquanto o Nload estaacute rodando exibe um menu de opccedilotildees As alteraccedilotildees satildeo aplicadas no mesmo momento

O paracircmetro -m eacute uacutetil para servidores com muacuteltiplas interfaces ele informa o Nload para exibir o uso de muacuteltiplas interfaces ao mesmo tempo apesar de ser perdida a possibilidade de desenhar histogramas com o uso dessa opccedilatildeo

COLUNA

Mais informaccedilotildees

[1] Iftop httpwwwex-parrotcompdwiftop

[2] Nload httpwwwroland-riegeldenload

Figura 1 Os graacuteficos do Nload do Charly satildeo impressionantes

Sobre o autorCharly Kuumlhnast eacute administrador de sistemas Unix no datacenter Moers perto do famoso rio Reno na Alemanha Laacute ele cuida principalmen-te dos firewalls

copy Linux New Media do Brasil Editora Ltda

- Conexotildees Ilimitadas - Windows e Linux - Windows e Linux

Gab

arit

o

Suas mensagens entregues sem filas

E-mail marketingE-mail marketing Plug In

A ferramenta de relacionamento por e-mail mais poderosa do mercado

Contrate online

wwwplugincombrLigue e contrate

4003-1001

Powered by

por apenasR$4250

anunciodedicadoindd 1 41408 95432 AM

copy Linux New Media do Brasil Editora Ltda

12

COLUNA

httpwwwlinuxmagazinecombr

Pergunte ao Klaus

Klaus Knopper O criador do Knoppix responde agraves mais diversas perguntas dos leitores por Klaus Knopper

Wifi num Pavilion Prezado Klaus eu adoro sua coluna na Linux Magazine Ela jaacute me ajudou vaacuterias vezes e sem-pre aprendo muito Estou usando o openSUSE 103 num notebook HP Pavilion da seacuterie dv6000 (comprei no Natal e estou amando a maacutequina) Tudo funciona perfeitamente sem necessidade de alteraccedilotildees em arquivos de configuraccedilatildeo ex-ceto por um problema a rede sem fio

Jaacute procurei e conversei pela Internet visitei o site do driver e tentei tudo que consegui imaginar para resolver esse problema ndash desde o NDISwrap-per ateacute o comando install_fwcutter_43xx

Aleacutem disso recentemente postei um bug no site da minha distribuiccedilatildeo mas natildeo recebi qual-quer resposta

Os programas de conexatildeo sem fio como KNe-tworkManager KWiFi-Manager e iwconfig en-xergam a placa de rede sem fio assim como seu moacutedulo mas ela natildeo recebe sinal do roteador Jaacute verifiquei o equipamento e tentei me conec-tar a outros roteadores mas sempre acontece a mesma coisa

Obrigado por qualquer ajuda que vocecirc possa me dar e tambeacutem por toda a ajuda que daacute a todos que lecircem sua coluna E obrigado tambeacutem a todo o pessoal que faz a revista vocecircs satildeo oacutetimos

Resposta O seu problema talvez seja resolvido pelos

drivers de rede sem fio incluiacutedos no kernel 2624 que sempre oferecem suporte ao inter-ruptor da rede sem fio ( wifi switch ) presente em alguns notebooks Esse interruptor costu-ma impedir o funcionamento da rede sem fio porque simplesmente desliga a antena e conse-quumlentemente nenhum sinal eacute recebido mesmo que o driver e o hardware estejam funcionando perfeitamente

Como vocecirc disse ainda seraacute necessaacuterio ins-talar o firmware do adaptador de rede sem fio caso contraacuterio ele somente mostraraacute mensagens engraccediladas nos logs do sistema

O exemplo 1 mostra um trecho do arquivo de log que vocecirc me enviou Esse log confirma que o moacutedulo bcm43xx que vocecirc possui eacute adequado para a sua versatildeo do kernel mas o firmware desse adaptador natildeo estaacute presente

Provavelmente eacute possiacutevel obter esse firmware a partir de vaacuterios locais na Internet mas tambeacutem se pode extraiacute-lo de um adaptador que jaacute o pos-sua usando o programa bcm43xx-fwcutter que vocecirc mencionou

Quando vocecirc conseguir uma coacutepia do firm-ware necessaacuterio deve colocaacute-lo em usrlibho-tplugbcm43xx_microcode5fw (dependendo da sua distribuiccedilatildeo talvez tambeacutem em libfirmwarebcm43xx_microcode5fw ) em que seraacute automatica-mente carregado durante a inicializaccedilatildeo do sis-tema no momento em que o adaptador de rede sem fio for detectado e ativado

Sobre o autorKlaus Knopper eacute o criador do Knoppix e co-fundador do evento Linux Tag Atual-mente ele trabalha como professor progra-mador e consultor

Exemplo 1 Log do sistema (trecho)

Jan 6 052623 linux kernel bcm43xx PHYconnectedJan 6 052623 linux kernel bcm43xxError Microcode ldquobcm43xx_microcode5fwrdquonot available or load failedJan 6 052623 linux kernel bcm43xx core_up for active 80211 core failed (-2)Jan 6 052623 linux firmwaresh[5865]Cannot find firmware file lsquobcm43xx_microcode5fwrsquo

copy Linux New Media do Brasil Editora Ltda

REA

LIZA

CcedilAtildeO

PRO

MO

CcedilAtildeO

O Ecossistema de Negoacutecios em Software Livre no Brasil

2008PA

TRO

CIN

AD

ORE

S EM

200

7

copy Linux New Media do Brasil Editora Ltda

14 httpwwwlinuxmagazinecombr

Crocircnicas do kernel

Zack BrownLinus muda mais uma vez a poliacutetica de desenvolvimento do kernel desfazendo-se da tarefa de garantir total estabilidadepor Zack Brown

Inclusatildeo de drivers mais raacutepidaRecentemente Linus Torvalds reduziu os empeci-lhos para incluir coacutedigo no kernel Quando o Linux comeccedilou uma das maiores prioridades de Torvalds era encorajar contribuiccedilotildees Para isso ele reforccedilou a resposta a qualquer patch aceitando diversos de-les e ateacute mesmo publicando estatiacutesticas manuais sobre aqueles recebidos Conforme as contribuiccedilotildees aumentaram no final da deacutecada de 1990 a rapidez nas respostas de Linus diminuiu e ele ficou mais propenso a simplesmente ignorar patches caso natildeo gostasse deles Ele tambeacutem comeccedilou a insistir que os algoritmos dos patches fossem bonitos e que dife-rentes partes do kernel se comunicassem de formas naturais para elas

Quando Linus adotou as aacutervores ldquoestaacutevelrdquo e ldquode desenvolvimentordquo manteve a insistecircncia no bom gosto e tornou-se ainda mais estrito no ciclo ldquoes-taacutevelrdquo Com a estruturaccedilatildeo do envio de coacutedigos do kernel em uma hierarquia de mantenedores e ldquotenentesrdquo Linus comeccedilou a criar uma cultura de aderecircncia a suas preferecircncias pessoais de escrita de coacutedigo na qual outras pessoas que compreendes-sem seus gostos podiam atuar como guardas aleacutem de realizar o trabalho teacutecnico de escrever e revisar os coacutedigos em busca de falhas

Durante a aacutervore 26 Linus abandonou as mu-danccedilas um tanto desconfortaacuteveis entre as aacutervores estaacutevel e de desenvolvimento Entatildeo ele reinstituiu um conjunto de micro-forks para o desenvolvimen-to estaacutevel no qual a aacutervore 26 principal jamais sai da fase de desenvolvimento e cada versatildeo gera um novo fork estaacutevel A decisatildeo de abandonar os ciclos originais de estabilidade e desenvolvimento marca-ram uma eacutepoca de avaliaccedilatildeo de uma grande varie-dade de problemas Uma das principais justificativas para a mudanccedila foi a de que as distribuiccedilotildees Linux sempre aplicavam seus proacuteprios patches sobre as versotildees oficiais do kernel

Como o ocircnus de oferecer estabilidade sempre recaiacutea sobre as distribuiccedilotildees Linus lhes impocircs for-malmente essa obrigaccedilatildeo livrando-se dessa tarefa A decisatildeo indicou uma nova abordagem para o desenvolvimento do kernel ndash sem abandonar a necessidade de estabilizar aspectos do kernel mas ainda dando maior liberdade aos contribuidores

Agora Torvalds comeccedilou a aceitar patches de drivers com problemas oacutebvios Recentemente Adrian Bunk reclamou de um envio de driver que foi aceito no kernel apesar de conter mais de 250 erros de checkpatch e mais de 2000 avisos Antiga-mente esses problemas precisavam ser solucionados antes que um driver fosse aceito na aacutervore Parte da justificativa de Linus para a mudanccedila na poliacutetica eacute o reconhecimento de que eacute muito mais provaacutevel que um coacutedigo seja testado e consertado dentro da aacutervore oficial do que fora dela

Aleacutem disso supotildee-se que o usuaacuterio meacutedio use o kernel de sua distribuiccedilatildeo e natildeo o oficial enquan-to os desenvolvedores satildeo os usuaacuterios primaacuterios da versatildeo oficial e conseguem lidar melhor com drivers mais feios e menos polidos

Linus lembra que essa nova poliacutetica visa ao coacutedigo de drivers que por definiccedilatildeo satildeo perifeacutericos em relaccedilatildeo ao corpo principal do coacutedigo Ele diz que eacute importante que os drivers sejam bem testados antes de entrarem no kernel O liacuteder do desenvolvimento do Linux natildeo estaacute tatildeo preocupado com o visual do coacutedigo mas quer garantir que ele funcione e natildeo quebre nem cause per-da de dados aos usuaacuterios

COLUNA

Sobre o autorA lista de discussatildeo Linux-kernel eacute o nuacutecleo das atividades de desenvolvimento do kernel Zack Brown consegue se perder nesse oce-ano de mensagens e extrair significado Sua newsletter Kernel Traffic esteve em atividade de 1999 a 2005

copy Linux New Media do Brasil Editora Ltda

Acesse agora wwwrevistaesylinuxcombrPeccedila pelo telefone 11 4082-1300

Jaacute nas bancaspor apenas R$990

Easy Linux traz todos os meses notiacutecias tutoriais de programas e jogos dicas e tudo que o usuaacuterio iniciante precisa saber para usar Linux em casa e no trabalho

Com linguagem simples e abrangente EasyLinux eacute a leitura obrigatoacuteria para quem quer ldquodesbravarrdquo o software livre

EasyLinux leia para saber

por apenas R$990

por apenas R$990

por apenas R$990

por apenas R$990

copy Linux New Media do Brasil Editora Ltda

16

SE

GU

RA

NCcedil

A

httpwwwlinuxmagazinecombr

Figura 1 O gato natildeo estaacute vivo nem morto ateacute que se olhe dentro da caixa

Notiacutecias de InseguranccedilaTodos noacutes jaacute passamos por isso

na verdade muitos passaram recentemente Vocecirc acorda

e encontra um email do Bugtraq ou do Full-Disclosure ou talvez uma noti-ficaccedilatildeo do seu fornecedor a respeito de uma atualizaccedilatildeo de seguranccedila ndash uma atualizaccedilatildeo que afeta quase todos os seus sistemas e cujo exploit jaacute estaacute dis-poniacutevel haacute vaacuterios dias[1]

Obviamente podemos facilmente empregar o poder do Coacutedigo Aberto e nos gabar da velocidade com que os desenvolvedores do kernel con-sertaram a vulnerabilidade permi-tindo que os fornecedores provessem atualizaccedilotildees rapidamente

Ou eu poderia ainda falar da im-portacircncia de fazer um inventaacuterio de seus sistemas e ter um sistema de ge-renciamento de patches para aplicaacute-los prontamente Poreacutem a questatildeo eacute que todos os sistemas satildeo vulneraacuteveis o tempo inteiro Permita-me repetir soacute para assegurar que ningueacutem pense que me confundi todos os sistemas satildeo vulneraacuteveis o tempo inteiro

Falhas de seguranccedila satildeo bem se-melhantes ao gato de Schroumldinger nem vivo nem morto ateacute que seja verificado[2] (figura 1) Da mesma forma podemos perguntar se as vul-nerabilidades de seguranccedila aparecem do nada como por maacutegica quando algueacutem as observa colapsando o es-tado quacircntico de probabilidade da vulnerabilidade em questatildeo para um estado conhecido Ou seja en-quanto ningueacutem reconhece uma vulnerabilidade (e mais importan-te enquanto ningueacutem possui um exploit para ela) ela natildeo existe Isso tambeacutem eacute conhecido como a teoria da ldquoaacutervore que cai na florestardquo em seguranccedila da informaccedilatildeo

Tambeacutem seria possiacutevel argumen-tar de forma alternativa que mes-mo sem sabermos ao certo quan-do o isoacutetopo decairaacute acionando a liberaccedilatildeo do gaacutes venenoso ele vai decair e provavelmente mais cedo do que se desejaria

A verdade eacute que um sistema mo-derno possui tanto coacutedigo instalado e em execuccedilatildeo que eacute provaacutevel que alguma vulnerabilidade exploraacutevel venha a ser encontrada e usada para comprometer o sistema Entatildeo o que vocecirc pode fazer

Planos futurosAssim como no velho ensinamento ldquoplaneje-se para o pior mas espere o melhorrdquo eacute obrigatoacuterio planejar-se para o caso de falhas no sistema de seguranccedila Todos os conselhos-padratildeo a respeito de aumento de seguranccedila de sistemas criaccedilatildeo de camadas de seguranccedila e limitaccedilatildeo de acesso e privileacutegios sempre que possiacutevel ainda satildeo bons conselhos mas simplesmente natildeo consegue mresponder agrave pergunta o que fazer quando sua seguranccedila falha

Melhores praacuteticasPor ser praticamente inevitaacutevel que seus sistemas estejam vulneraacuteveis em algum momento ndash provavelmente durante um periacuteodo em que haacute aces-so puacuteblico pelo exploit ndash eles prova-velmente estaratildeo comprometidos Um exemplo perfeito disso eacute o site seifriedorg O SELinux estava ativo impedindo a exploraccedilatildeo de todas as vulnerabilidades de seguranccedila mas tambeacutem evitando o funcionamento correto de vaacuterios softwares de tercei-ros Apoacutes brigar um tempo contra o SELinux desisti e desativei-o

Esse foi meu primeiro erro por dois motivos Primeiro ao desati-var o SELinux facilitei muito a in-vasatildeo do meu sistema reduzindo tambeacutem a quantidade de logs que seriam gerados em caso de invasatildeo Se for preciso desativar o SELinux ao menos use o modo permissivo que registra as violaccedilotildees

Meu segundo erro foi a claacutessica preguiccedila administrativa Para faci-litar a administraccedilatildeo do sistema eu havia estabelecido relaccedilotildees de confianccedila no SSH entre minhas maacutequinas e tambeacutem ativado o acesso por sudo sem a requisiccedilatildeo de uma senha

Entatildeo uma vez que o agressor conseguisse invadir um sistema e ganhasse acesso agrave conta de admi-nistraccedilatildeo ele teria acesso a todos os meus sistemas Portanto quando um dos meus sistemas foi compro-metido acabei tendo que reinstalar todos eles pois tinha certeza de que todos haviam sido modificados Com frequumlecircncia essa falha de projeto tam-beacutem ocorre com firewalls e outros mecanismos de seguranccedila As organi-zaccedilotildees implementam uma seguranccedila externa bem riacutegida mas falham ao implementar a seguranccedila interna deixando um nuacutecleo apetitoso para os invasores desfrutarem

por Kurt Seifried

copy Linux New Media do Brasil Editora Ltda

17

| NOTIacuteCIASSeguranccedila

Linux Magazine 42 | Maio de 2008

Melhores registrosComo disse eu havia desativado o SELinux em vez de deixaacute-lo no modo permissivo Com o espaccedilo em disco sendo relativamente barato atualmen-te raramente faz sentido apagar logs para economizar espaccedilo

Aleacutem disso com a facilidade de criar um sistema de logs pela rede com o Syslog natildeo existe desculpa para natildeo usar um log centralizado (dificultando assim a eliminaccedilatildeo dos rastros de um eventual invasor) Entretanto note que muitos ataques deixaratildeo poucas mensagens significativas nos logs

Frequumlentemente uma mensa-gem informando que o programa servidor fechou seraacute o uacutenico indiacute-cio da invasatildeo o que dificilmente garante uma investigaccedilatildeo completa da ocorrecircncia

Ter um rastro confiaacutevel para au-ditoria pode significar a diferenccedila

entre precisar reinstalar todo um grupo de maacutequinas e apenas limpar uma delas Manter logs tambeacutem eacute importante para fornecer as infor-maccedilotildees necessaacuterias para consertar um sistema Simplesmente retornar um sistema a seu estado original natildeo impediraacute que o agressor faccedila uma nova invasatildeo

BecapeOs becapes costumam ser um dos as-pectos mais negligenciados pela segu-ranccedila da informaccedilatildeo Poreacutem eles satildeo cruciais para garantir que os sistemas possam ser reinstalados corretamente e os dados possam ser recuperados Se vocecirc natildeo fizer becape de nada mais ao menos faccedila um de seus da-dos e assegure-se de guardaacute-lo longe da maacutequina Aleacutem disso ter sistemas de recuperaccedilatildeo que funcionem eacute tatildeo importante quanto todo o becape

Mais Informaccedilotildees

[1] SecurityFocus vulnerabilidade em copy_from_user_mmap_sem() httpwwwsecurityfocuscombid27796

[2] Gato de Schroumldinger httpptwikipediaorgwikiGato_de_SchrC3B6dinger

Sobre o autorKurt Seifried eacute Consultor de Seguranccedila da Informaccedilatildeo especializado em Linux e re-des desde 1996 Ele eacute casado e tem qua-tro gatos mas nenhum peixe (porque os ga-tos tecircm mais fome que medo de aacutegua) Ele sempre se pergunta como essa tecnologia funciona em larga escala mas frequumlente-mente falha em escalas menores

Com muita frequumlecircncia jaacute vi be-capes funcionarem perfeitamente ateacute serem necessaacuterios aleacutem de imagens de recuperaccedilatildeo de baixo niacutevel incompatiacuteveis com o hard-ware substituto ou dados exporta-dos corrompidos e incompletos Por exemplo tenho um script de becape que estava falhando silen-ciosamente haacute trecircs meses porque eu havia deixado de lado a opccedilatildeo ldquosobrescrever arquivos mais anti-gosrdquo e entatildeo todos os arquivos alterados natildeo haviam recebido a coacutepia de seguranccedila

Preacute-funeralUma das praacuteticas mais poderosas que jaacute vi eacute conduzir um ldquopreacute-fu-neralrdquo Em essecircncia o administra-dor finge que o sistema jaacute falhou Ter uma ideacuteia do que fazer nessa situaccedilatildeo ajuda a evitar a confusatildeo caso isso de fato aconteccedila e tam-beacutem pode oferecer ideacuteias de accedilotildees preventivas a serem tomadas tais como usar firewalls em todos os computadores independente de a maacutequina estar ou natildeo conectada a uma rede puacuteblica

ConclusatildeoDa mesma forma que o sistema comprometido natildeo importa de ver-dade se o gato estaacute vivo ou morto Em algum momento o gaacutes veneno-so seraacute liberado o gato morreraacute e o local comeccedilaraacute a cheirar mal

O truque eacute encontrar formas efi-cazes de lidar com falhas para que se consiga retornar ao trabalho de forma raacutepida e segura

Dica de invasatildeo MySQL

Um meacutetodo comumente usado para zerar uma senha de root do MySQL perdida eacute usar a opccedilatildeo --skip-grant-tables que carrega o banco de dados sem qualquer proteccedilatildeo Se for necessaacuterio usar esse meacutetodo use tambeacutem --skip_networking para permitir somente conexotildees locais Com ela usuaacute-rios locais ainda conseguiriam conectar-se portanto assegure-se de desco-nectaacute-los tambeacutem

Talvez um meacutetodo melhor seja usar a opccedilatildeo --init file que lecirc comandos SQL deste arquivo na inicializaccedilatildeo Cada comando deve estar numa uacutenica linha e natildeo deve incluir comentaacuterios

Entatildeo basta criar um arquivo texto (zera-senhatxt) com um comando SQL para alterar a senha de root

SET PASSWORD FOR lsquorootrsquorsquolocalhostrsquo = PASSWORD(lsquoNovaSenharsquo)

e em seguida iniciar o mysqld com a opccedilatildeo --init-file zera-senhatxt Depois de carregar o arquivo simplesmente reinicie o MySQL normalmente e entre com a nova senha

copy Linux New Media do Brasil Editora Ltda

18

NO

TIacuteC

IAS

httpwwwlinuxmagazinecombr

Linux eacute feito por empresas

Sun homologaraacute Ubuntu Mark Shuttleworth fundador da Canonical empresa responsaacutevel pelo Ubuntu afi rmou que a Sun demons-trou interesse em homologar essa distribuiccedilatildeo em seus servidores A accedilatildeo seria muito importante para a em-presa sul-africana cuja distribuiccedilatildeo passaria a concorrer contra os pesos-pesados das distribuiccedilotildees corporativas (as chamadas Enterprise ) Red Hat Enterprise Linux e No-vell Suse Linux Enterprise Server ambas com modelos baseados em subscriccedilatildeo diferentemente do Ubuntu

A Canonical jaacute oferece suporte comercial ao Ubun-tu instalado em determinadas maacutequinas da Sun O que muda agora eacute a homologaccedilatildeo por parte da fa-bricante do hardware

A Linux Foundation publicou um novo relatoacuterio a res-peito do desenvolvimento do Linux intitulado ldquoLinux Kernel Development ndash How Fast it is Going Who is Doing It What They are Doing and Who is Sponso-ring Itrdquo (Desenvolvimento do Kernel Linux ndash com que velocidade estaacute ocorrendo quem o estaacute fazendo o que eles tecircm feito e quem fi nancia O estudo foi feito com base nos uacuteltimos trecircs anos do desenvolvimento do kernel Linux ndash abrangendo desde a versatildeo 2611 ateacute a 2624 ndash e revela que a maior parte dos desenvolvedores do kernel satildeo pagos por grandes companhias como IBM Intel Linux Foundation MIPS Technology MontaVista Movial NetApp Novell e Red Hat

Ao longo dos anos o nuacutemero de desenvolvedores do Linux tem crescido consideravelmente Pela anaacutelise a versatildeo mais recente do kernel (2624 na liberaccedilatildeo do estudo) teve 1057 desenvolvedores registrados O estudo informa que entre 70 e 95 dos desenvolvedores pagos para trabalhar com o Linux nos uacuteltimos trecircs anos satildeo funcionaacuterios dessas empresas Mostra tambeacutem que atual-mente a relaccedilatildeo das grandes empresas com o Linux eacute bastante proacutexima Os investimentos em Coacutedigo Aber-to portanto estatildeo diretamente relacionados ao modus operandi dessas empresas e jaacute incorporados agrave ldquocorrida armamentistardquo do mundo dos negoacutecios

O relatoacuterio da Linux Foundation sobre as contribui-ccedilotildees ao Linux exibe tambeacutem um nuacutemero elevado de contribuiccedilotildees de desenvolvedores individuais ao siste-ma Poreacutem a quantidade de pessoas que realmente faz o trabalho ldquobraccedilalrdquo eacute bem pequena Nos uacuteltimos trecircs anos os dez desenvolvedores que mais contribuiacuteram para o kernel somam 15 de todo esse trabalho Se au-

mentada a margem levando em conta os 30 maiores desenvolvedores esse nuacutemero sobe para 30

Assim foi estabelecido um ranking das empresas mais atuantes no kernel Um dos destaques eacute a Novell que au-mentou em 300 sua participaccedilatildeo nos uacuteltimos trecircs anos A empresa passou de 36 para 144 do total de contribuiccedilotildees realizadas Isso a coloca em segundo lugar logo atraacutes da Red Hat

Ranking

As companhias que de fato constroem o Linux consi-derando sua contribuiccedilatildeo para o kernel satildeo Red Hat (112) Novell (89) IBM (83) Intel (41) Linux Foundation (35) SGI (20) MIPS Technology (16) Oracle (13) MontaVista (12) e Linutronix (10) A participaccedilatildeo dessas empresas no desenvolvimento do Linux tem sua razatildeo de ser Red Hat Novell e MontaVista possuem motivos claros as trecircs desenvolvem e comer-cializam sistemas Linux As demais companhias traba-lham no kernel para garantir que o Linux rode correta-mente em seus hardwares na intenccedilatildeo de tornar seus produtos mais atraentes para os usuaacuterios Linux e com isso aumentar suas vendas

Outras empresas que desenvolvem o Linux como Sony Nokia e Samsung satildeo conhecidas por embar-carem o sistema aberto como um componente de seus proacuteprios produtos (como cacircmeras de viacutedeo te-levisores e telefones moacuteveis) Sua participaccedilatildeo no de-senvolvimento do kernel busca um investimento de meacutedio a longo prazo Essas empresas desejam ga-rantir que o sistema do pinguumlim continue a ser uma base soacutelida para seus produtos no futuro

18copy Linux New Media do Brasil Editora Ltda

19

| NOTIacuteCIASGerais

Linux Magazine 42 | Maio de 2008

BrOfficeorg 24Apoacutes uma espera relativamente longa a nova versatildeo do BrOfficeorg finalmente estaacute disponiacutevel para download Satildeo vaacuterias as novidades que se destacam nesse salto de versatildeo entre elas me-lhorias na geraccedilatildeo de documentos PDF mudanccedila da fonte-padratildeo para a famiacutelia DejaVu melhorias gerais no acesso a banco de dados (MySQL Oracle JDBC etc) e inclusatildeo de suporte nativo ao formato proprietaacuterio do aplicativo de bancos de dados do MS Access 2007

A interface dos programas tambeacutem apresenta algumas mudanccedilas A seleccedilatildeo do idioma no corretor ortograacutefico estaacute mais simples novos atalhos de teclado foram criados

para a definiccedilatildeo de estilos de paraacutegrafo e os blocos de ceacutelulas do Calc podem ser copiados e movidos mais facilmente pela planilha Na janela de impressatildeo as opccedilotildees avanccediladas podem ser ocultadas uma vez que raramente precisam ser alteradas

Linux em switches CiscoA Cisco atraveacutes de sua nova plataforma Application Extension Platform (AXP) converteu vaacuterios mode-los de seus switches para servidores de aplicaccedilotildees Linux Os novos servidores vecircm embarcados com bibliotecas C Java e Perl certificadas Com isso os desenvolvedores seratildeo capazes de usar um kit de desenvolvimento (SDK) para construir aplicativos para o novo sistema

Os servidores AXP vecircm equipados com proces-sadores de arquitetura x86 (o mais recente traz um Pentium 14 GHz) e satildeo capazes de executar uma distribuiccedilatildeo Linux proacutepria com kernel 26143 e bibliotecas compatiacuteveis com o Fedora Core 4 A dis-tribuiccedilatildeo particular da Cisco foi desenvolvida exata-mente para rodar sobre esse hardware que in-clui 2 GB de memoacuteria RAM e discos riacutegidos de 160 GB

copy Linux New Media do Brasil Editora Ltda

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Gartner SL em alta Windows em colapso De acordo com estudo realizado pelo Gartner em apenas alguns anos praticamente todos os tipos de negoacutecios estaratildeo utilizando Coacutedigo Aberto mesmo que os gerentes de TI dessas mesmas empresas ignorem essa tecnologia e prefi ram utilizar apenas a de software como serviccedilo ( SaaS ) O mesmo estu-do informa que ateacute 2012 todas as empresas estaratildeo utilizando Coacutedigo Aberto de forma embarcada

De acordo com Mark Taylor presidente do grupo de promoccedilatildeo do Open Source Consortium ldquoinfe-lizmente o Gartner estaacute subestimando o Coacutedigo Abertordquo Ele informa que atualmente todos estatildeo utilizando Coacutedigo Aberto como serviccedilo ndash o princi-pal exemplo eacute o do Google Ainda de acordo com Taylor o Gartner natildeo percebeu que uma licenccedila livre faz mais que apenas reduzir o custo total de propriedade (TCO) ndash ela fornece muitos outros benefiacutecios tambeacutem a quem a utiliza

Mesmo sabendo que o custo da licenccedila representa apenas 3 do valor do projeto algumas empresas continuam baseando suas vendas nesse detalhe tornando-se limitadas Poreacutem quando essa limi-taccedilatildeo eacute eliminada a abrangecircncia do projeto pode se expandir para diversas outras esferas ndash tudo isso sem custo adicional Esse fenocircmeno se deve prin-cipalmente ao fato de o Coacutedigo Aberto fornecer

grande escalabilidade a um custo zero de transaccedilatildeo para qualquer aplica-

ccedilatildeo em que se queira investir

Microsoft em risco Ao mesmo tempo os analistas do Gartner afir-maram que o sistema Windows corre perigo pondo em risco tambeacutem a Microsoft Em sua conferecircncia ldquoEmerging Trendsrdquo analistas de TI do Gartner afirmaram que os esforccedilos da Mi-crosoft em relaccedilatildeo ao Windows natildeo trouxeram resultados Os motivos disso de acordo com os analistas incluem os ciclos de desenvolvimento extremamente longos e as limitadas inovaccedilotildees trazidas a cada nova versatildeo do sistema opera-cional liacuteder em vendas aleacutem da experiecircncia de uso inconsistente entre diferentes versotildees Segundo mateacuteria da PC World no lado dos ad-ministradores cada nova interaccedilatildeo do sistema traz novas questotildees de incompatibilidade com aplicativos resultando no aumento dos custos de gerenciamento e reduzindo o valor do pro-duto da gigante de Redmond

As criacuteticas ao sistema da Microsoft natildeo pararam por aiacute Os analistas do Gartner levantaram ques-totildees teacutecnicas desde a complexidade do Windows sua falta de modularidade seus trechos de coacutedigo com 20 anos de idade e os elevados requisitos de hardware ateacute a difusatildeo do uso de aplicativos web e multi-plataforma

Essas questotildees conduziratildeo os consumidores de acordo com os analistas agrave adoccedilatildeo de outros sistemas garantindo um futuro proacutespero ao Coacute-digo Aberto A saiacuteda para o Windows segundo o Gartner seria uma versatildeo do Vista ainda mais modularizada apesar das alegaccedilotildees de grande modularizaccedilatildeo no sistema feitas pela Microsoft Uma soluccedilatildeo especiacutefica para a retrocompatibili-dade dos aplicativos residiria na virtualizaccedilatildeo de sistemas e componentes No entanto adverte o instituto de pesquisa natildeo devemos esperar mu-danccedilas raacutepidas da Microsoft junto aos negoacutecios bilionaacuterios do Windows

Cars

ten

Muumll

ler -

ww

ws

xch

u

20copy Linux New Media do Brasil Editora Ltda

21

| CORPORATENotiacutecias

Linux Magazine 42 | Maio de 2008 21

21

Sun promete viacutedeo livre Rob Glidden da Sun Microsystems infor-mou em seu blog a respeito de dois novos projetos de Coacutedigo Aberto da empresa que deveratildeo resultar em uma soluccedilatildeo livre para multimiacutedia via Web incluindo codecs de aacuteudio e viacutedeo No contexto da iniciativa Open Media Commons (OMC) a Sun estaacute trabalhando atualmente no OMS Video ndash segundo Glidden a sigla OMS pode signifi car tanto Open Media Stack quanto Open Media System Assim como ocorre com o formato Flash da Adobe a soluccedilatildeo da Sun deveraacute encapsular um codec de aacuteudio e um de viacutedeo ao mesmo tempo em que cuida do controle e do trans-porte de dados bem como de aspectos de seguranccedila do conteuacutedo Os desenvolvedo-res do codec de Coacutedigo Aberto natildeo estatildeo considerando apenas suas caracteriacutesticas teacutecnicas como velocidade e qualidade questotildees como a aderecircncia da licenccedila do sistema agraves premissas do Software Livre ausecircncia de custos com licenciamento e a criaccedilatildeo de coacutedigos e meacutetodos que natildeo infrinjam nenhuma patente tambeacutem satildeo requisitos do projeto O desenvolvimento do OMS eacute pautado pela poliacutetica de direitos de propriedade intelectual adotada pela Organizaccedilatildeo Mundial do Comeacutercio que natildeo se restringe simplesmente agrave adoccedilatildeo de uma licenccedila proacutepria ndash a Common Development and Distribution License (CDDL) que permite uma combinaccedilatildeo de software de coacutedigo aberto e proprietaacute-rio ndash mas utiliza tambeacutem Digital Rights Management (DRM)

O codec de viacutedeo deveraacute ser baseado nas especifi caccedilotildees do pa-dratildeo H26x ndash mas sem se limitar a elas Como formato de aacuteudio os de-senvolvedores estatildeo considerando o formato Xiph Vorbis A Sun preferiu natildeo adotar o formato H264 por natildeo consideraacute-lo sufi cientemente livre Pro-jetos que tenham objetivos similares como Vorbis Theora e Dirac natildeo satildeo considerados concorrentes mas ldquofacilitadoresrdquo Glidden no entanto natildeo revelou em quanto tempo o produto fi nal deve estar disponiacutevel

Microsoft cogita aquisiccedilatildeo hostil do Yahoo Apoacutes ter por reiteradas vezes afi rmado que a aquisiccedilatildeo do Yahoo eacute im-prescindiacutevel para os planos de expansatildeo da companhia na concorrecircncia contra o Google a Microsoft em carta redigida pelo CEO Steve Ball-mer enviou no iniacutecio de abril um ultimato agrave empresa de Jerry Yang caso natildeo cheguem a um acordo com a cuacutepula diretora da empresa nas proacuteximas trecircs semanas a Microsoft deveraacute recorrer aos acionistas e partir para uma aquisiccedilatildeo hostil

Na carta Steve Ballmer advertiu a direccedilatildeo do Yahoo de que no caso de uma accedilatildeo hostil a oferta da Microsoft poderaacute ser menor devido agrave reduccedilatildeo nos valores das accedilotildees das duas empresas ocorrida recentemente Adicional-mente a Microsoft pretende exercer pressatildeo sobre a diretoria do Yahoo atraveacutes de seus proacuteprios representantes no conselho diretor da empresa Ateacute entatildeo a empresa fundada por Bill Gates havia tentado chegar a um acordo por vias paciacutefi cas no intuito de evitar um processo de aquisiccedilatildeo hostil longo (e possivelmente caro) bem como para preservar as equipes das duas empresas para quando ocorrer a fusatildeo Entretanto segundo Ball-mer as reuniotildees realizadas ateacute agora foram infrutiacuteferas

Ballmer argumentou ainda no docu-mento que o Yahoo teria perdido espaccedilo no mercado de maacutequinas de busca na Internet e que a situaccedilatildeo fi nanceira da companhia teria piorado desde que a oferta foi feita

Concorrente do ODF vira padratildeo ISO A Organizaccedilatildeo Internacional de Padronizaccedilatildeo ISO aprovou no dia 1ordm de abril com 75 dos votos vaacutelidos dos membros P a homologaccedilatildeo do formato de documentos de escritoacuterio Offi ce Open XML de autoria da Microsoft como um padratildeo internacional A aceitaccedilatildeo do formato como padratildeo ocorreu na segunda tentativa da empresa de Steve Ballmer junto ao oacutergatildeo internacional e apoacutes sua aprovaccedilatildeo pelo ECMA oacutergatildeo europeu de padronizaccedilatildeo de sistemas de comunicaccedilatildeo e informaccedilatildeo

O Brasil representado pela ABNT (Associaccedilatildeo Brasileira de Normas Teacutecnicas) votou assim como na primeira avaliaccedilatildeo contra a aprovaccedilatildeo do OOXML ndash como eacute chamado o formato ndash devido a inuacutemeras questotildees teacutecnicas no documento ofi cial que descreve o formato

Votaram como o Brasil o Canadaacute e a China aleacutem de Cuba Equa-dor Iacutendia Iratilde Nova Zelacircndia Aacutefrica do Sul e Venezuela totalizando oito votos de membros P (participantes) e dois de membros O (observadores incluindo o Brasil) da ISO Diversos paiacuteses se abstiveram muitos deles emitindo comentaacuterios a esse respeito

O periacuteodo anterior agrave votaccedilatildeo foi alvo de diversas denuacutencias e acusaccedilotildees relativas a alguns oacutergatildeos nacionais e influecircncias exter-nas e internas de voto

Aleacutem das falhas teacutecnicas apontadas nas especifi caccedilotildees do OOXML outro importante argumento contra sua padronizaccedilatildeo junto agrave ISO eacute a exis-tecircncia do formato ODF ( Open Document Format ) criado de forma aberta pela organizaccedilatildeo OASIS cujo objetivo eacute justamente o de proporcionar um formato de arquivos de escritoacuterio (documentos planilhas apresenta-ccedilotildees etc) legiacutevel por qualquer programa que o deseje e que jaacute havia sido aprovado como o padratildeo ISOIEC 26300 em 2006

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

24

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Agraves 9h34min de uma rara manhatilde nublada em Porto de Galinhas Brasil Sandro Alves Gerente

de Desenvolvimento de Novos Ne-goacutecios do Instituto Nokia de Tecno-logia (INdT)[1] inaugurou a ediccedilatildeo 2008 da Bossa Conference[2] Ele apresentou um curto viacutedeo contan-do detalhes da histoacuteria e das atraccedilotildees de Porto de Galinhas Recife e do Estado de Pernambuco

Alves deu as boas vindas ao puacuteblico internacional de 250 pessoas ainda em-polgado com a ediccedilatildeo de 2007 da Bossa Conference e seu grande sucesso Logo apoacutes a abertura o gerente explicou o trabalho do INdT e mais importante por que seus funcionaacuterios o fazem

Design e conceitoSandro caracteriza o INdT como um instituto ldquomovido por design e conceitordquo e natildeo ldquopor tecnologiardquo embora deixe perfeitamente claro que natildeo se trata de uma criacutetica aos desenvolvedores de Coacutedigo Aberto ldquoQuando comeccedilamos eacuteramos movi-dos pela tecnologiardquo afirmou ldquomas gradualmente fomos percebendo que a abordagem orientada ao de-sign e conceito era muito melhor e isso tem funcionado muito bem desde entatildeordquo

A unidade do INdT em Recife emprega apenas Coacutedigo Aberto no desenvolvimento de novos aplicati-vos e plataformas para dispositivos moacuteveis da Nokia e eacute esse o tema central da Bossa Conference ldquoo evento eacute projetado para promover interaccedilatildeo entre os desenvolvedoresrdquo coloca Sandro ldquoA Bossa Conference

eacute projetada para maximizar o tempo de interaccedilatildeo entre as pessoasrdquo

Na praacuteticaAssim como na ediccedilatildeo 2007 do even-to[3] todos os dias contaram com sessotildees voltadas agrave parte praacutetica dos sistemas de software que compotildeem os dispositivos moacuteveis da Nokia Daniel Rocha apresentou o uso de Python para o desenvolvimento de aplicati-vos sobre a plataforma S60 seguido de Mario Hozzano e Leandro Sales que mostraram como utilizar essa mesma linguagem na programaccedilatildeo para a plataforma Maemo No se-gundo dia Thiago Santos mostrou na praacutetica como criar plugins para o sistema multimiacutedia GStreamer e apoacutes o almoccedilo Denis Kenzior abordou a programaccedilatildeo de aplicativos com uso de Bluetooth e OBEX para a plataforma Qtopia desenvolvida pela norueguesa Trolltech e recentemente adquirida pela Nokia Finalizando as sessotildees praacuteticas do evento Marcelo Oliveira e Gustavo Barbieri ambos do INdT mostraram como desenvolver inter-faces usando Python e as bibliotecas EFL seguidos de Dave Andreoli que mostrou outras formas de ir mais fun-do no uso dessas bibliotecas

EspecialistasCom sua especializaccedilatildeo em dispo-sitivos moacuteveis de comunicaccedilatildeo e conectividade o INdT foi capaz de reunir em Porto de Galinhas um impressionante nuacutemero de sumidades em grande parte das tecnologias que compotildeem esse crescente mercado

Michael ldquoMickeyrdquo Lauer (figura 1) um dos criadores do smartphone total-mente livre OpenMoko[4] discursou sobre a construccedilatildeo de distribuiccedilotildees Linux especiacuteficas para o mercado de sistemas embarcados com o OpenEm-bedded[5] Em uma entrevista[6] dada agrave Linux Magazine logo em seguida o alematildeo exibiu alguns protoacutetipos do dispositivo fabricado pela FIC e con-tou a histoacuteria do desenvolvimento do aparelho que encheu os olhos de todo o puacuteblico presente (figura 2) chamado frequumlentemente de ldquoplaygroundrdquo para hackers tamanha sua flexibilidade Harald Welte outro alematildeo partici-pante do projeto tratou de apresentar agrave plateacuteia o conceito de um smartphone verdadeiramente aberto

Depois do almoccedilo Alp Toker de-monstrou ainda os grandes avanccedilos do mecanismo de renderizaccedilatildeo de paacuteginas web Webkit de autoria da Apple e derivado do KHTML do projeto KDE O desenvolvedor do Webkit demonstrou como a equipe de desenvolvimento do renderiza-dor tem preocupaccedilatildeo com o uso de memoacuteria [7] o que vem rendendo

Figura 1 Mickey Lauer exibe dois protoacute-tipos do FIC Neo Freerunner

Bossa Conference 2008

A bossa da mobilidadeCom um evento uacutenico no mundo a Bossa Conference do Instituto Nokia de Tecnologia em Recife comemora sua entrada no calendaacuterio internacionalpor Pablo Hess

copy Linux New Media do Brasil Editora Ltda

25

| CORPORATEBossa Conference 2008

Linux Magazine 42 | Maio de 2008

vaacuterios testes desse mecanismo nos dispositivos moacuteveis que satildeo o centro da Bossa Conference

Na aacuterea de tecnologias visuais ndash um dos fetiches desse mercado ndash Carsten ldquoRastermanrdquo Haitzler criador do re-conhecidamente inovador ambiente desktop Enlightenment demonstrou os motivos do crescente interesse por parte dos desenvolvedores de dispositivos embarcados pelas bibliotecas graacuteficas que compotildeem seu software ndash especial-mente em relaccedilatildeo ao consumo de re-cursos ndash o que pode acabar por render a essas bibliotecas o posto atualmente ocupado pela GTK[8] Oslashyvind Kolarings colaborador de diversos projetos de Soft-ware Livre na aacuterea visual como Cairo e Gimp tambeacutem explicou as necessi-dades de hardware para a interface dos futuros dispositivos moacuteveis enquanto Chris Wilson tambeacutem envolvido com o Cairo falou sobre seu processo de desenvolvimento enfatizando os testes de funcionalidades

Ainda na questatildeo multimiacutedia Lennart Poetering descreveu a aplicaccedilatildeo do ser-vidor de aacuteudio PulseAudio em dispositi-vos embarcados enquanto Zach Rusin mostrava na sala ao lado os benefiacutecios que os drivers Gallium3D prometem trazer agrave aacuterea de graacuteficos 3D Logo em seguida Conrad Parker completou o tema com sua palestra sobre aspectos internos de reprodutores de viacutedeo

Os organizadores tambeacutem incluiacuteram no programa seminaacuterios sobre questotildees especialmente importantes em dispo-

sitivos moacuteveis como a depuraccedilatildeo do sistema de comunicaccedilatildeo entre processos D-Bus (ministrado por J5 Palmieri) o armazenamento local de dados (semi-naacuterio de Alexandre Oliva)

As tendecircncias de desenvolvimento tambeacutem figuraram entre os assuntos debatidos Daniel Gentleman apre-sentou formas de interaccedilatildeo entre os projetos de Coacutedigo Aberto e as comunidades que os utilizam dei-xando clara a necessidade de desen-volvimento nesse campo

A questatildeo da mobilidade foi disseca-da por Marcel Holtmann mantenedor de diversas das pilhas de protocolos de comunicaccedilatildeo sem fio no kernel Linux Segundo Marcel o Linux pos-sui suporte a diversos protocolos de comunicaccedilatildeo que nem mesmo estatildeo disponiacuteveis comercialmente o que o torna um sistema ideal para os dispo-sitivos moacuteveis de comunicaccedilatildeo

Nesse mundo de tantos aparelhos com exigecircncias aparentemente para-doxais ndash cada vez mais funcionalida-des em dispositivos progressivamente menores ndash a Intel tambeacutem esteve presente com seu Mobile Internet Device equipado com o igualmente novato Ubuntu Mobile Edition Adil-son Oliveira da Canonical apresen-tou agrave imprensa um aparelho natildeo tatildeo pequeno quanto os demais do evento e evidentemente com objetivos dife-rentes ndash o MID eacute um subnotebook reduzido tanto em capacidade quan-to em tamanho ndash mas equipado com uma distribuiccedilatildeo que promete mexer com esse mercado[9]

Um evento uacutenicoSe o mercado de software para disposi-tivos embarcados tem diversas particu-laridades a Bossa Conference age de acordo Nas duas noites do evento os participantes foram levados a ambien-tes que propiciavam a interaccedilatildeo o que certamente ajudou muito a troca de ideacuteias entre o puacuteblico e as ldquocelebrida-desrdquo com uma proximidade raramente vista em outros eventos

Mais informaccedilotildees

[1] INdT httpwwwindtorgbr

[2] Bossa Conference httpbossaconferenceindtorg

[3] Bossa Conference 2007 ldquoO futuro da mobilidaderdquo httpwwwlinuxmagazinecombrarticleo_futuro_da_mobilidade

[4] OpenMoko httpwwwopenmokoorg

[5] OpenEmbedded httpwwwopenembeddedorg

[6] ldquoO celular mais livre do mundordquo httpwwwlinuxmagazinecombrlmnoticiao_celular_mais_livre_do_mundo

[7] ldquoWebkit em todo canto ndash mesmordquo httpwwwlinuxmagazinecombrlmnoticiabossa_conference_2008_webkit_em_todo_canto_ndash_mesmo

[8] ldquoEnlightenment vai destronar GTKrdquo httpwwwlinuxmagazinecombrnoticiabossa_conference_enlightenment_vai_destronar_gtk

[9] ldquoUbuntu para dispositivos embarcadosrdquo httpwwwlinuxnewmediacombrnoticiaubuntu_para_dispositivos_embarcados

Figura 2 O FIC Neo Freerunner eacute o segundo modelo de smartphone da FIC a utilizar a plataforma OpenMoko

Segundo o ldquodono da festardquo Sandro Alves os participantes do evento satildeo pes-soas que ldquoamam criar coacutedigordquo como definem a si proacuteprios ldquosem nenhuma inclinaccedilatildeo poliacutetica ou ideoloacutegicardquo O limite de 250 pessoas afirma Sandro eacute para garantir que apenas as pessoas mais qualificadas e motivadas participem do evento garantindo assim o retorno po-sitivo de todos -- do puacuteblico dos pales-trantes e ateacute dos organizadores

copy Linux New Media do Brasil Editora Ltda

26

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Hardware Coacutedigo Aberto e Software Enablement

Software bem rodadoPor que um fabricante de hardware teria interesse em um software de Coacutedigo Aberto Entenda o Software Enablement e seus motivospor Sulamita Garcia

No final do ano passado tive a oportunidade de partici-par de uma conferecircncia da

Intel sobre Software Enabling Mas o que eacute isso e o que tem a ver com Software Livre

A dependecircncia entre software e hardware na computaccedilatildeo sempre foi uma discussatildeo do tipo ldquoo ovo e a gali-nhardquo Hardware natildeo faria nada sem o software software natildeo faria nada sem o hardware Combinados poreacutem eles fazem tudo o que conhecemos na aacuterea Conforme a tecnologia evolui o hard-ware se torna mais raacutepido ao mesmo tempo em que consome menos energia e tem o tamanho reduzido Isso torna possiacutevel adicionar mais funcionalidades tais como melhorar a possibilidade de virtualizaccedilatildeo integrar redes sem fio ou ter multiplos nuacutecleos para processar vaacute-rias instruccedilotildees ao mesmo tempo Mas para que essas novas funcionalidades faccedilam diferenccedila o software precisa ser escrito ou modificado para utilizaacute-la O Software Enabling eacute a atividade de ajudar a escrever esse software

Entatildeo como fazemos isso acon-tecer Vamos ver como geralmente acontece trabalhando com empresas de coacutedigo fechado

No radarQuando o software tem uma boa base de usuaacuterios ou um bom propoacutesito ele pode aparecer no radar da companhia de hardware Quando a empresa de software jaacute pode ter um relacionamento com a empresa de hardware e jaacute estaacute no

radar Os dois lados hardware e software comeccedilam a conversar O primeiro pas-so geralmente eacute assinar um acordo de confidencialidade ndash NDA ndash que defina os limites sobre as informaccedilotildees com-partilhadas Entatildeo os engenheiros de ambas empresas comeccedilam a trabalhar no projeto para o qual foram designa-dos O tamanho desse time depende do projeto das empresas envolvidas da base de usuaacuterios que se deseja al-canccedilar e de outros fatores Depois de algum tempo a empresa de software finalmente termina de escrever o coacute-digo e comeccedila a vendecirc-lo Pode exis-tir alguma campanha em conjunto em que as duas empresas invistam algum dinheiro em marketing para mostrar o resultado daquele coacutedigo Algumas vezes isso traz os resultados esperados e outras vezes natildeo mas eacute assim que funciona

Poreacutem existe outra maneira de fazer esse mesmo processo Quando uma companhia de hardware se aproxima de uma empresa de software aberto elas podem assinar um contrato de confidencialidade tambeacutem dependen-do dos projetos em que essas empresas trabalham Mas quando uma empresa de hardware quer se aproximar de uma comunidade relacionada a um projeto em particular natildeo existe uma pessoa para assinar um NDA por todos e isso nem faria sentido Pela natureza do Coacutedigo Aberto as informaccedilotildees sobre o projeto tambeacutem satildeo abertas Qual-quer bom projeto tem pelo menos uma lista de afazeres ndash TODO ndash em que eacute

possiacutevel verificar quais as prioridades para o projeto e quais os planos futu-ros Alguns projetos mais maduros tecircm um planejamento um roadmap Um bom projeto tambeacutem tem um sistema de rastreamento de falhas em que as pessoas podem relataacute-las verificar o seu estado saber como corrigir um proble-ma em particular e ateacute como ajudar a resolver alguns desses problemas Entatildeo quando se aproxima desses projetos qualquer um jaacute tem uma boa ideacuteia do funcionamento dele antes mesmo de falar com os responsaacuteveis

Digamos que com essas informa-ccedilotildees a empresa de hardware tenha decido que aquele projeto era inte-ressante e que valeria a pena traba-lhar com os desenvolvedores Entatildeo a empresa comeccedila a se engajar com alguns dos principais engenheiros que podem apontar quais pessoas tecircm possibilidade de dedicar tempo a trabalhar com seu hardware Eles provavelmente vatildeo precisar de ajuda no comeccedilo e entatildeo a empresa pode providenciar alguns sistemas para teste acesso a documentaccedilatildeo e ajuda espe-cializada dos seus engenheiros

ColaboraccedilatildeoMas logo um dos melhores aspectos do Coacutedigo Aberto comeccedila a mostrar-se enquanto outros engenheiros natildeo apenas os da empresa comeccedilam a aprender sobre como lidar com o hardware podem ajudar outras pessoas no projeto a aprenderem tambeacutem E esse esforccedilo tambeacutem

Julia

Eis

enb

erg

- w

ww

sxc

hu

copy Linux New Media do Brasil Editora Ltda

27

| CORPORATESoftware Enablement

Linux Magazine 42 | Maio de 2008

aumentaraacute a base de conhecimen-to e o nuacutemero de profissionais com esse conhecimento

Depois disso podemos ter um software preparado para mostrar as novas capacidades do seu hardware Quem entatildeo vai distribuir esse soft-ware Primeiramente os projetos sempre tecircm seu proacuteprio website Provavelmente os usuaacuterios desse software tambeacutem iratildeo querer testar essa nova versatildeo e entatildeo automati-camente eacute criada uma nova base de usuaacuterios A blogosfera jaacute provou ser poderosa para espalhar novas ideacuteias e natildeo eacute incomum desenvolvedores de software falarem em que andam trabalhando ou o que vecircm testando Aleacutem de divulgar suas atividades isso tambeacutem ajuda na documentaccedilatildeo E se vocecirc ainda conseguir ajudaacute-los a integrar este a outros projetos em que estejam trabalhando melhor ainda Os custos para esse tipo de aproxima-ccedilatildeo satildeo consideravelmente menores em relaccedilatildeo ao modelo anterior e o

nuacutemero de especialistas na plataforma aumentou consideravelmente

Interesse em softwareTodavia haacute algo que muitas empre-sas natildeo entendem por que os de-senvolvedores de Coacutedigo Aberto se importariam com o hardware Bem essa eacute uma parte bastante delicada mas cabe agraves empresas demonstra-rem Isso requer bastante humildade afinal de contas o projeto em ques-tatildeo chegou ao sucesso mesmo sem apoio da empresa Tentar dar ordens certamente natildeo vai funcionar nem usar a sua grande e poderosa marca como se eles devessem ser gratos pela empresa ter-se interessado O mais importante eacute que o produto precisa ser bom Quando se trata dos desenvolvedores principais estamos falando de profissionais altamente qualificados que construiacuteram um projeto suficientemente bom para chamar a atenccedilatildeo de uma grande empresa Entatildeo maquiar os pro-

blemas de um produto ou inventar recursos que natildeo existem ou natildeo fun-cionam natildeo vatildeo render pontos para o produto A honestidade eacute sempre valorizada esse eacute um ponto muito importante e vale a pena reforccedilar Se vocecirc fizer isso pode conquistar valiosos aliados para os projetos que tambeacutem apreciam serem re-conhecidos por marcas admiradas mas somente se isso natildeo custar a integridade do projeto

Algumas empresas falharam porque tentaram dizer o que os desenvolvedores deveriam fazer ou mudar os objetivos do projeto ou mexer com as suas razotildees ideoloacute-gicas ndash eles acreditam em Coacutedigo Aberto natildeo se esqueccedila disso

Sobre o autorSulamita Garcia eacute Gerente de Estrateacutegia Linux e Open Source para Ameacuterica Latina da Intel e uma das coordenadoras do gru-po Linux Chix

copy Linux New Media do Brasil Editora Ltda

28

CORPORATE

httpwwwlinuxmagazinecombr

Entrevista com Theron Morato responsaacutevel pela aacuterea de Iniciativas Estrateacutegicas em eSOA da SAP Brasil

100 de serviccediloA SAP estaacute reestruturando sua arquitetura para incorporar a disciplina da SOA agraves suas ofertas Veja o que esse novo paradigma significa para a empresapor Pablo Hess

A disciplina da arquitetura orientada a serviccedilos (SOA) demanda o contato entre os

funcionaacuterios de TI e os responsaacuteveis pelos negoacutecios A alematilde SAP faz isso haacute anos e tem reconhecimento internacional por suas soluccedilotildees A Linux Magazine conversou com Theron Morato responsaacutevel pela aacuterea de iniciativas estrateacutegicas em eSOA da SAP Brasil a respeito das

accedilotildees da empresa no campo de SOA e sua relaccedilatildeo com padrotildees abertos e o Coacutedigo AbertoLinux Magazineraquo Qual a importacircncia do mercado de SOA para os negoacute-cios da SAPTheron Moratoraquo Extremamente im-portante Haacute pelo menos trecircs anos a SAP vem investindo fortemente para redesenhar sua arquitetura e assimilar integralmente o conceito de SOA em suas soluccedilotildees aleacutem de participar ativamente de iniciativas de padronizaccedilatildeo linguagens de especificaccedilatildeo de processos e ofe-recer todas as suas soluccedilotildees como serviccedilos Hoje podemos dizer que a empresa tem uma estrateacutegia soacute-lida e estruturada de enterprise SOA (eSOA)

LMraquo Qual eacute a estrateacutegia da SAP para o mercado de SOA Que tipo de parcerias a empresa tem firmado nessa aacutereaTMraquo A estrateacutegia que desenvolve-mos trabalha com uma semacircntica de negoacutecios que tem mais sentido para o analista de negoacutecios sem o vieacutes teacutecnico Isso natildeo significa que a tecnologia natildeo seja importante mas para o puacuteblico que mais se beneficia

do SOA que vem das aacutereas de negoacute-cios a tecnologia que implementa os conceitos da arquitetura orientada a serviccedilos deve ser transparente

A necessidade de uma semacircntica de negoacutecios se justifica principalmen-te porque natildeo basta termos apenas os agrupamentos de Web Services proxies e interfaces pois nem sempre a inte-graccedilatildeo desses elementos eacute a melhor maneira de solucionar um desafio de negoacutecios As parcerias firmadas vecircm sendo feitas em todos os niacuteveis de fornecedores de hardware a fornece-dores de soluccedilotildees complementares agraves soluccedilotildees da SAPLMraquo Com a disciplina do SOA em voga atualmente quais as expecta-tivas da SAP para esse mercado nos proacuteximos anos

TMraquo Nos uacuteltimos trecircs anos os ar-quitetos e consultores da SAP tecircm prestado serviccedilos relativos a dife-rentes aspectos do SOA entre eles o roadmap de eSOA Trata-se do desenho de soluccedilotildees de novos pro-cessos de negoacutecios com a visatildeo de que eles seratildeo reutilizaacuteveis e teratildeo vantagens quando implementados com a disciplina do SOA Com tudo isso pronto nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios com uma plataforma abrangente de serviccedilosLMraquo Como eacute a relaccedilatildeo da SAP com os fornecedores de componentes para a infra-estrutura de SOA como sistema operacional e middleware especifi-camente os de Coacutedigo AbertoTMraquo A SAP tem uma relaccedilatildeo de par-ceria com a Novell para que nossos sistemas possam utilizar como base o sistema operacional SUSE Linux Enterprise o qual jaacute eacute empregado inclusive nas aplicaccedilotildees BIAccelera-tor e Enterprise Search em parceria com a HP IBM e IntelLMraquo Qual a relaccedilatildeo entre Coacutedigo Aber-to (incluindo padrotildees abertos) e SOA Como a SAP apoacuteia essas iniciativasTMraquo A SAP estaacute alinhada aos padrotildees e ferramentas de desenvolvimen-to abertas como Eclipse Struts Hibernate e linguagens de script Nosso objetivo com isso eacute facilitar o envolvimento de desenvolvedores Java e SOA na estrutura de enterprise SOA da SAP e no SAP BPP (Business Process Platform)

Nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios

copy Linux New Media do Brasil Editora Ltda

29Linux Magazine 42 | Maio de 2008

CORPORATE

Green IT soluccedilotildees para as empresas de TI

Cezar TaurionO consumo de energia dos computadores jaacute estaacute recebendo uma maior parcela de atenccedilatildeo que no passado o que pode ajudar o Linux a se destacar no mercadopor Cezar Taurion

O tema ldquoGreen ITrdquo estaacute comeccedilando a ser debatido na miacutedia e em algumas ainda esparsas conversas sobre TI Ele jaacute faz

parte da agenda de diversos eventos importantes e o uacuteltimo CeBIT foi tambeacutem palco de vaacuterios anuacutencios mostrando a preocupaccedilatildeo crescente das empresas com as questotildees ecoloacutegicas Foi inclu-sive criada uma ldquoGreen IT Villagerdquo um saguatildeo dedicado inteiramente agraves discussotildees ecoloacutegicas e agrave exposiccedilatildeo de produtos que jaacute usam soluccedilotildees de economia de energia e materiais menos agressivos ao meio ambiente

Mas por que tanta atenccedilatildeo em torno do Green IT Nosso planeta estaacute ameaccedilado pelo aquecimento global Noacutes jaacute impusemos tensotildees cada vez maiores ao finito e limitado meio ambiente ultrapassando a sua capacidade de se sustentar Jaacute consumimos 25 mais recursos naturais a cada ano do que o planeta eacute capaz de repor E nesse ritmo em 2050 estaremos consumindo mais que o dobro da capa-cidade da Terra

E a TI natildeo fica fora do consumo de energia Agrave medida que os servidores se tornam mais poderosos demandam mais energia e nos EUA jaacute representam cerca de 12 de todo o consumo de eletricidade

O Gartner Group cita que em 2010 cerca de metade das empresas listadas na relaccedilatildeo Forbes 2000 estaratildeo gastando mais dinheiro com energia que com seus computadores Seu estudo diz ainda que em meacutedia entre 30 e 60 da energia demandada em um datacenter eacute desperdiccedilada E lembra que a TI estaacute hoje como a induacutestria automotiva estava haacute 20 anos comeccedilando a ser pressionada por maior eficiecircncia energeacutetica

Diante desse quadro os analistas comeccedilam a cha-mar atenccedilatildeo para o gasto com energia (dos servidores e dos equipamentos de refrigeraccedilatildeo) e dizem que em breve os CFOs estaratildeo bem mais preocupados com o assunto Alguns paiacuteses estatildeo comeccedilando a estudar legislaccedilotildees que visem a incentivar e em al-guns casos mesmo a obrigar os datacenters a serem

mais eficientes no consumo de energia Com cer-teza o tema vai se tornar cada vez mais importante nos proacuteximos anos

Na minha opiniatildeo temos as condiccedilotildees de uma ldquoPerfect Stormrdquo que vai disparar accedilotildees ldquoverdesrdquo O termo ldquoPerfect Stormrdquo significa a ocorrecircncia si-multacircnea de eventos que se tornam muito mais poderosos e impactantes quando combinados Esses eventos satildeo a crescente conscientizaccedilatildeo da realidade do aquecimento global os crescentes custos de energia e as crescentes mudanccedilas e demandas regulatoacuterias no mundo todo Isolados esses eventos tecircm certo impacto mas quando combinados deveratildeo gerar uma tendecircncia irre-sistiacutevel em direccedilatildeo a uma TI Verde

Imagino que em poucos anos (talvez jaacute em 2010) o tema Green IT sairaacute do campo da curiosidade para se tornar mainstream item obrigatoacuterio na agenda de qualquer gestor de TI

Entre as tecnologias que vatildeo ganhar muito im-pulso nesse contexto citamos a virtualizaccedilatildeo e consolidaccedilatildeo de servidores e datacenters Tambeacutem a discussatildeo sobre thin clients versus PCs completos comeccedilaraacute a ter outro apelo

E onde entra o Linux nessa histoacuteria Entra com muita forccedila nas tecnologias acima Soacute para termos uma ideacuteia da importacircncia do tema a Li-nux Foundation criou uma iniciativa especiacutefica acessiacutevel em httpwwwlinux-foundationorgenGreen_Linux Com isso imagino que o Linux te-nha grandes chances de se tornar um verdadeiro sistema operacional ldquoverderdquo aumentando seu niacutevel de utilizaccedilatildeo mundial

Sobre o autorCezar Taurion (ctaurionbribmcom) eacute diretor de novas tecnologias aplicadas da IBM Brasil e editor do primeiro blog da Ameacuterica Latina do Portal de Tecnologia da IBM developerWorks www-03ibmcomdeveloperworksblogspagectaurion

copy Linux New Media do Brasil Editora Ltda

30

CORPORATE

httpwwwlinuxmagazinecombr

Reflexotildees sobre o desenvolvimento do Coacutedigo Aberto

Ricardo BimboO recente estudo da Linux Foundation sobre o desenvolvimento do kernel Linux indica a participaccedilatildeo de empresas mas eacute errado imaginar que os tradicionais voluntaacuterios estejam desaparecendopor Ricardo Bimbo

Uma recente pesquisa divulgada pela Linux Foundation[1] sobre o desenvolvimento do kernel chamou a atenccedilatildeo de diversos blogs

e sites de notiacutecia para a participaccedilatildeo de funcionaacuterios de empresas dedicados ao dia-a-dia das atividades de manutenccedilatildeo correccedilatildeo e desenvolvimento do kernel Linux Algo como 10000 patches da atual versatildeo 26 envolveram 1000 colaboradores e 100 companhias contra 3700 colaboradores individuais e mais de 200 empresas em 2005

A presenccedila cada vez maior de empresas com cola-boradores dedicados ao trabalho no kernel evidencia as companhias que tecircm hoje no Linux a principal ou uma das principais fontes de receita Red Hat IBM Intel Novell e a proacutepria Linux Foundation juntas com os usuaacuterios do Linux estatildeo na linha de frente do trabalho de manutenccedilatildeo do kernel

Isso demonstra que o desenvolvedor solitaacuterio independente estaacute no fim Todos estatildeo vendendo sua forccedila de trabalho intelectual Natildeo A conclu-satildeo do estudo da Linux Foundation daacute uma dica a esse respeito ldquoO kernel Linux eacute um dos projetos de Coacutedigo Aberto melhor sucedidosrdquo Existem outros projetos tambeacutem de extrema grandeza ndash como Apa-che BrOfficeorg Firefox Gnome KDE MySQL e PostgreSQL ndash que disputam o tempo de vaacuterios desenvolvedores e tecircm a participaccedilatildeo de empresas Isso sem contar os projetos de distribuiccedilotildees como Fedora e Debian aleacutem dos mais de 170 mil projetos ativos no SourceForge[2] e de um incontaacutevel nuacuteme-ro de projetos em outros repositoacuterios

O SourceForge sozinho possui quase dois mi-lhotildees de usuaacuterios registrados e eacute um erro imaginar-mos que sejam todos programadores Natildeo eacute difiacutecil encontrar chamadas solicitando a participaccedilatildeo de gerentes de projetos especialistas em processos especialistas em economia contabilidade recursos humanos e uma infinidade de outras especializaccedilotildees e conhecimentos

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores E muitas vezes esses ldquovoluntaacuteriosrdquo sentem-se mais eficazes atuando em projetos que tecircm uma aplicabilidade no meio em que convivem ou em projetos que possam dar sua contribuiccedilatildeo dife-renciada seja para destacar-se em seu ambiente ou soacute por prazer mesmo

Isso demonstra claramente mais uma vantagem do Coacutedigo Aberto e do desenvolvimento compar-tilhado Natildeo importam os motivos que levem uma pessoa a participar ou trabalhar em um projeto a curva de participaccedilatildeo de empresas e seus co-laboradores estaacute deliberadamente vinculada agraves curvas de crescimento do projeto e ao nuacutemero de usuaacuterios Isso reordena o processo produtivo e de desenvolvimento de negoacutecios abrindo um leque de novas oportunidades

Mais informaccedilotildees

[1] Estudo da Linux Foundation httpswwwlinux-foundationorgpublicationslinuxkerneldevelopmentphp

[2] Sourceforge httpwwwsourceforgenet

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores

Sobre o autorRicardo Bimbo eacute Government Relations da Red Hat Brasil e defen-de a ideacuteia de que todo o conhecimento deve ser compartilhado

copy Linux New Media do Brasil Editora Ltda

LPIindd 1 261107 163706

copy Linux New Media do Brasil Editora Ltda

32

CORPORATE

httpwwwlinuxmagazinecombr

Como o PVM influi no mundo BPM

Edgar SilvaA modelagem de processos de negoacutecios pode beneficiar-se muito do uso do PVM ndash Process Virtual Machinepor Edgar Silva

Quando falamos em Business Process Modeling um dos diversos significados de BPM frequumlentemente nos depara-

mos com vaacuterias questotildees importantes Destas podemos destacar algumas Qual linguagem de processo utilizar A linguagem escolhida suporta as necessidades

reais de uma forma-padratildeo Como fazer com que de fato uma mudanccedila

no modelo de negoacutecio se reflita no mecanismo de execuccedilatildeo dos serviccedilos da empresa

As respostas para essas questotildees pairam como um desafio para os arquitetos e engenheiros de software nos dias de hoje Como o segredo da induacutestria estaacute na padronizaccedilatildeo nada mais oacutebvio que investir em um trabalho colaborativo que beneficie tanto as empresas quanto as comunidades de Software Livre e claro os clientes finais

Uma novidade no mundo BPM eacute o PVM (Process Virtual Machine ou Maacutequina Virtual de Processos) que vou abordar neste artigo

A induacutestria tem buscado aplicar os conceitos de workflow e em paralelo diagramas de estado e outras formas de diagramaccedilatildeo vecircm sendo apresentados ao mercado diariamente Entretanto ainda se percebe um abismo entre o ldquodesenhordquo e a ldquoexecuccedilatildeordquo dos fluxos Em sua nova roupagem os workflows ago-ra mais conhecidos como BPM tentam aproximar esses dois pilares O objetivo do PVM eacute promover uma forma-padratildeo de criar metadados padronizados de tudo que eacute comum a um fluxo um workflow ou uma maacutequinadiagrama de estado

Imagine uma foto Ela possui vaacuterias informa-ccedilotildees de metadados como fabricante e dia e hora em que foi tirada Haacute sites como o Flickr[1] que conseguem ler e apresentar esses dados in-dependendo do fornecedor desde que utilizem esses padrotildees Essa eacute mais ou menos a ideacuteia da PVM Entre seus objetivos estaacute a abstraccedilatildeo geral de qualquer tipo de fluxo e sua possiacutevel lingua-

gem de definiccedilatildeo A PVM eacute a abstraccedilatildeo por traacutes de qualquer modelo ou linguagem que a defi-niu Dessa forma natildeo importa a linguagem de construccedilatildeo do fluxo porque no final todos po-deratildeo ser lidos e gerar uma uacutenica visatildeo de fluxo dentro da PVM

O mercado tem apontado inuacutemeras linguagens para definiccedilatildeo dos processos como BPEL[2] XPDL[3] jPDL e RulesFlow entre outras Espera-se agora que haja interoperabilidade dos serviccedilos dentro de uma Arquitetura Orientada a Serviccedilos (SOA) E por que natildeo pensar tambeacutem na interoperabilidade entre diversos modelos de processos em diferentes linguagens cooperando e colaborando na execuccedilatildeo de fluxos de processos de negoacutecio

Para concluir o aspecto mais interessante do PVM eacute a total separaccedilatildeo do desenho da execuccedilatildeo e de suas linguagens Isso com certeza eacute um marco muito importante para a concepccedilatildeo de mecanismos de processos o que soacute vai agregar valor agraves vaacuterias so-luccedilotildees que utilizam os recursos e os conceitos de workflow e de BPM

Mais informaccedilotildees

[1] Flickr httpwwwflickrcom

[2] BPEL na Wikipeacutedia httpenwikipediaorgwikiBPEL

[3] XPDL httpwwwwfmcorgstandardsxpdlhtm

Sobre o autor

Edgar Silva (edgarsilvaredhatcom) eacute Arquiteto de Soluccedilotildees JBoss na Red Hat Brasil Com experiecircncia em obje-tos distribuiacutedos (Corba COM+ e Java) desde 1998 nos uacuteltimos anos Edgar vem pesquisando aplicando e ministrando pales-tras e treinamentos no Brasil e no exterior sobre assuntos de alta tecnologia incluindo JavaEE e SOA

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

SOA explicada

Sirva-se com softwareSoftware e serviccedilo agora satildeo com frequumlecircncia a mesma coisa A arquitetura orientada a serviccedilos proporciona o funcionamento adequado de todos os componentespor Pablo Hess

Softwares multi-plataforma jaacute estatildeo no mercado haacute tempos As linguagens de programaccedilatildeo ditas ldquode scriptrdquo por exemplo como Perl Python

Ruby e Tcl para citar apenas as mais populares satildeo capazes de executar instruccedilotildees em qualquer plata-forma que possua uma versatildeo de seu interpretador inclusive com vistosas interfaces graacuteficas

A oferta da Sun Microsystems o Java vai um passo aleacutem oferecendo toda uma maacutequina virtual que trata de toda a interaccedilatildeo com o sistema opera-cional subjacente o que facilita ainda mais a cria-ccedilatildeo de softwares multi-plataforma Atualmente com os sistemas de Coacutedigo Aberto ndash como o Linux ndash aumentando sua presenccedila no mercado mas com outros sistemas Unix e Windowsreg tambeacutem presentes de forma significa-tiva eacute cada vez

CA

PA

34 httpwwwlinuxmagazinecombr

mais importante que os softwares corporativos sejam capazes de rodar em muacuteltiplas plataformas

Tamanha eacute a importacircncia disso ndash e do Java nessa foacutermula ndash que a Sun chegou ateacute mesmo a alterar seu coacutedigo de quatro letras usado na bolsa NASDAQ de SUNW para JAVA sugerindo que a relevacircncia da lin-guagem hoje eacute superior agrave tradiccedilatildeo da empresa no ramo de workstations

No entanto mesmo com uma maacutequina virtual prati-camente onipresente nos desktops e servidores atuais haacute dificuldades para distribuir softwares multi-plataforma que dependam de extensotildees ou bibliotecas externas ao nuacutecleo da linguagem Lidar com a instalaccedilatildeo desses

componentes pode ser muito faacutecil para adminis-tradores de sistemas mas com frequumlecircncia

os usuaacuterios natildeo-teacutecnicos satildeo prejudi-cados nessa tarefa

Iacutendice de mateacuterias de capaBem arquitetado paacuteg36Clientes espalhados servidores distribuiacutedos paacuteg40Quase faz cafeacute paacuteg44

copy Linux New Media do Brasil Editora Ltda

ServiccedilosQue tal entatildeo atribuirmos ao administrador a tarefa de instalar o software e todos os compo-nentes requeridos por ele Com isso o usuaacuterio precisaria apenas apontar seu navegador web para a URL do software que localizado no servidor seria executado sem dificuldades e sem necessi-dade de instalaccedilatildeo pelo usuaacuterio

Felizmente essa abordagem ainda traz vanta-gens adicionais Eacute possiacutevel por exemplo utilizar os poderosos componentes da linguagem criada pela Sun para implementar clusters de alta dis-ponibilidade ou alto desempenho permitindo assim que os usuaacuterios desfrutem do software de forma ininterrupta e com desempenho inega-velmente superior ao que seria possiacutevel em seu hardware local

Essa abordagem para a oferta de softwares jaacute eacute usada haacute algum tempo e um de seus exemplos mais populares eacute o Google Docs[1] um conjunto de aplicativos de escritoacuterio disponiacutevel online e gratuitamente para qualquer usuaacuterio Com ele uma pessoa com acesso agrave Internet pode se desfa-zer da necessidade de baixar ou adquirir softwares equivalentes ndash ou quase equivalentes ndash como o BrOfficeorg[2] ou o Microsoft Office

Mais informaccedilotildees

[1] Google Docs httpdocsgooglecom

[2] BrOfficeorg httpwwwbrofficeorg

NomesO software como serviccedilo ou SaaS na sigla em inglecircs eacute tambeacutem uma nova forma de comerciali-zaccedilatildeo de softwares inclusive de Coacutedigo Aberto E a arquitetura necessaacuteria agrave implantaccedilatildeo e desenvol-vimento de softwares sob esse princiacutepio eacute a Arqui-tetura Orientada a Serviccedilos ou SOA

Como vocecirc veraacute nos artigos desta ediccedilatildeo da Linux Magazine a SOA propotildee a infra-estrutura e tambeacutem as diretrizes para que softwares sejam executados como serviccedilos e comuniquem-se uns com os outros de forma semelhante ao que ocorre num sistema operacional tradicional com comunicaccedilatildeo entre processos e biblio-tecas e outros componentes compartilhados

Nas paacuteginas a seguir apresentamos a visatildeo da construccedilatildeo de aplicativos como serviccedilos uma anaacutelise dos princiacutepios da SOA e a plataforma de desenvol-vimento NovaForge fortemente inclinada agrave oferta de softwares como serviccedilo

Boa leitura e bom serviccedilo

Linux Magazine 42 | Maio de 2008 35

SOA explicada | CAPA

copy Linux New Media do Brasil Editora Ltda

36

CA

PA

httpwwwlinuxmagazinecombr

SOA sobre JBoss

Bem arquitetadoA plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de aplicaccedilotildees JBoss Conheccedila-os em detalhespor Edgar Silva

Eacute faacutecil imaginarmos um liacuteder ou gerente de TI fugindo desesperadamente ao ou-

vir a pergunta ldquoO que eacute SOArdquo Embora a resposta simples e direta seja a explicaccedilatildeo da sigla Service Oriented Architecture eacute importante lembrar de que muito mais que orientados a serviccedilos devemos estar orientados para os serviccedilos Partindo desse sentido devemos associar toda essa visatildeo dos servi-ccedilos como agentes impulsionadores de negoacutecios

Um serviccedilo a grosso modo eacute um componente que pode ser reutilizado independentemente de tecnologias departamentos ou empresas Ao mesmo tempo que pode ser geneacuterico ele pode tam-beacutem ser especiacutefico agraves necessida-des e demandas de uma empresa

Quando falamos de SOA eacute um ligeiro engano acreditar que basta entatildeo transformar tudo em Web Services e ndash pronto ndash sua empresa estaacute 100 aderente a SOA Isso pode ser um passo que inclusi-ve leva a questotildees que preparam para os seguintes Ter as peccedilas separadas e isoladas natildeo faz um motor de carro funcionar todas as engrenagens ordens de acon-tecimentos (orquestraccedilatildeo) regras sequumlecircncia de accedilotildees (processos) devem ser previstas para que o conjunto possa funcionar

Quando falamos de SOA eacute importante lembrar que vaacuterios sis-temas ERP no Brasil satildeo legados portanto natildeo possuem aderecircncia a Web Services assim como fal-tam formas de integraccedilatildeo das mais diversas desde a transferecircncia de

arquivos FTP email e ateacute o acesso a banco de dados

A divisatildeo JBoss da Red Hat tem o JBoss SOA Platform como plata-forma voltada para SOA que reuacute-ne em um uacutenico pacote algumas soluccedilotildees descritas abaixo BPM JBoss jBPM Engine de regras JBoss Rules ESB JBoss ESB Persistecircncia de dados JBoss

Hibernate Framework de desenvolvi-

mento de aplicaccedilotildees JBoss Seam

Servidor de aplicaccedilotildees JBoss Application Server

Vale ressaltar que embora o JBoss Application Server sustente todas essas soluccedilotildees de produtos eacute possiacutevel usar qualquer servidor de aplicaccedilatildeo de outros fornecedores

copy Linux New Media do Brasil Editora Ltda

37

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

como IBM WebSphere Oracle AS ou BEA WebLogic Isso soacute eacute possiacute-vel graccedilas aos padrotildees abertos que permitem ao cliente escolher os produtos que melhor supram suas necessidades

A seguir descreveremos cada um dos componentes da platafor-ma SOA oferecidos pela Red Hat sobre seu servidor de aplicaccedilotildees de Coacutedigo Aberto

Servidor de aplicaccedilotildeesO JBoss Application Server eacute a infra-estrutura para a plataforma SOA da Red Hat Com cerca de oito anos de presenccedila no merca-do ele constitui o alicerce que permite executar os outros produ-tos visando a alta performance escalabilidade e seguranccedila para o serviccedilo dos clientes

Robustez no entanto natildeo eacute si-nocircnimo de dificuldade de instala-ccedilatildeo execuccedilatildeo e utilizaccedilatildeo Caso o servidor jaacute possua uma maacutequina virtual Java instalada e confi-gurada basta descompactar os pacotes dos componentes disponiacuteveis no site de proje-tos do JBoss[1] Em seguida vaacute ateacute o subdiretoacuterio bin dentro do diretoacuterio de ins-talaccedilatildeo do JBoss e execute o comando run (em sistemas Windowsreg) ou runsh (em Linux Solaris ou outras va-riantes de Unix) Feito isso o JBoss estaraacute pronto para a instalaccedilatildeo dos seus aplica-tivos Java EE Eacute claro que poderaacute haver necessidade de instalaccedilatildeo de recursos de bancos de dados (Datasour-ces) ou filas JMS Nesse caso e se houver maior interesse informaccedilotildees a respeito destes recursos estatildeo disponiacuteveis na documentaccedilatildeo gratuita do produto

JBoss HibernateA tarefa de construir aplicaccedilotildees Java que se comuniquem com bancos de dados pode ser extremamente facilitada com o uso de uma fer-ramenta ldquomodelo-relacionalrdquo ou ORM como o Hibernate Dentre suas inuacutemeras vantagens podemos citar o fato de que todo o desen-volvimento passa a ser de fato orientado a objetos Isso significa que comandos SQL como insert into update e outros pertencem ao passado dando lugar a procedi-mentos ocorridos inteiramente no ambiente da aplicaccedilatildeo cria-se uma estrutura baseada em um objeto do tipo ldquoclienterdquo e solicita-se que um recurso de sessatildeo (SessionFactory) o salve Nesse momento o Hiber-nate entre suas vaacuterias funccedilotildees conhece a relaccedilatildeo entre o mode-lo de objetos e as informaccedilotildees da estrutura de tabelas do banco de dados Sendo assim caberaacute a ele natildeo mais ao desenvolvedor a ta-refa aacuterdua de lidar com a falta de produtividade da linguagem SQL

a todo momento durante a cons-truccedilatildeo de sistemas

Essa caracteriacutestica do Hibernate tambeacutem eacute fundamental para que as aplicaccedilotildees sejam independentes do servidor de banco de dados Desse modo pode-se trocar de sistema ge-renciador de banco sem aquela antiga preocupaccedilatildeo com o funcionamento de instruccedilotildees SQL em diferentes bancos de dados Portabilidade de fornecedores de bancos de dados e produtividade no desenvolvimento de aplicaccedilotildees satildeo importantes para termos respostas raacutepidas agraves deman-das ocasionadas por uma arquitetura orientada para o serviccedilo

JBoss SEAMQuando algueacutem criticava o Java no passado um dos motivos era o grande nuacutemero de camadas de componentes para realizar uma operaccedilatildeo Em alguns casos o exa-gero de implementaccedilatildeo dos pa-drotildees de projeto (design patterns) ocasionava uma arquitetura com-

Figura 1 Ambiente de projeto de processos do JBoss jBPM

copy Linux New Media do Brasil Editora Ltda

38 httpwwwlinuxmagazinecombr

CAPA | SOA com JBoss

plexa e aplicaccedilotildees sujeitas a erros claacutessicos Pessoalmente ao longo de anos prestando consultoria em frameworks sofisticados perdi a conta de quantas vezes nossa equi-pe encontrou problemas ao fechar conexotildees de bancos de dados ou invocar sem necessidade a consulta de contexto de objetos etc

O Java evoluiu muitiacutessimo nos uacuteltimos anos permitindo a criaccedilatildeo de recursos muito mais estaacuteveis e modernos O resultado foi o surgi-mento de frameworks como o JBoss Seam que reuacutenem em uma uacutenica soluccedilatildeo todo o necessaacuterio para criar aplicaccedilotildees corporativas nos mode-los Web 20 e aderentes a SOA O Seam utiliza como infra-estrutura tecnologias estabelecidas como o Enterprise Java Beans 30 e Java Server Faces aleacutem de toda a riqueza proporcionada pelo Ajax

JBoss jBPMO JBoss jBPM eacute um projeto que resulta em um produto muito mais que em uma soluccedilatildeo de

BPMS (Business Process Manage-ment System) Ele satisfaz tanto aos analistas de negoacutecios quanto aos engenheiros de software pois muito mais que oferecer uma fer-ramenta de desenho para modelar negoacutecios e serviccedilos possui um framework completo para geren-ciamento monitoraccedilatildeo e controle de todas as fases dos fluxos dentro do processo

Como novidade as proacuteximas versotildees do jBPM devem trazer a implementaccedilatildeo do conceito PVM (Process Virtual Machine ndash Maacutequina Virtual de Processos) que em resumo eacute um framework de maacutequina de estado Poreacutem o propoacutesito da PVM vai muito aleacutem disso permite por exemplo abs-trair a linguagem de composiccedilatildeo do desenho de processos Com isso espera-se poder ter inuacutemeras linguagens para definiccedilatildeo como BPEL jPDL XPDL e Seam Page Flow A PVM seraacute capaz de rende-rizar de forma visual os processos definidos independente da lin-guagem empregada

Entre as caracteriacutesticas principais do JBPM estaacute sua possibilidade de execuccedilatildeo sobre qualquer servidor de aplicaccedilotildees Java ou alternati-vamente como serviccedilo Java standalone ndash sem um servidor de aplicaccedilotildees Tambeacutem pode manter os dados a respeito de versotildees e execuccedilotildees dos processos em qualquer banco de dados A figura 1 mostra uma visatildeo do ambiente de projeto e gerenciamento do JBoss jBPM

JBoss RulesO JBoss Rules ou Drools (seu nome na versatildeo co-munitaacuteria) eacute um produto notaacutevel cujas principais caracteriacutesticas satildeo

baixo custo de suporte e au-secircncia de custo de licenccedilas como seus concorrentes

marcante evoluccedilatildeo de versatildeo para versatildeo com estabilidade confiaacutevel

membros brasileiros na equipe de desenvolvimento

Sobre a motivaccedilatildeo para utilizar esse software eacute importante notar que as regras de negoacutecios satildeo os ativos mais alterados dentro de uma arquitetura SOA Respostas raacutepidas e cenaacuterios especiais podem ser alcanccedilados com facilidade separando a maioria das regras de coacutedigos de infra-estrutura e a aplicaccedilatildeo propriamente dita

Realizar alteraccedilotildees em uma aplicaccedilatildeo Java muitas vezes pode ocasionar a perda de tempo para testar novamente todas as partes afetadas pela mudanccedila da rede Poreacutem esse natildeo eacute o grande pro-blema muitos ambientes criacuteticos de produccedilatildeo podem ter a neces-sidade de reinicializaccedilatildeo Usando JBoss Rules a alteraccedilatildeo de uma regra exigiria apenas a alteraccedilatildeo

Figura 2 O editor de regras do JBoss Rules oferece suporte a DSLs em portuguecircs

copy Linux New Media do Brasil Editora Ltda

39

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

do arquivo dessa regra sem a ne-cessidade de tocar no nuacutecleo da aplicaccedilatildeo economizando assim tempo e parte dos testes

As regras de negoacutecio tambeacutem podem possuir seus idiomas proacute-prios ndash um conceito chamado de Domain Specific Language ou DLS que nos permite o uso de jargotildees idiomas expressotildees e dialetos de negoacutecio para compor nossas regras Assim fica mais faacutecil os analistas de negoacutecios comporem as regras no idioma portuguecircs brasileiro

O JBoss Rules pode ser embar-cado em soluccedilotildees de mercado as-sim como executado em qualquer servidor de aplicaccedilotildees Java

Os desenvolvedores tambeacutem dispotildeem de plugins nativos para o Eclipse[2] que permitem o de-senho e o desenvolvimento da escrita de regras O JBoss Rules tambeacutem suporta o desenho de re-gras por meio de diagramas como fluxos de regras Esse recurso tem o nome de RulesFlow e pode ser um guia visual para a execuccedilatildeo de suas regras de negoacutecio ou ajudar a visualizar como possiacutevel orquestrar serviccedilos atraveacutes de regras de ne-goacutecios As figuras 2 e 3 mostram respectivamente o editor de regras em modo de coacutedigo e o ambiente de desenho do RulesFlow

JBoss ESBEm agosto de 2007 a nova versatildeo do JBoss ESB trouxe vaacuterias inova-ccedilotildees e melhorias que fizeram com que seu posicionamento antes ligeiramente atrasado em relaccedilatildeo aos concorrentes de Coacutedigo Aber-to (Apache Service Mix e Mule principalmente) superasse essas alternativas Agora o JBoss ESB compete de igual para igual com soluccedilotildees de fornecedores como BEA Oracle e IBM

O conceito de ESB (Enterprise Service Bus) em termos gerais significa ser o barramento para os serviccedilos que a empresa possui Eacute nele que credenciais de seguran-ccedila single-sign on orquestraccedilatildeo e outras atividades acontecem A questatildeo nesse caso eacute que mui-tos ESBs de mercado pregam que um serviccedilo somente pode ser mascarado ou exposto por meio de um Web Service essa obriga-toriedade no entanto natildeo existe no JBoss ESB jaacute que como prin-cipal diferencial ele ldquoconversardquo com vaacuterios protocolos de registros de serviccedilos

Imagine poder considerar a ge-raccedilatildeo de um arquivo csv vindo do ERP ndash um evento suficiente para disparar vaacuterias atividades dentro da empresa como transformar a

representaccedilatildeo se-parada por virgulas em XML A partir desse XML eacute pos-siacutevel criar objetos Java publicando a partir destes infor-maccedilotildees 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-sas satildeo possiacuteveis com o JBoss ESB

ConclusotildeesEste artigo natildeo tem como objetivo fazer propaganda das soluccedilotildees da Red Hat mas mostrar como essas ferramentas compotildeem uma ofer-ta interessante e altamente capaz de fornecer uma infra-estrutura adequada agrave pratica da SOA em qualquer empresa

O uso dos produtos descritos neste artigo natildeo requer o preenchi-mento de formulaacuterios ou a compra de licenccedilas pois tratam-se todos de Softwares Livres Caso seja ne-cessaacuterio conformar o serviccedilo a um SLA obter garantia ou suporte eacute possiacutevel tambeacutem contratar esses serviccedilos de forma especializada

No Brasil esse modelo parece ser o mais racional jaacute que somente apoacutes investimentos em estudos de viabilidade e adequaccedilatildeo as em-presas escolhem se e como iratildeo contratar suporte

Mais informaccedilotildees

[1] JBoss httpwwwjbossorgprojects

[2] Eclipse httpwwweclipseorg

Figura 3 Interface do editor do Rules Flow que permite o desenho de regras de forma visual

copy Linux New Media do Brasil Editora Ltda

Irum Shahid ndash wwwsxchu

40

CA

PA

httpwwwlinuxmagazinecombr

O desenvolvimento de aplicaccedilotildees e a SOA

Clientes espalhados servidores distribuiacutedos

Como novo paradigma a SOA requer algumas mudanccedilas profundas na forma de projetar implementar e organizar aplicaccedilotildees corporativaspor Antocircnio Godinho

Quando uma nova tecnologia eacute introduzida no mercado uma das principais preocu-

paccedilotildees de qualquer gerente de desenvolvimento eacute perguntar-se ldquoDevo adotar a nova arquiteturardquo ldquoQuais benefiacutecios essa nova soluccedilatildeo traz ao meu ambienterdquo ldquoComo co-meccedilo o processo de adoccedilatildeo da SOA (Service Oriented Architecture)rdquo ldquoO que fazer com as aplicaccedilotildees que jaacute exis-temrdquo e ldquoComo desenvolver aplicaccedilotildees voltadas ao novo ambienterdquo

Avaliar se determinada arqui-tetura ou soluccedilatildeo traz benefiacutecios para nosso ambiente eacute funda-mental Para analisar a primeira questatildeo acima vamos definir al-gumas caracteriacutesticas da arquite-tura orientada a serviccedilos

PrinciacutepiosA base da SOA eacute a definiccedilatildeo do ser-viccedilo que seraacute fornecido Esse servi-ccedilo eacute exposto para seu usuaacuterio com funccedilotildees e interfaces bem definidas eacute independente do consumidor do serviccedilo pode estar codificado em qualquer linguagem e ser executado em qualquer combinaccedilatildeo de plata-forma ou sistema operacional e a in-formaccedilatildeo sobre esse serviccedilo pode ser obtida a partir de algum diretoacuterio na rede Como consequumlecircncia eacute possiacutevel substituir um serviccedilo por uma nova versatildeo executada em outra platafor-ma sistema operacional ou lingua-gem sem afetar o consumidor desse serviccedilo como mostra a figura 1

O consumidor do serviccedilo pode ser o usuaacuterio final ou um outro ser-

viccedilo e dentro do contexto da SOA uma aplicaccedilatildeo eacute um conjunto de provedores de serviccedilos colaborativos residentes ou natildeo em uma mesma plataforma ou organizaccedilatildeo Supondo que a empresa possua vaacuterios sistemas ndash entre pacotes sistemas ERP (En-terprise Resource Planning) e desen-volvimento interno e o usuaacuterio final ndash ao fazer uma consulta precisa de dados fornecidos por diversos desses sistemas Entatildeo temos uma situa-ccedilatildeo na qual a arquitetura facilita o ambiente de desenvolvimento per-mitindo a criaccedilatildeo de uma aplicaccedilatildeo composta que utilizaraacute as aplicaccedilotildees jaacute existentes Cada aplicaccedilatildeo existen-te eacute um potencial provedor de um serviccedilo usado pela nova aplicaccedilatildeo composta como na figura 2

Se considerarmos que atualmen-te cada empresa depende de outras dentro do contexto de mundo globa-lizado e que haacute uma sinergia entre aplicaccedilotildees executadas em diferentes empresas podemos ter um quadro em que uma companhia fornece um serviccedilo para outra e nesse caso o usuaacuterio final pode usar diversos serviccedilos fornecidos por mais de uma empresa Aleacutem disso a abordagem SOA permite o desenvolvimento de novos serviccedilos de forma mais raacutepida uma vez que aproveita serviccedilos jaacute exis-tentes e com maturidade e eficiecircncia

Figura 1 Camadas adotadas em SOA

copy Linux New Media do Brasil Editora Ltda

41

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

comprovadas reduzindo o periacuteodo de testes da nova aplicaccedilatildeo

Iniacutecio da adoccedilatildeoConsiderando que resolvemos ado-tar a SOA precisamos responder a segunda pergunta do gerente de desenvolvimento que diz respeito a como comeccedilar o processo de adoccedilatildeo dessa arquitetura

Como em qualquer novo conhe-cimento o primeiro passo eacute difundir a estrateacutegia O melhor modo de fazer isso eacute por meio de oficinas junto agrave equipe nas quais as tendecircncias de mercado satildeo colocadas e eacute realiza-da uma exposiccedilatildeo das tecnologias existentes Eacute importante tambeacutem alinhar a adoccedilatildeo da SOA com as expectativas ou problemas do negoacute-cio de maneira a criar a motivaccedilatildeo necessaacuteria em toda a equipe

Eacute necessaacuterio ainda fazer um mape-amento desses problemas de negoacutecio assim como das melhores praacuteticas do mercado e das vantagens em adquirir pacotes em comparaccedilatildeo com o de-senvolvimento interno e identificar quais os padrotildees mais adequados ao ambiente Conveacutem ressaltar que nes-sa fase eacute bom ter algueacutem externo para fazer a moderaccedilatildeo dessa oficina com o intuito de contar com uma pessoa isenta que possa enxergar o todo e natildeo esteja envolvida com questotildees internas ou departamentais

Aplicaccedilotildees anterioresNo mundo do desenvolvimento jaacute passamos por vaacuterios ciclos de linguagens e arquiteturas Logo eacute natural que a empresa possua sistemas estruturas e linguagens diferentes Essas aplicaccedilotildees con-tecircm dentro de si loacutegicas de negoacutecio desenvolvidas ao longo do tempo e satildeo um ativo muito importante da empresa Eacute natural portanto que a terceira duacutevida venha agrave tona se vamos investir em uma arquitetura SOA o que devemos fazer com as aplicaccedilotildees existentes

Uma das boas no-tiacutecias da SOA eacute que a sua adoccedilatildeo natildeo impli-ca descartar o que foi feito previamente Os primeiros passos para a adoccedilatildeo da arquitetu-ra orientada a serviccedilos satildeo avaliar as aplicaccedilotildees existentes analisar os ser-viccedilos e as funccedilotildees sele-cionar quais devem ser publicadas e de acordo com suas caracteriacutesticas selecionar os conectores adequados

Como vimos o ser-viccedilo precisa estar bem definido e com interfaces claras Se a aplicaccedilatildeo em questatildeo natildeo possui essas caracteriacutesticas eacute preciso usar um conector que as forneccedila como um Resource Adaptor que encapsu-laria uma aplicaccedilatildeo natildeo-conforme na SOA

InterconexatildeoNesse momento comeccedilamos a ver mais um item importante da arquitetura a infra-estrutura de interconexatildeo Ela eacute composta por dois moacutedulos loacutegicos como podemos observar na figura 3 que exibe em mais detalhes o barra-mento de serviccedilos O barramento de serviccedilos conecta todos os fornecedo-res de serviccedilos enquanto o canal de acesso une os usuaacuteriosconsumidores internos e externos aos serviccedilos

Barramento de serviccedilosO barramento de serviccedilos integra vaacuterias entidades de software O moacutedulo prin-cipal eacute o subcomponente de ldquoInterco-nectividade de serviccedilosrdquo que fornece os protocolos e outras funccedilotildees neces-saacuterias para conectar o gerenciamento de canal de acesso aos provedores de serviccedilo bem como os provedores uns aos outros Se eles suportam os proto-colos utilizados na interconectividade

de serviccedilos eles podem se comunicar diretamente entre si como mostrado nas conexotildees A da figura 3 Os proto-colos podem incluir por exemplo mensageria e SOAP (Simple Object Access Protocol)

Nesse caso estamos abordando a questatildeo do reaproveitamento das apli-caccedilotildees existentes ndash muitas vezes elas natildeo suportam os protocolos escolhidos sendo chamadas de ldquonatildeo-conformesrdquo A adaptaccedilatildeo (encapsulamento) eacute exe-cutada por um conector como mos-trado na figura 3 pela conexatildeo B O conector converte o protocolo no que for necessaacuterio para acessar a aplicaccedilatildeo ndash e vice-versa na saiacuteda

Uma variedade de serviccedilos baacutesicos eacute necessaacuteria para que o barramento de serviccedilos seja facilmente usado Eles abrangem dois grandes grupos ldquoUtilitaacuteriosrdquo responsaacutevel pelo dire-toacuterio de serviccedilos tradutores de coacutedi-go formatadores de mensagem e ldquoGerenciamentordquo responsaacutevel pela monitoraccedilatildeo ndash incluindo relatoacuterio de erros ndash configuraccedilatildeo e seguranccedila Os subcomponentes do serviccedilo de inter-conectividade e os conectores fariam a interface com a loacutegica comum as-sim como os provedores de serviccedilo e o componente de gerenciamento canal de acesso como mostrado nas conexotildees C da figura 3

Figura 2 O consumidor acessa a aplicaccedilatildeo-serviccedilo fornecida pelos provedores distribuiacutedos

copy Linux New Media do Brasil Editora Ltda

42 httpwwwlinuxmagazinecombr

CAPA | Desenvolvimento e SOA

Camada fiacutesicaNote que ateacute o momento falamos apenas da camada loacutegica Natural-mente haacute uma camada fiacutesica que pode ser implementada de forma distribuiacuteda ou centralizada usando uma abordagem de concentrador Na abordagem distribuiacuteda os subcom-ponentes do barramento de serviccedilos estatildeo espalhados pelos componentes e a rede fornece as interconexotildees fiacute-sicas necessaacuterias Essa abordagem eacute na verdade uma seacuterie de conexotildees ponto-a-ponto que pode rapida-mente aumentar a complexidade caso existam mais que apenas um ou dois protocolos ou um nuacutemero pequeno de serviccedilos Para montar um ambiente mais administraacutevel a abordagem com a utilizaccedilatildeo de um concentrador eacute melhor

Com a abordagem do concentrador o barramento de serviccedilos eacute implemen-tado em um servidor independente ou em um conjunto de servidores Os pro-vedores de serviccedilos podem implementar quaisquer dos protocolos suportados pelo subcomponente de interconec-tividade de serviccedilos Requisiccedilotildees de entrada satildeo roteadas para o serviccedilo de destino apropriado O concentrador age entatildeo como um comutador Pro-tocolos diferentes podem ser usados entre as conexotildees de origem e destino o subcomponente ldquoInterconectividade de Serviccedilosrdquo no concentrador executa a conversatildeo entre ambos

Com essa estrutura resolvemos a questatildeo das aplicaccedilotildees existentes do ponto de vista de infra-estrutura interna E o contato com o usuaacuterio Para trabalharmos esta parte vamos

ver com mais detalhes a outra camada da infra-estrutura de interconexatildeo mostrada na figura 4

UsuaacuterioO gerenciamento de canal de acesso se conecta ao barramento de serviccedilos do mesmo modo que os provedores de serviccedilo Ele executa duas funccedilotildees ou conjuntos de funccedilotildees ldquoGerencia-mento de interface de usuaacuteriordquo que trata da interface para os usuaacuterios ou consumidores de serviccedilo como na-vegadores web estaccedilotildees de trabalho com clientes inteligentes e serviccedilos web e ldquoMapeamento e definiccedilatildeo do serviccedilordquo que identifica os serviccedilos disponiacuteveis e conecta as requisiccedilotildees de entrada aos provedores de serviccedilo usando as interfaces expostas

O mapeamento e a definiccedilatildeo do serviccedilo podem ser bem simples ndash ape-nas um ponteiro para o provedor do serviccedilo Um processo completo de negoacutecio no entando pode necessitar do uso de vaacuterios provedores de servi-ccedilo e as sequumlecircncias nas quais eles satildeo invocados podem variar dependen-do do resultado das requisiccedilotildees a um provedor de serviccedilo especiacutefico

Orquestraccedilatildeo e barramentoA orquestraccedilatildeo pode ser feita obviamen-te escrevendo-se o provedor de serviccedilo externo que implementa as regras de negoacutecio para o processo em questatildeo e invoca os provedores internos quando necessaacuterio Contudo jaacute existem vaacuterios produtos para apoiar a criaccedilatildeo 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 orquestraccedilatildeo disponiacuteveis dentro desses produtos per-mitem criar o processo completo pro-vendo interfaces graacuteficas para identificar os provedores internos necessaacuterios e as regras de negoacutecios a serem seguidas durante o processo

Figura 3 A infra-estrutura de serviccedilos em SOA transita pelo barramento de serviccedilos ou ESB

Figura 4 As conexotildees entre provedores internos e externos compotildeem a outra camada da estrutura de interconexatildeo

copy Linux New Media do Brasil Editora Ltda

43

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

Desenvolvimento de aplicaccedilotildeesFinalmente vamos responder a uacutel-tima pergunta do gerente de desen-volvimento ldquocomo desenvolver apli-caccedilotildees voltadas ao novo ambienterdquo Caso se trate de uma nova aplicaccedilatildeo o ideal eacute utilizar uma ferramenta que possua um ambiente completo e raacutepido para desenvolvimento e im-plementaccedilatildeo de aplicativos permita essa implementaccedilatildeo com agilidade de novos processos e encapsule o co-nhecimento dos negoacutecios sob a forma de componentes reutilizaacuteveis

Um dos pontos fundamentais da SOA eacute que o serviccedilo pode ser execu-tado em qualquer plataforma sistema operacional ou linguagem Desse modo ao desenvolver um serviccedilo o desenvol-vedor natildeo deveria se preocupar com caracteriacutesticas de uma linguagem ou plataforma especiacutefica Esses serviccedilos devem ser desenvolvidos rapidamen-te e com facilidade em conjunto com analistas de negoacutecios e usuaacuterios finais utilizando a terminologia e o vocabulaacuterio compreendidos por eles O importan-te eacute se preocupar com o negoacutecio que seraacute atendido e que exista um niacutevel de abstraccedilatildeo entre a loacutegica de negoacutecio e a plataforma ou linguagem na qual o serviccedilo seraacute executado

Note que haacute um ambiente (ldquoMode-lador do sistemardquo) no qual o negoacutecio eacute modelado O construtor traduz o negoacutecio para o ambiente final com todas as ca-racteriacutesticas corporativas para assegurar a integridade da aplicaccedilatildeo modelada

O modelador do sistema deve oferecer a flexibilidade de adicionar interfaces de usuaacuterio final ao modelo que podem ser implementadas em uma ampla gama de ambientes

Governanccedila e seguranccedilaUma vez que tenham sido realizados os levantamentos e as oficinas a equi-pe estaacute motivada e os objetivos estatildeo

claros eacute impor-tante garantir que a meacutetrica baacutesica da arquitetura orientada a ser-viccedilos seja medida e explorada Um dos principais atri-butos da SOA eacute a capacidade de reutilizar serviccedilos existentes em no-vas aplicaccedilotildees ndash e eacute necessaacuterio man-ter esse cataacutelogo bem definido

Para auxiliar nesse controle existem diversas ferramentas disponiacute-veis que utilizam definiccedilotildees como UDDI (Universal Descrip-

tion Discovery and Integra-tion) ndash registro independente de plataforma baseado em XML cujo objetivo eacute listar serviccedilos acessiacuteveis pela Web Trata-se de uma iniciativa aberta que permite agraves empre-sas publicarem listas de servi-ccedilos acessaacute-los e descrevecirc-los possibilitando que aplicaccedilotildees possam interagir A UDDI foi originalmente proposta e pro-jetada para ser interligada por mensagens SOAP provendo acesso a documentos WSDL com as descriccedilotildees de protoco-los e formatos requeridos para interaccedilatildeo com os serviccedilos web listados no diretoacuterio

ebXML (Electronic Business using eXtensible Markup Lan-guage) ndash nada mais que uma grande biblioteca contendo informaccedilotildees sobre os serviccedilos disponiacuteveis e como acessaacute-los Sua infra-estrutura eacute aberta e baseada em XML habilitando o uso global das informaccedilotildees de forma interoperaacutevel segura e consistente Incorpora cinco camadas de definiccedilotildees de da-

dos (i) processos de negoacutecios (ii) protocolos de colaboraccedilatildeo (iii) componentes de dados prin-cipais (iv) mensageria e (v) re-gistro e repositoacuterios

Consideraccedilotildees finaisA adoccedilatildeo da SOA tem aumenta-do rapidamente Aleacutem de reunir muitas vantagens em um ambien-te distribuiacutedo de aplicaccedilotildees que eacute a nossa realidade hoje haacute diversas ferramentas disponiacuteveis no mercado que facilitam o seu uso Com pro-fundas diferenciaccedilotildees em relaccedilatildeo ao desenvolvimento tradicional de sistemas eacute necessaacuterio planejar bas-tante sua introduccedilatildeo junto agraves equi-pes de desenvolvimento e contar com apoio externo agrave empresa para que a mensagem seja absorvida com mais facilidade Com tudo isso e considerando as respostas ao gerente de desenvolvimento a arquitetura orientada a serviccedilos eacute um excelente caminho para a integraccedilatildeo de tran-saccedilotildees distribuiacutedas

Sobre o autorAntonio Godinho eacute arquiteto de sistemas na Unisys Brasil

Figura 5 O ESB realiza a comunicaccedilatildeo entre os canais de acesso de muacuteltiplos grupos de provedores que podem representar diferentes departamentos empresas etc

copy Linux New Media do Brasil Editora Ltda

Andrzej Gdula ndash sxchu

44 httpwwwlinuxmagazinecombr

A faacutebrica de software corporativo NovaForge

Quase faz cafeacuteCom o NovaForge eacute muito praacutetico hospedar gerenciar e testar softwares em escala corporativapor Pablo Hess

Sistemas de desenvolvimento distribuiacutedo de software satildeo altamente produtivos Em-

pregados amplamente por projetos de Software Livre sistemas como git[1] CVS[2][3] SVN[3][4] Mer-curial[5] e Bitkeeper[6] apenas para citar os mais famosos possibilitam o desenvolvimento colaborativo da grande maioria dos softwares de Coacute-digo Aberto desde o kernel Linux ateacute sofisticados ambientes desktop como Gnome e KDE

Uma interessante alternativa agrave manutenccedilatildeo de um servidor de de-senvolvimento ldquodentro de casardquo eacute o uso de repositoacuterios de projetos de software cujo exemplo mais famoso eacute o SourceForge[7] que abriga ou jaacute abrigou inuacutemeros projetos de Coacutedigo Aberto desde os mais simples e de uso restrito a uma aacuterea de atuaccedilatildeo ateacute os atuais campeotildees de atividade[8] o ERP Openbravo[9] o software de comparti-lhamento Azureus[10] e o programa de graacuteficos vetoriais Inkscape[11]

No entanto empresas que de-sejem gerenciar seus projetos de software corporativo de forma centralizada com testes e anaacutelises de desempenho durante a noite aleacutem da geraccedilatildeo automatizada de relatoacuterios tecircm como uacutenica alter-nativa o emprego de um servidor proacuteprio para essas tarefas Ou me-lhor tinham

No intuito de oferecer uma al-ternativa de caraacuteter corporativo que forneccedila aos projetos toda a infra-estrutura para a criaccedilatildeo e ge-renciamento a francesa Bull[12] lanccedilou o NovaForge[13]

CorporativoEm seu whitepaper a Bull afirma ter ldquoempregado no NovaForge seus conhecimentos metodoloacutegi-cos e sua experiecircncia na condu-ccedilatildeo e realizaccedilatildeo de projetos de desenvolvimento e integraccedilatildeo de sistemas numa plataforma indus-trial de produccedilatildeordquo Para os desen-

volvedores que desejem hospedar seus projetos nesse sistema isso significa uma maior base de ferra-mentas natildeo apenas para gerenciar o coacutedigo-fonte do projeto mas o projeto em si assim como toda a documentaccedilatildeo relevante

O NovaForge de fato facilita o gerenciamento de projetos de software de escala industrial de formas que o SourceForge ou mes-mo o CodePlex[14] da Microsoft jamais pretenderam fazer E a melhor parte o sistema eacute inteira-mente voltado ao Coacutedigo Aberto e padrotildees abertos

De acordo com a Bull os prin-ciacutepios do NovaForge satildeo capitalizaccedilatildeo empregar fer-

ramentas de desenvolvimen-to qualificadas e metodolo-gias aprovadas assim como a reutilizaccedilatildeo dos trabalhos jaacute realizados

compartilhamento compar-tilhar a mesma visatildeo que os

CA

PA

copy Linux New Media do Brasil Editora Ltda

45

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

projetos independen-temente da localizaccedilatildeo de seus participantes e compartilhando tam-beacutem o repositoacuterio de documentaccedilatildeo

flexibilidade o Nova-Forge foi concebido de forma modular para incluir ferramentas par-ticulares e assim res-ponder aos diferentes niacuteveis de atividade dos projetos tanto hospedados sobre uma infra-estrutura de rede de alto desem-penho quanto instalado no cliente

Eacute interessante notar que o terceiro item dessa lista jaacute dei-xa clara a inclinaccedilatildeo da plata-forma aos novos princiacutepios de software como serviccedilo

Processo de desenvolvimentoSob o NovaForge as diferentes etapas de desenvolvimento de software (figura 1) satildeo realizadas na seguinte ordem gestatildeo das exigecircncias da apli-

caccedilatildeo a ser desenvolvida exportaccedilatildeo das exigecircncias para a fer-

ramenta de modelagem UML geraccedilatildeo do coacutedigo com auxiacute-

lio do ambiente integrado de desenvolvimento

gerenciamento do coacutedigo-fonte e de suas versotildees

integraccedilatildeo e construccedilatildeo da apli-caccedilatildeo com uso dos repositoacuterios de integraccedilatildeo e das ferramentas de integraccedilatildeo contiacutenua

testes funcionais frente agraves exigecircn-cias e gerenciamento automaacuteti-co de falhas em caso de erros e falha de conformidade

As vantagens do uso da infra- estrutura do sistema para criaccedilatildeo de aplicaccedilotildees corporativas portanto podem ser listadas

ambiente de desenvolvimento pa-dronizado e com ferramentas po-derosas que permite mascarar para o desenvolvedor a complexidade da linguagem Java subjacente

o ganho de produtividade oferecido pela escolha das ferramentas mais adequadas pemite a geraccedilatildeo de partes do coacutedigo por meio de tarefas recorrentes de produccedilatildeo

a escolha de ferramentas de Coacute-digo Aberto robustas poderosas e aderentes aos padrotildees de de-senvolvimento e comunicaccedilatildeo utilizadas em diversos projetos e compatiacuteveis com a maioria dos sistemas operacionais

Seccedilotildees do desenvolvimentoO desenvolvimento no NovaForge eacute dividido em dois ambientes um destinado agrave concepccedilatildeo do projeto

e outro ndash Bull SOA IDE ndash feito sobre uma base de blocos de Coacute-digo Aberto como o Eclipse por exemplo enriquecidos pela proacute-pria Bull

O primeiro ambiente permite a geraccedilatildeo de relatoacuterios detalhados de concepccedilatildeo a partir dos diagra-mas UML e das regras de gestatildeo associadas aos casos de uso aleacutem das etapas de testes e validaccedilatildeo dos moacutedulos O segundo por sua vez oferece uma interface com a pri-meira e integra as ferramentas de geraccedilatildeo de coacutedigo ndash Velocity por exemplo ndash assim como uma seacuterie de plugins descritos a seguir

Ambiente de concepccedilatildeoO ambiente de concepccedilatildeo (a ferra-menta de modelagem Sprarx Sys-tem Enterprise Architect) natildeo exige a presenccedila de qualquer moacutedulo ou

Figura 1 Diagrama das etapas de desenvolvimento de software no NovaForge

copy Linux New Media do Brasil Editora Ltda

46 httpwwwlinuxmagazinecombr

CAPA | NovaForge

funcionalidade por parte do cliente Ele suporta UML 20 salva o modelo num banco de dados ou num arquivo e por fim exporta-o em XMI No entanto tambeacutem eacute possiacutevel trabalhar com diversos outras ferramentas como Rose XDE RAD Together MEGA Objecteering e PowerAMC por exemplo O objetivo afinal eacute simplesmente fornecer a entrada para a geraccedilatildeo de coacutedigo para im-plementar a arquitetura orientada ao modelo ou MDA

Dessa forma a cadeia de concep-ccedilatildeo do sistema formaliza a passagem do modelo de anaacutelise UML a um de concepccedilatildeo e implementaccedilatildeo Aleacutem das orientaccedilotildees de concepccedilatildeo e das normas de implementaccedilatildeo apoacutes a definiccedilatildeo da arquitetura de processador de destino para a aplicaccedilatildeo jaacute eacute possiacutevel gerar uma parte do coacutedigo da aplicaccedilatildeo ndash com o mecanismo de tagged value ndash fi-gura 2 Eacute importante notar tambeacutem

que o coacutedigo gerado natildeo depende de qualquer classe da Bull pois eacute puro JavaJ2EE

Ambiente de desenvolvimentoOs principais objetivos de um am-biente de desenvolvimento satildeo au-mentar a produtividade por meio de ferramentas para projetar pro-gramar e instalar aplicaccedilotildees J2EE e permitir o desenvolvimento co-laborativo Para isso eacute necessaacuterio tambeacutem observar as boas praacuteticas permitindo a geraccedilatildeo do coacutedigo de certos componentes da aplicaccedilatildeo e tambeacutem a criaccedilatildeo de uma corrente completa desde os objetos ateacute a base de dados incluindo todos os blocos que compotildeem a arquitetura

Por fim o ambiente de progra-maccedilatildeo deve permitir a integraccedilatildeo do desenvolvimento a uma arquitetura orientada a serviccedilos caso necessaacuterio

Isso facilita a chamada e a criaccedilatildeo de serviccedilos referenciados dentro da em-presa por intermeacutedio de assistentes

Nesse sentido a Bull contribui com o projeto Eclipse para melhorar o su-porte a J2EE e ao desenvolvimento de Web Services e processos de ne-goacutecios Aleacutem disso a colaboraccedilatildeo da empresa com o Eclipse visa a permitir acesso a aplicaccedilotildees externas ndash isso eacute natildeo escritas em Java ndash e a bancos de dados por meio de conectores JCA ou de meacutetodos de persistecircncia Uma caracteriacutestica importante eacute a total in-dependecircncia de classes especiacuteficas da Bull com total aderecircncia ao padratildeo J2EE mas ainda com suporte aos fra-meworks mais usados como Struts Spring e Hibernate

UtilizaccedilatildeoOs componentes da plataforma NovaForge portanto podem ser listados como a seguir

Figura 2 O mecanismo de tagged value enriquece as classes UML com as informaccedilotildees adequadas agrave geraccedilatildeo de coacutedigo

copy Linux New Media do Brasil Editora Ltda

47

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

ambiente de desenvolvimento Java Eclipse

ambiente de desenvolvimento J2EE JOPE

plugin Open Source Web Tools

controle de versotildees CVS Subversion

qualidade do coacutedigo Jalopy CheckStyle PMD

testes Unitaacuterios JUnit geraccedilatildeo ANT Maven

Para usar essa estrutura colaborati-va de desenvolvimento eacute necessaacuterio apenas um navegador web O servidor de aplicaccedilatildeo naturalmente tambeacutem eacute obrigatoacuterio e a Bull recomenda o uso do JBoss[15]

Servidor colaborativoO servidor colaborativo de desenvol-vimento fornece a todos os participan-tes do projeto o acesso ao ambiente para realizaccedilatildeo de suas tarefas espe-ciacuteficas de acordo com o papel de cada um (desenvolvedor integrador liacuteder de projeto gerente etc)

O portal utiliza a solu-ccedilatildeo eXo Portal[16] que em sua versatildeo 20 oferece suporte a clientes de rich internet applications (RIA como satildeo mais conhecidos) dentro do proacuteprio navega-dor O NovaForge faz bom uso dos ldquoaplicativos ricosrdquo como mostra a figura 3 incluindo o single sign-on para todos os serviccedilos dispo-nibilizados como comuni-caccedilatildeo desenvolvimento e acesso a documentos por exemplo

GForgeUma das principais fer-ramentas de desenvolvi-mento colaborativo utili-zadas pelo NovaForge eacute

o pacote de Coacutedigo Aberto GFor-ge[17] um gerenciador de proje-tos repleto de funcionalidades Como tal ele centraliza o acesso ao conjunto de ferramentas de gestatildeo e colaboraccedilatildeo necessaacuterias agrave boa realizaccedilatildeo de um projeto de desenvolvimento como por exemplo acesso seguro aos diferentes

moacutedulos de gerenciamento de coacutedigo diretamente a partir da interface web

gerenciamento de documen-tos e suas versotildees

gerenciamento de foacuteruns e listas de discussatildeo

monitoramento das tarefas realizadas pelos usuaacuterios

gerenciamento de falhas e anomalias do projeto com possibilidades ilimitadas em termos de qualificaccedilatildeo das falhas atribuiccedilatildeo a desenvol-vedores de diferentes equipes

gerenciamento de prioridades e outras funccedilotildees

gerenciamento e atribuiccedilatildeo de tarefas aos participantes ao longo de todo o ciclo de de-senvolvimento dos projetos

interface com o CVS ou Sub-version para gestatildeo da segu-ranccedila no que diz respeito ao acesso de escrita e leitura do coacutedigo-fonte do projeto

Servidor de industrializaccedilatildeoO chamado ldquoservidor de industrializa-ccedilatildeordquo eacute uma plataforma de ldquofaacutebrica de receitasrdquo proposta pela Bull com todo o contexto necessaacuterio aos procedimentos e seus testes Seus principais objetivos satildeo a criaccedilatildeo de ldquonightly buildsrdquo a re-alizaccedilatildeo de testes de desempenho afim de garantir o correto funcionamento e dos softwares no momento em que forem finalizados

Figura 3 O NovaForge jaacute utiliza e muito bem as potencialidades dos componentes chamados Rich Internet Applications

copy Linux New Media do Brasil Editora Ltda

48 httpwwwlinuxmagazinecombr

CAPA | NovaForge

A figura 4 demonstra o processo de compilaccedilatildeo dessa etapa Em in-tervalos regulares toda a aplicaccedilatildeo sua documentaccedilatildeo e seus testes unitaacuterios satildeo gerados permitindo que se automatize a anaacutelise da qualidade do coacutedi-

go da aplicaccedilatildeo pelos compo-nentes PMD e CheckStyle

a geraccedilatildeo automaacutetica da apli-caccedilatildeo por comparaccedilatildeo com as uacuteltimas versotildees presentes no gerenciador de configuraccedilotildees a partir do servidor CVS ou Subversion

a geraccedilatildeo automaacutetica da do-cumentaccedilatildeo da aplicaccedilatildeo

a execuccedilatildeo do conjunto de testes unitaacuterios usando os componentes JUnit DBUnit e HTTPUnit com geraccedilatildeo posterior de relatoacuterios

a implementaccedilatildeo da moni-toraccedilatildeo de servidores da do-cumentaccedilatildeo e dos relatoacuterios anteriormente gerados

A cada manhatilde a anaacutelise dos relatoacuterios e resultados do servi-dor de industrializaccedilatildeo oferece ao gerente do projeto um pano-rama absolutamente atualizado do estado funcional do software

e possibilita a criaccedilatildeo de tiacutequetes de falhas pelo Salomeacute-TMF

ConclusotildeesO NovaForge natildeo tem como obje-tivo substituir os repositoacuterios mais tradicionais como o SourceForge mas criar uma verdadeira faacutebrica de software colaborativo de caraacuteter corporativo A linguagem Java por exemplo eacute uma obrigaccedilatildeo o que pode limitar o uso por projetos co-munitaacuterios de espectro geral mas natildeo representa uma restriccedilatildeo aos projetos de software corporativos ndash aliaacutes muito pelo contraacuterio

No momento o NovaForge em-prega 17 ferramentas para gerenciar seus softwares desde o CVS ou Subversion para o coacutedigo-fonte passando pelo GForge no campo do gerenciamento de projetos e documentos e chegando ateacute o Ma-ven para as tarefas automatizadas de industrializaccedilatildeo

Somada ao praacutetico gerencia-mento a garantia de qualidade dos projetos abrigados no NovaForge eacute um importante convite a qualquer organizaccedilatildeo que deseje desenvol-ver projetos de alta qualidade em escala corporativa

Mais informaccedilotildees

[1] Git httpgitorcz

[2] CVS na Wikipeacutedia httpptwikipediaorgwikiCVS

[3] Johannes Ploumltner e Steffen Wendzel ldquoFonte de organizaccedilatildeo httpwwwlinuxmagazinecombrarticlefonte_de_organizacao

[4] Subversion httpsubversiontigrisorg

[5] Mercurial httpwwwseleniccommercurialwiki

[6] Bitkeeper httpwwwbitkeepercom

[7] SourceForge httpsourceforgenet

[8] Ranking de atividade do SourceForge httpsourceforgenettopmostactivephptype=week

[9] Openbravo httpwwwopenbravocom

[10] Azureus httpazureussourceforgenet

[11] Inkscape httpwwwinkscapeorg

[12] Bull httpwwwbullcombr

[13] NovaForge httpwwwnovaforgeorg

[14] Microsoft CodePlex httpwwwcodeplexcom

[15] JBoss httpwwwjbosscom

[16] Portal httpwwwexoplatformcomportalpublicsite

[17] GForge httpgforgeorg

Figura 4 Os testes realizados automaticamente nos nightly builds fornecem vaacuterios dados a respeito do aplicativo

copy Linux New Media do Brasil Editora Ltda

49Linux Magazine 42 | Maio de 2008

TU

TO

RIA

L

Configurando o ambiente de desenvolvimento

Produto importadoSe for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte do ADempiere eacute muito faacutecil usar o poderoso ambiente de desenvolvimento Eclipse para importaacute-lopor Eduardo Montenegro

Chegamos agora agrave terceira parte de nosso tutorial sobre o ADempiere ERP amp CRM

Na uacuteltima ediccedilatildeo[1] fizemos uma pequena adaptaccedilatildeo ao sistema crian-do um novo campo que permitia a entrada de dados pelo usuaacuterio

Agora vamos importar o coacutedigo-fonte do ADempiere no ambiente de desenvolvimento Java Eclipse[2] que iraacute permitir o desenvolvimento de novos recursos no sistema utili-zando programaccedilatildeo

Vale lembrar que o objetivo deste tutorial eacute apresentar algumas carac-teriacutesticas principais do ADempiere sendo impossiacutevel esgotar esse assun-to ou nos aprofundarmos muito em determinados toacutepicos

O ambiente de desenvolvimento padratildeo utilizado pelos desenvolvedo-res do projeto ADempiere eacute o Eclipse Vamos acompanhar os passos neces-saacuterios para instalaccedilatildeo desse ambien-te de desenvolvimento e do plugin Subclipse[3] que utilizaremos para fazer o checkout do projeto do servi-dor SVN no SourceForge[4]

Instalaccedilatildeo do EclipseContinuando a configuraccedilatildeo de nos-so ambiente de desenvolvimento no Ubuntu[5] iremos fazer a instalaccedilatildeo do Eclipse por meio do repositoacuterio de pacotes usando o Synaptic Apoacutes pro-curar o pacote Eclipse basta efetuar a instalaccedilatildeo da forma normal Em segui-da seraacute necessaacuterio iniciaacute-lo para fazer a instalaccedilatildeo do plugin Subclipse

Plugin SubclipseNo menu principal do Eclipse iremos selecionar as opccedilotildees Help e em seguida Software Updates e Find and Install conforme indicado na figura 1

Na proacutexima janela como mostra a figura 2 selecionaremos a opccedilatildeo Search for New Features to Install e depois o botatildeo Next

Na janela seguinte eacute preciso acres-centar uma nova fonte remota de softwares selecionando a opccedilatildeo New Remote Site e digitando na nova janela o nome Subclipse 12x (Eclipse 32+) e a URL httpsubclipsetigrisorgupda-te_12x conforme a figura 3

Em seguida vamos selecionar para a busca a opccedilatildeo que acabou de ser criada na janela (figura 4) Ao ser exibido finalmente o plugin Subclipse (figura 5) deve-se selecionaacute-lo pressionando o botatildeo Finish em seguida

Ao concluir a ins-talaccedilatildeo do plugin o Eclipse precisaraacute ser reiniciado para que pos-sa ser utilizado

Repositoacuterio ADempiereDe volta ao Eclipse selecionaremos o menu Window Open Perspective e Other Na janela exibida na figura 6 deve ser selecionada a opccedilatildeo SVN Re-pository Exploring Na parte esquerda da janela na aba SVN Repository iremos clicar com o botatildeo direito do mouse e adicionar o repositoacuterio do ADempiere conforme demonstrado na figura 7 Seu endereccedilo eacute httpsadempieresvnsour-ceforgenetsvnrootadempiere [4]

Figura 1 A instalaccedilatildeo de novos plugins no Eclipse eacute bem simples

Figura 2 Como o plugin estaacute num novo repositoacuterio devemos acrescentaacute-lo manualmente

Figura 3 Dados do repositoacuterio do ADempiere

copy Linux New Media do Brasil Editora Ltda

50 httpwwwlinuxmagazinecombr

TUTORIAL | Alteraccedilotildees no coacutedigo-fonte do ADempiere

Figura 5 O plugin do Subclipse jaacute pode ser instalado

O projeto do ADempiere estaraacute disponiacutevel no Eclipse possibilitando a navegaccedilatildeo pelos diversos pacotes e arquivos do projeto por meio da aba do lado esquerdo conforme exibido na figura 10

Para executar o projeto a partir do Eclipse resta apenas definir um perfil de execuccedilatildeo que podemos criar com poucos passos 1 selecionar o menu Run e em

seguida Open Run Dialog 2 na janela aberta (figura 11)

selecionar a opccedilatildeo Java Appli-cation no painel esquerdo e pressionar o botatildeo New

3 no campo Name entrar com o nome Adempiere

4 no campo Project utilizan-do o botatildeo Browse selecionar o projeto receacutem-criado

5 finalmente no campo Main Class digitar orgcompiereAdempiere

Agora se pressionarmos o botatildeo Apply e em seguida selecionarmos Run o ADempiere seraacute executado a partir do Eclipse

ConclusatildeoAo final desse procedimento o am-biente de desenvolvimento do ADem-piere estaraacute configurado Com isso no proacuteximo artigo poderemos importar o projeto do ADempiereLBR[6] que eacute complementar ao LBR e acrescenta diversos recursos para a operaccedilatildeo do ADempiere no Brasil

Na proacutexima ediccedilatildeo veremos tam-beacutem algumas das principais caracte-riacutesticas do desenvolvimento de novos recursos para o ADempiere utilizando a linguagem Java

Jaacute com as informaccedilotildees do reposi-toacuterio no Eclipse iremos navegar ateacute a pasta Tags e em seguida clicando com o botatildeo direito do mouse em cima da pasta adempiere340 selecionaremos a opccedilatildeo Checkout (figura 8)

Na janela mostrada em seguida para a operaccedilatildeo de checkout basta confirmar a operaccedilatildeo selecionando os bototildees Next e em seguida Finish Esse passo pode demorar um pouco pois seratildeo copiados todos os arquivos do projeto ADempiere para a maacutequina local

De dentroVamos agora executar o ADempiere de dentro do Eclipse Selecionan-do no menu novamente as opccedilotildees Window Open Perspective e Other iremos voltar para a perspectiva Java (default) (figura 9)

Figura 4 Seleccedilatildeo do novo repositoacuterio configurado como fonte do plugin

Figura 6 O Subclipse permite a impor-taccedilatildeo de dados a partir de um repositoacuterio Subversion

Figura 7 Adicionando um repositoacuterio Subversion

copy Linux New Media do Brasil Editora Ltda

51Linux Magazine 42 | Maio de 2008

Mais informaccedilotildees

[1] Eduardo Montenegro ldquoConfiguraccedilatildeo do ADempiere ndash Faccedila a sua gestatildeordquo httpwwwlinuxmagazinecombrarticle1649

[2] Eclipse httpwwweclipseorg

[3] Subclipsehttpsubclipsetigrisorg

[4] Repositoacuterio do ADempiere no SourceForge httpsadempieresvnsourceforgenetsvnrootadempiere

[5] Ubuntu httpwwwubuntucom

[6] Projeto AdempiereLBR no Sourceforge httpsfnetprojectsadempierelbr

[7] Site do Projeto ADempiere httpwwwadempierecom

[8] Wiki do Projeto Adempiere httpwwwadempierecomwiki

[9] Foacuterum do ADempiere em portuguecircs httpforumkenoscombr

Figura 8 Realizaccedilatildeo do che-ckout no repositoacuterio

Figura 9 Com a perspectiva Java eacute pos-siacutevel trabalhar em projetos nessa linguagem como o ADempiere

Figura 10 Jaacute eacute possiacutevel navegar pelo coacutedigo do ADempiere

Figura 11 Criaccedilatildeo de um novo perfil para o projeto do ADempiere no Eclipse

copy Linux New Media do Brasil Editora Ltda

52 httpwwwlinuxmagazinecombr

Deacutecima primeira aula de preparaccedilatildeo LPIC-2

LPI niacutevel 2 Aula 11Configuraccedilatildeo do servidor BIND criaccedilatildeo e manutenccedilatildeo de arquivos de zonas e ferramentas relacionadaspor Luciano Siqueira

22071 Configuraccedilatildeo baacutesica de um servidor DNS Um servidor DNS ndash Domain Name System ndash converte remotamente no-mes de maacutequinas para seus respectivos nuacutemeros IP e vice-versa A correspon-decircncia entre o nome e o nuacutemero IP eacute chamada mapeamento e organizado de forma hieraacuterquica

Em outras palavras um domiacutenio como howtoslinuxcom seraacute quebrado e resolvido comeccedilando por com de-pois linux e finalmente howtos ndash itens chamados respectivamente top-level domain second-level domain e third-level domain Eacute nessa ordem que o endereccedilo IP para howtoslinuxcom seraacute obtido Os top-level domains mais comuns satildeo com org e net mas existem vaacuterios outros

O programa servidor responsaacutevel pelo mapeamento eacute o usrsbinnamed que eacute parte do pacote cha-mado BIND cujas especificaccedilotildees

satildeo definidas pelo Internet Systems Consortium Seu arquivo de confi-guraccedilatildeo eacute namedconf que pode ser encontrado no diretoacuterio etc ou etcbind Em versotildees do BIND anteriores agrave 8 o arquivo de configu-raccedilatildeo chama-se namedboot e possui sintaxe diferente Arquivos anteriores agrave versatildeo 8 natildeo funcionaratildeo nesta ou na 9 Para converter arquivos de con-figuraccedilatildeo de versotildees anteriores para a 8 pode ser utilizado o comando named-bootconf

Servidor caching-onlyO DNS caching-only eacute a mais simples implementaccedilatildeo de um servidor DNS Ele apenas requisita a resoluccedilatildeo do nome junto a um servidor externo e armazena a resposta para agilizar futuras requisiccedilotildees Exemplo de na-medconf para um servidor de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

Zonas convencionais tecircm seccedilotildees definidas de forma semelhante (exem-plo zone ldquolocalhost IN rdquo) e eacute importante que para cada uma delas seja especificada uma zona para DNS reverso (exemplo zone ldquo00127in-addrarpa IN rdquo) O DNS reverso eacute responsaacutevel por converter nuacutemeros IP para seus respectivos nomes

Voltando ao exemplo na seccedilatildeo options eacute indicado onde estatildeo os arquivos de zonas (directory ldquovarnamedrdquo) Estaacute definido apenas o mapeamento para ldquordquo que seraacute consultado se nenhum outro ma-peamento for encontrado Eacute este o caso do exemplo

No arquivo varnamedroothints haacute uma lista com os principais ser-vidores de nomes da Internet Este arquivo eacute gerado atraveacutes do comando

Toacutepico 207 DNS

TU

TO

RIA

L

Irum_Shahid - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

53

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

dig eroot-serversnet ns Como os endereccedilos de alguns servidores po-dem mudar eacute aconselhaacutevel atualizar o arquivo mensalmente O exemplo 1 mostra um trecho do arquivo varnamedroothints

Apoacutes alterar os arquivos de con-figuraccedilatildeo seraacute necessaacuterio reiniciar o daemon named responsaacutevel por responder agraves requisiccedilotildees de DNS Para que as configuraccedilotildees tenham efeito sem interromper o named basta enviar o sinal HUP para o processo atraveacutes do comando kill

kill -HUP `pidof named`

22072 Criaccedilatildeo e manutenccedilatildeo de zonas de DNSA principal diferenccedila entre um servidor DNS tradicional e um servidor DNS caching-only estaacute nos arquivos de zona Num ser-vidor tradicional os arquivos de zona conteacutem a correspondecircncia de IPs e nomes para os domiacutenios especificados em namedconf

Criando um domiacutenioPara cada domiacutenio sob responsabili-dade do servidor deve ser criada uma entrada no arquivo namedconf Essa entrada eacute muito parecida agravequela do exemplo de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo

A uacuteltima entrada indica opccedilotildees e o arquivo de zona para solicitaccedilotildees de nome para o domiacutenio ginkgo

Este eacute um domiacutenio fictiacutecio uti-lizado como exemplo para uma rede interna A opccedilatildeo type deter-mina a prioridade da zona para o domiacutenio pode ser master ou slave O arquivo definido na opccedilatildeo file deve ser criado no mesmo diretoacuterio selecionado na opccedilatildeo directory da seccedilatildeo options Pode ser escolhido qualquer nome para o arquivo de zona mas geralmente elege-se o nome do domiacutenio leva os prefixossufixos zone ou db

Registros da zonaO arquivo de zona conteacutem vaacuterias informaccedilotildees dos nomes do domiacutenio em questatildeo pode ser escrito confor-me o exemplo 2

Vamos analisar item a item este arquivo de zona para entender cada uma das suas entradas

$TTL 3D

Indica a validade-padratildeo ou por quanto tempo os dados con-

seguidos a partir deste servidor devem ser mantidos em um ca-che de DNS

IN SOA floydginkgo hostmasterginkgo (

Essa linha corresponde agrave prin-cipal entrada SOA (Start Of Au-thority) Ela determina qual o ser-vidor e o email do administrador do DNS O sinal eacute apenas um atalho para a origem (o domiacute-nio da zona) e tambeacutem pode ser especificado literalmente (neste caso deve ser especificado com um ponto no final ginkogo) O IN significa Internet e determina a classe do registro Na maior parte dos servidores DNS seraacute a uacutenica classe utilizada O termo SOA indica tratar-se do registro da autoridade para o domiacutenio seguido do nome do servidor DNS e do email do administrador Perceba que ambos satildeo terminados com um ponto O email tambeacutem tem um ponto no

Exemplo 1 Trecho de roothints

()DROOT-SERVERSNET 3600000 IN A 12881090AROOT-SERVERSNET 3600000 IN A 1984104HROOT-SERVERSNET 3600000 IN A 12863253CROOT-SERVERSNET 3600000 IN A 19233412()

Exemplo 2 Arquivo de zona

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floyd MX 5 mailfloyd A 19216801 hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

copy Linux New Media do Brasil Editora Ltda

54 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

lugar do O parecircntese no final da linha indica o iniacutecio das proprie-dades do registro

2007060401 serial 28800 refresh (8horas) 7200 retry (2 horas) 2419200 expire (4semanas) 86400 minimum (1 dia) )

Essa seccedilatildeo especifica algumas pro-priedades para a zona O primeiro nuacutemero 2007060401 determina um nuacutemero serial de identificaccedilatildeo Pode ser qualquer nuacutemero mas via de re-gra segue o formato de data mais um nuacutemero decimal Os demais valores determinam respectivamente inter-valo de atualizaccedilatildeo intervalo para novas tentativas prazo de validade das informaccedilotildees intervalo miacutenimo de permanecircncia no cachecirc Estes va-lores seratildeo informados aos clientes e outros servidores DNS que utilizam este mapa O caracter ldquordquo especifica um comentaacuterio e todo texto em se-guida seraacute ignorado pelo programa O final das propriedades do registro eacute determinado com o fechamento do parecircntese Continuando o exame

NS floyd MX 5 mailfloyd A 19216801

hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

Os demais registros correspondem agraves entradas de nomes da zona Se natildeo for informado no comeccedilo da linha eacute assumida a mesma origem (especificada pelo caracter ) e a classe (IN) Tipos de registro comuns satildeo NS especifica qual dos registros eacute

o servidor de nomes do domiacutenio tambeacutem citado no registro SOA

MX o servidor de email para o domiacutenio Pode haver mais de um sendo suas prioridades determinadas pelo nuacutemero agrave esquerda do nome do servidor Valores menores indicam maior prioridade

A mapeia o nome especifica-do agrave esquerda para o IP espe-cificado agrave direita A origem (domiacutenio) eacute automaticamente adicionada ao nome pois estaacute impliacutecita na entrada (ex floyd = floydginkgo)

CNAME cria um alias especifica-do agrave esquerda para um nome jaacute definido em outro registro Natildeo pode haver alias para um registro NS

PTR mapeia um nuacutemero IP para um nome Eacute utilizado para DNS reverso que veremos a seguir

DNS reversoAleacutem das zonas para resolver nomes para nuacutemeros IP eacute praxe criar zonas para resolver nuacutemeros IP para nomes processo chamado DNS reverso Para isso deve ser criada uma zona especiacute-fica no arquivo namedconf que aponte para outro arquivo de zona

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo zone ldquo0168192in-addrarpardquo IN type master file ldquodb1921680in-addrarpardquo allow-update none

O registro em destaque espe-cifica a zona reversa O nome da zona reversa comeccedila com o trecho do IP referente agrave rede escrito de traacutes para frente seguido do termo in-addrarpa que determina tratar-se de um registro de DNS rever-so Portanto o registro mostrado converteraacute em nomes os IPs que comecem por 1921680 As demais opccedilotildees como tipo nome de ar-quivo etc obedecem agraves mesmas regras do DNS

O arquivo de zona para o DNS reverso eacute praticamente idecircntico ao do DNS convencional mostrado no exemplo 3

A uacutenica diferenccedila encontra-se nos registros de nomes Aqui a ori-gem tambeacutem estaacute impliacutecita sendo necessaacuterio apenas especificar o tre-cho do IP especiacutefico do host Por se tratar de uma resoluccedilatildeo reversa eacute

Exemplo 3 Arquivo de zona do DNS reverso

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060402 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floydginkgo 1 PTR floydginkgo 2 PTR hamiltonginkgo 4 PTR felixginkgo 11 PTR emilyginkgo

copy Linux New Media do Brasil Editora Ltda

55

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

usado um registro do tipo PTR seguido do nome para o IP es-pecificado

Um detalhe importante eacute que o nome dos hosts preci-sa ser completo incluindo o domiacutenio e o ponto no final Isso evita que o DNS reverso interprete a origem (que aqui eacute 168192in-addrarpa) como sendo o domiacutenio

Para que as novas configuraccedilotildees tenham efeito eacute necessaacuterio reiniciar o servidor de nomes O procedimento pode ser feito via script de iniciali-zaccedilatildeo ou simplesmente enviando o sinal HUP para o processo

killall -HUP named

Servidores escravosPara aumentar a disponibilidade do serviccedilo eacute recomendaacutevel criar um servidor DNS escravo de preferecircn-cia numa localizaccedilatildeo fiacutesica distante do servidor primaacuterio para evitar que panes eleacutetricas por exemplo afetem ambos

A entrada em namedconf para de-finir um servidor escravo pode ser escrita da seguinte forma

zone ldquoginkgordquo type slave file ldquodbginkgordquo masters 19216801

O servidor escravo armazena-raacute os registros da zona ginkgo atraveacutes de um processo chamado transferecircncia de zona O arquivo de zona no servidor escravo possui apenas o registro SOA como mostra o exemplo 4

A zona soacute eacute transferida se o nuacutemero serial do servidor escra-vo for menor que o do servidor primaacuterio O valor refresh especi-fica o intervalo em que o servidor escravo verificaraacute atualizaccedilotildees de registro no servidor primaacuterio Se

o servidor natildeo pocircde ser contacta-do seratildeo feitas novas tentativas a cada intervalo especificado no valor retry A zona deixaraacute de existir no servidor escravo se o primaacuterio natildeo puder ser contactado ateacute o final do periacuteodo-limite especificado no valor expire O uacuteltimo valor minimum determina o periacuteodo miacutenimo que a zona deve permanecer no servidor escravo Por padratildeo todos os valo-res satildeo expressos em segundos Para alterar a unidade de tempo basta utilizar um sufixo como H (hora) D (dia) ou W (semana) Por exemplo 2H (duas horas)

Redirecionamento de servidorUm redirecionamento simplesmen-te transfere todas as solicitaccedilotildees fei-tas ao servidor para outro servidor DNS armazenando os resultados temporariamente para agilizar fu-turas solicitaccedilotildees semelhante a um servidor caching-only Para redire-cionar qualquer solicitaccedilatildeo basta criar a seccedilatildeo options em namedconf da seguinte forma

options directory ldquovarnamedrdquo forwarders 20019214021 2001921435

Seratildeo utilizados os servidores especificados na opccedilatildeo forwarders Para que apenas solicitaccedilotildees para uma zona especiacutefica sejam redire-cionadas o tipo da zona deve ser especificado como forward

zone ldquoginkgordquo IN type forward forwarders 20019214021 2001921435

Os servidores de destino das soli-citaccedilotildees devem ser especificados da mesma forma na opccedilatildeo forwarders

Diagnoacutestico do servidorAgora o servidor DNS jaacute pode ser testado para encontrar possiacuteveis pro-blemas Para uma checagem simples pode ser usado o comando host Mas antes natildeo se esqueccedila de alterar os dados do servidor de nomes em etcresolvconf para o servidor que vocecirc acabou de configurar Feito isso utilize o comando host para um dos nomes registrados na zona criada

host felix felixginkgo has address 19216804

Testando o DNS reverso

host 19216842 40168192in-addrarpa domain name pointer felix1681920in-addrarpa

Pocircde ser verificado que tanto o DNS convencional quanto o DNS reverso estatildeo funcionando ao menos para o nome e IP do host felix

Para evitar alterar o arquivo etcresolvconf e obter informaccedilotildees um pouco mais detalhadas basta

Exemplo 4 Arquivo de zona com o regsitro SOA

IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) )

copy Linux New Media do Brasil Editora Ltda

56 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

fornecer tambeacutem o nome do servi-dor DNS ao comando host

host www floydginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo hamiltonginkgo has address 19216802 Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo

Pela saiacuteda podemos verificar en-tre as informaccedilotildees mostradas que o host wwwginkgo trata-se de um alias para o host hamiltonginkgo

Uma ferramenta especiacutefica para diagnoacutestico de servidores DNS eacute o comando dig (Domain Information Groper) Apesar de possuir vaacuterias opccedilotildees que podem ser consultadas na paacutegina manual do comando a forma mais usual de invocaacute-lo eacute dig servidor domiacutenio tipo O servidor DNS especificado pelo caracter seraacute consultado pelo domiacutenio e tipo de registro O exemplo 5 mostra como utilizar o comando dig

A saiacuteda eacute dividida em seccedilotildees O cam-po status da seccedilatildeo HEADER nos permite verificar se foram encontrados erros no servidor DNS A seccedilatildeo QUESTION mostra que tipo de requisiccedilatildeo foi feita ao servidor A resposta eacute mostrada na seccedilatildeo ANSWER A seccedilatildeo ADDITIONAL mostra os endereccedilos dos nomes exibidos em ANSWER

Outra ferramenta eacute o coman-do nslookup que trabalha de duas formas interativo e natildeo-interativo

Usado sem argumentos o nslookup entra em modo interativo

nslookup gt

Dessa forma seraacute utilizado o servi-dor de nomes especificado em etcresolvconf Outro servidor pode ser especificado da seguinte forma

nslookup - floyd gt

Note que haacute um espaccedilo entre o traccedilo e o nome do servidor A maneira mais simples de utilizar o modo interativo eacute simplesmente fornecer um nome a verificar e pressionar [enter]

gt hamilton Server 19216801 Address 1921680153

Name hamiltonginkgo Address 19216802 gt

Exemplo 5 Utilizaccedilatildeo do dig

dig floyd ginkgo ANY

ltltgtgt DiG 932-P1 ltltgtgt floyd ginkgo ANY (1 server found) global options printcmd Got answer -gtgtHEADERltlt- opcode QUERY status NOERROR id 28285 flags qr aa rd ra QUERY 1 ANSWER 3 AUTHORITY 0 ADDITIONAL 2

QUESTION SECTION ginkgo IN ANY

ANSWER SECTION ginkgo 259200 IN SOA floydginkgo hostmasterginkgo 2007060402 28800 7200 2419200 86400 ginkgo 259200 IN NS floydginkgo ginkgo 259200 IN MX 10 felixginkgo ADDITIONAL SECTION floydginkgo 259200 IN A 19216801 felixginkgo 259200 IN A 19216804

Query time 0 msec SERVER 1921680153(19216801) WHEN Mon Jun 4 154409 2007 MSG SIZE rcvd 146

copy Linux New Media do Brasil Editora Ltda

| TUTORIALLPI Niacutevel 2

Para pesquisar um nome no modo natildeo-interativo podem ser fornecidos o nome e o servidor como argumen-tos para o nslookup

nslookup felix floyd Server floyd Address 1921680153

Name felixginkgo Address 19216804

22073 Seguranccedila de DNSPara o administrador precavido a fa-lha em um servidor DNS pode natildeo ser um desastre de grandes proporccedilotildees Ele pode conectar-se atraveacutes do IP do servidor (caso o tenha) e recupe-rar o serviccedilo Os demais usuaacuterios da rede por sua vez apenas acessam as maacutequinas atraveacutes de seus nomes Uma interrupccedilatildeo do servidor DNS mesmo que a comunicaccedilatildeo da rede

ainda exista torna inviaacutevel sua uti-lizaccedilatildeo para quem desconhece os endereccedilos IP das maacutequinas

Num cenaacuterio ainda pior um in-vasor pode interceptar as chamadas DNS e conhecer os nomes e endere-ccedilos das maacutequinas da rede facilitan-do a identificaccedilatildeo e ataque Caso os registros tenham sido alterados um usuaacuterio pode conectar-se a uma maacute-quina-armadilha acreditando tratar-se de uma maacutequina conhecida Neste caso o invasor poderia facilmente conseguir dados sensiacuteveis de todo usuaacuterio enganado

Enjaular o servidorO servidor DNS pode ser executa-do num ambiente isolado onde soacute existam os componentes necessaacute-rios agrave sua execuccedilatildeo Esse ambiente eacute denominado jaula chroot Este processo ajuda a garantir a segu-ranccedila do servidor BIND colocan-

do-o numa ldquogaiolardquo que limitaraacute o ldquoestragordquo caso o servidor seja com-prometido Junto com a restriccedilatildeo a arquivos e diretoacuterios o servidor deve ser executado por um usuaacuterio sem privileacutegios de root

Por exemplo o daemon named pode ser iniciado como proces-so do usuaacuterio natildeo-privilegiado bind tendo como diretoacuterio raiz varnamed

named -u bind -t varnamed

Para que a jaula chroot fun-cione eacute necessaacuterio adaptar algu-mas variaacuteveis na configuraccedilatildeo do BIND O diretoacuterio raiz enxergado pelo daemon named seraacute varna-med portanto eacute necessaacuterio indi-car corretamente a localizaccedilatildeo de arquivos e diretoacuterios como o diretoacuterio dos arquivos de zona e do arquivo de PID

copy Linux New Media do Brasil Editora Ltda

58 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

DNSSECAs transferecircncias de informaccedilotildees entre servidores DNS podem ser autenticadas atraveacutes de uma chave do DNSSEC um complemento do BIND

A chave eacute gerada pelo comando dnssec-keygen Diferentes algoriacutetimos podem ser escolhidos No exem-plo elas seratildeo geradas no diretoacuterio varnamed

cd varnamed dnssec-keygen -a DSA -b 768 -r devuramdom -n ZONE ginkgo

A opccedilatildeo -a especifica a criptografia utilizada a opccedilatildeo -b o tamanho da chave e -r a fonte de dados aleatoacute-rios para gerar a chave (se -r natildeo for fornecido o teclado seraacute usado como fonte de dados aleatoacuterios) A opccedilatildeo -n especifica qual o tipo do dono da chave (ZONE) Por fim eacute especificado o nome (ginkgo)

Terminada a execuccedilatildeo seraacute emitida uma resposta no formato Knnnn+aaa+iiiii Os elementos da resposta significam nnnn Nome da chave aaa Representaccedilatildeo numeacuterica

do algoriacutetimo iiiii Identificaccedilatildeo da chave

(ou impressatildeo digital)Neste exemplo foram gerados

dois arquivos Kginkgo+003+47654key e Kginkgo+003+47654pri-vate O arquivo key deve ser mencionado na respectiva zona atraveacutes de um $include ao final do arquivo

$include Kginkgo+003+47654key

Feito isso a zona deve ser assinada com o comando dnssec-signzone

dnssec-signzone -r devurandom -o ginkgo dbginkgo Kginkgo+003+47654

A opccedilatildeo -o define a origem do arquivo de zona Se natildeo for espe-

cificada a chave seratildeo utilizadas as mencionadas na zona O arqui-vo de saiacuteda dbginkgosigned seraacute criado e deveraacute ser especificado no registro da zona em namedconf

zone ldquoginkgordquo IN type master file ldquodbginkgosignedrdquo allow-update none

Tambeacutem seratildeo criados arquivos dsset e keyset utilizados para que o administrador da zona superior saiba quais chaves satildeo o ponto de entrada seguro para a zona

Os servidores DNS que bus-cam dados no servidor em que o DNSSEC foi utilizado poderatildeo agora validar os dados atraveacutes da chave puacuteblica contida no arqui-vo Kginkgo+003+47654key Essa chave deve estar presente na entrada trusted-keys do arquivo namedconf que obedece a seguin-te sintaxe

trusted-keys string number number number string string number number number string

A entrada trusted-keys pode fazer referecircncia a vaacuterias chaves Cada campo corresponde ao nome do domiacutenio opccedilotildees protocolo algoritmo utilizado e o coacutedigo da chave gerada Todos esses dados estatildeo contidos no arquivo key

No caso do exemplo o registro trus-ted-keys ficaria da seguinte forma

trusted-keys ldquoginkgordquo 256 3 3 ldquoBPDC8hyXf5G8TrgNikGbTVRTlpzpo5ldQt0ROv3viRFBlj7Je2NKIAoJGyEOhmmGHRw4Ls0uHLeQasRAFqz3IKIFh3UpH3b8KYoebkPaDk68zoFphMknxTAr3aUxPmzMKfkDzfHnfe2izxLhzZp52Me

fdeVbuMhusD5BmS4RMK5hsQmjpd8ew3L17RD6WxHxb5KBhr91qVEakLDcPnBG7fCDKgJbG6ynKd8iZKjZHgn5Ve1vQh4az72SCEnkOhljc6mkvUZmg+63PXtedw9IJaXULeq5iMydmZkRTvZtXlQnxObOOACSHwzO3WQSWvruOz6R9mjGY oSyhsAbnEx3HEETwn89GyJMKtYAsBHsTgAJyKgOMPx3OYOvSPCQThOXDuIoLzYEL3HnUqx5P5PXrdquo

Restringir acessoEacute possiacutevel restringir totalmente o acesso ao servidor de nomes a uma rede ou a um host especiacutefico atraveacutes da opccedilatildeo allow-query

allow-query 1921680024

Essa opccedilatildeo pode ser definida tanto na seccedilatildeo options quanto numa entrada de zona Se defini-da em ambos prevaleceraacute para a zona as regras nela especificadas Podem ser especificados mais de um endereccedilo de rede ou host

Para restringir transferecircncias de zona entre servidores ndash ou atraveacutes de comandos como dig e nslookup pode ser utilizada a opccedilatildeo allow-transfer na seccedilatildeo options

allow-transfer 19216802

Como para a opccedilatildeo allow-query mais de um endereccedilo podem ser especificados separados por ldquordquo

Consideraccedilotildees sobre o toacutepicoEste eacute outro toacutepico muito abor-dado na prova Sobretudo co-nheccedila muito bem o formato do arquivo namedconf e os arquivos de zona

Comandos relacionados como rndc dig e host tambeacutem seratildeo abordados

copy Linux New Media do Brasil Editora Ltda

59Linux Magazine 42 | Maio de 2008

AN

AacuteLIS

E

O SpagoBI oferece um pacote de BI completo e de Coacutedigo Aberto

Negoacutecio inteligenteO ramo da Business Intelligence conta com poderosas ferramentas e o SpagoBI se destaca entre as alternativas livres por sua modularidade e consequumlente flexibilidadepor Miguel Koren OrsquoBrien de Lacy

A praacutetica de BI (Business In-telligence) eacute tradicionalmente associada a bancos de dados

enormes em que as aacutereas de mar-keting das empresas tentam descobrir padrotildees de preferecircncias dos clientes usando consultas padronizadas Esses bancos de dados comumente conhe-cidos como data warehouses ou data mart satildeo formados por informaccedilotildees vindas dos mais diversos sistemas da empresa Um data warehouse eacute o repositoacuterio eletrocircnico de informa-ccedilotildees armazenadas da empresa Um data mart eacute um subconjunto de in-formaccedilotildees geralmente focadas em alguma necessidade especiacutefica Um exemplo poderia ser o data mart de informaccedilotildees de produccedilatildeo etc No Brasil temos o costume de usar o termo DW quando nos referimos a um data mart Outra aceitaccedilatildeo comumente encontrada no mer-cado considera sistemas BI como geradores de relatoacuterios diminuindo sua utilidade

Para nivelarmos o conhecimento da mateacuteria podemos convencionar que BI se refere agrave praacutetica de procu-rar armazenar e analisar a informa-ccedilatildeo apresentando em seguida os resultados necessaacuterios para tomar decisotildees fundamentadas e corretas Os sistemas de BI satildeo aplicativos ou ferramentas que suportam e permi-tem essas atividades necessariamente orientados pelos dados

Eacute importante lembrar que sem conhecimento do negoacutecio ou seja das necessidades de informaccedilatildeo e das decisotildees que precisam ser tomadas natildeo existe a possibilidade de prati-car BI Os sistemas de BI satildeo apenas facilitadores

O uso original de BI e as dificul-dades em implementar as soluccedilotildees fizeram com que o segmento atuasse como um espelho do passado para mostrar agrave empresa onde exatamente ela cometeu erros O que se deseja atualmente eacute um sistema de posi-cionamento que mostre onde a em-presa estaacute e como deve evoluir para chegar ao destino pretendido

Os sistemas BI devem mostrar informaccedilatildeo histoacuterica atual e visotildees preditivas O poder analiacutetico e a na-

vegaccedilatildeo pelas informaccedilotildees formam o atual potencial desses sistemas A visatildeo eacute poder obter os benefiacutecios de BI em qualquer lugar e qualquer momento O objetivo que precisa ser satisfeito hoje eacute o monitoramento de diversos indicadores para diversas aacutereas e consolidados para a empresa com o objetivo de aplicar o Geren-ciamento de Performance do Negoacutecio (BPM ndash Business Performance Ma-nagement nesse caso) Tambeacutem eacute interessante suportar um novo termo BI operacional que integra as in-formaccedilotildees analisadas pelo BI tradi-cional (em visatildeo de piracircmide satildeo o BI estrateacutegico e o BI taacutetico) com necessidades operacionais

A IDC publicou um estudo em 2006 que mostra um crescimento anu-

Figura 1 Modelo estrutural de funccedilotildees do SpagoBI

ramzi hashisho ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

60 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

al de 10 em soluccedilotildees BI entre 2005 e 2010 Diversas fontes citam o valor que o BI representa para as empresas e indicam que essa aplicaccedilatildeo comeccedila a fazer parte das soluccedilotildees de negoacutecio e natildeo simplesmente um aplicativo da aacuterea de marketing comprado e instalado por acaso Agrave medida que o mercado olha para os sistemas BI como criacuteticos para a gestatildeo as em-presas fornecedoras dessa tecnologia estatildeo se fundindo resultando em me-nos opccedilotildees para os clientes Algumas aquisiccedilotildees recentes em 2007 satildeo a compra da Hyperion pela Oracle[1] da Business Objects pela SAP[2] e da Cognos pela IBM[3]

Ao mesmo tempo que o mercado de sistemas comerciais estaacute se consoli-

dando aparecem siste-mas de BI licenciados como Software Livre o que aumenta o nuacute-mero de opccedilotildees para os clientes Essa modali-dade de licenciamento vem ao encontro das necessidades de imple-mentaccedilatildeo de BI para todos os funcionaacuterios da empresa pois pelo fato de natildeo existir cus-to de licenciamento eles podem ser usados por todos A empresa Ventana Research[4]

publicou um estudo sobre softwa-res de BI livres em 2006 que mostra que 48 das empresas entrevistadas indicaram o fator de custo como o mais importante na seleccedilatildeo de uma soluccedilatildeo de coacutedigo aberto Adicional-mente 24 dos usuaacuterios individuais entrevistados nesse estudo disseram que o uso de sistemas BI ajuda a aten-der melhor as necessidades pessoais de informaccedilatildeo e decisatildeo que devem fazer no dia-a-dia nas empresas

Natildeo existe uma variedade muito grande de sistemas BI de Coacutedigo Aberto que possam ser chamados de completos Devido agrave diversidade de componentes de um pacote de BI tais como geradores de relatoacuterios

anaacutelise de dados em cubos OLAP (on-line analytic processing)

mineraccedilatildeo de da-dos e

indicadores e pai-neacuteis de controle (dashboards)

entre outros muitos sistemas que atendem somente a uma ou poucas dessas aacutereas es-tatildeo classificados como sistemas BI Tambeacutem

eacute perceptiacutevel o fato de que os siste-mas BI completos de Coacutedigo Aberto contam com suporte oficial de uma empresa seja atuante no mercado BI ou profundamente envolvida com o Software Livre em geral

Caracteriacutesticas e tecnologiaO SpagoBI[5] eacute um sistema que satisfaz as condiccedilotildees para ser usa-do corporativamente atendendo a grande parte das necessidades de informaccedilatildeo relatadas acima Ele estaacute agrupado sob o conceito do Spago World que tem os seguintes obje-tivos gerais fornecer uma soluccedilatildeo livre poder ser usado em ambientes

corporativos facilitar a incorporaccedilatildeo de outras

tecnologias para formar um pa-cote de componentes variados

enfocar o desenvolvimento de soluccedilotildees

formar uma comunidade e contar com serviccedilos de suporte

O SpagoBI eacute membro do con-soacutercio OW2[6] suportado prin-cipalmente pela Bull[7] e pela France Telecom[8] O sistema foi desenvolvido como um framework para aplicativos web em Java para atender a projetos internos Em 2004 o ambiente foi completado e liberado sob a GPL no Source-Forge e posteriormente hospedado no ObjectWeb hoje OW2

O sistema hoje estaacute sob a li-cenccedila LGPL e tem tambeacutem a vantagem de ser verdadeiramente livre devido ao modelo de negoacutecio aplicado O SpagoBI natildeo oferece qualquer restriccedilatildeo ao uso e natildeo existem versotildees comerciais mais completas como eacute frequumlente em outros aplicativos de negoacutecio de Coacutedigo Aberto

Em 2007 foram liberadas algu-mas outras soluccedilotildees do Spago World Spago4Q (indicadores e meacutetricas de

Figura 2 Modelo estrutural do SpagoBI

Figura 3 Tela inicial do aplicativo analiacutetico

copy Linux New Media do Brasil Editora Ltda

61

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

qualidade no processo de desenvol-vimento de software) e Spagic (pla-taforma de integraccedilatildeo de sistemas utilizando SOA e BPM ndash Business Process Management nesse caso)

ComponentesO SpagoBI possui seis componentes principais servidor SpagoBI Spago-BI Studio SpagoBI SDK SpagoBI Meta e SpagoBI Applications

O servidor SpagoBI compreende o nuacutecleo para consultas pelo aplica-tivo aleacutem de apresentar o modelo analiacutetico do sistema Ele oferece os seguintes serviccedilos interface com o usuaacuterio intuiti-

va tipo rich client configuraccedilatildeo de fontes de dados geraccedilatildeo livre de consultas ao

sistema para anaacutelise assinaturas para receber informa-

ccedilatildeo perioacutedica e notificaccedilotildees aacutereas (pastas) para uso pessoal salvar importar e exportar as

configuraccedilotildees paacutegina individual (do tipo

MeuBI) integraccedilatildeo com mecanismos de vi-

sualizaccedilatildeo (PALO para Excel[9] e JPALO para Web[10])

alertas e notificaccedilotildees motor de busca acesso a consultas preacute-configu-

radas agrupadas por tiposO SpagoBI Studio por sua vez eacute

um ambiente em forma de plugin para o Eclipse[11] para desenvolver soluccedilotildees dentro do SpagoBI Ele oferece modeladores para todos os documentos analiacuteticos permite o upload para o servidor SpagoBI e possibilita a realizaccedilatildeo de testes aces-sando dados de testes ou reais

A SpagoBI SDK consiste em uma interface para acesso a serviccedilos de BI que possam ser integrados a outros aplicativos Oferece uma biblioteca de tags a proacutepria API de integraccedilatildeo e acesso a Web Services

Enquanto isso o SpagoBI Meta eacute um mecanismo de armazenamen-to de metadados (informaccedilatildeo que descreve os dados) Os metadados permitem que o usuaacuterio que faz a anaacutelise possa conhecer melhor a informaccedilatildeo tratada assim como a fonte dessa informaccedilatildeo

Por uacuteltimo as SpagoBI Appli-cations compreendem diversos aplicativos verticais Dentro desse conceito podemos mencionar o SpagoBI for AREAS utilizado para BI no campo da medicina AREAS eacute um sistema ERP italia-no voltado para empresas de me-

dicina que selecionou o SpagoBI como seu componente BI

As funcionalidades do sistema satildeo geraccedilatildeo de relatoacuterios com su-

porte a diversos mecanismos anaacutelise de dados em visotildees de

cubos OLAP paineacuteis de controle com indica-

dores (KPI) mineraccedilatildeo de dados visualizaccedilatildeo geograacutefica processos ETL (Extract Trans-

form Load) simulaccedilotildees what-if dossiecirc cataacutelogo de informaccedilotildees gerador de consultas usando

Figura 4 Menu de opccedilotildees e painel de controle

Figura 5 Exemplos de novos termocircmetros para formar paineacuteis

copy Linux New Media do Brasil Editora Ltda

62 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

mecanismos QbE (query by example) integraccedilatildeo de servi-

ccedilos BI ao Microsoft Office

colaboraccedilatildeoA figura 1 mostra o flu-

xo de informaccedilatildeo entre as diversas funccedilotildees da so-luccedilatildeo Todas as funccedilotildees satildeo acessadas somente pelo moacutedulo denomi-nado Modelo Compor-tamental que gerencia as permissotildees de acesso O sistema estaacute prepara-do para uso empresarial

considerando as seguintes carac-teriacutesticas restriccedilatildeo de

acesso agraves in-formaccedilotildees

single sign-on a publicaccedilatildeo

de elementos do sistema tais como definiccedilotildees de relatoacuterios eacute gerenciada den-tro do CMS (content mana-gement system) utilizando a nor-ma JSR 170

sistema escalaacutevel pois eacute escrito em Java e funciona dentro de um servidor de aplicaccedilatildeo

permite o uso de vaacuterios moto-res diferentes tanto de Coacutedigo Aberto quanto proprietaacuterios

eacute uma plataforma de integraccedilatildeo natildeo apenas um aplicativo

A figura 2 mostra a arquitetura do SpagoBI

Uma limitaccedilatildeo presente com frequumlecircncia em sistemas BI de Coacutedi-go Aberto eacute o fato de serem apenas ferramentas para construir a soluccedilatildeo sem um aplicativo pronto para ser utilizado plenamente O SpagoBI se destaca por apresentar tambeacutem

um aplicativo para o usuaacuterio de BI Esse aplicativo eacute acessado de dentro do ambiente web oferecido por outro componente OW2 a Exo Platform[12] que tem a possibilidade de rodar o aplicativo dentro de sua arquitetura de virtualizaccedilatildeo da aacuterea de trabalho o WebOS[13] Poreacutem adicionalmente agrave eXo Platform o SpagoBI estaacute cer-tificado para rodar dentro do portal Liferay[14] muito conhecido e uti-lizado em ambientes de arquitetura Java O CMS JSR 170 tambeacutem eacute for-necido pela eXo Platform

DiferenciaisUm diferencial muito importante do SpagoBI eacute ser uma plataforma de integraccedilatildeo para diversas ferramentas de BI Como consequumlecircncia para ob-tenccedilatildeo de um aplicativo completo devem ser instalados os diversos me-canismos individuais do SpagoBI

O sistema eacute completamente desen-volvido em Java com operaccedilatildeo pelo navegador web para uso e consultas Certos componentes satildeo utilizados em ambiente graacutefico ndash e natildeo web ndash como o mecanismo ETL Entre os componentes agrupados pelo SpagoBI podemos encontrar projetos de Coacutedigo Aberto bem conhecidos como Weka para mineraccedilatildeo de dados Mondrian e PALO para anaacutelise

OLAP de cubos multi-dimen-sionais

BIRT e Jasper Reports para ge-raccedilatildeo de relatoacuterios

Talend para processos ETL Lazslo para paineacuteis de controle

e indicadores

OperaccedilatildeoPrimeiramente o aplicativo deve ser acessado por meio do navegador web O mecanismo de seguranccedila determi-na as permissotildees de acesso do usuaacuterio no processo de login (figura 3)

Apoacutes o login o usuaacuterio tem agrave dis-posiccedilatildeo a tela inicial em que pode

Figura 6 Tela com a visatildeo geograacutefica dos dados

Figura 7 Interface de acesso a BI fornecida pelo WebOS

Figura 8 Seleccedilatildeo de relatoacuterios no navegador BI

copy Linux New Media do Brasil Editora Ltda

63

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

selecionar as operaccedilotildees a efetuar A figura 4 exibe o painel de controle com indicadores de desempenho

Eacute possiacutevel substituir os indicadores visuais da figura 4 por outros como os da figura 5 particularmente interes-santes para o usuaacuterio por mudarem de posiccedilatildeo dinamicamente pelo acesso regular aos dados que representam O painel portanto natildeo conteacutem ape-nas informaccedilotildees estaacuteticas

Para gerar uma nova consulta o usuaacuterio pode usar a funcionalidade QbE (query by example) que exibe as tabelas que podem ser consulta-das e para cada uma os dados que podem ser selecionados

Com as consultas definidas tan-to diretamente em bancos de dados quanto em cubos para anaacutelise OLAP pode ser configurada uma tela de con-sulta geograacutefica conforme mostrado na figura 6 Selecionando aacutereas da fi-gura o usuaacuterio seraacute levado a telas de consulta dos detalhes do item

Usando as possibilidades do We-bOS eacute possiacutevel definir telas BI mais sofisticadas conforme mostra a figura 7 Poreacutem caso a consulta requerida seja frequumlente talvez jaacute esteja disponiacutevel para consulta imediata pelo navegador de consultas do sistema (figura 8)

A interface graacutefica do aplicativo web permite que o usuaacuterio agrupe di-ferentes relatoacuterios e visotildees em conjun-tos denominados dossiecircs Cada rela-

toacuterio ou objeto BI em geral permite que o usuaacuterio faccedila anotaccedilotildees Assim pode ser delegada a funccedilatildeo de pre-parar por exem-plo um dossiecirc de status de projeto a usuaacuterios de dife-rentes aacutereas que possam preparar o material e re-gistrar questotildees relevantes para a anaacutelise final Essa

eacute a base das possibilidades colabora-tivas do sistema

Os relatoacuterios podem ser salvos em diferentes formatos atualmen-te limitados a HTML PDF XLS CSV XML TXT e JPG

A figura 9 mostra um exemplo de tela com o editor de notas aberto

ConclusatildeoFazer uso eficiente e produtivo de um pacote de BI eacute uma meta nobre e difiacutecil de atingir A forma de implementar o SpagoBI e a possibilidade de integraccedilatildeo de motores individuais de diferentes fa-bricantes permite que o uso do SpagoBI comece pouco difundido e aumente conforme as necessidades

A implementaccedilatildeo do SpagoBI considera ter resultados bons mesmo que parciais algo muito importante para o projeto de implementaccedilatildeo O SpagoBI permite que a empresa inicie por exemplo apenas com a necessidade de um termocircmetro que mostre em forma de painel de con-trole a quantidade de peccedilas vendidas por semana

O estudo da Ventana Research mencionado anteriormente mos-tra que as empresas entrevistadas consideram que os pacotes de BI de Coacutedigo Aberto tecircm suficientes caracteriacutesticas para serem usados Esse eacute o caso do SpagoBI o clien-te que resolver iniciar um projeto

de BI com ele natildeo sentiraacute falta de funcionalidades para aspectos fun-damentais de BI Destacamos que para uma implementaccedilatildeo bem sucedida eacute muito importante dar passos firmes sustentados com um planejamento adequado

Mais informaccedilotildees

[1] Aquisiccedilatildeo da Hyperion pela Oracle httpwwworaclecomcorporatepress2007_marhyperionhtml

[2] Aquisiccedilatildeo da Business Objects pela SAP httpwwwbusinessobjectscomcompanysap

[3] Aquisiccedilatildeo da Cognos pela IBM httpwwwcognoscomnewsreleases20071112html

[4] Ventana Research httpwwwventanaresearchcom

[5] SpagoBI httpspagobiengit

[6] Consoacutercio OW2 httpwwwow2org

[7] Bull httpwwwbullcombr

[8] France Telecom httpwwwfrancetelecomcom

[9] PALO httpwwwjedoxcom

[10] JPALO httpwwwjpalocom

[11] Eclipse httpwwweclipseorg

[12] eXo Platform httpwikiexoplatformcomxwikibinviewMain

[13] WebOS httpwikiexoplatformcomxwikibinviewMainWebOS+concept

[14] Liferay httpwwwliferaycom

Figura 9 Relatoacuterio graacutefico mostrando o editor de notas

copy Linux New Media do Brasil Editora Ltda

64

AN

AacuteLIS

E

httpwwwlinuxmagazinecombr

DVD do assinante Librix 3

Para conquistar o puacuteblicoEm sua versatildeo 30 o Librix da Itautec atinge a maturidade para ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientespor Pablo Hess

Distribuiccedilotildees genuinamente nacionais de grande sucesso jaacute foram numerosas e muito

presentes nas maacutequinas brasileiras Atualmente no entanto satildeo raras especialmente apoacutes a meteoacuterica as-cenccedilatildeo do Ubuntu entre os usuaacuterios de desktop assim como a ampla ado-

ccedilatildeo de distribuiccedilotildees mundialmente difundidas como Open Suse Fedora e Mandriva

A onda de novas distribuiccedilotildees nacio-nais no entanto promete mudar esse cenaacuterio Fortemente baseadas em dis-tribuiccedilotildees usadas em grande escala no exterior as distribuiccedilotildees que equipam os

computadores ven-didos sob o programa Computador Para Todos do Governo Federal geralmente realizam apenas al-gumas adaptaccedilotildees graacuteficas e de idiomas para tornarem o uso das maacutequinas mais praacutetico para nosso povo ndash com algumas exceccedilotildees eacute claro

Uma das mais gratas dentre exce-ccedilotildees estaacute sendo en-tregue junto com o DVD do assinante desta ediccedilatildeo da Li-nux Magazine O Librix 3 fabricado pela Itautec tem base no poderoso e flexiacutevel Gentoo ndash conhecido espe-cialmente entre os usuaacuterios avanccedilados de Linux O valor do Librix no entanto reside justamente em seu sucesso na oferta de inuacutemeras vantagens a uma

ampla gama de usuaacuterios Enquanto os mais iacutentimos do sistema do pinguumlim tecircm agrave disposiccedilatildeo os flexiacuteveis utilitaacuterios de linha de comando do Gentoo os usuaacuterios inexperientes que iniciam seu aprendizado em Linux com a dis-tribuiccedilatildeo da Itautec desfrutam de um agradaacutevel e organizado ndash aleacutem de atra-ente claro ndash ambiente KDE

BelezaA aacuterea de trabalho do Librix (figura 1) traz os principais iacutecones que o usuaacuterio iniciante espera encontrar aleacutem da Pasta do Usuaacuterio pode-se acessar o navegador Firefox o pacote de escritoacute-rio BrOfficeorg o Sistema Konqueror (acessando a URI system e exibindo locais de rede e miacutedias externas ndash figura 2) e a lixeira

E jaacute comeccedilam as inovaccedilotildees O tema adotado por padratildeo como mostra a fi-gura 2 eacute colorido e elegante capaz de agradar todos os tipos de usuaacuterios ndash uma constante nessa versatildeo da distribuiccedilatildeo jaacute podemos adiantar Os efeitos graacuteficos do desktop fornecidos pelo gerenciador de janelas Compiz e com ornamentos do Emerald vecircm desabilitados mas um iacutecone na barra de tarefas (figura 3) permite sua ativaccedilatildeo e configura-ccedilatildeo baacutesica com apenas dois cliques do mouse ou a alteraccedilatildeo de opccedilotildees mais avanccediladas mediante o acionamento de utilitaacuterios completos

Ao ser ativado o Compiz a con-figuraccedilatildeo-padratildeo do Librix 3 utiliza todos os recursos disponiacuteveis geral-mente em modo aleatoacuterio Embora isso possa ser impressionante para fins de demonstraccedilatildeo os usuaacuterios

Figura 1 A aacuterea de trabalho do Librix 3 traz os iacutecones mais impor-tantes e um visual muito atraente

Figura 2 O navegador do sistema exibe dispositivos de armazena-mento externos e remotos

copy Linux New Media do Brasil Editora Ltda

65

| ANAacuteLISEDVD do assinante

Linux Magazine 42 | Maio de 2008

podem se cansar rapidamente desse comportamento exagerado

O menu trazido pela Itautec (figura 4) eacute outro aspecto novo nessa versatildeo da distribuiccedilatildeo Seu comportamen-to diferente do presente nas demais distribuiccedilotildees Linux da atualidade no entanto pode ser um fator negativo especialmente para os usuaacuterios inex-perientes ndash felizmente desativaacute-lo eacute tatildeo faacutecil quanto ativar os efeitos 3D exigindo apenas um clique com o botatildeo direito sobre o botatildeo Menu e sua configuraccedilatildeo

PoderO sistema Gentoo que vive sob o Librix eacute o velho conhecido dos obcecados por personalizaccedilatildeo Utilizando um mirror da distribuiccedilatildeo padratildeo os pacotes que diferenciam essa distribuiccedilatildeo de sua ldquoprogenitorardquo residem nos overlays (re-positoacuterios alternativos de pacotes) locais em usrlocalportage e usrlocalportagexeffects Isso eacute suficiente para fornecer ao Librix o pacote de escritoacuterio BrOfficeorg (ausente no Gentoo) e o gerenciador graacutefico de pacotes Tutoo Package Manager (figura 5) aleacutem de alguns outros softwares que englobam desde moacutedulos para a linguagem Python ateacute as leves particularidades graacuteficas do sistema da Itautec

Mesmo com todas essas facilida-des o gerenciamento do sistema pode ser feito inteiramente pela linha de comando com os poderosos emer-ge eselect equery e companhia A

Itautec natildeo utiliza pacotes binaacuterios ou seja o sistema compila cada um dos pa-cotes instalados no sistema salvo importantes exceccedilotildees como o BrOfficeorg ndash cuja compilaccedilatildeo levaria vaacuterias horas Apesar de tornar a instalaccedilatildeo de novos softwa-res significativamente mais lenta que distribuiccedilotildees com pacotes DEB RPM ou tgz essa estra-teacutegia garante a possibilidade de per-sonalizaccedilatildeo por meio das flags USE responsaacuteveis por ativar ou desativar as opccedilotildees de compilaccedilatildeo de cada pacote que compotildee o sistema Aleacutem disso garante a constante atualizaccedilatildeo dos pacotes satisfazendo dependecircncias com facilidade e anulando as restri-ccedilotildees de versotildees de bibliotecas

PraticidadeNatildeo haacute como negar o puacuteblico-alvo dessa distribuiccedilatildeo eacute o usuaacuterio iniciante que estaacute travando seu primeiro contato com o Linux Nesse sentido um im-portante aspecto do sistema eacute incluir ldquode faacutebricardquo softwares que supram as necessidades de quem jaacute tem costume com algum sistema Windowsreg

O Librix jaacute traz os codecs de aacuteudio e viacutedeo proprietaacuterios da Microsoft (WMA e WMV satildeo seus principais represen-tantes) e eacute capaz de reproduzir DVDs em seu reprodutor multimiacutedia Kaffeine Os usuaacuterios do iTunes da Apple tam-beacutem podem evitar a saudade usando

o amigaacutevel Amarok Softwares raramente incluiacutedos em outras distribuiccedilotildees como o Skype e o geren-ciador de downloads Downloader for X por exemplo tam-beacutem vecircm instalados mas falta um utilitaacute-rio de configuraccedilatildeo de conexotildees PPPoE a mais comum em serviccedilos ADSL

ConclusotildeesA Itautec vem me-lhorando seu Librix a cada nova versatildeo Com facilidades im-portantes voltadas aos novos usuaacuterios Linux a distribuiccedilatildeo se torna uma al-ternativa interessante para os usuaacuterios que temem deixar sua zona de con-forto em relaccedilatildeo ao comportamento de seu desktop

O gerenciamento de pacotes agora feito pelo TPM finalmente alcanccedilou o niacutevel de maturidade exigido para satisfa-zer as necessidades do puacuteblico iniciante ndash principalmente a facilidade de uso e compreensatildeo ndash ainda assim preservando o poder do Portage ldquosob o capocircrdquo

O visual e o comportamento do am-biente desktop fazem alusatildeo agraves atuais versotildees do Windows (XP e Vista) o que certamente contribui para a que-da de uma importante barreira para a adoccedilatildeo dessa distribuiccedilatildeo no programa Computador Para Todos

Figura 3 Ativar e desativar os efeitos 3D na aacuterea de trabalho do Librix eacute muito praacutetico

Figura 4 O menu KBFX vem ativado por padratildeo e mostra seme-lhanccedilas com o de diferentes versotildees do Windows

Figura 5 O Tutoo Package Manager livra o usuaacuterio de adquirir intimidade com o comando emerge

copy Linux New Media do Brasil Editora Ltda

66 httpwwwlinuxmagazinecombr

Manipulando maacutequinas com o Puppet

MarioneteAprenda a economizar tempo e agilize a administraccedilatildeo de sistemas com ajuda do Puppet uma ferramenta de gerenciamento e configuraccedilatildeo centralizadospor Juliet Kemp

O Puppet eacute um sistema centra-lizado de gerenciamento de configuraccedilatildeo que usa uma

linguagem de especificaccedilatildeo multiplata-forma Para usaacute-lo executa-se um ser-vidor Puppet central ndash o puppetmaster ndash e os daemons do programa em todos os computadores que devem ser admi-nistrados As opccedilotildees de configuraccedilatildeo para todas as maacutequinas-cliente satildeo es-pecificadas no PuppetMaster Depois as alteraccedilotildees nas configuraccedilotildees satildeo propagadas a partir do PuppetMaster para os clientes adequados

O Puppet permite o gerenciamento de arquivos (dono modo conteuacutedo e existecircncia) usuaacuterios grupos pa-cotes e serviccedilos a partir de um local central Pode-se rodar comandos ou scripts e tambeacutem eacute possiacutevel gerenciar crontabs montagem de sistemas de arquivos e configuraccedilotildees de rede

Cada item gerenciado eacute chamado de recurso e os recursos satildeo categori-zados em tipos (por exemplo arquivo pacote serviccedilo cron) O Puppet estaacute em intenso desenvolvimento receben-do novos tipos regularmente ndash pode-se ateacute criar tipos personalizados

Por que usaacute-loOs trecircs principais motivos para usar o Puppet satildeo 1 O programa manteacutem um regis-

tro da configuraccedilatildeo do cliente Se um sistema-cliente morrer eacute possiacutevel gerar uma configura-ccedilatildeo idecircntica num novo sistema com base na informaccedilatildeo arma-zenada no Puppetmaster

2 Se houver mais de uma maacutequi-na eacute possiacutevel instalaacute-las de forma idecircntica ou usar o mesmo siste-ma-base e aplicar as modificaccedilotildees para clientes individuais

3 O conjunto de tipos do Puppet facilita o gerenciamento de muacuteltiplos sistemas a partir de um local uacutenico

Outra vantagem do Puppet eacute que ele funciona em conjunto com uma ferramenta chamada Facter Ela define variaacuteveis especiacuteficas em cada maacutequina (como nome da maacutequina endereccedilo IP e sistema operacional) automatica-mente permitindo um ajuste fino de configuraccedilotildees especiacuteficas em clientes individuais sem perder os benefiacutecios de uma configuraccedilatildeo comum

Instalaccedilatildeo e configuraccedilatildeoO coacutedigo-fonte do Puppet estaacute dispo-niacutevel no site do projeto[1] e seus pa-cotes estatildeo presentes nos repositoacuterios de vaacuterias distribuiccedilotildees Linux

O principal arquivo de configuraccedilatildeo eacute etcpuppetpuppetmasterconf com uma estrutura bem clara e simples

[puppetmasterd] Assegure-se de que todas as mensagens de log sejam enviadas ao di- retorio correto Ele deve ser gravavel pelo usuario puppetlogdir=varlogpuppetvardir=varlibpuppetrundir=varrun

Para guardar tambeacutem o conteuacutedo dos arquivos seraacute necessaacuterio uma con-figuraccedilatildeo de servidor de arquivos em etcpuppetfileserverconf O coacutedigo mostrado a seguir exibe o caminho para o armazenamento de arquivos no puppetmaster e permite o acesso a todas as maacutequinas em exemplocom

[files] path etcpuppetfiles allow exemplocom deny ruimexemplocom allow 1921680024

Aleacutem disso tambeacutem eacute possiacutevel ba-nir domiacutenios ou maacutequinas especiacuteficos bem como especificar por endereccedilo IP caso seja preferiacutevel Para criar os usuaacuterios do Puppet que o daemon utiliza deve-se usar a opccedilatildeo mkusers ao executar o daemon puppetmaster pela primeira vez

Como ainda natildeo foram criadas as definiccedilotildees dos noacutes tambeacutem seraacute ne-cessaacuterio usar a opccedilatildeo --nonodes

usrbinpuppetmasterd --mkusers --nonodes

Receita baacutesicaCom a configuraccedilatildeo baacutesica jaacute feita vejamos como configurar o mani-festo do site e comeccedilar a gerenciar as configuraccedilotildees e outros tipos Por padratildeo o principal manifesto de site do Puppet fica em etcpuppetma-nifestssitepp Tudo nesse arquivo seraacute executado em todos os clientes Para comeccedilar podemos tentar colo-

RE

DE

S

dim

itris

pet

rid

is ndash

ww

ws

xch

u

copy Linux New Media do Brasil Editora Ltda

67

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

car algo numa receita faacutecil o arquivo sudoers eacute um bom candidato

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo440rdquo

Isso garante que o arquivo sudoers do cliente tenha essas propriedades

ClienteEm seguida eacute necessaacuterio iniciar o PuppetMaster e configurar um cliente para testes No cliente eacute necessaacuterio o pacote puppet Para definir o nome do servidor para um site deve-se in-cluir no arquivo etcpuppetpuppetdconf a linha

server = puppetserverexemplocom

Depois alterar os modos ou o dono do arquivo etcsudoers no cliente para que fiquem diferentes do es-pecificado no arquivo sitepp do PuppetMaster A seguir deve-se executar o cliente pela primeira vez com o comando

puppetd --waitforcert 60 --test

Os clientes satildeo autenticados por uma requisiccedilatildeo de certificado ao Pu-ppetMaster O cliente acusaraacute a falta de um certificado e em seguida faraacute uma pausa para que se possa ordenar que o PuppetMaster assine o certifi-cado do cliente O comando puppet-ca --list no PuppetMaster lista os clientes que aguardam sua assinatura Com puppetca --sign clienteexemplocom (novamente no PuppetMaster) o certificado seraacute assinado (puppetca --sign --all assinaraacute todos os certifica-dos que estatildeo aguardando) Apoacutes 60 segundos o cliente obteacutem o certificado assinado e eacute executado A opccedilatildeo test faz com que o cliente rode em modo verboso e apenas uma vez

Apoacutes terminar eacute importante verifi-car o arquivo etcsudoers o modo deve ser o mesmo especificado no Puppet-Master e natildeo o que foi alterado

Aleacutem de gerenciar atributos de arquivos o Puppet tambeacutem gerencia seu conteuacutedo atuando como servi-dor de arquivos Para isso primeiro eacute preciso criar um arquivo sudoers de exemplo e colocaacute-lo em etcpu-ppetfilessudoers

Em seguida edite novamente o arquivo sitepp para que a receita do sudoers fique semelhante a

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt 440 source =gt ldquopuppetpuppetserverexemplocomfilessudoersrdquo

Edite o arquivo no cliente para que ele fique diferente do con-teuacutedo acima e rode novamente o Puppet com o comando ppuppetd --test O conteuacutedo do arquivo seraacute alterado

O trecho abaixo tambeacutem mostra como usar um uacutenico contecirciner file para muacuteltiplos recursos de arquivo

file ldquostarrdquo ensure =gt link target =gt ldquosoft9starrdquo ldquotestdirrdquo ensure =gt directory

DependecircnciasOs recursos interagem uns com os outros Certos pacotes satildeo necessaacute-rios para determinados serviccedilos por exemplo ou talvez se queira reiniciar um serviccedilo quando um arquivo espe-ciacutefico for alterado O Puppet possui dependecircncias ndash notavelmente require

e subscribe ndash para especificar essas interaccedilotildees

O trecho abaixo usa o tipo service que pode ser usado para qualquer daemon que se queira deixar em execuccedilatildeo (no caso o Slapd)

service ldquoslapdrdquo ensure =gt running hasrestart =gt true require =gt Package[ldquoslapdrdquo] subscribe =gt [File[ldquoldapconfrdquo] File[ldquoetcldapschemardquo]]

A opccedilatildeo hasrestart informa ao Pu-ppet se ele deve reiniciar o serviccedilo com stopstart ou com restart A diretiva re-quire simplesmente fornece um rela-cionamento de ordem ela garante que o recurso referido ndash no caso o pacote slapd ndash estaraacute configurado antes deste serviccedilo Todos os tipos suportam isso

O item subscribe eacute uma depen-decircncia relativa Se os recursos espe-cificados forem alterados o item eacute atualizado Os tipos exec service e mount suportam isso

Note a forma como os recursos do Puppet satildeo especificados nesse contex-to com o nome do tipo comeccedilando com letra maiuacutescula e fornecendo o nome do recurso Aleacutem disso esses recursos precisam ser especificados em outros locais ou ocorreraacute um erro

O Puppet eacute capaz de gerenciar diversos tipos packages o Puppet interage

com a maioria dos principais sistemas de pacotes e pode garantir que programas espe-ciacuteficos estejam instalados o que eacute particularmente uacutetil ao instalar uma nova maacutequina

package ldquoslapdrdquo ensure =gt installed

exec executa comandos internos O comando subscribe eacute uacutetil nesse ponto Por exemplo um trecho

copy Linux New Media do Brasil Editora Ltda

68 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

que atualiza o exim4 quando sua configuraccedilatildeo eacute modificada

exec ldquoexim4-updaterdquo command =gt ldquousrsbinupdate-exim4confrdquo user =gt ldquorootrdquo subscribe =gt File[ldquoupdate-exim4rdquo] refreshonly =gt true

usuaacuterios e grupos esse tipo tem como objetivo gerenciar usuaacute-rios do sistema e natildeo usuaacuterios normais Eacute possiacutevel gerenciar o diretoacuterio home (por exemplo criaacute-lo) assim como outros atri-butos de usuaacuterio

user ldquomanagerrdquo ensure =gt present home =gt ldquolocalmanagerrdquo managehome =gt true gid =gt ldquosystemusersrdquo

cron gerencia cron jobs Um uso possiacutevel para esse recurso eacute reini-ciar o Puppet em clientes caso ele falhe como mostra o exem-plo 1 Embora esteja mostrado em muacuteltiplas linhas o coman-do tambeacutem pode ser usado em uma uacutenica A hora e o dia para execuccedilatildeo do cron job assim como o usuaacuterio a executar a ta-refa podem ser definidos como no trecho acima O comando eacute adicionado ao crontab do usuaacuterio correspondente

mount monta diretoacuterios para o en-sure Se o paracircmetro ensure estiver definido como present o sistema de arquivos estaraacute na tabela mas natildeo montado Se o paracircmetro estiver definido como mounted o sistema de arquivos seraacute adicio-nado agrave tabela e montado E se o paracircmetro estiver definido como absent o sistema de arquivos seraacute removido da tabela

Tambeacutem estatildeo disponiacuteveis vaacuterios atributos de rede maacutequinas in-terfaces listas de email aliases de email e chaves SSH

PadrotildeesEacute possiacutevel definir padrotildees para qual-quer recurso Por exemplo se a maio-ria dos arquivos de uma maacutequina pertencer ao usuaacuterio root e tiverem permissotildees 644 o seguinte trecho vai estabelecer esses valores como padratildeo para todos os arquivos

File owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo644rdquo

Para contornar esse padratildeo basta es-pecificar um valor diferente para qual-quer um desses paracircmetros num recurso especiacutefico Note que os padrotildees somente se aplicam a seu proacuteprio escopo (classe) e a qualquer classe abaixo dessa se for desejaacutevel aplicaacute-los globalmente eacute ne-cessaacuterio defini-los fora de todas as classes ndash por exemplo no arquivo sitepp

Organizaccedilatildeo do diretoacuterioO site do Puppet oferece sugestotildees de organizaccedilatildeo de arquivos e ma-nifestos Independente do sistema usado eacute importante certificar-se de que ele seja compreensiacutevel e facil-mente atualizaacutevel

Um exemplo seria

- Diretoacuterio principal do Puppet |- Arquivos |- Aplicativos |- Usuaacuterios |- Manifestos |- sitepp - Noacutes - diretoacuterio com manifestos de vaacuterios noacutes - confira a proacutexima seccedilatildeo - Classes - diretoacuterio com manifestos de vaacuterias classes dependendo do programa (aptpp apache2pp) |- Definiccedilotildees |- Modelos (templates)

Todos os subdiretoacuterios contecircm arquivos de classe (veja abaixo) e para incluiacute-los o arquivo sitepp fica semelhante a

import ldquoclassesrdquoimport ldquodefinicoesrdquoimport ldquonosrdquoimport ldquousuariosrdquo

NoacutesAteacute o momento consideramos somen-te a configuraccedilatildeo de uma uacutenica maacute-quina mas o Puppet realmente brilha quando se tem muacuteltiplas maacutequinas Se forem todas idecircnticas basta criar uma configuraccedilatildeo ndash a padratildeo

siteppdefault include sudo

Mas tambeacutem se pode ter uma confi-guraccedilatildeo diferente para cada maacutequina

Exemplo 1 Cron job para reiniciar o Puppet

01 cron restart-puppet02 command =gt lsquoif [ -e varrunpuppetdpid ] then ps uw -p `cat varrunpuppetdpid` | grep -q lsquo ruby usrsbinpuppetdrsquo03 || (rm varrunpuppetdpid etcinitdpuppet start) firsquo04 user =gt root05 minute =gt lsquo0rsquo06

copy Linux New Media do Brasil Editora Ltda

69

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

assim como criar configuraccedilotildees-base e depois herdaacute-las ou incluiacute-las na configuraccedilatildeo dos noacutes Por exemplo eacute possiacutevel criar uma configuraccedilatildeo baacute-sica para servidores diferente daquela para desktops e ambas podem herdar de uma base ou configuraccedilatildeo-padratildeo comum (exemplo 2)

As classes podem ser especifica-das num arquivo individual ou em um arquivo por classe recomenda-se a segunda forma para facilitar o gerenciamento

Facter modelos variaacuteveisUm aspecto uacutetil do Puppet eacute que ele vem com o Facter uma ferramenta que informa vaacuterios ldquofatosrdquo (facts em inglecircs daiacute o nome Facter) a respeito de uma maacutequina especiacutefica incluindo seu nome IP arquitetura sistema ope-racional chave SSH informaccedilotildees de processador e memoacuteria entre outros

Para uma lista completa dos fatos fornecidos por padratildeo basta digitar facter na linha de comando Eacute pos-siacutevel consultar esses fatos de den-tro do Puppet com $nome_do_fato Eles possuem dois usos importan-tes criar estruturas condicionais e usaacute-las em modelos

CondicionaisO Puppet possui trecircs tipos de con-dicionais 1 seletores satildeo usados dentro de

uma diretiva

package ldquokbr-clientsrdquo ensure =gt $operatingsystem ubuntu =gt absent debian =gt installed default = undef

Nesse trecho se o fato $opera-tingsystem estiver definido como

ubuntu o pacote natildeo estaraacute ins-talado se estiver como debian o pacote estaraacute instalado O padratildeo eacute natildeo definir o atributo

2 A diretiva case oferece uma forma de aplicar classes con-dicionalmente

case $operatingsystem ubuntu include ubuntu debian include debian default include basic

Nesse trecho a classe especiacute-fica a cada sistema operacio-nal eacute incluiacuteda dependendo

novamente do valor do fato $operatingsystem Eacute possiacutevel especificar muacuteltiplas condiccedilotildees entre viacutergulas

3 Tambeacutem existe uma estrutura ifelse mais simples

if $needexample file ldquousrlocalexemplordquo ensure =gt present else file ldquousrlocaltesterdquo ensure =gt present

Exemplo 2 Muacuteltiplas classes e heranccedila

01 class base 02 Varias coisas basicas03 include autofs04 include cron05 include puppet06 include ssh07 e assim por diante08 0910 class desktop inherits base 11 Tudo na classe lsquobasersquo serah automaticamente incluido aqui12 Depois tambem eh possivel13 include latex14 include gnome15 e assim por diante16 1718 class server inherits base 19 Novamente tudo da classe lsquobasersquo serah automaticamente incluido20 E depois outras coisas exclusivas de servidores21 include nfs22 e assim por diante23

Exemplo 3 iptableserb

01 filter02 INPUT DROP [00]03 FORWARD DROP [00]04 OUTPUT ACCEPT [00]05 -A INPUT -d 127000255000 -i lo -p tcp -j DROP06 -A INPUT -d lt= ipaddress gt -m state --state RELATEDESTABLISHED -j ACCEPT07 -A INPUT -i lo -j ACCEPT08 -A INPUT -s 10419815302552552550 -d lt= ipaddress gt -j ACCEPT09 -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j LOG --log-prefix ldquosshrdquo -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j ACCEPT10 COMMIT

copy Linux New Media do Brasil Editora Ltda

70 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

Atualmente eacute possiacutevel determinar apenas se uma dada variaacutevel estaacute de-finida sem distinguir entre valores es-peciacuteficos Para fazer isso eacute necessaacuterio usar as diretivas case ou selector

ModelosOs modelos usam a linguagem Ruby para inserir variaacuteveis num arquivo-fonte Em outras palavras eacute como fornecer um arquivo central que pode variar de uma maacutequina para outra

Um bom exemplo de uso de um fato num modelo eacute definir uma po-liacutetica de ipchains Por exemplo o ar-quivo iptableserb (ERB eacute a sintaxe de modelos do Ruby) mostrado no exemplo 3 utiliza o fato $ipaddress

Depois eacute possiacutevel fazer referecircncia a esse modelo

file ldquoiptables_configrdquo name =gt ldquoetcsysconfigiptablesrdquo content =gt template(ldquoetcpuppettemplatesiptableserbrdquo)

Note que enquanto os arquivos precisam da sintaxe puppetpu-ppetserverexemplocom os modelos natildeo precisam

Fatos personalizadosOs fatos-padratildeo estatildeo disponiacuteveis em todos os clientes automaticamente

Poreacutem caso se deseje criar fatos personalizados eacute interessante mantecirc-los no PuppetMaster e entatildeo confi-gurar os clientes para sincronizarem seus fatos com o servidor

Acrescente a seguinte seccedilatildeo ao arquivo etcpuppetfileserverconf no puppetmaster

[facts] path etcpuppetfacts allow exemplocom

e em cada cliente adicione a se-guinte linha ao arquivo etcpuppetpuppetdconf

factsync = true

Em seguida reinicie o PuppetMas-ter no servidor e o Puppet nos clientes Agora jaacute eacute possiacutevel colocar qualquer fato personalizado em etcpuppetfacts e propagaacute-lo Por exemplo para criar uma regra que defina o fato $home com a variaacutevel de ambiente $HOME basta criar o arquivo etcpuppetfactshomerb

Facteradd(ldquohomerdquo) do setcode do ENV[lsquoHOMErsquo] endend

Da proacutexima vez que o Puppet rodar nos clientes esse fato seraacute sin-

cronizado e entatildeo poderaacute ser usado em qualquer receita

Outras variaacuteveisVariaacuteveis tambeacutem satildeo uacuteteis em outras situaccedilotildees Uma variaacutevel definida no arquivo sitepp ficaraacute disponiacutevel para todos os outros manifestos e classes Caso haja um conjunto-padratildeo de usuaacuterios com permissatildeo para fazer login nos servidores e se quiser edi-tar o arquivo etcsshsshd_config de acordo o coacutedigo do exemplo 4 funcionaraacute muito bem

Configurar o servidor de arqui-vos por meio de uma variaacutevel tam-beacutem eacute uma boa ideacuteia se o servidor sofrer alteraccedilotildees natildeo seraacute neces-saacuterio editar cada arquivo que faz referecircncia ao Puppet

ConclusatildeoEssa breve apresentaccedilatildeo fornece somente um raacutepido panorama das possibilidades do Puppet As versotildees mais recentes do software permitem que se organize a configuraccedilatildeo em moacutedulos o que oferece ainda mais flexibilidade e reusabilidade Caso se use LDAP para armazenar infor-maccedilotildees de maacutequinas e usuaacuterios eacute possiacutevel tambeacutem obter as definiccedilotildees dos noacutes a partir desse recurso

Caso sejam necessaacuterias mais informa-ccedilotildees ou suporte o site do Puppet assim como seu wiki[2] e sua lista de emails[3] satildeo de grande ajuda Tenha nas matildeos o controle de suas maacutequinas

Mais informaccedilotildees

[1] Projeto Puppet httpreductivelabscomprojetspuppet

[2] Wiki do Puppet httpreductivelabscomtracpuppetwiki

[3] Lista do Puppet httpreductivelabscomtracpuppetwikiGettingHelpmailing-list

Exemplo 4 Uso de variaacuteveis no SSH

01 em sitepp02 $server_ssh_users = ldquoroot jkemp adminrdquo0304 em sshpp ou qualquer outro lugar a sua escolha05 file ldquosshd_configrdquo06 name =gt ldquoetcsshsshd_configrdquo07 allow_users =gt lsquoAllowUsers $server_ssh_usersrsquo08 template =gt ldquoetcpuppettemplatessshd_configerbrdquo09 1011 trecho relevante de sshd_configerb12 LoginGraceTime 60013 PermitRootLogin without-password14 StrictModes yes1516 lt= allow_users gt

copy Linux New Media do Brasil Editora Ltda

71Linux Magazine 42 | Maio de 2008

Firewall faacutecil com o Shorewall

Domando o fogoEacute verdade que firewalls devem ser administrados por especialistas Poreacutem ateacute esses profissionais podem se beneficiar de uma interface praacutetica para essa tarefapor Tarciacutesio Carvalho Espiacutenola

Montar um firewall para a proteccedilatildeo de um uacutenico servidor natildeo eacute tarefa das

mais simples Imagine montar um firewall para uma rede inteira que requer muito mais atenccedilatildeo e conhe-cimento tanto dos serviccedilos quanto das ferramentas utilizadas Qualquer descuido pode comprometer toda a seguranccedila da rede e a reputaccedilatildeo do seu administrador

No caso especiacutefico do Linux tra-balhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas principalmente para usuaacuterios novatos ou acostuma-dos apenas com cliques na interfa-ce graacutefica A criaccedilatildeo de regras mais elaboradas requer tantas opccedilotildees e paracircmetros ndash e em uma rede mais complexa teremos dezenas delas ndash que eacute faacutecil cometer erros

Natildeo estamos questionando a efi-caacutecia dessa poderosa ferramenta muito pelo contraacuterio o domiacutenio de seus comandos para uma utilizaccedilatildeo eficiente e segura em situaccedilotildees mais avanccediladas exige bastante experiecircncia por parte do administrador Pensan-do nisso Thomas M Eastep teve a brilhante ideacuteia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e

atarefado administrador de rede e o prolixo mas poderoso software Iptables o Shorewall[1]

A forma simples e intuitiva como satildeo desenvolvidas as regras no Shorewall facilita bastante a cria-ccedilatildeo e manutenccedilatildeo do firewall Na inicializaccedilatildeo do serviccedilo as regras definidas pelo administrador satildeo compiladas e convertidas em regras do Iptables que seraacute o responsaacutevel pelo firewall

Devido agrave sua compe-tecircncia o Shorewall per-mite tambeacutem que o admi-nistrador aprimore seus conhecimentos na opera-ccedilatildeo do Iptables estudan-do as regras criadas pelo programa a partir das ins-truccedilotildees passadas de forma graacutefica Quando o admi-nistrador adota a defini-ccedilatildeo graacutefica de regras pelo Shorewall geralmente aumenta sua capacidade de criar e gerenciar confi-guraccedilotildees mais complexas O poder da interface graacute-fica nesse caso estaacute em permitir a administraccedilatildeo de muacuteltiplas regras de forma facilitada

Para ilustrar a utilizaccedilatildeo do Sho-rewall mostraremos como configurar o firewall de uma rede normalmente utilizada em pequenas e meacutedias em-presas (figura 1) embora o Shorewall possa ser utilizado em situaccedilotildees bem mais complexas

Infra-estruturaEm nossa rede de exemplo usaremos servidores e estaccedilotildees Linux e Win-dowsreg para mostrar que os serviccedilos

SE

GU

RA

NCcedil

A

Figura 1 A rede utilizada neste artigo eacute bastante simples composta por uma DMZ uma rede local e o firewall conectando ambas agrave Internet

Ramon Gonzalez - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

72 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

apresentados natildeo de-pendem dos sistemas operacionais utilizados com exceccedilatildeo claro do servidor firewall que de-veraacute necessariamente usar Linux

Para fins de exemplo suponhamos que nossos 64 IPs pertencem agrave fai-xa 20016616119226 distribuiacutedos da se-guinte forma IP da rede 200

166161192 maacutescara 255255

255192

IPs utilizaacuteveis 200166161193 a 200166161254

IP broadcast 200166161255A figura 2 e a tabela 1 detalham os pa-

racircmetros da nossa rede de exemploEm seguida basta configurar o

servidor DHCP da rede local com os paracircmetros acima Na configuraccedilatildeo das regras do firewall consideraremos que o serviccedilo de DHCP seraacute oferecido pelo proacuteprio servidor firewall como veremos mais adiante mas a sua configuraccedilatildeo foge do escopo deste artigo

A DMZ (zona desmilitarizada) obviamente fica isolada da rede local Nela seratildeo conectados os servidores Observe que na figura 2 foi definido inclusive o endereccedilo IP da estaccedilatildeo re-mota que teraacute acesso a alguns serviccedilos nas estaccedilotildees da rede local

Note que dos 64 endereccedilos de que dispomos iremos utilizar apenas seis (um para a rede outro de broadcast um no roteador e trecircs nos servidores) e os 58 restantes seratildeo desperdiccedilados Isso eacute muito comum nos contratos com operadoras ao menos no Brasil Esse tipo de contrato tem ajudado a agravar a escassez de endereccedilos IP disponiacuteveis na Internet

InstalaccedilatildeoVamos agora instalar a ferramenta que seraacute utilizada na configuraccedilatildeo do firewall Antes de iniciar no entanto eacute importante lembrar que a versatildeo mais recente do Shorewall no momento da escrita deste artigo era a 408

O Shorewall funciona da seguinte maneira ao ser iniciado o programa as configuraccedilotildees definidas nos arquivos do diretoacuterio etcshorewall satildeo com-piladas e convertidas em um arquivo que contenha as regras para o Iptables Caso natildeo ocorram erros as regras seratildeo aplicadas e o firewall ativado Do con-traacuterio o motivo da falha seraacute mostrado e o firewall natildeo seraacute iniciado

A partir do lanccedilamento da versatildeo 40 foram disponibilizadas duas ver-sotildees de compiladores para as regras do Shorewall a versatildeo em script de shell

Tabela 1 Descriccedilatildeo da rede de exemplo

RoteadorInterface Ethernet 20016616125426

Servidor FirewallInterface eth0 20016616119326

Interface eth1 192168125424

Interface eth2 1000130 (interface da DMZ)

Gateway padratildeo 200166161254 (IP do roteador)

DNS 200166161193 (o servidor firewall tambeacutem serviraacute DNS)

Servidor de email (mailmeu_sitecombr)Interface eth0 20016616119426

Maacutescara 255255255192

Gateway padratildeo 200166161254

DNS 200166161193

Servidor Web (wwwmeu_sitecombr)Interface Ethernet 200166161254

DNS 200166161193

Rede localIP da rede 19216810

Maacutescara 2552552550

IPs utilizaacuteveis 19216811 a 254

Broadcast 1921681255

Gateway padratildeo 1921681254 (eth1 no servidor firewall)

DNS server 1921681254 (eth1 no servidor firewall)

Figura 2 Detalhes da estrutura da rede usada neste artigo

copy Linux New Media do Brasil Editora Ltda

73

| SEGURANCcedilAShorewall

Linux Magazine 42 | Maio de 2008

que eacute a mais antiga e provavelmen-te seraacute descontinuada nas proacuteximas versotildees e a versatildeo em Perl bem mais raacutepida mas que ainda natildeo estaacute totalmente funcional Apesar disso muitos administradores jaacute a utilizam em produccedilatildeo sem qualquer proble-ma por isso vamos usar essa nova teacutecnica neste artigo

Como o Shorewall estaacute disponiacutevel nos repositoacuterios de pacotes de todas as principais distribuiccedilotildees natildeo abor-daremos a compilaccedilatildeo do software a partir dos fontes

Apoacutes a instalaccedilatildeo os arquivos que iremos editar na configuraccedilatildeo do fi-rewall seratildeo colocados no diretoacuterio etcshorewall sendo eles

interfacesmasqpolicyproxyarprulesshorewallconfzones

Os pacotes para Debian e Ubun-tu no entanto deixam os arquivos de configuraccedilatildeo-padratildeo em usrsharedocshorewalldefault-con-fig Nesse caso basta copiaacute-los para etcshorewall Em seguida jaacute podemos iniciar a configuraccedilatildeo do nosso firewall

ZonasDefiniremos duas zonas para a montagem do firewall uma para o proacuteprio servidor firewall que controlaraacute todo o traacutefego entre as zonas e uma para cada rede a que ele estiver conectado A tabe-la 2 mostra como seratildeo definidas essas zonas

Todas as configuraccedilotildees de zonas no Shorewall deveratildeo ser feitas no arquivo etcshorewallzones O exemplo 1 ilustra como deve ficar esse arquivo em nossa configura-ccedilatildeo Basta ele para definir todas as zonas do firewall Observe que as zonas NET LOC e DMZ foram confi-

guradas com o tipo ipv4 pois isso eacute obrigatoacuterio Note tambeacutem que a zona FW foi definida como sendo o proacuteprio firewall Com o comando man shorewall-zones o administrador pode ler mais informaccedilotildees sobre esse arquivo de configuraccedilatildeo

InterfacesCada zona seraacute vinculada a uma in-terface de rede do servidor exceto a zona FW que representaraacute o proacuteprio servidor e natildeo estaraacute vinculada a ne-nhuma interface Logo deveremos ter trecircs interfaces em nosso servidor eth0 Interface vinculada agrave zona

NET Essa interface seraacute conec-tada diretamente ao roteador que liga a rede agrave Internet Em nosso exemplo eth0 receberaacute o IP 20016616119326

eth1 Interface vinculada agrave zona LOC Essa interface deveraacute ser conectada ao switch da rede lo-cal e seraacute configurada com o IP 192168125424 Eacute preciso confi-gurar tambeacutem o servidor DHCP da rede local para que ele envie esse endereccedilo como gateway agraves estaccedilotildees (em nosso exemplo esse serviccedilo seraacute executado no proacuteprio servidor firewall)

eth2 Interface vinculada agrave zona DMZ Essa interface tem uma par-ticularidade seu IP seraacute con-figurado apenas com o intuito

Exemplo 1 Arquivo de zonas

01 ZONE TYPE OPTIONS IN OUT02 OPTIONS OPTIONS03 fw firewall04 net ipv405 loc ipv406 dmz ipv407 08 Natildeo apagar esta uacuteltima linha

Tabela 2 Definiccedilatildeo das zonas

Nome da zona

Componentes Caracteriacutesticas

Zona FW O proacuteprio firewall Tem livre acesso agraves demais zonas mas o acesso a ela seraacute controlado de acordo com os serviccedilos disponibilizados para cada zona

Zona NET Internet Seraacute considerada hostil em nossas configuraccedilotildees Eacute importante ter muito cuidado com ela

Zona LOC Rede local Nesta zona estaratildeo conectadas as estaccedilotildees locais da empresa Seu acesso agraves demais zonas seraacute controlado de acordo com os serviccedilos permitidos para essa zona

Zona DMZ Servidores da empresa que proveratildeo serviccedilos agrave Internet e agrave rede local

Essa zona teraacute dois servidores um com Linux (mailmeu_sitecombr) executando ser-viccedilos de e-mail e o outro com Windows Server (wwwmeu_sitecombr) que hospedaraacute o site da empresa (ver figura 1)

copy Linux New Media do Brasil Editora Ltda

74 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

de ativaacute-la mas natildeo pertenceraacute a nenhuma rede de qualquer zona Nela configuraremos o IP 1000130 e vamos conectaacute-la ao mesmo switch no qual seratildeo co-nectados os servidores da DMZ

Natildeo seraacute necessaacuterio seguir o padratildeo acima para montar os seus proacuteprios firewalls no entanto eacute recomendaacute-vel fazecirc-lo Tambeacutem eacute possiacutevel usar aliases de interfaces (eth00 por

exemplo) se necessaacuterio Todas as configuraccedilotildees de interfaces no Sho-rewall deveratildeo ser feitas no arquivo etcshorewallinterfaces

O exemplo 2 mostra como deve ser feita essa configuraccedilatildeo Observe que esse caso natildeo configura a zona FW uma vez que ela natildeo estaraacute vinculada a nenhuma interface Aleacutem disso os endereccedilos broadcast foram configura-dos para serem detectados automatica-

mente Jaacute para a interface eth0 que teraacute IP estaacutetico foram definidas as opccedilotildees tcpflags routerfilter nosmurfs nor-cf1918 e logmartians

Eacute interessante consultar o manual do arquivo de configuraccedilatildeo de interfa-ces e descobrir a funccedilatildeo de cada uma dessas opccedilotildees (man shorewall-inter-faces) Elimine-as se necessaacuterio (natildeo recomendaacutevel) ou adicione outras de acordo com as suas necessidades

PoliacuteticasDefinidas as zonas e interfaces defi-niremos agora as poliacuteticas de acesso entre cada par de zonas As definiccedilotildees mostradas na tabela 3 seratildeo adotadas como padratildeo para qualquer requisiccedilatildeo que ocorra entre as zonas

Para reforccedilar a seguranccedila vamos definir por fim que todas as requi-siccedilotildees vindas de qualquer zona (all) com destino a qualquer zona (all) se-ratildeo bloqueadas e que esses bloqueios sejam registrados no log com a tag info Essa regra deveraacute ser a uacuteltima no arquivo de configuraccedilatildeo

Todas as configuraccedilotildees das poliacuteticas de acesso no Shorewall devem ser feitas no arquivo etcshorewallpolicy como mostra o exemplo 3 Note que a regra geral ou seja a que define a poliacutetica de qualquer pacote foi a uacuteltima a ser definida justamente para ser aplicada apenas se os pacotes natildeo se encaixarem a nenhuma outra regra Mais uma vez eacute importante consultar a paacutegina de ma-nual do programa (man shorewall-policy) para obter mais detalhes

Tabela 3 Poliacuteticas entre zonas

Zona Poliacutetica Explicaccedilatildeo

FW ACCEPT Requisiccedilotildees vindas da zona FW com destino agraves de-mais zonas (all) seratildeo permitidas e nada seraacute regis-trado no log

LOC REJECT Requisiccedilotildees vindas da zona LOC com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Uma res-posta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

NET DROP Requisiccedilotildees vindas da zona NET com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

DMZ DROP Requisiccedilotildees vindas da zona DMZ com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

Mais informaccedilotildees

[1] Shorewall httpwwwshorewallnet

Exemplo 3 Arquivo de poliacuteticas

01 SOURCE DEST POLICY LOG LIMITBURST02 LEVEL03 fw all ACCEPT04 loc all REJECT info05 net all DROP info06 dmz all DROP info07 08 THE FOLLOWING POLICY MUST BE LAST09 10 all all DROP info11 12 Natildeo apagar esta uacuteltima linha

Exemplo 2 Arquivo de interfaces

01 ZONE INTERFACE BROADCAST OPTIONS02 net eth0 detect tcpflagsroutefilternosmurfsnorfc1918logmartians03 loc eth1 detect04 dmz eth2 detect05 06 Natildeo apagar esta uacuteltima linha

Sobre o autorTarciacutesio Carvalho Espiacutenola eacute coordenador de TI do Instituto Centec onde vem traba-lhando na implementaccedilatildeo de soluccedilotildees livres nos servidores da empresa Em seu tempo livre ele ainda manteacutem o site Opccedilatildeo Linux (httpwwwopcaolinuxcombr)

copy Linux New Media do Brasil Editora Ltda

75Linux Magazine 42 | Maio de 2008

PR

OG

RA

MA

CcedilAtilde

O

Trabalhe com um repositoacuterio online de scripts PHP

TesouroProgramadores PHP podem economizar tempo e trabalho com o uso do trecho script ou classe perfeitos para usar em seus programaspor Kenneth Hess

Haacute dezenas de repositoacuterios gratuitos de scripts que per-mitem que se navegue e es-

colha os scripts PHP para seu proacuteprio uso A maioria desses sites possui vaacute-rias ofertas desde scripts simples ateacute aplicativos web completos incluindo conjuntos inteiros de software Este artigo descreve alguns dos sites mais importantes na busca de um script PHP preacute-fabricado

devshedcomO Dev Shed[1] eacute o avocirc das comunida-des de desenvolvedores com recursos compartilhados O site tem um pa-gerank de 8 no Google e conta com mais de 150 mil assinantes Agora par-te da empresa Ziff Davis o Dev Shed eacute a comunidade de desenvolvedores mais destacada sendo usada por pro-gramadores de vaacuterias linguagens e tecnologias O site principal do Dev Shed tem foco em artigos tutoriais e na proacutepria comunidade de desenvol-vimento Quem desejar apenas scripts seraacute redirecionado do site principal para o Scriptscom[2] ndash a biblioteca de coacutedigo do Dev Shed

No Scriptscom pode-se ver que a aacuterea de PHP eacute a mais numerosa do repositoacuterio Seus mais de 4 mil scripts colocam essa seccedilatildeo com quase o dobro da segunda coloca-da Perl Depois de selecionado o repositoacuterio PHP a ser usado satildeo mostradas mais de 60 categorias diferentes A maioria dos sites com

repositoacuterios de scripts possui listas se-melhantes de categorias

Alguns sites natildeo possuem qualquer controle de qualidade ou orientaccedilatildeo de envio para os scripts recebidos mas o Scriptcom emprega regras um tanto rigorosas As orientaccedilotildees de envio protegem os usuaacuterios de softwares maliciosos e outros scripts ou teacutecnicas danosos que possam pre-judicar um site ou atacar o navegador dos visitantes Cada script listado tem uma descriccedilatildeo completa da tarefa que executa uma nota um link para o site do autor e um preccedilo Nem todos os scripts satildeo gratuitos Na verdade alguns satildeo caros mas geralmente o autor oferece suporte atualizaccedilotildees e possivelmente outros serviccedilos (como hospedagem por exemplo) pelo pre-ccedilo listado Alguns scripts satildeo gratuitos para uso pessoal mas exigem uma taxa para uso comercial

phpbuildercomO PHP Builder[3] eacute 100 dedicado ao uso e desenvolvimento de scripts PHP Sua comunidade eacute ativa e gen-

til com novos usuaacuterios Aleacutem disso haacute um foacuterum Newbies em que eacute permitido fazer perguntas que jaacute tenham sido respondidas milhotildees de vezes sem medo de sofrer repre-saacutelias ndash embora seja recomendaacutevel fazer uma busca antes de perguntar Assim como a maioria dos sites de comunidade eacute necessaacuterio registrar-se (gratuitamente) e fazer login antes de postar ou participar O PHP Buil-der eacute um dos sites de comunidade mais profissionais e bem mantidos desta seleccedilatildeo

Sua biblioteca de coacutedigos eacute me-nor que a dos outros ndash com apenas umas poucas centenas de scripts ndash mas eacute comum encontrar trechos de coacutedigo nos foacuteruns que resolvem seus problemas Caso o programador natildeo esteja seguro de suas habilidades de programaccedilatildeo existe um foacuterum de criacutetica de coacutedigo (chamado Coding Critique) no qual eacute possiacutevel colar o coacutedigo em questatildeo em busca de criacuteticas correccedilotildees e melhorias A forccedila do PHP Builder natildeo estaacute em sua biblioteca de coacutedigo mas em sua

Figura 1 Inicie a instalaccedilatildeo a partir da tela do DaDaBIK

Sophie ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

76 httpwwwlinuxmagazinecombr

PROGRAMACcedilAtildeO | Repositoacuterio PHP

comunidade Para os que precisam de respostas esse eacute o lugar

weberdevcomO Weberdev[4] ndash uma presenccedila obrigatoacuteria no kit de ferramentas de PHP ndash tem foacuteruns coacutedigo links e tutoriais excelentes Se a necessida-de for resolver rapidamente algum aspecto de programaccedilatildeo em PHP o Weberdevcom eacute a opccedilatildeo Sua biblio-teca de coacutedigo eacute um pouco esquisita de navegar mas o mecanismo de busca eacute raacutepido e inteligente

phpclassesorgPara usar algum dos scripts do PHP Classes[5] eacute necessaacuterio se registrar e fazer login mas eacute uma felicidade fazecirc-lo O PHP

Classes conteacutem trechos de coacute-digo orientados a objetos que podem ser acrescentados a qual-quer coacutedigo Para usar as classes e scripts eacute preciso ter ao menos uma compreensatildeo baacutesica de teacutec-nicas de programaccedilatildeo orientada a objetos Felizmente a maioria dos autores das classes fornece documentaccedilatildeo e exemplos fun-cionais de seus coacutedigos na forma de paacuteginas PHP completas

Eacute possiacutevel ler os blogs dos au-tores pedir mais informaccedilotildees so-bre uma classe diretamente a um autor envolver-se nos foacuteruns em busca de perguntas e respostas ou simplesmente obter classes a par-tir do enorme repositoacuterio Muitas classes desse site ainda continu-

am funcionando mesmo depois de quatro anos em produccedilatildeo O PHP Classes deve ser incluiacutedo nos favoritos de quem quer que esteja agrave procura de um excelen-te recurso para scripts classes e trechos PHP

Esse site tambeacutem possui uma lista de emails que notifica os assinantes em relaccedilatildeo a novas classes quando satildeo adicionadas ao repositoacuterio ndash os emails incluem um resumo da clas-se sua classificaccedilatildeo e uma curta biografia do autor Novas classes satildeo acrescentadas todos os dias

phpnetO phpnet[6] eacute o site oficial da lin-guagem onde se origina todo o coacutedigo PHP gerado Apesar de natildeo possuir uma biblioteca de coacutedigo propriamente dita eacute possiacutevel encon-trar no site uma grande quantidade de coacutedigos

Se o visitante procurar qualquer funccedilatildeo ndash fwrite por exemplo ndash rece-beraacute a paacutegina que descreve a sintaxe e o uso dessa funccedilatildeo Mais abaixo na mesma paacutegina satildeo exibidos tre-chos de coacutedigo que demonstram a funccedilatildeo em accedilatildeo

advancescriptscomO oceano de banners e anuacutencios piscantes talvez seja a primeira ca-racteriacutestica a chamar a atenccedilatildeo dos visitantes do AdvanceScripts[7] Esse site tem muito a oferecer e merece ser navegado entatildeo natildeo se deixe assus-tar pela forma de suporte financeiro escolhida por eles O AdvanceScripts hospeda quase 6 mil scripts PHP em seu repositoacuterio

Assim como ocorre com os outros sites nem todos os scripts satildeo gratui-tos entatildeo eacute importante ter cuidado com as escolhas feitas

Baixe altere e useApenas para ilustrar as ofertas bai-xei um script de um desses sites e adaptei-o para meu proacuteprio uso Esse

Figura 2 Ao teacutermino da instalaccedilatildeo eacute exibido um resumo das mensagens de alerta e de instalaccedilatildeo

Figura 3 A paacutegina indexphp mostra informaccedilotildees da tabela

copy Linux New Media do Brasil Editora Ltda

77

| PROGRAMACcedilAtildeORepositoacuterio PHP

Linux Magazine 42 | Maio de 2008

exemplo raacutepido mostraraacute como eacute faacutecil implementar uma ferramenta a partir de uma biblioteca de coacutedigo Como meu trabalho envolve bancos de da-dos e PHP optei pelo foco em scripts relacionados a bancos de dados Na biblioteca do Scriptscom em PHP Scripts | Database Tools encontrei o DaDaBIK[8][9] (Databases Inter-face Kreator) cuja descriccedilatildeo oficial traduzida eacute ldquoum aplicativo PHP gratuito que permite criar facilmen-te uma interface de formulaacuterio web altamente personalizaacutevel para um banco de dados MySQL para buscar inserir atualizar e apagar registros basta especificar alguns paracircmetros de configuraccedilatildeordquo

Eacute interessante verificar a descriccedilatildeo do script antes de baixaacute-lo O script eacute pequeno (16 MB) bem documen-tado e livre (utiliza a GPL) Os re-quisitos miacutenimos do DaDaBIK satildeo PHP posterior agrave versatildeo 405 e um banco de dados (MySQL Oracle PostgreSQL ou MS SQL)

As etapas de instalaccedilatildeo satildeo seme-lhantes agraves de outros scripts da Inter-net Deve-se baixar e descompactar o pacote e depois procurar o arquivo documentationhtm que fornece as instruccedilotildees de instalaccedilatildeo Seguindo as instruccedilotildees renomeie o diretoacuterio program_files para dadabik e copie-o para o diretoacuterio webroot

Apoacutes abrir o arquivo includecon-figphp eacute preciso digitar os paracircme-tros mostrados na tabela 1 Depois de digitaacute-los e salvaacute-los abra um nave-gador e aponte-o para a paacutegina de instalaccedilatildeo do DaDaBIK httpwwwnome_do_sitecombrdadabikinstallphp (figura 1) Apoacutes clicar no botatildeo de instalaccedilatildeo e finalizar o processo seraacute exibida uma tela semelhante agrave figura 2 que mostra alertas e men-sagens da instalaccedilatildeo

Ao clicar no link no alto da paacutegina para sair da aacuterea de administraccedilatildeo o administrador seraacute redirecionado para a paacutegina indexphp onde veraacute a primeira tabela de banco de dados

(figura 3) As tabelas satildeo listadas em ordem alfabeacutetica na lista drop-down Nessa paacutegina eacute possiacutevel editar inse-rir apagar ou buscar registros

Como se pode ver o DaDaBIK eacute faacutecil de instalar e raacutepido para confi-gurar e usar O exemplo deste artigo teve sucesso devido agrave excelente do-cumentaccedilatildeo incluiacuteda na ferramen-ta Ao procurar numa biblioteca de coacutedigo eacute importante sempre esco-lher scripts classes e aplicativos com muita documentaccedilatildeo

Exceto no caso de programadores experientes que se sintam confor-taacuteveis ao analisar coacutedigo alheio eacute fundamental ter acesso a uma boa documentaccedilatildeo Raramente a docu-mentaccedilatildeo interna de um script (co-mentaacuterios no coacutedigo) explica com-pletamente seu comportamento

ResumoMuitos programadores pensam ser capazes de produzir todo o coacutedi-go de um aplicativo Usar trechos de coacutedigos e ideacuteias de outros pro-gramadores eacute uma oacutetima forma de melhorar as habilidades em programaccedilatildeo poreacutem o trabalho natildeo eacute feito simplesmente baixan-do-se um script ou trecho ndash ainda eacute necessaacuterio adaptar o coacutedigo ao ambiente no qual ele seraacute usado Frequumlentemente essa tarefa natildeo eacute

faacutecil Eacute interessante usar todos os recursos disponiacuteveis para conhecer outros profissionais ao longo do caminho e rapidamente tornar-se o tipo de programador que ajuda os outros

Mais informaccedilotildees

[1] PHP no Dev Shed httpwwwdevshedcomcbPHP

[2] Scriptscom httpwwwscriptscom

[3] PHP Builder httpwwwphpbuildercom

[4] Weberdev httpwwwweberdevcom

[5] PHP Classes httpwwwphpclassesorg

[6] PHPnet httpwwwphpnet

[7] Advance Scripts httpwwwadvancescriptscom

[8] DaDaBIK no Scriptscom httpwwwscriptscomphp-scriptsdatabase-toolsdadabik

[9] DaDaBIK httpwwwdadabikorg

Tabela 1 Paracircmetros do configphp

Paracircmetro Descriccedilatildeo$dbms_type Tipo do banco de dados (MySQL Postgres7 Postgres8

Mssql ou oci8po)

$host Nome do servidor de banco de dados (normalmente local-host)

db_name Nome do banco de dados a ser usado com o DaDaBIK

$user Conta de usuaacuterio do banco de dados que possa fazer SE-LECT INSERT DELETE e UPDATE nos registros do banco

$pass Senha do usuaacuterio no banco de dados

$site_url URL completa do DaDaBIK (httpwwwnome_do_sitecombrdadabik)

$site_path Caminho relativo do DaDaBIK (dadabik)

copy Linux New Media do Brasil Editora Ltda

78

SE

RV

ICcedilO

S

httpwwwlinuxmagazinecombr

Fornecedor de Hardware = 1 Redes e Telefonia PBX = 2 Integrador de Soluccedilotildees = 3

Literatura Editora = 4 Fornecedor de Software = 5

Consultoria Treinamento = 6

Linuxlocal

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

CearaacuteF13 Tecnologia Fortaleza Rua Coronel Solon 480 ndash Bairro de Faacutetima

Fortaleza - CE - CEP 60040-270 85 3252-3836 wwwf13combr

Espiacuterito SantoLinux Shopp Vila Velha Rua Satildeo Simatildeo (Correspondecircncia) 18 ndash CEP 29113-120 27 3082-0932 wwwlinuxshoppcombr

Megawork Consultoria e Sistemas

Vitoacuteria Rua Chapot Presvot 389 ndash Praia do Can-to ndash CEP 29055-410 sl 201 202

27 3315-2370 wwwmegaworkcombr

Spirit Linux Vitoacuteria Rua Marins Alvarino 150 ndash CEP 29047-660 27 3227-5543 wwwspiritlinuxcombr

Minas GeraisInstituto Online Belo Horizonte Av Bias Fortes 932 Sala 204 ndash CEP 30170-011 31 3224-7920 wwwinstitutoonlinecombr

Linux Place Belo Horizonte Rua do Ouro 136 Sala 301 ndash Serra ndash CEP 30220-000 31 3284-0575 corporatelinuxplacecombr

Microhard Belo Horizonte Rua Repuacuteblica da Argentina 520 ndash Sion ndash CEP 30315-490 31 3281-5522 wwwmicrohardcombr

TurboSite Belo Horizonte Rua Paraiacuteba 966 Sala 303 ndash Savassi ndash CEP 30130-141 0800 702-9004 wwwturbositecombr

ParanaacuteiSolve Curitiba Av Cacircndido de Abreu 526 Cj 1206B ndash CEP 80530-000 41 252-2977 wwwisolvecombr

Mandriva Conectiva Curitiba Rua Tocantins 89 ndash Cristo Rei ndash CEP 80050-430 41 3360-2600 wwwmandrivacombr

Telway Tecnologia Curitiba Rua Francisco Rocha 183071 41 3203-0375 wwwtelwaycombr

Rio de JaneiroNSI Training Rio de Janeiro Rua Arauacutejo Porto Alegre 71 4ordmandar Centro ndash CEP 20030-012 21 2220-7055 wwwnsicombr

Open IT Rio de Janeiro Rua do Mercado 34 Sl 402 ndash Centro ndash CEP 20010-120 21 2508-9103 wwwopenitcombr

Unipi Tecnologias Campos dos Goytacazes

Av Alberto Torres 303 1ordmandar - Centro ndash CEP 28035-581 22 2725-1041 wwwunipicombr

Rio Grande do Sul4up Soluccedilotildees Corporativas Novo Hamburgo Pso Calccediladatildeo Osvaldo Cruz 54 sl 301 CEP 93510-015 51 3581-4383 www4upcombr

Definitiva Informaacutetica Novo Hamburgo Rua General Osoacuterio 402 - Hamburgo Velho 51 3594 3140 wwwdefinitivacombr

Solis Lajeado Rua Comandante Wagner 12 ndash Satildeo Cristoacutevatildeo ndash CEP 95900-000 51 3714-6653 wwwsoliscoopbr

DualCon Novo Hamburgo Rua Joaquim Pedro Soares 1099 Sl 305 ndash Centro 51 3593-5437 wwwdualconcombr

Datarecover Porto Alegre Av Carlos Gomes 403 Sala 908 Centro Comer-cial Atrium Center ndash Bela Vista ndash CEP 90480-003

51 3018-1200 wwwdatarecovercombr

LM2 Consulting Porto Alegre Rua Germano Petersen Junior 101-Sl 202 ndash Hi-gienoacutepolis ndash CEP 90540-140

51 3018-1007 wwwlm2combr

Lnx-IT Informaccedilatildeo e Tecnologia Porto Alegre Av Venacircncio Aires 1137 ndash Rio Branco ndash CEP 90040193 51 3331-1446 wwwlnx-itinfbr

Plugin Porto Alegre Av Juacutelio de Castilhos 132 11ordm andar Centro ndash CEP 90030-130 51 4003-1001 wwwplugincombr

TeHospedo Porto Alegre Rua dos Andradas 1234610 ndash Centro ndash CEP 90020-008 51 3286-3799 wwwtehospedocombr

Satildeo PauloWs Host Arthur Nogueira Rua Jerere 36 ndash Vista Alegre ndash CEP 13280-000 19 3846-1137 wwwwshostcombr

DigiVoice Barueri Al Juruaacute 159 Teacuterreo ndash Alphaville ndash CEP 06455-010 11 4195-2557 wwwdigivoicecombr

Dextra Sistemas Campinas Rua Antocircnio Paioli 320 ndash Pq das Universidades ndash CEP 13086-045 19 3256-6722 wwwdextracombr

Insigne Free Software do Brasil Campinas Av Andrades Neves 1579 ndash Castelo ndash CEP 13070-001 19 3213-2100 wwwinsignesoftwarecom

Microcamp Campinas Av Thomaz Alves 20 ndash Centro ndash CEP 13010-160 19 3236-1915 wwwmicrocampcombr

PC2 Consultoria em Software Livre

Carapicuiba Rua Edeia 500 - CEP 06350-080 11 3213-6388 wwwpc2consultoriacom

Savant Tecnologia Diadema Av Senador Vitorino Freire 465 ndash CEP 09910-550 11 5034-4199 wwwsavantcombr

Epopeacuteia Informaacutetica Mariacutelia Rua Goiaacutes 392 ndash Bairro Cascata ndash CEP 17509-140 14 3413-1137 wwwepopeiacombr

Redentor Osasco Rua Costante Piovan 150 ndash Jd Trecircs Montanhas ndash CEP 06263-270 11 2106-9392 wwwredentorindbr

Go-Global Santana de Parnaiacuteba

Av Yojiro Takaoca 4384 Ed Shopping Ser-vice Cj 1013 ndash CEP 06541-038

11 2173-4211 wwwgo-globalcombr

AW2NET Santo Andreacute Rua Edson Soares 59 ndash CEP 09760-350 11 4990-0065 wwwaw2netcombr

Async Open Source Satildeo Carlos Rua Orlando Damiano 2212 ndash CEP 13560-450 16 3376-0125 wwwasynccombr

Delix Internet Satildeo Joseacute do Rio Preto

Rua Voluntaacuterio de Satildeo Paulo 3066 9ordm ndash Centro ndash CEP 15015-909 11 4062-9889 wwwdelixhostingcombr

O maior diretoacuterio de empresas que oferecem produtos soluccedilotildees e serviccedilos em Linux e Software Livre organizado por Estado Sentiu falta do nome de sua empresa aqui Entre em contato com a gente 11 4082-1300 ou anuncioslinuxmagazinecombr

copy Linux New Media do Brasil Editora Ltda

79

| SERVICcedilOSLinuxlocal

Linux Magazine 42 | Maio de 2008

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

Satildeo Paulo (continuaccedilatildeo)4Linux Satildeo Paulo Rua Teixeira da Silva 660 6ordm andar ndash CEP 04002-031 11 2125-4747 www4linuxcombr

A Casa do Linux Satildeo Paulo Al Jauacute 490 ndash Jd Paulista ndash CEP 01420-000 11 3549-5151 wwwacasadolinuxcombr

Accenture do Brasil Ltda Satildeo Paulo Rua Alexandre Dumas 2051 ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 5188-3000 wwwaccenturecombr

ACR Informaacutetica Satildeo Paulo Rua Lincoln de Albuquerque 65 ndashPerdizes ndash CEP 05004-010 11 3873-1515 wwwacrinformaticacombr

Agit Informaacutetica Satildeo Paulo Rua Major Quedinho 111 5ordm andar Cj 508 ndash Centro ndash CEP 01050-030

11 3255-4945 wwwagitcombr

Altbit - Informaacutetica Co-meacutercio e Serviccedilos LTDA

Satildeo Paulo Av Francisco Matarazzo 229 Cj 57 ndash Aacutegua Branca ndash CEP 05001-000

11 3879-9390 wwwaltbitcombr

AS2M -WPC Consultoria Satildeo Paulo Rua Trecircs Rios 131 Cj 61A ndash Bom Retiro ndash CEP 01123-001 11 3228-3709 wwwwpccombr

Big Host Satildeo Paulo Rua Dr Miguel Couto 58 ndash Centro ndash CEP 01008-010 11 3033-4000 wwwbighostcombr

Blanes Satildeo Paulo Rua Andreacute Ampeacutere 153 ndash 9ordm andar ndash Conj 91 CEP 04562-907 (proacutex Av L C Berrini)

11 5506-9677 wwwblanescombr

Commlogik do Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 13797 Bloco II 6ordm andar ndash Morumbi ndash CEP 04794-000

11 5503-1011 wwwcommlogikcombr

Computer Consulting Pro-jeto e Consultoria Ltda

Satildeo Paulo Rua Vergueiro 6455 Cj 06 ndash Alto do Ipiranga ndash CEP 04273-100 11 5062-3927 wwwcomputerconsultingcombr

Consist Consultoria Siste-mas e Representaccedilotildees Ltda

Satildeo Paulo Av das Naccedilotildees Unidas 20727 ndash CEP 04795-100 11 5693-7210 wwwconsistcombr

Domiacutenio Tecnologia Satildeo Paulo Rua das Carnaubeiras 98 ndash Metrocirc Conceiccedilatildeo ndash CEP 04343-080 11 5017-0040 wwwdominiotecnologiacombr

EDS do Brasil Satildeo Paulo Av Pres Juscelino Kubistcheck 1830 Torre 4 - 5ordm andar 11 3707-4100 wwwedscom

Eacutetica Tecnologia Satildeo Paulo Rua Nova York 945 ndash Brooklin ndash CEP04560-002 11 5093-3025 wwweticanet

Getronics ICT Solu-tions and Services

Satildeo Paulo Rua Verbo Divino 1207 ndash CEP 04719-002 11 5187-2700 wwwgetronicscombr

Hewlett-Packard Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 12901 25ordm andar ndash CEP 04578-000 11 5502-5000 wwwhpcombr

IBM Brasil Ltda Satildeo Paulo Rua Tutoacuteia 1157 ndash CEP 04007-900 0800-7074 837 wwwbribmcom

iFractal Satildeo Paulo Rua Fiaccedilatildeo da Sauacutede 145 Conj 66 ndash Sauacutede ndash CEP 04144-020 11 5078-6618 wwwifractalcombr

Integral Satildeo Paulo Rua Dr Gentil Leite Martins 295 2ordm andar Jd Prudecircncia ndash CEP 04648-001

11 5545-2600 wwwintegralcombr

Itautec SA Satildeo Paulo Rua Santa Catarina 1 ndash Tatuapeacute ndash CEP 03086-025 11 6097-3000 wwwitauteccombr

Kenos Consultoria Satildeo Paulo Av Fagundes Filho 13 Conj -53 ndash CEP 04304-000 11 40821305 wwwkenoscombr

Konsultex Informatica Satildeo Paulo Av Dr Guilherme Dumont Villares 1410 6 andar CEP 05640-003 11 3773-9009 wwwkonsultexcombr

Linux Komputer Informaacutetica Satildeo Paulo Av Dr Lino de Moraes Leme 185 ndash CEP 04360-001 11 5034-4191 wwwkomputercombr

Linux Mall Satildeo Paulo Rua Machado Bittencourt 190 Cj 2087 ndash CEP 04044-001 11 5087-9441 wwwlinuxmallcombr

Livraria Tempo Real Satildeo Paulo Al Santos 1202 ndash Cerqueira Ceacutesar ndash CEP 01418-100 11 3266-2988 wwwtemporealcombr

Locasite Internet Service Satildeo Paulo Av Brigadeiro Luiz Antonio 2482 3ordm andar ndash Centro ndash CEP 01402-000

11 2121-4555 wwwlocasitecombr

Microsiga Satildeo Paulo Av Braz Leme 1631 ndash CEP 02511-000 11 3981-7200 wwwmicrosigacombr

Novatec Editora Ltda Satildeo Paulo Rua Luis Antonio dos Santos 110 ndash Santana ndash CEP 02460-000 11 6979-0071 wwwnovateceditoracombr

Novell Ameacuterica Latina Satildeo Paulo Rua Funchal 418 ndash Vila Oliacutempia 11 3345-3900 wwwnovellcombrasil

Oracle do Brasil Sistemas Ltda Satildeo Paulo Av Alfredo Egiacutedio de Souza Aranha 100 ndash Bloco B ndash 5ordm andar ndash CEP 04726-170

11 5189-3000 wwworaclecombr

Proelbra Tecnolo-gia Eletrocircnica Ltda

Satildeo Paulo Av Rouxinol 1041 Cj 204 2ordm andar Moema ndash CEP 04516-001 11 5052- 8044 wwwproelbracombr

Provider Satildeo Paulo Av Cardoso de Melo 1450 6ordm andar ndash Vila Oliacutempia ndash CEP 04548-005

11 2165-6500 wwwe-providercombr

Red Hat Brasil Satildeo Paulo Av Brigadeiro Faria Lima 3900 Cj 81 8ordm andar Itaim Bibi ndash CEP 04538-132

11 3529-6000 wwwredhatcombr

Samurai Projetos Especiais Satildeo Paulo Rua Baratildeo do Triunfo 550 6ordm andar ndash CEP 04602-002 11 5097-3014 wwwsamuraicombr

SAP Brasil Satildeo Paulo Av das Naccedilotildees Unidas 11541 16ordm andar ndash CEP 04578-000 11 5503-2400 wwwsapcombr

Simples Consultoria Satildeo Paulo Rua Mourato Coelho 299 Cj 02 Pinheiros ndash CEP 05417-010 11 3898-2121 wwwsimplesconsultoriacombr

Smart Solutions Satildeo Paulo Av Jabaquara 2940 cj 56 e 57 11 5052-5958 wwwsmart-teccombr

Snap IT Satildeo Paulo Rua Joatildeo Gomes Junior 131 ndash Jd Bonfiglioli ndash CEP 05299-000 11 3731-8008 wwwsnapitcombr

Stefanini IT Solutions Satildeo Paulo Av Brig Faria Lima 1355 19ordm ndash Pinheiros ndash CEP 01452-919 11 3039-2000 wwwstefaninicombr

Sun Microsystems Satildeo Paulo Rua Alexandre Dumas 2016 ndash CEP 04717-004 11 5187-2100 wwwsuncombr

Sybase Brasil Satildeo Paulo Av Juscelino Kubitschek 510 9ordm andar Itaim Bibi ndash CEP 04543-000 11 3046-7388 wwwsybasecombr

The Source Satildeo Paulo Rua Marquecircs de Abrantes 203 ndash Chaacutecara Tatuapeacute ndash CEP 03060-020

11 6698-5090 wwwthesourcecombr

Unisys Brasil Ltda Satildeo Paulo R Alexandre Dumas 1658 ndash 6ordm 7ordm e 8ordm andares ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 3305-7000 wwwunisyscombr

Utah Satildeo Paulo Av Paulista 925 13ordm andar ndash Cerqueira Ceacutesar ndash CEP 01311-916 11 3145-5888 wwwutahcombr

Visuelles Satildeo Paulo Rua Eng Domicio Diele Pacheco e Silva 585 ndash Interlagos ndash CEP 04455-310

11 5614-1010 wwwvisuellescombr

Webnow Satildeo Paulo Av Naccedilotildees Unidas 12995 10ordm andar Ed Plaza Centenaacuterio ndash Chaacutecara Itaim ndash CEP 04578-000

11 5503-6510 wwwwebnowcombr

WRL Informaacutetica Ltda Satildeo Paulo Rua Santa Ifigecircnia 211213 Box 02ndash Centro ndash CEP 01207-001 11 3362-1334 wwwwrlcombr

Systech Taquaritinga Rua Satildeo Joseacute 1126 ndash Centro - Caixa Postal 71 ndash CEP 15900-000 16 3252-7308 wwwsystech-ltdcombr

| SERVICcedilOSLinuxlocal

copy Linux New Media do Brasil Editora Ltda

80

SERVICcedil

OS

httpwwwlinuxmagazinecombr

User Friendly ndash Os quadrinhos mensais da Linux Magazine

Calendaacuterio de eventosEvento Data Local Website

ApacheCon Europe 2008 7 a 11 de abril Amsterdam Holanda wwweuapacheconcom

II Encontro Software Livre da Paraiacuteba

2 a 4 de maio Joatildeo Pessoa PB ensolorgbr

LinuxTag 28 a 31 de maio Berlin Alemanha htttpwwwlinuxtagorg

LinuxWorld Conference and Expo

04 a 07 de agosto Satildeo Francisco EUAhttpwwwlinuxworldexpocomlive12

Linux Park 10 de junho Porto Alegre RS wwwlinuxparkcombr

Linux Park 24 de junho Rio de Janeiro RJ wwwlinuxparkcombr

Iacutendice de anunciantes

Empresa PaacutegEasyLinux 15

Guia de TI 83

Impacta 27

Kenos 22 23

Linux Magazine 33

Linux Magazine Online 81

Linux Park 84

Linux Pocket Pro 02 09

Linux Pro 31

Linux Technical Review 07

LPI 57

Plugin 11

Starter Kit 13

Watch Guard 19

copy Linux New Media do Brasil Editora Ltda

LM40_sitepdf 146 190208 124436

copy Linux New Media do Brasil Editora Ltda

82 httpwwwlinuxmagazinecombr

Na Linux Magazine 43

PREVIE

W

DESTAQUE

Alta disponibilidadeSe o pneu do seu carro furar como vocecirc age Se a base de dados principal do seu banco cair o que acontece Se aquele software do qual sua empresa depende profundamente simplesmente fechar o que poderaacute ser feito

No caso do carro a resposta eacute bastante simples use o estepe Durante alguns minutos vocecirc natildeo poderaacute andar com o carro mas esse atraso certa-mente seraacute perdoado por quem quer que tenha um bom coraccedilatildeo No entanto o banco de dados de uma instituiccedilatildeo financeira assim como o software de missatildeo criacutetica da sua empresa jamais pode parar Para as empresas envolvi-

das qualquer problema significa perder dinheiro ndash e geralmente em quantidade suficiente para ocasionar demissotildees

Felizmente para os ad-ministradores de sistemas e gestores de TI jaacute dispomos hoje de oacutetimas soluccedilotildees de alta disponibilidade e vamos exploraacute-las em detalhes na Linux Magazine 43

Seguranccedila

DNSSECOs administradores de sistemas e consultores de seguranccedila utilizam estrateacutegias sofisticadas para proteger redes mas ainda existe uma parte muito baacutesica da infra-estrutura da Internet que permanece surpreen-dentemente vulneraacutevel o sistema de resoluccedilatildeo de nomes Existem teacutecnicas elaboradas para forjar res-postas DNS e da mesma forma maneiras tambeacutem engenhosas de contornar esses ataques De todas elas o DNSSEC desponta como uma das mais eficazes para prote-ger redes por meio de criptografia e autenticaccedilatildeo

Conheccedila essa tecnologia e man-tenha seu sistema de resoluccedilatildeo de nomes protegido

DESTAQUE

PortaacuteteisOs laptops e notebooks sempre deram aos seus possui-dores um certo glamour status de pessoas antenadas e claro fama de gente que tinha ldquogranardquo ndash afinal um bom portaacutetil ateacute dois anos atraacutes natildeo custava nada barato Com o passar do tempo no entanto fabricantes foram criando uma nova geraccedilatildeo de no-tebooks menores sem partes mecacircnicas quebraacuteveis em boa parte de suas versotildees e mais baratos Esses aparelhinhos chamados de sub-notebooks vecircm ganhando espaccedilo tanto entre os clientes ldquotradicio-naisrdquo dos laptops quanto entre pessoas que jamais imaginaram ter um portaacutetil

Oficina

Com jeito de cinemaA qualidade de auacutedio e viacutedeo da TV digital recente-

mente iniciada no Brasil eacute um atrativo para quem deseja assistir programas em alta resoluccedilatildeo e ateacute gravar alguns de seus preferidos Se os receptores de TV ainda estatildeo muito caros receptores USB para computador oferecem a ima-gem de cinema e qualidade de som de DVD E o que eacute melhor usando Linux

Na EasyLinux 13

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

42 0508

R$ 1390 euro 750

9771806

942009

00042

A REVISTA DO PROFISSIONAL DE TI

Linu

x M

agazin

e

42 42

M

aio

200

8

052008

WWWLINUXMAGAZINECOMBR

RICARDO BIMBO p30No Linux empresas e voluntaacuterios colaboram harmoniosamente

BOSSA CONFERENCE 2008 p24Evento internacional aponta para um futuro moacutevel com Coacutedigo Aberto

ENTREVISTA SAP p28Empresa aposta em reestruturaccedilatildeo de arquiteturas rumo ao SOA

VEJA TAMBEacuteM NESTA EDICcedilAtildeO

raquo ADempiere e Eclipse desenvolvimento integrado p49

raquo LPIC-2 aula 11 DNS p52

raquo BI de coacutedigo aberto com SpagoBI p59

raquo Os melhores repositoacuterios de coacutedigo PHP p75

REDES ADMINISTRACcedilAtildeO CENTRALIZADA p66

O Puppet toma conta do gerenciamento e confi guraccedilatildeo de servidores e desktops na rede

SEGURANCcedilA FIREWALL PRAacuteTICO p71

Ateacute os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall

SOA

PRINCIacutePIOS

REDHAT

N

OVAFORGE

SHOREWALL

PUPPET

PHP

SPAGOBI

ADEM

PIERE

LPIC-2

INDT

A ARQUITETURA ORIENTADA A SERVICcedilOS DAacute FOCO AOS NEGOacuteCIOS E SERVE RECURSOS DISTRIBUIacuteDOS COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS p34

raquo A Red Hat oferece a pilha completa para SOA p36

raquo Serviccedilos distribuiacutedos soluccedilotildees integradas p40

raquo NovaForge uma faacutebrica de software corporativo p44

SOA

ex

em

pla

r d

e

Ass

inan

teve

nd

a

pro

ibid

a

copy Linux New Media do Brasil Editora Ltda

  • Capa
  • Editorial
  • Iacutendice
  • Cartas
  • Augusto Campos
  • Charly Kuumlhnast
  • Klaus Knopper
  • Zack Brown
  • Seguranccedila
  • Notiacutecias
  • Notiacutecias Corporate
  • A bossa da mobilidade
  • Software bem rodado
  • 100 de serviccedilo
  • Cezar Taurion
  • Ricardo Bimbo
  • Edgar Silva
  • Introduccedilatildeo de Capa
  • Bem arquitetado
  • Clientes espalhados servidores distribuiacutedos
  • Quase faz cafeacute
  • Produto importado
  • LPI niacutevel 2 Aula 11
  • Negoacutecio inteligente
  • Para conquistar o puacuteblico
  • Marionete
  • Domando o fogo
  • Tesouro
  • Linuxlocal
  • Serviccedilos
  • Na Linux Magazine 43
Page 7: © Linux New Media do Brasil Editora Ltda.

copy Linux New Media do Brasil Editora Ltda

8

COLUNA

httpwwwlinuxmagazinecombr

Acessibilidade em Software Livre

Augusto CamposEmbora qualquer pessoa possa vir a precisar de tecnologias assistivas ainda eacute pouca a atenccedilatildeo dispensada a esse campo no Software Livrepor Augusto Campos

Recentemente tive a oportunidade de participar da Comissatildeo de Programa de um evento de informaacutetica corporativa como parte de uma

banca na qual me cabia avaliar e classificar cerca de 80 trabalhos das mais variadas especialidades da Informaacutetica No decorrer dessa atividade avaliei po-sitivamente quanto agrave aplicabilidade vaacuterios trabalhos relacionados a tecnologias assistivas e acessibilidade mas tive a desagradaacutevel surpresa de constatar que na fase de discussatildeo os demais avaliadores sustentaram a posiccedilatildeo oposta a de que tecnologias assistivas inte-ressam a poucas pessoas portanto sua aplicabilidade deveria ser considerada baixa Resultado todos os trabalhos relacionados agrave acessibilidade acabaram ficando de fora do evento

A situaccedilatildeo estava fora do meu controle e laacute eu natildeo podia fazer nada a respeito mas agora vou contar com a compreensatildeo de vocecircs e usar nosso espaccedilo deste mecircs para falar um pouco sobre tecnologias assistivas em Software Livre

As tecnologias assistivas satildeo aquelas que oferecem recursos especiais de adaptaccedilatildeo assistecircncia e ateacute re-abilitaccedilatildeo para pessoas com necessidades especiais Isso eacute feito por intermeacutedio de meacutetodos diferenciados de interaccedilatildeo com tecnologias existentes permitin-do que essas pessoas possam realizar tarefas que de outro modo natildeo estariam a seu alcance

O nuacutemero de sistemas assistivos disponiacuteveis em Software Livre eacute crescente embora a atenccedilatildeo vol-

tada a eles nem sempre acompanhe a mesma ten-decircncia Essa eacute uma realidade que cada um de noacutes deveria se preocupar em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo ndash a acessibi-lidade a portadores de necessidades especiais vem sendo requisito cada vez mais exigido em softwares adotados por grandes corporaccedilotildees e pelos governos e a ausecircncia de uma oferta bem estruturada desse tipo de recurso jaacute foi justificativa para substituir Soft-ware Livre pelos seus equivalentes proprietaacuterios em telecentros municipais recentemente

Tambeacutem o niacutevel do suporte a tecnologias assisti-vas em Software Livre vem crescendo felizmente Agora aleacutem de contarmos com aplicativos espe-ciacuteficos como o vocalizador Festival e os drivers para displays em braille as versotildees recentes do Gnome passaram a oferecer o Orca sistema que integra os diversos recursos de acessibilidade dis-persos (vocalizadores displays braille ampliaccedilatildeo de tela etc) agraves aplicaccedilotildees disponiacuteveis no sistema operacional (com suporte a Firefox Thunderbird Pidgin BrOfficeorg e mais aleacutem da expansibili-dade atraveacutes de scripts)

Natildeo perco oportunidade de divulgar esse tipo de soluccedilatildeo especialmente a quem julga natildeo precisar delas ndash todos temos chance de um dia chegar a uti-lizaacute-las O Software Livre tem forte relaccedilatildeo com a ideacuteia de inclusatildeo digital e se cada administrador de sistemas e gestor de TI souber o que estaacute disponiacutevel nesse campo teremos possibilidade de empregaacute-las no momento certo e de prover o estiacutemulo neces-saacuterio para que seus desenvolvedores continuem investindo nelas

Sobre o autorAugusto Ceacutesar Campos eacute administrador de TI e desde 1996 manteacutem o site BR-linuxorg que cobre a cena do Software Livre no Brasil e no mundo

Essa eacute uma realidade que cada um de noacutes deveria preocupar-se em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

10 httpwwwlinuxmagazinecombr

Nload

Charly KuumlhnastMonitores de rede satildeo faacuteceis de encontrar mas o Nload eacute o uacutenico que separa traacutefego de entrada e saiacuteda e ainda desenha no consolepor Charly Kuumlhnast

Exibir o uso da rede numa interface natildeo eacute difiacutecil e existem inuacutemeras ferramentas para visuali-zar os valores Mas qual ferramenta oferece a

melhor representaccedilatildeo graacutefica dos valores medidos Os ldquoescovadores de bitrdquo certamente recomendariam a consulta direta aos dados no diretoacuterio proc mas essa obviamente natildeo eacute a soluccedilatildeo mais praacutetica

Tambeacutem podemos descartar todas as alternativas que dependam do X11 pois servidores geralmente natildeo possuem interfaces graacuteficas O IPTraf oferece os nuacutemeros necessaacuterios mas natildeo possui um recurso de histoacuterico O mesmo se aplica ao Iftop[1] embora ele informe quanto traacutefego sai e entra no parceiro de comunicaccedilatildeo

Para um raacutepido panorama minha ferramenta favo-rita eacute o Nload[2] Ele exibe o uso atual da rede para dados de entrada e saiacuteda dependendo do graacutefico sele-cionado (figura 1) Ao mesmo tempo oferece os valores meacutedios para um intervalo configuraacutevel O recurso de histoacuterico torna o uso do Nload um prazer natildeo haacute ris-co de perder um pico mesmo tirando os olhos da tela por um momento O paracircmetro de linha de coman-do -t ltvalorgt com valor em milissegundos permite a definiccedilatildeo do intervalo de atualizaccedilatildeo Por padratildeo o

Nload atualizaraacute sua tela duas vezes a cada segundo Na maioria dos casos uma configuraccedilatildeo mais espaccedilada eacute aceitaacutevel eu costumo usar -t 2000 uma atualizaccedilatildeo a cada dois segundos

Para manter os graacuteficos legiacuteveis eacute possiacutevel estabe-lecer limites para os traacutefegos de entrada e saiacuteda Se os dados excederem esse limite o Nload trunca o graacutefico permitindo a visualizaccedilatildeo de algo que esteja errado O limite-padratildeo eacute 10 Mbs mas pode ser modifica-do com -i ltvalorgt para a entrada e -o ltvalorgt para a saiacuteda O paracircmetro -s ltvalorgt com valor entre 1 e 9 possibilita a manipulaccedilatildeo dos valores meacutedios Quanto menor o nuacutemero mais curto eacute o intervalo para caacutelculo das meacutedias O valor 9 eacute o padratildeo Outro recurso inte-ressante eacute a possibilidade de modificar paracircmetros criacuteticos em tempo de execuccedilatildeo ndash incluindo a interface a ser monitorada Pressionar [O] enquanto o Nload estaacute rodando exibe um menu de opccedilotildees As alteraccedilotildees satildeo aplicadas no mesmo momento

O paracircmetro -m eacute uacutetil para servidores com muacuteltiplas interfaces ele informa o Nload para exibir o uso de muacuteltiplas interfaces ao mesmo tempo apesar de ser perdida a possibilidade de desenhar histogramas com o uso dessa opccedilatildeo

COLUNA

Mais informaccedilotildees

[1] Iftop httpwwwex-parrotcompdwiftop

[2] Nload httpwwwroland-riegeldenload

Figura 1 Os graacuteficos do Nload do Charly satildeo impressionantes

Sobre o autorCharly Kuumlhnast eacute administrador de sistemas Unix no datacenter Moers perto do famoso rio Reno na Alemanha Laacute ele cuida principalmen-te dos firewalls

copy Linux New Media do Brasil Editora Ltda

- Conexotildees Ilimitadas - Windows e Linux - Windows e Linux

Gab

arit

o

Suas mensagens entregues sem filas

E-mail marketingE-mail marketing Plug In

A ferramenta de relacionamento por e-mail mais poderosa do mercado

Contrate online

wwwplugincombrLigue e contrate

4003-1001

Powered by

por apenasR$4250

anunciodedicadoindd 1 41408 95432 AM

copy Linux New Media do Brasil Editora Ltda

12

COLUNA

httpwwwlinuxmagazinecombr

Pergunte ao Klaus

Klaus Knopper O criador do Knoppix responde agraves mais diversas perguntas dos leitores por Klaus Knopper

Wifi num Pavilion Prezado Klaus eu adoro sua coluna na Linux Magazine Ela jaacute me ajudou vaacuterias vezes e sem-pre aprendo muito Estou usando o openSUSE 103 num notebook HP Pavilion da seacuterie dv6000 (comprei no Natal e estou amando a maacutequina) Tudo funciona perfeitamente sem necessidade de alteraccedilotildees em arquivos de configuraccedilatildeo ex-ceto por um problema a rede sem fio

Jaacute procurei e conversei pela Internet visitei o site do driver e tentei tudo que consegui imaginar para resolver esse problema ndash desde o NDISwrap-per ateacute o comando install_fwcutter_43xx

Aleacutem disso recentemente postei um bug no site da minha distribuiccedilatildeo mas natildeo recebi qual-quer resposta

Os programas de conexatildeo sem fio como KNe-tworkManager KWiFi-Manager e iwconfig en-xergam a placa de rede sem fio assim como seu moacutedulo mas ela natildeo recebe sinal do roteador Jaacute verifiquei o equipamento e tentei me conec-tar a outros roteadores mas sempre acontece a mesma coisa

Obrigado por qualquer ajuda que vocecirc possa me dar e tambeacutem por toda a ajuda que daacute a todos que lecircem sua coluna E obrigado tambeacutem a todo o pessoal que faz a revista vocecircs satildeo oacutetimos

Resposta O seu problema talvez seja resolvido pelos

drivers de rede sem fio incluiacutedos no kernel 2624 que sempre oferecem suporte ao inter-ruptor da rede sem fio ( wifi switch ) presente em alguns notebooks Esse interruptor costu-ma impedir o funcionamento da rede sem fio porque simplesmente desliga a antena e conse-quumlentemente nenhum sinal eacute recebido mesmo que o driver e o hardware estejam funcionando perfeitamente

Como vocecirc disse ainda seraacute necessaacuterio ins-talar o firmware do adaptador de rede sem fio caso contraacuterio ele somente mostraraacute mensagens engraccediladas nos logs do sistema

O exemplo 1 mostra um trecho do arquivo de log que vocecirc me enviou Esse log confirma que o moacutedulo bcm43xx que vocecirc possui eacute adequado para a sua versatildeo do kernel mas o firmware desse adaptador natildeo estaacute presente

Provavelmente eacute possiacutevel obter esse firmware a partir de vaacuterios locais na Internet mas tambeacutem se pode extraiacute-lo de um adaptador que jaacute o pos-sua usando o programa bcm43xx-fwcutter que vocecirc mencionou

Quando vocecirc conseguir uma coacutepia do firm-ware necessaacuterio deve colocaacute-lo em usrlibho-tplugbcm43xx_microcode5fw (dependendo da sua distribuiccedilatildeo talvez tambeacutem em libfirmwarebcm43xx_microcode5fw ) em que seraacute automatica-mente carregado durante a inicializaccedilatildeo do sis-tema no momento em que o adaptador de rede sem fio for detectado e ativado

Sobre o autorKlaus Knopper eacute o criador do Knoppix e co-fundador do evento Linux Tag Atual-mente ele trabalha como professor progra-mador e consultor

Exemplo 1 Log do sistema (trecho)

Jan 6 052623 linux kernel bcm43xx PHYconnectedJan 6 052623 linux kernel bcm43xxError Microcode ldquobcm43xx_microcode5fwrdquonot available or load failedJan 6 052623 linux kernel bcm43xx core_up for active 80211 core failed (-2)Jan 6 052623 linux firmwaresh[5865]Cannot find firmware file lsquobcm43xx_microcode5fwrsquo

copy Linux New Media do Brasil Editora Ltda

REA

LIZA

CcedilAtildeO

PRO

MO

CcedilAtildeO

O Ecossistema de Negoacutecios em Software Livre no Brasil

2008PA

TRO

CIN

AD

ORE

S EM

200

7

copy Linux New Media do Brasil Editora Ltda

14 httpwwwlinuxmagazinecombr

Crocircnicas do kernel

Zack BrownLinus muda mais uma vez a poliacutetica de desenvolvimento do kernel desfazendo-se da tarefa de garantir total estabilidadepor Zack Brown

Inclusatildeo de drivers mais raacutepidaRecentemente Linus Torvalds reduziu os empeci-lhos para incluir coacutedigo no kernel Quando o Linux comeccedilou uma das maiores prioridades de Torvalds era encorajar contribuiccedilotildees Para isso ele reforccedilou a resposta a qualquer patch aceitando diversos de-les e ateacute mesmo publicando estatiacutesticas manuais sobre aqueles recebidos Conforme as contribuiccedilotildees aumentaram no final da deacutecada de 1990 a rapidez nas respostas de Linus diminuiu e ele ficou mais propenso a simplesmente ignorar patches caso natildeo gostasse deles Ele tambeacutem comeccedilou a insistir que os algoritmos dos patches fossem bonitos e que dife-rentes partes do kernel se comunicassem de formas naturais para elas

Quando Linus adotou as aacutervores ldquoestaacutevelrdquo e ldquode desenvolvimentordquo manteve a insistecircncia no bom gosto e tornou-se ainda mais estrito no ciclo ldquoes-taacutevelrdquo Com a estruturaccedilatildeo do envio de coacutedigos do kernel em uma hierarquia de mantenedores e ldquotenentesrdquo Linus comeccedilou a criar uma cultura de aderecircncia a suas preferecircncias pessoais de escrita de coacutedigo na qual outras pessoas que compreendes-sem seus gostos podiam atuar como guardas aleacutem de realizar o trabalho teacutecnico de escrever e revisar os coacutedigos em busca de falhas

Durante a aacutervore 26 Linus abandonou as mu-danccedilas um tanto desconfortaacuteveis entre as aacutervores estaacutevel e de desenvolvimento Entatildeo ele reinstituiu um conjunto de micro-forks para o desenvolvimen-to estaacutevel no qual a aacutervore 26 principal jamais sai da fase de desenvolvimento e cada versatildeo gera um novo fork estaacutevel A decisatildeo de abandonar os ciclos originais de estabilidade e desenvolvimento marca-ram uma eacutepoca de avaliaccedilatildeo de uma grande varie-dade de problemas Uma das principais justificativas para a mudanccedila foi a de que as distribuiccedilotildees Linux sempre aplicavam seus proacuteprios patches sobre as versotildees oficiais do kernel

Como o ocircnus de oferecer estabilidade sempre recaiacutea sobre as distribuiccedilotildees Linus lhes impocircs for-malmente essa obrigaccedilatildeo livrando-se dessa tarefa A decisatildeo indicou uma nova abordagem para o desenvolvimento do kernel ndash sem abandonar a necessidade de estabilizar aspectos do kernel mas ainda dando maior liberdade aos contribuidores

Agora Torvalds comeccedilou a aceitar patches de drivers com problemas oacutebvios Recentemente Adrian Bunk reclamou de um envio de driver que foi aceito no kernel apesar de conter mais de 250 erros de checkpatch e mais de 2000 avisos Antiga-mente esses problemas precisavam ser solucionados antes que um driver fosse aceito na aacutervore Parte da justificativa de Linus para a mudanccedila na poliacutetica eacute o reconhecimento de que eacute muito mais provaacutevel que um coacutedigo seja testado e consertado dentro da aacutervore oficial do que fora dela

Aleacutem disso supotildee-se que o usuaacuterio meacutedio use o kernel de sua distribuiccedilatildeo e natildeo o oficial enquan-to os desenvolvedores satildeo os usuaacuterios primaacuterios da versatildeo oficial e conseguem lidar melhor com drivers mais feios e menos polidos

Linus lembra que essa nova poliacutetica visa ao coacutedigo de drivers que por definiccedilatildeo satildeo perifeacutericos em relaccedilatildeo ao corpo principal do coacutedigo Ele diz que eacute importante que os drivers sejam bem testados antes de entrarem no kernel O liacuteder do desenvolvimento do Linux natildeo estaacute tatildeo preocupado com o visual do coacutedigo mas quer garantir que ele funcione e natildeo quebre nem cause per-da de dados aos usuaacuterios

COLUNA

Sobre o autorA lista de discussatildeo Linux-kernel eacute o nuacutecleo das atividades de desenvolvimento do kernel Zack Brown consegue se perder nesse oce-ano de mensagens e extrair significado Sua newsletter Kernel Traffic esteve em atividade de 1999 a 2005

copy Linux New Media do Brasil Editora Ltda

Acesse agora wwwrevistaesylinuxcombrPeccedila pelo telefone 11 4082-1300

Jaacute nas bancaspor apenas R$990

Easy Linux traz todos os meses notiacutecias tutoriais de programas e jogos dicas e tudo que o usuaacuterio iniciante precisa saber para usar Linux em casa e no trabalho

Com linguagem simples e abrangente EasyLinux eacute a leitura obrigatoacuteria para quem quer ldquodesbravarrdquo o software livre

EasyLinux leia para saber

por apenas R$990

por apenas R$990

por apenas R$990

por apenas R$990

copy Linux New Media do Brasil Editora Ltda

16

SE

GU

RA

NCcedil

A

httpwwwlinuxmagazinecombr

Figura 1 O gato natildeo estaacute vivo nem morto ateacute que se olhe dentro da caixa

Notiacutecias de InseguranccedilaTodos noacutes jaacute passamos por isso

na verdade muitos passaram recentemente Vocecirc acorda

e encontra um email do Bugtraq ou do Full-Disclosure ou talvez uma noti-ficaccedilatildeo do seu fornecedor a respeito de uma atualizaccedilatildeo de seguranccedila ndash uma atualizaccedilatildeo que afeta quase todos os seus sistemas e cujo exploit jaacute estaacute dis-poniacutevel haacute vaacuterios dias[1]

Obviamente podemos facilmente empregar o poder do Coacutedigo Aberto e nos gabar da velocidade com que os desenvolvedores do kernel con-sertaram a vulnerabilidade permi-tindo que os fornecedores provessem atualizaccedilotildees rapidamente

Ou eu poderia ainda falar da im-portacircncia de fazer um inventaacuterio de seus sistemas e ter um sistema de ge-renciamento de patches para aplicaacute-los prontamente Poreacutem a questatildeo eacute que todos os sistemas satildeo vulneraacuteveis o tempo inteiro Permita-me repetir soacute para assegurar que ningueacutem pense que me confundi todos os sistemas satildeo vulneraacuteveis o tempo inteiro

Falhas de seguranccedila satildeo bem se-melhantes ao gato de Schroumldinger nem vivo nem morto ateacute que seja verificado[2] (figura 1) Da mesma forma podemos perguntar se as vul-nerabilidades de seguranccedila aparecem do nada como por maacutegica quando algueacutem as observa colapsando o es-tado quacircntico de probabilidade da vulnerabilidade em questatildeo para um estado conhecido Ou seja en-quanto ningueacutem reconhece uma vulnerabilidade (e mais importan-te enquanto ningueacutem possui um exploit para ela) ela natildeo existe Isso tambeacutem eacute conhecido como a teoria da ldquoaacutervore que cai na florestardquo em seguranccedila da informaccedilatildeo

Tambeacutem seria possiacutevel argumen-tar de forma alternativa que mes-mo sem sabermos ao certo quan-do o isoacutetopo decairaacute acionando a liberaccedilatildeo do gaacutes venenoso ele vai decair e provavelmente mais cedo do que se desejaria

A verdade eacute que um sistema mo-derno possui tanto coacutedigo instalado e em execuccedilatildeo que eacute provaacutevel que alguma vulnerabilidade exploraacutevel venha a ser encontrada e usada para comprometer o sistema Entatildeo o que vocecirc pode fazer

Planos futurosAssim como no velho ensinamento ldquoplaneje-se para o pior mas espere o melhorrdquo eacute obrigatoacuterio planejar-se para o caso de falhas no sistema de seguranccedila Todos os conselhos-padratildeo a respeito de aumento de seguranccedila de sistemas criaccedilatildeo de camadas de seguranccedila e limitaccedilatildeo de acesso e privileacutegios sempre que possiacutevel ainda satildeo bons conselhos mas simplesmente natildeo consegue mresponder agrave pergunta o que fazer quando sua seguranccedila falha

Melhores praacuteticasPor ser praticamente inevitaacutevel que seus sistemas estejam vulneraacuteveis em algum momento ndash provavelmente durante um periacuteodo em que haacute aces-so puacuteblico pelo exploit ndash eles prova-velmente estaratildeo comprometidos Um exemplo perfeito disso eacute o site seifriedorg O SELinux estava ativo impedindo a exploraccedilatildeo de todas as vulnerabilidades de seguranccedila mas tambeacutem evitando o funcionamento correto de vaacuterios softwares de tercei-ros Apoacutes brigar um tempo contra o SELinux desisti e desativei-o

Esse foi meu primeiro erro por dois motivos Primeiro ao desati-var o SELinux facilitei muito a in-vasatildeo do meu sistema reduzindo tambeacutem a quantidade de logs que seriam gerados em caso de invasatildeo Se for preciso desativar o SELinux ao menos use o modo permissivo que registra as violaccedilotildees

Meu segundo erro foi a claacutessica preguiccedila administrativa Para faci-litar a administraccedilatildeo do sistema eu havia estabelecido relaccedilotildees de confianccedila no SSH entre minhas maacutequinas e tambeacutem ativado o acesso por sudo sem a requisiccedilatildeo de uma senha

Entatildeo uma vez que o agressor conseguisse invadir um sistema e ganhasse acesso agrave conta de admi-nistraccedilatildeo ele teria acesso a todos os meus sistemas Portanto quando um dos meus sistemas foi compro-metido acabei tendo que reinstalar todos eles pois tinha certeza de que todos haviam sido modificados Com frequumlecircncia essa falha de projeto tam-beacutem ocorre com firewalls e outros mecanismos de seguranccedila As organi-zaccedilotildees implementam uma seguranccedila externa bem riacutegida mas falham ao implementar a seguranccedila interna deixando um nuacutecleo apetitoso para os invasores desfrutarem

por Kurt Seifried

copy Linux New Media do Brasil Editora Ltda

17

| NOTIacuteCIASSeguranccedila

Linux Magazine 42 | Maio de 2008

Melhores registrosComo disse eu havia desativado o SELinux em vez de deixaacute-lo no modo permissivo Com o espaccedilo em disco sendo relativamente barato atualmen-te raramente faz sentido apagar logs para economizar espaccedilo

Aleacutem disso com a facilidade de criar um sistema de logs pela rede com o Syslog natildeo existe desculpa para natildeo usar um log centralizado (dificultando assim a eliminaccedilatildeo dos rastros de um eventual invasor) Entretanto note que muitos ataques deixaratildeo poucas mensagens significativas nos logs

Frequumlentemente uma mensa-gem informando que o programa servidor fechou seraacute o uacutenico indiacute-cio da invasatildeo o que dificilmente garante uma investigaccedilatildeo completa da ocorrecircncia

Ter um rastro confiaacutevel para au-ditoria pode significar a diferenccedila

entre precisar reinstalar todo um grupo de maacutequinas e apenas limpar uma delas Manter logs tambeacutem eacute importante para fornecer as infor-maccedilotildees necessaacuterias para consertar um sistema Simplesmente retornar um sistema a seu estado original natildeo impediraacute que o agressor faccedila uma nova invasatildeo

BecapeOs becapes costumam ser um dos as-pectos mais negligenciados pela segu-ranccedila da informaccedilatildeo Poreacutem eles satildeo cruciais para garantir que os sistemas possam ser reinstalados corretamente e os dados possam ser recuperados Se vocecirc natildeo fizer becape de nada mais ao menos faccedila um de seus da-dos e assegure-se de guardaacute-lo longe da maacutequina Aleacutem disso ter sistemas de recuperaccedilatildeo que funcionem eacute tatildeo importante quanto todo o becape

Mais Informaccedilotildees

[1] SecurityFocus vulnerabilidade em copy_from_user_mmap_sem() httpwwwsecurityfocuscombid27796

[2] Gato de Schroumldinger httpptwikipediaorgwikiGato_de_SchrC3B6dinger

Sobre o autorKurt Seifried eacute Consultor de Seguranccedila da Informaccedilatildeo especializado em Linux e re-des desde 1996 Ele eacute casado e tem qua-tro gatos mas nenhum peixe (porque os ga-tos tecircm mais fome que medo de aacutegua) Ele sempre se pergunta como essa tecnologia funciona em larga escala mas frequumlente-mente falha em escalas menores

Com muita frequumlecircncia jaacute vi be-capes funcionarem perfeitamente ateacute serem necessaacuterios aleacutem de imagens de recuperaccedilatildeo de baixo niacutevel incompatiacuteveis com o hard-ware substituto ou dados exporta-dos corrompidos e incompletos Por exemplo tenho um script de becape que estava falhando silen-ciosamente haacute trecircs meses porque eu havia deixado de lado a opccedilatildeo ldquosobrescrever arquivos mais anti-gosrdquo e entatildeo todos os arquivos alterados natildeo haviam recebido a coacutepia de seguranccedila

Preacute-funeralUma das praacuteticas mais poderosas que jaacute vi eacute conduzir um ldquopreacute-fu-neralrdquo Em essecircncia o administra-dor finge que o sistema jaacute falhou Ter uma ideacuteia do que fazer nessa situaccedilatildeo ajuda a evitar a confusatildeo caso isso de fato aconteccedila e tam-beacutem pode oferecer ideacuteias de accedilotildees preventivas a serem tomadas tais como usar firewalls em todos os computadores independente de a maacutequina estar ou natildeo conectada a uma rede puacuteblica

ConclusatildeoDa mesma forma que o sistema comprometido natildeo importa de ver-dade se o gato estaacute vivo ou morto Em algum momento o gaacutes veneno-so seraacute liberado o gato morreraacute e o local comeccedilaraacute a cheirar mal

O truque eacute encontrar formas efi-cazes de lidar com falhas para que se consiga retornar ao trabalho de forma raacutepida e segura

Dica de invasatildeo MySQL

Um meacutetodo comumente usado para zerar uma senha de root do MySQL perdida eacute usar a opccedilatildeo --skip-grant-tables que carrega o banco de dados sem qualquer proteccedilatildeo Se for necessaacuterio usar esse meacutetodo use tambeacutem --skip_networking para permitir somente conexotildees locais Com ela usuaacute-rios locais ainda conseguiriam conectar-se portanto assegure-se de desco-nectaacute-los tambeacutem

Talvez um meacutetodo melhor seja usar a opccedilatildeo --init file que lecirc comandos SQL deste arquivo na inicializaccedilatildeo Cada comando deve estar numa uacutenica linha e natildeo deve incluir comentaacuterios

Entatildeo basta criar um arquivo texto (zera-senhatxt) com um comando SQL para alterar a senha de root

SET PASSWORD FOR lsquorootrsquorsquolocalhostrsquo = PASSWORD(lsquoNovaSenharsquo)

e em seguida iniciar o mysqld com a opccedilatildeo --init-file zera-senhatxt Depois de carregar o arquivo simplesmente reinicie o MySQL normalmente e entre com a nova senha

copy Linux New Media do Brasil Editora Ltda

18

NO

TIacuteC

IAS

httpwwwlinuxmagazinecombr

Linux eacute feito por empresas

Sun homologaraacute Ubuntu Mark Shuttleworth fundador da Canonical empresa responsaacutevel pelo Ubuntu afi rmou que a Sun demons-trou interesse em homologar essa distribuiccedilatildeo em seus servidores A accedilatildeo seria muito importante para a em-presa sul-africana cuja distribuiccedilatildeo passaria a concorrer contra os pesos-pesados das distribuiccedilotildees corporativas (as chamadas Enterprise ) Red Hat Enterprise Linux e No-vell Suse Linux Enterprise Server ambas com modelos baseados em subscriccedilatildeo diferentemente do Ubuntu

A Canonical jaacute oferece suporte comercial ao Ubun-tu instalado em determinadas maacutequinas da Sun O que muda agora eacute a homologaccedilatildeo por parte da fa-bricante do hardware

A Linux Foundation publicou um novo relatoacuterio a res-peito do desenvolvimento do Linux intitulado ldquoLinux Kernel Development ndash How Fast it is Going Who is Doing It What They are Doing and Who is Sponso-ring Itrdquo (Desenvolvimento do Kernel Linux ndash com que velocidade estaacute ocorrendo quem o estaacute fazendo o que eles tecircm feito e quem fi nancia O estudo foi feito com base nos uacuteltimos trecircs anos do desenvolvimento do kernel Linux ndash abrangendo desde a versatildeo 2611 ateacute a 2624 ndash e revela que a maior parte dos desenvolvedores do kernel satildeo pagos por grandes companhias como IBM Intel Linux Foundation MIPS Technology MontaVista Movial NetApp Novell e Red Hat

Ao longo dos anos o nuacutemero de desenvolvedores do Linux tem crescido consideravelmente Pela anaacutelise a versatildeo mais recente do kernel (2624 na liberaccedilatildeo do estudo) teve 1057 desenvolvedores registrados O estudo informa que entre 70 e 95 dos desenvolvedores pagos para trabalhar com o Linux nos uacuteltimos trecircs anos satildeo funcionaacuterios dessas empresas Mostra tambeacutem que atual-mente a relaccedilatildeo das grandes empresas com o Linux eacute bastante proacutexima Os investimentos em Coacutedigo Aber-to portanto estatildeo diretamente relacionados ao modus operandi dessas empresas e jaacute incorporados agrave ldquocorrida armamentistardquo do mundo dos negoacutecios

O relatoacuterio da Linux Foundation sobre as contribui-ccedilotildees ao Linux exibe tambeacutem um nuacutemero elevado de contribuiccedilotildees de desenvolvedores individuais ao siste-ma Poreacutem a quantidade de pessoas que realmente faz o trabalho ldquobraccedilalrdquo eacute bem pequena Nos uacuteltimos trecircs anos os dez desenvolvedores que mais contribuiacuteram para o kernel somam 15 de todo esse trabalho Se au-

mentada a margem levando em conta os 30 maiores desenvolvedores esse nuacutemero sobe para 30

Assim foi estabelecido um ranking das empresas mais atuantes no kernel Um dos destaques eacute a Novell que au-mentou em 300 sua participaccedilatildeo nos uacuteltimos trecircs anos A empresa passou de 36 para 144 do total de contribuiccedilotildees realizadas Isso a coloca em segundo lugar logo atraacutes da Red Hat

Ranking

As companhias que de fato constroem o Linux consi-derando sua contribuiccedilatildeo para o kernel satildeo Red Hat (112) Novell (89) IBM (83) Intel (41) Linux Foundation (35) SGI (20) MIPS Technology (16) Oracle (13) MontaVista (12) e Linutronix (10) A participaccedilatildeo dessas empresas no desenvolvimento do Linux tem sua razatildeo de ser Red Hat Novell e MontaVista possuem motivos claros as trecircs desenvolvem e comer-cializam sistemas Linux As demais companhias traba-lham no kernel para garantir que o Linux rode correta-mente em seus hardwares na intenccedilatildeo de tornar seus produtos mais atraentes para os usuaacuterios Linux e com isso aumentar suas vendas

Outras empresas que desenvolvem o Linux como Sony Nokia e Samsung satildeo conhecidas por embar-carem o sistema aberto como um componente de seus proacuteprios produtos (como cacircmeras de viacutedeo te-levisores e telefones moacuteveis) Sua participaccedilatildeo no de-senvolvimento do kernel busca um investimento de meacutedio a longo prazo Essas empresas desejam ga-rantir que o sistema do pinguumlim continue a ser uma base soacutelida para seus produtos no futuro

18copy Linux New Media do Brasil Editora Ltda

19

| NOTIacuteCIASGerais

Linux Magazine 42 | Maio de 2008

BrOfficeorg 24Apoacutes uma espera relativamente longa a nova versatildeo do BrOfficeorg finalmente estaacute disponiacutevel para download Satildeo vaacuterias as novidades que se destacam nesse salto de versatildeo entre elas me-lhorias na geraccedilatildeo de documentos PDF mudanccedila da fonte-padratildeo para a famiacutelia DejaVu melhorias gerais no acesso a banco de dados (MySQL Oracle JDBC etc) e inclusatildeo de suporte nativo ao formato proprietaacuterio do aplicativo de bancos de dados do MS Access 2007

A interface dos programas tambeacutem apresenta algumas mudanccedilas A seleccedilatildeo do idioma no corretor ortograacutefico estaacute mais simples novos atalhos de teclado foram criados

para a definiccedilatildeo de estilos de paraacutegrafo e os blocos de ceacutelulas do Calc podem ser copiados e movidos mais facilmente pela planilha Na janela de impressatildeo as opccedilotildees avanccediladas podem ser ocultadas uma vez que raramente precisam ser alteradas

Linux em switches CiscoA Cisco atraveacutes de sua nova plataforma Application Extension Platform (AXP) converteu vaacuterios mode-los de seus switches para servidores de aplicaccedilotildees Linux Os novos servidores vecircm embarcados com bibliotecas C Java e Perl certificadas Com isso os desenvolvedores seratildeo capazes de usar um kit de desenvolvimento (SDK) para construir aplicativos para o novo sistema

Os servidores AXP vecircm equipados com proces-sadores de arquitetura x86 (o mais recente traz um Pentium 14 GHz) e satildeo capazes de executar uma distribuiccedilatildeo Linux proacutepria com kernel 26143 e bibliotecas compatiacuteveis com o Fedora Core 4 A dis-tribuiccedilatildeo particular da Cisco foi desenvolvida exata-mente para rodar sobre esse hardware que in-clui 2 GB de memoacuteria RAM e discos riacutegidos de 160 GB

copy Linux New Media do Brasil Editora Ltda

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Gartner SL em alta Windows em colapso De acordo com estudo realizado pelo Gartner em apenas alguns anos praticamente todos os tipos de negoacutecios estaratildeo utilizando Coacutedigo Aberto mesmo que os gerentes de TI dessas mesmas empresas ignorem essa tecnologia e prefi ram utilizar apenas a de software como serviccedilo ( SaaS ) O mesmo estu-do informa que ateacute 2012 todas as empresas estaratildeo utilizando Coacutedigo Aberto de forma embarcada

De acordo com Mark Taylor presidente do grupo de promoccedilatildeo do Open Source Consortium ldquoinfe-lizmente o Gartner estaacute subestimando o Coacutedigo Abertordquo Ele informa que atualmente todos estatildeo utilizando Coacutedigo Aberto como serviccedilo ndash o princi-pal exemplo eacute o do Google Ainda de acordo com Taylor o Gartner natildeo percebeu que uma licenccedila livre faz mais que apenas reduzir o custo total de propriedade (TCO) ndash ela fornece muitos outros benefiacutecios tambeacutem a quem a utiliza

Mesmo sabendo que o custo da licenccedila representa apenas 3 do valor do projeto algumas empresas continuam baseando suas vendas nesse detalhe tornando-se limitadas Poreacutem quando essa limi-taccedilatildeo eacute eliminada a abrangecircncia do projeto pode se expandir para diversas outras esferas ndash tudo isso sem custo adicional Esse fenocircmeno se deve prin-cipalmente ao fato de o Coacutedigo Aberto fornecer

grande escalabilidade a um custo zero de transaccedilatildeo para qualquer aplica-

ccedilatildeo em que se queira investir

Microsoft em risco Ao mesmo tempo os analistas do Gartner afir-maram que o sistema Windows corre perigo pondo em risco tambeacutem a Microsoft Em sua conferecircncia ldquoEmerging Trendsrdquo analistas de TI do Gartner afirmaram que os esforccedilos da Mi-crosoft em relaccedilatildeo ao Windows natildeo trouxeram resultados Os motivos disso de acordo com os analistas incluem os ciclos de desenvolvimento extremamente longos e as limitadas inovaccedilotildees trazidas a cada nova versatildeo do sistema opera-cional liacuteder em vendas aleacutem da experiecircncia de uso inconsistente entre diferentes versotildees Segundo mateacuteria da PC World no lado dos ad-ministradores cada nova interaccedilatildeo do sistema traz novas questotildees de incompatibilidade com aplicativos resultando no aumento dos custos de gerenciamento e reduzindo o valor do pro-duto da gigante de Redmond

As criacuteticas ao sistema da Microsoft natildeo pararam por aiacute Os analistas do Gartner levantaram ques-totildees teacutecnicas desde a complexidade do Windows sua falta de modularidade seus trechos de coacutedigo com 20 anos de idade e os elevados requisitos de hardware ateacute a difusatildeo do uso de aplicativos web e multi-plataforma

Essas questotildees conduziratildeo os consumidores de acordo com os analistas agrave adoccedilatildeo de outros sistemas garantindo um futuro proacutespero ao Coacute-digo Aberto A saiacuteda para o Windows segundo o Gartner seria uma versatildeo do Vista ainda mais modularizada apesar das alegaccedilotildees de grande modularizaccedilatildeo no sistema feitas pela Microsoft Uma soluccedilatildeo especiacutefica para a retrocompatibili-dade dos aplicativos residiria na virtualizaccedilatildeo de sistemas e componentes No entanto adverte o instituto de pesquisa natildeo devemos esperar mu-danccedilas raacutepidas da Microsoft junto aos negoacutecios bilionaacuterios do Windows

Cars

ten

Muumll

ler -

ww

ws

xch

u

20copy Linux New Media do Brasil Editora Ltda

21

| CORPORATENotiacutecias

Linux Magazine 42 | Maio de 2008 21

21

Sun promete viacutedeo livre Rob Glidden da Sun Microsystems infor-mou em seu blog a respeito de dois novos projetos de Coacutedigo Aberto da empresa que deveratildeo resultar em uma soluccedilatildeo livre para multimiacutedia via Web incluindo codecs de aacuteudio e viacutedeo No contexto da iniciativa Open Media Commons (OMC) a Sun estaacute trabalhando atualmente no OMS Video ndash segundo Glidden a sigla OMS pode signifi car tanto Open Media Stack quanto Open Media System Assim como ocorre com o formato Flash da Adobe a soluccedilatildeo da Sun deveraacute encapsular um codec de aacuteudio e um de viacutedeo ao mesmo tempo em que cuida do controle e do trans-porte de dados bem como de aspectos de seguranccedila do conteuacutedo Os desenvolvedo-res do codec de Coacutedigo Aberto natildeo estatildeo considerando apenas suas caracteriacutesticas teacutecnicas como velocidade e qualidade questotildees como a aderecircncia da licenccedila do sistema agraves premissas do Software Livre ausecircncia de custos com licenciamento e a criaccedilatildeo de coacutedigos e meacutetodos que natildeo infrinjam nenhuma patente tambeacutem satildeo requisitos do projeto O desenvolvimento do OMS eacute pautado pela poliacutetica de direitos de propriedade intelectual adotada pela Organizaccedilatildeo Mundial do Comeacutercio que natildeo se restringe simplesmente agrave adoccedilatildeo de uma licenccedila proacutepria ndash a Common Development and Distribution License (CDDL) que permite uma combinaccedilatildeo de software de coacutedigo aberto e proprietaacute-rio ndash mas utiliza tambeacutem Digital Rights Management (DRM)

O codec de viacutedeo deveraacute ser baseado nas especifi caccedilotildees do pa-dratildeo H26x ndash mas sem se limitar a elas Como formato de aacuteudio os de-senvolvedores estatildeo considerando o formato Xiph Vorbis A Sun preferiu natildeo adotar o formato H264 por natildeo consideraacute-lo sufi cientemente livre Pro-jetos que tenham objetivos similares como Vorbis Theora e Dirac natildeo satildeo considerados concorrentes mas ldquofacilitadoresrdquo Glidden no entanto natildeo revelou em quanto tempo o produto fi nal deve estar disponiacutevel

Microsoft cogita aquisiccedilatildeo hostil do Yahoo Apoacutes ter por reiteradas vezes afi rmado que a aquisiccedilatildeo do Yahoo eacute im-prescindiacutevel para os planos de expansatildeo da companhia na concorrecircncia contra o Google a Microsoft em carta redigida pelo CEO Steve Ball-mer enviou no iniacutecio de abril um ultimato agrave empresa de Jerry Yang caso natildeo cheguem a um acordo com a cuacutepula diretora da empresa nas proacuteximas trecircs semanas a Microsoft deveraacute recorrer aos acionistas e partir para uma aquisiccedilatildeo hostil

Na carta Steve Ballmer advertiu a direccedilatildeo do Yahoo de que no caso de uma accedilatildeo hostil a oferta da Microsoft poderaacute ser menor devido agrave reduccedilatildeo nos valores das accedilotildees das duas empresas ocorrida recentemente Adicional-mente a Microsoft pretende exercer pressatildeo sobre a diretoria do Yahoo atraveacutes de seus proacuteprios representantes no conselho diretor da empresa Ateacute entatildeo a empresa fundada por Bill Gates havia tentado chegar a um acordo por vias paciacutefi cas no intuito de evitar um processo de aquisiccedilatildeo hostil longo (e possivelmente caro) bem como para preservar as equipes das duas empresas para quando ocorrer a fusatildeo Entretanto segundo Ball-mer as reuniotildees realizadas ateacute agora foram infrutiacuteferas

Ballmer argumentou ainda no docu-mento que o Yahoo teria perdido espaccedilo no mercado de maacutequinas de busca na Internet e que a situaccedilatildeo fi nanceira da companhia teria piorado desde que a oferta foi feita

Concorrente do ODF vira padratildeo ISO A Organizaccedilatildeo Internacional de Padronizaccedilatildeo ISO aprovou no dia 1ordm de abril com 75 dos votos vaacutelidos dos membros P a homologaccedilatildeo do formato de documentos de escritoacuterio Offi ce Open XML de autoria da Microsoft como um padratildeo internacional A aceitaccedilatildeo do formato como padratildeo ocorreu na segunda tentativa da empresa de Steve Ballmer junto ao oacutergatildeo internacional e apoacutes sua aprovaccedilatildeo pelo ECMA oacutergatildeo europeu de padronizaccedilatildeo de sistemas de comunicaccedilatildeo e informaccedilatildeo

O Brasil representado pela ABNT (Associaccedilatildeo Brasileira de Normas Teacutecnicas) votou assim como na primeira avaliaccedilatildeo contra a aprovaccedilatildeo do OOXML ndash como eacute chamado o formato ndash devido a inuacutemeras questotildees teacutecnicas no documento ofi cial que descreve o formato

Votaram como o Brasil o Canadaacute e a China aleacutem de Cuba Equa-dor Iacutendia Iratilde Nova Zelacircndia Aacutefrica do Sul e Venezuela totalizando oito votos de membros P (participantes) e dois de membros O (observadores incluindo o Brasil) da ISO Diversos paiacuteses se abstiveram muitos deles emitindo comentaacuterios a esse respeito

O periacuteodo anterior agrave votaccedilatildeo foi alvo de diversas denuacutencias e acusaccedilotildees relativas a alguns oacutergatildeos nacionais e influecircncias exter-nas e internas de voto

Aleacutem das falhas teacutecnicas apontadas nas especifi caccedilotildees do OOXML outro importante argumento contra sua padronizaccedilatildeo junto agrave ISO eacute a exis-tecircncia do formato ODF ( Open Document Format ) criado de forma aberta pela organizaccedilatildeo OASIS cujo objetivo eacute justamente o de proporcionar um formato de arquivos de escritoacuterio (documentos planilhas apresenta-ccedilotildees etc) legiacutevel por qualquer programa que o deseje e que jaacute havia sido aprovado como o padratildeo ISOIEC 26300 em 2006

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

24

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Agraves 9h34min de uma rara manhatilde nublada em Porto de Galinhas Brasil Sandro Alves Gerente

de Desenvolvimento de Novos Ne-goacutecios do Instituto Nokia de Tecno-logia (INdT)[1] inaugurou a ediccedilatildeo 2008 da Bossa Conference[2] Ele apresentou um curto viacutedeo contan-do detalhes da histoacuteria e das atraccedilotildees de Porto de Galinhas Recife e do Estado de Pernambuco

Alves deu as boas vindas ao puacuteblico internacional de 250 pessoas ainda em-polgado com a ediccedilatildeo de 2007 da Bossa Conference e seu grande sucesso Logo apoacutes a abertura o gerente explicou o trabalho do INdT e mais importante por que seus funcionaacuterios o fazem

Design e conceitoSandro caracteriza o INdT como um instituto ldquomovido por design e conceitordquo e natildeo ldquopor tecnologiardquo embora deixe perfeitamente claro que natildeo se trata de uma criacutetica aos desenvolvedores de Coacutedigo Aberto ldquoQuando comeccedilamos eacuteramos movi-dos pela tecnologiardquo afirmou ldquomas gradualmente fomos percebendo que a abordagem orientada ao de-sign e conceito era muito melhor e isso tem funcionado muito bem desde entatildeordquo

A unidade do INdT em Recife emprega apenas Coacutedigo Aberto no desenvolvimento de novos aplicati-vos e plataformas para dispositivos moacuteveis da Nokia e eacute esse o tema central da Bossa Conference ldquoo evento eacute projetado para promover interaccedilatildeo entre os desenvolvedoresrdquo coloca Sandro ldquoA Bossa Conference

eacute projetada para maximizar o tempo de interaccedilatildeo entre as pessoasrdquo

Na praacuteticaAssim como na ediccedilatildeo 2007 do even-to[3] todos os dias contaram com sessotildees voltadas agrave parte praacutetica dos sistemas de software que compotildeem os dispositivos moacuteveis da Nokia Daniel Rocha apresentou o uso de Python para o desenvolvimento de aplicati-vos sobre a plataforma S60 seguido de Mario Hozzano e Leandro Sales que mostraram como utilizar essa mesma linguagem na programaccedilatildeo para a plataforma Maemo No se-gundo dia Thiago Santos mostrou na praacutetica como criar plugins para o sistema multimiacutedia GStreamer e apoacutes o almoccedilo Denis Kenzior abordou a programaccedilatildeo de aplicativos com uso de Bluetooth e OBEX para a plataforma Qtopia desenvolvida pela norueguesa Trolltech e recentemente adquirida pela Nokia Finalizando as sessotildees praacuteticas do evento Marcelo Oliveira e Gustavo Barbieri ambos do INdT mostraram como desenvolver inter-faces usando Python e as bibliotecas EFL seguidos de Dave Andreoli que mostrou outras formas de ir mais fun-do no uso dessas bibliotecas

EspecialistasCom sua especializaccedilatildeo em dispo-sitivos moacuteveis de comunicaccedilatildeo e conectividade o INdT foi capaz de reunir em Porto de Galinhas um impressionante nuacutemero de sumidades em grande parte das tecnologias que compotildeem esse crescente mercado

Michael ldquoMickeyrdquo Lauer (figura 1) um dos criadores do smartphone total-mente livre OpenMoko[4] discursou sobre a construccedilatildeo de distribuiccedilotildees Linux especiacuteficas para o mercado de sistemas embarcados com o OpenEm-bedded[5] Em uma entrevista[6] dada agrave Linux Magazine logo em seguida o alematildeo exibiu alguns protoacutetipos do dispositivo fabricado pela FIC e con-tou a histoacuteria do desenvolvimento do aparelho que encheu os olhos de todo o puacuteblico presente (figura 2) chamado frequumlentemente de ldquoplaygroundrdquo para hackers tamanha sua flexibilidade Harald Welte outro alematildeo partici-pante do projeto tratou de apresentar agrave plateacuteia o conceito de um smartphone verdadeiramente aberto

Depois do almoccedilo Alp Toker de-monstrou ainda os grandes avanccedilos do mecanismo de renderizaccedilatildeo de paacuteginas web Webkit de autoria da Apple e derivado do KHTML do projeto KDE O desenvolvedor do Webkit demonstrou como a equipe de desenvolvimento do renderiza-dor tem preocupaccedilatildeo com o uso de memoacuteria [7] o que vem rendendo

Figura 1 Mickey Lauer exibe dois protoacute-tipos do FIC Neo Freerunner

Bossa Conference 2008

A bossa da mobilidadeCom um evento uacutenico no mundo a Bossa Conference do Instituto Nokia de Tecnologia em Recife comemora sua entrada no calendaacuterio internacionalpor Pablo Hess

copy Linux New Media do Brasil Editora Ltda

25

| CORPORATEBossa Conference 2008

Linux Magazine 42 | Maio de 2008

vaacuterios testes desse mecanismo nos dispositivos moacuteveis que satildeo o centro da Bossa Conference

Na aacuterea de tecnologias visuais ndash um dos fetiches desse mercado ndash Carsten ldquoRastermanrdquo Haitzler criador do re-conhecidamente inovador ambiente desktop Enlightenment demonstrou os motivos do crescente interesse por parte dos desenvolvedores de dispositivos embarcados pelas bibliotecas graacuteficas que compotildeem seu software ndash especial-mente em relaccedilatildeo ao consumo de re-cursos ndash o que pode acabar por render a essas bibliotecas o posto atualmente ocupado pela GTK[8] Oslashyvind Kolarings colaborador de diversos projetos de Soft-ware Livre na aacuterea visual como Cairo e Gimp tambeacutem explicou as necessi-dades de hardware para a interface dos futuros dispositivos moacuteveis enquanto Chris Wilson tambeacutem envolvido com o Cairo falou sobre seu processo de desenvolvimento enfatizando os testes de funcionalidades

Ainda na questatildeo multimiacutedia Lennart Poetering descreveu a aplicaccedilatildeo do ser-vidor de aacuteudio PulseAudio em dispositi-vos embarcados enquanto Zach Rusin mostrava na sala ao lado os benefiacutecios que os drivers Gallium3D prometem trazer agrave aacuterea de graacuteficos 3D Logo em seguida Conrad Parker completou o tema com sua palestra sobre aspectos internos de reprodutores de viacutedeo

Os organizadores tambeacutem incluiacuteram no programa seminaacuterios sobre questotildees especialmente importantes em dispo-

sitivos moacuteveis como a depuraccedilatildeo do sistema de comunicaccedilatildeo entre processos D-Bus (ministrado por J5 Palmieri) o armazenamento local de dados (semi-naacuterio de Alexandre Oliva)

As tendecircncias de desenvolvimento tambeacutem figuraram entre os assuntos debatidos Daniel Gentleman apre-sentou formas de interaccedilatildeo entre os projetos de Coacutedigo Aberto e as comunidades que os utilizam dei-xando clara a necessidade de desen-volvimento nesse campo

A questatildeo da mobilidade foi disseca-da por Marcel Holtmann mantenedor de diversas das pilhas de protocolos de comunicaccedilatildeo sem fio no kernel Linux Segundo Marcel o Linux pos-sui suporte a diversos protocolos de comunicaccedilatildeo que nem mesmo estatildeo disponiacuteveis comercialmente o que o torna um sistema ideal para os dispo-sitivos moacuteveis de comunicaccedilatildeo

Nesse mundo de tantos aparelhos com exigecircncias aparentemente para-doxais ndash cada vez mais funcionalida-des em dispositivos progressivamente menores ndash a Intel tambeacutem esteve presente com seu Mobile Internet Device equipado com o igualmente novato Ubuntu Mobile Edition Adil-son Oliveira da Canonical apresen-tou agrave imprensa um aparelho natildeo tatildeo pequeno quanto os demais do evento e evidentemente com objetivos dife-rentes ndash o MID eacute um subnotebook reduzido tanto em capacidade quan-to em tamanho ndash mas equipado com uma distribuiccedilatildeo que promete mexer com esse mercado[9]

Um evento uacutenicoSe o mercado de software para disposi-tivos embarcados tem diversas particu-laridades a Bossa Conference age de acordo Nas duas noites do evento os participantes foram levados a ambien-tes que propiciavam a interaccedilatildeo o que certamente ajudou muito a troca de ideacuteias entre o puacuteblico e as ldquocelebrida-desrdquo com uma proximidade raramente vista em outros eventos

Mais informaccedilotildees

[1] INdT httpwwwindtorgbr

[2] Bossa Conference httpbossaconferenceindtorg

[3] Bossa Conference 2007 ldquoO futuro da mobilidaderdquo httpwwwlinuxmagazinecombrarticleo_futuro_da_mobilidade

[4] OpenMoko httpwwwopenmokoorg

[5] OpenEmbedded httpwwwopenembeddedorg

[6] ldquoO celular mais livre do mundordquo httpwwwlinuxmagazinecombrlmnoticiao_celular_mais_livre_do_mundo

[7] ldquoWebkit em todo canto ndash mesmordquo httpwwwlinuxmagazinecombrlmnoticiabossa_conference_2008_webkit_em_todo_canto_ndash_mesmo

[8] ldquoEnlightenment vai destronar GTKrdquo httpwwwlinuxmagazinecombrnoticiabossa_conference_enlightenment_vai_destronar_gtk

[9] ldquoUbuntu para dispositivos embarcadosrdquo httpwwwlinuxnewmediacombrnoticiaubuntu_para_dispositivos_embarcados

Figura 2 O FIC Neo Freerunner eacute o segundo modelo de smartphone da FIC a utilizar a plataforma OpenMoko

Segundo o ldquodono da festardquo Sandro Alves os participantes do evento satildeo pes-soas que ldquoamam criar coacutedigordquo como definem a si proacuteprios ldquosem nenhuma inclinaccedilatildeo poliacutetica ou ideoloacutegicardquo O limite de 250 pessoas afirma Sandro eacute para garantir que apenas as pessoas mais qualificadas e motivadas participem do evento garantindo assim o retorno po-sitivo de todos -- do puacuteblico dos pales-trantes e ateacute dos organizadores

copy Linux New Media do Brasil Editora Ltda

26

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Hardware Coacutedigo Aberto e Software Enablement

Software bem rodadoPor que um fabricante de hardware teria interesse em um software de Coacutedigo Aberto Entenda o Software Enablement e seus motivospor Sulamita Garcia

No final do ano passado tive a oportunidade de partici-par de uma conferecircncia da

Intel sobre Software Enabling Mas o que eacute isso e o que tem a ver com Software Livre

A dependecircncia entre software e hardware na computaccedilatildeo sempre foi uma discussatildeo do tipo ldquoo ovo e a gali-nhardquo Hardware natildeo faria nada sem o software software natildeo faria nada sem o hardware Combinados poreacutem eles fazem tudo o que conhecemos na aacuterea Conforme a tecnologia evolui o hard-ware se torna mais raacutepido ao mesmo tempo em que consome menos energia e tem o tamanho reduzido Isso torna possiacutevel adicionar mais funcionalidades tais como melhorar a possibilidade de virtualizaccedilatildeo integrar redes sem fio ou ter multiplos nuacutecleos para processar vaacute-rias instruccedilotildees ao mesmo tempo Mas para que essas novas funcionalidades faccedilam diferenccedila o software precisa ser escrito ou modificado para utilizaacute-la O Software Enabling eacute a atividade de ajudar a escrever esse software

Entatildeo como fazemos isso acon-tecer Vamos ver como geralmente acontece trabalhando com empresas de coacutedigo fechado

No radarQuando o software tem uma boa base de usuaacuterios ou um bom propoacutesito ele pode aparecer no radar da companhia de hardware Quando a empresa de software jaacute pode ter um relacionamento com a empresa de hardware e jaacute estaacute no

radar Os dois lados hardware e software comeccedilam a conversar O primeiro pas-so geralmente eacute assinar um acordo de confidencialidade ndash NDA ndash que defina os limites sobre as informaccedilotildees com-partilhadas Entatildeo os engenheiros de ambas empresas comeccedilam a trabalhar no projeto para o qual foram designa-dos O tamanho desse time depende do projeto das empresas envolvidas da base de usuaacuterios que se deseja al-canccedilar e de outros fatores Depois de algum tempo a empresa de software finalmente termina de escrever o coacute-digo e comeccedila a vendecirc-lo Pode exis-tir alguma campanha em conjunto em que as duas empresas invistam algum dinheiro em marketing para mostrar o resultado daquele coacutedigo Algumas vezes isso traz os resultados esperados e outras vezes natildeo mas eacute assim que funciona

Poreacutem existe outra maneira de fazer esse mesmo processo Quando uma companhia de hardware se aproxima de uma empresa de software aberto elas podem assinar um contrato de confidencialidade tambeacutem dependen-do dos projetos em que essas empresas trabalham Mas quando uma empresa de hardware quer se aproximar de uma comunidade relacionada a um projeto em particular natildeo existe uma pessoa para assinar um NDA por todos e isso nem faria sentido Pela natureza do Coacutedigo Aberto as informaccedilotildees sobre o projeto tambeacutem satildeo abertas Qual-quer bom projeto tem pelo menos uma lista de afazeres ndash TODO ndash em que eacute

possiacutevel verificar quais as prioridades para o projeto e quais os planos futu-ros Alguns projetos mais maduros tecircm um planejamento um roadmap Um bom projeto tambeacutem tem um sistema de rastreamento de falhas em que as pessoas podem relataacute-las verificar o seu estado saber como corrigir um proble-ma em particular e ateacute como ajudar a resolver alguns desses problemas Entatildeo quando se aproxima desses projetos qualquer um jaacute tem uma boa ideacuteia do funcionamento dele antes mesmo de falar com os responsaacuteveis

Digamos que com essas informa-ccedilotildees a empresa de hardware tenha decido que aquele projeto era inte-ressante e que valeria a pena traba-lhar com os desenvolvedores Entatildeo a empresa comeccedila a se engajar com alguns dos principais engenheiros que podem apontar quais pessoas tecircm possibilidade de dedicar tempo a trabalhar com seu hardware Eles provavelmente vatildeo precisar de ajuda no comeccedilo e entatildeo a empresa pode providenciar alguns sistemas para teste acesso a documentaccedilatildeo e ajuda espe-cializada dos seus engenheiros

ColaboraccedilatildeoMas logo um dos melhores aspectos do Coacutedigo Aberto comeccedila a mostrar-se enquanto outros engenheiros natildeo apenas os da empresa comeccedilam a aprender sobre como lidar com o hardware podem ajudar outras pessoas no projeto a aprenderem tambeacutem E esse esforccedilo tambeacutem

Julia

Eis

enb

erg

- w

ww

sxc

hu

copy Linux New Media do Brasil Editora Ltda

27

| CORPORATESoftware Enablement

Linux Magazine 42 | Maio de 2008

aumentaraacute a base de conhecimen-to e o nuacutemero de profissionais com esse conhecimento

Depois disso podemos ter um software preparado para mostrar as novas capacidades do seu hardware Quem entatildeo vai distribuir esse soft-ware Primeiramente os projetos sempre tecircm seu proacuteprio website Provavelmente os usuaacuterios desse software tambeacutem iratildeo querer testar essa nova versatildeo e entatildeo automati-camente eacute criada uma nova base de usuaacuterios A blogosfera jaacute provou ser poderosa para espalhar novas ideacuteias e natildeo eacute incomum desenvolvedores de software falarem em que andam trabalhando ou o que vecircm testando Aleacutem de divulgar suas atividades isso tambeacutem ajuda na documentaccedilatildeo E se vocecirc ainda conseguir ajudaacute-los a integrar este a outros projetos em que estejam trabalhando melhor ainda Os custos para esse tipo de aproxima-ccedilatildeo satildeo consideravelmente menores em relaccedilatildeo ao modelo anterior e o

nuacutemero de especialistas na plataforma aumentou consideravelmente

Interesse em softwareTodavia haacute algo que muitas empre-sas natildeo entendem por que os de-senvolvedores de Coacutedigo Aberto se importariam com o hardware Bem essa eacute uma parte bastante delicada mas cabe agraves empresas demonstra-rem Isso requer bastante humildade afinal de contas o projeto em ques-tatildeo chegou ao sucesso mesmo sem apoio da empresa Tentar dar ordens certamente natildeo vai funcionar nem usar a sua grande e poderosa marca como se eles devessem ser gratos pela empresa ter-se interessado O mais importante eacute que o produto precisa ser bom Quando se trata dos desenvolvedores principais estamos falando de profissionais altamente qualificados que construiacuteram um projeto suficientemente bom para chamar a atenccedilatildeo de uma grande empresa Entatildeo maquiar os pro-

blemas de um produto ou inventar recursos que natildeo existem ou natildeo fun-cionam natildeo vatildeo render pontos para o produto A honestidade eacute sempre valorizada esse eacute um ponto muito importante e vale a pena reforccedilar Se vocecirc fizer isso pode conquistar valiosos aliados para os projetos que tambeacutem apreciam serem re-conhecidos por marcas admiradas mas somente se isso natildeo custar a integridade do projeto

Algumas empresas falharam porque tentaram dizer o que os desenvolvedores deveriam fazer ou mudar os objetivos do projeto ou mexer com as suas razotildees ideoloacute-gicas ndash eles acreditam em Coacutedigo Aberto natildeo se esqueccedila disso

Sobre o autorSulamita Garcia eacute Gerente de Estrateacutegia Linux e Open Source para Ameacuterica Latina da Intel e uma das coordenadoras do gru-po Linux Chix

copy Linux New Media do Brasil Editora Ltda

28

CORPORATE

httpwwwlinuxmagazinecombr

Entrevista com Theron Morato responsaacutevel pela aacuterea de Iniciativas Estrateacutegicas em eSOA da SAP Brasil

100 de serviccediloA SAP estaacute reestruturando sua arquitetura para incorporar a disciplina da SOA agraves suas ofertas Veja o que esse novo paradigma significa para a empresapor Pablo Hess

A disciplina da arquitetura orientada a serviccedilos (SOA) demanda o contato entre os

funcionaacuterios de TI e os responsaacuteveis pelos negoacutecios A alematilde SAP faz isso haacute anos e tem reconhecimento internacional por suas soluccedilotildees A Linux Magazine conversou com Theron Morato responsaacutevel pela aacuterea de iniciativas estrateacutegicas em eSOA da SAP Brasil a respeito das

accedilotildees da empresa no campo de SOA e sua relaccedilatildeo com padrotildees abertos e o Coacutedigo AbertoLinux Magazineraquo Qual a importacircncia do mercado de SOA para os negoacute-cios da SAPTheron Moratoraquo Extremamente im-portante Haacute pelo menos trecircs anos a SAP vem investindo fortemente para redesenhar sua arquitetura e assimilar integralmente o conceito de SOA em suas soluccedilotildees aleacutem de participar ativamente de iniciativas de padronizaccedilatildeo linguagens de especificaccedilatildeo de processos e ofe-recer todas as suas soluccedilotildees como serviccedilos Hoje podemos dizer que a empresa tem uma estrateacutegia soacute-lida e estruturada de enterprise SOA (eSOA)

LMraquo Qual eacute a estrateacutegia da SAP para o mercado de SOA Que tipo de parcerias a empresa tem firmado nessa aacutereaTMraquo A estrateacutegia que desenvolve-mos trabalha com uma semacircntica de negoacutecios que tem mais sentido para o analista de negoacutecios sem o vieacutes teacutecnico Isso natildeo significa que a tecnologia natildeo seja importante mas para o puacuteblico que mais se beneficia

do SOA que vem das aacutereas de negoacute-cios a tecnologia que implementa os conceitos da arquitetura orientada a serviccedilos deve ser transparente

A necessidade de uma semacircntica de negoacutecios se justifica principalmen-te porque natildeo basta termos apenas os agrupamentos de Web Services proxies e interfaces pois nem sempre a inte-graccedilatildeo desses elementos eacute a melhor maneira de solucionar um desafio de negoacutecios As parcerias firmadas vecircm sendo feitas em todos os niacuteveis de fornecedores de hardware a fornece-dores de soluccedilotildees complementares agraves soluccedilotildees da SAPLMraquo Com a disciplina do SOA em voga atualmente quais as expecta-tivas da SAP para esse mercado nos proacuteximos anos

TMraquo Nos uacuteltimos trecircs anos os ar-quitetos e consultores da SAP tecircm prestado serviccedilos relativos a dife-rentes aspectos do SOA entre eles o roadmap de eSOA Trata-se do desenho de soluccedilotildees de novos pro-cessos de negoacutecios com a visatildeo de que eles seratildeo reutilizaacuteveis e teratildeo vantagens quando implementados com a disciplina do SOA Com tudo isso pronto nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios com uma plataforma abrangente de serviccedilosLMraquo Como eacute a relaccedilatildeo da SAP com os fornecedores de componentes para a infra-estrutura de SOA como sistema operacional e middleware especifi-camente os de Coacutedigo AbertoTMraquo A SAP tem uma relaccedilatildeo de par-ceria com a Novell para que nossos sistemas possam utilizar como base o sistema operacional SUSE Linux Enterprise o qual jaacute eacute empregado inclusive nas aplicaccedilotildees BIAccelera-tor e Enterprise Search em parceria com a HP IBM e IntelLMraquo Qual a relaccedilatildeo entre Coacutedigo Aber-to (incluindo padrotildees abertos) e SOA Como a SAP apoacuteia essas iniciativasTMraquo A SAP estaacute alinhada aos padrotildees e ferramentas de desenvolvimen-to abertas como Eclipse Struts Hibernate e linguagens de script Nosso objetivo com isso eacute facilitar o envolvimento de desenvolvedores Java e SOA na estrutura de enterprise SOA da SAP e no SAP BPP (Business Process Platform)

Nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios

copy Linux New Media do Brasil Editora Ltda

29Linux Magazine 42 | Maio de 2008

CORPORATE

Green IT soluccedilotildees para as empresas de TI

Cezar TaurionO consumo de energia dos computadores jaacute estaacute recebendo uma maior parcela de atenccedilatildeo que no passado o que pode ajudar o Linux a se destacar no mercadopor Cezar Taurion

O tema ldquoGreen ITrdquo estaacute comeccedilando a ser debatido na miacutedia e em algumas ainda esparsas conversas sobre TI Ele jaacute faz

parte da agenda de diversos eventos importantes e o uacuteltimo CeBIT foi tambeacutem palco de vaacuterios anuacutencios mostrando a preocupaccedilatildeo crescente das empresas com as questotildees ecoloacutegicas Foi inclu-sive criada uma ldquoGreen IT Villagerdquo um saguatildeo dedicado inteiramente agraves discussotildees ecoloacutegicas e agrave exposiccedilatildeo de produtos que jaacute usam soluccedilotildees de economia de energia e materiais menos agressivos ao meio ambiente

Mas por que tanta atenccedilatildeo em torno do Green IT Nosso planeta estaacute ameaccedilado pelo aquecimento global Noacutes jaacute impusemos tensotildees cada vez maiores ao finito e limitado meio ambiente ultrapassando a sua capacidade de se sustentar Jaacute consumimos 25 mais recursos naturais a cada ano do que o planeta eacute capaz de repor E nesse ritmo em 2050 estaremos consumindo mais que o dobro da capa-cidade da Terra

E a TI natildeo fica fora do consumo de energia Agrave medida que os servidores se tornam mais poderosos demandam mais energia e nos EUA jaacute representam cerca de 12 de todo o consumo de eletricidade

O Gartner Group cita que em 2010 cerca de metade das empresas listadas na relaccedilatildeo Forbes 2000 estaratildeo gastando mais dinheiro com energia que com seus computadores Seu estudo diz ainda que em meacutedia entre 30 e 60 da energia demandada em um datacenter eacute desperdiccedilada E lembra que a TI estaacute hoje como a induacutestria automotiva estava haacute 20 anos comeccedilando a ser pressionada por maior eficiecircncia energeacutetica

Diante desse quadro os analistas comeccedilam a cha-mar atenccedilatildeo para o gasto com energia (dos servidores e dos equipamentos de refrigeraccedilatildeo) e dizem que em breve os CFOs estaratildeo bem mais preocupados com o assunto Alguns paiacuteses estatildeo comeccedilando a estudar legislaccedilotildees que visem a incentivar e em al-guns casos mesmo a obrigar os datacenters a serem

mais eficientes no consumo de energia Com cer-teza o tema vai se tornar cada vez mais importante nos proacuteximos anos

Na minha opiniatildeo temos as condiccedilotildees de uma ldquoPerfect Stormrdquo que vai disparar accedilotildees ldquoverdesrdquo O termo ldquoPerfect Stormrdquo significa a ocorrecircncia si-multacircnea de eventos que se tornam muito mais poderosos e impactantes quando combinados Esses eventos satildeo a crescente conscientizaccedilatildeo da realidade do aquecimento global os crescentes custos de energia e as crescentes mudanccedilas e demandas regulatoacuterias no mundo todo Isolados esses eventos tecircm certo impacto mas quando combinados deveratildeo gerar uma tendecircncia irre-sistiacutevel em direccedilatildeo a uma TI Verde

Imagino que em poucos anos (talvez jaacute em 2010) o tema Green IT sairaacute do campo da curiosidade para se tornar mainstream item obrigatoacuterio na agenda de qualquer gestor de TI

Entre as tecnologias que vatildeo ganhar muito im-pulso nesse contexto citamos a virtualizaccedilatildeo e consolidaccedilatildeo de servidores e datacenters Tambeacutem a discussatildeo sobre thin clients versus PCs completos comeccedilaraacute a ter outro apelo

E onde entra o Linux nessa histoacuteria Entra com muita forccedila nas tecnologias acima Soacute para termos uma ideacuteia da importacircncia do tema a Li-nux Foundation criou uma iniciativa especiacutefica acessiacutevel em httpwwwlinux-foundationorgenGreen_Linux Com isso imagino que o Linux te-nha grandes chances de se tornar um verdadeiro sistema operacional ldquoverderdquo aumentando seu niacutevel de utilizaccedilatildeo mundial

Sobre o autorCezar Taurion (ctaurionbribmcom) eacute diretor de novas tecnologias aplicadas da IBM Brasil e editor do primeiro blog da Ameacuterica Latina do Portal de Tecnologia da IBM developerWorks www-03ibmcomdeveloperworksblogspagectaurion

copy Linux New Media do Brasil Editora Ltda

30

CORPORATE

httpwwwlinuxmagazinecombr

Reflexotildees sobre o desenvolvimento do Coacutedigo Aberto

Ricardo BimboO recente estudo da Linux Foundation sobre o desenvolvimento do kernel Linux indica a participaccedilatildeo de empresas mas eacute errado imaginar que os tradicionais voluntaacuterios estejam desaparecendopor Ricardo Bimbo

Uma recente pesquisa divulgada pela Linux Foundation[1] sobre o desenvolvimento do kernel chamou a atenccedilatildeo de diversos blogs

e sites de notiacutecia para a participaccedilatildeo de funcionaacuterios de empresas dedicados ao dia-a-dia das atividades de manutenccedilatildeo correccedilatildeo e desenvolvimento do kernel Linux Algo como 10000 patches da atual versatildeo 26 envolveram 1000 colaboradores e 100 companhias contra 3700 colaboradores individuais e mais de 200 empresas em 2005

A presenccedila cada vez maior de empresas com cola-boradores dedicados ao trabalho no kernel evidencia as companhias que tecircm hoje no Linux a principal ou uma das principais fontes de receita Red Hat IBM Intel Novell e a proacutepria Linux Foundation juntas com os usuaacuterios do Linux estatildeo na linha de frente do trabalho de manutenccedilatildeo do kernel

Isso demonstra que o desenvolvedor solitaacuterio independente estaacute no fim Todos estatildeo vendendo sua forccedila de trabalho intelectual Natildeo A conclu-satildeo do estudo da Linux Foundation daacute uma dica a esse respeito ldquoO kernel Linux eacute um dos projetos de Coacutedigo Aberto melhor sucedidosrdquo Existem outros projetos tambeacutem de extrema grandeza ndash como Apa-che BrOfficeorg Firefox Gnome KDE MySQL e PostgreSQL ndash que disputam o tempo de vaacuterios desenvolvedores e tecircm a participaccedilatildeo de empresas Isso sem contar os projetos de distribuiccedilotildees como Fedora e Debian aleacutem dos mais de 170 mil projetos ativos no SourceForge[2] e de um incontaacutevel nuacuteme-ro de projetos em outros repositoacuterios

O SourceForge sozinho possui quase dois mi-lhotildees de usuaacuterios registrados e eacute um erro imaginar-mos que sejam todos programadores Natildeo eacute difiacutecil encontrar chamadas solicitando a participaccedilatildeo de gerentes de projetos especialistas em processos especialistas em economia contabilidade recursos humanos e uma infinidade de outras especializaccedilotildees e conhecimentos

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores E muitas vezes esses ldquovoluntaacuteriosrdquo sentem-se mais eficazes atuando em projetos que tecircm uma aplicabilidade no meio em que convivem ou em projetos que possam dar sua contribuiccedilatildeo dife-renciada seja para destacar-se em seu ambiente ou soacute por prazer mesmo

Isso demonstra claramente mais uma vantagem do Coacutedigo Aberto e do desenvolvimento compar-tilhado Natildeo importam os motivos que levem uma pessoa a participar ou trabalhar em um projeto a curva de participaccedilatildeo de empresas e seus co-laboradores estaacute deliberadamente vinculada agraves curvas de crescimento do projeto e ao nuacutemero de usuaacuterios Isso reordena o processo produtivo e de desenvolvimento de negoacutecios abrindo um leque de novas oportunidades

Mais informaccedilotildees

[1] Estudo da Linux Foundation httpswwwlinux-foundationorgpublicationslinuxkerneldevelopmentphp

[2] Sourceforge httpwwwsourceforgenet

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores

Sobre o autorRicardo Bimbo eacute Government Relations da Red Hat Brasil e defen-de a ideacuteia de que todo o conhecimento deve ser compartilhado

copy Linux New Media do Brasil Editora Ltda

LPIindd 1 261107 163706

copy Linux New Media do Brasil Editora Ltda

32

CORPORATE

httpwwwlinuxmagazinecombr

Como o PVM influi no mundo BPM

Edgar SilvaA modelagem de processos de negoacutecios pode beneficiar-se muito do uso do PVM ndash Process Virtual Machinepor Edgar Silva

Quando falamos em Business Process Modeling um dos diversos significados de BPM frequumlentemente nos depara-

mos com vaacuterias questotildees importantes Destas podemos destacar algumas Qual linguagem de processo utilizar A linguagem escolhida suporta as necessidades

reais de uma forma-padratildeo Como fazer com que de fato uma mudanccedila

no modelo de negoacutecio se reflita no mecanismo de execuccedilatildeo dos serviccedilos da empresa

As respostas para essas questotildees pairam como um desafio para os arquitetos e engenheiros de software nos dias de hoje Como o segredo da induacutestria estaacute na padronizaccedilatildeo nada mais oacutebvio que investir em um trabalho colaborativo que beneficie tanto as empresas quanto as comunidades de Software Livre e claro os clientes finais

Uma novidade no mundo BPM eacute o PVM (Process Virtual Machine ou Maacutequina Virtual de Processos) que vou abordar neste artigo

A induacutestria tem buscado aplicar os conceitos de workflow e em paralelo diagramas de estado e outras formas de diagramaccedilatildeo vecircm sendo apresentados ao mercado diariamente Entretanto ainda se percebe um abismo entre o ldquodesenhordquo e a ldquoexecuccedilatildeordquo dos fluxos Em sua nova roupagem os workflows ago-ra mais conhecidos como BPM tentam aproximar esses dois pilares O objetivo do PVM eacute promover uma forma-padratildeo de criar metadados padronizados de tudo que eacute comum a um fluxo um workflow ou uma maacutequinadiagrama de estado

Imagine uma foto Ela possui vaacuterias informa-ccedilotildees de metadados como fabricante e dia e hora em que foi tirada Haacute sites como o Flickr[1] que conseguem ler e apresentar esses dados in-dependendo do fornecedor desde que utilizem esses padrotildees Essa eacute mais ou menos a ideacuteia da PVM Entre seus objetivos estaacute a abstraccedilatildeo geral de qualquer tipo de fluxo e sua possiacutevel lingua-

gem de definiccedilatildeo A PVM eacute a abstraccedilatildeo por traacutes de qualquer modelo ou linguagem que a defi-niu Dessa forma natildeo importa a linguagem de construccedilatildeo do fluxo porque no final todos po-deratildeo ser lidos e gerar uma uacutenica visatildeo de fluxo dentro da PVM

O mercado tem apontado inuacutemeras linguagens para definiccedilatildeo dos processos como BPEL[2] XPDL[3] jPDL e RulesFlow entre outras Espera-se agora que haja interoperabilidade dos serviccedilos dentro de uma Arquitetura Orientada a Serviccedilos (SOA) E por que natildeo pensar tambeacutem na interoperabilidade entre diversos modelos de processos em diferentes linguagens cooperando e colaborando na execuccedilatildeo de fluxos de processos de negoacutecio

Para concluir o aspecto mais interessante do PVM eacute a total separaccedilatildeo do desenho da execuccedilatildeo e de suas linguagens Isso com certeza eacute um marco muito importante para a concepccedilatildeo de mecanismos de processos o que soacute vai agregar valor agraves vaacuterias so-luccedilotildees que utilizam os recursos e os conceitos de workflow e de BPM

Mais informaccedilotildees

[1] Flickr httpwwwflickrcom

[2] BPEL na Wikipeacutedia httpenwikipediaorgwikiBPEL

[3] XPDL httpwwwwfmcorgstandardsxpdlhtm

Sobre o autor

Edgar Silva (edgarsilvaredhatcom) eacute Arquiteto de Soluccedilotildees JBoss na Red Hat Brasil Com experiecircncia em obje-tos distribuiacutedos (Corba COM+ e Java) desde 1998 nos uacuteltimos anos Edgar vem pesquisando aplicando e ministrando pales-tras e treinamentos no Brasil e no exterior sobre assuntos de alta tecnologia incluindo JavaEE e SOA

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

SOA explicada

Sirva-se com softwareSoftware e serviccedilo agora satildeo com frequumlecircncia a mesma coisa A arquitetura orientada a serviccedilos proporciona o funcionamento adequado de todos os componentespor Pablo Hess

Softwares multi-plataforma jaacute estatildeo no mercado haacute tempos As linguagens de programaccedilatildeo ditas ldquode scriptrdquo por exemplo como Perl Python

Ruby e Tcl para citar apenas as mais populares satildeo capazes de executar instruccedilotildees em qualquer plata-forma que possua uma versatildeo de seu interpretador inclusive com vistosas interfaces graacuteficas

A oferta da Sun Microsystems o Java vai um passo aleacutem oferecendo toda uma maacutequina virtual que trata de toda a interaccedilatildeo com o sistema opera-cional subjacente o que facilita ainda mais a cria-ccedilatildeo de softwares multi-plataforma Atualmente com os sistemas de Coacutedigo Aberto ndash como o Linux ndash aumentando sua presenccedila no mercado mas com outros sistemas Unix e Windowsreg tambeacutem presentes de forma significa-tiva eacute cada vez

CA

PA

34 httpwwwlinuxmagazinecombr

mais importante que os softwares corporativos sejam capazes de rodar em muacuteltiplas plataformas

Tamanha eacute a importacircncia disso ndash e do Java nessa foacutermula ndash que a Sun chegou ateacute mesmo a alterar seu coacutedigo de quatro letras usado na bolsa NASDAQ de SUNW para JAVA sugerindo que a relevacircncia da lin-guagem hoje eacute superior agrave tradiccedilatildeo da empresa no ramo de workstations

No entanto mesmo com uma maacutequina virtual prati-camente onipresente nos desktops e servidores atuais haacute dificuldades para distribuir softwares multi-plataforma que dependam de extensotildees ou bibliotecas externas ao nuacutecleo da linguagem Lidar com a instalaccedilatildeo desses

componentes pode ser muito faacutecil para adminis-tradores de sistemas mas com frequumlecircncia

os usuaacuterios natildeo-teacutecnicos satildeo prejudi-cados nessa tarefa

Iacutendice de mateacuterias de capaBem arquitetado paacuteg36Clientes espalhados servidores distribuiacutedos paacuteg40Quase faz cafeacute paacuteg44

copy Linux New Media do Brasil Editora Ltda

ServiccedilosQue tal entatildeo atribuirmos ao administrador a tarefa de instalar o software e todos os compo-nentes requeridos por ele Com isso o usuaacuterio precisaria apenas apontar seu navegador web para a URL do software que localizado no servidor seria executado sem dificuldades e sem necessi-dade de instalaccedilatildeo pelo usuaacuterio

Felizmente essa abordagem ainda traz vanta-gens adicionais Eacute possiacutevel por exemplo utilizar os poderosos componentes da linguagem criada pela Sun para implementar clusters de alta dis-ponibilidade ou alto desempenho permitindo assim que os usuaacuterios desfrutem do software de forma ininterrupta e com desempenho inega-velmente superior ao que seria possiacutevel em seu hardware local

Essa abordagem para a oferta de softwares jaacute eacute usada haacute algum tempo e um de seus exemplos mais populares eacute o Google Docs[1] um conjunto de aplicativos de escritoacuterio disponiacutevel online e gratuitamente para qualquer usuaacuterio Com ele uma pessoa com acesso agrave Internet pode se desfa-zer da necessidade de baixar ou adquirir softwares equivalentes ndash ou quase equivalentes ndash como o BrOfficeorg[2] ou o Microsoft Office

Mais informaccedilotildees

[1] Google Docs httpdocsgooglecom

[2] BrOfficeorg httpwwwbrofficeorg

NomesO software como serviccedilo ou SaaS na sigla em inglecircs eacute tambeacutem uma nova forma de comerciali-zaccedilatildeo de softwares inclusive de Coacutedigo Aberto E a arquitetura necessaacuteria agrave implantaccedilatildeo e desenvol-vimento de softwares sob esse princiacutepio eacute a Arqui-tetura Orientada a Serviccedilos ou SOA

Como vocecirc veraacute nos artigos desta ediccedilatildeo da Linux Magazine a SOA propotildee a infra-estrutura e tambeacutem as diretrizes para que softwares sejam executados como serviccedilos e comuniquem-se uns com os outros de forma semelhante ao que ocorre num sistema operacional tradicional com comunicaccedilatildeo entre processos e biblio-tecas e outros componentes compartilhados

Nas paacuteginas a seguir apresentamos a visatildeo da construccedilatildeo de aplicativos como serviccedilos uma anaacutelise dos princiacutepios da SOA e a plataforma de desenvol-vimento NovaForge fortemente inclinada agrave oferta de softwares como serviccedilo

Boa leitura e bom serviccedilo

Linux Magazine 42 | Maio de 2008 35

SOA explicada | CAPA

copy Linux New Media do Brasil Editora Ltda

36

CA

PA

httpwwwlinuxmagazinecombr

SOA sobre JBoss

Bem arquitetadoA plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de aplicaccedilotildees JBoss Conheccedila-os em detalhespor Edgar Silva

Eacute faacutecil imaginarmos um liacuteder ou gerente de TI fugindo desesperadamente ao ou-

vir a pergunta ldquoO que eacute SOArdquo Embora a resposta simples e direta seja a explicaccedilatildeo da sigla Service Oriented Architecture eacute importante lembrar de que muito mais que orientados a serviccedilos devemos estar orientados para os serviccedilos Partindo desse sentido devemos associar toda essa visatildeo dos servi-ccedilos como agentes impulsionadores de negoacutecios

Um serviccedilo a grosso modo eacute um componente que pode ser reutilizado independentemente de tecnologias departamentos ou empresas Ao mesmo tempo que pode ser geneacuterico ele pode tam-beacutem ser especiacutefico agraves necessida-des e demandas de uma empresa

Quando falamos de SOA eacute um ligeiro engano acreditar que basta entatildeo transformar tudo em Web Services e ndash pronto ndash sua empresa estaacute 100 aderente a SOA Isso pode ser um passo que inclusi-ve leva a questotildees que preparam para os seguintes Ter as peccedilas separadas e isoladas natildeo faz um motor de carro funcionar todas as engrenagens ordens de acon-tecimentos (orquestraccedilatildeo) regras sequumlecircncia de accedilotildees (processos) devem ser previstas para que o conjunto possa funcionar

Quando falamos de SOA eacute importante lembrar que vaacuterios sis-temas ERP no Brasil satildeo legados portanto natildeo possuem aderecircncia a Web Services assim como fal-tam formas de integraccedilatildeo das mais diversas desde a transferecircncia de

arquivos FTP email e ateacute o acesso a banco de dados

A divisatildeo JBoss da Red Hat tem o JBoss SOA Platform como plata-forma voltada para SOA que reuacute-ne em um uacutenico pacote algumas soluccedilotildees descritas abaixo BPM JBoss jBPM Engine de regras JBoss Rules ESB JBoss ESB Persistecircncia de dados JBoss

Hibernate Framework de desenvolvi-

mento de aplicaccedilotildees JBoss Seam

Servidor de aplicaccedilotildees JBoss Application Server

Vale ressaltar que embora o JBoss Application Server sustente todas essas soluccedilotildees de produtos eacute possiacutevel usar qualquer servidor de aplicaccedilatildeo de outros fornecedores

copy Linux New Media do Brasil Editora Ltda

37

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

como IBM WebSphere Oracle AS ou BEA WebLogic Isso soacute eacute possiacute-vel graccedilas aos padrotildees abertos que permitem ao cliente escolher os produtos que melhor supram suas necessidades

A seguir descreveremos cada um dos componentes da platafor-ma SOA oferecidos pela Red Hat sobre seu servidor de aplicaccedilotildees de Coacutedigo Aberto

Servidor de aplicaccedilotildeesO JBoss Application Server eacute a infra-estrutura para a plataforma SOA da Red Hat Com cerca de oito anos de presenccedila no merca-do ele constitui o alicerce que permite executar os outros produ-tos visando a alta performance escalabilidade e seguranccedila para o serviccedilo dos clientes

Robustez no entanto natildeo eacute si-nocircnimo de dificuldade de instala-ccedilatildeo execuccedilatildeo e utilizaccedilatildeo Caso o servidor jaacute possua uma maacutequina virtual Java instalada e confi-gurada basta descompactar os pacotes dos componentes disponiacuteveis no site de proje-tos do JBoss[1] Em seguida vaacute ateacute o subdiretoacuterio bin dentro do diretoacuterio de ins-talaccedilatildeo do JBoss e execute o comando run (em sistemas Windowsreg) ou runsh (em Linux Solaris ou outras va-riantes de Unix) Feito isso o JBoss estaraacute pronto para a instalaccedilatildeo dos seus aplica-tivos Java EE Eacute claro que poderaacute haver necessidade de instalaccedilatildeo de recursos de bancos de dados (Datasour-ces) ou filas JMS Nesse caso e se houver maior interesse informaccedilotildees a respeito destes recursos estatildeo disponiacuteveis na documentaccedilatildeo gratuita do produto

JBoss HibernateA tarefa de construir aplicaccedilotildees Java que se comuniquem com bancos de dados pode ser extremamente facilitada com o uso de uma fer-ramenta ldquomodelo-relacionalrdquo ou ORM como o Hibernate Dentre suas inuacutemeras vantagens podemos citar o fato de que todo o desen-volvimento passa a ser de fato orientado a objetos Isso significa que comandos SQL como insert into update e outros pertencem ao passado dando lugar a procedi-mentos ocorridos inteiramente no ambiente da aplicaccedilatildeo cria-se uma estrutura baseada em um objeto do tipo ldquoclienterdquo e solicita-se que um recurso de sessatildeo (SessionFactory) o salve Nesse momento o Hiber-nate entre suas vaacuterias funccedilotildees conhece a relaccedilatildeo entre o mode-lo de objetos e as informaccedilotildees da estrutura de tabelas do banco de dados Sendo assim caberaacute a ele natildeo mais ao desenvolvedor a ta-refa aacuterdua de lidar com a falta de produtividade da linguagem SQL

a todo momento durante a cons-truccedilatildeo de sistemas

Essa caracteriacutestica do Hibernate tambeacutem eacute fundamental para que as aplicaccedilotildees sejam independentes do servidor de banco de dados Desse modo pode-se trocar de sistema ge-renciador de banco sem aquela antiga preocupaccedilatildeo com o funcionamento de instruccedilotildees SQL em diferentes bancos de dados Portabilidade de fornecedores de bancos de dados e produtividade no desenvolvimento de aplicaccedilotildees satildeo importantes para termos respostas raacutepidas agraves deman-das ocasionadas por uma arquitetura orientada para o serviccedilo

JBoss SEAMQuando algueacutem criticava o Java no passado um dos motivos era o grande nuacutemero de camadas de componentes para realizar uma operaccedilatildeo Em alguns casos o exa-gero de implementaccedilatildeo dos pa-drotildees de projeto (design patterns) ocasionava uma arquitetura com-

Figura 1 Ambiente de projeto de processos do JBoss jBPM

copy Linux New Media do Brasil Editora Ltda

38 httpwwwlinuxmagazinecombr

CAPA | SOA com JBoss

plexa e aplicaccedilotildees sujeitas a erros claacutessicos Pessoalmente ao longo de anos prestando consultoria em frameworks sofisticados perdi a conta de quantas vezes nossa equi-pe encontrou problemas ao fechar conexotildees de bancos de dados ou invocar sem necessidade a consulta de contexto de objetos etc

O Java evoluiu muitiacutessimo nos uacuteltimos anos permitindo a criaccedilatildeo de recursos muito mais estaacuteveis e modernos O resultado foi o surgi-mento de frameworks como o JBoss Seam que reuacutenem em uma uacutenica soluccedilatildeo todo o necessaacuterio para criar aplicaccedilotildees corporativas nos mode-los Web 20 e aderentes a SOA O Seam utiliza como infra-estrutura tecnologias estabelecidas como o Enterprise Java Beans 30 e Java Server Faces aleacutem de toda a riqueza proporcionada pelo Ajax

JBoss jBPMO JBoss jBPM eacute um projeto que resulta em um produto muito mais que em uma soluccedilatildeo de

BPMS (Business Process Manage-ment System) Ele satisfaz tanto aos analistas de negoacutecios quanto aos engenheiros de software pois muito mais que oferecer uma fer-ramenta de desenho para modelar negoacutecios e serviccedilos possui um framework completo para geren-ciamento monitoraccedilatildeo e controle de todas as fases dos fluxos dentro do processo

Como novidade as proacuteximas versotildees do jBPM devem trazer a implementaccedilatildeo do conceito PVM (Process Virtual Machine ndash Maacutequina Virtual de Processos) que em resumo eacute um framework de maacutequina de estado Poreacutem o propoacutesito da PVM vai muito aleacutem disso permite por exemplo abs-trair a linguagem de composiccedilatildeo do desenho de processos Com isso espera-se poder ter inuacutemeras linguagens para definiccedilatildeo como BPEL jPDL XPDL e Seam Page Flow A PVM seraacute capaz de rende-rizar de forma visual os processos definidos independente da lin-guagem empregada

Entre as caracteriacutesticas principais do JBPM estaacute sua possibilidade de execuccedilatildeo sobre qualquer servidor de aplicaccedilotildees Java ou alternati-vamente como serviccedilo Java standalone ndash sem um servidor de aplicaccedilotildees Tambeacutem pode manter os dados a respeito de versotildees e execuccedilotildees dos processos em qualquer banco de dados A figura 1 mostra uma visatildeo do ambiente de projeto e gerenciamento do JBoss jBPM

JBoss RulesO JBoss Rules ou Drools (seu nome na versatildeo co-munitaacuteria) eacute um produto notaacutevel cujas principais caracteriacutesticas satildeo

baixo custo de suporte e au-secircncia de custo de licenccedilas como seus concorrentes

marcante evoluccedilatildeo de versatildeo para versatildeo com estabilidade confiaacutevel

membros brasileiros na equipe de desenvolvimento

Sobre a motivaccedilatildeo para utilizar esse software eacute importante notar que as regras de negoacutecios satildeo os ativos mais alterados dentro de uma arquitetura SOA Respostas raacutepidas e cenaacuterios especiais podem ser alcanccedilados com facilidade separando a maioria das regras de coacutedigos de infra-estrutura e a aplicaccedilatildeo propriamente dita

Realizar alteraccedilotildees em uma aplicaccedilatildeo Java muitas vezes pode ocasionar a perda de tempo para testar novamente todas as partes afetadas pela mudanccedila da rede Poreacutem esse natildeo eacute o grande pro-blema muitos ambientes criacuteticos de produccedilatildeo podem ter a neces-sidade de reinicializaccedilatildeo Usando JBoss Rules a alteraccedilatildeo de uma regra exigiria apenas a alteraccedilatildeo

Figura 2 O editor de regras do JBoss Rules oferece suporte a DSLs em portuguecircs

copy Linux New Media do Brasil Editora Ltda

39

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

do arquivo dessa regra sem a ne-cessidade de tocar no nuacutecleo da aplicaccedilatildeo economizando assim tempo e parte dos testes

As regras de negoacutecio tambeacutem podem possuir seus idiomas proacute-prios ndash um conceito chamado de Domain Specific Language ou DLS que nos permite o uso de jargotildees idiomas expressotildees e dialetos de negoacutecio para compor nossas regras Assim fica mais faacutecil os analistas de negoacutecios comporem as regras no idioma portuguecircs brasileiro

O JBoss Rules pode ser embar-cado em soluccedilotildees de mercado as-sim como executado em qualquer servidor de aplicaccedilotildees Java

Os desenvolvedores tambeacutem dispotildeem de plugins nativos para o Eclipse[2] que permitem o de-senho e o desenvolvimento da escrita de regras O JBoss Rules tambeacutem suporta o desenho de re-gras por meio de diagramas como fluxos de regras Esse recurso tem o nome de RulesFlow e pode ser um guia visual para a execuccedilatildeo de suas regras de negoacutecio ou ajudar a visualizar como possiacutevel orquestrar serviccedilos atraveacutes de regras de ne-goacutecios As figuras 2 e 3 mostram respectivamente o editor de regras em modo de coacutedigo e o ambiente de desenho do RulesFlow

JBoss ESBEm agosto de 2007 a nova versatildeo do JBoss ESB trouxe vaacuterias inova-ccedilotildees e melhorias que fizeram com que seu posicionamento antes ligeiramente atrasado em relaccedilatildeo aos concorrentes de Coacutedigo Aber-to (Apache Service Mix e Mule principalmente) superasse essas alternativas Agora o JBoss ESB compete de igual para igual com soluccedilotildees de fornecedores como BEA Oracle e IBM

O conceito de ESB (Enterprise Service Bus) em termos gerais significa ser o barramento para os serviccedilos que a empresa possui Eacute nele que credenciais de seguran-ccedila single-sign on orquestraccedilatildeo e outras atividades acontecem A questatildeo nesse caso eacute que mui-tos ESBs de mercado pregam que um serviccedilo somente pode ser mascarado ou exposto por meio de um Web Service essa obriga-toriedade no entanto natildeo existe no JBoss ESB jaacute que como prin-cipal diferencial ele ldquoconversardquo com vaacuterios protocolos de registros de serviccedilos

Imagine poder considerar a ge-raccedilatildeo de um arquivo csv vindo do ERP ndash um evento suficiente para disparar vaacuterias atividades dentro da empresa como transformar a

representaccedilatildeo se-parada por virgulas em XML A partir desse XML eacute pos-siacutevel criar objetos Java publicando a partir destes infor-maccedilotildees 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-sas satildeo possiacuteveis com o JBoss ESB

ConclusotildeesEste artigo natildeo tem como objetivo fazer propaganda das soluccedilotildees da Red Hat mas mostrar como essas ferramentas compotildeem uma ofer-ta interessante e altamente capaz de fornecer uma infra-estrutura adequada agrave pratica da SOA em qualquer empresa

O uso dos produtos descritos neste artigo natildeo requer o preenchi-mento de formulaacuterios ou a compra de licenccedilas pois tratam-se todos de Softwares Livres Caso seja ne-cessaacuterio conformar o serviccedilo a um SLA obter garantia ou suporte eacute possiacutevel tambeacutem contratar esses serviccedilos de forma especializada

No Brasil esse modelo parece ser o mais racional jaacute que somente apoacutes investimentos em estudos de viabilidade e adequaccedilatildeo as em-presas escolhem se e como iratildeo contratar suporte

Mais informaccedilotildees

[1] JBoss httpwwwjbossorgprojects

[2] Eclipse httpwwweclipseorg

Figura 3 Interface do editor do Rules Flow que permite o desenho de regras de forma visual

copy Linux New Media do Brasil Editora Ltda

Irum Shahid ndash wwwsxchu

40

CA

PA

httpwwwlinuxmagazinecombr

O desenvolvimento de aplicaccedilotildees e a SOA

Clientes espalhados servidores distribuiacutedos

Como novo paradigma a SOA requer algumas mudanccedilas profundas na forma de projetar implementar e organizar aplicaccedilotildees corporativaspor Antocircnio Godinho

Quando uma nova tecnologia eacute introduzida no mercado uma das principais preocu-

paccedilotildees de qualquer gerente de desenvolvimento eacute perguntar-se ldquoDevo adotar a nova arquiteturardquo ldquoQuais benefiacutecios essa nova soluccedilatildeo traz ao meu ambienterdquo ldquoComo co-meccedilo o processo de adoccedilatildeo da SOA (Service Oriented Architecture)rdquo ldquoO que fazer com as aplicaccedilotildees que jaacute exis-temrdquo e ldquoComo desenvolver aplicaccedilotildees voltadas ao novo ambienterdquo

Avaliar se determinada arqui-tetura ou soluccedilatildeo traz benefiacutecios para nosso ambiente eacute funda-mental Para analisar a primeira questatildeo acima vamos definir al-gumas caracteriacutesticas da arquite-tura orientada a serviccedilos

PrinciacutepiosA base da SOA eacute a definiccedilatildeo do ser-viccedilo que seraacute fornecido Esse servi-ccedilo eacute exposto para seu usuaacuterio com funccedilotildees e interfaces bem definidas eacute independente do consumidor do serviccedilo pode estar codificado em qualquer linguagem e ser executado em qualquer combinaccedilatildeo de plata-forma ou sistema operacional e a in-formaccedilatildeo sobre esse serviccedilo pode ser obtida a partir de algum diretoacuterio na rede Como consequumlecircncia eacute possiacutevel substituir um serviccedilo por uma nova versatildeo executada em outra platafor-ma sistema operacional ou lingua-gem sem afetar o consumidor desse serviccedilo como mostra a figura 1

O consumidor do serviccedilo pode ser o usuaacuterio final ou um outro ser-

viccedilo e dentro do contexto da SOA uma aplicaccedilatildeo eacute um conjunto de provedores de serviccedilos colaborativos residentes ou natildeo em uma mesma plataforma ou organizaccedilatildeo Supondo que a empresa possua vaacuterios sistemas ndash entre pacotes sistemas ERP (En-terprise Resource Planning) e desen-volvimento interno e o usuaacuterio final ndash ao fazer uma consulta precisa de dados fornecidos por diversos desses sistemas Entatildeo temos uma situa-ccedilatildeo na qual a arquitetura facilita o ambiente de desenvolvimento per-mitindo a criaccedilatildeo de uma aplicaccedilatildeo composta que utilizaraacute as aplicaccedilotildees jaacute existentes Cada aplicaccedilatildeo existen-te eacute um potencial provedor de um serviccedilo usado pela nova aplicaccedilatildeo composta como na figura 2

Se considerarmos que atualmen-te cada empresa depende de outras dentro do contexto de mundo globa-lizado e que haacute uma sinergia entre aplicaccedilotildees executadas em diferentes empresas podemos ter um quadro em que uma companhia fornece um serviccedilo para outra e nesse caso o usuaacuterio final pode usar diversos serviccedilos fornecidos por mais de uma empresa Aleacutem disso a abordagem SOA permite o desenvolvimento de novos serviccedilos de forma mais raacutepida uma vez que aproveita serviccedilos jaacute exis-tentes e com maturidade e eficiecircncia

Figura 1 Camadas adotadas em SOA

copy Linux New Media do Brasil Editora Ltda

41

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

comprovadas reduzindo o periacuteodo de testes da nova aplicaccedilatildeo

Iniacutecio da adoccedilatildeoConsiderando que resolvemos ado-tar a SOA precisamos responder a segunda pergunta do gerente de desenvolvimento que diz respeito a como comeccedilar o processo de adoccedilatildeo dessa arquitetura

Como em qualquer novo conhe-cimento o primeiro passo eacute difundir a estrateacutegia O melhor modo de fazer isso eacute por meio de oficinas junto agrave equipe nas quais as tendecircncias de mercado satildeo colocadas e eacute realiza-da uma exposiccedilatildeo das tecnologias existentes Eacute importante tambeacutem alinhar a adoccedilatildeo da SOA com as expectativas ou problemas do negoacute-cio de maneira a criar a motivaccedilatildeo necessaacuteria em toda a equipe

Eacute necessaacuterio ainda fazer um mape-amento desses problemas de negoacutecio assim como das melhores praacuteticas do mercado e das vantagens em adquirir pacotes em comparaccedilatildeo com o de-senvolvimento interno e identificar quais os padrotildees mais adequados ao ambiente Conveacutem ressaltar que nes-sa fase eacute bom ter algueacutem externo para fazer a moderaccedilatildeo dessa oficina com o intuito de contar com uma pessoa isenta que possa enxergar o todo e natildeo esteja envolvida com questotildees internas ou departamentais

Aplicaccedilotildees anterioresNo mundo do desenvolvimento jaacute passamos por vaacuterios ciclos de linguagens e arquiteturas Logo eacute natural que a empresa possua sistemas estruturas e linguagens diferentes Essas aplicaccedilotildees con-tecircm dentro de si loacutegicas de negoacutecio desenvolvidas ao longo do tempo e satildeo um ativo muito importante da empresa Eacute natural portanto que a terceira duacutevida venha agrave tona se vamos investir em uma arquitetura SOA o que devemos fazer com as aplicaccedilotildees existentes

Uma das boas no-tiacutecias da SOA eacute que a sua adoccedilatildeo natildeo impli-ca descartar o que foi feito previamente Os primeiros passos para a adoccedilatildeo da arquitetu-ra orientada a serviccedilos satildeo avaliar as aplicaccedilotildees existentes analisar os ser-viccedilos e as funccedilotildees sele-cionar quais devem ser publicadas e de acordo com suas caracteriacutesticas selecionar os conectores adequados

Como vimos o ser-viccedilo precisa estar bem definido e com interfaces claras Se a aplicaccedilatildeo em questatildeo natildeo possui essas caracteriacutesticas eacute preciso usar um conector que as forneccedila como um Resource Adaptor que encapsu-laria uma aplicaccedilatildeo natildeo-conforme na SOA

InterconexatildeoNesse momento comeccedilamos a ver mais um item importante da arquitetura a infra-estrutura de interconexatildeo Ela eacute composta por dois moacutedulos loacutegicos como podemos observar na figura 3 que exibe em mais detalhes o barra-mento de serviccedilos O barramento de serviccedilos conecta todos os fornecedo-res de serviccedilos enquanto o canal de acesso une os usuaacuteriosconsumidores internos e externos aos serviccedilos

Barramento de serviccedilosO barramento de serviccedilos integra vaacuterias entidades de software O moacutedulo prin-cipal eacute o subcomponente de ldquoInterco-nectividade de serviccedilosrdquo que fornece os protocolos e outras funccedilotildees neces-saacuterias para conectar o gerenciamento de canal de acesso aos provedores de serviccedilo bem como os provedores uns aos outros Se eles suportam os proto-colos utilizados na interconectividade

de serviccedilos eles podem se comunicar diretamente entre si como mostrado nas conexotildees A da figura 3 Os proto-colos podem incluir por exemplo mensageria e SOAP (Simple Object Access Protocol)

Nesse caso estamos abordando a questatildeo do reaproveitamento das apli-caccedilotildees existentes ndash muitas vezes elas natildeo suportam os protocolos escolhidos sendo chamadas de ldquonatildeo-conformesrdquo A adaptaccedilatildeo (encapsulamento) eacute exe-cutada por um conector como mos-trado na figura 3 pela conexatildeo B O conector converte o protocolo no que for necessaacuterio para acessar a aplicaccedilatildeo ndash e vice-versa na saiacuteda

Uma variedade de serviccedilos baacutesicos eacute necessaacuteria para que o barramento de serviccedilos seja facilmente usado Eles abrangem dois grandes grupos ldquoUtilitaacuteriosrdquo responsaacutevel pelo dire-toacuterio de serviccedilos tradutores de coacutedi-go formatadores de mensagem e ldquoGerenciamentordquo responsaacutevel pela monitoraccedilatildeo ndash incluindo relatoacuterio de erros ndash configuraccedilatildeo e seguranccedila Os subcomponentes do serviccedilo de inter-conectividade e os conectores fariam a interface com a loacutegica comum as-sim como os provedores de serviccedilo e o componente de gerenciamento canal de acesso como mostrado nas conexotildees C da figura 3

Figura 2 O consumidor acessa a aplicaccedilatildeo-serviccedilo fornecida pelos provedores distribuiacutedos

copy Linux New Media do Brasil Editora Ltda

42 httpwwwlinuxmagazinecombr

CAPA | Desenvolvimento e SOA

Camada fiacutesicaNote que ateacute o momento falamos apenas da camada loacutegica Natural-mente haacute uma camada fiacutesica que pode ser implementada de forma distribuiacuteda ou centralizada usando uma abordagem de concentrador Na abordagem distribuiacuteda os subcom-ponentes do barramento de serviccedilos estatildeo espalhados pelos componentes e a rede fornece as interconexotildees fiacute-sicas necessaacuterias Essa abordagem eacute na verdade uma seacuterie de conexotildees ponto-a-ponto que pode rapida-mente aumentar a complexidade caso existam mais que apenas um ou dois protocolos ou um nuacutemero pequeno de serviccedilos Para montar um ambiente mais administraacutevel a abordagem com a utilizaccedilatildeo de um concentrador eacute melhor

Com a abordagem do concentrador o barramento de serviccedilos eacute implemen-tado em um servidor independente ou em um conjunto de servidores Os pro-vedores de serviccedilos podem implementar quaisquer dos protocolos suportados pelo subcomponente de interconec-tividade de serviccedilos Requisiccedilotildees de entrada satildeo roteadas para o serviccedilo de destino apropriado O concentrador age entatildeo como um comutador Pro-tocolos diferentes podem ser usados entre as conexotildees de origem e destino o subcomponente ldquoInterconectividade de Serviccedilosrdquo no concentrador executa a conversatildeo entre ambos

Com essa estrutura resolvemos a questatildeo das aplicaccedilotildees existentes do ponto de vista de infra-estrutura interna E o contato com o usuaacuterio Para trabalharmos esta parte vamos

ver com mais detalhes a outra camada da infra-estrutura de interconexatildeo mostrada na figura 4

UsuaacuterioO gerenciamento de canal de acesso se conecta ao barramento de serviccedilos do mesmo modo que os provedores de serviccedilo Ele executa duas funccedilotildees ou conjuntos de funccedilotildees ldquoGerencia-mento de interface de usuaacuteriordquo que trata da interface para os usuaacuterios ou consumidores de serviccedilo como na-vegadores web estaccedilotildees de trabalho com clientes inteligentes e serviccedilos web e ldquoMapeamento e definiccedilatildeo do serviccedilordquo que identifica os serviccedilos disponiacuteveis e conecta as requisiccedilotildees de entrada aos provedores de serviccedilo usando as interfaces expostas

O mapeamento e a definiccedilatildeo do serviccedilo podem ser bem simples ndash ape-nas um ponteiro para o provedor do serviccedilo Um processo completo de negoacutecio no entando pode necessitar do uso de vaacuterios provedores de servi-ccedilo e as sequumlecircncias nas quais eles satildeo invocados podem variar dependen-do do resultado das requisiccedilotildees a um provedor de serviccedilo especiacutefico

Orquestraccedilatildeo e barramentoA orquestraccedilatildeo pode ser feita obviamen-te escrevendo-se o provedor de serviccedilo externo que implementa as regras de negoacutecio para o processo em questatildeo e invoca os provedores internos quando necessaacuterio Contudo jaacute existem vaacuterios produtos para apoiar a criaccedilatildeo 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 orquestraccedilatildeo disponiacuteveis dentro desses produtos per-mitem criar o processo completo pro-vendo interfaces graacuteficas para identificar os provedores internos necessaacuterios e as regras de negoacutecios a serem seguidas durante o processo

Figura 3 A infra-estrutura de serviccedilos em SOA transita pelo barramento de serviccedilos ou ESB

Figura 4 As conexotildees entre provedores internos e externos compotildeem a outra camada da estrutura de interconexatildeo

copy Linux New Media do Brasil Editora Ltda

43

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

Desenvolvimento de aplicaccedilotildeesFinalmente vamos responder a uacutel-tima pergunta do gerente de desen-volvimento ldquocomo desenvolver apli-caccedilotildees voltadas ao novo ambienterdquo Caso se trate de uma nova aplicaccedilatildeo o ideal eacute utilizar uma ferramenta que possua um ambiente completo e raacutepido para desenvolvimento e im-plementaccedilatildeo de aplicativos permita essa implementaccedilatildeo com agilidade de novos processos e encapsule o co-nhecimento dos negoacutecios sob a forma de componentes reutilizaacuteveis

Um dos pontos fundamentais da SOA eacute que o serviccedilo pode ser execu-tado em qualquer plataforma sistema operacional ou linguagem Desse modo ao desenvolver um serviccedilo o desenvol-vedor natildeo deveria se preocupar com caracteriacutesticas de uma linguagem ou plataforma especiacutefica Esses serviccedilos devem ser desenvolvidos rapidamen-te e com facilidade em conjunto com analistas de negoacutecios e usuaacuterios finais utilizando a terminologia e o vocabulaacuterio compreendidos por eles O importan-te eacute se preocupar com o negoacutecio que seraacute atendido e que exista um niacutevel de abstraccedilatildeo entre a loacutegica de negoacutecio e a plataforma ou linguagem na qual o serviccedilo seraacute executado

Note que haacute um ambiente (ldquoMode-lador do sistemardquo) no qual o negoacutecio eacute modelado O construtor traduz o negoacutecio para o ambiente final com todas as ca-racteriacutesticas corporativas para assegurar a integridade da aplicaccedilatildeo modelada

O modelador do sistema deve oferecer a flexibilidade de adicionar interfaces de usuaacuterio final ao modelo que podem ser implementadas em uma ampla gama de ambientes

Governanccedila e seguranccedilaUma vez que tenham sido realizados os levantamentos e as oficinas a equi-pe estaacute motivada e os objetivos estatildeo

claros eacute impor-tante garantir que a meacutetrica baacutesica da arquitetura orientada a ser-viccedilos seja medida e explorada Um dos principais atri-butos da SOA eacute a capacidade de reutilizar serviccedilos existentes em no-vas aplicaccedilotildees ndash e eacute necessaacuterio man-ter esse cataacutelogo bem definido

Para auxiliar nesse controle existem diversas ferramentas disponiacute-veis que utilizam definiccedilotildees como UDDI (Universal Descrip-

tion Discovery and Integra-tion) ndash registro independente de plataforma baseado em XML cujo objetivo eacute listar serviccedilos acessiacuteveis pela Web Trata-se de uma iniciativa aberta que permite agraves empre-sas publicarem listas de servi-ccedilos acessaacute-los e descrevecirc-los possibilitando que aplicaccedilotildees possam interagir A UDDI foi originalmente proposta e pro-jetada para ser interligada por mensagens SOAP provendo acesso a documentos WSDL com as descriccedilotildees de protoco-los e formatos requeridos para interaccedilatildeo com os serviccedilos web listados no diretoacuterio

ebXML (Electronic Business using eXtensible Markup Lan-guage) ndash nada mais que uma grande biblioteca contendo informaccedilotildees sobre os serviccedilos disponiacuteveis e como acessaacute-los Sua infra-estrutura eacute aberta e baseada em XML habilitando o uso global das informaccedilotildees de forma interoperaacutevel segura e consistente Incorpora cinco camadas de definiccedilotildees de da-

dos (i) processos de negoacutecios (ii) protocolos de colaboraccedilatildeo (iii) componentes de dados prin-cipais (iv) mensageria e (v) re-gistro e repositoacuterios

Consideraccedilotildees finaisA adoccedilatildeo da SOA tem aumenta-do rapidamente Aleacutem de reunir muitas vantagens em um ambien-te distribuiacutedo de aplicaccedilotildees que eacute a nossa realidade hoje haacute diversas ferramentas disponiacuteveis no mercado que facilitam o seu uso Com pro-fundas diferenciaccedilotildees em relaccedilatildeo ao desenvolvimento tradicional de sistemas eacute necessaacuterio planejar bas-tante sua introduccedilatildeo junto agraves equi-pes de desenvolvimento e contar com apoio externo agrave empresa para que a mensagem seja absorvida com mais facilidade Com tudo isso e considerando as respostas ao gerente de desenvolvimento a arquitetura orientada a serviccedilos eacute um excelente caminho para a integraccedilatildeo de tran-saccedilotildees distribuiacutedas

Sobre o autorAntonio Godinho eacute arquiteto de sistemas na Unisys Brasil

Figura 5 O ESB realiza a comunicaccedilatildeo entre os canais de acesso de muacuteltiplos grupos de provedores que podem representar diferentes departamentos empresas etc

copy Linux New Media do Brasil Editora Ltda

Andrzej Gdula ndash sxchu

44 httpwwwlinuxmagazinecombr

A faacutebrica de software corporativo NovaForge

Quase faz cafeacuteCom o NovaForge eacute muito praacutetico hospedar gerenciar e testar softwares em escala corporativapor Pablo Hess

Sistemas de desenvolvimento distribuiacutedo de software satildeo altamente produtivos Em-

pregados amplamente por projetos de Software Livre sistemas como git[1] CVS[2][3] SVN[3][4] Mer-curial[5] e Bitkeeper[6] apenas para citar os mais famosos possibilitam o desenvolvimento colaborativo da grande maioria dos softwares de Coacute-digo Aberto desde o kernel Linux ateacute sofisticados ambientes desktop como Gnome e KDE

Uma interessante alternativa agrave manutenccedilatildeo de um servidor de de-senvolvimento ldquodentro de casardquo eacute o uso de repositoacuterios de projetos de software cujo exemplo mais famoso eacute o SourceForge[7] que abriga ou jaacute abrigou inuacutemeros projetos de Coacutedigo Aberto desde os mais simples e de uso restrito a uma aacuterea de atuaccedilatildeo ateacute os atuais campeotildees de atividade[8] o ERP Openbravo[9] o software de comparti-lhamento Azureus[10] e o programa de graacuteficos vetoriais Inkscape[11]

No entanto empresas que de-sejem gerenciar seus projetos de software corporativo de forma centralizada com testes e anaacutelises de desempenho durante a noite aleacutem da geraccedilatildeo automatizada de relatoacuterios tecircm como uacutenica alter-nativa o emprego de um servidor proacuteprio para essas tarefas Ou me-lhor tinham

No intuito de oferecer uma al-ternativa de caraacuteter corporativo que forneccedila aos projetos toda a infra-estrutura para a criaccedilatildeo e ge-renciamento a francesa Bull[12] lanccedilou o NovaForge[13]

CorporativoEm seu whitepaper a Bull afirma ter ldquoempregado no NovaForge seus conhecimentos metodoloacutegi-cos e sua experiecircncia na condu-ccedilatildeo e realizaccedilatildeo de projetos de desenvolvimento e integraccedilatildeo de sistemas numa plataforma indus-trial de produccedilatildeordquo Para os desen-

volvedores que desejem hospedar seus projetos nesse sistema isso significa uma maior base de ferra-mentas natildeo apenas para gerenciar o coacutedigo-fonte do projeto mas o projeto em si assim como toda a documentaccedilatildeo relevante

O NovaForge de fato facilita o gerenciamento de projetos de software de escala industrial de formas que o SourceForge ou mes-mo o CodePlex[14] da Microsoft jamais pretenderam fazer E a melhor parte o sistema eacute inteira-mente voltado ao Coacutedigo Aberto e padrotildees abertos

De acordo com a Bull os prin-ciacutepios do NovaForge satildeo capitalizaccedilatildeo empregar fer-

ramentas de desenvolvimen-to qualificadas e metodolo-gias aprovadas assim como a reutilizaccedilatildeo dos trabalhos jaacute realizados

compartilhamento compar-tilhar a mesma visatildeo que os

CA

PA

copy Linux New Media do Brasil Editora Ltda

45

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

projetos independen-temente da localizaccedilatildeo de seus participantes e compartilhando tam-beacutem o repositoacuterio de documentaccedilatildeo

flexibilidade o Nova-Forge foi concebido de forma modular para incluir ferramentas par-ticulares e assim res-ponder aos diferentes niacuteveis de atividade dos projetos tanto hospedados sobre uma infra-estrutura de rede de alto desem-penho quanto instalado no cliente

Eacute interessante notar que o terceiro item dessa lista jaacute dei-xa clara a inclinaccedilatildeo da plata-forma aos novos princiacutepios de software como serviccedilo

Processo de desenvolvimentoSob o NovaForge as diferentes etapas de desenvolvimento de software (figura 1) satildeo realizadas na seguinte ordem gestatildeo das exigecircncias da apli-

caccedilatildeo a ser desenvolvida exportaccedilatildeo das exigecircncias para a fer-

ramenta de modelagem UML geraccedilatildeo do coacutedigo com auxiacute-

lio do ambiente integrado de desenvolvimento

gerenciamento do coacutedigo-fonte e de suas versotildees

integraccedilatildeo e construccedilatildeo da apli-caccedilatildeo com uso dos repositoacuterios de integraccedilatildeo e das ferramentas de integraccedilatildeo contiacutenua

testes funcionais frente agraves exigecircn-cias e gerenciamento automaacuteti-co de falhas em caso de erros e falha de conformidade

As vantagens do uso da infra- estrutura do sistema para criaccedilatildeo de aplicaccedilotildees corporativas portanto podem ser listadas

ambiente de desenvolvimento pa-dronizado e com ferramentas po-derosas que permite mascarar para o desenvolvedor a complexidade da linguagem Java subjacente

o ganho de produtividade oferecido pela escolha das ferramentas mais adequadas pemite a geraccedilatildeo de partes do coacutedigo por meio de tarefas recorrentes de produccedilatildeo

a escolha de ferramentas de Coacute-digo Aberto robustas poderosas e aderentes aos padrotildees de de-senvolvimento e comunicaccedilatildeo utilizadas em diversos projetos e compatiacuteveis com a maioria dos sistemas operacionais

Seccedilotildees do desenvolvimentoO desenvolvimento no NovaForge eacute dividido em dois ambientes um destinado agrave concepccedilatildeo do projeto

e outro ndash Bull SOA IDE ndash feito sobre uma base de blocos de Coacute-digo Aberto como o Eclipse por exemplo enriquecidos pela proacute-pria Bull

O primeiro ambiente permite a geraccedilatildeo de relatoacuterios detalhados de concepccedilatildeo a partir dos diagra-mas UML e das regras de gestatildeo associadas aos casos de uso aleacutem das etapas de testes e validaccedilatildeo dos moacutedulos O segundo por sua vez oferece uma interface com a pri-meira e integra as ferramentas de geraccedilatildeo de coacutedigo ndash Velocity por exemplo ndash assim como uma seacuterie de plugins descritos a seguir

Ambiente de concepccedilatildeoO ambiente de concepccedilatildeo (a ferra-menta de modelagem Sprarx Sys-tem Enterprise Architect) natildeo exige a presenccedila de qualquer moacutedulo ou

Figura 1 Diagrama das etapas de desenvolvimento de software no NovaForge

copy Linux New Media do Brasil Editora Ltda

46 httpwwwlinuxmagazinecombr

CAPA | NovaForge

funcionalidade por parte do cliente Ele suporta UML 20 salva o modelo num banco de dados ou num arquivo e por fim exporta-o em XMI No entanto tambeacutem eacute possiacutevel trabalhar com diversos outras ferramentas como Rose XDE RAD Together MEGA Objecteering e PowerAMC por exemplo O objetivo afinal eacute simplesmente fornecer a entrada para a geraccedilatildeo de coacutedigo para im-plementar a arquitetura orientada ao modelo ou MDA

Dessa forma a cadeia de concep-ccedilatildeo do sistema formaliza a passagem do modelo de anaacutelise UML a um de concepccedilatildeo e implementaccedilatildeo Aleacutem das orientaccedilotildees de concepccedilatildeo e das normas de implementaccedilatildeo apoacutes a definiccedilatildeo da arquitetura de processador de destino para a aplicaccedilatildeo jaacute eacute possiacutevel gerar uma parte do coacutedigo da aplicaccedilatildeo ndash com o mecanismo de tagged value ndash fi-gura 2 Eacute importante notar tambeacutem

que o coacutedigo gerado natildeo depende de qualquer classe da Bull pois eacute puro JavaJ2EE

Ambiente de desenvolvimentoOs principais objetivos de um am-biente de desenvolvimento satildeo au-mentar a produtividade por meio de ferramentas para projetar pro-gramar e instalar aplicaccedilotildees J2EE e permitir o desenvolvimento co-laborativo Para isso eacute necessaacuterio tambeacutem observar as boas praacuteticas permitindo a geraccedilatildeo do coacutedigo de certos componentes da aplicaccedilatildeo e tambeacutem a criaccedilatildeo de uma corrente completa desde os objetos ateacute a base de dados incluindo todos os blocos que compotildeem a arquitetura

Por fim o ambiente de progra-maccedilatildeo deve permitir a integraccedilatildeo do desenvolvimento a uma arquitetura orientada a serviccedilos caso necessaacuterio

Isso facilita a chamada e a criaccedilatildeo de serviccedilos referenciados dentro da em-presa por intermeacutedio de assistentes

Nesse sentido a Bull contribui com o projeto Eclipse para melhorar o su-porte a J2EE e ao desenvolvimento de Web Services e processos de ne-goacutecios Aleacutem disso a colaboraccedilatildeo da empresa com o Eclipse visa a permitir acesso a aplicaccedilotildees externas ndash isso eacute natildeo escritas em Java ndash e a bancos de dados por meio de conectores JCA ou de meacutetodos de persistecircncia Uma caracteriacutestica importante eacute a total in-dependecircncia de classes especiacuteficas da Bull com total aderecircncia ao padratildeo J2EE mas ainda com suporte aos fra-meworks mais usados como Struts Spring e Hibernate

UtilizaccedilatildeoOs componentes da plataforma NovaForge portanto podem ser listados como a seguir

Figura 2 O mecanismo de tagged value enriquece as classes UML com as informaccedilotildees adequadas agrave geraccedilatildeo de coacutedigo

copy Linux New Media do Brasil Editora Ltda

47

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

ambiente de desenvolvimento Java Eclipse

ambiente de desenvolvimento J2EE JOPE

plugin Open Source Web Tools

controle de versotildees CVS Subversion

qualidade do coacutedigo Jalopy CheckStyle PMD

testes Unitaacuterios JUnit geraccedilatildeo ANT Maven

Para usar essa estrutura colaborati-va de desenvolvimento eacute necessaacuterio apenas um navegador web O servidor de aplicaccedilatildeo naturalmente tambeacutem eacute obrigatoacuterio e a Bull recomenda o uso do JBoss[15]

Servidor colaborativoO servidor colaborativo de desenvol-vimento fornece a todos os participan-tes do projeto o acesso ao ambiente para realizaccedilatildeo de suas tarefas espe-ciacuteficas de acordo com o papel de cada um (desenvolvedor integrador liacuteder de projeto gerente etc)

O portal utiliza a solu-ccedilatildeo eXo Portal[16] que em sua versatildeo 20 oferece suporte a clientes de rich internet applications (RIA como satildeo mais conhecidos) dentro do proacuteprio navega-dor O NovaForge faz bom uso dos ldquoaplicativos ricosrdquo como mostra a figura 3 incluindo o single sign-on para todos os serviccedilos dispo-nibilizados como comuni-caccedilatildeo desenvolvimento e acesso a documentos por exemplo

GForgeUma das principais fer-ramentas de desenvolvi-mento colaborativo utili-zadas pelo NovaForge eacute

o pacote de Coacutedigo Aberto GFor-ge[17] um gerenciador de proje-tos repleto de funcionalidades Como tal ele centraliza o acesso ao conjunto de ferramentas de gestatildeo e colaboraccedilatildeo necessaacuterias agrave boa realizaccedilatildeo de um projeto de desenvolvimento como por exemplo acesso seguro aos diferentes

moacutedulos de gerenciamento de coacutedigo diretamente a partir da interface web

gerenciamento de documen-tos e suas versotildees

gerenciamento de foacuteruns e listas de discussatildeo

monitoramento das tarefas realizadas pelos usuaacuterios

gerenciamento de falhas e anomalias do projeto com possibilidades ilimitadas em termos de qualificaccedilatildeo das falhas atribuiccedilatildeo a desenvol-vedores de diferentes equipes

gerenciamento de prioridades e outras funccedilotildees

gerenciamento e atribuiccedilatildeo de tarefas aos participantes ao longo de todo o ciclo de de-senvolvimento dos projetos

interface com o CVS ou Sub-version para gestatildeo da segu-ranccedila no que diz respeito ao acesso de escrita e leitura do coacutedigo-fonte do projeto

Servidor de industrializaccedilatildeoO chamado ldquoservidor de industrializa-ccedilatildeordquo eacute uma plataforma de ldquofaacutebrica de receitasrdquo proposta pela Bull com todo o contexto necessaacuterio aos procedimentos e seus testes Seus principais objetivos satildeo a criaccedilatildeo de ldquonightly buildsrdquo a re-alizaccedilatildeo de testes de desempenho afim de garantir o correto funcionamento e dos softwares no momento em que forem finalizados

Figura 3 O NovaForge jaacute utiliza e muito bem as potencialidades dos componentes chamados Rich Internet Applications

copy Linux New Media do Brasil Editora Ltda

48 httpwwwlinuxmagazinecombr

CAPA | NovaForge

A figura 4 demonstra o processo de compilaccedilatildeo dessa etapa Em in-tervalos regulares toda a aplicaccedilatildeo sua documentaccedilatildeo e seus testes unitaacuterios satildeo gerados permitindo que se automatize a anaacutelise da qualidade do coacutedi-

go da aplicaccedilatildeo pelos compo-nentes PMD e CheckStyle

a geraccedilatildeo automaacutetica da apli-caccedilatildeo por comparaccedilatildeo com as uacuteltimas versotildees presentes no gerenciador de configuraccedilotildees a partir do servidor CVS ou Subversion

a geraccedilatildeo automaacutetica da do-cumentaccedilatildeo da aplicaccedilatildeo

a execuccedilatildeo do conjunto de testes unitaacuterios usando os componentes JUnit DBUnit e HTTPUnit com geraccedilatildeo posterior de relatoacuterios

a implementaccedilatildeo da moni-toraccedilatildeo de servidores da do-cumentaccedilatildeo e dos relatoacuterios anteriormente gerados

A cada manhatilde a anaacutelise dos relatoacuterios e resultados do servi-dor de industrializaccedilatildeo oferece ao gerente do projeto um pano-rama absolutamente atualizado do estado funcional do software

e possibilita a criaccedilatildeo de tiacutequetes de falhas pelo Salomeacute-TMF

ConclusotildeesO NovaForge natildeo tem como obje-tivo substituir os repositoacuterios mais tradicionais como o SourceForge mas criar uma verdadeira faacutebrica de software colaborativo de caraacuteter corporativo A linguagem Java por exemplo eacute uma obrigaccedilatildeo o que pode limitar o uso por projetos co-munitaacuterios de espectro geral mas natildeo representa uma restriccedilatildeo aos projetos de software corporativos ndash aliaacutes muito pelo contraacuterio

No momento o NovaForge em-prega 17 ferramentas para gerenciar seus softwares desde o CVS ou Subversion para o coacutedigo-fonte passando pelo GForge no campo do gerenciamento de projetos e documentos e chegando ateacute o Ma-ven para as tarefas automatizadas de industrializaccedilatildeo

Somada ao praacutetico gerencia-mento a garantia de qualidade dos projetos abrigados no NovaForge eacute um importante convite a qualquer organizaccedilatildeo que deseje desenvol-ver projetos de alta qualidade em escala corporativa

Mais informaccedilotildees

[1] Git httpgitorcz

[2] CVS na Wikipeacutedia httpptwikipediaorgwikiCVS

[3] Johannes Ploumltner e Steffen Wendzel ldquoFonte de organizaccedilatildeo httpwwwlinuxmagazinecombrarticlefonte_de_organizacao

[4] Subversion httpsubversiontigrisorg

[5] Mercurial httpwwwseleniccommercurialwiki

[6] Bitkeeper httpwwwbitkeepercom

[7] SourceForge httpsourceforgenet

[8] Ranking de atividade do SourceForge httpsourceforgenettopmostactivephptype=week

[9] Openbravo httpwwwopenbravocom

[10] Azureus httpazureussourceforgenet

[11] Inkscape httpwwwinkscapeorg

[12] Bull httpwwwbullcombr

[13] NovaForge httpwwwnovaforgeorg

[14] Microsoft CodePlex httpwwwcodeplexcom

[15] JBoss httpwwwjbosscom

[16] Portal httpwwwexoplatformcomportalpublicsite

[17] GForge httpgforgeorg

Figura 4 Os testes realizados automaticamente nos nightly builds fornecem vaacuterios dados a respeito do aplicativo

copy Linux New Media do Brasil Editora Ltda

49Linux Magazine 42 | Maio de 2008

TU

TO

RIA

L

Configurando o ambiente de desenvolvimento

Produto importadoSe for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte do ADempiere eacute muito faacutecil usar o poderoso ambiente de desenvolvimento Eclipse para importaacute-lopor Eduardo Montenegro

Chegamos agora agrave terceira parte de nosso tutorial sobre o ADempiere ERP amp CRM

Na uacuteltima ediccedilatildeo[1] fizemos uma pequena adaptaccedilatildeo ao sistema crian-do um novo campo que permitia a entrada de dados pelo usuaacuterio

Agora vamos importar o coacutedigo-fonte do ADempiere no ambiente de desenvolvimento Java Eclipse[2] que iraacute permitir o desenvolvimento de novos recursos no sistema utili-zando programaccedilatildeo

Vale lembrar que o objetivo deste tutorial eacute apresentar algumas carac-teriacutesticas principais do ADempiere sendo impossiacutevel esgotar esse assun-to ou nos aprofundarmos muito em determinados toacutepicos

O ambiente de desenvolvimento padratildeo utilizado pelos desenvolvedo-res do projeto ADempiere eacute o Eclipse Vamos acompanhar os passos neces-saacuterios para instalaccedilatildeo desse ambien-te de desenvolvimento e do plugin Subclipse[3] que utilizaremos para fazer o checkout do projeto do servi-dor SVN no SourceForge[4]

Instalaccedilatildeo do EclipseContinuando a configuraccedilatildeo de nos-so ambiente de desenvolvimento no Ubuntu[5] iremos fazer a instalaccedilatildeo do Eclipse por meio do repositoacuterio de pacotes usando o Synaptic Apoacutes pro-curar o pacote Eclipse basta efetuar a instalaccedilatildeo da forma normal Em segui-da seraacute necessaacuterio iniciaacute-lo para fazer a instalaccedilatildeo do plugin Subclipse

Plugin SubclipseNo menu principal do Eclipse iremos selecionar as opccedilotildees Help e em seguida Software Updates e Find and Install conforme indicado na figura 1

Na proacutexima janela como mostra a figura 2 selecionaremos a opccedilatildeo Search for New Features to Install e depois o botatildeo Next

Na janela seguinte eacute preciso acres-centar uma nova fonte remota de softwares selecionando a opccedilatildeo New Remote Site e digitando na nova janela o nome Subclipse 12x (Eclipse 32+) e a URL httpsubclipsetigrisorgupda-te_12x conforme a figura 3

Em seguida vamos selecionar para a busca a opccedilatildeo que acabou de ser criada na janela (figura 4) Ao ser exibido finalmente o plugin Subclipse (figura 5) deve-se selecionaacute-lo pressionando o botatildeo Finish em seguida

Ao concluir a ins-talaccedilatildeo do plugin o Eclipse precisaraacute ser reiniciado para que pos-sa ser utilizado

Repositoacuterio ADempiereDe volta ao Eclipse selecionaremos o menu Window Open Perspective e Other Na janela exibida na figura 6 deve ser selecionada a opccedilatildeo SVN Re-pository Exploring Na parte esquerda da janela na aba SVN Repository iremos clicar com o botatildeo direito do mouse e adicionar o repositoacuterio do ADempiere conforme demonstrado na figura 7 Seu endereccedilo eacute httpsadempieresvnsour-ceforgenetsvnrootadempiere [4]

Figura 1 A instalaccedilatildeo de novos plugins no Eclipse eacute bem simples

Figura 2 Como o plugin estaacute num novo repositoacuterio devemos acrescentaacute-lo manualmente

Figura 3 Dados do repositoacuterio do ADempiere

copy Linux New Media do Brasil Editora Ltda

50 httpwwwlinuxmagazinecombr

TUTORIAL | Alteraccedilotildees no coacutedigo-fonte do ADempiere

Figura 5 O plugin do Subclipse jaacute pode ser instalado

O projeto do ADempiere estaraacute disponiacutevel no Eclipse possibilitando a navegaccedilatildeo pelos diversos pacotes e arquivos do projeto por meio da aba do lado esquerdo conforme exibido na figura 10

Para executar o projeto a partir do Eclipse resta apenas definir um perfil de execuccedilatildeo que podemos criar com poucos passos 1 selecionar o menu Run e em

seguida Open Run Dialog 2 na janela aberta (figura 11)

selecionar a opccedilatildeo Java Appli-cation no painel esquerdo e pressionar o botatildeo New

3 no campo Name entrar com o nome Adempiere

4 no campo Project utilizan-do o botatildeo Browse selecionar o projeto receacutem-criado

5 finalmente no campo Main Class digitar orgcompiereAdempiere

Agora se pressionarmos o botatildeo Apply e em seguida selecionarmos Run o ADempiere seraacute executado a partir do Eclipse

ConclusatildeoAo final desse procedimento o am-biente de desenvolvimento do ADem-piere estaraacute configurado Com isso no proacuteximo artigo poderemos importar o projeto do ADempiereLBR[6] que eacute complementar ao LBR e acrescenta diversos recursos para a operaccedilatildeo do ADempiere no Brasil

Na proacutexima ediccedilatildeo veremos tam-beacutem algumas das principais caracte-riacutesticas do desenvolvimento de novos recursos para o ADempiere utilizando a linguagem Java

Jaacute com as informaccedilotildees do reposi-toacuterio no Eclipse iremos navegar ateacute a pasta Tags e em seguida clicando com o botatildeo direito do mouse em cima da pasta adempiere340 selecionaremos a opccedilatildeo Checkout (figura 8)

Na janela mostrada em seguida para a operaccedilatildeo de checkout basta confirmar a operaccedilatildeo selecionando os bototildees Next e em seguida Finish Esse passo pode demorar um pouco pois seratildeo copiados todos os arquivos do projeto ADempiere para a maacutequina local

De dentroVamos agora executar o ADempiere de dentro do Eclipse Selecionan-do no menu novamente as opccedilotildees Window Open Perspective e Other iremos voltar para a perspectiva Java (default) (figura 9)

Figura 4 Seleccedilatildeo do novo repositoacuterio configurado como fonte do plugin

Figura 6 O Subclipse permite a impor-taccedilatildeo de dados a partir de um repositoacuterio Subversion

Figura 7 Adicionando um repositoacuterio Subversion

copy Linux New Media do Brasil Editora Ltda

51Linux Magazine 42 | Maio de 2008

Mais informaccedilotildees

[1] Eduardo Montenegro ldquoConfiguraccedilatildeo do ADempiere ndash Faccedila a sua gestatildeordquo httpwwwlinuxmagazinecombrarticle1649

[2] Eclipse httpwwweclipseorg

[3] Subclipsehttpsubclipsetigrisorg

[4] Repositoacuterio do ADempiere no SourceForge httpsadempieresvnsourceforgenetsvnrootadempiere

[5] Ubuntu httpwwwubuntucom

[6] Projeto AdempiereLBR no Sourceforge httpsfnetprojectsadempierelbr

[7] Site do Projeto ADempiere httpwwwadempierecom

[8] Wiki do Projeto Adempiere httpwwwadempierecomwiki

[9] Foacuterum do ADempiere em portuguecircs httpforumkenoscombr

Figura 8 Realizaccedilatildeo do che-ckout no repositoacuterio

Figura 9 Com a perspectiva Java eacute pos-siacutevel trabalhar em projetos nessa linguagem como o ADempiere

Figura 10 Jaacute eacute possiacutevel navegar pelo coacutedigo do ADempiere

Figura 11 Criaccedilatildeo de um novo perfil para o projeto do ADempiere no Eclipse

copy Linux New Media do Brasil Editora Ltda

52 httpwwwlinuxmagazinecombr

Deacutecima primeira aula de preparaccedilatildeo LPIC-2

LPI niacutevel 2 Aula 11Configuraccedilatildeo do servidor BIND criaccedilatildeo e manutenccedilatildeo de arquivos de zonas e ferramentas relacionadaspor Luciano Siqueira

22071 Configuraccedilatildeo baacutesica de um servidor DNS Um servidor DNS ndash Domain Name System ndash converte remotamente no-mes de maacutequinas para seus respectivos nuacutemeros IP e vice-versa A correspon-decircncia entre o nome e o nuacutemero IP eacute chamada mapeamento e organizado de forma hieraacuterquica

Em outras palavras um domiacutenio como howtoslinuxcom seraacute quebrado e resolvido comeccedilando por com de-pois linux e finalmente howtos ndash itens chamados respectivamente top-level domain second-level domain e third-level domain Eacute nessa ordem que o endereccedilo IP para howtoslinuxcom seraacute obtido Os top-level domains mais comuns satildeo com org e net mas existem vaacuterios outros

O programa servidor responsaacutevel pelo mapeamento eacute o usrsbinnamed que eacute parte do pacote cha-mado BIND cujas especificaccedilotildees

satildeo definidas pelo Internet Systems Consortium Seu arquivo de confi-guraccedilatildeo eacute namedconf que pode ser encontrado no diretoacuterio etc ou etcbind Em versotildees do BIND anteriores agrave 8 o arquivo de configu-raccedilatildeo chama-se namedboot e possui sintaxe diferente Arquivos anteriores agrave versatildeo 8 natildeo funcionaratildeo nesta ou na 9 Para converter arquivos de con-figuraccedilatildeo de versotildees anteriores para a 8 pode ser utilizado o comando named-bootconf

Servidor caching-onlyO DNS caching-only eacute a mais simples implementaccedilatildeo de um servidor DNS Ele apenas requisita a resoluccedilatildeo do nome junto a um servidor externo e armazena a resposta para agilizar futuras requisiccedilotildees Exemplo de na-medconf para um servidor de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

Zonas convencionais tecircm seccedilotildees definidas de forma semelhante (exem-plo zone ldquolocalhost IN rdquo) e eacute importante que para cada uma delas seja especificada uma zona para DNS reverso (exemplo zone ldquo00127in-addrarpa IN rdquo) O DNS reverso eacute responsaacutevel por converter nuacutemeros IP para seus respectivos nomes

Voltando ao exemplo na seccedilatildeo options eacute indicado onde estatildeo os arquivos de zonas (directory ldquovarnamedrdquo) Estaacute definido apenas o mapeamento para ldquordquo que seraacute consultado se nenhum outro ma-peamento for encontrado Eacute este o caso do exemplo

No arquivo varnamedroothints haacute uma lista com os principais ser-vidores de nomes da Internet Este arquivo eacute gerado atraveacutes do comando

Toacutepico 207 DNS

TU

TO

RIA

L

Irum_Shahid - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

53

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

dig eroot-serversnet ns Como os endereccedilos de alguns servidores po-dem mudar eacute aconselhaacutevel atualizar o arquivo mensalmente O exemplo 1 mostra um trecho do arquivo varnamedroothints

Apoacutes alterar os arquivos de con-figuraccedilatildeo seraacute necessaacuterio reiniciar o daemon named responsaacutevel por responder agraves requisiccedilotildees de DNS Para que as configuraccedilotildees tenham efeito sem interromper o named basta enviar o sinal HUP para o processo atraveacutes do comando kill

kill -HUP `pidof named`

22072 Criaccedilatildeo e manutenccedilatildeo de zonas de DNSA principal diferenccedila entre um servidor DNS tradicional e um servidor DNS caching-only estaacute nos arquivos de zona Num ser-vidor tradicional os arquivos de zona conteacutem a correspondecircncia de IPs e nomes para os domiacutenios especificados em namedconf

Criando um domiacutenioPara cada domiacutenio sob responsabili-dade do servidor deve ser criada uma entrada no arquivo namedconf Essa entrada eacute muito parecida agravequela do exemplo de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo

A uacuteltima entrada indica opccedilotildees e o arquivo de zona para solicitaccedilotildees de nome para o domiacutenio ginkgo

Este eacute um domiacutenio fictiacutecio uti-lizado como exemplo para uma rede interna A opccedilatildeo type deter-mina a prioridade da zona para o domiacutenio pode ser master ou slave O arquivo definido na opccedilatildeo file deve ser criado no mesmo diretoacuterio selecionado na opccedilatildeo directory da seccedilatildeo options Pode ser escolhido qualquer nome para o arquivo de zona mas geralmente elege-se o nome do domiacutenio leva os prefixossufixos zone ou db

Registros da zonaO arquivo de zona conteacutem vaacuterias informaccedilotildees dos nomes do domiacutenio em questatildeo pode ser escrito confor-me o exemplo 2

Vamos analisar item a item este arquivo de zona para entender cada uma das suas entradas

$TTL 3D

Indica a validade-padratildeo ou por quanto tempo os dados con-

seguidos a partir deste servidor devem ser mantidos em um ca-che de DNS

IN SOA floydginkgo hostmasterginkgo (

Essa linha corresponde agrave prin-cipal entrada SOA (Start Of Au-thority) Ela determina qual o ser-vidor e o email do administrador do DNS O sinal eacute apenas um atalho para a origem (o domiacute-nio da zona) e tambeacutem pode ser especificado literalmente (neste caso deve ser especificado com um ponto no final ginkogo) O IN significa Internet e determina a classe do registro Na maior parte dos servidores DNS seraacute a uacutenica classe utilizada O termo SOA indica tratar-se do registro da autoridade para o domiacutenio seguido do nome do servidor DNS e do email do administrador Perceba que ambos satildeo terminados com um ponto O email tambeacutem tem um ponto no

Exemplo 1 Trecho de roothints

()DROOT-SERVERSNET 3600000 IN A 12881090AROOT-SERVERSNET 3600000 IN A 1984104HROOT-SERVERSNET 3600000 IN A 12863253CROOT-SERVERSNET 3600000 IN A 19233412()

Exemplo 2 Arquivo de zona

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floyd MX 5 mailfloyd A 19216801 hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

copy Linux New Media do Brasil Editora Ltda

54 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

lugar do O parecircntese no final da linha indica o iniacutecio das proprie-dades do registro

2007060401 serial 28800 refresh (8horas) 7200 retry (2 horas) 2419200 expire (4semanas) 86400 minimum (1 dia) )

Essa seccedilatildeo especifica algumas pro-priedades para a zona O primeiro nuacutemero 2007060401 determina um nuacutemero serial de identificaccedilatildeo Pode ser qualquer nuacutemero mas via de re-gra segue o formato de data mais um nuacutemero decimal Os demais valores determinam respectivamente inter-valo de atualizaccedilatildeo intervalo para novas tentativas prazo de validade das informaccedilotildees intervalo miacutenimo de permanecircncia no cachecirc Estes va-lores seratildeo informados aos clientes e outros servidores DNS que utilizam este mapa O caracter ldquordquo especifica um comentaacuterio e todo texto em se-guida seraacute ignorado pelo programa O final das propriedades do registro eacute determinado com o fechamento do parecircntese Continuando o exame

NS floyd MX 5 mailfloyd A 19216801

hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

Os demais registros correspondem agraves entradas de nomes da zona Se natildeo for informado no comeccedilo da linha eacute assumida a mesma origem (especificada pelo caracter ) e a classe (IN) Tipos de registro comuns satildeo NS especifica qual dos registros eacute

o servidor de nomes do domiacutenio tambeacutem citado no registro SOA

MX o servidor de email para o domiacutenio Pode haver mais de um sendo suas prioridades determinadas pelo nuacutemero agrave esquerda do nome do servidor Valores menores indicam maior prioridade

A mapeia o nome especifica-do agrave esquerda para o IP espe-cificado agrave direita A origem (domiacutenio) eacute automaticamente adicionada ao nome pois estaacute impliacutecita na entrada (ex floyd = floydginkgo)

CNAME cria um alias especifica-do agrave esquerda para um nome jaacute definido em outro registro Natildeo pode haver alias para um registro NS

PTR mapeia um nuacutemero IP para um nome Eacute utilizado para DNS reverso que veremos a seguir

DNS reversoAleacutem das zonas para resolver nomes para nuacutemeros IP eacute praxe criar zonas para resolver nuacutemeros IP para nomes processo chamado DNS reverso Para isso deve ser criada uma zona especiacute-fica no arquivo namedconf que aponte para outro arquivo de zona

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo zone ldquo0168192in-addrarpardquo IN type master file ldquodb1921680in-addrarpardquo allow-update none

O registro em destaque espe-cifica a zona reversa O nome da zona reversa comeccedila com o trecho do IP referente agrave rede escrito de traacutes para frente seguido do termo in-addrarpa que determina tratar-se de um registro de DNS rever-so Portanto o registro mostrado converteraacute em nomes os IPs que comecem por 1921680 As demais opccedilotildees como tipo nome de ar-quivo etc obedecem agraves mesmas regras do DNS

O arquivo de zona para o DNS reverso eacute praticamente idecircntico ao do DNS convencional mostrado no exemplo 3

A uacutenica diferenccedila encontra-se nos registros de nomes Aqui a ori-gem tambeacutem estaacute impliacutecita sendo necessaacuterio apenas especificar o tre-cho do IP especiacutefico do host Por se tratar de uma resoluccedilatildeo reversa eacute

Exemplo 3 Arquivo de zona do DNS reverso

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060402 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floydginkgo 1 PTR floydginkgo 2 PTR hamiltonginkgo 4 PTR felixginkgo 11 PTR emilyginkgo

copy Linux New Media do Brasil Editora Ltda

55

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

usado um registro do tipo PTR seguido do nome para o IP es-pecificado

Um detalhe importante eacute que o nome dos hosts preci-sa ser completo incluindo o domiacutenio e o ponto no final Isso evita que o DNS reverso interprete a origem (que aqui eacute 168192in-addrarpa) como sendo o domiacutenio

Para que as novas configuraccedilotildees tenham efeito eacute necessaacuterio reiniciar o servidor de nomes O procedimento pode ser feito via script de iniciali-zaccedilatildeo ou simplesmente enviando o sinal HUP para o processo

killall -HUP named

Servidores escravosPara aumentar a disponibilidade do serviccedilo eacute recomendaacutevel criar um servidor DNS escravo de preferecircn-cia numa localizaccedilatildeo fiacutesica distante do servidor primaacuterio para evitar que panes eleacutetricas por exemplo afetem ambos

A entrada em namedconf para de-finir um servidor escravo pode ser escrita da seguinte forma

zone ldquoginkgordquo type slave file ldquodbginkgordquo masters 19216801

O servidor escravo armazena-raacute os registros da zona ginkgo atraveacutes de um processo chamado transferecircncia de zona O arquivo de zona no servidor escravo possui apenas o registro SOA como mostra o exemplo 4

A zona soacute eacute transferida se o nuacutemero serial do servidor escra-vo for menor que o do servidor primaacuterio O valor refresh especi-fica o intervalo em que o servidor escravo verificaraacute atualizaccedilotildees de registro no servidor primaacuterio Se

o servidor natildeo pocircde ser contacta-do seratildeo feitas novas tentativas a cada intervalo especificado no valor retry A zona deixaraacute de existir no servidor escravo se o primaacuterio natildeo puder ser contactado ateacute o final do periacuteodo-limite especificado no valor expire O uacuteltimo valor minimum determina o periacuteodo miacutenimo que a zona deve permanecer no servidor escravo Por padratildeo todos os valo-res satildeo expressos em segundos Para alterar a unidade de tempo basta utilizar um sufixo como H (hora) D (dia) ou W (semana) Por exemplo 2H (duas horas)

Redirecionamento de servidorUm redirecionamento simplesmen-te transfere todas as solicitaccedilotildees fei-tas ao servidor para outro servidor DNS armazenando os resultados temporariamente para agilizar fu-turas solicitaccedilotildees semelhante a um servidor caching-only Para redire-cionar qualquer solicitaccedilatildeo basta criar a seccedilatildeo options em namedconf da seguinte forma

options directory ldquovarnamedrdquo forwarders 20019214021 2001921435

Seratildeo utilizados os servidores especificados na opccedilatildeo forwarders Para que apenas solicitaccedilotildees para uma zona especiacutefica sejam redire-cionadas o tipo da zona deve ser especificado como forward

zone ldquoginkgordquo IN type forward forwarders 20019214021 2001921435

Os servidores de destino das soli-citaccedilotildees devem ser especificados da mesma forma na opccedilatildeo forwarders

Diagnoacutestico do servidorAgora o servidor DNS jaacute pode ser testado para encontrar possiacuteveis pro-blemas Para uma checagem simples pode ser usado o comando host Mas antes natildeo se esqueccedila de alterar os dados do servidor de nomes em etcresolvconf para o servidor que vocecirc acabou de configurar Feito isso utilize o comando host para um dos nomes registrados na zona criada

host felix felixginkgo has address 19216804

Testando o DNS reverso

host 19216842 40168192in-addrarpa domain name pointer felix1681920in-addrarpa

Pocircde ser verificado que tanto o DNS convencional quanto o DNS reverso estatildeo funcionando ao menos para o nome e IP do host felix

Para evitar alterar o arquivo etcresolvconf e obter informaccedilotildees um pouco mais detalhadas basta

Exemplo 4 Arquivo de zona com o regsitro SOA

IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) )

copy Linux New Media do Brasil Editora Ltda

56 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

fornecer tambeacutem o nome do servi-dor DNS ao comando host

host www floydginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo hamiltonginkgo has address 19216802 Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo

Pela saiacuteda podemos verificar en-tre as informaccedilotildees mostradas que o host wwwginkgo trata-se de um alias para o host hamiltonginkgo

Uma ferramenta especiacutefica para diagnoacutestico de servidores DNS eacute o comando dig (Domain Information Groper) Apesar de possuir vaacuterias opccedilotildees que podem ser consultadas na paacutegina manual do comando a forma mais usual de invocaacute-lo eacute dig servidor domiacutenio tipo O servidor DNS especificado pelo caracter seraacute consultado pelo domiacutenio e tipo de registro O exemplo 5 mostra como utilizar o comando dig

A saiacuteda eacute dividida em seccedilotildees O cam-po status da seccedilatildeo HEADER nos permite verificar se foram encontrados erros no servidor DNS A seccedilatildeo QUESTION mostra que tipo de requisiccedilatildeo foi feita ao servidor A resposta eacute mostrada na seccedilatildeo ANSWER A seccedilatildeo ADDITIONAL mostra os endereccedilos dos nomes exibidos em ANSWER

Outra ferramenta eacute o coman-do nslookup que trabalha de duas formas interativo e natildeo-interativo

Usado sem argumentos o nslookup entra em modo interativo

nslookup gt

Dessa forma seraacute utilizado o servi-dor de nomes especificado em etcresolvconf Outro servidor pode ser especificado da seguinte forma

nslookup - floyd gt

Note que haacute um espaccedilo entre o traccedilo e o nome do servidor A maneira mais simples de utilizar o modo interativo eacute simplesmente fornecer um nome a verificar e pressionar [enter]

gt hamilton Server 19216801 Address 1921680153

Name hamiltonginkgo Address 19216802 gt

Exemplo 5 Utilizaccedilatildeo do dig

dig floyd ginkgo ANY

ltltgtgt DiG 932-P1 ltltgtgt floyd ginkgo ANY (1 server found) global options printcmd Got answer -gtgtHEADERltlt- opcode QUERY status NOERROR id 28285 flags qr aa rd ra QUERY 1 ANSWER 3 AUTHORITY 0 ADDITIONAL 2

QUESTION SECTION ginkgo IN ANY

ANSWER SECTION ginkgo 259200 IN SOA floydginkgo hostmasterginkgo 2007060402 28800 7200 2419200 86400 ginkgo 259200 IN NS floydginkgo ginkgo 259200 IN MX 10 felixginkgo ADDITIONAL SECTION floydginkgo 259200 IN A 19216801 felixginkgo 259200 IN A 19216804

Query time 0 msec SERVER 1921680153(19216801) WHEN Mon Jun 4 154409 2007 MSG SIZE rcvd 146

copy Linux New Media do Brasil Editora Ltda

| TUTORIALLPI Niacutevel 2

Para pesquisar um nome no modo natildeo-interativo podem ser fornecidos o nome e o servidor como argumen-tos para o nslookup

nslookup felix floyd Server floyd Address 1921680153

Name felixginkgo Address 19216804

22073 Seguranccedila de DNSPara o administrador precavido a fa-lha em um servidor DNS pode natildeo ser um desastre de grandes proporccedilotildees Ele pode conectar-se atraveacutes do IP do servidor (caso o tenha) e recupe-rar o serviccedilo Os demais usuaacuterios da rede por sua vez apenas acessam as maacutequinas atraveacutes de seus nomes Uma interrupccedilatildeo do servidor DNS mesmo que a comunicaccedilatildeo da rede

ainda exista torna inviaacutevel sua uti-lizaccedilatildeo para quem desconhece os endereccedilos IP das maacutequinas

Num cenaacuterio ainda pior um in-vasor pode interceptar as chamadas DNS e conhecer os nomes e endere-ccedilos das maacutequinas da rede facilitan-do a identificaccedilatildeo e ataque Caso os registros tenham sido alterados um usuaacuterio pode conectar-se a uma maacute-quina-armadilha acreditando tratar-se de uma maacutequina conhecida Neste caso o invasor poderia facilmente conseguir dados sensiacuteveis de todo usuaacuterio enganado

Enjaular o servidorO servidor DNS pode ser executa-do num ambiente isolado onde soacute existam os componentes necessaacute-rios agrave sua execuccedilatildeo Esse ambiente eacute denominado jaula chroot Este processo ajuda a garantir a segu-ranccedila do servidor BIND colocan-

do-o numa ldquogaiolardquo que limitaraacute o ldquoestragordquo caso o servidor seja com-prometido Junto com a restriccedilatildeo a arquivos e diretoacuterios o servidor deve ser executado por um usuaacuterio sem privileacutegios de root

Por exemplo o daemon named pode ser iniciado como proces-so do usuaacuterio natildeo-privilegiado bind tendo como diretoacuterio raiz varnamed

named -u bind -t varnamed

Para que a jaula chroot fun-cione eacute necessaacuterio adaptar algu-mas variaacuteveis na configuraccedilatildeo do BIND O diretoacuterio raiz enxergado pelo daemon named seraacute varna-med portanto eacute necessaacuterio indi-car corretamente a localizaccedilatildeo de arquivos e diretoacuterios como o diretoacuterio dos arquivos de zona e do arquivo de PID

copy Linux New Media do Brasil Editora Ltda

58 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

DNSSECAs transferecircncias de informaccedilotildees entre servidores DNS podem ser autenticadas atraveacutes de uma chave do DNSSEC um complemento do BIND

A chave eacute gerada pelo comando dnssec-keygen Diferentes algoriacutetimos podem ser escolhidos No exem-plo elas seratildeo geradas no diretoacuterio varnamed

cd varnamed dnssec-keygen -a DSA -b 768 -r devuramdom -n ZONE ginkgo

A opccedilatildeo -a especifica a criptografia utilizada a opccedilatildeo -b o tamanho da chave e -r a fonte de dados aleatoacute-rios para gerar a chave (se -r natildeo for fornecido o teclado seraacute usado como fonte de dados aleatoacuterios) A opccedilatildeo -n especifica qual o tipo do dono da chave (ZONE) Por fim eacute especificado o nome (ginkgo)

Terminada a execuccedilatildeo seraacute emitida uma resposta no formato Knnnn+aaa+iiiii Os elementos da resposta significam nnnn Nome da chave aaa Representaccedilatildeo numeacuterica

do algoriacutetimo iiiii Identificaccedilatildeo da chave

(ou impressatildeo digital)Neste exemplo foram gerados

dois arquivos Kginkgo+003+47654key e Kginkgo+003+47654pri-vate O arquivo key deve ser mencionado na respectiva zona atraveacutes de um $include ao final do arquivo

$include Kginkgo+003+47654key

Feito isso a zona deve ser assinada com o comando dnssec-signzone

dnssec-signzone -r devurandom -o ginkgo dbginkgo Kginkgo+003+47654

A opccedilatildeo -o define a origem do arquivo de zona Se natildeo for espe-

cificada a chave seratildeo utilizadas as mencionadas na zona O arqui-vo de saiacuteda dbginkgosigned seraacute criado e deveraacute ser especificado no registro da zona em namedconf

zone ldquoginkgordquo IN type master file ldquodbginkgosignedrdquo allow-update none

Tambeacutem seratildeo criados arquivos dsset e keyset utilizados para que o administrador da zona superior saiba quais chaves satildeo o ponto de entrada seguro para a zona

Os servidores DNS que bus-cam dados no servidor em que o DNSSEC foi utilizado poderatildeo agora validar os dados atraveacutes da chave puacuteblica contida no arqui-vo Kginkgo+003+47654key Essa chave deve estar presente na entrada trusted-keys do arquivo namedconf que obedece a seguin-te sintaxe

trusted-keys string number number number string string number number number string

A entrada trusted-keys pode fazer referecircncia a vaacuterias chaves Cada campo corresponde ao nome do domiacutenio opccedilotildees protocolo algoritmo utilizado e o coacutedigo da chave gerada Todos esses dados estatildeo contidos no arquivo key

No caso do exemplo o registro trus-ted-keys ficaria da seguinte forma

trusted-keys ldquoginkgordquo 256 3 3 ldquoBPDC8hyXf5G8TrgNikGbTVRTlpzpo5ldQt0ROv3viRFBlj7Je2NKIAoJGyEOhmmGHRw4Ls0uHLeQasRAFqz3IKIFh3UpH3b8KYoebkPaDk68zoFphMknxTAr3aUxPmzMKfkDzfHnfe2izxLhzZp52Me

fdeVbuMhusD5BmS4RMK5hsQmjpd8ew3L17RD6WxHxb5KBhr91qVEakLDcPnBG7fCDKgJbG6ynKd8iZKjZHgn5Ve1vQh4az72SCEnkOhljc6mkvUZmg+63PXtedw9IJaXULeq5iMydmZkRTvZtXlQnxObOOACSHwzO3WQSWvruOz6R9mjGY oSyhsAbnEx3HEETwn89GyJMKtYAsBHsTgAJyKgOMPx3OYOvSPCQThOXDuIoLzYEL3HnUqx5P5PXrdquo

Restringir acessoEacute possiacutevel restringir totalmente o acesso ao servidor de nomes a uma rede ou a um host especiacutefico atraveacutes da opccedilatildeo allow-query

allow-query 1921680024

Essa opccedilatildeo pode ser definida tanto na seccedilatildeo options quanto numa entrada de zona Se defini-da em ambos prevaleceraacute para a zona as regras nela especificadas Podem ser especificados mais de um endereccedilo de rede ou host

Para restringir transferecircncias de zona entre servidores ndash ou atraveacutes de comandos como dig e nslookup pode ser utilizada a opccedilatildeo allow-transfer na seccedilatildeo options

allow-transfer 19216802

Como para a opccedilatildeo allow-query mais de um endereccedilo podem ser especificados separados por ldquordquo

Consideraccedilotildees sobre o toacutepicoEste eacute outro toacutepico muito abor-dado na prova Sobretudo co-nheccedila muito bem o formato do arquivo namedconf e os arquivos de zona

Comandos relacionados como rndc dig e host tambeacutem seratildeo abordados

copy Linux New Media do Brasil Editora Ltda

59Linux Magazine 42 | Maio de 2008

AN

AacuteLIS

E

O SpagoBI oferece um pacote de BI completo e de Coacutedigo Aberto

Negoacutecio inteligenteO ramo da Business Intelligence conta com poderosas ferramentas e o SpagoBI se destaca entre as alternativas livres por sua modularidade e consequumlente flexibilidadepor Miguel Koren OrsquoBrien de Lacy

A praacutetica de BI (Business In-telligence) eacute tradicionalmente associada a bancos de dados

enormes em que as aacutereas de mar-keting das empresas tentam descobrir padrotildees de preferecircncias dos clientes usando consultas padronizadas Esses bancos de dados comumente conhe-cidos como data warehouses ou data mart satildeo formados por informaccedilotildees vindas dos mais diversos sistemas da empresa Um data warehouse eacute o repositoacuterio eletrocircnico de informa-ccedilotildees armazenadas da empresa Um data mart eacute um subconjunto de in-formaccedilotildees geralmente focadas em alguma necessidade especiacutefica Um exemplo poderia ser o data mart de informaccedilotildees de produccedilatildeo etc No Brasil temos o costume de usar o termo DW quando nos referimos a um data mart Outra aceitaccedilatildeo comumente encontrada no mer-cado considera sistemas BI como geradores de relatoacuterios diminuindo sua utilidade

Para nivelarmos o conhecimento da mateacuteria podemos convencionar que BI se refere agrave praacutetica de procu-rar armazenar e analisar a informa-ccedilatildeo apresentando em seguida os resultados necessaacuterios para tomar decisotildees fundamentadas e corretas Os sistemas de BI satildeo aplicativos ou ferramentas que suportam e permi-tem essas atividades necessariamente orientados pelos dados

Eacute importante lembrar que sem conhecimento do negoacutecio ou seja das necessidades de informaccedilatildeo e das decisotildees que precisam ser tomadas natildeo existe a possibilidade de prati-car BI Os sistemas de BI satildeo apenas facilitadores

O uso original de BI e as dificul-dades em implementar as soluccedilotildees fizeram com que o segmento atuasse como um espelho do passado para mostrar agrave empresa onde exatamente ela cometeu erros O que se deseja atualmente eacute um sistema de posi-cionamento que mostre onde a em-presa estaacute e como deve evoluir para chegar ao destino pretendido

Os sistemas BI devem mostrar informaccedilatildeo histoacuterica atual e visotildees preditivas O poder analiacutetico e a na-

vegaccedilatildeo pelas informaccedilotildees formam o atual potencial desses sistemas A visatildeo eacute poder obter os benefiacutecios de BI em qualquer lugar e qualquer momento O objetivo que precisa ser satisfeito hoje eacute o monitoramento de diversos indicadores para diversas aacutereas e consolidados para a empresa com o objetivo de aplicar o Geren-ciamento de Performance do Negoacutecio (BPM ndash Business Performance Ma-nagement nesse caso) Tambeacutem eacute interessante suportar um novo termo BI operacional que integra as in-formaccedilotildees analisadas pelo BI tradi-cional (em visatildeo de piracircmide satildeo o BI estrateacutegico e o BI taacutetico) com necessidades operacionais

A IDC publicou um estudo em 2006 que mostra um crescimento anu-

Figura 1 Modelo estrutural de funccedilotildees do SpagoBI

ramzi hashisho ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

60 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

al de 10 em soluccedilotildees BI entre 2005 e 2010 Diversas fontes citam o valor que o BI representa para as empresas e indicam que essa aplicaccedilatildeo comeccedila a fazer parte das soluccedilotildees de negoacutecio e natildeo simplesmente um aplicativo da aacuterea de marketing comprado e instalado por acaso Agrave medida que o mercado olha para os sistemas BI como criacuteticos para a gestatildeo as em-presas fornecedoras dessa tecnologia estatildeo se fundindo resultando em me-nos opccedilotildees para os clientes Algumas aquisiccedilotildees recentes em 2007 satildeo a compra da Hyperion pela Oracle[1] da Business Objects pela SAP[2] e da Cognos pela IBM[3]

Ao mesmo tempo que o mercado de sistemas comerciais estaacute se consoli-

dando aparecem siste-mas de BI licenciados como Software Livre o que aumenta o nuacute-mero de opccedilotildees para os clientes Essa modali-dade de licenciamento vem ao encontro das necessidades de imple-mentaccedilatildeo de BI para todos os funcionaacuterios da empresa pois pelo fato de natildeo existir cus-to de licenciamento eles podem ser usados por todos A empresa Ventana Research[4]

publicou um estudo sobre softwa-res de BI livres em 2006 que mostra que 48 das empresas entrevistadas indicaram o fator de custo como o mais importante na seleccedilatildeo de uma soluccedilatildeo de coacutedigo aberto Adicional-mente 24 dos usuaacuterios individuais entrevistados nesse estudo disseram que o uso de sistemas BI ajuda a aten-der melhor as necessidades pessoais de informaccedilatildeo e decisatildeo que devem fazer no dia-a-dia nas empresas

Natildeo existe uma variedade muito grande de sistemas BI de Coacutedigo Aberto que possam ser chamados de completos Devido agrave diversidade de componentes de um pacote de BI tais como geradores de relatoacuterios

anaacutelise de dados em cubos OLAP (on-line analytic processing)

mineraccedilatildeo de da-dos e

indicadores e pai-neacuteis de controle (dashboards)

entre outros muitos sistemas que atendem somente a uma ou poucas dessas aacutereas es-tatildeo classificados como sistemas BI Tambeacutem

eacute perceptiacutevel o fato de que os siste-mas BI completos de Coacutedigo Aberto contam com suporte oficial de uma empresa seja atuante no mercado BI ou profundamente envolvida com o Software Livre em geral

Caracteriacutesticas e tecnologiaO SpagoBI[5] eacute um sistema que satisfaz as condiccedilotildees para ser usa-do corporativamente atendendo a grande parte das necessidades de informaccedilatildeo relatadas acima Ele estaacute agrupado sob o conceito do Spago World que tem os seguintes obje-tivos gerais fornecer uma soluccedilatildeo livre poder ser usado em ambientes

corporativos facilitar a incorporaccedilatildeo de outras

tecnologias para formar um pa-cote de componentes variados

enfocar o desenvolvimento de soluccedilotildees

formar uma comunidade e contar com serviccedilos de suporte

O SpagoBI eacute membro do con-soacutercio OW2[6] suportado prin-cipalmente pela Bull[7] e pela France Telecom[8] O sistema foi desenvolvido como um framework para aplicativos web em Java para atender a projetos internos Em 2004 o ambiente foi completado e liberado sob a GPL no Source-Forge e posteriormente hospedado no ObjectWeb hoje OW2

O sistema hoje estaacute sob a li-cenccedila LGPL e tem tambeacutem a vantagem de ser verdadeiramente livre devido ao modelo de negoacutecio aplicado O SpagoBI natildeo oferece qualquer restriccedilatildeo ao uso e natildeo existem versotildees comerciais mais completas como eacute frequumlente em outros aplicativos de negoacutecio de Coacutedigo Aberto

Em 2007 foram liberadas algu-mas outras soluccedilotildees do Spago World Spago4Q (indicadores e meacutetricas de

Figura 2 Modelo estrutural do SpagoBI

Figura 3 Tela inicial do aplicativo analiacutetico

copy Linux New Media do Brasil Editora Ltda

61

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

qualidade no processo de desenvol-vimento de software) e Spagic (pla-taforma de integraccedilatildeo de sistemas utilizando SOA e BPM ndash Business Process Management nesse caso)

ComponentesO SpagoBI possui seis componentes principais servidor SpagoBI Spago-BI Studio SpagoBI SDK SpagoBI Meta e SpagoBI Applications

O servidor SpagoBI compreende o nuacutecleo para consultas pelo aplica-tivo aleacutem de apresentar o modelo analiacutetico do sistema Ele oferece os seguintes serviccedilos interface com o usuaacuterio intuiti-

va tipo rich client configuraccedilatildeo de fontes de dados geraccedilatildeo livre de consultas ao

sistema para anaacutelise assinaturas para receber informa-

ccedilatildeo perioacutedica e notificaccedilotildees aacutereas (pastas) para uso pessoal salvar importar e exportar as

configuraccedilotildees paacutegina individual (do tipo

MeuBI) integraccedilatildeo com mecanismos de vi-

sualizaccedilatildeo (PALO para Excel[9] e JPALO para Web[10])

alertas e notificaccedilotildees motor de busca acesso a consultas preacute-configu-

radas agrupadas por tiposO SpagoBI Studio por sua vez eacute

um ambiente em forma de plugin para o Eclipse[11] para desenvolver soluccedilotildees dentro do SpagoBI Ele oferece modeladores para todos os documentos analiacuteticos permite o upload para o servidor SpagoBI e possibilita a realizaccedilatildeo de testes aces-sando dados de testes ou reais

A SpagoBI SDK consiste em uma interface para acesso a serviccedilos de BI que possam ser integrados a outros aplicativos Oferece uma biblioteca de tags a proacutepria API de integraccedilatildeo e acesso a Web Services

Enquanto isso o SpagoBI Meta eacute um mecanismo de armazenamen-to de metadados (informaccedilatildeo que descreve os dados) Os metadados permitem que o usuaacuterio que faz a anaacutelise possa conhecer melhor a informaccedilatildeo tratada assim como a fonte dessa informaccedilatildeo

Por uacuteltimo as SpagoBI Appli-cations compreendem diversos aplicativos verticais Dentro desse conceito podemos mencionar o SpagoBI for AREAS utilizado para BI no campo da medicina AREAS eacute um sistema ERP italia-no voltado para empresas de me-

dicina que selecionou o SpagoBI como seu componente BI

As funcionalidades do sistema satildeo geraccedilatildeo de relatoacuterios com su-

porte a diversos mecanismos anaacutelise de dados em visotildees de

cubos OLAP paineacuteis de controle com indica-

dores (KPI) mineraccedilatildeo de dados visualizaccedilatildeo geograacutefica processos ETL (Extract Trans-

form Load) simulaccedilotildees what-if dossiecirc cataacutelogo de informaccedilotildees gerador de consultas usando

Figura 4 Menu de opccedilotildees e painel de controle

Figura 5 Exemplos de novos termocircmetros para formar paineacuteis

copy Linux New Media do Brasil Editora Ltda

62 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

mecanismos QbE (query by example) integraccedilatildeo de servi-

ccedilos BI ao Microsoft Office

colaboraccedilatildeoA figura 1 mostra o flu-

xo de informaccedilatildeo entre as diversas funccedilotildees da so-luccedilatildeo Todas as funccedilotildees satildeo acessadas somente pelo moacutedulo denomi-nado Modelo Compor-tamental que gerencia as permissotildees de acesso O sistema estaacute prepara-do para uso empresarial

considerando as seguintes carac-teriacutesticas restriccedilatildeo de

acesso agraves in-formaccedilotildees

single sign-on a publicaccedilatildeo

de elementos do sistema tais como definiccedilotildees de relatoacuterios eacute gerenciada den-tro do CMS (content mana-gement system) utilizando a nor-ma JSR 170

sistema escalaacutevel pois eacute escrito em Java e funciona dentro de um servidor de aplicaccedilatildeo

permite o uso de vaacuterios moto-res diferentes tanto de Coacutedigo Aberto quanto proprietaacuterios

eacute uma plataforma de integraccedilatildeo natildeo apenas um aplicativo

A figura 2 mostra a arquitetura do SpagoBI

Uma limitaccedilatildeo presente com frequumlecircncia em sistemas BI de Coacutedi-go Aberto eacute o fato de serem apenas ferramentas para construir a soluccedilatildeo sem um aplicativo pronto para ser utilizado plenamente O SpagoBI se destaca por apresentar tambeacutem

um aplicativo para o usuaacuterio de BI Esse aplicativo eacute acessado de dentro do ambiente web oferecido por outro componente OW2 a Exo Platform[12] que tem a possibilidade de rodar o aplicativo dentro de sua arquitetura de virtualizaccedilatildeo da aacuterea de trabalho o WebOS[13] Poreacutem adicionalmente agrave eXo Platform o SpagoBI estaacute cer-tificado para rodar dentro do portal Liferay[14] muito conhecido e uti-lizado em ambientes de arquitetura Java O CMS JSR 170 tambeacutem eacute for-necido pela eXo Platform

DiferenciaisUm diferencial muito importante do SpagoBI eacute ser uma plataforma de integraccedilatildeo para diversas ferramentas de BI Como consequumlecircncia para ob-tenccedilatildeo de um aplicativo completo devem ser instalados os diversos me-canismos individuais do SpagoBI

O sistema eacute completamente desen-volvido em Java com operaccedilatildeo pelo navegador web para uso e consultas Certos componentes satildeo utilizados em ambiente graacutefico ndash e natildeo web ndash como o mecanismo ETL Entre os componentes agrupados pelo SpagoBI podemos encontrar projetos de Coacutedigo Aberto bem conhecidos como Weka para mineraccedilatildeo de dados Mondrian e PALO para anaacutelise

OLAP de cubos multi-dimen-sionais

BIRT e Jasper Reports para ge-raccedilatildeo de relatoacuterios

Talend para processos ETL Lazslo para paineacuteis de controle

e indicadores

OperaccedilatildeoPrimeiramente o aplicativo deve ser acessado por meio do navegador web O mecanismo de seguranccedila determi-na as permissotildees de acesso do usuaacuterio no processo de login (figura 3)

Apoacutes o login o usuaacuterio tem agrave dis-posiccedilatildeo a tela inicial em que pode

Figura 6 Tela com a visatildeo geograacutefica dos dados

Figura 7 Interface de acesso a BI fornecida pelo WebOS

Figura 8 Seleccedilatildeo de relatoacuterios no navegador BI

copy Linux New Media do Brasil Editora Ltda

63

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

selecionar as operaccedilotildees a efetuar A figura 4 exibe o painel de controle com indicadores de desempenho

Eacute possiacutevel substituir os indicadores visuais da figura 4 por outros como os da figura 5 particularmente interes-santes para o usuaacuterio por mudarem de posiccedilatildeo dinamicamente pelo acesso regular aos dados que representam O painel portanto natildeo conteacutem ape-nas informaccedilotildees estaacuteticas

Para gerar uma nova consulta o usuaacuterio pode usar a funcionalidade QbE (query by example) que exibe as tabelas que podem ser consulta-das e para cada uma os dados que podem ser selecionados

Com as consultas definidas tan-to diretamente em bancos de dados quanto em cubos para anaacutelise OLAP pode ser configurada uma tela de con-sulta geograacutefica conforme mostrado na figura 6 Selecionando aacutereas da fi-gura o usuaacuterio seraacute levado a telas de consulta dos detalhes do item

Usando as possibilidades do We-bOS eacute possiacutevel definir telas BI mais sofisticadas conforme mostra a figura 7 Poreacutem caso a consulta requerida seja frequumlente talvez jaacute esteja disponiacutevel para consulta imediata pelo navegador de consultas do sistema (figura 8)

A interface graacutefica do aplicativo web permite que o usuaacuterio agrupe di-ferentes relatoacuterios e visotildees em conjun-tos denominados dossiecircs Cada rela-

toacuterio ou objeto BI em geral permite que o usuaacuterio faccedila anotaccedilotildees Assim pode ser delegada a funccedilatildeo de pre-parar por exem-plo um dossiecirc de status de projeto a usuaacuterios de dife-rentes aacutereas que possam preparar o material e re-gistrar questotildees relevantes para a anaacutelise final Essa

eacute a base das possibilidades colabora-tivas do sistema

Os relatoacuterios podem ser salvos em diferentes formatos atualmen-te limitados a HTML PDF XLS CSV XML TXT e JPG

A figura 9 mostra um exemplo de tela com o editor de notas aberto

ConclusatildeoFazer uso eficiente e produtivo de um pacote de BI eacute uma meta nobre e difiacutecil de atingir A forma de implementar o SpagoBI e a possibilidade de integraccedilatildeo de motores individuais de diferentes fa-bricantes permite que o uso do SpagoBI comece pouco difundido e aumente conforme as necessidades

A implementaccedilatildeo do SpagoBI considera ter resultados bons mesmo que parciais algo muito importante para o projeto de implementaccedilatildeo O SpagoBI permite que a empresa inicie por exemplo apenas com a necessidade de um termocircmetro que mostre em forma de painel de con-trole a quantidade de peccedilas vendidas por semana

O estudo da Ventana Research mencionado anteriormente mos-tra que as empresas entrevistadas consideram que os pacotes de BI de Coacutedigo Aberto tecircm suficientes caracteriacutesticas para serem usados Esse eacute o caso do SpagoBI o clien-te que resolver iniciar um projeto

de BI com ele natildeo sentiraacute falta de funcionalidades para aspectos fun-damentais de BI Destacamos que para uma implementaccedilatildeo bem sucedida eacute muito importante dar passos firmes sustentados com um planejamento adequado

Mais informaccedilotildees

[1] Aquisiccedilatildeo da Hyperion pela Oracle httpwwworaclecomcorporatepress2007_marhyperionhtml

[2] Aquisiccedilatildeo da Business Objects pela SAP httpwwwbusinessobjectscomcompanysap

[3] Aquisiccedilatildeo da Cognos pela IBM httpwwwcognoscomnewsreleases20071112html

[4] Ventana Research httpwwwventanaresearchcom

[5] SpagoBI httpspagobiengit

[6] Consoacutercio OW2 httpwwwow2org

[7] Bull httpwwwbullcombr

[8] France Telecom httpwwwfrancetelecomcom

[9] PALO httpwwwjedoxcom

[10] JPALO httpwwwjpalocom

[11] Eclipse httpwwweclipseorg

[12] eXo Platform httpwikiexoplatformcomxwikibinviewMain

[13] WebOS httpwikiexoplatformcomxwikibinviewMainWebOS+concept

[14] Liferay httpwwwliferaycom

Figura 9 Relatoacuterio graacutefico mostrando o editor de notas

copy Linux New Media do Brasil Editora Ltda

64

AN

AacuteLIS

E

httpwwwlinuxmagazinecombr

DVD do assinante Librix 3

Para conquistar o puacuteblicoEm sua versatildeo 30 o Librix da Itautec atinge a maturidade para ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientespor Pablo Hess

Distribuiccedilotildees genuinamente nacionais de grande sucesso jaacute foram numerosas e muito

presentes nas maacutequinas brasileiras Atualmente no entanto satildeo raras especialmente apoacutes a meteoacuterica as-cenccedilatildeo do Ubuntu entre os usuaacuterios de desktop assim como a ampla ado-

ccedilatildeo de distribuiccedilotildees mundialmente difundidas como Open Suse Fedora e Mandriva

A onda de novas distribuiccedilotildees nacio-nais no entanto promete mudar esse cenaacuterio Fortemente baseadas em dis-tribuiccedilotildees usadas em grande escala no exterior as distribuiccedilotildees que equipam os

computadores ven-didos sob o programa Computador Para Todos do Governo Federal geralmente realizam apenas al-gumas adaptaccedilotildees graacuteficas e de idiomas para tornarem o uso das maacutequinas mais praacutetico para nosso povo ndash com algumas exceccedilotildees eacute claro

Uma das mais gratas dentre exce-ccedilotildees estaacute sendo en-tregue junto com o DVD do assinante desta ediccedilatildeo da Li-nux Magazine O Librix 3 fabricado pela Itautec tem base no poderoso e flexiacutevel Gentoo ndash conhecido espe-cialmente entre os usuaacuterios avanccedilados de Linux O valor do Librix no entanto reside justamente em seu sucesso na oferta de inuacutemeras vantagens a uma

ampla gama de usuaacuterios Enquanto os mais iacutentimos do sistema do pinguumlim tecircm agrave disposiccedilatildeo os flexiacuteveis utilitaacuterios de linha de comando do Gentoo os usuaacuterios inexperientes que iniciam seu aprendizado em Linux com a dis-tribuiccedilatildeo da Itautec desfrutam de um agradaacutevel e organizado ndash aleacutem de atra-ente claro ndash ambiente KDE

BelezaA aacuterea de trabalho do Librix (figura 1) traz os principais iacutecones que o usuaacuterio iniciante espera encontrar aleacutem da Pasta do Usuaacuterio pode-se acessar o navegador Firefox o pacote de escritoacute-rio BrOfficeorg o Sistema Konqueror (acessando a URI system e exibindo locais de rede e miacutedias externas ndash figura 2) e a lixeira

E jaacute comeccedilam as inovaccedilotildees O tema adotado por padratildeo como mostra a fi-gura 2 eacute colorido e elegante capaz de agradar todos os tipos de usuaacuterios ndash uma constante nessa versatildeo da distribuiccedilatildeo jaacute podemos adiantar Os efeitos graacuteficos do desktop fornecidos pelo gerenciador de janelas Compiz e com ornamentos do Emerald vecircm desabilitados mas um iacutecone na barra de tarefas (figura 3) permite sua ativaccedilatildeo e configura-ccedilatildeo baacutesica com apenas dois cliques do mouse ou a alteraccedilatildeo de opccedilotildees mais avanccediladas mediante o acionamento de utilitaacuterios completos

Ao ser ativado o Compiz a con-figuraccedilatildeo-padratildeo do Librix 3 utiliza todos os recursos disponiacuteveis geral-mente em modo aleatoacuterio Embora isso possa ser impressionante para fins de demonstraccedilatildeo os usuaacuterios

Figura 1 A aacuterea de trabalho do Librix 3 traz os iacutecones mais impor-tantes e um visual muito atraente

Figura 2 O navegador do sistema exibe dispositivos de armazena-mento externos e remotos

copy Linux New Media do Brasil Editora Ltda

65

| ANAacuteLISEDVD do assinante

Linux Magazine 42 | Maio de 2008

podem se cansar rapidamente desse comportamento exagerado

O menu trazido pela Itautec (figura 4) eacute outro aspecto novo nessa versatildeo da distribuiccedilatildeo Seu comportamen-to diferente do presente nas demais distribuiccedilotildees Linux da atualidade no entanto pode ser um fator negativo especialmente para os usuaacuterios inex-perientes ndash felizmente desativaacute-lo eacute tatildeo faacutecil quanto ativar os efeitos 3D exigindo apenas um clique com o botatildeo direito sobre o botatildeo Menu e sua configuraccedilatildeo

PoderO sistema Gentoo que vive sob o Librix eacute o velho conhecido dos obcecados por personalizaccedilatildeo Utilizando um mirror da distribuiccedilatildeo padratildeo os pacotes que diferenciam essa distribuiccedilatildeo de sua ldquoprogenitorardquo residem nos overlays (re-positoacuterios alternativos de pacotes) locais em usrlocalportage e usrlocalportagexeffects Isso eacute suficiente para fornecer ao Librix o pacote de escritoacuterio BrOfficeorg (ausente no Gentoo) e o gerenciador graacutefico de pacotes Tutoo Package Manager (figura 5) aleacutem de alguns outros softwares que englobam desde moacutedulos para a linguagem Python ateacute as leves particularidades graacuteficas do sistema da Itautec

Mesmo com todas essas facilida-des o gerenciamento do sistema pode ser feito inteiramente pela linha de comando com os poderosos emer-ge eselect equery e companhia A

Itautec natildeo utiliza pacotes binaacuterios ou seja o sistema compila cada um dos pa-cotes instalados no sistema salvo importantes exceccedilotildees como o BrOfficeorg ndash cuja compilaccedilatildeo levaria vaacuterias horas Apesar de tornar a instalaccedilatildeo de novos softwa-res significativamente mais lenta que distribuiccedilotildees com pacotes DEB RPM ou tgz essa estra-teacutegia garante a possibilidade de per-sonalizaccedilatildeo por meio das flags USE responsaacuteveis por ativar ou desativar as opccedilotildees de compilaccedilatildeo de cada pacote que compotildee o sistema Aleacutem disso garante a constante atualizaccedilatildeo dos pacotes satisfazendo dependecircncias com facilidade e anulando as restri-ccedilotildees de versotildees de bibliotecas

PraticidadeNatildeo haacute como negar o puacuteblico-alvo dessa distribuiccedilatildeo eacute o usuaacuterio iniciante que estaacute travando seu primeiro contato com o Linux Nesse sentido um im-portante aspecto do sistema eacute incluir ldquode faacutebricardquo softwares que supram as necessidades de quem jaacute tem costume com algum sistema Windowsreg

O Librix jaacute traz os codecs de aacuteudio e viacutedeo proprietaacuterios da Microsoft (WMA e WMV satildeo seus principais represen-tantes) e eacute capaz de reproduzir DVDs em seu reprodutor multimiacutedia Kaffeine Os usuaacuterios do iTunes da Apple tam-beacutem podem evitar a saudade usando

o amigaacutevel Amarok Softwares raramente incluiacutedos em outras distribuiccedilotildees como o Skype e o geren-ciador de downloads Downloader for X por exemplo tam-beacutem vecircm instalados mas falta um utilitaacute-rio de configuraccedilatildeo de conexotildees PPPoE a mais comum em serviccedilos ADSL

ConclusotildeesA Itautec vem me-lhorando seu Librix a cada nova versatildeo Com facilidades im-portantes voltadas aos novos usuaacuterios Linux a distribuiccedilatildeo se torna uma al-ternativa interessante para os usuaacuterios que temem deixar sua zona de con-forto em relaccedilatildeo ao comportamento de seu desktop

O gerenciamento de pacotes agora feito pelo TPM finalmente alcanccedilou o niacutevel de maturidade exigido para satisfa-zer as necessidades do puacuteblico iniciante ndash principalmente a facilidade de uso e compreensatildeo ndash ainda assim preservando o poder do Portage ldquosob o capocircrdquo

O visual e o comportamento do am-biente desktop fazem alusatildeo agraves atuais versotildees do Windows (XP e Vista) o que certamente contribui para a que-da de uma importante barreira para a adoccedilatildeo dessa distribuiccedilatildeo no programa Computador Para Todos

Figura 3 Ativar e desativar os efeitos 3D na aacuterea de trabalho do Librix eacute muito praacutetico

Figura 4 O menu KBFX vem ativado por padratildeo e mostra seme-lhanccedilas com o de diferentes versotildees do Windows

Figura 5 O Tutoo Package Manager livra o usuaacuterio de adquirir intimidade com o comando emerge

copy Linux New Media do Brasil Editora Ltda

66 httpwwwlinuxmagazinecombr

Manipulando maacutequinas com o Puppet

MarioneteAprenda a economizar tempo e agilize a administraccedilatildeo de sistemas com ajuda do Puppet uma ferramenta de gerenciamento e configuraccedilatildeo centralizadospor Juliet Kemp

O Puppet eacute um sistema centra-lizado de gerenciamento de configuraccedilatildeo que usa uma

linguagem de especificaccedilatildeo multiplata-forma Para usaacute-lo executa-se um ser-vidor Puppet central ndash o puppetmaster ndash e os daemons do programa em todos os computadores que devem ser admi-nistrados As opccedilotildees de configuraccedilatildeo para todas as maacutequinas-cliente satildeo es-pecificadas no PuppetMaster Depois as alteraccedilotildees nas configuraccedilotildees satildeo propagadas a partir do PuppetMaster para os clientes adequados

O Puppet permite o gerenciamento de arquivos (dono modo conteuacutedo e existecircncia) usuaacuterios grupos pa-cotes e serviccedilos a partir de um local central Pode-se rodar comandos ou scripts e tambeacutem eacute possiacutevel gerenciar crontabs montagem de sistemas de arquivos e configuraccedilotildees de rede

Cada item gerenciado eacute chamado de recurso e os recursos satildeo categori-zados em tipos (por exemplo arquivo pacote serviccedilo cron) O Puppet estaacute em intenso desenvolvimento receben-do novos tipos regularmente ndash pode-se ateacute criar tipos personalizados

Por que usaacute-loOs trecircs principais motivos para usar o Puppet satildeo 1 O programa manteacutem um regis-

tro da configuraccedilatildeo do cliente Se um sistema-cliente morrer eacute possiacutevel gerar uma configura-ccedilatildeo idecircntica num novo sistema com base na informaccedilatildeo arma-zenada no Puppetmaster

2 Se houver mais de uma maacutequi-na eacute possiacutevel instalaacute-las de forma idecircntica ou usar o mesmo siste-ma-base e aplicar as modificaccedilotildees para clientes individuais

3 O conjunto de tipos do Puppet facilita o gerenciamento de muacuteltiplos sistemas a partir de um local uacutenico

Outra vantagem do Puppet eacute que ele funciona em conjunto com uma ferramenta chamada Facter Ela define variaacuteveis especiacuteficas em cada maacutequina (como nome da maacutequina endereccedilo IP e sistema operacional) automatica-mente permitindo um ajuste fino de configuraccedilotildees especiacuteficas em clientes individuais sem perder os benefiacutecios de uma configuraccedilatildeo comum

Instalaccedilatildeo e configuraccedilatildeoO coacutedigo-fonte do Puppet estaacute dispo-niacutevel no site do projeto[1] e seus pa-cotes estatildeo presentes nos repositoacuterios de vaacuterias distribuiccedilotildees Linux

O principal arquivo de configuraccedilatildeo eacute etcpuppetpuppetmasterconf com uma estrutura bem clara e simples

[puppetmasterd] Assegure-se de que todas as mensagens de log sejam enviadas ao di- retorio correto Ele deve ser gravavel pelo usuario puppetlogdir=varlogpuppetvardir=varlibpuppetrundir=varrun

Para guardar tambeacutem o conteuacutedo dos arquivos seraacute necessaacuterio uma con-figuraccedilatildeo de servidor de arquivos em etcpuppetfileserverconf O coacutedigo mostrado a seguir exibe o caminho para o armazenamento de arquivos no puppetmaster e permite o acesso a todas as maacutequinas em exemplocom

[files] path etcpuppetfiles allow exemplocom deny ruimexemplocom allow 1921680024

Aleacutem disso tambeacutem eacute possiacutevel ba-nir domiacutenios ou maacutequinas especiacuteficos bem como especificar por endereccedilo IP caso seja preferiacutevel Para criar os usuaacuterios do Puppet que o daemon utiliza deve-se usar a opccedilatildeo mkusers ao executar o daemon puppetmaster pela primeira vez

Como ainda natildeo foram criadas as definiccedilotildees dos noacutes tambeacutem seraacute ne-cessaacuterio usar a opccedilatildeo --nonodes

usrbinpuppetmasterd --mkusers --nonodes

Receita baacutesicaCom a configuraccedilatildeo baacutesica jaacute feita vejamos como configurar o mani-festo do site e comeccedilar a gerenciar as configuraccedilotildees e outros tipos Por padratildeo o principal manifesto de site do Puppet fica em etcpuppetma-nifestssitepp Tudo nesse arquivo seraacute executado em todos os clientes Para comeccedilar podemos tentar colo-

RE

DE

S

dim

itris

pet

rid

is ndash

ww

ws

xch

u

copy Linux New Media do Brasil Editora Ltda

67

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

car algo numa receita faacutecil o arquivo sudoers eacute um bom candidato

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo440rdquo

Isso garante que o arquivo sudoers do cliente tenha essas propriedades

ClienteEm seguida eacute necessaacuterio iniciar o PuppetMaster e configurar um cliente para testes No cliente eacute necessaacuterio o pacote puppet Para definir o nome do servidor para um site deve-se in-cluir no arquivo etcpuppetpuppetdconf a linha

server = puppetserverexemplocom

Depois alterar os modos ou o dono do arquivo etcsudoers no cliente para que fiquem diferentes do es-pecificado no arquivo sitepp do PuppetMaster A seguir deve-se executar o cliente pela primeira vez com o comando

puppetd --waitforcert 60 --test

Os clientes satildeo autenticados por uma requisiccedilatildeo de certificado ao Pu-ppetMaster O cliente acusaraacute a falta de um certificado e em seguida faraacute uma pausa para que se possa ordenar que o PuppetMaster assine o certifi-cado do cliente O comando puppet-ca --list no PuppetMaster lista os clientes que aguardam sua assinatura Com puppetca --sign clienteexemplocom (novamente no PuppetMaster) o certificado seraacute assinado (puppetca --sign --all assinaraacute todos os certifica-dos que estatildeo aguardando) Apoacutes 60 segundos o cliente obteacutem o certificado assinado e eacute executado A opccedilatildeo test faz com que o cliente rode em modo verboso e apenas uma vez

Apoacutes terminar eacute importante verifi-car o arquivo etcsudoers o modo deve ser o mesmo especificado no Puppet-Master e natildeo o que foi alterado

Aleacutem de gerenciar atributos de arquivos o Puppet tambeacutem gerencia seu conteuacutedo atuando como servi-dor de arquivos Para isso primeiro eacute preciso criar um arquivo sudoers de exemplo e colocaacute-lo em etcpu-ppetfilessudoers

Em seguida edite novamente o arquivo sitepp para que a receita do sudoers fique semelhante a

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt 440 source =gt ldquopuppetpuppetserverexemplocomfilessudoersrdquo

Edite o arquivo no cliente para que ele fique diferente do con-teuacutedo acima e rode novamente o Puppet com o comando ppuppetd --test O conteuacutedo do arquivo seraacute alterado

O trecho abaixo tambeacutem mostra como usar um uacutenico contecirciner file para muacuteltiplos recursos de arquivo

file ldquostarrdquo ensure =gt link target =gt ldquosoft9starrdquo ldquotestdirrdquo ensure =gt directory

DependecircnciasOs recursos interagem uns com os outros Certos pacotes satildeo necessaacute-rios para determinados serviccedilos por exemplo ou talvez se queira reiniciar um serviccedilo quando um arquivo espe-ciacutefico for alterado O Puppet possui dependecircncias ndash notavelmente require

e subscribe ndash para especificar essas interaccedilotildees

O trecho abaixo usa o tipo service que pode ser usado para qualquer daemon que se queira deixar em execuccedilatildeo (no caso o Slapd)

service ldquoslapdrdquo ensure =gt running hasrestart =gt true require =gt Package[ldquoslapdrdquo] subscribe =gt [File[ldquoldapconfrdquo] File[ldquoetcldapschemardquo]]

A opccedilatildeo hasrestart informa ao Pu-ppet se ele deve reiniciar o serviccedilo com stopstart ou com restart A diretiva re-quire simplesmente fornece um rela-cionamento de ordem ela garante que o recurso referido ndash no caso o pacote slapd ndash estaraacute configurado antes deste serviccedilo Todos os tipos suportam isso

O item subscribe eacute uma depen-decircncia relativa Se os recursos espe-cificados forem alterados o item eacute atualizado Os tipos exec service e mount suportam isso

Note a forma como os recursos do Puppet satildeo especificados nesse contex-to com o nome do tipo comeccedilando com letra maiuacutescula e fornecendo o nome do recurso Aleacutem disso esses recursos precisam ser especificados em outros locais ou ocorreraacute um erro

O Puppet eacute capaz de gerenciar diversos tipos packages o Puppet interage

com a maioria dos principais sistemas de pacotes e pode garantir que programas espe-ciacuteficos estejam instalados o que eacute particularmente uacutetil ao instalar uma nova maacutequina

package ldquoslapdrdquo ensure =gt installed

exec executa comandos internos O comando subscribe eacute uacutetil nesse ponto Por exemplo um trecho

copy Linux New Media do Brasil Editora Ltda

68 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

que atualiza o exim4 quando sua configuraccedilatildeo eacute modificada

exec ldquoexim4-updaterdquo command =gt ldquousrsbinupdate-exim4confrdquo user =gt ldquorootrdquo subscribe =gt File[ldquoupdate-exim4rdquo] refreshonly =gt true

usuaacuterios e grupos esse tipo tem como objetivo gerenciar usuaacute-rios do sistema e natildeo usuaacuterios normais Eacute possiacutevel gerenciar o diretoacuterio home (por exemplo criaacute-lo) assim como outros atri-butos de usuaacuterio

user ldquomanagerrdquo ensure =gt present home =gt ldquolocalmanagerrdquo managehome =gt true gid =gt ldquosystemusersrdquo

cron gerencia cron jobs Um uso possiacutevel para esse recurso eacute reini-ciar o Puppet em clientes caso ele falhe como mostra o exem-plo 1 Embora esteja mostrado em muacuteltiplas linhas o coman-do tambeacutem pode ser usado em uma uacutenica A hora e o dia para execuccedilatildeo do cron job assim como o usuaacuterio a executar a ta-refa podem ser definidos como no trecho acima O comando eacute adicionado ao crontab do usuaacuterio correspondente

mount monta diretoacuterios para o en-sure Se o paracircmetro ensure estiver definido como present o sistema de arquivos estaraacute na tabela mas natildeo montado Se o paracircmetro estiver definido como mounted o sistema de arquivos seraacute adicio-nado agrave tabela e montado E se o paracircmetro estiver definido como absent o sistema de arquivos seraacute removido da tabela

Tambeacutem estatildeo disponiacuteveis vaacuterios atributos de rede maacutequinas in-terfaces listas de email aliases de email e chaves SSH

PadrotildeesEacute possiacutevel definir padrotildees para qual-quer recurso Por exemplo se a maio-ria dos arquivos de uma maacutequina pertencer ao usuaacuterio root e tiverem permissotildees 644 o seguinte trecho vai estabelecer esses valores como padratildeo para todos os arquivos

File owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo644rdquo

Para contornar esse padratildeo basta es-pecificar um valor diferente para qual-quer um desses paracircmetros num recurso especiacutefico Note que os padrotildees somente se aplicam a seu proacuteprio escopo (classe) e a qualquer classe abaixo dessa se for desejaacutevel aplicaacute-los globalmente eacute ne-cessaacuterio defini-los fora de todas as classes ndash por exemplo no arquivo sitepp

Organizaccedilatildeo do diretoacuterioO site do Puppet oferece sugestotildees de organizaccedilatildeo de arquivos e ma-nifestos Independente do sistema usado eacute importante certificar-se de que ele seja compreensiacutevel e facil-mente atualizaacutevel

Um exemplo seria

- Diretoacuterio principal do Puppet |- Arquivos |- Aplicativos |- Usuaacuterios |- Manifestos |- sitepp - Noacutes - diretoacuterio com manifestos de vaacuterios noacutes - confira a proacutexima seccedilatildeo - Classes - diretoacuterio com manifestos de vaacuterias classes dependendo do programa (aptpp apache2pp) |- Definiccedilotildees |- Modelos (templates)

Todos os subdiretoacuterios contecircm arquivos de classe (veja abaixo) e para incluiacute-los o arquivo sitepp fica semelhante a

import ldquoclassesrdquoimport ldquodefinicoesrdquoimport ldquonosrdquoimport ldquousuariosrdquo

NoacutesAteacute o momento consideramos somen-te a configuraccedilatildeo de uma uacutenica maacute-quina mas o Puppet realmente brilha quando se tem muacuteltiplas maacutequinas Se forem todas idecircnticas basta criar uma configuraccedilatildeo ndash a padratildeo

siteppdefault include sudo

Mas tambeacutem se pode ter uma confi-guraccedilatildeo diferente para cada maacutequina

Exemplo 1 Cron job para reiniciar o Puppet

01 cron restart-puppet02 command =gt lsquoif [ -e varrunpuppetdpid ] then ps uw -p `cat varrunpuppetdpid` | grep -q lsquo ruby usrsbinpuppetdrsquo03 || (rm varrunpuppetdpid etcinitdpuppet start) firsquo04 user =gt root05 minute =gt lsquo0rsquo06

copy Linux New Media do Brasil Editora Ltda

69

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

assim como criar configuraccedilotildees-base e depois herdaacute-las ou incluiacute-las na configuraccedilatildeo dos noacutes Por exemplo eacute possiacutevel criar uma configuraccedilatildeo baacute-sica para servidores diferente daquela para desktops e ambas podem herdar de uma base ou configuraccedilatildeo-padratildeo comum (exemplo 2)

As classes podem ser especifica-das num arquivo individual ou em um arquivo por classe recomenda-se a segunda forma para facilitar o gerenciamento

Facter modelos variaacuteveisUm aspecto uacutetil do Puppet eacute que ele vem com o Facter uma ferramenta que informa vaacuterios ldquofatosrdquo (facts em inglecircs daiacute o nome Facter) a respeito de uma maacutequina especiacutefica incluindo seu nome IP arquitetura sistema ope-racional chave SSH informaccedilotildees de processador e memoacuteria entre outros

Para uma lista completa dos fatos fornecidos por padratildeo basta digitar facter na linha de comando Eacute pos-siacutevel consultar esses fatos de den-tro do Puppet com $nome_do_fato Eles possuem dois usos importan-tes criar estruturas condicionais e usaacute-las em modelos

CondicionaisO Puppet possui trecircs tipos de con-dicionais 1 seletores satildeo usados dentro de

uma diretiva

package ldquokbr-clientsrdquo ensure =gt $operatingsystem ubuntu =gt absent debian =gt installed default = undef

Nesse trecho se o fato $opera-tingsystem estiver definido como

ubuntu o pacote natildeo estaraacute ins-talado se estiver como debian o pacote estaraacute instalado O padratildeo eacute natildeo definir o atributo

2 A diretiva case oferece uma forma de aplicar classes con-dicionalmente

case $operatingsystem ubuntu include ubuntu debian include debian default include basic

Nesse trecho a classe especiacute-fica a cada sistema operacio-nal eacute incluiacuteda dependendo

novamente do valor do fato $operatingsystem Eacute possiacutevel especificar muacuteltiplas condiccedilotildees entre viacutergulas

3 Tambeacutem existe uma estrutura ifelse mais simples

if $needexample file ldquousrlocalexemplordquo ensure =gt present else file ldquousrlocaltesterdquo ensure =gt present

Exemplo 2 Muacuteltiplas classes e heranccedila

01 class base 02 Varias coisas basicas03 include autofs04 include cron05 include puppet06 include ssh07 e assim por diante08 0910 class desktop inherits base 11 Tudo na classe lsquobasersquo serah automaticamente incluido aqui12 Depois tambem eh possivel13 include latex14 include gnome15 e assim por diante16 1718 class server inherits base 19 Novamente tudo da classe lsquobasersquo serah automaticamente incluido20 E depois outras coisas exclusivas de servidores21 include nfs22 e assim por diante23

Exemplo 3 iptableserb

01 filter02 INPUT DROP [00]03 FORWARD DROP [00]04 OUTPUT ACCEPT [00]05 -A INPUT -d 127000255000 -i lo -p tcp -j DROP06 -A INPUT -d lt= ipaddress gt -m state --state RELATEDESTABLISHED -j ACCEPT07 -A INPUT -i lo -j ACCEPT08 -A INPUT -s 10419815302552552550 -d lt= ipaddress gt -j ACCEPT09 -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j LOG --log-prefix ldquosshrdquo -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j ACCEPT10 COMMIT

copy Linux New Media do Brasil Editora Ltda

70 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

Atualmente eacute possiacutevel determinar apenas se uma dada variaacutevel estaacute de-finida sem distinguir entre valores es-peciacuteficos Para fazer isso eacute necessaacuterio usar as diretivas case ou selector

ModelosOs modelos usam a linguagem Ruby para inserir variaacuteveis num arquivo-fonte Em outras palavras eacute como fornecer um arquivo central que pode variar de uma maacutequina para outra

Um bom exemplo de uso de um fato num modelo eacute definir uma po-liacutetica de ipchains Por exemplo o ar-quivo iptableserb (ERB eacute a sintaxe de modelos do Ruby) mostrado no exemplo 3 utiliza o fato $ipaddress

Depois eacute possiacutevel fazer referecircncia a esse modelo

file ldquoiptables_configrdquo name =gt ldquoetcsysconfigiptablesrdquo content =gt template(ldquoetcpuppettemplatesiptableserbrdquo)

Note que enquanto os arquivos precisam da sintaxe puppetpu-ppetserverexemplocom os modelos natildeo precisam

Fatos personalizadosOs fatos-padratildeo estatildeo disponiacuteveis em todos os clientes automaticamente

Poreacutem caso se deseje criar fatos personalizados eacute interessante mantecirc-los no PuppetMaster e entatildeo confi-gurar os clientes para sincronizarem seus fatos com o servidor

Acrescente a seguinte seccedilatildeo ao arquivo etcpuppetfileserverconf no puppetmaster

[facts] path etcpuppetfacts allow exemplocom

e em cada cliente adicione a se-guinte linha ao arquivo etcpuppetpuppetdconf

factsync = true

Em seguida reinicie o PuppetMas-ter no servidor e o Puppet nos clientes Agora jaacute eacute possiacutevel colocar qualquer fato personalizado em etcpuppetfacts e propagaacute-lo Por exemplo para criar uma regra que defina o fato $home com a variaacutevel de ambiente $HOME basta criar o arquivo etcpuppetfactshomerb

Facteradd(ldquohomerdquo) do setcode do ENV[lsquoHOMErsquo] endend

Da proacutexima vez que o Puppet rodar nos clientes esse fato seraacute sin-

cronizado e entatildeo poderaacute ser usado em qualquer receita

Outras variaacuteveisVariaacuteveis tambeacutem satildeo uacuteteis em outras situaccedilotildees Uma variaacutevel definida no arquivo sitepp ficaraacute disponiacutevel para todos os outros manifestos e classes Caso haja um conjunto-padratildeo de usuaacuterios com permissatildeo para fazer login nos servidores e se quiser edi-tar o arquivo etcsshsshd_config de acordo o coacutedigo do exemplo 4 funcionaraacute muito bem

Configurar o servidor de arqui-vos por meio de uma variaacutevel tam-beacutem eacute uma boa ideacuteia se o servidor sofrer alteraccedilotildees natildeo seraacute neces-saacuterio editar cada arquivo que faz referecircncia ao Puppet

ConclusatildeoEssa breve apresentaccedilatildeo fornece somente um raacutepido panorama das possibilidades do Puppet As versotildees mais recentes do software permitem que se organize a configuraccedilatildeo em moacutedulos o que oferece ainda mais flexibilidade e reusabilidade Caso se use LDAP para armazenar infor-maccedilotildees de maacutequinas e usuaacuterios eacute possiacutevel tambeacutem obter as definiccedilotildees dos noacutes a partir desse recurso

Caso sejam necessaacuterias mais informa-ccedilotildees ou suporte o site do Puppet assim como seu wiki[2] e sua lista de emails[3] satildeo de grande ajuda Tenha nas matildeos o controle de suas maacutequinas

Mais informaccedilotildees

[1] Projeto Puppet httpreductivelabscomprojetspuppet

[2] Wiki do Puppet httpreductivelabscomtracpuppetwiki

[3] Lista do Puppet httpreductivelabscomtracpuppetwikiGettingHelpmailing-list

Exemplo 4 Uso de variaacuteveis no SSH

01 em sitepp02 $server_ssh_users = ldquoroot jkemp adminrdquo0304 em sshpp ou qualquer outro lugar a sua escolha05 file ldquosshd_configrdquo06 name =gt ldquoetcsshsshd_configrdquo07 allow_users =gt lsquoAllowUsers $server_ssh_usersrsquo08 template =gt ldquoetcpuppettemplatessshd_configerbrdquo09 1011 trecho relevante de sshd_configerb12 LoginGraceTime 60013 PermitRootLogin without-password14 StrictModes yes1516 lt= allow_users gt

copy Linux New Media do Brasil Editora Ltda

71Linux Magazine 42 | Maio de 2008

Firewall faacutecil com o Shorewall

Domando o fogoEacute verdade que firewalls devem ser administrados por especialistas Poreacutem ateacute esses profissionais podem se beneficiar de uma interface praacutetica para essa tarefapor Tarciacutesio Carvalho Espiacutenola

Montar um firewall para a proteccedilatildeo de um uacutenico servidor natildeo eacute tarefa das

mais simples Imagine montar um firewall para uma rede inteira que requer muito mais atenccedilatildeo e conhe-cimento tanto dos serviccedilos quanto das ferramentas utilizadas Qualquer descuido pode comprometer toda a seguranccedila da rede e a reputaccedilatildeo do seu administrador

No caso especiacutefico do Linux tra-balhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas principalmente para usuaacuterios novatos ou acostuma-dos apenas com cliques na interfa-ce graacutefica A criaccedilatildeo de regras mais elaboradas requer tantas opccedilotildees e paracircmetros ndash e em uma rede mais complexa teremos dezenas delas ndash que eacute faacutecil cometer erros

Natildeo estamos questionando a efi-caacutecia dessa poderosa ferramenta muito pelo contraacuterio o domiacutenio de seus comandos para uma utilizaccedilatildeo eficiente e segura em situaccedilotildees mais avanccediladas exige bastante experiecircncia por parte do administrador Pensan-do nisso Thomas M Eastep teve a brilhante ideacuteia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e

atarefado administrador de rede e o prolixo mas poderoso software Iptables o Shorewall[1]

A forma simples e intuitiva como satildeo desenvolvidas as regras no Shorewall facilita bastante a cria-ccedilatildeo e manutenccedilatildeo do firewall Na inicializaccedilatildeo do serviccedilo as regras definidas pelo administrador satildeo compiladas e convertidas em regras do Iptables que seraacute o responsaacutevel pelo firewall

Devido agrave sua compe-tecircncia o Shorewall per-mite tambeacutem que o admi-nistrador aprimore seus conhecimentos na opera-ccedilatildeo do Iptables estudan-do as regras criadas pelo programa a partir das ins-truccedilotildees passadas de forma graacutefica Quando o admi-nistrador adota a defini-ccedilatildeo graacutefica de regras pelo Shorewall geralmente aumenta sua capacidade de criar e gerenciar confi-guraccedilotildees mais complexas O poder da interface graacute-fica nesse caso estaacute em permitir a administraccedilatildeo de muacuteltiplas regras de forma facilitada

Para ilustrar a utilizaccedilatildeo do Sho-rewall mostraremos como configurar o firewall de uma rede normalmente utilizada em pequenas e meacutedias em-presas (figura 1) embora o Shorewall possa ser utilizado em situaccedilotildees bem mais complexas

Infra-estruturaEm nossa rede de exemplo usaremos servidores e estaccedilotildees Linux e Win-dowsreg para mostrar que os serviccedilos

SE

GU

RA

NCcedil

A

Figura 1 A rede utilizada neste artigo eacute bastante simples composta por uma DMZ uma rede local e o firewall conectando ambas agrave Internet

Ramon Gonzalez - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

72 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

apresentados natildeo de-pendem dos sistemas operacionais utilizados com exceccedilatildeo claro do servidor firewall que de-veraacute necessariamente usar Linux

Para fins de exemplo suponhamos que nossos 64 IPs pertencem agrave fai-xa 20016616119226 distribuiacutedos da se-guinte forma IP da rede 200

166161192 maacutescara 255255

255192

IPs utilizaacuteveis 200166161193 a 200166161254

IP broadcast 200166161255A figura 2 e a tabela 1 detalham os pa-

racircmetros da nossa rede de exemploEm seguida basta configurar o

servidor DHCP da rede local com os paracircmetros acima Na configuraccedilatildeo das regras do firewall consideraremos que o serviccedilo de DHCP seraacute oferecido pelo proacuteprio servidor firewall como veremos mais adiante mas a sua configuraccedilatildeo foge do escopo deste artigo

A DMZ (zona desmilitarizada) obviamente fica isolada da rede local Nela seratildeo conectados os servidores Observe que na figura 2 foi definido inclusive o endereccedilo IP da estaccedilatildeo re-mota que teraacute acesso a alguns serviccedilos nas estaccedilotildees da rede local

Note que dos 64 endereccedilos de que dispomos iremos utilizar apenas seis (um para a rede outro de broadcast um no roteador e trecircs nos servidores) e os 58 restantes seratildeo desperdiccedilados Isso eacute muito comum nos contratos com operadoras ao menos no Brasil Esse tipo de contrato tem ajudado a agravar a escassez de endereccedilos IP disponiacuteveis na Internet

InstalaccedilatildeoVamos agora instalar a ferramenta que seraacute utilizada na configuraccedilatildeo do firewall Antes de iniciar no entanto eacute importante lembrar que a versatildeo mais recente do Shorewall no momento da escrita deste artigo era a 408

O Shorewall funciona da seguinte maneira ao ser iniciado o programa as configuraccedilotildees definidas nos arquivos do diretoacuterio etcshorewall satildeo com-piladas e convertidas em um arquivo que contenha as regras para o Iptables Caso natildeo ocorram erros as regras seratildeo aplicadas e o firewall ativado Do con-traacuterio o motivo da falha seraacute mostrado e o firewall natildeo seraacute iniciado

A partir do lanccedilamento da versatildeo 40 foram disponibilizadas duas ver-sotildees de compiladores para as regras do Shorewall a versatildeo em script de shell

Tabela 1 Descriccedilatildeo da rede de exemplo

RoteadorInterface Ethernet 20016616125426

Servidor FirewallInterface eth0 20016616119326

Interface eth1 192168125424

Interface eth2 1000130 (interface da DMZ)

Gateway padratildeo 200166161254 (IP do roteador)

DNS 200166161193 (o servidor firewall tambeacutem serviraacute DNS)

Servidor de email (mailmeu_sitecombr)Interface eth0 20016616119426

Maacutescara 255255255192

Gateway padratildeo 200166161254

DNS 200166161193

Servidor Web (wwwmeu_sitecombr)Interface Ethernet 200166161254

DNS 200166161193

Rede localIP da rede 19216810

Maacutescara 2552552550

IPs utilizaacuteveis 19216811 a 254

Broadcast 1921681255

Gateway padratildeo 1921681254 (eth1 no servidor firewall)

DNS server 1921681254 (eth1 no servidor firewall)

Figura 2 Detalhes da estrutura da rede usada neste artigo

copy Linux New Media do Brasil Editora Ltda

73

| SEGURANCcedilAShorewall

Linux Magazine 42 | Maio de 2008

que eacute a mais antiga e provavelmen-te seraacute descontinuada nas proacuteximas versotildees e a versatildeo em Perl bem mais raacutepida mas que ainda natildeo estaacute totalmente funcional Apesar disso muitos administradores jaacute a utilizam em produccedilatildeo sem qualquer proble-ma por isso vamos usar essa nova teacutecnica neste artigo

Como o Shorewall estaacute disponiacutevel nos repositoacuterios de pacotes de todas as principais distribuiccedilotildees natildeo abor-daremos a compilaccedilatildeo do software a partir dos fontes

Apoacutes a instalaccedilatildeo os arquivos que iremos editar na configuraccedilatildeo do fi-rewall seratildeo colocados no diretoacuterio etcshorewall sendo eles

interfacesmasqpolicyproxyarprulesshorewallconfzones

Os pacotes para Debian e Ubun-tu no entanto deixam os arquivos de configuraccedilatildeo-padratildeo em usrsharedocshorewalldefault-con-fig Nesse caso basta copiaacute-los para etcshorewall Em seguida jaacute podemos iniciar a configuraccedilatildeo do nosso firewall

ZonasDefiniremos duas zonas para a montagem do firewall uma para o proacuteprio servidor firewall que controlaraacute todo o traacutefego entre as zonas e uma para cada rede a que ele estiver conectado A tabe-la 2 mostra como seratildeo definidas essas zonas

Todas as configuraccedilotildees de zonas no Shorewall deveratildeo ser feitas no arquivo etcshorewallzones O exemplo 1 ilustra como deve ficar esse arquivo em nossa configura-ccedilatildeo Basta ele para definir todas as zonas do firewall Observe que as zonas NET LOC e DMZ foram confi-

guradas com o tipo ipv4 pois isso eacute obrigatoacuterio Note tambeacutem que a zona FW foi definida como sendo o proacuteprio firewall Com o comando man shorewall-zones o administrador pode ler mais informaccedilotildees sobre esse arquivo de configuraccedilatildeo

InterfacesCada zona seraacute vinculada a uma in-terface de rede do servidor exceto a zona FW que representaraacute o proacuteprio servidor e natildeo estaraacute vinculada a ne-nhuma interface Logo deveremos ter trecircs interfaces em nosso servidor eth0 Interface vinculada agrave zona

NET Essa interface seraacute conec-tada diretamente ao roteador que liga a rede agrave Internet Em nosso exemplo eth0 receberaacute o IP 20016616119326

eth1 Interface vinculada agrave zona LOC Essa interface deveraacute ser conectada ao switch da rede lo-cal e seraacute configurada com o IP 192168125424 Eacute preciso confi-gurar tambeacutem o servidor DHCP da rede local para que ele envie esse endereccedilo como gateway agraves estaccedilotildees (em nosso exemplo esse serviccedilo seraacute executado no proacuteprio servidor firewall)

eth2 Interface vinculada agrave zona DMZ Essa interface tem uma par-ticularidade seu IP seraacute con-figurado apenas com o intuito

Exemplo 1 Arquivo de zonas

01 ZONE TYPE OPTIONS IN OUT02 OPTIONS OPTIONS03 fw firewall04 net ipv405 loc ipv406 dmz ipv407 08 Natildeo apagar esta uacuteltima linha

Tabela 2 Definiccedilatildeo das zonas

Nome da zona

Componentes Caracteriacutesticas

Zona FW O proacuteprio firewall Tem livre acesso agraves demais zonas mas o acesso a ela seraacute controlado de acordo com os serviccedilos disponibilizados para cada zona

Zona NET Internet Seraacute considerada hostil em nossas configuraccedilotildees Eacute importante ter muito cuidado com ela

Zona LOC Rede local Nesta zona estaratildeo conectadas as estaccedilotildees locais da empresa Seu acesso agraves demais zonas seraacute controlado de acordo com os serviccedilos permitidos para essa zona

Zona DMZ Servidores da empresa que proveratildeo serviccedilos agrave Internet e agrave rede local

Essa zona teraacute dois servidores um com Linux (mailmeu_sitecombr) executando ser-viccedilos de e-mail e o outro com Windows Server (wwwmeu_sitecombr) que hospedaraacute o site da empresa (ver figura 1)

copy Linux New Media do Brasil Editora Ltda

74 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

de ativaacute-la mas natildeo pertenceraacute a nenhuma rede de qualquer zona Nela configuraremos o IP 1000130 e vamos conectaacute-la ao mesmo switch no qual seratildeo co-nectados os servidores da DMZ

Natildeo seraacute necessaacuterio seguir o padratildeo acima para montar os seus proacuteprios firewalls no entanto eacute recomendaacute-vel fazecirc-lo Tambeacutem eacute possiacutevel usar aliases de interfaces (eth00 por

exemplo) se necessaacuterio Todas as configuraccedilotildees de interfaces no Sho-rewall deveratildeo ser feitas no arquivo etcshorewallinterfaces

O exemplo 2 mostra como deve ser feita essa configuraccedilatildeo Observe que esse caso natildeo configura a zona FW uma vez que ela natildeo estaraacute vinculada a nenhuma interface Aleacutem disso os endereccedilos broadcast foram configura-dos para serem detectados automatica-

mente Jaacute para a interface eth0 que teraacute IP estaacutetico foram definidas as opccedilotildees tcpflags routerfilter nosmurfs nor-cf1918 e logmartians

Eacute interessante consultar o manual do arquivo de configuraccedilatildeo de interfa-ces e descobrir a funccedilatildeo de cada uma dessas opccedilotildees (man shorewall-inter-faces) Elimine-as se necessaacuterio (natildeo recomendaacutevel) ou adicione outras de acordo com as suas necessidades

PoliacuteticasDefinidas as zonas e interfaces defi-niremos agora as poliacuteticas de acesso entre cada par de zonas As definiccedilotildees mostradas na tabela 3 seratildeo adotadas como padratildeo para qualquer requisiccedilatildeo que ocorra entre as zonas

Para reforccedilar a seguranccedila vamos definir por fim que todas as requi-siccedilotildees vindas de qualquer zona (all) com destino a qualquer zona (all) se-ratildeo bloqueadas e que esses bloqueios sejam registrados no log com a tag info Essa regra deveraacute ser a uacuteltima no arquivo de configuraccedilatildeo

Todas as configuraccedilotildees das poliacuteticas de acesso no Shorewall devem ser feitas no arquivo etcshorewallpolicy como mostra o exemplo 3 Note que a regra geral ou seja a que define a poliacutetica de qualquer pacote foi a uacuteltima a ser definida justamente para ser aplicada apenas se os pacotes natildeo se encaixarem a nenhuma outra regra Mais uma vez eacute importante consultar a paacutegina de ma-nual do programa (man shorewall-policy) para obter mais detalhes

Tabela 3 Poliacuteticas entre zonas

Zona Poliacutetica Explicaccedilatildeo

FW ACCEPT Requisiccedilotildees vindas da zona FW com destino agraves de-mais zonas (all) seratildeo permitidas e nada seraacute regis-trado no log

LOC REJECT Requisiccedilotildees vindas da zona LOC com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Uma res-posta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

NET DROP Requisiccedilotildees vindas da zona NET com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

DMZ DROP Requisiccedilotildees vindas da zona DMZ com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

Mais informaccedilotildees

[1] Shorewall httpwwwshorewallnet

Exemplo 3 Arquivo de poliacuteticas

01 SOURCE DEST POLICY LOG LIMITBURST02 LEVEL03 fw all ACCEPT04 loc all REJECT info05 net all DROP info06 dmz all DROP info07 08 THE FOLLOWING POLICY MUST BE LAST09 10 all all DROP info11 12 Natildeo apagar esta uacuteltima linha

Exemplo 2 Arquivo de interfaces

01 ZONE INTERFACE BROADCAST OPTIONS02 net eth0 detect tcpflagsroutefilternosmurfsnorfc1918logmartians03 loc eth1 detect04 dmz eth2 detect05 06 Natildeo apagar esta uacuteltima linha

Sobre o autorTarciacutesio Carvalho Espiacutenola eacute coordenador de TI do Instituto Centec onde vem traba-lhando na implementaccedilatildeo de soluccedilotildees livres nos servidores da empresa Em seu tempo livre ele ainda manteacutem o site Opccedilatildeo Linux (httpwwwopcaolinuxcombr)

copy Linux New Media do Brasil Editora Ltda

75Linux Magazine 42 | Maio de 2008

PR

OG

RA

MA

CcedilAtilde

O

Trabalhe com um repositoacuterio online de scripts PHP

TesouroProgramadores PHP podem economizar tempo e trabalho com o uso do trecho script ou classe perfeitos para usar em seus programaspor Kenneth Hess

Haacute dezenas de repositoacuterios gratuitos de scripts que per-mitem que se navegue e es-

colha os scripts PHP para seu proacuteprio uso A maioria desses sites possui vaacute-rias ofertas desde scripts simples ateacute aplicativos web completos incluindo conjuntos inteiros de software Este artigo descreve alguns dos sites mais importantes na busca de um script PHP preacute-fabricado

devshedcomO Dev Shed[1] eacute o avocirc das comunida-des de desenvolvedores com recursos compartilhados O site tem um pa-gerank de 8 no Google e conta com mais de 150 mil assinantes Agora par-te da empresa Ziff Davis o Dev Shed eacute a comunidade de desenvolvedores mais destacada sendo usada por pro-gramadores de vaacuterias linguagens e tecnologias O site principal do Dev Shed tem foco em artigos tutoriais e na proacutepria comunidade de desenvol-vimento Quem desejar apenas scripts seraacute redirecionado do site principal para o Scriptscom[2] ndash a biblioteca de coacutedigo do Dev Shed

No Scriptscom pode-se ver que a aacuterea de PHP eacute a mais numerosa do repositoacuterio Seus mais de 4 mil scripts colocam essa seccedilatildeo com quase o dobro da segunda coloca-da Perl Depois de selecionado o repositoacuterio PHP a ser usado satildeo mostradas mais de 60 categorias diferentes A maioria dos sites com

repositoacuterios de scripts possui listas se-melhantes de categorias

Alguns sites natildeo possuem qualquer controle de qualidade ou orientaccedilatildeo de envio para os scripts recebidos mas o Scriptcom emprega regras um tanto rigorosas As orientaccedilotildees de envio protegem os usuaacuterios de softwares maliciosos e outros scripts ou teacutecnicas danosos que possam pre-judicar um site ou atacar o navegador dos visitantes Cada script listado tem uma descriccedilatildeo completa da tarefa que executa uma nota um link para o site do autor e um preccedilo Nem todos os scripts satildeo gratuitos Na verdade alguns satildeo caros mas geralmente o autor oferece suporte atualizaccedilotildees e possivelmente outros serviccedilos (como hospedagem por exemplo) pelo pre-ccedilo listado Alguns scripts satildeo gratuitos para uso pessoal mas exigem uma taxa para uso comercial

phpbuildercomO PHP Builder[3] eacute 100 dedicado ao uso e desenvolvimento de scripts PHP Sua comunidade eacute ativa e gen-

til com novos usuaacuterios Aleacutem disso haacute um foacuterum Newbies em que eacute permitido fazer perguntas que jaacute tenham sido respondidas milhotildees de vezes sem medo de sofrer repre-saacutelias ndash embora seja recomendaacutevel fazer uma busca antes de perguntar Assim como a maioria dos sites de comunidade eacute necessaacuterio registrar-se (gratuitamente) e fazer login antes de postar ou participar O PHP Buil-der eacute um dos sites de comunidade mais profissionais e bem mantidos desta seleccedilatildeo

Sua biblioteca de coacutedigos eacute me-nor que a dos outros ndash com apenas umas poucas centenas de scripts ndash mas eacute comum encontrar trechos de coacutedigo nos foacuteruns que resolvem seus problemas Caso o programador natildeo esteja seguro de suas habilidades de programaccedilatildeo existe um foacuterum de criacutetica de coacutedigo (chamado Coding Critique) no qual eacute possiacutevel colar o coacutedigo em questatildeo em busca de criacuteticas correccedilotildees e melhorias A forccedila do PHP Builder natildeo estaacute em sua biblioteca de coacutedigo mas em sua

Figura 1 Inicie a instalaccedilatildeo a partir da tela do DaDaBIK

Sophie ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

76 httpwwwlinuxmagazinecombr

PROGRAMACcedilAtildeO | Repositoacuterio PHP

comunidade Para os que precisam de respostas esse eacute o lugar

weberdevcomO Weberdev[4] ndash uma presenccedila obrigatoacuteria no kit de ferramentas de PHP ndash tem foacuteruns coacutedigo links e tutoriais excelentes Se a necessida-de for resolver rapidamente algum aspecto de programaccedilatildeo em PHP o Weberdevcom eacute a opccedilatildeo Sua biblio-teca de coacutedigo eacute um pouco esquisita de navegar mas o mecanismo de busca eacute raacutepido e inteligente

phpclassesorgPara usar algum dos scripts do PHP Classes[5] eacute necessaacuterio se registrar e fazer login mas eacute uma felicidade fazecirc-lo O PHP

Classes conteacutem trechos de coacute-digo orientados a objetos que podem ser acrescentados a qual-quer coacutedigo Para usar as classes e scripts eacute preciso ter ao menos uma compreensatildeo baacutesica de teacutec-nicas de programaccedilatildeo orientada a objetos Felizmente a maioria dos autores das classes fornece documentaccedilatildeo e exemplos fun-cionais de seus coacutedigos na forma de paacuteginas PHP completas

Eacute possiacutevel ler os blogs dos au-tores pedir mais informaccedilotildees so-bre uma classe diretamente a um autor envolver-se nos foacuteruns em busca de perguntas e respostas ou simplesmente obter classes a par-tir do enorme repositoacuterio Muitas classes desse site ainda continu-

am funcionando mesmo depois de quatro anos em produccedilatildeo O PHP Classes deve ser incluiacutedo nos favoritos de quem quer que esteja agrave procura de um excelen-te recurso para scripts classes e trechos PHP

Esse site tambeacutem possui uma lista de emails que notifica os assinantes em relaccedilatildeo a novas classes quando satildeo adicionadas ao repositoacuterio ndash os emails incluem um resumo da clas-se sua classificaccedilatildeo e uma curta biografia do autor Novas classes satildeo acrescentadas todos os dias

phpnetO phpnet[6] eacute o site oficial da lin-guagem onde se origina todo o coacutedigo PHP gerado Apesar de natildeo possuir uma biblioteca de coacutedigo propriamente dita eacute possiacutevel encon-trar no site uma grande quantidade de coacutedigos

Se o visitante procurar qualquer funccedilatildeo ndash fwrite por exemplo ndash rece-beraacute a paacutegina que descreve a sintaxe e o uso dessa funccedilatildeo Mais abaixo na mesma paacutegina satildeo exibidos tre-chos de coacutedigo que demonstram a funccedilatildeo em accedilatildeo

advancescriptscomO oceano de banners e anuacutencios piscantes talvez seja a primeira ca-racteriacutestica a chamar a atenccedilatildeo dos visitantes do AdvanceScripts[7] Esse site tem muito a oferecer e merece ser navegado entatildeo natildeo se deixe assus-tar pela forma de suporte financeiro escolhida por eles O AdvanceScripts hospeda quase 6 mil scripts PHP em seu repositoacuterio

Assim como ocorre com os outros sites nem todos os scripts satildeo gratui-tos entatildeo eacute importante ter cuidado com as escolhas feitas

Baixe altere e useApenas para ilustrar as ofertas bai-xei um script de um desses sites e adaptei-o para meu proacuteprio uso Esse

Figura 2 Ao teacutermino da instalaccedilatildeo eacute exibido um resumo das mensagens de alerta e de instalaccedilatildeo

Figura 3 A paacutegina indexphp mostra informaccedilotildees da tabela

copy Linux New Media do Brasil Editora Ltda

77

| PROGRAMACcedilAtildeORepositoacuterio PHP

Linux Magazine 42 | Maio de 2008

exemplo raacutepido mostraraacute como eacute faacutecil implementar uma ferramenta a partir de uma biblioteca de coacutedigo Como meu trabalho envolve bancos de da-dos e PHP optei pelo foco em scripts relacionados a bancos de dados Na biblioteca do Scriptscom em PHP Scripts | Database Tools encontrei o DaDaBIK[8][9] (Databases Inter-face Kreator) cuja descriccedilatildeo oficial traduzida eacute ldquoum aplicativo PHP gratuito que permite criar facilmen-te uma interface de formulaacuterio web altamente personalizaacutevel para um banco de dados MySQL para buscar inserir atualizar e apagar registros basta especificar alguns paracircmetros de configuraccedilatildeordquo

Eacute interessante verificar a descriccedilatildeo do script antes de baixaacute-lo O script eacute pequeno (16 MB) bem documen-tado e livre (utiliza a GPL) Os re-quisitos miacutenimos do DaDaBIK satildeo PHP posterior agrave versatildeo 405 e um banco de dados (MySQL Oracle PostgreSQL ou MS SQL)

As etapas de instalaccedilatildeo satildeo seme-lhantes agraves de outros scripts da Inter-net Deve-se baixar e descompactar o pacote e depois procurar o arquivo documentationhtm que fornece as instruccedilotildees de instalaccedilatildeo Seguindo as instruccedilotildees renomeie o diretoacuterio program_files para dadabik e copie-o para o diretoacuterio webroot

Apoacutes abrir o arquivo includecon-figphp eacute preciso digitar os paracircme-tros mostrados na tabela 1 Depois de digitaacute-los e salvaacute-los abra um nave-gador e aponte-o para a paacutegina de instalaccedilatildeo do DaDaBIK httpwwwnome_do_sitecombrdadabikinstallphp (figura 1) Apoacutes clicar no botatildeo de instalaccedilatildeo e finalizar o processo seraacute exibida uma tela semelhante agrave figura 2 que mostra alertas e men-sagens da instalaccedilatildeo

Ao clicar no link no alto da paacutegina para sair da aacuterea de administraccedilatildeo o administrador seraacute redirecionado para a paacutegina indexphp onde veraacute a primeira tabela de banco de dados

(figura 3) As tabelas satildeo listadas em ordem alfabeacutetica na lista drop-down Nessa paacutegina eacute possiacutevel editar inse-rir apagar ou buscar registros

Como se pode ver o DaDaBIK eacute faacutecil de instalar e raacutepido para confi-gurar e usar O exemplo deste artigo teve sucesso devido agrave excelente do-cumentaccedilatildeo incluiacuteda na ferramen-ta Ao procurar numa biblioteca de coacutedigo eacute importante sempre esco-lher scripts classes e aplicativos com muita documentaccedilatildeo

Exceto no caso de programadores experientes que se sintam confor-taacuteveis ao analisar coacutedigo alheio eacute fundamental ter acesso a uma boa documentaccedilatildeo Raramente a docu-mentaccedilatildeo interna de um script (co-mentaacuterios no coacutedigo) explica com-pletamente seu comportamento

ResumoMuitos programadores pensam ser capazes de produzir todo o coacutedi-go de um aplicativo Usar trechos de coacutedigos e ideacuteias de outros pro-gramadores eacute uma oacutetima forma de melhorar as habilidades em programaccedilatildeo poreacutem o trabalho natildeo eacute feito simplesmente baixan-do-se um script ou trecho ndash ainda eacute necessaacuterio adaptar o coacutedigo ao ambiente no qual ele seraacute usado Frequumlentemente essa tarefa natildeo eacute

faacutecil Eacute interessante usar todos os recursos disponiacuteveis para conhecer outros profissionais ao longo do caminho e rapidamente tornar-se o tipo de programador que ajuda os outros

Mais informaccedilotildees

[1] PHP no Dev Shed httpwwwdevshedcomcbPHP

[2] Scriptscom httpwwwscriptscom

[3] PHP Builder httpwwwphpbuildercom

[4] Weberdev httpwwwweberdevcom

[5] PHP Classes httpwwwphpclassesorg

[6] PHPnet httpwwwphpnet

[7] Advance Scripts httpwwwadvancescriptscom

[8] DaDaBIK no Scriptscom httpwwwscriptscomphp-scriptsdatabase-toolsdadabik

[9] DaDaBIK httpwwwdadabikorg

Tabela 1 Paracircmetros do configphp

Paracircmetro Descriccedilatildeo$dbms_type Tipo do banco de dados (MySQL Postgres7 Postgres8

Mssql ou oci8po)

$host Nome do servidor de banco de dados (normalmente local-host)

db_name Nome do banco de dados a ser usado com o DaDaBIK

$user Conta de usuaacuterio do banco de dados que possa fazer SE-LECT INSERT DELETE e UPDATE nos registros do banco

$pass Senha do usuaacuterio no banco de dados

$site_url URL completa do DaDaBIK (httpwwwnome_do_sitecombrdadabik)

$site_path Caminho relativo do DaDaBIK (dadabik)

copy Linux New Media do Brasil Editora Ltda

78

SE

RV

ICcedilO

S

httpwwwlinuxmagazinecombr

Fornecedor de Hardware = 1 Redes e Telefonia PBX = 2 Integrador de Soluccedilotildees = 3

Literatura Editora = 4 Fornecedor de Software = 5

Consultoria Treinamento = 6

Linuxlocal

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

CearaacuteF13 Tecnologia Fortaleza Rua Coronel Solon 480 ndash Bairro de Faacutetima

Fortaleza - CE - CEP 60040-270 85 3252-3836 wwwf13combr

Espiacuterito SantoLinux Shopp Vila Velha Rua Satildeo Simatildeo (Correspondecircncia) 18 ndash CEP 29113-120 27 3082-0932 wwwlinuxshoppcombr

Megawork Consultoria e Sistemas

Vitoacuteria Rua Chapot Presvot 389 ndash Praia do Can-to ndash CEP 29055-410 sl 201 202

27 3315-2370 wwwmegaworkcombr

Spirit Linux Vitoacuteria Rua Marins Alvarino 150 ndash CEP 29047-660 27 3227-5543 wwwspiritlinuxcombr

Minas GeraisInstituto Online Belo Horizonte Av Bias Fortes 932 Sala 204 ndash CEP 30170-011 31 3224-7920 wwwinstitutoonlinecombr

Linux Place Belo Horizonte Rua do Ouro 136 Sala 301 ndash Serra ndash CEP 30220-000 31 3284-0575 corporatelinuxplacecombr

Microhard Belo Horizonte Rua Repuacuteblica da Argentina 520 ndash Sion ndash CEP 30315-490 31 3281-5522 wwwmicrohardcombr

TurboSite Belo Horizonte Rua Paraiacuteba 966 Sala 303 ndash Savassi ndash CEP 30130-141 0800 702-9004 wwwturbositecombr

ParanaacuteiSolve Curitiba Av Cacircndido de Abreu 526 Cj 1206B ndash CEP 80530-000 41 252-2977 wwwisolvecombr

Mandriva Conectiva Curitiba Rua Tocantins 89 ndash Cristo Rei ndash CEP 80050-430 41 3360-2600 wwwmandrivacombr

Telway Tecnologia Curitiba Rua Francisco Rocha 183071 41 3203-0375 wwwtelwaycombr

Rio de JaneiroNSI Training Rio de Janeiro Rua Arauacutejo Porto Alegre 71 4ordmandar Centro ndash CEP 20030-012 21 2220-7055 wwwnsicombr

Open IT Rio de Janeiro Rua do Mercado 34 Sl 402 ndash Centro ndash CEP 20010-120 21 2508-9103 wwwopenitcombr

Unipi Tecnologias Campos dos Goytacazes

Av Alberto Torres 303 1ordmandar - Centro ndash CEP 28035-581 22 2725-1041 wwwunipicombr

Rio Grande do Sul4up Soluccedilotildees Corporativas Novo Hamburgo Pso Calccediladatildeo Osvaldo Cruz 54 sl 301 CEP 93510-015 51 3581-4383 www4upcombr

Definitiva Informaacutetica Novo Hamburgo Rua General Osoacuterio 402 - Hamburgo Velho 51 3594 3140 wwwdefinitivacombr

Solis Lajeado Rua Comandante Wagner 12 ndash Satildeo Cristoacutevatildeo ndash CEP 95900-000 51 3714-6653 wwwsoliscoopbr

DualCon Novo Hamburgo Rua Joaquim Pedro Soares 1099 Sl 305 ndash Centro 51 3593-5437 wwwdualconcombr

Datarecover Porto Alegre Av Carlos Gomes 403 Sala 908 Centro Comer-cial Atrium Center ndash Bela Vista ndash CEP 90480-003

51 3018-1200 wwwdatarecovercombr

LM2 Consulting Porto Alegre Rua Germano Petersen Junior 101-Sl 202 ndash Hi-gienoacutepolis ndash CEP 90540-140

51 3018-1007 wwwlm2combr

Lnx-IT Informaccedilatildeo e Tecnologia Porto Alegre Av Venacircncio Aires 1137 ndash Rio Branco ndash CEP 90040193 51 3331-1446 wwwlnx-itinfbr

Plugin Porto Alegre Av Juacutelio de Castilhos 132 11ordm andar Centro ndash CEP 90030-130 51 4003-1001 wwwplugincombr

TeHospedo Porto Alegre Rua dos Andradas 1234610 ndash Centro ndash CEP 90020-008 51 3286-3799 wwwtehospedocombr

Satildeo PauloWs Host Arthur Nogueira Rua Jerere 36 ndash Vista Alegre ndash CEP 13280-000 19 3846-1137 wwwwshostcombr

DigiVoice Barueri Al Juruaacute 159 Teacuterreo ndash Alphaville ndash CEP 06455-010 11 4195-2557 wwwdigivoicecombr

Dextra Sistemas Campinas Rua Antocircnio Paioli 320 ndash Pq das Universidades ndash CEP 13086-045 19 3256-6722 wwwdextracombr

Insigne Free Software do Brasil Campinas Av Andrades Neves 1579 ndash Castelo ndash CEP 13070-001 19 3213-2100 wwwinsignesoftwarecom

Microcamp Campinas Av Thomaz Alves 20 ndash Centro ndash CEP 13010-160 19 3236-1915 wwwmicrocampcombr

PC2 Consultoria em Software Livre

Carapicuiba Rua Edeia 500 - CEP 06350-080 11 3213-6388 wwwpc2consultoriacom

Savant Tecnologia Diadema Av Senador Vitorino Freire 465 ndash CEP 09910-550 11 5034-4199 wwwsavantcombr

Epopeacuteia Informaacutetica Mariacutelia Rua Goiaacutes 392 ndash Bairro Cascata ndash CEP 17509-140 14 3413-1137 wwwepopeiacombr

Redentor Osasco Rua Costante Piovan 150 ndash Jd Trecircs Montanhas ndash CEP 06263-270 11 2106-9392 wwwredentorindbr

Go-Global Santana de Parnaiacuteba

Av Yojiro Takaoca 4384 Ed Shopping Ser-vice Cj 1013 ndash CEP 06541-038

11 2173-4211 wwwgo-globalcombr

AW2NET Santo Andreacute Rua Edson Soares 59 ndash CEP 09760-350 11 4990-0065 wwwaw2netcombr

Async Open Source Satildeo Carlos Rua Orlando Damiano 2212 ndash CEP 13560-450 16 3376-0125 wwwasynccombr

Delix Internet Satildeo Joseacute do Rio Preto

Rua Voluntaacuterio de Satildeo Paulo 3066 9ordm ndash Centro ndash CEP 15015-909 11 4062-9889 wwwdelixhostingcombr

O maior diretoacuterio de empresas que oferecem produtos soluccedilotildees e serviccedilos em Linux e Software Livre organizado por Estado Sentiu falta do nome de sua empresa aqui Entre em contato com a gente 11 4082-1300 ou anuncioslinuxmagazinecombr

copy Linux New Media do Brasil Editora Ltda

79

| SERVICcedilOSLinuxlocal

Linux Magazine 42 | Maio de 2008

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

Satildeo Paulo (continuaccedilatildeo)4Linux Satildeo Paulo Rua Teixeira da Silva 660 6ordm andar ndash CEP 04002-031 11 2125-4747 www4linuxcombr

A Casa do Linux Satildeo Paulo Al Jauacute 490 ndash Jd Paulista ndash CEP 01420-000 11 3549-5151 wwwacasadolinuxcombr

Accenture do Brasil Ltda Satildeo Paulo Rua Alexandre Dumas 2051 ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 5188-3000 wwwaccenturecombr

ACR Informaacutetica Satildeo Paulo Rua Lincoln de Albuquerque 65 ndashPerdizes ndash CEP 05004-010 11 3873-1515 wwwacrinformaticacombr

Agit Informaacutetica Satildeo Paulo Rua Major Quedinho 111 5ordm andar Cj 508 ndash Centro ndash CEP 01050-030

11 3255-4945 wwwagitcombr

Altbit - Informaacutetica Co-meacutercio e Serviccedilos LTDA

Satildeo Paulo Av Francisco Matarazzo 229 Cj 57 ndash Aacutegua Branca ndash CEP 05001-000

11 3879-9390 wwwaltbitcombr

AS2M -WPC Consultoria Satildeo Paulo Rua Trecircs Rios 131 Cj 61A ndash Bom Retiro ndash CEP 01123-001 11 3228-3709 wwwwpccombr

Big Host Satildeo Paulo Rua Dr Miguel Couto 58 ndash Centro ndash CEP 01008-010 11 3033-4000 wwwbighostcombr

Blanes Satildeo Paulo Rua Andreacute Ampeacutere 153 ndash 9ordm andar ndash Conj 91 CEP 04562-907 (proacutex Av L C Berrini)

11 5506-9677 wwwblanescombr

Commlogik do Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 13797 Bloco II 6ordm andar ndash Morumbi ndash CEP 04794-000

11 5503-1011 wwwcommlogikcombr

Computer Consulting Pro-jeto e Consultoria Ltda

Satildeo Paulo Rua Vergueiro 6455 Cj 06 ndash Alto do Ipiranga ndash CEP 04273-100 11 5062-3927 wwwcomputerconsultingcombr

Consist Consultoria Siste-mas e Representaccedilotildees Ltda

Satildeo Paulo Av das Naccedilotildees Unidas 20727 ndash CEP 04795-100 11 5693-7210 wwwconsistcombr

Domiacutenio Tecnologia Satildeo Paulo Rua das Carnaubeiras 98 ndash Metrocirc Conceiccedilatildeo ndash CEP 04343-080 11 5017-0040 wwwdominiotecnologiacombr

EDS do Brasil Satildeo Paulo Av Pres Juscelino Kubistcheck 1830 Torre 4 - 5ordm andar 11 3707-4100 wwwedscom

Eacutetica Tecnologia Satildeo Paulo Rua Nova York 945 ndash Brooklin ndash CEP04560-002 11 5093-3025 wwweticanet

Getronics ICT Solu-tions and Services

Satildeo Paulo Rua Verbo Divino 1207 ndash CEP 04719-002 11 5187-2700 wwwgetronicscombr

Hewlett-Packard Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 12901 25ordm andar ndash CEP 04578-000 11 5502-5000 wwwhpcombr

IBM Brasil Ltda Satildeo Paulo Rua Tutoacuteia 1157 ndash CEP 04007-900 0800-7074 837 wwwbribmcom

iFractal Satildeo Paulo Rua Fiaccedilatildeo da Sauacutede 145 Conj 66 ndash Sauacutede ndash CEP 04144-020 11 5078-6618 wwwifractalcombr

Integral Satildeo Paulo Rua Dr Gentil Leite Martins 295 2ordm andar Jd Prudecircncia ndash CEP 04648-001

11 5545-2600 wwwintegralcombr

Itautec SA Satildeo Paulo Rua Santa Catarina 1 ndash Tatuapeacute ndash CEP 03086-025 11 6097-3000 wwwitauteccombr

Kenos Consultoria Satildeo Paulo Av Fagundes Filho 13 Conj -53 ndash CEP 04304-000 11 40821305 wwwkenoscombr

Konsultex Informatica Satildeo Paulo Av Dr Guilherme Dumont Villares 1410 6 andar CEP 05640-003 11 3773-9009 wwwkonsultexcombr

Linux Komputer Informaacutetica Satildeo Paulo Av Dr Lino de Moraes Leme 185 ndash CEP 04360-001 11 5034-4191 wwwkomputercombr

Linux Mall Satildeo Paulo Rua Machado Bittencourt 190 Cj 2087 ndash CEP 04044-001 11 5087-9441 wwwlinuxmallcombr

Livraria Tempo Real Satildeo Paulo Al Santos 1202 ndash Cerqueira Ceacutesar ndash CEP 01418-100 11 3266-2988 wwwtemporealcombr

Locasite Internet Service Satildeo Paulo Av Brigadeiro Luiz Antonio 2482 3ordm andar ndash Centro ndash CEP 01402-000

11 2121-4555 wwwlocasitecombr

Microsiga Satildeo Paulo Av Braz Leme 1631 ndash CEP 02511-000 11 3981-7200 wwwmicrosigacombr

Novatec Editora Ltda Satildeo Paulo Rua Luis Antonio dos Santos 110 ndash Santana ndash CEP 02460-000 11 6979-0071 wwwnovateceditoracombr

Novell Ameacuterica Latina Satildeo Paulo Rua Funchal 418 ndash Vila Oliacutempia 11 3345-3900 wwwnovellcombrasil

Oracle do Brasil Sistemas Ltda Satildeo Paulo Av Alfredo Egiacutedio de Souza Aranha 100 ndash Bloco B ndash 5ordm andar ndash CEP 04726-170

11 5189-3000 wwworaclecombr

Proelbra Tecnolo-gia Eletrocircnica Ltda

Satildeo Paulo Av Rouxinol 1041 Cj 204 2ordm andar Moema ndash CEP 04516-001 11 5052- 8044 wwwproelbracombr

Provider Satildeo Paulo Av Cardoso de Melo 1450 6ordm andar ndash Vila Oliacutempia ndash CEP 04548-005

11 2165-6500 wwwe-providercombr

Red Hat Brasil Satildeo Paulo Av Brigadeiro Faria Lima 3900 Cj 81 8ordm andar Itaim Bibi ndash CEP 04538-132

11 3529-6000 wwwredhatcombr

Samurai Projetos Especiais Satildeo Paulo Rua Baratildeo do Triunfo 550 6ordm andar ndash CEP 04602-002 11 5097-3014 wwwsamuraicombr

SAP Brasil Satildeo Paulo Av das Naccedilotildees Unidas 11541 16ordm andar ndash CEP 04578-000 11 5503-2400 wwwsapcombr

Simples Consultoria Satildeo Paulo Rua Mourato Coelho 299 Cj 02 Pinheiros ndash CEP 05417-010 11 3898-2121 wwwsimplesconsultoriacombr

Smart Solutions Satildeo Paulo Av Jabaquara 2940 cj 56 e 57 11 5052-5958 wwwsmart-teccombr

Snap IT Satildeo Paulo Rua Joatildeo Gomes Junior 131 ndash Jd Bonfiglioli ndash CEP 05299-000 11 3731-8008 wwwsnapitcombr

Stefanini IT Solutions Satildeo Paulo Av Brig Faria Lima 1355 19ordm ndash Pinheiros ndash CEP 01452-919 11 3039-2000 wwwstefaninicombr

Sun Microsystems Satildeo Paulo Rua Alexandre Dumas 2016 ndash CEP 04717-004 11 5187-2100 wwwsuncombr

Sybase Brasil Satildeo Paulo Av Juscelino Kubitschek 510 9ordm andar Itaim Bibi ndash CEP 04543-000 11 3046-7388 wwwsybasecombr

The Source Satildeo Paulo Rua Marquecircs de Abrantes 203 ndash Chaacutecara Tatuapeacute ndash CEP 03060-020

11 6698-5090 wwwthesourcecombr

Unisys Brasil Ltda Satildeo Paulo R Alexandre Dumas 1658 ndash 6ordm 7ordm e 8ordm andares ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 3305-7000 wwwunisyscombr

Utah Satildeo Paulo Av Paulista 925 13ordm andar ndash Cerqueira Ceacutesar ndash CEP 01311-916 11 3145-5888 wwwutahcombr

Visuelles Satildeo Paulo Rua Eng Domicio Diele Pacheco e Silva 585 ndash Interlagos ndash CEP 04455-310

11 5614-1010 wwwvisuellescombr

Webnow Satildeo Paulo Av Naccedilotildees Unidas 12995 10ordm andar Ed Plaza Centenaacuterio ndash Chaacutecara Itaim ndash CEP 04578-000

11 5503-6510 wwwwebnowcombr

WRL Informaacutetica Ltda Satildeo Paulo Rua Santa Ifigecircnia 211213 Box 02ndash Centro ndash CEP 01207-001 11 3362-1334 wwwwrlcombr

Systech Taquaritinga Rua Satildeo Joseacute 1126 ndash Centro - Caixa Postal 71 ndash CEP 15900-000 16 3252-7308 wwwsystech-ltdcombr

| SERVICcedilOSLinuxlocal

copy Linux New Media do Brasil Editora Ltda

80

SERVICcedil

OS

httpwwwlinuxmagazinecombr

User Friendly ndash Os quadrinhos mensais da Linux Magazine

Calendaacuterio de eventosEvento Data Local Website

ApacheCon Europe 2008 7 a 11 de abril Amsterdam Holanda wwweuapacheconcom

II Encontro Software Livre da Paraiacuteba

2 a 4 de maio Joatildeo Pessoa PB ensolorgbr

LinuxTag 28 a 31 de maio Berlin Alemanha htttpwwwlinuxtagorg

LinuxWorld Conference and Expo

04 a 07 de agosto Satildeo Francisco EUAhttpwwwlinuxworldexpocomlive12

Linux Park 10 de junho Porto Alegre RS wwwlinuxparkcombr

Linux Park 24 de junho Rio de Janeiro RJ wwwlinuxparkcombr

Iacutendice de anunciantes

Empresa PaacutegEasyLinux 15

Guia de TI 83

Impacta 27

Kenos 22 23

Linux Magazine 33

Linux Magazine Online 81

Linux Park 84

Linux Pocket Pro 02 09

Linux Pro 31

Linux Technical Review 07

LPI 57

Plugin 11

Starter Kit 13

Watch Guard 19

copy Linux New Media do Brasil Editora Ltda

LM40_sitepdf 146 190208 124436

copy Linux New Media do Brasil Editora Ltda

82 httpwwwlinuxmagazinecombr

Na Linux Magazine 43

PREVIE

W

DESTAQUE

Alta disponibilidadeSe o pneu do seu carro furar como vocecirc age Se a base de dados principal do seu banco cair o que acontece Se aquele software do qual sua empresa depende profundamente simplesmente fechar o que poderaacute ser feito

No caso do carro a resposta eacute bastante simples use o estepe Durante alguns minutos vocecirc natildeo poderaacute andar com o carro mas esse atraso certa-mente seraacute perdoado por quem quer que tenha um bom coraccedilatildeo No entanto o banco de dados de uma instituiccedilatildeo financeira assim como o software de missatildeo criacutetica da sua empresa jamais pode parar Para as empresas envolvi-

das qualquer problema significa perder dinheiro ndash e geralmente em quantidade suficiente para ocasionar demissotildees

Felizmente para os ad-ministradores de sistemas e gestores de TI jaacute dispomos hoje de oacutetimas soluccedilotildees de alta disponibilidade e vamos exploraacute-las em detalhes na Linux Magazine 43

Seguranccedila

DNSSECOs administradores de sistemas e consultores de seguranccedila utilizam estrateacutegias sofisticadas para proteger redes mas ainda existe uma parte muito baacutesica da infra-estrutura da Internet que permanece surpreen-dentemente vulneraacutevel o sistema de resoluccedilatildeo de nomes Existem teacutecnicas elaboradas para forjar res-postas DNS e da mesma forma maneiras tambeacutem engenhosas de contornar esses ataques De todas elas o DNSSEC desponta como uma das mais eficazes para prote-ger redes por meio de criptografia e autenticaccedilatildeo

Conheccedila essa tecnologia e man-tenha seu sistema de resoluccedilatildeo de nomes protegido

DESTAQUE

PortaacuteteisOs laptops e notebooks sempre deram aos seus possui-dores um certo glamour status de pessoas antenadas e claro fama de gente que tinha ldquogranardquo ndash afinal um bom portaacutetil ateacute dois anos atraacutes natildeo custava nada barato Com o passar do tempo no entanto fabricantes foram criando uma nova geraccedilatildeo de no-tebooks menores sem partes mecacircnicas quebraacuteveis em boa parte de suas versotildees e mais baratos Esses aparelhinhos chamados de sub-notebooks vecircm ganhando espaccedilo tanto entre os clientes ldquotradicio-naisrdquo dos laptops quanto entre pessoas que jamais imaginaram ter um portaacutetil

Oficina

Com jeito de cinemaA qualidade de auacutedio e viacutedeo da TV digital recente-

mente iniciada no Brasil eacute um atrativo para quem deseja assistir programas em alta resoluccedilatildeo e ateacute gravar alguns de seus preferidos Se os receptores de TV ainda estatildeo muito caros receptores USB para computador oferecem a ima-gem de cinema e qualidade de som de DVD E o que eacute melhor usando Linux

Na EasyLinux 13

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

42 0508

R$ 1390 euro 750

9771806

942009

00042

A REVISTA DO PROFISSIONAL DE TI

Linu

x M

agazin

e

42 42

M

aio

200

8

052008

WWWLINUXMAGAZINECOMBR

RICARDO BIMBO p30No Linux empresas e voluntaacuterios colaboram harmoniosamente

BOSSA CONFERENCE 2008 p24Evento internacional aponta para um futuro moacutevel com Coacutedigo Aberto

ENTREVISTA SAP p28Empresa aposta em reestruturaccedilatildeo de arquiteturas rumo ao SOA

VEJA TAMBEacuteM NESTA EDICcedilAtildeO

raquo ADempiere e Eclipse desenvolvimento integrado p49

raquo LPIC-2 aula 11 DNS p52

raquo BI de coacutedigo aberto com SpagoBI p59

raquo Os melhores repositoacuterios de coacutedigo PHP p75

REDES ADMINISTRACcedilAtildeO CENTRALIZADA p66

O Puppet toma conta do gerenciamento e confi guraccedilatildeo de servidores e desktops na rede

SEGURANCcedilA FIREWALL PRAacuteTICO p71

Ateacute os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall

SOA

PRINCIacutePIOS

REDHAT

N

OVAFORGE

SHOREWALL

PUPPET

PHP

SPAGOBI

ADEM

PIERE

LPIC-2

INDT

A ARQUITETURA ORIENTADA A SERVICcedilOS DAacute FOCO AOS NEGOacuteCIOS E SERVE RECURSOS DISTRIBUIacuteDOS COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS p34

raquo A Red Hat oferece a pilha completa para SOA p36

raquo Serviccedilos distribuiacutedos soluccedilotildees integradas p40

raquo NovaForge uma faacutebrica de software corporativo p44

SOA

ex

em

pla

r d

e

Ass

inan

teve

nd

a

pro

ibid

a

copy Linux New Media do Brasil Editora Ltda

  • Capa
  • Editorial
  • Iacutendice
  • Cartas
  • Augusto Campos
  • Charly Kuumlhnast
  • Klaus Knopper
  • Zack Brown
  • Seguranccedila
  • Notiacutecias
  • Notiacutecias Corporate
  • A bossa da mobilidade
  • Software bem rodado
  • 100 de serviccedilo
  • Cezar Taurion
  • Ricardo Bimbo
  • Edgar Silva
  • Introduccedilatildeo de Capa
  • Bem arquitetado
  • Clientes espalhados servidores distribuiacutedos
  • Quase faz cafeacute
  • Produto importado
  • LPI niacutevel 2 Aula 11
  • Negoacutecio inteligente
  • Para conquistar o puacuteblico
  • Marionete
  • Domando o fogo
  • Tesouro
  • Linuxlocal
  • Serviccedilos
  • Na Linux Magazine 43
Page 8: © Linux New Media do Brasil Editora Ltda.

8

COLUNA

httpwwwlinuxmagazinecombr

Acessibilidade em Software Livre

Augusto CamposEmbora qualquer pessoa possa vir a precisar de tecnologias assistivas ainda eacute pouca a atenccedilatildeo dispensada a esse campo no Software Livrepor Augusto Campos

Recentemente tive a oportunidade de participar da Comissatildeo de Programa de um evento de informaacutetica corporativa como parte de uma

banca na qual me cabia avaliar e classificar cerca de 80 trabalhos das mais variadas especialidades da Informaacutetica No decorrer dessa atividade avaliei po-sitivamente quanto agrave aplicabilidade vaacuterios trabalhos relacionados a tecnologias assistivas e acessibilidade mas tive a desagradaacutevel surpresa de constatar que na fase de discussatildeo os demais avaliadores sustentaram a posiccedilatildeo oposta a de que tecnologias assistivas inte-ressam a poucas pessoas portanto sua aplicabilidade deveria ser considerada baixa Resultado todos os trabalhos relacionados agrave acessibilidade acabaram ficando de fora do evento

A situaccedilatildeo estava fora do meu controle e laacute eu natildeo podia fazer nada a respeito mas agora vou contar com a compreensatildeo de vocecircs e usar nosso espaccedilo deste mecircs para falar um pouco sobre tecnologias assistivas em Software Livre

As tecnologias assistivas satildeo aquelas que oferecem recursos especiais de adaptaccedilatildeo assistecircncia e ateacute re-abilitaccedilatildeo para pessoas com necessidades especiais Isso eacute feito por intermeacutedio de meacutetodos diferenciados de interaccedilatildeo com tecnologias existentes permitin-do que essas pessoas possam realizar tarefas que de outro modo natildeo estariam a seu alcance

O nuacutemero de sistemas assistivos disponiacuteveis em Software Livre eacute crescente embora a atenccedilatildeo vol-

tada a eles nem sempre acompanhe a mesma ten-decircncia Essa eacute uma realidade que cada um de noacutes deveria se preocupar em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo ndash a acessibi-lidade a portadores de necessidades especiais vem sendo requisito cada vez mais exigido em softwares adotados por grandes corporaccedilotildees e pelos governos e a ausecircncia de uma oferta bem estruturada desse tipo de recurso jaacute foi justificativa para substituir Soft-ware Livre pelos seus equivalentes proprietaacuterios em telecentros municipais recentemente

Tambeacutem o niacutevel do suporte a tecnologias assisti-vas em Software Livre vem crescendo felizmente Agora aleacutem de contarmos com aplicativos espe-ciacuteficos como o vocalizador Festival e os drivers para displays em braille as versotildees recentes do Gnome passaram a oferecer o Orca sistema que integra os diversos recursos de acessibilidade dis-persos (vocalizadores displays braille ampliaccedilatildeo de tela etc) agraves aplicaccedilotildees disponiacuteveis no sistema operacional (com suporte a Firefox Thunderbird Pidgin BrOfficeorg e mais aleacutem da expansibili-dade atraveacutes de scripts)

Natildeo perco oportunidade de divulgar esse tipo de soluccedilatildeo especialmente a quem julga natildeo precisar delas ndash todos temos chance de um dia chegar a uti-lizaacute-las O Software Livre tem forte relaccedilatildeo com a ideacuteia de inclusatildeo digital e se cada administrador de sistemas e gestor de TI souber o que estaacute disponiacutevel nesse campo teremos possibilidade de empregaacute-las no momento certo e de prover o estiacutemulo neces-saacuterio para que seus desenvolvedores continuem investindo nelas

Sobre o autorAugusto Ceacutesar Campos eacute administrador de TI e desde 1996 manteacutem o site BR-linuxorg que cobre a cena do Software Livre no Brasil e no mundo

Essa eacute uma realidade que cada um de noacutes deveria preocupar-se em mudar e natildeo apenas pela intenccedilatildeo de fazer o bem ao proacuteximo

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

10 httpwwwlinuxmagazinecombr

Nload

Charly KuumlhnastMonitores de rede satildeo faacuteceis de encontrar mas o Nload eacute o uacutenico que separa traacutefego de entrada e saiacuteda e ainda desenha no consolepor Charly Kuumlhnast

Exibir o uso da rede numa interface natildeo eacute difiacutecil e existem inuacutemeras ferramentas para visuali-zar os valores Mas qual ferramenta oferece a

melhor representaccedilatildeo graacutefica dos valores medidos Os ldquoescovadores de bitrdquo certamente recomendariam a consulta direta aos dados no diretoacuterio proc mas essa obviamente natildeo eacute a soluccedilatildeo mais praacutetica

Tambeacutem podemos descartar todas as alternativas que dependam do X11 pois servidores geralmente natildeo possuem interfaces graacuteficas O IPTraf oferece os nuacutemeros necessaacuterios mas natildeo possui um recurso de histoacuterico O mesmo se aplica ao Iftop[1] embora ele informe quanto traacutefego sai e entra no parceiro de comunicaccedilatildeo

Para um raacutepido panorama minha ferramenta favo-rita eacute o Nload[2] Ele exibe o uso atual da rede para dados de entrada e saiacuteda dependendo do graacutefico sele-cionado (figura 1) Ao mesmo tempo oferece os valores meacutedios para um intervalo configuraacutevel O recurso de histoacuterico torna o uso do Nload um prazer natildeo haacute ris-co de perder um pico mesmo tirando os olhos da tela por um momento O paracircmetro de linha de coman-do -t ltvalorgt com valor em milissegundos permite a definiccedilatildeo do intervalo de atualizaccedilatildeo Por padratildeo o

Nload atualizaraacute sua tela duas vezes a cada segundo Na maioria dos casos uma configuraccedilatildeo mais espaccedilada eacute aceitaacutevel eu costumo usar -t 2000 uma atualizaccedilatildeo a cada dois segundos

Para manter os graacuteficos legiacuteveis eacute possiacutevel estabe-lecer limites para os traacutefegos de entrada e saiacuteda Se os dados excederem esse limite o Nload trunca o graacutefico permitindo a visualizaccedilatildeo de algo que esteja errado O limite-padratildeo eacute 10 Mbs mas pode ser modifica-do com -i ltvalorgt para a entrada e -o ltvalorgt para a saiacuteda O paracircmetro -s ltvalorgt com valor entre 1 e 9 possibilita a manipulaccedilatildeo dos valores meacutedios Quanto menor o nuacutemero mais curto eacute o intervalo para caacutelculo das meacutedias O valor 9 eacute o padratildeo Outro recurso inte-ressante eacute a possibilidade de modificar paracircmetros criacuteticos em tempo de execuccedilatildeo ndash incluindo a interface a ser monitorada Pressionar [O] enquanto o Nload estaacute rodando exibe um menu de opccedilotildees As alteraccedilotildees satildeo aplicadas no mesmo momento

O paracircmetro -m eacute uacutetil para servidores com muacuteltiplas interfaces ele informa o Nload para exibir o uso de muacuteltiplas interfaces ao mesmo tempo apesar de ser perdida a possibilidade de desenhar histogramas com o uso dessa opccedilatildeo

COLUNA

Mais informaccedilotildees

[1] Iftop httpwwwex-parrotcompdwiftop

[2] Nload httpwwwroland-riegeldenload

Figura 1 Os graacuteficos do Nload do Charly satildeo impressionantes

Sobre o autorCharly Kuumlhnast eacute administrador de sistemas Unix no datacenter Moers perto do famoso rio Reno na Alemanha Laacute ele cuida principalmen-te dos firewalls

copy Linux New Media do Brasil Editora Ltda

- Conexotildees Ilimitadas - Windows e Linux - Windows e Linux

Gab

arit

o

Suas mensagens entregues sem filas

E-mail marketingE-mail marketing Plug In

A ferramenta de relacionamento por e-mail mais poderosa do mercado

Contrate online

wwwplugincombrLigue e contrate

4003-1001

Powered by

por apenasR$4250

anunciodedicadoindd 1 41408 95432 AM

copy Linux New Media do Brasil Editora Ltda

12

COLUNA

httpwwwlinuxmagazinecombr

Pergunte ao Klaus

Klaus Knopper O criador do Knoppix responde agraves mais diversas perguntas dos leitores por Klaus Knopper

Wifi num Pavilion Prezado Klaus eu adoro sua coluna na Linux Magazine Ela jaacute me ajudou vaacuterias vezes e sem-pre aprendo muito Estou usando o openSUSE 103 num notebook HP Pavilion da seacuterie dv6000 (comprei no Natal e estou amando a maacutequina) Tudo funciona perfeitamente sem necessidade de alteraccedilotildees em arquivos de configuraccedilatildeo ex-ceto por um problema a rede sem fio

Jaacute procurei e conversei pela Internet visitei o site do driver e tentei tudo que consegui imaginar para resolver esse problema ndash desde o NDISwrap-per ateacute o comando install_fwcutter_43xx

Aleacutem disso recentemente postei um bug no site da minha distribuiccedilatildeo mas natildeo recebi qual-quer resposta

Os programas de conexatildeo sem fio como KNe-tworkManager KWiFi-Manager e iwconfig en-xergam a placa de rede sem fio assim como seu moacutedulo mas ela natildeo recebe sinal do roteador Jaacute verifiquei o equipamento e tentei me conec-tar a outros roteadores mas sempre acontece a mesma coisa

Obrigado por qualquer ajuda que vocecirc possa me dar e tambeacutem por toda a ajuda que daacute a todos que lecircem sua coluna E obrigado tambeacutem a todo o pessoal que faz a revista vocecircs satildeo oacutetimos

Resposta O seu problema talvez seja resolvido pelos

drivers de rede sem fio incluiacutedos no kernel 2624 que sempre oferecem suporte ao inter-ruptor da rede sem fio ( wifi switch ) presente em alguns notebooks Esse interruptor costu-ma impedir o funcionamento da rede sem fio porque simplesmente desliga a antena e conse-quumlentemente nenhum sinal eacute recebido mesmo que o driver e o hardware estejam funcionando perfeitamente

Como vocecirc disse ainda seraacute necessaacuterio ins-talar o firmware do adaptador de rede sem fio caso contraacuterio ele somente mostraraacute mensagens engraccediladas nos logs do sistema

O exemplo 1 mostra um trecho do arquivo de log que vocecirc me enviou Esse log confirma que o moacutedulo bcm43xx que vocecirc possui eacute adequado para a sua versatildeo do kernel mas o firmware desse adaptador natildeo estaacute presente

Provavelmente eacute possiacutevel obter esse firmware a partir de vaacuterios locais na Internet mas tambeacutem se pode extraiacute-lo de um adaptador que jaacute o pos-sua usando o programa bcm43xx-fwcutter que vocecirc mencionou

Quando vocecirc conseguir uma coacutepia do firm-ware necessaacuterio deve colocaacute-lo em usrlibho-tplugbcm43xx_microcode5fw (dependendo da sua distribuiccedilatildeo talvez tambeacutem em libfirmwarebcm43xx_microcode5fw ) em que seraacute automatica-mente carregado durante a inicializaccedilatildeo do sis-tema no momento em que o adaptador de rede sem fio for detectado e ativado

Sobre o autorKlaus Knopper eacute o criador do Knoppix e co-fundador do evento Linux Tag Atual-mente ele trabalha como professor progra-mador e consultor

Exemplo 1 Log do sistema (trecho)

Jan 6 052623 linux kernel bcm43xx PHYconnectedJan 6 052623 linux kernel bcm43xxError Microcode ldquobcm43xx_microcode5fwrdquonot available or load failedJan 6 052623 linux kernel bcm43xx core_up for active 80211 core failed (-2)Jan 6 052623 linux firmwaresh[5865]Cannot find firmware file lsquobcm43xx_microcode5fwrsquo

copy Linux New Media do Brasil Editora Ltda

REA

LIZA

CcedilAtildeO

PRO

MO

CcedilAtildeO

O Ecossistema de Negoacutecios em Software Livre no Brasil

2008PA

TRO

CIN

AD

ORE

S EM

200

7

copy Linux New Media do Brasil Editora Ltda

14 httpwwwlinuxmagazinecombr

Crocircnicas do kernel

Zack BrownLinus muda mais uma vez a poliacutetica de desenvolvimento do kernel desfazendo-se da tarefa de garantir total estabilidadepor Zack Brown

Inclusatildeo de drivers mais raacutepidaRecentemente Linus Torvalds reduziu os empeci-lhos para incluir coacutedigo no kernel Quando o Linux comeccedilou uma das maiores prioridades de Torvalds era encorajar contribuiccedilotildees Para isso ele reforccedilou a resposta a qualquer patch aceitando diversos de-les e ateacute mesmo publicando estatiacutesticas manuais sobre aqueles recebidos Conforme as contribuiccedilotildees aumentaram no final da deacutecada de 1990 a rapidez nas respostas de Linus diminuiu e ele ficou mais propenso a simplesmente ignorar patches caso natildeo gostasse deles Ele tambeacutem comeccedilou a insistir que os algoritmos dos patches fossem bonitos e que dife-rentes partes do kernel se comunicassem de formas naturais para elas

Quando Linus adotou as aacutervores ldquoestaacutevelrdquo e ldquode desenvolvimentordquo manteve a insistecircncia no bom gosto e tornou-se ainda mais estrito no ciclo ldquoes-taacutevelrdquo Com a estruturaccedilatildeo do envio de coacutedigos do kernel em uma hierarquia de mantenedores e ldquotenentesrdquo Linus comeccedilou a criar uma cultura de aderecircncia a suas preferecircncias pessoais de escrita de coacutedigo na qual outras pessoas que compreendes-sem seus gostos podiam atuar como guardas aleacutem de realizar o trabalho teacutecnico de escrever e revisar os coacutedigos em busca de falhas

Durante a aacutervore 26 Linus abandonou as mu-danccedilas um tanto desconfortaacuteveis entre as aacutervores estaacutevel e de desenvolvimento Entatildeo ele reinstituiu um conjunto de micro-forks para o desenvolvimen-to estaacutevel no qual a aacutervore 26 principal jamais sai da fase de desenvolvimento e cada versatildeo gera um novo fork estaacutevel A decisatildeo de abandonar os ciclos originais de estabilidade e desenvolvimento marca-ram uma eacutepoca de avaliaccedilatildeo de uma grande varie-dade de problemas Uma das principais justificativas para a mudanccedila foi a de que as distribuiccedilotildees Linux sempre aplicavam seus proacuteprios patches sobre as versotildees oficiais do kernel

Como o ocircnus de oferecer estabilidade sempre recaiacutea sobre as distribuiccedilotildees Linus lhes impocircs for-malmente essa obrigaccedilatildeo livrando-se dessa tarefa A decisatildeo indicou uma nova abordagem para o desenvolvimento do kernel ndash sem abandonar a necessidade de estabilizar aspectos do kernel mas ainda dando maior liberdade aos contribuidores

Agora Torvalds comeccedilou a aceitar patches de drivers com problemas oacutebvios Recentemente Adrian Bunk reclamou de um envio de driver que foi aceito no kernel apesar de conter mais de 250 erros de checkpatch e mais de 2000 avisos Antiga-mente esses problemas precisavam ser solucionados antes que um driver fosse aceito na aacutervore Parte da justificativa de Linus para a mudanccedila na poliacutetica eacute o reconhecimento de que eacute muito mais provaacutevel que um coacutedigo seja testado e consertado dentro da aacutervore oficial do que fora dela

Aleacutem disso supotildee-se que o usuaacuterio meacutedio use o kernel de sua distribuiccedilatildeo e natildeo o oficial enquan-to os desenvolvedores satildeo os usuaacuterios primaacuterios da versatildeo oficial e conseguem lidar melhor com drivers mais feios e menos polidos

Linus lembra que essa nova poliacutetica visa ao coacutedigo de drivers que por definiccedilatildeo satildeo perifeacutericos em relaccedilatildeo ao corpo principal do coacutedigo Ele diz que eacute importante que os drivers sejam bem testados antes de entrarem no kernel O liacuteder do desenvolvimento do Linux natildeo estaacute tatildeo preocupado com o visual do coacutedigo mas quer garantir que ele funcione e natildeo quebre nem cause per-da de dados aos usuaacuterios

COLUNA

Sobre o autorA lista de discussatildeo Linux-kernel eacute o nuacutecleo das atividades de desenvolvimento do kernel Zack Brown consegue se perder nesse oce-ano de mensagens e extrair significado Sua newsletter Kernel Traffic esteve em atividade de 1999 a 2005

copy Linux New Media do Brasil Editora Ltda

Acesse agora wwwrevistaesylinuxcombrPeccedila pelo telefone 11 4082-1300

Jaacute nas bancaspor apenas R$990

Easy Linux traz todos os meses notiacutecias tutoriais de programas e jogos dicas e tudo que o usuaacuterio iniciante precisa saber para usar Linux em casa e no trabalho

Com linguagem simples e abrangente EasyLinux eacute a leitura obrigatoacuteria para quem quer ldquodesbravarrdquo o software livre

EasyLinux leia para saber

por apenas R$990

por apenas R$990

por apenas R$990

por apenas R$990

copy Linux New Media do Brasil Editora Ltda

16

SE

GU

RA

NCcedil

A

httpwwwlinuxmagazinecombr

Figura 1 O gato natildeo estaacute vivo nem morto ateacute que se olhe dentro da caixa

Notiacutecias de InseguranccedilaTodos noacutes jaacute passamos por isso

na verdade muitos passaram recentemente Vocecirc acorda

e encontra um email do Bugtraq ou do Full-Disclosure ou talvez uma noti-ficaccedilatildeo do seu fornecedor a respeito de uma atualizaccedilatildeo de seguranccedila ndash uma atualizaccedilatildeo que afeta quase todos os seus sistemas e cujo exploit jaacute estaacute dis-poniacutevel haacute vaacuterios dias[1]

Obviamente podemos facilmente empregar o poder do Coacutedigo Aberto e nos gabar da velocidade com que os desenvolvedores do kernel con-sertaram a vulnerabilidade permi-tindo que os fornecedores provessem atualizaccedilotildees rapidamente

Ou eu poderia ainda falar da im-portacircncia de fazer um inventaacuterio de seus sistemas e ter um sistema de ge-renciamento de patches para aplicaacute-los prontamente Poreacutem a questatildeo eacute que todos os sistemas satildeo vulneraacuteveis o tempo inteiro Permita-me repetir soacute para assegurar que ningueacutem pense que me confundi todos os sistemas satildeo vulneraacuteveis o tempo inteiro

Falhas de seguranccedila satildeo bem se-melhantes ao gato de Schroumldinger nem vivo nem morto ateacute que seja verificado[2] (figura 1) Da mesma forma podemos perguntar se as vul-nerabilidades de seguranccedila aparecem do nada como por maacutegica quando algueacutem as observa colapsando o es-tado quacircntico de probabilidade da vulnerabilidade em questatildeo para um estado conhecido Ou seja en-quanto ningueacutem reconhece uma vulnerabilidade (e mais importan-te enquanto ningueacutem possui um exploit para ela) ela natildeo existe Isso tambeacutem eacute conhecido como a teoria da ldquoaacutervore que cai na florestardquo em seguranccedila da informaccedilatildeo

Tambeacutem seria possiacutevel argumen-tar de forma alternativa que mes-mo sem sabermos ao certo quan-do o isoacutetopo decairaacute acionando a liberaccedilatildeo do gaacutes venenoso ele vai decair e provavelmente mais cedo do que se desejaria

A verdade eacute que um sistema mo-derno possui tanto coacutedigo instalado e em execuccedilatildeo que eacute provaacutevel que alguma vulnerabilidade exploraacutevel venha a ser encontrada e usada para comprometer o sistema Entatildeo o que vocecirc pode fazer

Planos futurosAssim como no velho ensinamento ldquoplaneje-se para o pior mas espere o melhorrdquo eacute obrigatoacuterio planejar-se para o caso de falhas no sistema de seguranccedila Todos os conselhos-padratildeo a respeito de aumento de seguranccedila de sistemas criaccedilatildeo de camadas de seguranccedila e limitaccedilatildeo de acesso e privileacutegios sempre que possiacutevel ainda satildeo bons conselhos mas simplesmente natildeo consegue mresponder agrave pergunta o que fazer quando sua seguranccedila falha

Melhores praacuteticasPor ser praticamente inevitaacutevel que seus sistemas estejam vulneraacuteveis em algum momento ndash provavelmente durante um periacuteodo em que haacute aces-so puacuteblico pelo exploit ndash eles prova-velmente estaratildeo comprometidos Um exemplo perfeito disso eacute o site seifriedorg O SELinux estava ativo impedindo a exploraccedilatildeo de todas as vulnerabilidades de seguranccedila mas tambeacutem evitando o funcionamento correto de vaacuterios softwares de tercei-ros Apoacutes brigar um tempo contra o SELinux desisti e desativei-o

Esse foi meu primeiro erro por dois motivos Primeiro ao desati-var o SELinux facilitei muito a in-vasatildeo do meu sistema reduzindo tambeacutem a quantidade de logs que seriam gerados em caso de invasatildeo Se for preciso desativar o SELinux ao menos use o modo permissivo que registra as violaccedilotildees

Meu segundo erro foi a claacutessica preguiccedila administrativa Para faci-litar a administraccedilatildeo do sistema eu havia estabelecido relaccedilotildees de confianccedila no SSH entre minhas maacutequinas e tambeacutem ativado o acesso por sudo sem a requisiccedilatildeo de uma senha

Entatildeo uma vez que o agressor conseguisse invadir um sistema e ganhasse acesso agrave conta de admi-nistraccedilatildeo ele teria acesso a todos os meus sistemas Portanto quando um dos meus sistemas foi compro-metido acabei tendo que reinstalar todos eles pois tinha certeza de que todos haviam sido modificados Com frequumlecircncia essa falha de projeto tam-beacutem ocorre com firewalls e outros mecanismos de seguranccedila As organi-zaccedilotildees implementam uma seguranccedila externa bem riacutegida mas falham ao implementar a seguranccedila interna deixando um nuacutecleo apetitoso para os invasores desfrutarem

por Kurt Seifried

copy Linux New Media do Brasil Editora Ltda

17

| NOTIacuteCIASSeguranccedila

Linux Magazine 42 | Maio de 2008

Melhores registrosComo disse eu havia desativado o SELinux em vez de deixaacute-lo no modo permissivo Com o espaccedilo em disco sendo relativamente barato atualmen-te raramente faz sentido apagar logs para economizar espaccedilo

Aleacutem disso com a facilidade de criar um sistema de logs pela rede com o Syslog natildeo existe desculpa para natildeo usar um log centralizado (dificultando assim a eliminaccedilatildeo dos rastros de um eventual invasor) Entretanto note que muitos ataques deixaratildeo poucas mensagens significativas nos logs

Frequumlentemente uma mensa-gem informando que o programa servidor fechou seraacute o uacutenico indiacute-cio da invasatildeo o que dificilmente garante uma investigaccedilatildeo completa da ocorrecircncia

Ter um rastro confiaacutevel para au-ditoria pode significar a diferenccedila

entre precisar reinstalar todo um grupo de maacutequinas e apenas limpar uma delas Manter logs tambeacutem eacute importante para fornecer as infor-maccedilotildees necessaacuterias para consertar um sistema Simplesmente retornar um sistema a seu estado original natildeo impediraacute que o agressor faccedila uma nova invasatildeo

BecapeOs becapes costumam ser um dos as-pectos mais negligenciados pela segu-ranccedila da informaccedilatildeo Poreacutem eles satildeo cruciais para garantir que os sistemas possam ser reinstalados corretamente e os dados possam ser recuperados Se vocecirc natildeo fizer becape de nada mais ao menos faccedila um de seus da-dos e assegure-se de guardaacute-lo longe da maacutequina Aleacutem disso ter sistemas de recuperaccedilatildeo que funcionem eacute tatildeo importante quanto todo o becape

Mais Informaccedilotildees

[1] SecurityFocus vulnerabilidade em copy_from_user_mmap_sem() httpwwwsecurityfocuscombid27796

[2] Gato de Schroumldinger httpptwikipediaorgwikiGato_de_SchrC3B6dinger

Sobre o autorKurt Seifried eacute Consultor de Seguranccedila da Informaccedilatildeo especializado em Linux e re-des desde 1996 Ele eacute casado e tem qua-tro gatos mas nenhum peixe (porque os ga-tos tecircm mais fome que medo de aacutegua) Ele sempre se pergunta como essa tecnologia funciona em larga escala mas frequumlente-mente falha em escalas menores

Com muita frequumlecircncia jaacute vi be-capes funcionarem perfeitamente ateacute serem necessaacuterios aleacutem de imagens de recuperaccedilatildeo de baixo niacutevel incompatiacuteveis com o hard-ware substituto ou dados exporta-dos corrompidos e incompletos Por exemplo tenho um script de becape que estava falhando silen-ciosamente haacute trecircs meses porque eu havia deixado de lado a opccedilatildeo ldquosobrescrever arquivos mais anti-gosrdquo e entatildeo todos os arquivos alterados natildeo haviam recebido a coacutepia de seguranccedila

Preacute-funeralUma das praacuteticas mais poderosas que jaacute vi eacute conduzir um ldquopreacute-fu-neralrdquo Em essecircncia o administra-dor finge que o sistema jaacute falhou Ter uma ideacuteia do que fazer nessa situaccedilatildeo ajuda a evitar a confusatildeo caso isso de fato aconteccedila e tam-beacutem pode oferecer ideacuteias de accedilotildees preventivas a serem tomadas tais como usar firewalls em todos os computadores independente de a maacutequina estar ou natildeo conectada a uma rede puacuteblica

ConclusatildeoDa mesma forma que o sistema comprometido natildeo importa de ver-dade se o gato estaacute vivo ou morto Em algum momento o gaacutes veneno-so seraacute liberado o gato morreraacute e o local comeccedilaraacute a cheirar mal

O truque eacute encontrar formas efi-cazes de lidar com falhas para que se consiga retornar ao trabalho de forma raacutepida e segura

Dica de invasatildeo MySQL

Um meacutetodo comumente usado para zerar uma senha de root do MySQL perdida eacute usar a opccedilatildeo --skip-grant-tables que carrega o banco de dados sem qualquer proteccedilatildeo Se for necessaacuterio usar esse meacutetodo use tambeacutem --skip_networking para permitir somente conexotildees locais Com ela usuaacute-rios locais ainda conseguiriam conectar-se portanto assegure-se de desco-nectaacute-los tambeacutem

Talvez um meacutetodo melhor seja usar a opccedilatildeo --init file que lecirc comandos SQL deste arquivo na inicializaccedilatildeo Cada comando deve estar numa uacutenica linha e natildeo deve incluir comentaacuterios

Entatildeo basta criar um arquivo texto (zera-senhatxt) com um comando SQL para alterar a senha de root

SET PASSWORD FOR lsquorootrsquorsquolocalhostrsquo = PASSWORD(lsquoNovaSenharsquo)

e em seguida iniciar o mysqld com a opccedilatildeo --init-file zera-senhatxt Depois de carregar o arquivo simplesmente reinicie o MySQL normalmente e entre com a nova senha

copy Linux New Media do Brasil Editora Ltda

18

NO

TIacuteC

IAS

httpwwwlinuxmagazinecombr

Linux eacute feito por empresas

Sun homologaraacute Ubuntu Mark Shuttleworth fundador da Canonical empresa responsaacutevel pelo Ubuntu afi rmou que a Sun demons-trou interesse em homologar essa distribuiccedilatildeo em seus servidores A accedilatildeo seria muito importante para a em-presa sul-africana cuja distribuiccedilatildeo passaria a concorrer contra os pesos-pesados das distribuiccedilotildees corporativas (as chamadas Enterprise ) Red Hat Enterprise Linux e No-vell Suse Linux Enterprise Server ambas com modelos baseados em subscriccedilatildeo diferentemente do Ubuntu

A Canonical jaacute oferece suporte comercial ao Ubun-tu instalado em determinadas maacutequinas da Sun O que muda agora eacute a homologaccedilatildeo por parte da fa-bricante do hardware

A Linux Foundation publicou um novo relatoacuterio a res-peito do desenvolvimento do Linux intitulado ldquoLinux Kernel Development ndash How Fast it is Going Who is Doing It What They are Doing and Who is Sponso-ring Itrdquo (Desenvolvimento do Kernel Linux ndash com que velocidade estaacute ocorrendo quem o estaacute fazendo o que eles tecircm feito e quem fi nancia O estudo foi feito com base nos uacuteltimos trecircs anos do desenvolvimento do kernel Linux ndash abrangendo desde a versatildeo 2611 ateacute a 2624 ndash e revela que a maior parte dos desenvolvedores do kernel satildeo pagos por grandes companhias como IBM Intel Linux Foundation MIPS Technology MontaVista Movial NetApp Novell e Red Hat

Ao longo dos anos o nuacutemero de desenvolvedores do Linux tem crescido consideravelmente Pela anaacutelise a versatildeo mais recente do kernel (2624 na liberaccedilatildeo do estudo) teve 1057 desenvolvedores registrados O estudo informa que entre 70 e 95 dos desenvolvedores pagos para trabalhar com o Linux nos uacuteltimos trecircs anos satildeo funcionaacuterios dessas empresas Mostra tambeacutem que atual-mente a relaccedilatildeo das grandes empresas com o Linux eacute bastante proacutexima Os investimentos em Coacutedigo Aber-to portanto estatildeo diretamente relacionados ao modus operandi dessas empresas e jaacute incorporados agrave ldquocorrida armamentistardquo do mundo dos negoacutecios

O relatoacuterio da Linux Foundation sobre as contribui-ccedilotildees ao Linux exibe tambeacutem um nuacutemero elevado de contribuiccedilotildees de desenvolvedores individuais ao siste-ma Poreacutem a quantidade de pessoas que realmente faz o trabalho ldquobraccedilalrdquo eacute bem pequena Nos uacuteltimos trecircs anos os dez desenvolvedores que mais contribuiacuteram para o kernel somam 15 de todo esse trabalho Se au-

mentada a margem levando em conta os 30 maiores desenvolvedores esse nuacutemero sobe para 30

Assim foi estabelecido um ranking das empresas mais atuantes no kernel Um dos destaques eacute a Novell que au-mentou em 300 sua participaccedilatildeo nos uacuteltimos trecircs anos A empresa passou de 36 para 144 do total de contribuiccedilotildees realizadas Isso a coloca em segundo lugar logo atraacutes da Red Hat

Ranking

As companhias que de fato constroem o Linux consi-derando sua contribuiccedilatildeo para o kernel satildeo Red Hat (112) Novell (89) IBM (83) Intel (41) Linux Foundation (35) SGI (20) MIPS Technology (16) Oracle (13) MontaVista (12) e Linutronix (10) A participaccedilatildeo dessas empresas no desenvolvimento do Linux tem sua razatildeo de ser Red Hat Novell e MontaVista possuem motivos claros as trecircs desenvolvem e comer-cializam sistemas Linux As demais companhias traba-lham no kernel para garantir que o Linux rode correta-mente em seus hardwares na intenccedilatildeo de tornar seus produtos mais atraentes para os usuaacuterios Linux e com isso aumentar suas vendas

Outras empresas que desenvolvem o Linux como Sony Nokia e Samsung satildeo conhecidas por embar-carem o sistema aberto como um componente de seus proacuteprios produtos (como cacircmeras de viacutedeo te-levisores e telefones moacuteveis) Sua participaccedilatildeo no de-senvolvimento do kernel busca um investimento de meacutedio a longo prazo Essas empresas desejam ga-rantir que o sistema do pinguumlim continue a ser uma base soacutelida para seus produtos no futuro

18copy Linux New Media do Brasil Editora Ltda

19

| NOTIacuteCIASGerais

Linux Magazine 42 | Maio de 2008

BrOfficeorg 24Apoacutes uma espera relativamente longa a nova versatildeo do BrOfficeorg finalmente estaacute disponiacutevel para download Satildeo vaacuterias as novidades que se destacam nesse salto de versatildeo entre elas me-lhorias na geraccedilatildeo de documentos PDF mudanccedila da fonte-padratildeo para a famiacutelia DejaVu melhorias gerais no acesso a banco de dados (MySQL Oracle JDBC etc) e inclusatildeo de suporte nativo ao formato proprietaacuterio do aplicativo de bancos de dados do MS Access 2007

A interface dos programas tambeacutem apresenta algumas mudanccedilas A seleccedilatildeo do idioma no corretor ortograacutefico estaacute mais simples novos atalhos de teclado foram criados

para a definiccedilatildeo de estilos de paraacutegrafo e os blocos de ceacutelulas do Calc podem ser copiados e movidos mais facilmente pela planilha Na janela de impressatildeo as opccedilotildees avanccediladas podem ser ocultadas uma vez que raramente precisam ser alteradas

Linux em switches CiscoA Cisco atraveacutes de sua nova plataforma Application Extension Platform (AXP) converteu vaacuterios mode-los de seus switches para servidores de aplicaccedilotildees Linux Os novos servidores vecircm embarcados com bibliotecas C Java e Perl certificadas Com isso os desenvolvedores seratildeo capazes de usar um kit de desenvolvimento (SDK) para construir aplicativos para o novo sistema

Os servidores AXP vecircm equipados com proces-sadores de arquitetura x86 (o mais recente traz um Pentium 14 GHz) e satildeo capazes de executar uma distribuiccedilatildeo Linux proacutepria com kernel 26143 e bibliotecas compatiacuteveis com o Fedora Core 4 A dis-tribuiccedilatildeo particular da Cisco foi desenvolvida exata-mente para rodar sobre esse hardware que in-clui 2 GB de memoacuteria RAM e discos riacutegidos de 160 GB

copy Linux New Media do Brasil Editora Ltda

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Gartner SL em alta Windows em colapso De acordo com estudo realizado pelo Gartner em apenas alguns anos praticamente todos os tipos de negoacutecios estaratildeo utilizando Coacutedigo Aberto mesmo que os gerentes de TI dessas mesmas empresas ignorem essa tecnologia e prefi ram utilizar apenas a de software como serviccedilo ( SaaS ) O mesmo estu-do informa que ateacute 2012 todas as empresas estaratildeo utilizando Coacutedigo Aberto de forma embarcada

De acordo com Mark Taylor presidente do grupo de promoccedilatildeo do Open Source Consortium ldquoinfe-lizmente o Gartner estaacute subestimando o Coacutedigo Abertordquo Ele informa que atualmente todos estatildeo utilizando Coacutedigo Aberto como serviccedilo ndash o princi-pal exemplo eacute o do Google Ainda de acordo com Taylor o Gartner natildeo percebeu que uma licenccedila livre faz mais que apenas reduzir o custo total de propriedade (TCO) ndash ela fornece muitos outros benefiacutecios tambeacutem a quem a utiliza

Mesmo sabendo que o custo da licenccedila representa apenas 3 do valor do projeto algumas empresas continuam baseando suas vendas nesse detalhe tornando-se limitadas Poreacutem quando essa limi-taccedilatildeo eacute eliminada a abrangecircncia do projeto pode se expandir para diversas outras esferas ndash tudo isso sem custo adicional Esse fenocircmeno se deve prin-cipalmente ao fato de o Coacutedigo Aberto fornecer

grande escalabilidade a um custo zero de transaccedilatildeo para qualquer aplica-

ccedilatildeo em que se queira investir

Microsoft em risco Ao mesmo tempo os analistas do Gartner afir-maram que o sistema Windows corre perigo pondo em risco tambeacutem a Microsoft Em sua conferecircncia ldquoEmerging Trendsrdquo analistas de TI do Gartner afirmaram que os esforccedilos da Mi-crosoft em relaccedilatildeo ao Windows natildeo trouxeram resultados Os motivos disso de acordo com os analistas incluem os ciclos de desenvolvimento extremamente longos e as limitadas inovaccedilotildees trazidas a cada nova versatildeo do sistema opera-cional liacuteder em vendas aleacutem da experiecircncia de uso inconsistente entre diferentes versotildees Segundo mateacuteria da PC World no lado dos ad-ministradores cada nova interaccedilatildeo do sistema traz novas questotildees de incompatibilidade com aplicativos resultando no aumento dos custos de gerenciamento e reduzindo o valor do pro-duto da gigante de Redmond

As criacuteticas ao sistema da Microsoft natildeo pararam por aiacute Os analistas do Gartner levantaram ques-totildees teacutecnicas desde a complexidade do Windows sua falta de modularidade seus trechos de coacutedigo com 20 anos de idade e os elevados requisitos de hardware ateacute a difusatildeo do uso de aplicativos web e multi-plataforma

Essas questotildees conduziratildeo os consumidores de acordo com os analistas agrave adoccedilatildeo de outros sistemas garantindo um futuro proacutespero ao Coacute-digo Aberto A saiacuteda para o Windows segundo o Gartner seria uma versatildeo do Vista ainda mais modularizada apesar das alegaccedilotildees de grande modularizaccedilatildeo no sistema feitas pela Microsoft Uma soluccedilatildeo especiacutefica para a retrocompatibili-dade dos aplicativos residiria na virtualizaccedilatildeo de sistemas e componentes No entanto adverte o instituto de pesquisa natildeo devemos esperar mu-danccedilas raacutepidas da Microsoft junto aos negoacutecios bilionaacuterios do Windows

Cars

ten

Muumll

ler -

ww

ws

xch

u

20copy Linux New Media do Brasil Editora Ltda

21

| CORPORATENotiacutecias

Linux Magazine 42 | Maio de 2008 21

21

Sun promete viacutedeo livre Rob Glidden da Sun Microsystems infor-mou em seu blog a respeito de dois novos projetos de Coacutedigo Aberto da empresa que deveratildeo resultar em uma soluccedilatildeo livre para multimiacutedia via Web incluindo codecs de aacuteudio e viacutedeo No contexto da iniciativa Open Media Commons (OMC) a Sun estaacute trabalhando atualmente no OMS Video ndash segundo Glidden a sigla OMS pode signifi car tanto Open Media Stack quanto Open Media System Assim como ocorre com o formato Flash da Adobe a soluccedilatildeo da Sun deveraacute encapsular um codec de aacuteudio e um de viacutedeo ao mesmo tempo em que cuida do controle e do trans-porte de dados bem como de aspectos de seguranccedila do conteuacutedo Os desenvolvedo-res do codec de Coacutedigo Aberto natildeo estatildeo considerando apenas suas caracteriacutesticas teacutecnicas como velocidade e qualidade questotildees como a aderecircncia da licenccedila do sistema agraves premissas do Software Livre ausecircncia de custos com licenciamento e a criaccedilatildeo de coacutedigos e meacutetodos que natildeo infrinjam nenhuma patente tambeacutem satildeo requisitos do projeto O desenvolvimento do OMS eacute pautado pela poliacutetica de direitos de propriedade intelectual adotada pela Organizaccedilatildeo Mundial do Comeacutercio que natildeo se restringe simplesmente agrave adoccedilatildeo de uma licenccedila proacutepria ndash a Common Development and Distribution License (CDDL) que permite uma combinaccedilatildeo de software de coacutedigo aberto e proprietaacute-rio ndash mas utiliza tambeacutem Digital Rights Management (DRM)

O codec de viacutedeo deveraacute ser baseado nas especifi caccedilotildees do pa-dratildeo H26x ndash mas sem se limitar a elas Como formato de aacuteudio os de-senvolvedores estatildeo considerando o formato Xiph Vorbis A Sun preferiu natildeo adotar o formato H264 por natildeo consideraacute-lo sufi cientemente livre Pro-jetos que tenham objetivos similares como Vorbis Theora e Dirac natildeo satildeo considerados concorrentes mas ldquofacilitadoresrdquo Glidden no entanto natildeo revelou em quanto tempo o produto fi nal deve estar disponiacutevel

Microsoft cogita aquisiccedilatildeo hostil do Yahoo Apoacutes ter por reiteradas vezes afi rmado que a aquisiccedilatildeo do Yahoo eacute im-prescindiacutevel para os planos de expansatildeo da companhia na concorrecircncia contra o Google a Microsoft em carta redigida pelo CEO Steve Ball-mer enviou no iniacutecio de abril um ultimato agrave empresa de Jerry Yang caso natildeo cheguem a um acordo com a cuacutepula diretora da empresa nas proacuteximas trecircs semanas a Microsoft deveraacute recorrer aos acionistas e partir para uma aquisiccedilatildeo hostil

Na carta Steve Ballmer advertiu a direccedilatildeo do Yahoo de que no caso de uma accedilatildeo hostil a oferta da Microsoft poderaacute ser menor devido agrave reduccedilatildeo nos valores das accedilotildees das duas empresas ocorrida recentemente Adicional-mente a Microsoft pretende exercer pressatildeo sobre a diretoria do Yahoo atraveacutes de seus proacuteprios representantes no conselho diretor da empresa Ateacute entatildeo a empresa fundada por Bill Gates havia tentado chegar a um acordo por vias paciacutefi cas no intuito de evitar um processo de aquisiccedilatildeo hostil longo (e possivelmente caro) bem como para preservar as equipes das duas empresas para quando ocorrer a fusatildeo Entretanto segundo Ball-mer as reuniotildees realizadas ateacute agora foram infrutiacuteferas

Ballmer argumentou ainda no docu-mento que o Yahoo teria perdido espaccedilo no mercado de maacutequinas de busca na Internet e que a situaccedilatildeo fi nanceira da companhia teria piorado desde que a oferta foi feita

Concorrente do ODF vira padratildeo ISO A Organizaccedilatildeo Internacional de Padronizaccedilatildeo ISO aprovou no dia 1ordm de abril com 75 dos votos vaacutelidos dos membros P a homologaccedilatildeo do formato de documentos de escritoacuterio Offi ce Open XML de autoria da Microsoft como um padratildeo internacional A aceitaccedilatildeo do formato como padratildeo ocorreu na segunda tentativa da empresa de Steve Ballmer junto ao oacutergatildeo internacional e apoacutes sua aprovaccedilatildeo pelo ECMA oacutergatildeo europeu de padronizaccedilatildeo de sistemas de comunicaccedilatildeo e informaccedilatildeo

O Brasil representado pela ABNT (Associaccedilatildeo Brasileira de Normas Teacutecnicas) votou assim como na primeira avaliaccedilatildeo contra a aprovaccedilatildeo do OOXML ndash como eacute chamado o formato ndash devido a inuacutemeras questotildees teacutecnicas no documento ofi cial que descreve o formato

Votaram como o Brasil o Canadaacute e a China aleacutem de Cuba Equa-dor Iacutendia Iratilde Nova Zelacircndia Aacutefrica do Sul e Venezuela totalizando oito votos de membros P (participantes) e dois de membros O (observadores incluindo o Brasil) da ISO Diversos paiacuteses se abstiveram muitos deles emitindo comentaacuterios a esse respeito

O periacuteodo anterior agrave votaccedilatildeo foi alvo de diversas denuacutencias e acusaccedilotildees relativas a alguns oacutergatildeos nacionais e influecircncias exter-nas e internas de voto

Aleacutem das falhas teacutecnicas apontadas nas especifi caccedilotildees do OOXML outro importante argumento contra sua padronizaccedilatildeo junto agrave ISO eacute a exis-tecircncia do formato ODF ( Open Document Format ) criado de forma aberta pela organizaccedilatildeo OASIS cujo objetivo eacute justamente o de proporcionar um formato de arquivos de escritoacuterio (documentos planilhas apresenta-ccedilotildees etc) legiacutevel por qualquer programa que o deseje e que jaacute havia sido aprovado como o padratildeo ISOIEC 26300 em 2006

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

Suacutemario

bull Gerenciamento de cadeia e fornecedores

bull Anaacutelise de performance

bull Logiacutesticabull Contabilidadebull Financeiro

bull Vendasbull Produccedilatildeobull CRM

Tecnologia a serviccedilo do crescimento da sua empresa

wwwkenoscombrcontatokenoscombr

(11) 4082-1305

Kenos_Anuncio2indd 2-3 210108 145457

copy Linux New Media do Brasil Editora Ltda

24

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Agraves 9h34min de uma rara manhatilde nublada em Porto de Galinhas Brasil Sandro Alves Gerente

de Desenvolvimento de Novos Ne-goacutecios do Instituto Nokia de Tecno-logia (INdT)[1] inaugurou a ediccedilatildeo 2008 da Bossa Conference[2] Ele apresentou um curto viacutedeo contan-do detalhes da histoacuteria e das atraccedilotildees de Porto de Galinhas Recife e do Estado de Pernambuco

Alves deu as boas vindas ao puacuteblico internacional de 250 pessoas ainda em-polgado com a ediccedilatildeo de 2007 da Bossa Conference e seu grande sucesso Logo apoacutes a abertura o gerente explicou o trabalho do INdT e mais importante por que seus funcionaacuterios o fazem

Design e conceitoSandro caracteriza o INdT como um instituto ldquomovido por design e conceitordquo e natildeo ldquopor tecnologiardquo embora deixe perfeitamente claro que natildeo se trata de uma criacutetica aos desenvolvedores de Coacutedigo Aberto ldquoQuando comeccedilamos eacuteramos movi-dos pela tecnologiardquo afirmou ldquomas gradualmente fomos percebendo que a abordagem orientada ao de-sign e conceito era muito melhor e isso tem funcionado muito bem desde entatildeordquo

A unidade do INdT em Recife emprega apenas Coacutedigo Aberto no desenvolvimento de novos aplicati-vos e plataformas para dispositivos moacuteveis da Nokia e eacute esse o tema central da Bossa Conference ldquoo evento eacute projetado para promover interaccedilatildeo entre os desenvolvedoresrdquo coloca Sandro ldquoA Bossa Conference

eacute projetada para maximizar o tempo de interaccedilatildeo entre as pessoasrdquo

Na praacuteticaAssim como na ediccedilatildeo 2007 do even-to[3] todos os dias contaram com sessotildees voltadas agrave parte praacutetica dos sistemas de software que compotildeem os dispositivos moacuteveis da Nokia Daniel Rocha apresentou o uso de Python para o desenvolvimento de aplicati-vos sobre a plataforma S60 seguido de Mario Hozzano e Leandro Sales que mostraram como utilizar essa mesma linguagem na programaccedilatildeo para a plataforma Maemo No se-gundo dia Thiago Santos mostrou na praacutetica como criar plugins para o sistema multimiacutedia GStreamer e apoacutes o almoccedilo Denis Kenzior abordou a programaccedilatildeo de aplicativos com uso de Bluetooth e OBEX para a plataforma Qtopia desenvolvida pela norueguesa Trolltech e recentemente adquirida pela Nokia Finalizando as sessotildees praacuteticas do evento Marcelo Oliveira e Gustavo Barbieri ambos do INdT mostraram como desenvolver inter-faces usando Python e as bibliotecas EFL seguidos de Dave Andreoli que mostrou outras formas de ir mais fun-do no uso dessas bibliotecas

EspecialistasCom sua especializaccedilatildeo em dispo-sitivos moacuteveis de comunicaccedilatildeo e conectividade o INdT foi capaz de reunir em Porto de Galinhas um impressionante nuacutemero de sumidades em grande parte das tecnologias que compotildeem esse crescente mercado

Michael ldquoMickeyrdquo Lauer (figura 1) um dos criadores do smartphone total-mente livre OpenMoko[4] discursou sobre a construccedilatildeo de distribuiccedilotildees Linux especiacuteficas para o mercado de sistemas embarcados com o OpenEm-bedded[5] Em uma entrevista[6] dada agrave Linux Magazine logo em seguida o alematildeo exibiu alguns protoacutetipos do dispositivo fabricado pela FIC e con-tou a histoacuteria do desenvolvimento do aparelho que encheu os olhos de todo o puacuteblico presente (figura 2) chamado frequumlentemente de ldquoplaygroundrdquo para hackers tamanha sua flexibilidade Harald Welte outro alematildeo partici-pante do projeto tratou de apresentar agrave plateacuteia o conceito de um smartphone verdadeiramente aberto

Depois do almoccedilo Alp Toker de-monstrou ainda os grandes avanccedilos do mecanismo de renderizaccedilatildeo de paacuteginas web Webkit de autoria da Apple e derivado do KHTML do projeto KDE O desenvolvedor do Webkit demonstrou como a equipe de desenvolvimento do renderiza-dor tem preocupaccedilatildeo com o uso de memoacuteria [7] o que vem rendendo

Figura 1 Mickey Lauer exibe dois protoacute-tipos do FIC Neo Freerunner

Bossa Conference 2008

A bossa da mobilidadeCom um evento uacutenico no mundo a Bossa Conference do Instituto Nokia de Tecnologia em Recife comemora sua entrada no calendaacuterio internacionalpor Pablo Hess

copy Linux New Media do Brasil Editora Ltda

25

| CORPORATEBossa Conference 2008

Linux Magazine 42 | Maio de 2008

vaacuterios testes desse mecanismo nos dispositivos moacuteveis que satildeo o centro da Bossa Conference

Na aacuterea de tecnologias visuais ndash um dos fetiches desse mercado ndash Carsten ldquoRastermanrdquo Haitzler criador do re-conhecidamente inovador ambiente desktop Enlightenment demonstrou os motivos do crescente interesse por parte dos desenvolvedores de dispositivos embarcados pelas bibliotecas graacuteficas que compotildeem seu software ndash especial-mente em relaccedilatildeo ao consumo de re-cursos ndash o que pode acabar por render a essas bibliotecas o posto atualmente ocupado pela GTK[8] Oslashyvind Kolarings colaborador de diversos projetos de Soft-ware Livre na aacuterea visual como Cairo e Gimp tambeacutem explicou as necessi-dades de hardware para a interface dos futuros dispositivos moacuteveis enquanto Chris Wilson tambeacutem envolvido com o Cairo falou sobre seu processo de desenvolvimento enfatizando os testes de funcionalidades

Ainda na questatildeo multimiacutedia Lennart Poetering descreveu a aplicaccedilatildeo do ser-vidor de aacuteudio PulseAudio em dispositi-vos embarcados enquanto Zach Rusin mostrava na sala ao lado os benefiacutecios que os drivers Gallium3D prometem trazer agrave aacuterea de graacuteficos 3D Logo em seguida Conrad Parker completou o tema com sua palestra sobre aspectos internos de reprodutores de viacutedeo

Os organizadores tambeacutem incluiacuteram no programa seminaacuterios sobre questotildees especialmente importantes em dispo-

sitivos moacuteveis como a depuraccedilatildeo do sistema de comunicaccedilatildeo entre processos D-Bus (ministrado por J5 Palmieri) o armazenamento local de dados (semi-naacuterio de Alexandre Oliva)

As tendecircncias de desenvolvimento tambeacutem figuraram entre os assuntos debatidos Daniel Gentleman apre-sentou formas de interaccedilatildeo entre os projetos de Coacutedigo Aberto e as comunidades que os utilizam dei-xando clara a necessidade de desen-volvimento nesse campo

A questatildeo da mobilidade foi disseca-da por Marcel Holtmann mantenedor de diversas das pilhas de protocolos de comunicaccedilatildeo sem fio no kernel Linux Segundo Marcel o Linux pos-sui suporte a diversos protocolos de comunicaccedilatildeo que nem mesmo estatildeo disponiacuteveis comercialmente o que o torna um sistema ideal para os dispo-sitivos moacuteveis de comunicaccedilatildeo

Nesse mundo de tantos aparelhos com exigecircncias aparentemente para-doxais ndash cada vez mais funcionalida-des em dispositivos progressivamente menores ndash a Intel tambeacutem esteve presente com seu Mobile Internet Device equipado com o igualmente novato Ubuntu Mobile Edition Adil-son Oliveira da Canonical apresen-tou agrave imprensa um aparelho natildeo tatildeo pequeno quanto os demais do evento e evidentemente com objetivos dife-rentes ndash o MID eacute um subnotebook reduzido tanto em capacidade quan-to em tamanho ndash mas equipado com uma distribuiccedilatildeo que promete mexer com esse mercado[9]

Um evento uacutenicoSe o mercado de software para disposi-tivos embarcados tem diversas particu-laridades a Bossa Conference age de acordo Nas duas noites do evento os participantes foram levados a ambien-tes que propiciavam a interaccedilatildeo o que certamente ajudou muito a troca de ideacuteias entre o puacuteblico e as ldquocelebrida-desrdquo com uma proximidade raramente vista em outros eventos

Mais informaccedilotildees

[1] INdT httpwwwindtorgbr

[2] Bossa Conference httpbossaconferenceindtorg

[3] Bossa Conference 2007 ldquoO futuro da mobilidaderdquo httpwwwlinuxmagazinecombrarticleo_futuro_da_mobilidade

[4] OpenMoko httpwwwopenmokoorg

[5] OpenEmbedded httpwwwopenembeddedorg

[6] ldquoO celular mais livre do mundordquo httpwwwlinuxmagazinecombrlmnoticiao_celular_mais_livre_do_mundo

[7] ldquoWebkit em todo canto ndash mesmordquo httpwwwlinuxmagazinecombrlmnoticiabossa_conference_2008_webkit_em_todo_canto_ndash_mesmo

[8] ldquoEnlightenment vai destronar GTKrdquo httpwwwlinuxmagazinecombrnoticiabossa_conference_enlightenment_vai_destronar_gtk

[9] ldquoUbuntu para dispositivos embarcadosrdquo httpwwwlinuxnewmediacombrnoticiaubuntu_para_dispositivos_embarcados

Figura 2 O FIC Neo Freerunner eacute o segundo modelo de smartphone da FIC a utilizar a plataforma OpenMoko

Segundo o ldquodono da festardquo Sandro Alves os participantes do evento satildeo pes-soas que ldquoamam criar coacutedigordquo como definem a si proacuteprios ldquosem nenhuma inclinaccedilatildeo poliacutetica ou ideoloacutegicardquo O limite de 250 pessoas afirma Sandro eacute para garantir que apenas as pessoas mais qualificadas e motivadas participem do evento garantindo assim o retorno po-sitivo de todos -- do puacuteblico dos pales-trantes e ateacute dos organizadores

copy Linux New Media do Brasil Editora Ltda

26

CO

RP

OR

ATE

httpwwwlinuxmagazinecombr

Hardware Coacutedigo Aberto e Software Enablement

Software bem rodadoPor que um fabricante de hardware teria interesse em um software de Coacutedigo Aberto Entenda o Software Enablement e seus motivospor Sulamita Garcia

No final do ano passado tive a oportunidade de partici-par de uma conferecircncia da

Intel sobre Software Enabling Mas o que eacute isso e o que tem a ver com Software Livre

A dependecircncia entre software e hardware na computaccedilatildeo sempre foi uma discussatildeo do tipo ldquoo ovo e a gali-nhardquo Hardware natildeo faria nada sem o software software natildeo faria nada sem o hardware Combinados poreacutem eles fazem tudo o que conhecemos na aacuterea Conforme a tecnologia evolui o hard-ware se torna mais raacutepido ao mesmo tempo em que consome menos energia e tem o tamanho reduzido Isso torna possiacutevel adicionar mais funcionalidades tais como melhorar a possibilidade de virtualizaccedilatildeo integrar redes sem fio ou ter multiplos nuacutecleos para processar vaacute-rias instruccedilotildees ao mesmo tempo Mas para que essas novas funcionalidades faccedilam diferenccedila o software precisa ser escrito ou modificado para utilizaacute-la O Software Enabling eacute a atividade de ajudar a escrever esse software

Entatildeo como fazemos isso acon-tecer Vamos ver como geralmente acontece trabalhando com empresas de coacutedigo fechado

No radarQuando o software tem uma boa base de usuaacuterios ou um bom propoacutesito ele pode aparecer no radar da companhia de hardware Quando a empresa de software jaacute pode ter um relacionamento com a empresa de hardware e jaacute estaacute no

radar Os dois lados hardware e software comeccedilam a conversar O primeiro pas-so geralmente eacute assinar um acordo de confidencialidade ndash NDA ndash que defina os limites sobre as informaccedilotildees com-partilhadas Entatildeo os engenheiros de ambas empresas comeccedilam a trabalhar no projeto para o qual foram designa-dos O tamanho desse time depende do projeto das empresas envolvidas da base de usuaacuterios que se deseja al-canccedilar e de outros fatores Depois de algum tempo a empresa de software finalmente termina de escrever o coacute-digo e comeccedila a vendecirc-lo Pode exis-tir alguma campanha em conjunto em que as duas empresas invistam algum dinheiro em marketing para mostrar o resultado daquele coacutedigo Algumas vezes isso traz os resultados esperados e outras vezes natildeo mas eacute assim que funciona

Poreacutem existe outra maneira de fazer esse mesmo processo Quando uma companhia de hardware se aproxima de uma empresa de software aberto elas podem assinar um contrato de confidencialidade tambeacutem dependen-do dos projetos em que essas empresas trabalham Mas quando uma empresa de hardware quer se aproximar de uma comunidade relacionada a um projeto em particular natildeo existe uma pessoa para assinar um NDA por todos e isso nem faria sentido Pela natureza do Coacutedigo Aberto as informaccedilotildees sobre o projeto tambeacutem satildeo abertas Qual-quer bom projeto tem pelo menos uma lista de afazeres ndash TODO ndash em que eacute

possiacutevel verificar quais as prioridades para o projeto e quais os planos futu-ros Alguns projetos mais maduros tecircm um planejamento um roadmap Um bom projeto tambeacutem tem um sistema de rastreamento de falhas em que as pessoas podem relataacute-las verificar o seu estado saber como corrigir um proble-ma em particular e ateacute como ajudar a resolver alguns desses problemas Entatildeo quando se aproxima desses projetos qualquer um jaacute tem uma boa ideacuteia do funcionamento dele antes mesmo de falar com os responsaacuteveis

Digamos que com essas informa-ccedilotildees a empresa de hardware tenha decido que aquele projeto era inte-ressante e que valeria a pena traba-lhar com os desenvolvedores Entatildeo a empresa comeccedila a se engajar com alguns dos principais engenheiros que podem apontar quais pessoas tecircm possibilidade de dedicar tempo a trabalhar com seu hardware Eles provavelmente vatildeo precisar de ajuda no comeccedilo e entatildeo a empresa pode providenciar alguns sistemas para teste acesso a documentaccedilatildeo e ajuda espe-cializada dos seus engenheiros

ColaboraccedilatildeoMas logo um dos melhores aspectos do Coacutedigo Aberto comeccedila a mostrar-se enquanto outros engenheiros natildeo apenas os da empresa comeccedilam a aprender sobre como lidar com o hardware podem ajudar outras pessoas no projeto a aprenderem tambeacutem E esse esforccedilo tambeacutem

Julia

Eis

enb

erg

- w

ww

sxc

hu

copy Linux New Media do Brasil Editora Ltda

27

| CORPORATESoftware Enablement

Linux Magazine 42 | Maio de 2008

aumentaraacute a base de conhecimen-to e o nuacutemero de profissionais com esse conhecimento

Depois disso podemos ter um software preparado para mostrar as novas capacidades do seu hardware Quem entatildeo vai distribuir esse soft-ware Primeiramente os projetos sempre tecircm seu proacuteprio website Provavelmente os usuaacuterios desse software tambeacutem iratildeo querer testar essa nova versatildeo e entatildeo automati-camente eacute criada uma nova base de usuaacuterios A blogosfera jaacute provou ser poderosa para espalhar novas ideacuteias e natildeo eacute incomum desenvolvedores de software falarem em que andam trabalhando ou o que vecircm testando Aleacutem de divulgar suas atividades isso tambeacutem ajuda na documentaccedilatildeo E se vocecirc ainda conseguir ajudaacute-los a integrar este a outros projetos em que estejam trabalhando melhor ainda Os custos para esse tipo de aproxima-ccedilatildeo satildeo consideravelmente menores em relaccedilatildeo ao modelo anterior e o

nuacutemero de especialistas na plataforma aumentou consideravelmente

Interesse em softwareTodavia haacute algo que muitas empre-sas natildeo entendem por que os de-senvolvedores de Coacutedigo Aberto se importariam com o hardware Bem essa eacute uma parte bastante delicada mas cabe agraves empresas demonstra-rem Isso requer bastante humildade afinal de contas o projeto em ques-tatildeo chegou ao sucesso mesmo sem apoio da empresa Tentar dar ordens certamente natildeo vai funcionar nem usar a sua grande e poderosa marca como se eles devessem ser gratos pela empresa ter-se interessado O mais importante eacute que o produto precisa ser bom Quando se trata dos desenvolvedores principais estamos falando de profissionais altamente qualificados que construiacuteram um projeto suficientemente bom para chamar a atenccedilatildeo de uma grande empresa Entatildeo maquiar os pro-

blemas de um produto ou inventar recursos que natildeo existem ou natildeo fun-cionam natildeo vatildeo render pontos para o produto A honestidade eacute sempre valorizada esse eacute um ponto muito importante e vale a pena reforccedilar Se vocecirc fizer isso pode conquistar valiosos aliados para os projetos que tambeacutem apreciam serem re-conhecidos por marcas admiradas mas somente se isso natildeo custar a integridade do projeto

Algumas empresas falharam porque tentaram dizer o que os desenvolvedores deveriam fazer ou mudar os objetivos do projeto ou mexer com as suas razotildees ideoloacute-gicas ndash eles acreditam em Coacutedigo Aberto natildeo se esqueccedila disso

Sobre o autorSulamita Garcia eacute Gerente de Estrateacutegia Linux e Open Source para Ameacuterica Latina da Intel e uma das coordenadoras do gru-po Linux Chix

copy Linux New Media do Brasil Editora Ltda

28

CORPORATE

httpwwwlinuxmagazinecombr

Entrevista com Theron Morato responsaacutevel pela aacuterea de Iniciativas Estrateacutegicas em eSOA da SAP Brasil

100 de serviccediloA SAP estaacute reestruturando sua arquitetura para incorporar a disciplina da SOA agraves suas ofertas Veja o que esse novo paradigma significa para a empresapor Pablo Hess

A disciplina da arquitetura orientada a serviccedilos (SOA) demanda o contato entre os

funcionaacuterios de TI e os responsaacuteveis pelos negoacutecios A alematilde SAP faz isso haacute anos e tem reconhecimento internacional por suas soluccedilotildees A Linux Magazine conversou com Theron Morato responsaacutevel pela aacuterea de iniciativas estrateacutegicas em eSOA da SAP Brasil a respeito das

accedilotildees da empresa no campo de SOA e sua relaccedilatildeo com padrotildees abertos e o Coacutedigo AbertoLinux Magazineraquo Qual a importacircncia do mercado de SOA para os negoacute-cios da SAPTheron Moratoraquo Extremamente im-portante Haacute pelo menos trecircs anos a SAP vem investindo fortemente para redesenhar sua arquitetura e assimilar integralmente o conceito de SOA em suas soluccedilotildees aleacutem de participar ativamente de iniciativas de padronizaccedilatildeo linguagens de especificaccedilatildeo de processos e ofe-recer todas as suas soluccedilotildees como serviccedilos Hoje podemos dizer que a empresa tem uma estrateacutegia soacute-lida e estruturada de enterprise SOA (eSOA)

LMraquo Qual eacute a estrateacutegia da SAP para o mercado de SOA Que tipo de parcerias a empresa tem firmado nessa aacutereaTMraquo A estrateacutegia que desenvolve-mos trabalha com uma semacircntica de negoacutecios que tem mais sentido para o analista de negoacutecios sem o vieacutes teacutecnico Isso natildeo significa que a tecnologia natildeo seja importante mas para o puacuteblico que mais se beneficia

do SOA que vem das aacutereas de negoacute-cios a tecnologia que implementa os conceitos da arquitetura orientada a serviccedilos deve ser transparente

A necessidade de uma semacircntica de negoacutecios se justifica principalmen-te porque natildeo basta termos apenas os agrupamentos de Web Services proxies e interfaces pois nem sempre a inte-graccedilatildeo desses elementos eacute a melhor maneira de solucionar um desafio de negoacutecios As parcerias firmadas vecircm sendo feitas em todos os niacuteveis de fornecedores de hardware a fornece-dores de soluccedilotildees complementares agraves soluccedilotildees da SAPLMraquo Com a disciplina do SOA em voga atualmente quais as expecta-tivas da SAP para esse mercado nos proacuteximos anos

TMraquo Nos uacuteltimos trecircs anos os ar-quitetos e consultores da SAP tecircm prestado serviccedilos relativos a dife-rentes aspectos do SOA entre eles o roadmap de eSOA Trata-se do desenho de soluccedilotildees de novos pro-cessos de negoacutecios com a visatildeo de que eles seratildeo reutilizaacuteveis e teratildeo vantagens quando implementados com a disciplina do SOA Com tudo isso pronto nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios com uma plataforma abrangente de serviccedilosLMraquo Como eacute a relaccedilatildeo da SAP com os fornecedores de componentes para a infra-estrutura de SOA como sistema operacional e middleware especifi-camente os de Coacutedigo AbertoTMraquo A SAP tem uma relaccedilatildeo de par-ceria com a Novell para que nossos sistemas possam utilizar como base o sistema operacional SUSE Linux Enterprise o qual jaacute eacute empregado inclusive nas aplicaccedilotildees BIAccelera-tor e Enterprise Search em parceria com a HP IBM e IntelLMraquo Qual a relaccedilatildeo entre Coacutedigo Aber-to (incluindo padrotildees abertos) e SOA Como a SAP apoacuteia essas iniciativasTMraquo A SAP estaacute alinhada aos padrotildees e ferramentas de desenvolvimen-to abertas como Eclipse Struts Hibernate e linguagens de script Nosso objetivo com isso eacute facilitar o envolvimento de desenvolvedores Java e SOA na estrutura de enterprise SOA da SAP e no SAP BPP (Business Process Platform)

Nossa expectativa eacute de que as soluccedilotildees eSOA da SAP iratildeo ajudar de forma realmente efetiva as corporaccedilotildees a superar seus desafios de negoacutecios

copy Linux New Media do Brasil Editora Ltda

29Linux Magazine 42 | Maio de 2008

CORPORATE

Green IT soluccedilotildees para as empresas de TI

Cezar TaurionO consumo de energia dos computadores jaacute estaacute recebendo uma maior parcela de atenccedilatildeo que no passado o que pode ajudar o Linux a se destacar no mercadopor Cezar Taurion

O tema ldquoGreen ITrdquo estaacute comeccedilando a ser debatido na miacutedia e em algumas ainda esparsas conversas sobre TI Ele jaacute faz

parte da agenda de diversos eventos importantes e o uacuteltimo CeBIT foi tambeacutem palco de vaacuterios anuacutencios mostrando a preocupaccedilatildeo crescente das empresas com as questotildees ecoloacutegicas Foi inclu-sive criada uma ldquoGreen IT Villagerdquo um saguatildeo dedicado inteiramente agraves discussotildees ecoloacutegicas e agrave exposiccedilatildeo de produtos que jaacute usam soluccedilotildees de economia de energia e materiais menos agressivos ao meio ambiente

Mas por que tanta atenccedilatildeo em torno do Green IT Nosso planeta estaacute ameaccedilado pelo aquecimento global Noacutes jaacute impusemos tensotildees cada vez maiores ao finito e limitado meio ambiente ultrapassando a sua capacidade de se sustentar Jaacute consumimos 25 mais recursos naturais a cada ano do que o planeta eacute capaz de repor E nesse ritmo em 2050 estaremos consumindo mais que o dobro da capa-cidade da Terra

E a TI natildeo fica fora do consumo de energia Agrave medida que os servidores se tornam mais poderosos demandam mais energia e nos EUA jaacute representam cerca de 12 de todo o consumo de eletricidade

O Gartner Group cita que em 2010 cerca de metade das empresas listadas na relaccedilatildeo Forbes 2000 estaratildeo gastando mais dinheiro com energia que com seus computadores Seu estudo diz ainda que em meacutedia entre 30 e 60 da energia demandada em um datacenter eacute desperdiccedilada E lembra que a TI estaacute hoje como a induacutestria automotiva estava haacute 20 anos comeccedilando a ser pressionada por maior eficiecircncia energeacutetica

Diante desse quadro os analistas comeccedilam a cha-mar atenccedilatildeo para o gasto com energia (dos servidores e dos equipamentos de refrigeraccedilatildeo) e dizem que em breve os CFOs estaratildeo bem mais preocupados com o assunto Alguns paiacuteses estatildeo comeccedilando a estudar legislaccedilotildees que visem a incentivar e em al-guns casos mesmo a obrigar os datacenters a serem

mais eficientes no consumo de energia Com cer-teza o tema vai se tornar cada vez mais importante nos proacuteximos anos

Na minha opiniatildeo temos as condiccedilotildees de uma ldquoPerfect Stormrdquo que vai disparar accedilotildees ldquoverdesrdquo O termo ldquoPerfect Stormrdquo significa a ocorrecircncia si-multacircnea de eventos que se tornam muito mais poderosos e impactantes quando combinados Esses eventos satildeo a crescente conscientizaccedilatildeo da realidade do aquecimento global os crescentes custos de energia e as crescentes mudanccedilas e demandas regulatoacuterias no mundo todo Isolados esses eventos tecircm certo impacto mas quando combinados deveratildeo gerar uma tendecircncia irre-sistiacutevel em direccedilatildeo a uma TI Verde

Imagino que em poucos anos (talvez jaacute em 2010) o tema Green IT sairaacute do campo da curiosidade para se tornar mainstream item obrigatoacuterio na agenda de qualquer gestor de TI

Entre as tecnologias que vatildeo ganhar muito im-pulso nesse contexto citamos a virtualizaccedilatildeo e consolidaccedilatildeo de servidores e datacenters Tambeacutem a discussatildeo sobre thin clients versus PCs completos comeccedilaraacute a ter outro apelo

E onde entra o Linux nessa histoacuteria Entra com muita forccedila nas tecnologias acima Soacute para termos uma ideacuteia da importacircncia do tema a Li-nux Foundation criou uma iniciativa especiacutefica acessiacutevel em httpwwwlinux-foundationorgenGreen_Linux Com isso imagino que o Linux te-nha grandes chances de se tornar um verdadeiro sistema operacional ldquoverderdquo aumentando seu niacutevel de utilizaccedilatildeo mundial

Sobre o autorCezar Taurion (ctaurionbribmcom) eacute diretor de novas tecnologias aplicadas da IBM Brasil e editor do primeiro blog da Ameacuterica Latina do Portal de Tecnologia da IBM developerWorks www-03ibmcomdeveloperworksblogspagectaurion

copy Linux New Media do Brasil Editora Ltda

30

CORPORATE

httpwwwlinuxmagazinecombr

Reflexotildees sobre o desenvolvimento do Coacutedigo Aberto

Ricardo BimboO recente estudo da Linux Foundation sobre o desenvolvimento do kernel Linux indica a participaccedilatildeo de empresas mas eacute errado imaginar que os tradicionais voluntaacuterios estejam desaparecendopor Ricardo Bimbo

Uma recente pesquisa divulgada pela Linux Foundation[1] sobre o desenvolvimento do kernel chamou a atenccedilatildeo de diversos blogs

e sites de notiacutecia para a participaccedilatildeo de funcionaacuterios de empresas dedicados ao dia-a-dia das atividades de manutenccedilatildeo correccedilatildeo e desenvolvimento do kernel Linux Algo como 10000 patches da atual versatildeo 26 envolveram 1000 colaboradores e 100 companhias contra 3700 colaboradores individuais e mais de 200 empresas em 2005

A presenccedila cada vez maior de empresas com cola-boradores dedicados ao trabalho no kernel evidencia as companhias que tecircm hoje no Linux a principal ou uma das principais fontes de receita Red Hat IBM Intel Novell e a proacutepria Linux Foundation juntas com os usuaacuterios do Linux estatildeo na linha de frente do trabalho de manutenccedilatildeo do kernel

Isso demonstra que o desenvolvedor solitaacuterio independente estaacute no fim Todos estatildeo vendendo sua forccedila de trabalho intelectual Natildeo A conclu-satildeo do estudo da Linux Foundation daacute uma dica a esse respeito ldquoO kernel Linux eacute um dos projetos de Coacutedigo Aberto melhor sucedidosrdquo Existem outros projetos tambeacutem de extrema grandeza ndash como Apa-che BrOfficeorg Firefox Gnome KDE MySQL e PostgreSQL ndash que disputam o tempo de vaacuterios desenvolvedores e tecircm a participaccedilatildeo de empresas Isso sem contar os projetos de distribuiccedilotildees como Fedora e Debian aleacutem dos mais de 170 mil projetos ativos no SourceForge[2] e de um incontaacutevel nuacuteme-ro de projetos em outros repositoacuterios

O SourceForge sozinho possui quase dois mi-lhotildees de usuaacuterios registrados e eacute um erro imaginar-mos que sejam todos programadores Natildeo eacute difiacutecil encontrar chamadas solicitando a participaccedilatildeo de gerentes de projetos especialistas em processos especialistas em economia contabilidade recursos humanos e uma infinidade de outras especializaccedilotildees e conhecimentos

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores E muitas vezes esses ldquovoluntaacuteriosrdquo sentem-se mais eficazes atuando em projetos que tecircm uma aplicabilidade no meio em que convivem ou em projetos que possam dar sua contribuiccedilatildeo dife-renciada seja para destacar-se em seu ambiente ou soacute por prazer mesmo

Isso demonstra claramente mais uma vantagem do Coacutedigo Aberto e do desenvolvimento compar-tilhado Natildeo importam os motivos que levem uma pessoa a participar ou trabalhar em um projeto a curva de participaccedilatildeo de empresas e seus co-laboradores estaacute deliberadamente vinculada agraves curvas de crescimento do projeto e ao nuacutemero de usuaacuterios Isso reordena o processo produtivo e de desenvolvimento de negoacutecios abrindo um leque de novas oportunidades

Mais informaccedilotildees

[1] Estudo da Linux Foundation httpswwwlinux-foundationorgpublicationslinuxkerneldevelopmentphp

[2] Sourceforge httpwwwsourceforgenet

O que natildeo falta satildeo projetos que disputam a atenccedilatildeo e a dedicaccedilatildeo de desenvolvedores

Sobre o autorRicardo Bimbo eacute Government Relations da Red Hat Brasil e defen-de a ideacuteia de que todo o conhecimento deve ser compartilhado

copy Linux New Media do Brasil Editora Ltda

LPIindd 1 261107 163706

copy Linux New Media do Brasil Editora Ltda

32

CORPORATE

httpwwwlinuxmagazinecombr

Como o PVM influi no mundo BPM

Edgar SilvaA modelagem de processos de negoacutecios pode beneficiar-se muito do uso do PVM ndash Process Virtual Machinepor Edgar Silva

Quando falamos em Business Process Modeling um dos diversos significados de BPM frequumlentemente nos depara-

mos com vaacuterias questotildees importantes Destas podemos destacar algumas Qual linguagem de processo utilizar A linguagem escolhida suporta as necessidades

reais de uma forma-padratildeo Como fazer com que de fato uma mudanccedila

no modelo de negoacutecio se reflita no mecanismo de execuccedilatildeo dos serviccedilos da empresa

As respostas para essas questotildees pairam como um desafio para os arquitetos e engenheiros de software nos dias de hoje Como o segredo da induacutestria estaacute na padronizaccedilatildeo nada mais oacutebvio que investir em um trabalho colaborativo que beneficie tanto as empresas quanto as comunidades de Software Livre e claro os clientes finais

Uma novidade no mundo BPM eacute o PVM (Process Virtual Machine ou Maacutequina Virtual de Processos) que vou abordar neste artigo

A induacutestria tem buscado aplicar os conceitos de workflow e em paralelo diagramas de estado e outras formas de diagramaccedilatildeo vecircm sendo apresentados ao mercado diariamente Entretanto ainda se percebe um abismo entre o ldquodesenhordquo e a ldquoexecuccedilatildeordquo dos fluxos Em sua nova roupagem os workflows ago-ra mais conhecidos como BPM tentam aproximar esses dois pilares O objetivo do PVM eacute promover uma forma-padratildeo de criar metadados padronizados de tudo que eacute comum a um fluxo um workflow ou uma maacutequinadiagrama de estado

Imagine uma foto Ela possui vaacuterias informa-ccedilotildees de metadados como fabricante e dia e hora em que foi tirada Haacute sites como o Flickr[1] que conseguem ler e apresentar esses dados in-dependendo do fornecedor desde que utilizem esses padrotildees Essa eacute mais ou menos a ideacuteia da PVM Entre seus objetivos estaacute a abstraccedilatildeo geral de qualquer tipo de fluxo e sua possiacutevel lingua-

gem de definiccedilatildeo A PVM eacute a abstraccedilatildeo por traacutes de qualquer modelo ou linguagem que a defi-niu Dessa forma natildeo importa a linguagem de construccedilatildeo do fluxo porque no final todos po-deratildeo ser lidos e gerar uma uacutenica visatildeo de fluxo dentro da PVM

O mercado tem apontado inuacutemeras linguagens para definiccedilatildeo dos processos como BPEL[2] XPDL[3] jPDL e RulesFlow entre outras Espera-se agora que haja interoperabilidade dos serviccedilos dentro de uma Arquitetura Orientada a Serviccedilos (SOA) E por que natildeo pensar tambeacutem na interoperabilidade entre diversos modelos de processos em diferentes linguagens cooperando e colaborando na execuccedilatildeo de fluxos de processos de negoacutecio

Para concluir o aspecto mais interessante do PVM eacute a total separaccedilatildeo do desenho da execuccedilatildeo e de suas linguagens Isso com certeza eacute um marco muito importante para a concepccedilatildeo de mecanismos de processos o que soacute vai agregar valor agraves vaacuterias so-luccedilotildees que utilizam os recursos e os conceitos de workflow e de BPM

Mais informaccedilotildees

[1] Flickr httpwwwflickrcom

[2] BPEL na Wikipeacutedia httpenwikipediaorgwikiBPEL

[3] XPDL httpwwwwfmcorgstandardsxpdlhtm

Sobre o autor

Edgar Silva (edgarsilvaredhatcom) eacute Arquiteto de Soluccedilotildees JBoss na Red Hat Brasil Com experiecircncia em obje-tos distribuiacutedos (Corba COM+ e Java) desde 1998 nos uacuteltimos anos Edgar vem pesquisando aplicando e ministrando pales-tras e treinamentos no Brasil e no exterior sobre assuntos de alta tecnologia incluindo JavaEE e SOA

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

SOA explicada

Sirva-se com softwareSoftware e serviccedilo agora satildeo com frequumlecircncia a mesma coisa A arquitetura orientada a serviccedilos proporciona o funcionamento adequado de todos os componentespor Pablo Hess

Softwares multi-plataforma jaacute estatildeo no mercado haacute tempos As linguagens de programaccedilatildeo ditas ldquode scriptrdquo por exemplo como Perl Python

Ruby e Tcl para citar apenas as mais populares satildeo capazes de executar instruccedilotildees em qualquer plata-forma que possua uma versatildeo de seu interpretador inclusive com vistosas interfaces graacuteficas

A oferta da Sun Microsystems o Java vai um passo aleacutem oferecendo toda uma maacutequina virtual que trata de toda a interaccedilatildeo com o sistema opera-cional subjacente o que facilita ainda mais a cria-ccedilatildeo de softwares multi-plataforma Atualmente com os sistemas de Coacutedigo Aberto ndash como o Linux ndash aumentando sua presenccedila no mercado mas com outros sistemas Unix e Windowsreg tambeacutem presentes de forma significa-tiva eacute cada vez

CA

PA

34 httpwwwlinuxmagazinecombr

mais importante que os softwares corporativos sejam capazes de rodar em muacuteltiplas plataformas

Tamanha eacute a importacircncia disso ndash e do Java nessa foacutermula ndash que a Sun chegou ateacute mesmo a alterar seu coacutedigo de quatro letras usado na bolsa NASDAQ de SUNW para JAVA sugerindo que a relevacircncia da lin-guagem hoje eacute superior agrave tradiccedilatildeo da empresa no ramo de workstations

No entanto mesmo com uma maacutequina virtual prati-camente onipresente nos desktops e servidores atuais haacute dificuldades para distribuir softwares multi-plataforma que dependam de extensotildees ou bibliotecas externas ao nuacutecleo da linguagem Lidar com a instalaccedilatildeo desses

componentes pode ser muito faacutecil para adminis-tradores de sistemas mas com frequumlecircncia

os usuaacuterios natildeo-teacutecnicos satildeo prejudi-cados nessa tarefa

Iacutendice de mateacuterias de capaBem arquitetado paacuteg36Clientes espalhados servidores distribuiacutedos paacuteg40Quase faz cafeacute paacuteg44

copy Linux New Media do Brasil Editora Ltda

ServiccedilosQue tal entatildeo atribuirmos ao administrador a tarefa de instalar o software e todos os compo-nentes requeridos por ele Com isso o usuaacuterio precisaria apenas apontar seu navegador web para a URL do software que localizado no servidor seria executado sem dificuldades e sem necessi-dade de instalaccedilatildeo pelo usuaacuterio

Felizmente essa abordagem ainda traz vanta-gens adicionais Eacute possiacutevel por exemplo utilizar os poderosos componentes da linguagem criada pela Sun para implementar clusters de alta dis-ponibilidade ou alto desempenho permitindo assim que os usuaacuterios desfrutem do software de forma ininterrupta e com desempenho inega-velmente superior ao que seria possiacutevel em seu hardware local

Essa abordagem para a oferta de softwares jaacute eacute usada haacute algum tempo e um de seus exemplos mais populares eacute o Google Docs[1] um conjunto de aplicativos de escritoacuterio disponiacutevel online e gratuitamente para qualquer usuaacuterio Com ele uma pessoa com acesso agrave Internet pode se desfa-zer da necessidade de baixar ou adquirir softwares equivalentes ndash ou quase equivalentes ndash como o BrOfficeorg[2] ou o Microsoft Office

Mais informaccedilotildees

[1] Google Docs httpdocsgooglecom

[2] BrOfficeorg httpwwwbrofficeorg

NomesO software como serviccedilo ou SaaS na sigla em inglecircs eacute tambeacutem uma nova forma de comerciali-zaccedilatildeo de softwares inclusive de Coacutedigo Aberto E a arquitetura necessaacuteria agrave implantaccedilatildeo e desenvol-vimento de softwares sob esse princiacutepio eacute a Arqui-tetura Orientada a Serviccedilos ou SOA

Como vocecirc veraacute nos artigos desta ediccedilatildeo da Linux Magazine a SOA propotildee a infra-estrutura e tambeacutem as diretrizes para que softwares sejam executados como serviccedilos e comuniquem-se uns com os outros de forma semelhante ao que ocorre num sistema operacional tradicional com comunicaccedilatildeo entre processos e biblio-tecas e outros componentes compartilhados

Nas paacuteginas a seguir apresentamos a visatildeo da construccedilatildeo de aplicativos como serviccedilos uma anaacutelise dos princiacutepios da SOA e a plataforma de desenvol-vimento NovaForge fortemente inclinada agrave oferta de softwares como serviccedilo

Boa leitura e bom serviccedilo

Linux Magazine 42 | Maio de 2008 35

SOA explicada | CAPA

copy Linux New Media do Brasil Editora Ltda

36

CA

PA

httpwwwlinuxmagazinecombr

SOA sobre JBoss

Bem arquitetadoA plataforma de SOA da Red Hat oferece alguns componentes eficazes sobre seu servidor de aplicaccedilotildees JBoss Conheccedila-os em detalhespor Edgar Silva

Eacute faacutecil imaginarmos um liacuteder ou gerente de TI fugindo desesperadamente ao ou-

vir a pergunta ldquoO que eacute SOArdquo Embora a resposta simples e direta seja a explicaccedilatildeo da sigla Service Oriented Architecture eacute importante lembrar de que muito mais que orientados a serviccedilos devemos estar orientados para os serviccedilos Partindo desse sentido devemos associar toda essa visatildeo dos servi-ccedilos como agentes impulsionadores de negoacutecios

Um serviccedilo a grosso modo eacute um componente que pode ser reutilizado independentemente de tecnologias departamentos ou empresas Ao mesmo tempo que pode ser geneacuterico ele pode tam-beacutem ser especiacutefico agraves necessida-des e demandas de uma empresa

Quando falamos de SOA eacute um ligeiro engano acreditar que basta entatildeo transformar tudo em Web Services e ndash pronto ndash sua empresa estaacute 100 aderente a SOA Isso pode ser um passo que inclusi-ve leva a questotildees que preparam para os seguintes Ter as peccedilas separadas e isoladas natildeo faz um motor de carro funcionar todas as engrenagens ordens de acon-tecimentos (orquestraccedilatildeo) regras sequumlecircncia de accedilotildees (processos) devem ser previstas para que o conjunto possa funcionar

Quando falamos de SOA eacute importante lembrar que vaacuterios sis-temas ERP no Brasil satildeo legados portanto natildeo possuem aderecircncia a Web Services assim como fal-tam formas de integraccedilatildeo das mais diversas desde a transferecircncia de

arquivos FTP email e ateacute o acesso a banco de dados

A divisatildeo JBoss da Red Hat tem o JBoss SOA Platform como plata-forma voltada para SOA que reuacute-ne em um uacutenico pacote algumas soluccedilotildees descritas abaixo BPM JBoss jBPM Engine de regras JBoss Rules ESB JBoss ESB Persistecircncia de dados JBoss

Hibernate Framework de desenvolvi-

mento de aplicaccedilotildees JBoss Seam

Servidor de aplicaccedilotildees JBoss Application Server

Vale ressaltar que embora o JBoss Application Server sustente todas essas soluccedilotildees de produtos eacute possiacutevel usar qualquer servidor de aplicaccedilatildeo de outros fornecedores

copy Linux New Media do Brasil Editora Ltda

37

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

como IBM WebSphere Oracle AS ou BEA WebLogic Isso soacute eacute possiacute-vel graccedilas aos padrotildees abertos que permitem ao cliente escolher os produtos que melhor supram suas necessidades

A seguir descreveremos cada um dos componentes da platafor-ma SOA oferecidos pela Red Hat sobre seu servidor de aplicaccedilotildees de Coacutedigo Aberto

Servidor de aplicaccedilotildeesO JBoss Application Server eacute a infra-estrutura para a plataforma SOA da Red Hat Com cerca de oito anos de presenccedila no merca-do ele constitui o alicerce que permite executar os outros produ-tos visando a alta performance escalabilidade e seguranccedila para o serviccedilo dos clientes

Robustez no entanto natildeo eacute si-nocircnimo de dificuldade de instala-ccedilatildeo execuccedilatildeo e utilizaccedilatildeo Caso o servidor jaacute possua uma maacutequina virtual Java instalada e confi-gurada basta descompactar os pacotes dos componentes disponiacuteveis no site de proje-tos do JBoss[1] Em seguida vaacute ateacute o subdiretoacuterio bin dentro do diretoacuterio de ins-talaccedilatildeo do JBoss e execute o comando run (em sistemas Windowsreg) ou runsh (em Linux Solaris ou outras va-riantes de Unix) Feito isso o JBoss estaraacute pronto para a instalaccedilatildeo dos seus aplica-tivos Java EE Eacute claro que poderaacute haver necessidade de instalaccedilatildeo de recursos de bancos de dados (Datasour-ces) ou filas JMS Nesse caso e se houver maior interesse informaccedilotildees a respeito destes recursos estatildeo disponiacuteveis na documentaccedilatildeo gratuita do produto

JBoss HibernateA tarefa de construir aplicaccedilotildees Java que se comuniquem com bancos de dados pode ser extremamente facilitada com o uso de uma fer-ramenta ldquomodelo-relacionalrdquo ou ORM como o Hibernate Dentre suas inuacutemeras vantagens podemos citar o fato de que todo o desen-volvimento passa a ser de fato orientado a objetos Isso significa que comandos SQL como insert into update e outros pertencem ao passado dando lugar a procedi-mentos ocorridos inteiramente no ambiente da aplicaccedilatildeo cria-se uma estrutura baseada em um objeto do tipo ldquoclienterdquo e solicita-se que um recurso de sessatildeo (SessionFactory) o salve Nesse momento o Hiber-nate entre suas vaacuterias funccedilotildees conhece a relaccedilatildeo entre o mode-lo de objetos e as informaccedilotildees da estrutura de tabelas do banco de dados Sendo assim caberaacute a ele natildeo mais ao desenvolvedor a ta-refa aacuterdua de lidar com a falta de produtividade da linguagem SQL

a todo momento durante a cons-truccedilatildeo de sistemas

Essa caracteriacutestica do Hibernate tambeacutem eacute fundamental para que as aplicaccedilotildees sejam independentes do servidor de banco de dados Desse modo pode-se trocar de sistema ge-renciador de banco sem aquela antiga preocupaccedilatildeo com o funcionamento de instruccedilotildees SQL em diferentes bancos de dados Portabilidade de fornecedores de bancos de dados e produtividade no desenvolvimento de aplicaccedilotildees satildeo importantes para termos respostas raacutepidas agraves deman-das ocasionadas por uma arquitetura orientada para o serviccedilo

JBoss SEAMQuando algueacutem criticava o Java no passado um dos motivos era o grande nuacutemero de camadas de componentes para realizar uma operaccedilatildeo Em alguns casos o exa-gero de implementaccedilatildeo dos pa-drotildees de projeto (design patterns) ocasionava uma arquitetura com-

Figura 1 Ambiente de projeto de processos do JBoss jBPM

copy Linux New Media do Brasil Editora Ltda

38 httpwwwlinuxmagazinecombr

CAPA | SOA com JBoss

plexa e aplicaccedilotildees sujeitas a erros claacutessicos Pessoalmente ao longo de anos prestando consultoria em frameworks sofisticados perdi a conta de quantas vezes nossa equi-pe encontrou problemas ao fechar conexotildees de bancos de dados ou invocar sem necessidade a consulta de contexto de objetos etc

O Java evoluiu muitiacutessimo nos uacuteltimos anos permitindo a criaccedilatildeo de recursos muito mais estaacuteveis e modernos O resultado foi o surgi-mento de frameworks como o JBoss Seam que reuacutenem em uma uacutenica soluccedilatildeo todo o necessaacuterio para criar aplicaccedilotildees corporativas nos mode-los Web 20 e aderentes a SOA O Seam utiliza como infra-estrutura tecnologias estabelecidas como o Enterprise Java Beans 30 e Java Server Faces aleacutem de toda a riqueza proporcionada pelo Ajax

JBoss jBPMO JBoss jBPM eacute um projeto que resulta em um produto muito mais que em uma soluccedilatildeo de

BPMS (Business Process Manage-ment System) Ele satisfaz tanto aos analistas de negoacutecios quanto aos engenheiros de software pois muito mais que oferecer uma fer-ramenta de desenho para modelar negoacutecios e serviccedilos possui um framework completo para geren-ciamento monitoraccedilatildeo e controle de todas as fases dos fluxos dentro do processo

Como novidade as proacuteximas versotildees do jBPM devem trazer a implementaccedilatildeo do conceito PVM (Process Virtual Machine ndash Maacutequina Virtual de Processos) que em resumo eacute um framework de maacutequina de estado Poreacutem o propoacutesito da PVM vai muito aleacutem disso permite por exemplo abs-trair a linguagem de composiccedilatildeo do desenho de processos Com isso espera-se poder ter inuacutemeras linguagens para definiccedilatildeo como BPEL jPDL XPDL e Seam Page Flow A PVM seraacute capaz de rende-rizar de forma visual os processos definidos independente da lin-guagem empregada

Entre as caracteriacutesticas principais do JBPM estaacute sua possibilidade de execuccedilatildeo sobre qualquer servidor de aplicaccedilotildees Java ou alternati-vamente como serviccedilo Java standalone ndash sem um servidor de aplicaccedilotildees Tambeacutem pode manter os dados a respeito de versotildees e execuccedilotildees dos processos em qualquer banco de dados A figura 1 mostra uma visatildeo do ambiente de projeto e gerenciamento do JBoss jBPM

JBoss RulesO JBoss Rules ou Drools (seu nome na versatildeo co-munitaacuteria) eacute um produto notaacutevel cujas principais caracteriacutesticas satildeo

baixo custo de suporte e au-secircncia de custo de licenccedilas como seus concorrentes

marcante evoluccedilatildeo de versatildeo para versatildeo com estabilidade confiaacutevel

membros brasileiros na equipe de desenvolvimento

Sobre a motivaccedilatildeo para utilizar esse software eacute importante notar que as regras de negoacutecios satildeo os ativos mais alterados dentro de uma arquitetura SOA Respostas raacutepidas e cenaacuterios especiais podem ser alcanccedilados com facilidade separando a maioria das regras de coacutedigos de infra-estrutura e a aplicaccedilatildeo propriamente dita

Realizar alteraccedilotildees em uma aplicaccedilatildeo Java muitas vezes pode ocasionar a perda de tempo para testar novamente todas as partes afetadas pela mudanccedila da rede Poreacutem esse natildeo eacute o grande pro-blema muitos ambientes criacuteticos de produccedilatildeo podem ter a neces-sidade de reinicializaccedilatildeo Usando JBoss Rules a alteraccedilatildeo de uma regra exigiria apenas a alteraccedilatildeo

Figura 2 O editor de regras do JBoss Rules oferece suporte a DSLs em portuguecircs

copy Linux New Media do Brasil Editora Ltda

39

| CAPASOA com JBoss

Linux Magazine 42 | Maio de 2008

do arquivo dessa regra sem a ne-cessidade de tocar no nuacutecleo da aplicaccedilatildeo economizando assim tempo e parte dos testes

As regras de negoacutecio tambeacutem podem possuir seus idiomas proacute-prios ndash um conceito chamado de Domain Specific Language ou DLS que nos permite o uso de jargotildees idiomas expressotildees e dialetos de negoacutecio para compor nossas regras Assim fica mais faacutecil os analistas de negoacutecios comporem as regras no idioma portuguecircs brasileiro

O JBoss Rules pode ser embar-cado em soluccedilotildees de mercado as-sim como executado em qualquer servidor de aplicaccedilotildees Java

Os desenvolvedores tambeacutem dispotildeem de plugins nativos para o Eclipse[2] que permitem o de-senho e o desenvolvimento da escrita de regras O JBoss Rules tambeacutem suporta o desenho de re-gras por meio de diagramas como fluxos de regras Esse recurso tem o nome de RulesFlow e pode ser um guia visual para a execuccedilatildeo de suas regras de negoacutecio ou ajudar a visualizar como possiacutevel orquestrar serviccedilos atraveacutes de regras de ne-goacutecios As figuras 2 e 3 mostram respectivamente o editor de regras em modo de coacutedigo e o ambiente de desenho do RulesFlow

JBoss ESBEm agosto de 2007 a nova versatildeo do JBoss ESB trouxe vaacuterias inova-ccedilotildees e melhorias que fizeram com que seu posicionamento antes ligeiramente atrasado em relaccedilatildeo aos concorrentes de Coacutedigo Aber-to (Apache Service Mix e Mule principalmente) superasse essas alternativas Agora o JBoss ESB compete de igual para igual com soluccedilotildees de fornecedores como BEA Oracle e IBM

O conceito de ESB (Enterprise Service Bus) em termos gerais significa ser o barramento para os serviccedilos que a empresa possui Eacute nele que credenciais de seguran-ccedila single-sign on orquestraccedilatildeo e outras atividades acontecem A questatildeo nesse caso eacute que mui-tos ESBs de mercado pregam que um serviccedilo somente pode ser mascarado ou exposto por meio de um Web Service essa obriga-toriedade no entanto natildeo existe no JBoss ESB jaacute que como prin-cipal diferencial ele ldquoconversardquo com vaacuterios protocolos de registros de serviccedilos

Imagine poder considerar a ge-raccedilatildeo de um arquivo csv vindo do ERP ndash um evento suficiente para disparar vaacuterias atividades dentro da empresa como transformar a

representaccedilatildeo se-parada por virgulas em XML A partir desse XML eacute pos-siacutevel criar objetos Java publicando a partir destes infor-maccedilotildees 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-sas satildeo possiacuteveis com o JBoss ESB

ConclusotildeesEste artigo natildeo tem como objetivo fazer propaganda das soluccedilotildees da Red Hat mas mostrar como essas ferramentas compotildeem uma ofer-ta interessante e altamente capaz de fornecer uma infra-estrutura adequada agrave pratica da SOA em qualquer empresa

O uso dos produtos descritos neste artigo natildeo requer o preenchi-mento de formulaacuterios ou a compra de licenccedilas pois tratam-se todos de Softwares Livres Caso seja ne-cessaacuterio conformar o serviccedilo a um SLA obter garantia ou suporte eacute possiacutevel tambeacutem contratar esses serviccedilos de forma especializada

No Brasil esse modelo parece ser o mais racional jaacute que somente apoacutes investimentos em estudos de viabilidade e adequaccedilatildeo as em-presas escolhem se e como iratildeo contratar suporte

Mais informaccedilotildees

[1] JBoss httpwwwjbossorgprojects

[2] Eclipse httpwwweclipseorg

Figura 3 Interface do editor do Rules Flow que permite o desenho de regras de forma visual

copy Linux New Media do Brasil Editora Ltda

Irum Shahid ndash wwwsxchu

40

CA

PA

httpwwwlinuxmagazinecombr

O desenvolvimento de aplicaccedilotildees e a SOA

Clientes espalhados servidores distribuiacutedos

Como novo paradigma a SOA requer algumas mudanccedilas profundas na forma de projetar implementar e organizar aplicaccedilotildees corporativaspor Antocircnio Godinho

Quando uma nova tecnologia eacute introduzida no mercado uma das principais preocu-

paccedilotildees de qualquer gerente de desenvolvimento eacute perguntar-se ldquoDevo adotar a nova arquiteturardquo ldquoQuais benefiacutecios essa nova soluccedilatildeo traz ao meu ambienterdquo ldquoComo co-meccedilo o processo de adoccedilatildeo da SOA (Service Oriented Architecture)rdquo ldquoO que fazer com as aplicaccedilotildees que jaacute exis-temrdquo e ldquoComo desenvolver aplicaccedilotildees voltadas ao novo ambienterdquo

Avaliar se determinada arqui-tetura ou soluccedilatildeo traz benefiacutecios para nosso ambiente eacute funda-mental Para analisar a primeira questatildeo acima vamos definir al-gumas caracteriacutesticas da arquite-tura orientada a serviccedilos

PrinciacutepiosA base da SOA eacute a definiccedilatildeo do ser-viccedilo que seraacute fornecido Esse servi-ccedilo eacute exposto para seu usuaacuterio com funccedilotildees e interfaces bem definidas eacute independente do consumidor do serviccedilo pode estar codificado em qualquer linguagem e ser executado em qualquer combinaccedilatildeo de plata-forma ou sistema operacional e a in-formaccedilatildeo sobre esse serviccedilo pode ser obtida a partir de algum diretoacuterio na rede Como consequumlecircncia eacute possiacutevel substituir um serviccedilo por uma nova versatildeo executada em outra platafor-ma sistema operacional ou lingua-gem sem afetar o consumidor desse serviccedilo como mostra a figura 1

O consumidor do serviccedilo pode ser o usuaacuterio final ou um outro ser-

viccedilo e dentro do contexto da SOA uma aplicaccedilatildeo eacute um conjunto de provedores de serviccedilos colaborativos residentes ou natildeo em uma mesma plataforma ou organizaccedilatildeo Supondo que a empresa possua vaacuterios sistemas ndash entre pacotes sistemas ERP (En-terprise Resource Planning) e desen-volvimento interno e o usuaacuterio final ndash ao fazer uma consulta precisa de dados fornecidos por diversos desses sistemas Entatildeo temos uma situa-ccedilatildeo na qual a arquitetura facilita o ambiente de desenvolvimento per-mitindo a criaccedilatildeo de uma aplicaccedilatildeo composta que utilizaraacute as aplicaccedilotildees jaacute existentes Cada aplicaccedilatildeo existen-te eacute um potencial provedor de um serviccedilo usado pela nova aplicaccedilatildeo composta como na figura 2

Se considerarmos que atualmen-te cada empresa depende de outras dentro do contexto de mundo globa-lizado e que haacute uma sinergia entre aplicaccedilotildees executadas em diferentes empresas podemos ter um quadro em que uma companhia fornece um serviccedilo para outra e nesse caso o usuaacuterio final pode usar diversos serviccedilos fornecidos por mais de uma empresa Aleacutem disso a abordagem SOA permite o desenvolvimento de novos serviccedilos de forma mais raacutepida uma vez que aproveita serviccedilos jaacute exis-tentes e com maturidade e eficiecircncia

Figura 1 Camadas adotadas em SOA

copy Linux New Media do Brasil Editora Ltda

41

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

comprovadas reduzindo o periacuteodo de testes da nova aplicaccedilatildeo

Iniacutecio da adoccedilatildeoConsiderando que resolvemos ado-tar a SOA precisamos responder a segunda pergunta do gerente de desenvolvimento que diz respeito a como comeccedilar o processo de adoccedilatildeo dessa arquitetura

Como em qualquer novo conhe-cimento o primeiro passo eacute difundir a estrateacutegia O melhor modo de fazer isso eacute por meio de oficinas junto agrave equipe nas quais as tendecircncias de mercado satildeo colocadas e eacute realiza-da uma exposiccedilatildeo das tecnologias existentes Eacute importante tambeacutem alinhar a adoccedilatildeo da SOA com as expectativas ou problemas do negoacute-cio de maneira a criar a motivaccedilatildeo necessaacuteria em toda a equipe

Eacute necessaacuterio ainda fazer um mape-amento desses problemas de negoacutecio assim como das melhores praacuteticas do mercado e das vantagens em adquirir pacotes em comparaccedilatildeo com o de-senvolvimento interno e identificar quais os padrotildees mais adequados ao ambiente Conveacutem ressaltar que nes-sa fase eacute bom ter algueacutem externo para fazer a moderaccedilatildeo dessa oficina com o intuito de contar com uma pessoa isenta que possa enxergar o todo e natildeo esteja envolvida com questotildees internas ou departamentais

Aplicaccedilotildees anterioresNo mundo do desenvolvimento jaacute passamos por vaacuterios ciclos de linguagens e arquiteturas Logo eacute natural que a empresa possua sistemas estruturas e linguagens diferentes Essas aplicaccedilotildees con-tecircm dentro de si loacutegicas de negoacutecio desenvolvidas ao longo do tempo e satildeo um ativo muito importante da empresa Eacute natural portanto que a terceira duacutevida venha agrave tona se vamos investir em uma arquitetura SOA o que devemos fazer com as aplicaccedilotildees existentes

Uma das boas no-tiacutecias da SOA eacute que a sua adoccedilatildeo natildeo impli-ca descartar o que foi feito previamente Os primeiros passos para a adoccedilatildeo da arquitetu-ra orientada a serviccedilos satildeo avaliar as aplicaccedilotildees existentes analisar os ser-viccedilos e as funccedilotildees sele-cionar quais devem ser publicadas e de acordo com suas caracteriacutesticas selecionar os conectores adequados

Como vimos o ser-viccedilo precisa estar bem definido e com interfaces claras Se a aplicaccedilatildeo em questatildeo natildeo possui essas caracteriacutesticas eacute preciso usar um conector que as forneccedila como um Resource Adaptor que encapsu-laria uma aplicaccedilatildeo natildeo-conforme na SOA

InterconexatildeoNesse momento comeccedilamos a ver mais um item importante da arquitetura a infra-estrutura de interconexatildeo Ela eacute composta por dois moacutedulos loacutegicos como podemos observar na figura 3 que exibe em mais detalhes o barra-mento de serviccedilos O barramento de serviccedilos conecta todos os fornecedo-res de serviccedilos enquanto o canal de acesso une os usuaacuteriosconsumidores internos e externos aos serviccedilos

Barramento de serviccedilosO barramento de serviccedilos integra vaacuterias entidades de software O moacutedulo prin-cipal eacute o subcomponente de ldquoInterco-nectividade de serviccedilosrdquo que fornece os protocolos e outras funccedilotildees neces-saacuterias para conectar o gerenciamento de canal de acesso aos provedores de serviccedilo bem como os provedores uns aos outros Se eles suportam os proto-colos utilizados na interconectividade

de serviccedilos eles podem se comunicar diretamente entre si como mostrado nas conexotildees A da figura 3 Os proto-colos podem incluir por exemplo mensageria e SOAP (Simple Object Access Protocol)

Nesse caso estamos abordando a questatildeo do reaproveitamento das apli-caccedilotildees existentes ndash muitas vezes elas natildeo suportam os protocolos escolhidos sendo chamadas de ldquonatildeo-conformesrdquo A adaptaccedilatildeo (encapsulamento) eacute exe-cutada por um conector como mos-trado na figura 3 pela conexatildeo B O conector converte o protocolo no que for necessaacuterio para acessar a aplicaccedilatildeo ndash e vice-versa na saiacuteda

Uma variedade de serviccedilos baacutesicos eacute necessaacuteria para que o barramento de serviccedilos seja facilmente usado Eles abrangem dois grandes grupos ldquoUtilitaacuteriosrdquo responsaacutevel pelo dire-toacuterio de serviccedilos tradutores de coacutedi-go formatadores de mensagem e ldquoGerenciamentordquo responsaacutevel pela monitoraccedilatildeo ndash incluindo relatoacuterio de erros ndash configuraccedilatildeo e seguranccedila Os subcomponentes do serviccedilo de inter-conectividade e os conectores fariam a interface com a loacutegica comum as-sim como os provedores de serviccedilo e o componente de gerenciamento canal de acesso como mostrado nas conexotildees C da figura 3

Figura 2 O consumidor acessa a aplicaccedilatildeo-serviccedilo fornecida pelos provedores distribuiacutedos

copy Linux New Media do Brasil Editora Ltda

42 httpwwwlinuxmagazinecombr

CAPA | Desenvolvimento e SOA

Camada fiacutesicaNote que ateacute o momento falamos apenas da camada loacutegica Natural-mente haacute uma camada fiacutesica que pode ser implementada de forma distribuiacuteda ou centralizada usando uma abordagem de concentrador Na abordagem distribuiacuteda os subcom-ponentes do barramento de serviccedilos estatildeo espalhados pelos componentes e a rede fornece as interconexotildees fiacute-sicas necessaacuterias Essa abordagem eacute na verdade uma seacuterie de conexotildees ponto-a-ponto que pode rapida-mente aumentar a complexidade caso existam mais que apenas um ou dois protocolos ou um nuacutemero pequeno de serviccedilos Para montar um ambiente mais administraacutevel a abordagem com a utilizaccedilatildeo de um concentrador eacute melhor

Com a abordagem do concentrador o barramento de serviccedilos eacute implemen-tado em um servidor independente ou em um conjunto de servidores Os pro-vedores de serviccedilos podem implementar quaisquer dos protocolos suportados pelo subcomponente de interconec-tividade de serviccedilos Requisiccedilotildees de entrada satildeo roteadas para o serviccedilo de destino apropriado O concentrador age entatildeo como um comutador Pro-tocolos diferentes podem ser usados entre as conexotildees de origem e destino o subcomponente ldquoInterconectividade de Serviccedilosrdquo no concentrador executa a conversatildeo entre ambos

Com essa estrutura resolvemos a questatildeo das aplicaccedilotildees existentes do ponto de vista de infra-estrutura interna E o contato com o usuaacuterio Para trabalharmos esta parte vamos

ver com mais detalhes a outra camada da infra-estrutura de interconexatildeo mostrada na figura 4

UsuaacuterioO gerenciamento de canal de acesso se conecta ao barramento de serviccedilos do mesmo modo que os provedores de serviccedilo Ele executa duas funccedilotildees ou conjuntos de funccedilotildees ldquoGerencia-mento de interface de usuaacuteriordquo que trata da interface para os usuaacuterios ou consumidores de serviccedilo como na-vegadores web estaccedilotildees de trabalho com clientes inteligentes e serviccedilos web e ldquoMapeamento e definiccedilatildeo do serviccedilordquo que identifica os serviccedilos disponiacuteveis e conecta as requisiccedilotildees de entrada aos provedores de serviccedilo usando as interfaces expostas

O mapeamento e a definiccedilatildeo do serviccedilo podem ser bem simples ndash ape-nas um ponteiro para o provedor do serviccedilo Um processo completo de negoacutecio no entando pode necessitar do uso de vaacuterios provedores de servi-ccedilo e as sequumlecircncias nas quais eles satildeo invocados podem variar dependen-do do resultado das requisiccedilotildees a um provedor de serviccedilo especiacutefico

Orquestraccedilatildeo e barramentoA orquestraccedilatildeo pode ser feita obviamen-te escrevendo-se o provedor de serviccedilo externo que implementa as regras de negoacutecio para o processo em questatildeo e invoca os provedores internos quando necessaacuterio Contudo jaacute existem vaacuterios produtos para apoiar a criaccedilatildeo 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 orquestraccedilatildeo disponiacuteveis dentro desses produtos per-mitem criar o processo completo pro-vendo interfaces graacuteficas para identificar os provedores internos necessaacuterios e as regras de negoacutecios a serem seguidas durante o processo

Figura 3 A infra-estrutura de serviccedilos em SOA transita pelo barramento de serviccedilos ou ESB

Figura 4 As conexotildees entre provedores internos e externos compotildeem a outra camada da estrutura de interconexatildeo

copy Linux New Media do Brasil Editora Ltda

43

| CAPADesenvolvimento e SOA

Linux Magazine 42 | Maio de 2008

Desenvolvimento de aplicaccedilotildeesFinalmente vamos responder a uacutel-tima pergunta do gerente de desen-volvimento ldquocomo desenvolver apli-caccedilotildees voltadas ao novo ambienterdquo Caso se trate de uma nova aplicaccedilatildeo o ideal eacute utilizar uma ferramenta que possua um ambiente completo e raacutepido para desenvolvimento e im-plementaccedilatildeo de aplicativos permita essa implementaccedilatildeo com agilidade de novos processos e encapsule o co-nhecimento dos negoacutecios sob a forma de componentes reutilizaacuteveis

Um dos pontos fundamentais da SOA eacute que o serviccedilo pode ser execu-tado em qualquer plataforma sistema operacional ou linguagem Desse modo ao desenvolver um serviccedilo o desenvol-vedor natildeo deveria se preocupar com caracteriacutesticas de uma linguagem ou plataforma especiacutefica Esses serviccedilos devem ser desenvolvidos rapidamen-te e com facilidade em conjunto com analistas de negoacutecios e usuaacuterios finais utilizando a terminologia e o vocabulaacuterio compreendidos por eles O importan-te eacute se preocupar com o negoacutecio que seraacute atendido e que exista um niacutevel de abstraccedilatildeo entre a loacutegica de negoacutecio e a plataforma ou linguagem na qual o serviccedilo seraacute executado

Note que haacute um ambiente (ldquoMode-lador do sistemardquo) no qual o negoacutecio eacute modelado O construtor traduz o negoacutecio para o ambiente final com todas as ca-racteriacutesticas corporativas para assegurar a integridade da aplicaccedilatildeo modelada

O modelador do sistema deve oferecer a flexibilidade de adicionar interfaces de usuaacuterio final ao modelo que podem ser implementadas em uma ampla gama de ambientes

Governanccedila e seguranccedilaUma vez que tenham sido realizados os levantamentos e as oficinas a equi-pe estaacute motivada e os objetivos estatildeo

claros eacute impor-tante garantir que a meacutetrica baacutesica da arquitetura orientada a ser-viccedilos seja medida e explorada Um dos principais atri-butos da SOA eacute a capacidade de reutilizar serviccedilos existentes em no-vas aplicaccedilotildees ndash e eacute necessaacuterio man-ter esse cataacutelogo bem definido

Para auxiliar nesse controle existem diversas ferramentas disponiacute-veis que utilizam definiccedilotildees como UDDI (Universal Descrip-

tion Discovery and Integra-tion) ndash registro independente de plataforma baseado em XML cujo objetivo eacute listar serviccedilos acessiacuteveis pela Web Trata-se de uma iniciativa aberta que permite agraves empre-sas publicarem listas de servi-ccedilos acessaacute-los e descrevecirc-los possibilitando que aplicaccedilotildees possam interagir A UDDI foi originalmente proposta e pro-jetada para ser interligada por mensagens SOAP provendo acesso a documentos WSDL com as descriccedilotildees de protoco-los e formatos requeridos para interaccedilatildeo com os serviccedilos web listados no diretoacuterio

ebXML (Electronic Business using eXtensible Markup Lan-guage) ndash nada mais que uma grande biblioteca contendo informaccedilotildees sobre os serviccedilos disponiacuteveis e como acessaacute-los Sua infra-estrutura eacute aberta e baseada em XML habilitando o uso global das informaccedilotildees de forma interoperaacutevel segura e consistente Incorpora cinco camadas de definiccedilotildees de da-

dos (i) processos de negoacutecios (ii) protocolos de colaboraccedilatildeo (iii) componentes de dados prin-cipais (iv) mensageria e (v) re-gistro e repositoacuterios

Consideraccedilotildees finaisA adoccedilatildeo da SOA tem aumenta-do rapidamente Aleacutem de reunir muitas vantagens em um ambien-te distribuiacutedo de aplicaccedilotildees que eacute a nossa realidade hoje haacute diversas ferramentas disponiacuteveis no mercado que facilitam o seu uso Com pro-fundas diferenciaccedilotildees em relaccedilatildeo ao desenvolvimento tradicional de sistemas eacute necessaacuterio planejar bas-tante sua introduccedilatildeo junto agraves equi-pes de desenvolvimento e contar com apoio externo agrave empresa para que a mensagem seja absorvida com mais facilidade Com tudo isso e considerando as respostas ao gerente de desenvolvimento a arquitetura orientada a serviccedilos eacute um excelente caminho para a integraccedilatildeo de tran-saccedilotildees distribuiacutedas

Sobre o autorAntonio Godinho eacute arquiteto de sistemas na Unisys Brasil

Figura 5 O ESB realiza a comunicaccedilatildeo entre os canais de acesso de muacuteltiplos grupos de provedores que podem representar diferentes departamentos empresas etc

copy Linux New Media do Brasil Editora Ltda

Andrzej Gdula ndash sxchu

44 httpwwwlinuxmagazinecombr

A faacutebrica de software corporativo NovaForge

Quase faz cafeacuteCom o NovaForge eacute muito praacutetico hospedar gerenciar e testar softwares em escala corporativapor Pablo Hess

Sistemas de desenvolvimento distribuiacutedo de software satildeo altamente produtivos Em-

pregados amplamente por projetos de Software Livre sistemas como git[1] CVS[2][3] SVN[3][4] Mer-curial[5] e Bitkeeper[6] apenas para citar os mais famosos possibilitam o desenvolvimento colaborativo da grande maioria dos softwares de Coacute-digo Aberto desde o kernel Linux ateacute sofisticados ambientes desktop como Gnome e KDE

Uma interessante alternativa agrave manutenccedilatildeo de um servidor de de-senvolvimento ldquodentro de casardquo eacute o uso de repositoacuterios de projetos de software cujo exemplo mais famoso eacute o SourceForge[7] que abriga ou jaacute abrigou inuacutemeros projetos de Coacutedigo Aberto desde os mais simples e de uso restrito a uma aacuterea de atuaccedilatildeo ateacute os atuais campeotildees de atividade[8] o ERP Openbravo[9] o software de comparti-lhamento Azureus[10] e o programa de graacuteficos vetoriais Inkscape[11]

No entanto empresas que de-sejem gerenciar seus projetos de software corporativo de forma centralizada com testes e anaacutelises de desempenho durante a noite aleacutem da geraccedilatildeo automatizada de relatoacuterios tecircm como uacutenica alter-nativa o emprego de um servidor proacuteprio para essas tarefas Ou me-lhor tinham

No intuito de oferecer uma al-ternativa de caraacuteter corporativo que forneccedila aos projetos toda a infra-estrutura para a criaccedilatildeo e ge-renciamento a francesa Bull[12] lanccedilou o NovaForge[13]

CorporativoEm seu whitepaper a Bull afirma ter ldquoempregado no NovaForge seus conhecimentos metodoloacutegi-cos e sua experiecircncia na condu-ccedilatildeo e realizaccedilatildeo de projetos de desenvolvimento e integraccedilatildeo de sistemas numa plataforma indus-trial de produccedilatildeordquo Para os desen-

volvedores que desejem hospedar seus projetos nesse sistema isso significa uma maior base de ferra-mentas natildeo apenas para gerenciar o coacutedigo-fonte do projeto mas o projeto em si assim como toda a documentaccedilatildeo relevante

O NovaForge de fato facilita o gerenciamento de projetos de software de escala industrial de formas que o SourceForge ou mes-mo o CodePlex[14] da Microsoft jamais pretenderam fazer E a melhor parte o sistema eacute inteira-mente voltado ao Coacutedigo Aberto e padrotildees abertos

De acordo com a Bull os prin-ciacutepios do NovaForge satildeo capitalizaccedilatildeo empregar fer-

ramentas de desenvolvimen-to qualificadas e metodolo-gias aprovadas assim como a reutilizaccedilatildeo dos trabalhos jaacute realizados

compartilhamento compar-tilhar a mesma visatildeo que os

CA

PA

copy Linux New Media do Brasil Editora Ltda

45

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

projetos independen-temente da localizaccedilatildeo de seus participantes e compartilhando tam-beacutem o repositoacuterio de documentaccedilatildeo

flexibilidade o Nova-Forge foi concebido de forma modular para incluir ferramentas par-ticulares e assim res-ponder aos diferentes niacuteveis de atividade dos projetos tanto hospedados sobre uma infra-estrutura de rede de alto desem-penho quanto instalado no cliente

Eacute interessante notar que o terceiro item dessa lista jaacute dei-xa clara a inclinaccedilatildeo da plata-forma aos novos princiacutepios de software como serviccedilo

Processo de desenvolvimentoSob o NovaForge as diferentes etapas de desenvolvimento de software (figura 1) satildeo realizadas na seguinte ordem gestatildeo das exigecircncias da apli-

caccedilatildeo a ser desenvolvida exportaccedilatildeo das exigecircncias para a fer-

ramenta de modelagem UML geraccedilatildeo do coacutedigo com auxiacute-

lio do ambiente integrado de desenvolvimento

gerenciamento do coacutedigo-fonte e de suas versotildees

integraccedilatildeo e construccedilatildeo da apli-caccedilatildeo com uso dos repositoacuterios de integraccedilatildeo e das ferramentas de integraccedilatildeo contiacutenua

testes funcionais frente agraves exigecircn-cias e gerenciamento automaacuteti-co de falhas em caso de erros e falha de conformidade

As vantagens do uso da infra- estrutura do sistema para criaccedilatildeo de aplicaccedilotildees corporativas portanto podem ser listadas

ambiente de desenvolvimento pa-dronizado e com ferramentas po-derosas que permite mascarar para o desenvolvedor a complexidade da linguagem Java subjacente

o ganho de produtividade oferecido pela escolha das ferramentas mais adequadas pemite a geraccedilatildeo de partes do coacutedigo por meio de tarefas recorrentes de produccedilatildeo

a escolha de ferramentas de Coacute-digo Aberto robustas poderosas e aderentes aos padrotildees de de-senvolvimento e comunicaccedilatildeo utilizadas em diversos projetos e compatiacuteveis com a maioria dos sistemas operacionais

Seccedilotildees do desenvolvimentoO desenvolvimento no NovaForge eacute dividido em dois ambientes um destinado agrave concepccedilatildeo do projeto

e outro ndash Bull SOA IDE ndash feito sobre uma base de blocos de Coacute-digo Aberto como o Eclipse por exemplo enriquecidos pela proacute-pria Bull

O primeiro ambiente permite a geraccedilatildeo de relatoacuterios detalhados de concepccedilatildeo a partir dos diagra-mas UML e das regras de gestatildeo associadas aos casos de uso aleacutem das etapas de testes e validaccedilatildeo dos moacutedulos O segundo por sua vez oferece uma interface com a pri-meira e integra as ferramentas de geraccedilatildeo de coacutedigo ndash Velocity por exemplo ndash assim como uma seacuterie de plugins descritos a seguir

Ambiente de concepccedilatildeoO ambiente de concepccedilatildeo (a ferra-menta de modelagem Sprarx Sys-tem Enterprise Architect) natildeo exige a presenccedila de qualquer moacutedulo ou

Figura 1 Diagrama das etapas de desenvolvimento de software no NovaForge

copy Linux New Media do Brasil Editora Ltda

46 httpwwwlinuxmagazinecombr

CAPA | NovaForge

funcionalidade por parte do cliente Ele suporta UML 20 salva o modelo num banco de dados ou num arquivo e por fim exporta-o em XMI No entanto tambeacutem eacute possiacutevel trabalhar com diversos outras ferramentas como Rose XDE RAD Together MEGA Objecteering e PowerAMC por exemplo O objetivo afinal eacute simplesmente fornecer a entrada para a geraccedilatildeo de coacutedigo para im-plementar a arquitetura orientada ao modelo ou MDA

Dessa forma a cadeia de concep-ccedilatildeo do sistema formaliza a passagem do modelo de anaacutelise UML a um de concepccedilatildeo e implementaccedilatildeo Aleacutem das orientaccedilotildees de concepccedilatildeo e das normas de implementaccedilatildeo apoacutes a definiccedilatildeo da arquitetura de processador de destino para a aplicaccedilatildeo jaacute eacute possiacutevel gerar uma parte do coacutedigo da aplicaccedilatildeo ndash com o mecanismo de tagged value ndash fi-gura 2 Eacute importante notar tambeacutem

que o coacutedigo gerado natildeo depende de qualquer classe da Bull pois eacute puro JavaJ2EE

Ambiente de desenvolvimentoOs principais objetivos de um am-biente de desenvolvimento satildeo au-mentar a produtividade por meio de ferramentas para projetar pro-gramar e instalar aplicaccedilotildees J2EE e permitir o desenvolvimento co-laborativo Para isso eacute necessaacuterio tambeacutem observar as boas praacuteticas permitindo a geraccedilatildeo do coacutedigo de certos componentes da aplicaccedilatildeo e tambeacutem a criaccedilatildeo de uma corrente completa desde os objetos ateacute a base de dados incluindo todos os blocos que compotildeem a arquitetura

Por fim o ambiente de progra-maccedilatildeo deve permitir a integraccedilatildeo do desenvolvimento a uma arquitetura orientada a serviccedilos caso necessaacuterio

Isso facilita a chamada e a criaccedilatildeo de serviccedilos referenciados dentro da em-presa por intermeacutedio de assistentes

Nesse sentido a Bull contribui com o projeto Eclipse para melhorar o su-porte a J2EE e ao desenvolvimento de Web Services e processos de ne-goacutecios Aleacutem disso a colaboraccedilatildeo da empresa com o Eclipse visa a permitir acesso a aplicaccedilotildees externas ndash isso eacute natildeo escritas em Java ndash e a bancos de dados por meio de conectores JCA ou de meacutetodos de persistecircncia Uma caracteriacutestica importante eacute a total in-dependecircncia de classes especiacuteficas da Bull com total aderecircncia ao padratildeo J2EE mas ainda com suporte aos fra-meworks mais usados como Struts Spring e Hibernate

UtilizaccedilatildeoOs componentes da plataforma NovaForge portanto podem ser listados como a seguir

Figura 2 O mecanismo de tagged value enriquece as classes UML com as informaccedilotildees adequadas agrave geraccedilatildeo de coacutedigo

copy Linux New Media do Brasil Editora Ltda

47

| CAPANovaForge

Linux Magazine 42 | Maio de 2008

ambiente de desenvolvimento Java Eclipse

ambiente de desenvolvimento J2EE JOPE

plugin Open Source Web Tools

controle de versotildees CVS Subversion

qualidade do coacutedigo Jalopy CheckStyle PMD

testes Unitaacuterios JUnit geraccedilatildeo ANT Maven

Para usar essa estrutura colaborati-va de desenvolvimento eacute necessaacuterio apenas um navegador web O servidor de aplicaccedilatildeo naturalmente tambeacutem eacute obrigatoacuterio e a Bull recomenda o uso do JBoss[15]

Servidor colaborativoO servidor colaborativo de desenvol-vimento fornece a todos os participan-tes do projeto o acesso ao ambiente para realizaccedilatildeo de suas tarefas espe-ciacuteficas de acordo com o papel de cada um (desenvolvedor integrador liacuteder de projeto gerente etc)

O portal utiliza a solu-ccedilatildeo eXo Portal[16] que em sua versatildeo 20 oferece suporte a clientes de rich internet applications (RIA como satildeo mais conhecidos) dentro do proacuteprio navega-dor O NovaForge faz bom uso dos ldquoaplicativos ricosrdquo como mostra a figura 3 incluindo o single sign-on para todos os serviccedilos dispo-nibilizados como comuni-caccedilatildeo desenvolvimento e acesso a documentos por exemplo

GForgeUma das principais fer-ramentas de desenvolvi-mento colaborativo utili-zadas pelo NovaForge eacute

o pacote de Coacutedigo Aberto GFor-ge[17] um gerenciador de proje-tos repleto de funcionalidades Como tal ele centraliza o acesso ao conjunto de ferramentas de gestatildeo e colaboraccedilatildeo necessaacuterias agrave boa realizaccedilatildeo de um projeto de desenvolvimento como por exemplo acesso seguro aos diferentes

moacutedulos de gerenciamento de coacutedigo diretamente a partir da interface web

gerenciamento de documen-tos e suas versotildees

gerenciamento de foacuteruns e listas de discussatildeo

monitoramento das tarefas realizadas pelos usuaacuterios

gerenciamento de falhas e anomalias do projeto com possibilidades ilimitadas em termos de qualificaccedilatildeo das falhas atribuiccedilatildeo a desenvol-vedores de diferentes equipes

gerenciamento de prioridades e outras funccedilotildees

gerenciamento e atribuiccedilatildeo de tarefas aos participantes ao longo de todo o ciclo de de-senvolvimento dos projetos

interface com o CVS ou Sub-version para gestatildeo da segu-ranccedila no que diz respeito ao acesso de escrita e leitura do coacutedigo-fonte do projeto

Servidor de industrializaccedilatildeoO chamado ldquoservidor de industrializa-ccedilatildeordquo eacute uma plataforma de ldquofaacutebrica de receitasrdquo proposta pela Bull com todo o contexto necessaacuterio aos procedimentos e seus testes Seus principais objetivos satildeo a criaccedilatildeo de ldquonightly buildsrdquo a re-alizaccedilatildeo de testes de desempenho afim de garantir o correto funcionamento e dos softwares no momento em que forem finalizados

Figura 3 O NovaForge jaacute utiliza e muito bem as potencialidades dos componentes chamados Rich Internet Applications

copy Linux New Media do Brasil Editora Ltda

48 httpwwwlinuxmagazinecombr

CAPA | NovaForge

A figura 4 demonstra o processo de compilaccedilatildeo dessa etapa Em in-tervalos regulares toda a aplicaccedilatildeo sua documentaccedilatildeo e seus testes unitaacuterios satildeo gerados permitindo que se automatize a anaacutelise da qualidade do coacutedi-

go da aplicaccedilatildeo pelos compo-nentes PMD e CheckStyle

a geraccedilatildeo automaacutetica da apli-caccedilatildeo por comparaccedilatildeo com as uacuteltimas versotildees presentes no gerenciador de configuraccedilotildees a partir do servidor CVS ou Subversion

a geraccedilatildeo automaacutetica da do-cumentaccedilatildeo da aplicaccedilatildeo

a execuccedilatildeo do conjunto de testes unitaacuterios usando os componentes JUnit DBUnit e HTTPUnit com geraccedilatildeo posterior de relatoacuterios

a implementaccedilatildeo da moni-toraccedilatildeo de servidores da do-cumentaccedilatildeo e dos relatoacuterios anteriormente gerados

A cada manhatilde a anaacutelise dos relatoacuterios e resultados do servi-dor de industrializaccedilatildeo oferece ao gerente do projeto um pano-rama absolutamente atualizado do estado funcional do software

e possibilita a criaccedilatildeo de tiacutequetes de falhas pelo Salomeacute-TMF

ConclusotildeesO NovaForge natildeo tem como obje-tivo substituir os repositoacuterios mais tradicionais como o SourceForge mas criar uma verdadeira faacutebrica de software colaborativo de caraacuteter corporativo A linguagem Java por exemplo eacute uma obrigaccedilatildeo o que pode limitar o uso por projetos co-munitaacuterios de espectro geral mas natildeo representa uma restriccedilatildeo aos projetos de software corporativos ndash aliaacutes muito pelo contraacuterio

No momento o NovaForge em-prega 17 ferramentas para gerenciar seus softwares desde o CVS ou Subversion para o coacutedigo-fonte passando pelo GForge no campo do gerenciamento de projetos e documentos e chegando ateacute o Ma-ven para as tarefas automatizadas de industrializaccedilatildeo

Somada ao praacutetico gerencia-mento a garantia de qualidade dos projetos abrigados no NovaForge eacute um importante convite a qualquer organizaccedilatildeo que deseje desenvol-ver projetos de alta qualidade em escala corporativa

Mais informaccedilotildees

[1] Git httpgitorcz

[2] CVS na Wikipeacutedia httpptwikipediaorgwikiCVS

[3] Johannes Ploumltner e Steffen Wendzel ldquoFonte de organizaccedilatildeo httpwwwlinuxmagazinecombrarticlefonte_de_organizacao

[4] Subversion httpsubversiontigrisorg

[5] Mercurial httpwwwseleniccommercurialwiki

[6] Bitkeeper httpwwwbitkeepercom

[7] SourceForge httpsourceforgenet

[8] Ranking de atividade do SourceForge httpsourceforgenettopmostactivephptype=week

[9] Openbravo httpwwwopenbravocom

[10] Azureus httpazureussourceforgenet

[11] Inkscape httpwwwinkscapeorg

[12] Bull httpwwwbullcombr

[13] NovaForge httpwwwnovaforgeorg

[14] Microsoft CodePlex httpwwwcodeplexcom

[15] JBoss httpwwwjbosscom

[16] Portal httpwwwexoplatformcomportalpublicsite

[17] GForge httpgforgeorg

Figura 4 Os testes realizados automaticamente nos nightly builds fornecem vaacuterios dados a respeito do aplicativo

copy Linux New Media do Brasil Editora Ltda

49Linux Magazine 42 | Maio de 2008

TU

TO

RIA

L

Configurando o ambiente de desenvolvimento

Produto importadoSe for necessaacuterio fazer alteraccedilotildees ao coacutedigo-fonte do ADempiere eacute muito faacutecil usar o poderoso ambiente de desenvolvimento Eclipse para importaacute-lopor Eduardo Montenegro

Chegamos agora agrave terceira parte de nosso tutorial sobre o ADempiere ERP amp CRM

Na uacuteltima ediccedilatildeo[1] fizemos uma pequena adaptaccedilatildeo ao sistema crian-do um novo campo que permitia a entrada de dados pelo usuaacuterio

Agora vamos importar o coacutedigo-fonte do ADempiere no ambiente de desenvolvimento Java Eclipse[2] que iraacute permitir o desenvolvimento de novos recursos no sistema utili-zando programaccedilatildeo

Vale lembrar que o objetivo deste tutorial eacute apresentar algumas carac-teriacutesticas principais do ADempiere sendo impossiacutevel esgotar esse assun-to ou nos aprofundarmos muito em determinados toacutepicos

O ambiente de desenvolvimento padratildeo utilizado pelos desenvolvedo-res do projeto ADempiere eacute o Eclipse Vamos acompanhar os passos neces-saacuterios para instalaccedilatildeo desse ambien-te de desenvolvimento e do plugin Subclipse[3] que utilizaremos para fazer o checkout do projeto do servi-dor SVN no SourceForge[4]

Instalaccedilatildeo do EclipseContinuando a configuraccedilatildeo de nos-so ambiente de desenvolvimento no Ubuntu[5] iremos fazer a instalaccedilatildeo do Eclipse por meio do repositoacuterio de pacotes usando o Synaptic Apoacutes pro-curar o pacote Eclipse basta efetuar a instalaccedilatildeo da forma normal Em segui-da seraacute necessaacuterio iniciaacute-lo para fazer a instalaccedilatildeo do plugin Subclipse

Plugin SubclipseNo menu principal do Eclipse iremos selecionar as opccedilotildees Help e em seguida Software Updates e Find and Install conforme indicado na figura 1

Na proacutexima janela como mostra a figura 2 selecionaremos a opccedilatildeo Search for New Features to Install e depois o botatildeo Next

Na janela seguinte eacute preciso acres-centar uma nova fonte remota de softwares selecionando a opccedilatildeo New Remote Site e digitando na nova janela o nome Subclipse 12x (Eclipse 32+) e a URL httpsubclipsetigrisorgupda-te_12x conforme a figura 3

Em seguida vamos selecionar para a busca a opccedilatildeo que acabou de ser criada na janela (figura 4) Ao ser exibido finalmente o plugin Subclipse (figura 5) deve-se selecionaacute-lo pressionando o botatildeo Finish em seguida

Ao concluir a ins-talaccedilatildeo do plugin o Eclipse precisaraacute ser reiniciado para que pos-sa ser utilizado

Repositoacuterio ADempiereDe volta ao Eclipse selecionaremos o menu Window Open Perspective e Other Na janela exibida na figura 6 deve ser selecionada a opccedilatildeo SVN Re-pository Exploring Na parte esquerda da janela na aba SVN Repository iremos clicar com o botatildeo direito do mouse e adicionar o repositoacuterio do ADempiere conforme demonstrado na figura 7 Seu endereccedilo eacute httpsadempieresvnsour-ceforgenetsvnrootadempiere [4]

Figura 1 A instalaccedilatildeo de novos plugins no Eclipse eacute bem simples

Figura 2 Como o plugin estaacute num novo repositoacuterio devemos acrescentaacute-lo manualmente

Figura 3 Dados do repositoacuterio do ADempiere

copy Linux New Media do Brasil Editora Ltda

50 httpwwwlinuxmagazinecombr

TUTORIAL | Alteraccedilotildees no coacutedigo-fonte do ADempiere

Figura 5 O plugin do Subclipse jaacute pode ser instalado

O projeto do ADempiere estaraacute disponiacutevel no Eclipse possibilitando a navegaccedilatildeo pelos diversos pacotes e arquivos do projeto por meio da aba do lado esquerdo conforme exibido na figura 10

Para executar o projeto a partir do Eclipse resta apenas definir um perfil de execuccedilatildeo que podemos criar com poucos passos 1 selecionar o menu Run e em

seguida Open Run Dialog 2 na janela aberta (figura 11)

selecionar a opccedilatildeo Java Appli-cation no painel esquerdo e pressionar o botatildeo New

3 no campo Name entrar com o nome Adempiere

4 no campo Project utilizan-do o botatildeo Browse selecionar o projeto receacutem-criado

5 finalmente no campo Main Class digitar orgcompiereAdempiere

Agora se pressionarmos o botatildeo Apply e em seguida selecionarmos Run o ADempiere seraacute executado a partir do Eclipse

ConclusatildeoAo final desse procedimento o am-biente de desenvolvimento do ADem-piere estaraacute configurado Com isso no proacuteximo artigo poderemos importar o projeto do ADempiereLBR[6] que eacute complementar ao LBR e acrescenta diversos recursos para a operaccedilatildeo do ADempiere no Brasil

Na proacutexima ediccedilatildeo veremos tam-beacutem algumas das principais caracte-riacutesticas do desenvolvimento de novos recursos para o ADempiere utilizando a linguagem Java

Jaacute com as informaccedilotildees do reposi-toacuterio no Eclipse iremos navegar ateacute a pasta Tags e em seguida clicando com o botatildeo direito do mouse em cima da pasta adempiere340 selecionaremos a opccedilatildeo Checkout (figura 8)

Na janela mostrada em seguida para a operaccedilatildeo de checkout basta confirmar a operaccedilatildeo selecionando os bototildees Next e em seguida Finish Esse passo pode demorar um pouco pois seratildeo copiados todos os arquivos do projeto ADempiere para a maacutequina local

De dentroVamos agora executar o ADempiere de dentro do Eclipse Selecionan-do no menu novamente as opccedilotildees Window Open Perspective e Other iremos voltar para a perspectiva Java (default) (figura 9)

Figura 4 Seleccedilatildeo do novo repositoacuterio configurado como fonte do plugin

Figura 6 O Subclipse permite a impor-taccedilatildeo de dados a partir de um repositoacuterio Subversion

Figura 7 Adicionando um repositoacuterio Subversion

copy Linux New Media do Brasil Editora Ltda

51Linux Magazine 42 | Maio de 2008

Mais informaccedilotildees

[1] Eduardo Montenegro ldquoConfiguraccedilatildeo do ADempiere ndash Faccedila a sua gestatildeordquo httpwwwlinuxmagazinecombrarticle1649

[2] Eclipse httpwwweclipseorg

[3] Subclipsehttpsubclipsetigrisorg

[4] Repositoacuterio do ADempiere no SourceForge httpsadempieresvnsourceforgenetsvnrootadempiere

[5] Ubuntu httpwwwubuntucom

[6] Projeto AdempiereLBR no Sourceforge httpsfnetprojectsadempierelbr

[7] Site do Projeto ADempiere httpwwwadempierecom

[8] Wiki do Projeto Adempiere httpwwwadempierecomwiki

[9] Foacuterum do ADempiere em portuguecircs httpforumkenoscombr

Figura 8 Realizaccedilatildeo do che-ckout no repositoacuterio

Figura 9 Com a perspectiva Java eacute pos-siacutevel trabalhar em projetos nessa linguagem como o ADempiere

Figura 10 Jaacute eacute possiacutevel navegar pelo coacutedigo do ADempiere

Figura 11 Criaccedilatildeo de um novo perfil para o projeto do ADempiere no Eclipse

copy Linux New Media do Brasil Editora Ltda

52 httpwwwlinuxmagazinecombr

Deacutecima primeira aula de preparaccedilatildeo LPIC-2

LPI niacutevel 2 Aula 11Configuraccedilatildeo do servidor BIND criaccedilatildeo e manutenccedilatildeo de arquivos de zonas e ferramentas relacionadaspor Luciano Siqueira

22071 Configuraccedilatildeo baacutesica de um servidor DNS Um servidor DNS ndash Domain Name System ndash converte remotamente no-mes de maacutequinas para seus respectivos nuacutemeros IP e vice-versa A correspon-decircncia entre o nome e o nuacutemero IP eacute chamada mapeamento e organizado de forma hieraacuterquica

Em outras palavras um domiacutenio como howtoslinuxcom seraacute quebrado e resolvido comeccedilando por com de-pois linux e finalmente howtos ndash itens chamados respectivamente top-level domain second-level domain e third-level domain Eacute nessa ordem que o endereccedilo IP para howtoslinuxcom seraacute obtido Os top-level domains mais comuns satildeo com org e net mas existem vaacuterios outros

O programa servidor responsaacutevel pelo mapeamento eacute o usrsbinnamed que eacute parte do pacote cha-mado BIND cujas especificaccedilotildees

satildeo definidas pelo Internet Systems Consortium Seu arquivo de confi-guraccedilatildeo eacute namedconf que pode ser encontrado no diretoacuterio etc ou etcbind Em versotildees do BIND anteriores agrave 8 o arquivo de configu-raccedilatildeo chama-se namedboot e possui sintaxe diferente Arquivos anteriores agrave versatildeo 8 natildeo funcionaratildeo nesta ou na 9 Para converter arquivos de con-figuraccedilatildeo de versotildees anteriores para a 8 pode ser utilizado o comando named-bootconf

Servidor caching-onlyO DNS caching-only eacute a mais simples implementaccedilatildeo de um servidor DNS Ele apenas requisita a resoluccedilatildeo do nome junto a um servidor externo e armazena a resposta para agilizar futuras requisiccedilotildees Exemplo de na-medconf para um servidor de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

Zonas convencionais tecircm seccedilotildees definidas de forma semelhante (exem-plo zone ldquolocalhost IN rdquo) e eacute importante que para cada uma delas seja especificada uma zona para DNS reverso (exemplo zone ldquo00127in-addrarpa IN rdquo) O DNS reverso eacute responsaacutevel por converter nuacutemeros IP para seus respectivos nomes

Voltando ao exemplo na seccedilatildeo options eacute indicado onde estatildeo os arquivos de zonas (directory ldquovarnamedrdquo) Estaacute definido apenas o mapeamento para ldquordquo que seraacute consultado se nenhum outro ma-peamento for encontrado Eacute este o caso do exemplo

No arquivo varnamedroothints haacute uma lista com os principais ser-vidores de nomes da Internet Este arquivo eacute gerado atraveacutes do comando

Toacutepico 207 DNS

TU

TO

RIA

L

Irum_Shahid - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

53

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

dig eroot-serversnet ns Como os endereccedilos de alguns servidores po-dem mudar eacute aconselhaacutevel atualizar o arquivo mensalmente O exemplo 1 mostra um trecho do arquivo varnamedroothints

Apoacutes alterar os arquivos de con-figuraccedilatildeo seraacute necessaacuterio reiniciar o daemon named responsaacutevel por responder agraves requisiccedilotildees de DNS Para que as configuraccedilotildees tenham efeito sem interromper o named basta enviar o sinal HUP para o processo atraveacutes do comando kill

kill -HUP `pidof named`

22072 Criaccedilatildeo e manutenccedilatildeo de zonas de DNSA principal diferenccedila entre um servidor DNS tradicional e um servidor DNS caching-only estaacute nos arquivos de zona Num ser-vidor tradicional os arquivos de zona conteacutem a correspondecircncia de IPs e nomes para os domiacutenios especificados em namedconf

Criando um domiacutenioPara cada domiacutenio sob responsabili-dade do servidor deve ser criada uma entrada no arquivo namedconf Essa entrada eacute muito parecida agravequela do exemplo de DNS caching-only

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo

A uacuteltima entrada indica opccedilotildees e o arquivo de zona para solicitaccedilotildees de nome para o domiacutenio ginkgo

Este eacute um domiacutenio fictiacutecio uti-lizado como exemplo para uma rede interna A opccedilatildeo type deter-mina a prioridade da zona para o domiacutenio pode ser master ou slave O arquivo definido na opccedilatildeo file deve ser criado no mesmo diretoacuterio selecionado na opccedilatildeo directory da seccedilatildeo options Pode ser escolhido qualquer nome para o arquivo de zona mas geralmente elege-se o nome do domiacutenio leva os prefixossufixos zone ou db

Registros da zonaO arquivo de zona conteacutem vaacuterias informaccedilotildees dos nomes do domiacutenio em questatildeo pode ser escrito confor-me o exemplo 2

Vamos analisar item a item este arquivo de zona para entender cada uma das suas entradas

$TTL 3D

Indica a validade-padratildeo ou por quanto tempo os dados con-

seguidos a partir deste servidor devem ser mantidos em um ca-che de DNS

IN SOA floydginkgo hostmasterginkgo (

Essa linha corresponde agrave prin-cipal entrada SOA (Start Of Au-thority) Ela determina qual o ser-vidor e o email do administrador do DNS O sinal eacute apenas um atalho para a origem (o domiacute-nio da zona) e tambeacutem pode ser especificado literalmente (neste caso deve ser especificado com um ponto no final ginkogo) O IN significa Internet e determina a classe do registro Na maior parte dos servidores DNS seraacute a uacutenica classe utilizada O termo SOA indica tratar-se do registro da autoridade para o domiacutenio seguido do nome do servidor DNS e do email do administrador Perceba que ambos satildeo terminados com um ponto O email tambeacutem tem um ponto no

Exemplo 1 Trecho de roothints

()DROOT-SERVERSNET 3600000 IN A 12881090AROOT-SERVERSNET 3600000 IN A 1984104HROOT-SERVERSNET 3600000 IN A 12863253CROOT-SERVERSNET 3600000 IN A 19233412()

Exemplo 2 Arquivo de zona

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floyd MX 5 mailfloyd A 19216801 hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

copy Linux New Media do Brasil Editora Ltda

54 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

lugar do O parecircntese no final da linha indica o iniacutecio das proprie-dades do registro

2007060401 serial 28800 refresh (8horas) 7200 retry (2 horas) 2419200 expire (4semanas) 86400 minimum (1 dia) )

Essa seccedilatildeo especifica algumas pro-priedades para a zona O primeiro nuacutemero 2007060401 determina um nuacutemero serial de identificaccedilatildeo Pode ser qualquer nuacutemero mas via de re-gra segue o formato de data mais um nuacutemero decimal Os demais valores determinam respectivamente inter-valo de atualizaccedilatildeo intervalo para novas tentativas prazo de validade das informaccedilotildees intervalo miacutenimo de permanecircncia no cachecirc Estes va-lores seratildeo informados aos clientes e outros servidores DNS que utilizam este mapa O caracter ldquordquo especifica um comentaacuterio e todo texto em se-guida seraacute ignorado pelo programa O final das propriedades do registro eacute determinado com o fechamento do parecircntese Continuando o exame

NS floyd MX 5 mailfloyd A 19216801

hamilton A 19216802 www CNAME hamiltonfelix A 19216804 mail CNAME felixemily A 192168011

Os demais registros correspondem agraves entradas de nomes da zona Se natildeo for informado no comeccedilo da linha eacute assumida a mesma origem (especificada pelo caracter ) e a classe (IN) Tipos de registro comuns satildeo NS especifica qual dos registros eacute

o servidor de nomes do domiacutenio tambeacutem citado no registro SOA

MX o servidor de email para o domiacutenio Pode haver mais de um sendo suas prioridades determinadas pelo nuacutemero agrave esquerda do nome do servidor Valores menores indicam maior prioridade

A mapeia o nome especifica-do agrave esquerda para o IP espe-cificado agrave direita A origem (domiacutenio) eacute automaticamente adicionada ao nome pois estaacute impliacutecita na entrada (ex floyd = floydginkgo)

CNAME cria um alias especifica-do agrave esquerda para um nome jaacute definido em outro registro Natildeo pode haver alias para um registro NS

PTR mapeia um nuacutemero IP para um nome Eacute utilizado para DNS reverso que veremos a seguir

DNS reversoAleacutem das zonas para resolver nomes para nuacutemeros IP eacute praxe criar zonas para resolver nuacutemeros IP para nomes processo chamado DNS reverso Para isso deve ser criada uma zona especiacute-fica no arquivo namedconf que aponte para outro arquivo de zona

options directory ldquovarnamedrdquo

zone ldquordquo IN type hint file ldquoroothintsrdquo

zone ldquoginkgordquo IN type master file ldquoginkgozonerdquo zone ldquo0168192in-addrarpardquo IN type master file ldquodb1921680in-addrarpardquo allow-update none

O registro em destaque espe-cifica a zona reversa O nome da zona reversa comeccedila com o trecho do IP referente agrave rede escrito de traacutes para frente seguido do termo in-addrarpa que determina tratar-se de um registro de DNS rever-so Portanto o registro mostrado converteraacute em nomes os IPs que comecem por 1921680 As demais opccedilotildees como tipo nome de ar-quivo etc obedecem agraves mesmas regras do DNS

O arquivo de zona para o DNS reverso eacute praticamente idecircntico ao do DNS convencional mostrado no exemplo 3

A uacutenica diferenccedila encontra-se nos registros de nomes Aqui a ori-gem tambeacutem estaacute impliacutecita sendo necessaacuterio apenas especificar o tre-cho do IP especiacutefico do host Por se tratar de uma resoluccedilatildeo reversa eacute

Exemplo 3 Arquivo de zona do DNS reverso

$TTL 3D IN SOA floydginkgo hostmasterginkgo ( 2007060402 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) ) NS floydginkgo 1 PTR floydginkgo 2 PTR hamiltonginkgo 4 PTR felixginkgo 11 PTR emilyginkgo

copy Linux New Media do Brasil Editora Ltda

55

| TUTORIALLPI Niacutevel 2

Linux Magazine 42 | Maio de 2008

usado um registro do tipo PTR seguido do nome para o IP es-pecificado

Um detalhe importante eacute que o nome dos hosts preci-sa ser completo incluindo o domiacutenio e o ponto no final Isso evita que o DNS reverso interprete a origem (que aqui eacute 168192in-addrarpa) como sendo o domiacutenio

Para que as novas configuraccedilotildees tenham efeito eacute necessaacuterio reiniciar o servidor de nomes O procedimento pode ser feito via script de iniciali-zaccedilatildeo ou simplesmente enviando o sinal HUP para o processo

killall -HUP named

Servidores escravosPara aumentar a disponibilidade do serviccedilo eacute recomendaacutevel criar um servidor DNS escravo de preferecircn-cia numa localizaccedilatildeo fiacutesica distante do servidor primaacuterio para evitar que panes eleacutetricas por exemplo afetem ambos

A entrada em namedconf para de-finir um servidor escravo pode ser escrita da seguinte forma

zone ldquoginkgordquo type slave file ldquodbginkgordquo masters 19216801

O servidor escravo armazena-raacute os registros da zona ginkgo atraveacutes de um processo chamado transferecircncia de zona O arquivo de zona no servidor escravo possui apenas o registro SOA como mostra o exemplo 4

A zona soacute eacute transferida se o nuacutemero serial do servidor escra-vo for menor que o do servidor primaacuterio O valor refresh especi-fica o intervalo em que o servidor escravo verificaraacute atualizaccedilotildees de registro no servidor primaacuterio Se

o servidor natildeo pocircde ser contacta-do seratildeo feitas novas tentativas a cada intervalo especificado no valor retry A zona deixaraacute de existir no servidor escravo se o primaacuterio natildeo puder ser contactado ateacute o final do periacuteodo-limite especificado no valor expire O uacuteltimo valor minimum determina o periacuteodo miacutenimo que a zona deve permanecer no servidor escravo Por padratildeo todos os valo-res satildeo expressos em segundos Para alterar a unidade de tempo basta utilizar um sufixo como H (hora) D (dia) ou W (semana) Por exemplo 2H (duas horas)

Redirecionamento de servidorUm redirecionamento simplesmen-te transfere todas as solicitaccedilotildees fei-tas ao servidor para outro servidor DNS armazenando os resultados temporariamente para agilizar fu-turas solicitaccedilotildees semelhante a um servidor caching-only Para redire-cionar qualquer solicitaccedilatildeo basta criar a seccedilatildeo options em namedconf da seguinte forma

options directory ldquovarnamedrdquo forwarders 20019214021 2001921435

Seratildeo utilizados os servidores especificados na opccedilatildeo forwarders Para que apenas solicitaccedilotildees para uma zona especiacutefica sejam redire-cionadas o tipo da zona deve ser especificado como forward

zone ldquoginkgordquo IN type forward forwarders 20019214021 2001921435

Os servidores de destino das soli-citaccedilotildees devem ser especificados da mesma forma na opccedilatildeo forwarders

Diagnoacutestico do servidorAgora o servidor DNS jaacute pode ser testado para encontrar possiacuteveis pro-blemas Para uma checagem simples pode ser usado o comando host Mas antes natildeo se esqueccedila de alterar os dados do servidor de nomes em etcresolvconf para o servidor que vocecirc acabou de configurar Feito isso utilize o comando host para um dos nomes registrados na zona criada

host felix felixginkgo has address 19216804

Testando o DNS reverso

host 19216842 40168192in-addrarpa domain name pointer felix1681920in-addrarpa

Pocircde ser verificado que tanto o DNS convencional quanto o DNS reverso estatildeo funcionando ao menos para o nome e IP do host felix

Para evitar alterar o arquivo etcresolvconf e obter informaccedilotildees um pouco mais detalhadas basta

Exemplo 4 Arquivo de zona com o regsitro SOA

IN SOA floydginkgo hostmasterginkgo ( 2007060401 serial 28800 refresh (8 horas) 7200 retry (2 horas) 2419200 expire (4 semanas) 86400 minimum (1 dia) )

copy Linux New Media do Brasil Editora Ltda

56 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

fornecer tambeacutem o nome do servi-dor DNS ao comando host

host www floydginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo hamiltonginkgo has address 19216802 Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo Using domain server Name floydginkgo Address 1921680153 Aliases

wwwginkgo is an alias for hamiltonginkgo

Pela saiacuteda podemos verificar en-tre as informaccedilotildees mostradas que o host wwwginkgo trata-se de um alias para o host hamiltonginkgo

Uma ferramenta especiacutefica para diagnoacutestico de servidores DNS eacute o comando dig (Domain Information Groper) Apesar de possuir vaacuterias opccedilotildees que podem ser consultadas na paacutegina manual do comando a forma mais usual de invocaacute-lo eacute dig servidor domiacutenio tipo O servidor DNS especificado pelo caracter seraacute consultado pelo domiacutenio e tipo de registro O exemplo 5 mostra como utilizar o comando dig

A saiacuteda eacute dividida em seccedilotildees O cam-po status da seccedilatildeo HEADER nos permite verificar se foram encontrados erros no servidor DNS A seccedilatildeo QUESTION mostra que tipo de requisiccedilatildeo foi feita ao servidor A resposta eacute mostrada na seccedilatildeo ANSWER A seccedilatildeo ADDITIONAL mostra os endereccedilos dos nomes exibidos em ANSWER

Outra ferramenta eacute o coman-do nslookup que trabalha de duas formas interativo e natildeo-interativo

Usado sem argumentos o nslookup entra em modo interativo

nslookup gt

Dessa forma seraacute utilizado o servi-dor de nomes especificado em etcresolvconf Outro servidor pode ser especificado da seguinte forma

nslookup - floyd gt

Note que haacute um espaccedilo entre o traccedilo e o nome do servidor A maneira mais simples de utilizar o modo interativo eacute simplesmente fornecer um nome a verificar e pressionar [enter]

gt hamilton Server 19216801 Address 1921680153

Name hamiltonginkgo Address 19216802 gt

Exemplo 5 Utilizaccedilatildeo do dig

dig floyd ginkgo ANY

ltltgtgt DiG 932-P1 ltltgtgt floyd ginkgo ANY (1 server found) global options printcmd Got answer -gtgtHEADERltlt- opcode QUERY status NOERROR id 28285 flags qr aa rd ra QUERY 1 ANSWER 3 AUTHORITY 0 ADDITIONAL 2

QUESTION SECTION ginkgo IN ANY

ANSWER SECTION ginkgo 259200 IN SOA floydginkgo hostmasterginkgo 2007060402 28800 7200 2419200 86400 ginkgo 259200 IN NS floydginkgo ginkgo 259200 IN MX 10 felixginkgo ADDITIONAL SECTION floydginkgo 259200 IN A 19216801 felixginkgo 259200 IN A 19216804

Query time 0 msec SERVER 1921680153(19216801) WHEN Mon Jun 4 154409 2007 MSG SIZE rcvd 146

copy Linux New Media do Brasil Editora Ltda

| TUTORIALLPI Niacutevel 2

Para pesquisar um nome no modo natildeo-interativo podem ser fornecidos o nome e o servidor como argumen-tos para o nslookup

nslookup felix floyd Server floyd Address 1921680153

Name felixginkgo Address 19216804

22073 Seguranccedila de DNSPara o administrador precavido a fa-lha em um servidor DNS pode natildeo ser um desastre de grandes proporccedilotildees Ele pode conectar-se atraveacutes do IP do servidor (caso o tenha) e recupe-rar o serviccedilo Os demais usuaacuterios da rede por sua vez apenas acessam as maacutequinas atraveacutes de seus nomes Uma interrupccedilatildeo do servidor DNS mesmo que a comunicaccedilatildeo da rede

ainda exista torna inviaacutevel sua uti-lizaccedilatildeo para quem desconhece os endereccedilos IP das maacutequinas

Num cenaacuterio ainda pior um in-vasor pode interceptar as chamadas DNS e conhecer os nomes e endere-ccedilos das maacutequinas da rede facilitan-do a identificaccedilatildeo e ataque Caso os registros tenham sido alterados um usuaacuterio pode conectar-se a uma maacute-quina-armadilha acreditando tratar-se de uma maacutequina conhecida Neste caso o invasor poderia facilmente conseguir dados sensiacuteveis de todo usuaacuterio enganado

Enjaular o servidorO servidor DNS pode ser executa-do num ambiente isolado onde soacute existam os componentes necessaacute-rios agrave sua execuccedilatildeo Esse ambiente eacute denominado jaula chroot Este processo ajuda a garantir a segu-ranccedila do servidor BIND colocan-

do-o numa ldquogaiolardquo que limitaraacute o ldquoestragordquo caso o servidor seja com-prometido Junto com a restriccedilatildeo a arquivos e diretoacuterios o servidor deve ser executado por um usuaacuterio sem privileacutegios de root

Por exemplo o daemon named pode ser iniciado como proces-so do usuaacuterio natildeo-privilegiado bind tendo como diretoacuterio raiz varnamed

named -u bind -t varnamed

Para que a jaula chroot fun-cione eacute necessaacuterio adaptar algu-mas variaacuteveis na configuraccedilatildeo do BIND O diretoacuterio raiz enxergado pelo daemon named seraacute varna-med portanto eacute necessaacuterio indi-car corretamente a localizaccedilatildeo de arquivos e diretoacuterios como o diretoacuterio dos arquivos de zona e do arquivo de PID

copy Linux New Media do Brasil Editora Ltda

58 httpwwwlinuxmagazinecombr

TUTORIAL | LPI Niacutevel 2

DNSSECAs transferecircncias de informaccedilotildees entre servidores DNS podem ser autenticadas atraveacutes de uma chave do DNSSEC um complemento do BIND

A chave eacute gerada pelo comando dnssec-keygen Diferentes algoriacutetimos podem ser escolhidos No exem-plo elas seratildeo geradas no diretoacuterio varnamed

cd varnamed dnssec-keygen -a DSA -b 768 -r devuramdom -n ZONE ginkgo

A opccedilatildeo -a especifica a criptografia utilizada a opccedilatildeo -b o tamanho da chave e -r a fonte de dados aleatoacute-rios para gerar a chave (se -r natildeo for fornecido o teclado seraacute usado como fonte de dados aleatoacuterios) A opccedilatildeo -n especifica qual o tipo do dono da chave (ZONE) Por fim eacute especificado o nome (ginkgo)

Terminada a execuccedilatildeo seraacute emitida uma resposta no formato Knnnn+aaa+iiiii Os elementos da resposta significam nnnn Nome da chave aaa Representaccedilatildeo numeacuterica

do algoriacutetimo iiiii Identificaccedilatildeo da chave

(ou impressatildeo digital)Neste exemplo foram gerados

dois arquivos Kginkgo+003+47654key e Kginkgo+003+47654pri-vate O arquivo key deve ser mencionado na respectiva zona atraveacutes de um $include ao final do arquivo

$include Kginkgo+003+47654key

Feito isso a zona deve ser assinada com o comando dnssec-signzone

dnssec-signzone -r devurandom -o ginkgo dbginkgo Kginkgo+003+47654

A opccedilatildeo -o define a origem do arquivo de zona Se natildeo for espe-

cificada a chave seratildeo utilizadas as mencionadas na zona O arqui-vo de saiacuteda dbginkgosigned seraacute criado e deveraacute ser especificado no registro da zona em namedconf

zone ldquoginkgordquo IN type master file ldquodbginkgosignedrdquo allow-update none

Tambeacutem seratildeo criados arquivos dsset e keyset utilizados para que o administrador da zona superior saiba quais chaves satildeo o ponto de entrada seguro para a zona

Os servidores DNS que bus-cam dados no servidor em que o DNSSEC foi utilizado poderatildeo agora validar os dados atraveacutes da chave puacuteblica contida no arqui-vo Kginkgo+003+47654key Essa chave deve estar presente na entrada trusted-keys do arquivo namedconf que obedece a seguin-te sintaxe

trusted-keys string number number number string string number number number string

A entrada trusted-keys pode fazer referecircncia a vaacuterias chaves Cada campo corresponde ao nome do domiacutenio opccedilotildees protocolo algoritmo utilizado e o coacutedigo da chave gerada Todos esses dados estatildeo contidos no arquivo key

No caso do exemplo o registro trus-ted-keys ficaria da seguinte forma

trusted-keys ldquoginkgordquo 256 3 3 ldquoBPDC8hyXf5G8TrgNikGbTVRTlpzpo5ldQt0ROv3viRFBlj7Je2NKIAoJGyEOhmmGHRw4Ls0uHLeQasRAFqz3IKIFh3UpH3b8KYoebkPaDk68zoFphMknxTAr3aUxPmzMKfkDzfHnfe2izxLhzZp52Me

fdeVbuMhusD5BmS4RMK5hsQmjpd8ew3L17RD6WxHxb5KBhr91qVEakLDcPnBG7fCDKgJbG6ynKd8iZKjZHgn5Ve1vQh4az72SCEnkOhljc6mkvUZmg+63PXtedw9IJaXULeq5iMydmZkRTvZtXlQnxObOOACSHwzO3WQSWvruOz6R9mjGY oSyhsAbnEx3HEETwn89GyJMKtYAsBHsTgAJyKgOMPx3OYOvSPCQThOXDuIoLzYEL3HnUqx5P5PXrdquo

Restringir acessoEacute possiacutevel restringir totalmente o acesso ao servidor de nomes a uma rede ou a um host especiacutefico atraveacutes da opccedilatildeo allow-query

allow-query 1921680024

Essa opccedilatildeo pode ser definida tanto na seccedilatildeo options quanto numa entrada de zona Se defini-da em ambos prevaleceraacute para a zona as regras nela especificadas Podem ser especificados mais de um endereccedilo de rede ou host

Para restringir transferecircncias de zona entre servidores ndash ou atraveacutes de comandos como dig e nslookup pode ser utilizada a opccedilatildeo allow-transfer na seccedilatildeo options

allow-transfer 19216802

Como para a opccedilatildeo allow-query mais de um endereccedilo podem ser especificados separados por ldquordquo

Consideraccedilotildees sobre o toacutepicoEste eacute outro toacutepico muito abor-dado na prova Sobretudo co-nheccedila muito bem o formato do arquivo namedconf e os arquivos de zona

Comandos relacionados como rndc dig e host tambeacutem seratildeo abordados

copy Linux New Media do Brasil Editora Ltda

59Linux Magazine 42 | Maio de 2008

AN

AacuteLIS

E

O SpagoBI oferece um pacote de BI completo e de Coacutedigo Aberto

Negoacutecio inteligenteO ramo da Business Intelligence conta com poderosas ferramentas e o SpagoBI se destaca entre as alternativas livres por sua modularidade e consequumlente flexibilidadepor Miguel Koren OrsquoBrien de Lacy

A praacutetica de BI (Business In-telligence) eacute tradicionalmente associada a bancos de dados

enormes em que as aacutereas de mar-keting das empresas tentam descobrir padrotildees de preferecircncias dos clientes usando consultas padronizadas Esses bancos de dados comumente conhe-cidos como data warehouses ou data mart satildeo formados por informaccedilotildees vindas dos mais diversos sistemas da empresa Um data warehouse eacute o repositoacuterio eletrocircnico de informa-ccedilotildees armazenadas da empresa Um data mart eacute um subconjunto de in-formaccedilotildees geralmente focadas em alguma necessidade especiacutefica Um exemplo poderia ser o data mart de informaccedilotildees de produccedilatildeo etc No Brasil temos o costume de usar o termo DW quando nos referimos a um data mart Outra aceitaccedilatildeo comumente encontrada no mer-cado considera sistemas BI como geradores de relatoacuterios diminuindo sua utilidade

Para nivelarmos o conhecimento da mateacuteria podemos convencionar que BI se refere agrave praacutetica de procu-rar armazenar e analisar a informa-ccedilatildeo apresentando em seguida os resultados necessaacuterios para tomar decisotildees fundamentadas e corretas Os sistemas de BI satildeo aplicativos ou ferramentas que suportam e permi-tem essas atividades necessariamente orientados pelos dados

Eacute importante lembrar que sem conhecimento do negoacutecio ou seja das necessidades de informaccedilatildeo e das decisotildees que precisam ser tomadas natildeo existe a possibilidade de prati-car BI Os sistemas de BI satildeo apenas facilitadores

O uso original de BI e as dificul-dades em implementar as soluccedilotildees fizeram com que o segmento atuasse como um espelho do passado para mostrar agrave empresa onde exatamente ela cometeu erros O que se deseja atualmente eacute um sistema de posi-cionamento que mostre onde a em-presa estaacute e como deve evoluir para chegar ao destino pretendido

Os sistemas BI devem mostrar informaccedilatildeo histoacuterica atual e visotildees preditivas O poder analiacutetico e a na-

vegaccedilatildeo pelas informaccedilotildees formam o atual potencial desses sistemas A visatildeo eacute poder obter os benefiacutecios de BI em qualquer lugar e qualquer momento O objetivo que precisa ser satisfeito hoje eacute o monitoramento de diversos indicadores para diversas aacutereas e consolidados para a empresa com o objetivo de aplicar o Geren-ciamento de Performance do Negoacutecio (BPM ndash Business Performance Ma-nagement nesse caso) Tambeacutem eacute interessante suportar um novo termo BI operacional que integra as in-formaccedilotildees analisadas pelo BI tradi-cional (em visatildeo de piracircmide satildeo o BI estrateacutegico e o BI taacutetico) com necessidades operacionais

A IDC publicou um estudo em 2006 que mostra um crescimento anu-

Figura 1 Modelo estrutural de funccedilotildees do SpagoBI

ramzi hashisho ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

60 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

al de 10 em soluccedilotildees BI entre 2005 e 2010 Diversas fontes citam o valor que o BI representa para as empresas e indicam que essa aplicaccedilatildeo comeccedila a fazer parte das soluccedilotildees de negoacutecio e natildeo simplesmente um aplicativo da aacuterea de marketing comprado e instalado por acaso Agrave medida que o mercado olha para os sistemas BI como criacuteticos para a gestatildeo as em-presas fornecedoras dessa tecnologia estatildeo se fundindo resultando em me-nos opccedilotildees para os clientes Algumas aquisiccedilotildees recentes em 2007 satildeo a compra da Hyperion pela Oracle[1] da Business Objects pela SAP[2] e da Cognos pela IBM[3]

Ao mesmo tempo que o mercado de sistemas comerciais estaacute se consoli-

dando aparecem siste-mas de BI licenciados como Software Livre o que aumenta o nuacute-mero de opccedilotildees para os clientes Essa modali-dade de licenciamento vem ao encontro das necessidades de imple-mentaccedilatildeo de BI para todos os funcionaacuterios da empresa pois pelo fato de natildeo existir cus-to de licenciamento eles podem ser usados por todos A empresa Ventana Research[4]

publicou um estudo sobre softwa-res de BI livres em 2006 que mostra que 48 das empresas entrevistadas indicaram o fator de custo como o mais importante na seleccedilatildeo de uma soluccedilatildeo de coacutedigo aberto Adicional-mente 24 dos usuaacuterios individuais entrevistados nesse estudo disseram que o uso de sistemas BI ajuda a aten-der melhor as necessidades pessoais de informaccedilatildeo e decisatildeo que devem fazer no dia-a-dia nas empresas

Natildeo existe uma variedade muito grande de sistemas BI de Coacutedigo Aberto que possam ser chamados de completos Devido agrave diversidade de componentes de um pacote de BI tais como geradores de relatoacuterios

anaacutelise de dados em cubos OLAP (on-line analytic processing)

mineraccedilatildeo de da-dos e

indicadores e pai-neacuteis de controle (dashboards)

entre outros muitos sistemas que atendem somente a uma ou poucas dessas aacutereas es-tatildeo classificados como sistemas BI Tambeacutem

eacute perceptiacutevel o fato de que os siste-mas BI completos de Coacutedigo Aberto contam com suporte oficial de uma empresa seja atuante no mercado BI ou profundamente envolvida com o Software Livre em geral

Caracteriacutesticas e tecnologiaO SpagoBI[5] eacute um sistema que satisfaz as condiccedilotildees para ser usa-do corporativamente atendendo a grande parte das necessidades de informaccedilatildeo relatadas acima Ele estaacute agrupado sob o conceito do Spago World que tem os seguintes obje-tivos gerais fornecer uma soluccedilatildeo livre poder ser usado em ambientes

corporativos facilitar a incorporaccedilatildeo de outras

tecnologias para formar um pa-cote de componentes variados

enfocar o desenvolvimento de soluccedilotildees

formar uma comunidade e contar com serviccedilos de suporte

O SpagoBI eacute membro do con-soacutercio OW2[6] suportado prin-cipalmente pela Bull[7] e pela France Telecom[8] O sistema foi desenvolvido como um framework para aplicativos web em Java para atender a projetos internos Em 2004 o ambiente foi completado e liberado sob a GPL no Source-Forge e posteriormente hospedado no ObjectWeb hoje OW2

O sistema hoje estaacute sob a li-cenccedila LGPL e tem tambeacutem a vantagem de ser verdadeiramente livre devido ao modelo de negoacutecio aplicado O SpagoBI natildeo oferece qualquer restriccedilatildeo ao uso e natildeo existem versotildees comerciais mais completas como eacute frequumlente em outros aplicativos de negoacutecio de Coacutedigo Aberto

Em 2007 foram liberadas algu-mas outras soluccedilotildees do Spago World Spago4Q (indicadores e meacutetricas de

Figura 2 Modelo estrutural do SpagoBI

Figura 3 Tela inicial do aplicativo analiacutetico

copy Linux New Media do Brasil Editora Ltda

61

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

qualidade no processo de desenvol-vimento de software) e Spagic (pla-taforma de integraccedilatildeo de sistemas utilizando SOA e BPM ndash Business Process Management nesse caso)

ComponentesO SpagoBI possui seis componentes principais servidor SpagoBI Spago-BI Studio SpagoBI SDK SpagoBI Meta e SpagoBI Applications

O servidor SpagoBI compreende o nuacutecleo para consultas pelo aplica-tivo aleacutem de apresentar o modelo analiacutetico do sistema Ele oferece os seguintes serviccedilos interface com o usuaacuterio intuiti-

va tipo rich client configuraccedilatildeo de fontes de dados geraccedilatildeo livre de consultas ao

sistema para anaacutelise assinaturas para receber informa-

ccedilatildeo perioacutedica e notificaccedilotildees aacutereas (pastas) para uso pessoal salvar importar e exportar as

configuraccedilotildees paacutegina individual (do tipo

MeuBI) integraccedilatildeo com mecanismos de vi-

sualizaccedilatildeo (PALO para Excel[9] e JPALO para Web[10])

alertas e notificaccedilotildees motor de busca acesso a consultas preacute-configu-

radas agrupadas por tiposO SpagoBI Studio por sua vez eacute

um ambiente em forma de plugin para o Eclipse[11] para desenvolver soluccedilotildees dentro do SpagoBI Ele oferece modeladores para todos os documentos analiacuteticos permite o upload para o servidor SpagoBI e possibilita a realizaccedilatildeo de testes aces-sando dados de testes ou reais

A SpagoBI SDK consiste em uma interface para acesso a serviccedilos de BI que possam ser integrados a outros aplicativos Oferece uma biblioteca de tags a proacutepria API de integraccedilatildeo e acesso a Web Services

Enquanto isso o SpagoBI Meta eacute um mecanismo de armazenamen-to de metadados (informaccedilatildeo que descreve os dados) Os metadados permitem que o usuaacuterio que faz a anaacutelise possa conhecer melhor a informaccedilatildeo tratada assim como a fonte dessa informaccedilatildeo

Por uacuteltimo as SpagoBI Appli-cations compreendem diversos aplicativos verticais Dentro desse conceito podemos mencionar o SpagoBI for AREAS utilizado para BI no campo da medicina AREAS eacute um sistema ERP italia-no voltado para empresas de me-

dicina que selecionou o SpagoBI como seu componente BI

As funcionalidades do sistema satildeo geraccedilatildeo de relatoacuterios com su-

porte a diversos mecanismos anaacutelise de dados em visotildees de

cubos OLAP paineacuteis de controle com indica-

dores (KPI) mineraccedilatildeo de dados visualizaccedilatildeo geograacutefica processos ETL (Extract Trans-

form Load) simulaccedilotildees what-if dossiecirc cataacutelogo de informaccedilotildees gerador de consultas usando

Figura 4 Menu de opccedilotildees e painel de controle

Figura 5 Exemplos de novos termocircmetros para formar paineacuteis

copy Linux New Media do Brasil Editora Ltda

62 httpwwwlinuxmagazinecombr

ANAacuteLISE | SpagoBI

mecanismos QbE (query by example) integraccedilatildeo de servi-

ccedilos BI ao Microsoft Office

colaboraccedilatildeoA figura 1 mostra o flu-

xo de informaccedilatildeo entre as diversas funccedilotildees da so-luccedilatildeo Todas as funccedilotildees satildeo acessadas somente pelo moacutedulo denomi-nado Modelo Compor-tamental que gerencia as permissotildees de acesso O sistema estaacute prepara-do para uso empresarial

considerando as seguintes carac-teriacutesticas restriccedilatildeo de

acesso agraves in-formaccedilotildees

single sign-on a publicaccedilatildeo

de elementos do sistema tais como definiccedilotildees de relatoacuterios eacute gerenciada den-tro do CMS (content mana-gement system) utilizando a nor-ma JSR 170

sistema escalaacutevel pois eacute escrito em Java e funciona dentro de um servidor de aplicaccedilatildeo

permite o uso de vaacuterios moto-res diferentes tanto de Coacutedigo Aberto quanto proprietaacuterios

eacute uma plataforma de integraccedilatildeo natildeo apenas um aplicativo

A figura 2 mostra a arquitetura do SpagoBI

Uma limitaccedilatildeo presente com frequumlecircncia em sistemas BI de Coacutedi-go Aberto eacute o fato de serem apenas ferramentas para construir a soluccedilatildeo sem um aplicativo pronto para ser utilizado plenamente O SpagoBI se destaca por apresentar tambeacutem

um aplicativo para o usuaacuterio de BI Esse aplicativo eacute acessado de dentro do ambiente web oferecido por outro componente OW2 a Exo Platform[12] que tem a possibilidade de rodar o aplicativo dentro de sua arquitetura de virtualizaccedilatildeo da aacuterea de trabalho o WebOS[13] Poreacutem adicionalmente agrave eXo Platform o SpagoBI estaacute cer-tificado para rodar dentro do portal Liferay[14] muito conhecido e uti-lizado em ambientes de arquitetura Java O CMS JSR 170 tambeacutem eacute for-necido pela eXo Platform

DiferenciaisUm diferencial muito importante do SpagoBI eacute ser uma plataforma de integraccedilatildeo para diversas ferramentas de BI Como consequumlecircncia para ob-tenccedilatildeo de um aplicativo completo devem ser instalados os diversos me-canismos individuais do SpagoBI

O sistema eacute completamente desen-volvido em Java com operaccedilatildeo pelo navegador web para uso e consultas Certos componentes satildeo utilizados em ambiente graacutefico ndash e natildeo web ndash como o mecanismo ETL Entre os componentes agrupados pelo SpagoBI podemos encontrar projetos de Coacutedigo Aberto bem conhecidos como Weka para mineraccedilatildeo de dados Mondrian e PALO para anaacutelise

OLAP de cubos multi-dimen-sionais

BIRT e Jasper Reports para ge-raccedilatildeo de relatoacuterios

Talend para processos ETL Lazslo para paineacuteis de controle

e indicadores

OperaccedilatildeoPrimeiramente o aplicativo deve ser acessado por meio do navegador web O mecanismo de seguranccedila determi-na as permissotildees de acesso do usuaacuterio no processo de login (figura 3)

Apoacutes o login o usuaacuterio tem agrave dis-posiccedilatildeo a tela inicial em que pode

Figura 6 Tela com a visatildeo geograacutefica dos dados

Figura 7 Interface de acesso a BI fornecida pelo WebOS

Figura 8 Seleccedilatildeo de relatoacuterios no navegador BI

copy Linux New Media do Brasil Editora Ltda

63

| ANAacuteLISESpagoBI

Linux Magazine 42 | Maio de 2008

selecionar as operaccedilotildees a efetuar A figura 4 exibe o painel de controle com indicadores de desempenho

Eacute possiacutevel substituir os indicadores visuais da figura 4 por outros como os da figura 5 particularmente interes-santes para o usuaacuterio por mudarem de posiccedilatildeo dinamicamente pelo acesso regular aos dados que representam O painel portanto natildeo conteacutem ape-nas informaccedilotildees estaacuteticas

Para gerar uma nova consulta o usuaacuterio pode usar a funcionalidade QbE (query by example) que exibe as tabelas que podem ser consulta-das e para cada uma os dados que podem ser selecionados

Com as consultas definidas tan-to diretamente em bancos de dados quanto em cubos para anaacutelise OLAP pode ser configurada uma tela de con-sulta geograacutefica conforme mostrado na figura 6 Selecionando aacutereas da fi-gura o usuaacuterio seraacute levado a telas de consulta dos detalhes do item

Usando as possibilidades do We-bOS eacute possiacutevel definir telas BI mais sofisticadas conforme mostra a figura 7 Poreacutem caso a consulta requerida seja frequumlente talvez jaacute esteja disponiacutevel para consulta imediata pelo navegador de consultas do sistema (figura 8)

A interface graacutefica do aplicativo web permite que o usuaacuterio agrupe di-ferentes relatoacuterios e visotildees em conjun-tos denominados dossiecircs Cada rela-

toacuterio ou objeto BI em geral permite que o usuaacuterio faccedila anotaccedilotildees Assim pode ser delegada a funccedilatildeo de pre-parar por exem-plo um dossiecirc de status de projeto a usuaacuterios de dife-rentes aacutereas que possam preparar o material e re-gistrar questotildees relevantes para a anaacutelise final Essa

eacute a base das possibilidades colabora-tivas do sistema

Os relatoacuterios podem ser salvos em diferentes formatos atualmen-te limitados a HTML PDF XLS CSV XML TXT e JPG

A figura 9 mostra um exemplo de tela com o editor de notas aberto

ConclusatildeoFazer uso eficiente e produtivo de um pacote de BI eacute uma meta nobre e difiacutecil de atingir A forma de implementar o SpagoBI e a possibilidade de integraccedilatildeo de motores individuais de diferentes fa-bricantes permite que o uso do SpagoBI comece pouco difundido e aumente conforme as necessidades

A implementaccedilatildeo do SpagoBI considera ter resultados bons mesmo que parciais algo muito importante para o projeto de implementaccedilatildeo O SpagoBI permite que a empresa inicie por exemplo apenas com a necessidade de um termocircmetro que mostre em forma de painel de con-trole a quantidade de peccedilas vendidas por semana

O estudo da Ventana Research mencionado anteriormente mos-tra que as empresas entrevistadas consideram que os pacotes de BI de Coacutedigo Aberto tecircm suficientes caracteriacutesticas para serem usados Esse eacute o caso do SpagoBI o clien-te que resolver iniciar um projeto

de BI com ele natildeo sentiraacute falta de funcionalidades para aspectos fun-damentais de BI Destacamos que para uma implementaccedilatildeo bem sucedida eacute muito importante dar passos firmes sustentados com um planejamento adequado

Mais informaccedilotildees

[1] Aquisiccedilatildeo da Hyperion pela Oracle httpwwworaclecomcorporatepress2007_marhyperionhtml

[2] Aquisiccedilatildeo da Business Objects pela SAP httpwwwbusinessobjectscomcompanysap

[3] Aquisiccedilatildeo da Cognos pela IBM httpwwwcognoscomnewsreleases20071112html

[4] Ventana Research httpwwwventanaresearchcom

[5] SpagoBI httpspagobiengit

[6] Consoacutercio OW2 httpwwwow2org

[7] Bull httpwwwbullcombr

[8] France Telecom httpwwwfrancetelecomcom

[9] PALO httpwwwjedoxcom

[10] JPALO httpwwwjpalocom

[11] Eclipse httpwwweclipseorg

[12] eXo Platform httpwikiexoplatformcomxwikibinviewMain

[13] WebOS httpwikiexoplatformcomxwikibinviewMainWebOS+concept

[14] Liferay httpwwwliferaycom

Figura 9 Relatoacuterio graacutefico mostrando o editor de notas

copy Linux New Media do Brasil Editora Ltda

64

AN

AacuteLIS

E

httpwwwlinuxmagazinecombr

DVD do assinante Librix 3

Para conquistar o puacuteblicoEm sua versatildeo 30 o Librix da Itautec atinge a maturidade para ser adotado por seu atual puacuteblico-alvo os usuaacuterios inexperientespor Pablo Hess

Distribuiccedilotildees genuinamente nacionais de grande sucesso jaacute foram numerosas e muito

presentes nas maacutequinas brasileiras Atualmente no entanto satildeo raras especialmente apoacutes a meteoacuterica as-cenccedilatildeo do Ubuntu entre os usuaacuterios de desktop assim como a ampla ado-

ccedilatildeo de distribuiccedilotildees mundialmente difundidas como Open Suse Fedora e Mandriva

A onda de novas distribuiccedilotildees nacio-nais no entanto promete mudar esse cenaacuterio Fortemente baseadas em dis-tribuiccedilotildees usadas em grande escala no exterior as distribuiccedilotildees que equipam os

computadores ven-didos sob o programa Computador Para Todos do Governo Federal geralmente realizam apenas al-gumas adaptaccedilotildees graacuteficas e de idiomas para tornarem o uso das maacutequinas mais praacutetico para nosso povo ndash com algumas exceccedilotildees eacute claro

Uma das mais gratas dentre exce-ccedilotildees estaacute sendo en-tregue junto com o DVD do assinante desta ediccedilatildeo da Li-nux Magazine O Librix 3 fabricado pela Itautec tem base no poderoso e flexiacutevel Gentoo ndash conhecido espe-cialmente entre os usuaacuterios avanccedilados de Linux O valor do Librix no entanto reside justamente em seu sucesso na oferta de inuacutemeras vantagens a uma

ampla gama de usuaacuterios Enquanto os mais iacutentimos do sistema do pinguumlim tecircm agrave disposiccedilatildeo os flexiacuteveis utilitaacuterios de linha de comando do Gentoo os usuaacuterios inexperientes que iniciam seu aprendizado em Linux com a dis-tribuiccedilatildeo da Itautec desfrutam de um agradaacutevel e organizado ndash aleacutem de atra-ente claro ndash ambiente KDE

BelezaA aacuterea de trabalho do Librix (figura 1) traz os principais iacutecones que o usuaacuterio iniciante espera encontrar aleacutem da Pasta do Usuaacuterio pode-se acessar o navegador Firefox o pacote de escritoacute-rio BrOfficeorg o Sistema Konqueror (acessando a URI system e exibindo locais de rede e miacutedias externas ndash figura 2) e a lixeira

E jaacute comeccedilam as inovaccedilotildees O tema adotado por padratildeo como mostra a fi-gura 2 eacute colorido e elegante capaz de agradar todos os tipos de usuaacuterios ndash uma constante nessa versatildeo da distribuiccedilatildeo jaacute podemos adiantar Os efeitos graacuteficos do desktop fornecidos pelo gerenciador de janelas Compiz e com ornamentos do Emerald vecircm desabilitados mas um iacutecone na barra de tarefas (figura 3) permite sua ativaccedilatildeo e configura-ccedilatildeo baacutesica com apenas dois cliques do mouse ou a alteraccedilatildeo de opccedilotildees mais avanccediladas mediante o acionamento de utilitaacuterios completos

Ao ser ativado o Compiz a con-figuraccedilatildeo-padratildeo do Librix 3 utiliza todos os recursos disponiacuteveis geral-mente em modo aleatoacuterio Embora isso possa ser impressionante para fins de demonstraccedilatildeo os usuaacuterios

Figura 1 A aacuterea de trabalho do Librix 3 traz os iacutecones mais impor-tantes e um visual muito atraente

Figura 2 O navegador do sistema exibe dispositivos de armazena-mento externos e remotos

copy Linux New Media do Brasil Editora Ltda

65

| ANAacuteLISEDVD do assinante

Linux Magazine 42 | Maio de 2008

podem se cansar rapidamente desse comportamento exagerado

O menu trazido pela Itautec (figura 4) eacute outro aspecto novo nessa versatildeo da distribuiccedilatildeo Seu comportamen-to diferente do presente nas demais distribuiccedilotildees Linux da atualidade no entanto pode ser um fator negativo especialmente para os usuaacuterios inex-perientes ndash felizmente desativaacute-lo eacute tatildeo faacutecil quanto ativar os efeitos 3D exigindo apenas um clique com o botatildeo direito sobre o botatildeo Menu e sua configuraccedilatildeo

PoderO sistema Gentoo que vive sob o Librix eacute o velho conhecido dos obcecados por personalizaccedilatildeo Utilizando um mirror da distribuiccedilatildeo padratildeo os pacotes que diferenciam essa distribuiccedilatildeo de sua ldquoprogenitorardquo residem nos overlays (re-positoacuterios alternativos de pacotes) locais em usrlocalportage e usrlocalportagexeffects Isso eacute suficiente para fornecer ao Librix o pacote de escritoacuterio BrOfficeorg (ausente no Gentoo) e o gerenciador graacutefico de pacotes Tutoo Package Manager (figura 5) aleacutem de alguns outros softwares que englobam desde moacutedulos para a linguagem Python ateacute as leves particularidades graacuteficas do sistema da Itautec

Mesmo com todas essas facilida-des o gerenciamento do sistema pode ser feito inteiramente pela linha de comando com os poderosos emer-ge eselect equery e companhia A

Itautec natildeo utiliza pacotes binaacuterios ou seja o sistema compila cada um dos pa-cotes instalados no sistema salvo importantes exceccedilotildees como o BrOfficeorg ndash cuja compilaccedilatildeo levaria vaacuterias horas Apesar de tornar a instalaccedilatildeo de novos softwa-res significativamente mais lenta que distribuiccedilotildees com pacotes DEB RPM ou tgz essa estra-teacutegia garante a possibilidade de per-sonalizaccedilatildeo por meio das flags USE responsaacuteveis por ativar ou desativar as opccedilotildees de compilaccedilatildeo de cada pacote que compotildee o sistema Aleacutem disso garante a constante atualizaccedilatildeo dos pacotes satisfazendo dependecircncias com facilidade e anulando as restri-ccedilotildees de versotildees de bibliotecas

PraticidadeNatildeo haacute como negar o puacuteblico-alvo dessa distribuiccedilatildeo eacute o usuaacuterio iniciante que estaacute travando seu primeiro contato com o Linux Nesse sentido um im-portante aspecto do sistema eacute incluir ldquode faacutebricardquo softwares que supram as necessidades de quem jaacute tem costume com algum sistema Windowsreg

O Librix jaacute traz os codecs de aacuteudio e viacutedeo proprietaacuterios da Microsoft (WMA e WMV satildeo seus principais represen-tantes) e eacute capaz de reproduzir DVDs em seu reprodutor multimiacutedia Kaffeine Os usuaacuterios do iTunes da Apple tam-beacutem podem evitar a saudade usando

o amigaacutevel Amarok Softwares raramente incluiacutedos em outras distribuiccedilotildees como o Skype e o geren-ciador de downloads Downloader for X por exemplo tam-beacutem vecircm instalados mas falta um utilitaacute-rio de configuraccedilatildeo de conexotildees PPPoE a mais comum em serviccedilos ADSL

ConclusotildeesA Itautec vem me-lhorando seu Librix a cada nova versatildeo Com facilidades im-portantes voltadas aos novos usuaacuterios Linux a distribuiccedilatildeo se torna uma al-ternativa interessante para os usuaacuterios que temem deixar sua zona de con-forto em relaccedilatildeo ao comportamento de seu desktop

O gerenciamento de pacotes agora feito pelo TPM finalmente alcanccedilou o niacutevel de maturidade exigido para satisfa-zer as necessidades do puacuteblico iniciante ndash principalmente a facilidade de uso e compreensatildeo ndash ainda assim preservando o poder do Portage ldquosob o capocircrdquo

O visual e o comportamento do am-biente desktop fazem alusatildeo agraves atuais versotildees do Windows (XP e Vista) o que certamente contribui para a que-da de uma importante barreira para a adoccedilatildeo dessa distribuiccedilatildeo no programa Computador Para Todos

Figura 3 Ativar e desativar os efeitos 3D na aacuterea de trabalho do Librix eacute muito praacutetico

Figura 4 O menu KBFX vem ativado por padratildeo e mostra seme-lhanccedilas com o de diferentes versotildees do Windows

Figura 5 O Tutoo Package Manager livra o usuaacuterio de adquirir intimidade com o comando emerge

copy Linux New Media do Brasil Editora Ltda

66 httpwwwlinuxmagazinecombr

Manipulando maacutequinas com o Puppet

MarioneteAprenda a economizar tempo e agilize a administraccedilatildeo de sistemas com ajuda do Puppet uma ferramenta de gerenciamento e configuraccedilatildeo centralizadospor Juliet Kemp

O Puppet eacute um sistema centra-lizado de gerenciamento de configuraccedilatildeo que usa uma

linguagem de especificaccedilatildeo multiplata-forma Para usaacute-lo executa-se um ser-vidor Puppet central ndash o puppetmaster ndash e os daemons do programa em todos os computadores que devem ser admi-nistrados As opccedilotildees de configuraccedilatildeo para todas as maacutequinas-cliente satildeo es-pecificadas no PuppetMaster Depois as alteraccedilotildees nas configuraccedilotildees satildeo propagadas a partir do PuppetMaster para os clientes adequados

O Puppet permite o gerenciamento de arquivos (dono modo conteuacutedo e existecircncia) usuaacuterios grupos pa-cotes e serviccedilos a partir de um local central Pode-se rodar comandos ou scripts e tambeacutem eacute possiacutevel gerenciar crontabs montagem de sistemas de arquivos e configuraccedilotildees de rede

Cada item gerenciado eacute chamado de recurso e os recursos satildeo categori-zados em tipos (por exemplo arquivo pacote serviccedilo cron) O Puppet estaacute em intenso desenvolvimento receben-do novos tipos regularmente ndash pode-se ateacute criar tipos personalizados

Por que usaacute-loOs trecircs principais motivos para usar o Puppet satildeo 1 O programa manteacutem um regis-

tro da configuraccedilatildeo do cliente Se um sistema-cliente morrer eacute possiacutevel gerar uma configura-ccedilatildeo idecircntica num novo sistema com base na informaccedilatildeo arma-zenada no Puppetmaster

2 Se houver mais de uma maacutequi-na eacute possiacutevel instalaacute-las de forma idecircntica ou usar o mesmo siste-ma-base e aplicar as modificaccedilotildees para clientes individuais

3 O conjunto de tipos do Puppet facilita o gerenciamento de muacuteltiplos sistemas a partir de um local uacutenico

Outra vantagem do Puppet eacute que ele funciona em conjunto com uma ferramenta chamada Facter Ela define variaacuteveis especiacuteficas em cada maacutequina (como nome da maacutequina endereccedilo IP e sistema operacional) automatica-mente permitindo um ajuste fino de configuraccedilotildees especiacuteficas em clientes individuais sem perder os benefiacutecios de uma configuraccedilatildeo comum

Instalaccedilatildeo e configuraccedilatildeoO coacutedigo-fonte do Puppet estaacute dispo-niacutevel no site do projeto[1] e seus pa-cotes estatildeo presentes nos repositoacuterios de vaacuterias distribuiccedilotildees Linux

O principal arquivo de configuraccedilatildeo eacute etcpuppetpuppetmasterconf com uma estrutura bem clara e simples

[puppetmasterd] Assegure-se de que todas as mensagens de log sejam enviadas ao di- retorio correto Ele deve ser gravavel pelo usuario puppetlogdir=varlogpuppetvardir=varlibpuppetrundir=varrun

Para guardar tambeacutem o conteuacutedo dos arquivos seraacute necessaacuterio uma con-figuraccedilatildeo de servidor de arquivos em etcpuppetfileserverconf O coacutedigo mostrado a seguir exibe o caminho para o armazenamento de arquivos no puppetmaster e permite o acesso a todas as maacutequinas em exemplocom

[files] path etcpuppetfiles allow exemplocom deny ruimexemplocom allow 1921680024

Aleacutem disso tambeacutem eacute possiacutevel ba-nir domiacutenios ou maacutequinas especiacuteficos bem como especificar por endereccedilo IP caso seja preferiacutevel Para criar os usuaacuterios do Puppet que o daemon utiliza deve-se usar a opccedilatildeo mkusers ao executar o daemon puppetmaster pela primeira vez

Como ainda natildeo foram criadas as definiccedilotildees dos noacutes tambeacutem seraacute ne-cessaacuterio usar a opccedilatildeo --nonodes

usrbinpuppetmasterd --mkusers --nonodes

Receita baacutesicaCom a configuraccedilatildeo baacutesica jaacute feita vejamos como configurar o mani-festo do site e comeccedilar a gerenciar as configuraccedilotildees e outros tipos Por padratildeo o principal manifesto de site do Puppet fica em etcpuppetma-nifestssitepp Tudo nesse arquivo seraacute executado em todos os clientes Para comeccedilar podemos tentar colo-

RE

DE

S

dim

itris

pet

rid

is ndash

ww

ws

xch

u

copy Linux New Media do Brasil Editora Ltda

67

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

car algo numa receita faacutecil o arquivo sudoers eacute um bom candidato

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo440rdquo

Isso garante que o arquivo sudoers do cliente tenha essas propriedades

ClienteEm seguida eacute necessaacuterio iniciar o PuppetMaster e configurar um cliente para testes No cliente eacute necessaacuterio o pacote puppet Para definir o nome do servidor para um site deve-se in-cluir no arquivo etcpuppetpuppetdconf a linha

server = puppetserverexemplocom

Depois alterar os modos ou o dono do arquivo etcsudoers no cliente para que fiquem diferentes do es-pecificado no arquivo sitepp do PuppetMaster A seguir deve-se executar o cliente pela primeira vez com o comando

puppetd --waitforcert 60 --test

Os clientes satildeo autenticados por uma requisiccedilatildeo de certificado ao Pu-ppetMaster O cliente acusaraacute a falta de um certificado e em seguida faraacute uma pausa para que se possa ordenar que o PuppetMaster assine o certifi-cado do cliente O comando puppet-ca --list no PuppetMaster lista os clientes que aguardam sua assinatura Com puppetca --sign clienteexemplocom (novamente no PuppetMaster) o certificado seraacute assinado (puppetca --sign --all assinaraacute todos os certifica-dos que estatildeo aguardando) Apoacutes 60 segundos o cliente obteacutem o certificado assinado e eacute executado A opccedilatildeo test faz com que o cliente rode em modo verboso e apenas uma vez

Apoacutes terminar eacute importante verifi-car o arquivo etcsudoers o modo deve ser o mesmo especificado no Puppet-Master e natildeo o que foi alterado

Aleacutem de gerenciar atributos de arquivos o Puppet tambeacutem gerencia seu conteuacutedo atuando como servi-dor de arquivos Para isso primeiro eacute preciso criar um arquivo sudoers de exemplo e colocaacute-lo em etcpu-ppetfilessudoers

Em seguida edite novamente o arquivo sitepp para que a receita do sudoers fique semelhante a

file ldquoetcsudoersrdquo owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt 440 source =gt ldquopuppetpuppetserverexemplocomfilessudoersrdquo

Edite o arquivo no cliente para que ele fique diferente do con-teuacutedo acima e rode novamente o Puppet com o comando ppuppetd --test O conteuacutedo do arquivo seraacute alterado

O trecho abaixo tambeacutem mostra como usar um uacutenico contecirciner file para muacuteltiplos recursos de arquivo

file ldquostarrdquo ensure =gt link target =gt ldquosoft9starrdquo ldquotestdirrdquo ensure =gt directory

DependecircnciasOs recursos interagem uns com os outros Certos pacotes satildeo necessaacute-rios para determinados serviccedilos por exemplo ou talvez se queira reiniciar um serviccedilo quando um arquivo espe-ciacutefico for alterado O Puppet possui dependecircncias ndash notavelmente require

e subscribe ndash para especificar essas interaccedilotildees

O trecho abaixo usa o tipo service que pode ser usado para qualquer daemon que se queira deixar em execuccedilatildeo (no caso o Slapd)

service ldquoslapdrdquo ensure =gt running hasrestart =gt true require =gt Package[ldquoslapdrdquo] subscribe =gt [File[ldquoldapconfrdquo] File[ldquoetcldapschemardquo]]

A opccedilatildeo hasrestart informa ao Pu-ppet se ele deve reiniciar o serviccedilo com stopstart ou com restart A diretiva re-quire simplesmente fornece um rela-cionamento de ordem ela garante que o recurso referido ndash no caso o pacote slapd ndash estaraacute configurado antes deste serviccedilo Todos os tipos suportam isso

O item subscribe eacute uma depen-decircncia relativa Se os recursos espe-cificados forem alterados o item eacute atualizado Os tipos exec service e mount suportam isso

Note a forma como os recursos do Puppet satildeo especificados nesse contex-to com o nome do tipo comeccedilando com letra maiuacutescula e fornecendo o nome do recurso Aleacutem disso esses recursos precisam ser especificados em outros locais ou ocorreraacute um erro

O Puppet eacute capaz de gerenciar diversos tipos packages o Puppet interage

com a maioria dos principais sistemas de pacotes e pode garantir que programas espe-ciacuteficos estejam instalados o que eacute particularmente uacutetil ao instalar uma nova maacutequina

package ldquoslapdrdquo ensure =gt installed

exec executa comandos internos O comando subscribe eacute uacutetil nesse ponto Por exemplo um trecho

copy Linux New Media do Brasil Editora Ltda

68 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

que atualiza o exim4 quando sua configuraccedilatildeo eacute modificada

exec ldquoexim4-updaterdquo command =gt ldquousrsbinupdate-exim4confrdquo user =gt ldquorootrdquo subscribe =gt File[ldquoupdate-exim4rdquo] refreshonly =gt true

usuaacuterios e grupos esse tipo tem como objetivo gerenciar usuaacute-rios do sistema e natildeo usuaacuterios normais Eacute possiacutevel gerenciar o diretoacuterio home (por exemplo criaacute-lo) assim como outros atri-butos de usuaacuterio

user ldquomanagerrdquo ensure =gt present home =gt ldquolocalmanagerrdquo managehome =gt true gid =gt ldquosystemusersrdquo

cron gerencia cron jobs Um uso possiacutevel para esse recurso eacute reini-ciar o Puppet em clientes caso ele falhe como mostra o exem-plo 1 Embora esteja mostrado em muacuteltiplas linhas o coman-do tambeacutem pode ser usado em uma uacutenica A hora e o dia para execuccedilatildeo do cron job assim como o usuaacuterio a executar a ta-refa podem ser definidos como no trecho acima O comando eacute adicionado ao crontab do usuaacuterio correspondente

mount monta diretoacuterios para o en-sure Se o paracircmetro ensure estiver definido como present o sistema de arquivos estaraacute na tabela mas natildeo montado Se o paracircmetro estiver definido como mounted o sistema de arquivos seraacute adicio-nado agrave tabela e montado E se o paracircmetro estiver definido como absent o sistema de arquivos seraacute removido da tabela

Tambeacutem estatildeo disponiacuteveis vaacuterios atributos de rede maacutequinas in-terfaces listas de email aliases de email e chaves SSH

PadrotildeesEacute possiacutevel definir padrotildees para qual-quer recurso Por exemplo se a maio-ria dos arquivos de uma maacutequina pertencer ao usuaacuterio root e tiverem permissotildees 644 o seguinte trecho vai estabelecer esses valores como padratildeo para todos os arquivos

File owner =gt ldquorootrdquo group =gt ldquorootrdquo mode =gt ldquo644rdquo

Para contornar esse padratildeo basta es-pecificar um valor diferente para qual-quer um desses paracircmetros num recurso especiacutefico Note que os padrotildees somente se aplicam a seu proacuteprio escopo (classe) e a qualquer classe abaixo dessa se for desejaacutevel aplicaacute-los globalmente eacute ne-cessaacuterio defini-los fora de todas as classes ndash por exemplo no arquivo sitepp

Organizaccedilatildeo do diretoacuterioO site do Puppet oferece sugestotildees de organizaccedilatildeo de arquivos e ma-nifestos Independente do sistema usado eacute importante certificar-se de que ele seja compreensiacutevel e facil-mente atualizaacutevel

Um exemplo seria

- Diretoacuterio principal do Puppet |- Arquivos |- Aplicativos |- Usuaacuterios |- Manifestos |- sitepp - Noacutes - diretoacuterio com manifestos de vaacuterios noacutes - confira a proacutexima seccedilatildeo - Classes - diretoacuterio com manifestos de vaacuterias classes dependendo do programa (aptpp apache2pp) |- Definiccedilotildees |- Modelos (templates)

Todos os subdiretoacuterios contecircm arquivos de classe (veja abaixo) e para incluiacute-los o arquivo sitepp fica semelhante a

import ldquoclassesrdquoimport ldquodefinicoesrdquoimport ldquonosrdquoimport ldquousuariosrdquo

NoacutesAteacute o momento consideramos somen-te a configuraccedilatildeo de uma uacutenica maacute-quina mas o Puppet realmente brilha quando se tem muacuteltiplas maacutequinas Se forem todas idecircnticas basta criar uma configuraccedilatildeo ndash a padratildeo

siteppdefault include sudo

Mas tambeacutem se pode ter uma confi-guraccedilatildeo diferente para cada maacutequina

Exemplo 1 Cron job para reiniciar o Puppet

01 cron restart-puppet02 command =gt lsquoif [ -e varrunpuppetdpid ] then ps uw -p `cat varrunpuppetdpid` | grep -q lsquo ruby usrsbinpuppetdrsquo03 || (rm varrunpuppetdpid etcinitdpuppet start) firsquo04 user =gt root05 minute =gt lsquo0rsquo06

copy Linux New Media do Brasil Editora Ltda

69

| REDESAdministraccedilatildeo centralizada

Linux Magazine 42 | Maio de 2008

assim como criar configuraccedilotildees-base e depois herdaacute-las ou incluiacute-las na configuraccedilatildeo dos noacutes Por exemplo eacute possiacutevel criar uma configuraccedilatildeo baacute-sica para servidores diferente daquela para desktops e ambas podem herdar de uma base ou configuraccedilatildeo-padratildeo comum (exemplo 2)

As classes podem ser especifica-das num arquivo individual ou em um arquivo por classe recomenda-se a segunda forma para facilitar o gerenciamento

Facter modelos variaacuteveisUm aspecto uacutetil do Puppet eacute que ele vem com o Facter uma ferramenta que informa vaacuterios ldquofatosrdquo (facts em inglecircs daiacute o nome Facter) a respeito de uma maacutequina especiacutefica incluindo seu nome IP arquitetura sistema ope-racional chave SSH informaccedilotildees de processador e memoacuteria entre outros

Para uma lista completa dos fatos fornecidos por padratildeo basta digitar facter na linha de comando Eacute pos-siacutevel consultar esses fatos de den-tro do Puppet com $nome_do_fato Eles possuem dois usos importan-tes criar estruturas condicionais e usaacute-las em modelos

CondicionaisO Puppet possui trecircs tipos de con-dicionais 1 seletores satildeo usados dentro de

uma diretiva

package ldquokbr-clientsrdquo ensure =gt $operatingsystem ubuntu =gt absent debian =gt installed default = undef

Nesse trecho se o fato $opera-tingsystem estiver definido como

ubuntu o pacote natildeo estaraacute ins-talado se estiver como debian o pacote estaraacute instalado O padratildeo eacute natildeo definir o atributo

2 A diretiva case oferece uma forma de aplicar classes con-dicionalmente

case $operatingsystem ubuntu include ubuntu debian include debian default include basic

Nesse trecho a classe especiacute-fica a cada sistema operacio-nal eacute incluiacuteda dependendo

novamente do valor do fato $operatingsystem Eacute possiacutevel especificar muacuteltiplas condiccedilotildees entre viacutergulas

3 Tambeacutem existe uma estrutura ifelse mais simples

if $needexample file ldquousrlocalexemplordquo ensure =gt present else file ldquousrlocaltesterdquo ensure =gt present

Exemplo 2 Muacuteltiplas classes e heranccedila

01 class base 02 Varias coisas basicas03 include autofs04 include cron05 include puppet06 include ssh07 e assim por diante08 0910 class desktop inherits base 11 Tudo na classe lsquobasersquo serah automaticamente incluido aqui12 Depois tambem eh possivel13 include latex14 include gnome15 e assim por diante16 1718 class server inherits base 19 Novamente tudo da classe lsquobasersquo serah automaticamente incluido20 E depois outras coisas exclusivas de servidores21 include nfs22 e assim por diante23

Exemplo 3 iptableserb

01 filter02 INPUT DROP [00]03 FORWARD DROP [00]04 OUTPUT ACCEPT [00]05 -A INPUT -d 127000255000 -i lo -p tcp -j DROP06 -A INPUT -d lt= ipaddress gt -m state --state RELATEDESTABLISHED -j ACCEPT07 -A INPUT -i lo -j ACCEPT08 -A INPUT -s 10419815302552552550 -d lt= ipaddress gt -j ACCEPT09 -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j LOG --log-prefix ldquosshrdquo -A INPUT -d lt= ipaddress gt -p tcp -m tcp --dport 22 -j ACCEPT10 COMMIT

copy Linux New Media do Brasil Editora Ltda

70 httpwwwlinuxmagazinecombr

REDES | Administraccedilatildeo centralizada

Atualmente eacute possiacutevel determinar apenas se uma dada variaacutevel estaacute de-finida sem distinguir entre valores es-peciacuteficos Para fazer isso eacute necessaacuterio usar as diretivas case ou selector

ModelosOs modelos usam a linguagem Ruby para inserir variaacuteveis num arquivo-fonte Em outras palavras eacute como fornecer um arquivo central que pode variar de uma maacutequina para outra

Um bom exemplo de uso de um fato num modelo eacute definir uma po-liacutetica de ipchains Por exemplo o ar-quivo iptableserb (ERB eacute a sintaxe de modelos do Ruby) mostrado no exemplo 3 utiliza o fato $ipaddress

Depois eacute possiacutevel fazer referecircncia a esse modelo

file ldquoiptables_configrdquo name =gt ldquoetcsysconfigiptablesrdquo content =gt template(ldquoetcpuppettemplatesiptableserbrdquo)

Note que enquanto os arquivos precisam da sintaxe puppetpu-ppetserverexemplocom os modelos natildeo precisam

Fatos personalizadosOs fatos-padratildeo estatildeo disponiacuteveis em todos os clientes automaticamente

Poreacutem caso se deseje criar fatos personalizados eacute interessante mantecirc-los no PuppetMaster e entatildeo confi-gurar os clientes para sincronizarem seus fatos com o servidor

Acrescente a seguinte seccedilatildeo ao arquivo etcpuppetfileserverconf no puppetmaster

[facts] path etcpuppetfacts allow exemplocom

e em cada cliente adicione a se-guinte linha ao arquivo etcpuppetpuppetdconf

factsync = true

Em seguida reinicie o PuppetMas-ter no servidor e o Puppet nos clientes Agora jaacute eacute possiacutevel colocar qualquer fato personalizado em etcpuppetfacts e propagaacute-lo Por exemplo para criar uma regra que defina o fato $home com a variaacutevel de ambiente $HOME basta criar o arquivo etcpuppetfactshomerb

Facteradd(ldquohomerdquo) do setcode do ENV[lsquoHOMErsquo] endend

Da proacutexima vez que o Puppet rodar nos clientes esse fato seraacute sin-

cronizado e entatildeo poderaacute ser usado em qualquer receita

Outras variaacuteveisVariaacuteveis tambeacutem satildeo uacuteteis em outras situaccedilotildees Uma variaacutevel definida no arquivo sitepp ficaraacute disponiacutevel para todos os outros manifestos e classes Caso haja um conjunto-padratildeo de usuaacuterios com permissatildeo para fazer login nos servidores e se quiser edi-tar o arquivo etcsshsshd_config de acordo o coacutedigo do exemplo 4 funcionaraacute muito bem

Configurar o servidor de arqui-vos por meio de uma variaacutevel tam-beacutem eacute uma boa ideacuteia se o servidor sofrer alteraccedilotildees natildeo seraacute neces-saacuterio editar cada arquivo que faz referecircncia ao Puppet

ConclusatildeoEssa breve apresentaccedilatildeo fornece somente um raacutepido panorama das possibilidades do Puppet As versotildees mais recentes do software permitem que se organize a configuraccedilatildeo em moacutedulos o que oferece ainda mais flexibilidade e reusabilidade Caso se use LDAP para armazenar infor-maccedilotildees de maacutequinas e usuaacuterios eacute possiacutevel tambeacutem obter as definiccedilotildees dos noacutes a partir desse recurso

Caso sejam necessaacuterias mais informa-ccedilotildees ou suporte o site do Puppet assim como seu wiki[2] e sua lista de emails[3] satildeo de grande ajuda Tenha nas matildeos o controle de suas maacutequinas

Mais informaccedilotildees

[1] Projeto Puppet httpreductivelabscomprojetspuppet

[2] Wiki do Puppet httpreductivelabscomtracpuppetwiki

[3] Lista do Puppet httpreductivelabscomtracpuppetwikiGettingHelpmailing-list

Exemplo 4 Uso de variaacuteveis no SSH

01 em sitepp02 $server_ssh_users = ldquoroot jkemp adminrdquo0304 em sshpp ou qualquer outro lugar a sua escolha05 file ldquosshd_configrdquo06 name =gt ldquoetcsshsshd_configrdquo07 allow_users =gt lsquoAllowUsers $server_ssh_usersrsquo08 template =gt ldquoetcpuppettemplatessshd_configerbrdquo09 1011 trecho relevante de sshd_configerb12 LoginGraceTime 60013 PermitRootLogin without-password14 StrictModes yes1516 lt= allow_users gt

copy Linux New Media do Brasil Editora Ltda

71Linux Magazine 42 | Maio de 2008

Firewall faacutecil com o Shorewall

Domando o fogoEacute verdade que firewalls devem ser administrados por especialistas Poreacutem ateacute esses profissionais podem se beneficiar de uma interface praacutetica para essa tarefapor Tarciacutesio Carvalho Espiacutenola

Montar um firewall para a proteccedilatildeo de um uacutenico servidor natildeo eacute tarefa das

mais simples Imagine montar um firewall para uma rede inteira que requer muito mais atenccedilatildeo e conhe-cimento tanto dos serviccedilos quanto das ferramentas utilizadas Qualquer descuido pode comprometer toda a seguranccedila da rede e a reputaccedilatildeo do seu administrador

No caso especiacutefico do Linux tra-balhar com o Iptables na linha de comando torna as coisas um pouco mais complicadas principalmente para usuaacuterios novatos ou acostuma-dos apenas com cliques na interfa-ce graacutefica A criaccedilatildeo de regras mais elaboradas requer tantas opccedilotildees e paracircmetros ndash e em uma rede mais complexa teremos dezenas delas ndash que eacute faacutecil cometer erros

Natildeo estamos questionando a efi-caacutecia dessa poderosa ferramenta muito pelo contraacuterio o domiacutenio de seus comandos para uma utilizaccedilatildeo eficiente e segura em situaccedilotildees mais avanccediladas exige bastante experiecircncia por parte do administrador Pensan-do nisso Thomas M Eastep teve a brilhante ideacuteia de desenvolver uma ferramenta que funcionasse como uma camada entre o estressado e

atarefado administrador de rede e o prolixo mas poderoso software Iptables o Shorewall[1]

A forma simples e intuitiva como satildeo desenvolvidas as regras no Shorewall facilita bastante a cria-ccedilatildeo e manutenccedilatildeo do firewall Na inicializaccedilatildeo do serviccedilo as regras definidas pelo administrador satildeo compiladas e convertidas em regras do Iptables que seraacute o responsaacutevel pelo firewall

Devido agrave sua compe-tecircncia o Shorewall per-mite tambeacutem que o admi-nistrador aprimore seus conhecimentos na opera-ccedilatildeo do Iptables estudan-do as regras criadas pelo programa a partir das ins-truccedilotildees passadas de forma graacutefica Quando o admi-nistrador adota a defini-ccedilatildeo graacutefica de regras pelo Shorewall geralmente aumenta sua capacidade de criar e gerenciar confi-guraccedilotildees mais complexas O poder da interface graacute-fica nesse caso estaacute em permitir a administraccedilatildeo de muacuteltiplas regras de forma facilitada

Para ilustrar a utilizaccedilatildeo do Sho-rewall mostraremos como configurar o firewall de uma rede normalmente utilizada em pequenas e meacutedias em-presas (figura 1) embora o Shorewall possa ser utilizado em situaccedilotildees bem mais complexas

Infra-estruturaEm nossa rede de exemplo usaremos servidores e estaccedilotildees Linux e Win-dowsreg para mostrar que os serviccedilos

SE

GU

RA

NCcedil

A

Figura 1 A rede utilizada neste artigo eacute bastante simples composta por uma DMZ uma rede local e o firewall conectando ambas agrave Internet

Ramon Gonzalez - wwwsxchu

copy Linux New Media do Brasil Editora Ltda

72 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

apresentados natildeo de-pendem dos sistemas operacionais utilizados com exceccedilatildeo claro do servidor firewall que de-veraacute necessariamente usar Linux

Para fins de exemplo suponhamos que nossos 64 IPs pertencem agrave fai-xa 20016616119226 distribuiacutedos da se-guinte forma IP da rede 200

166161192 maacutescara 255255

255192

IPs utilizaacuteveis 200166161193 a 200166161254

IP broadcast 200166161255A figura 2 e a tabela 1 detalham os pa-

racircmetros da nossa rede de exemploEm seguida basta configurar o

servidor DHCP da rede local com os paracircmetros acima Na configuraccedilatildeo das regras do firewall consideraremos que o serviccedilo de DHCP seraacute oferecido pelo proacuteprio servidor firewall como veremos mais adiante mas a sua configuraccedilatildeo foge do escopo deste artigo

A DMZ (zona desmilitarizada) obviamente fica isolada da rede local Nela seratildeo conectados os servidores Observe que na figura 2 foi definido inclusive o endereccedilo IP da estaccedilatildeo re-mota que teraacute acesso a alguns serviccedilos nas estaccedilotildees da rede local

Note que dos 64 endereccedilos de que dispomos iremos utilizar apenas seis (um para a rede outro de broadcast um no roteador e trecircs nos servidores) e os 58 restantes seratildeo desperdiccedilados Isso eacute muito comum nos contratos com operadoras ao menos no Brasil Esse tipo de contrato tem ajudado a agravar a escassez de endereccedilos IP disponiacuteveis na Internet

InstalaccedilatildeoVamos agora instalar a ferramenta que seraacute utilizada na configuraccedilatildeo do firewall Antes de iniciar no entanto eacute importante lembrar que a versatildeo mais recente do Shorewall no momento da escrita deste artigo era a 408

O Shorewall funciona da seguinte maneira ao ser iniciado o programa as configuraccedilotildees definidas nos arquivos do diretoacuterio etcshorewall satildeo com-piladas e convertidas em um arquivo que contenha as regras para o Iptables Caso natildeo ocorram erros as regras seratildeo aplicadas e o firewall ativado Do con-traacuterio o motivo da falha seraacute mostrado e o firewall natildeo seraacute iniciado

A partir do lanccedilamento da versatildeo 40 foram disponibilizadas duas ver-sotildees de compiladores para as regras do Shorewall a versatildeo em script de shell

Tabela 1 Descriccedilatildeo da rede de exemplo

RoteadorInterface Ethernet 20016616125426

Servidor FirewallInterface eth0 20016616119326

Interface eth1 192168125424

Interface eth2 1000130 (interface da DMZ)

Gateway padratildeo 200166161254 (IP do roteador)

DNS 200166161193 (o servidor firewall tambeacutem serviraacute DNS)

Servidor de email (mailmeu_sitecombr)Interface eth0 20016616119426

Maacutescara 255255255192

Gateway padratildeo 200166161254

DNS 200166161193

Servidor Web (wwwmeu_sitecombr)Interface Ethernet 200166161254

DNS 200166161193

Rede localIP da rede 19216810

Maacutescara 2552552550

IPs utilizaacuteveis 19216811 a 254

Broadcast 1921681255

Gateway padratildeo 1921681254 (eth1 no servidor firewall)

DNS server 1921681254 (eth1 no servidor firewall)

Figura 2 Detalhes da estrutura da rede usada neste artigo

copy Linux New Media do Brasil Editora Ltda

73

| SEGURANCcedilAShorewall

Linux Magazine 42 | Maio de 2008

que eacute a mais antiga e provavelmen-te seraacute descontinuada nas proacuteximas versotildees e a versatildeo em Perl bem mais raacutepida mas que ainda natildeo estaacute totalmente funcional Apesar disso muitos administradores jaacute a utilizam em produccedilatildeo sem qualquer proble-ma por isso vamos usar essa nova teacutecnica neste artigo

Como o Shorewall estaacute disponiacutevel nos repositoacuterios de pacotes de todas as principais distribuiccedilotildees natildeo abor-daremos a compilaccedilatildeo do software a partir dos fontes

Apoacutes a instalaccedilatildeo os arquivos que iremos editar na configuraccedilatildeo do fi-rewall seratildeo colocados no diretoacuterio etcshorewall sendo eles

interfacesmasqpolicyproxyarprulesshorewallconfzones

Os pacotes para Debian e Ubun-tu no entanto deixam os arquivos de configuraccedilatildeo-padratildeo em usrsharedocshorewalldefault-con-fig Nesse caso basta copiaacute-los para etcshorewall Em seguida jaacute podemos iniciar a configuraccedilatildeo do nosso firewall

ZonasDefiniremos duas zonas para a montagem do firewall uma para o proacuteprio servidor firewall que controlaraacute todo o traacutefego entre as zonas e uma para cada rede a que ele estiver conectado A tabe-la 2 mostra como seratildeo definidas essas zonas

Todas as configuraccedilotildees de zonas no Shorewall deveratildeo ser feitas no arquivo etcshorewallzones O exemplo 1 ilustra como deve ficar esse arquivo em nossa configura-ccedilatildeo Basta ele para definir todas as zonas do firewall Observe que as zonas NET LOC e DMZ foram confi-

guradas com o tipo ipv4 pois isso eacute obrigatoacuterio Note tambeacutem que a zona FW foi definida como sendo o proacuteprio firewall Com o comando man shorewall-zones o administrador pode ler mais informaccedilotildees sobre esse arquivo de configuraccedilatildeo

InterfacesCada zona seraacute vinculada a uma in-terface de rede do servidor exceto a zona FW que representaraacute o proacuteprio servidor e natildeo estaraacute vinculada a ne-nhuma interface Logo deveremos ter trecircs interfaces em nosso servidor eth0 Interface vinculada agrave zona

NET Essa interface seraacute conec-tada diretamente ao roteador que liga a rede agrave Internet Em nosso exemplo eth0 receberaacute o IP 20016616119326

eth1 Interface vinculada agrave zona LOC Essa interface deveraacute ser conectada ao switch da rede lo-cal e seraacute configurada com o IP 192168125424 Eacute preciso confi-gurar tambeacutem o servidor DHCP da rede local para que ele envie esse endereccedilo como gateway agraves estaccedilotildees (em nosso exemplo esse serviccedilo seraacute executado no proacuteprio servidor firewall)

eth2 Interface vinculada agrave zona DMZ Essa interface tem uma par-ticularidade seu IP seraacute con-figurado apenas com o intuito

Exemplo 1 Arquivo de zonas

01 ZONE TYPE OPTIONS IN OUT02 OPTIONS OPTIONS03 fw firewall04 net ipv405 loc ipv406 dmz ipv407 08 Natildeo apagar esta uacuteltima linha

Tabela 2 Definiccedilatildeo das zonas

Nome da zona

Componentes Caracteriacutesticas

Zona FW O proacuteprio firewall Tem livre acesso agraves demais zonas mas o acesso a ela seraacute controlado de acordo com os serviccedilos disponibilizados para cada zona

Zona NET Internet Seraacute considerada hostil em nossas configuraccedilotildees Eacute importante ter muito cuidado com ela

Zona LOC Rede local Nesta zona estaratildeo conectadas as estaccedilotildees locais da empresa Seu acesso agraves demais zonas seraacute controlado de acordo com os serviccedilos permitidos para essa zona

Zona DMZ Servidores da empresa que proveratildeo serviccedilos agrave Internet e agrave rede local

Essa zona teraacute dois servidores um com Linux (mailmeu_sitecombr) executando ser-viccedilos de e-mail e o outro com Windows Server (wwwmeu_sitecombr) que hospedaraacute o site da empresa (ver figura 1)

copy Linux New Media do Brasil Editora Ltda

74 httpwwwlinuxmagazinecombr

SEGURANCcedilA | Shorewall

de ativaacute-la mas natildeo pertenceraacute a nenhuma rede de qualquer zona Nela configuraremos o IP 1000130 e vamos conectaacute-la ao mesmo switch no qual seratildeo co-nectados os servidores da DMZ

Natildeo seraacute necessaacuterio seguir o padratildeo acima para montar os seus proacuteprios firewalls no entanto eacute recomendaacute-vel fazecirc-lo Tambeacutem eacute possiacutevel usar aliases de interfaces (eth00 por

exemplo) se necessaacuterio Todas as configuraccedilotildees de interfaces no Sho-rewall deveratildeo ser feitas no arquivo etcshorewallinterfaces

O exemplo 2 mostra como deve ser feita essa configuraccedilatildeo Observe que esse caso natildeo configura a zona FW uma vez que ela natildeo estaraacute vinculada a nenhuma interface Aleacutem disso os endereccedilos broadcast foram configura-dos para serem detectados automatica-

mente Jaacute para a interface eth0 que teraacute IP estaacutetico foram definidas as opccedilotildees tcpflags routerfilter nosmurfs nor-cf1918 e logmartians

Eacute interessante consultar o manual do arquivo de configuraccedilatildeo de interfa-ces e descobrir a funccedilatildeo de cada uma dessas opccedilotildees (man shorewall-inter-faces) Elimine-as se necessaacuterio (natildeo recomendaacutevel) ou adicione outras de acordo com as suas necessidades

PoliacuteticasDefinidas as zonas e interfaces defi-niremos agora as poliacuteticas de acesso entre cada par de zonas As definiccedilotildees mostradas na tabela 3 seratildeo adotadas como padratildeo para qualquer requisiccedilatildeo que ocorra entre as zonas

Para reforccedilar a seguranccedila vamos definir por fim que todas as requi-siccedilotildees vindas de qualquer zona (all) com destino a qualquer zona (all) se-ratildeo bloqueadas e que esses bloqueios sejam registrados no log com a tag info Essa regra deveraacute ser a uacuteltima no arquivo de configuraccedilatildeo

Todas as configuraccedilotildees das poliacuteticas de acesso no Shorewall devem ser feitas no arquivo etcshorewallpolicy como mostra o exemplo 3 Note que a regra geral ou seja a que define a poliacutetica de qualquer pacote foi a uacuteltima a ser definida justamente para ser aplicada apenas se os pacotes natildeo se encaixarem a nenhuma outra regra Mais uma vez eacute importante consultar a paacutegina de ma-nual do programa (man shorewall-policy) para obter mais detalhes

Tabela 3 Poliacuteticas entre zonas

Zona Poliacutetica Explicaccedilatildeo

FW ACCEPT Requisiccedilotildees vindas da zona FW com destino agraves de-mais zonas (all) seratildeo permitidas e nada seraacute regis-trado no log

LOC REJECT Requisiccedilotildees vindas da zona LOC com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Uma res-posta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

NET DROP Requisiccedilotildees vindas da zona NET com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

DMZ DROP Requisiccedilotildees vindas da zona DMZ com destino agraves de-mais zonas (all) deveratildeo ser bloqueadas Nenhuma resposta seraacute retornada ao solicitante e os bloqueios seratildeo registrados no log (com a tag info)

Mais informaccedilotildees

[1] Shorewall httpwwwshorewallnet

Exemplo 3 Arquivo de poliacuteticas

01 SOURCE DEST POLICY LOG LIMITBURST02 LEVEL03 fw all ACCEPT04 loc all REJECT info05 net all DROP info06 dmz all DROP info07 08 THE FOLLOWING POLICY MUST BE LAST09 10 all all DROP info11 12 Natildeo apagar esta uacuteltima linha

Exemplo 2 Arquivo de interfaces

01 ZONE INTERFACE BROADCAST OPTIONS02 net eth0 detect tcpflagsroutefilternosmurfsnorfc1918logmartians03 loc eth1 detect04 dmz eth2 detect05 06 Natildeo apagar esta uacuteltima linha

Sobre o autorTarciacutesio Carvalho Espiacutenola eacute coordenador de TI do Instituto Centec onde vem traba-lhando na implementaccedilatildeo de soluccedilotildees livres nos servidores da empresa Em seu tempo livre ele ainda manteacutem o site Opccedilatildeo Linux (httpwwwopcaolinuxcombr)

copy Linux New Media do Brasil Editora Ltda

75Linux Magazine 42 | Maio de 2008

PR

OG

RA

MA

CcedilAtilde

O

Trabalhe com um repositoacuterio online de scripts PHP

TesouroProgramadores PHP podem economizar tempo e trabalho com o uso do trecho script ou classe perfeitos para usar em seus programaspor Kenneth Hess

Haacute dezenas de repositoacuterios gratuitos de scripts que per-mitem que se navegue e es-

colha os scripts PHP para seu proacuteprio uso A maioria desses sites possui vaacute-rias ofertas desde scripts simples ateacute aplicativos web completos incluindo conjuntos inteiros de software Este artigo descreve alguns dos sites mais importantes na busca de um script PHP preacute-fabricado

devshedcomO Dev Shed[1] eacute o avocirc das comunida-des de desenvolvedores com recursos compartilhados O site tem um pa-gerank de 8 no Google e conta com mais de 150 mil assinantes Agora par-te da empresa Ziff Davis o Dev Shed eacute a comunidade de desenvolvedores mais destacada sendo usada por pro-gramadores de vaacuterias linguagens e tecnologias O site principal do Dev Shed tem foco em artigos tutoriais e na proacutepria comunidade de desenvol-vimento Quem desejar apenas scripts seraacute redirecionado do site principal para o Scriptscom[2] ndash a biblioteca de coacutedigo do Dev Shed

No Scriptscom pode-se ver que a aacuterea de PHP eacute a mais numerosa do repositoacuterio Seus mais de 4 mil scripts colocam essa seccedilatildeo com quase o dobro da segunda coloca-da Perl Depois de selecionado o repositoacuterio PHP a ser usado satildeo mostradas mais de 60 categorias diferentes A maioria dos sites com

repositoacuterios de scripts possui listas se-melhantes de categorias

Alguns sites natildeo possuem qualquer controle de qualidade ou orientaccedilatildeo de envio para os scripts recebidos mas o Scriptcom emprega regras um tanto rigorosas As orientaccedilotildees de envio protegem os usuaacuterios de softwares maliciosos e outros scripts ou teacutecnicas danosos que possam pre-judicar um site ou atacar o navegador dos visitantes Cada script listado tem uma descriccedilatildeo completa da tarefa que executa uma nota um link para o site do autor e um preccedilo Nem todos os scripts satildeo gratuitos Na verdade alguns satildeo caros mas geralmente o autor oferece suporte atualizaccedilotildees e possivelmente outros serviccedilos (como hospedagem por exemplo) pelo pre-ccedilo listado Alguns scripts satildeo gratuitos para uso pessoal mas exigem uma taxa para uso comercial

phpbuildercomO PHP Builder[3] eacute 100 dedicado ao uso e desenvolvimento de scripts PHP Sua comunidade eacute ativa e gen-

til com novos usuaacuterios Aleacutem disso haacute um foacuterum Newbies em que eacute permitido fazer perguntas que jaacute tenham sido respondidas milhotildees de vezes sem medo de sofrer repre-saacutelias ndash embora seja recomendaacutevel fazer uma busca antes de perguntar Assim como a maioria dos sites de comunidade eacute necessaacuterio registrar-se (gratuitamente) e fazer login antes de postar ou participar O PHP Buil-der eacute um dos sites de comunidade mais profissionais e bem mantidos desta seleccedilatildeo

Sua biblioteca de coacutedigos eacute me-nor que a dos outros ndash com apenas umas poucas centenas de scripts ndash mas eacute comum encontrar trechos de coacutedigo nos foacuteruns que resolvem seus problemas Caso o programador natildeo esteja seguro de suas habilidades de programaccedilatildeo existe um foacuterum de criacutetica de coacutedigo (chamado Coding Critique) no qual eacute possiacutevel colar o coacutedigo em questatildeo em busca de criacuteticas correccedilotildees e melhorias A forccedila do PHP Builder natildeo estaacute em sua biblioteca de coacutedigo mas em sua

Figura 1 Inicie a instalaccedilatildeo a partir da tela do DaDaBIK

Sophie ndash wwwsxchu

copy Linux New Media do Brasil Editora Ltda

76 httpwwwlinuxmagazinecombr

PROGRAMACcedilAtildeO | Repositoacuterio PHP

comunidade Para os que precisam de respostas esse eacute o lugar

weberdevcomO Weberdev[4] ndash uma presenccedila obrigatoacuteria no kit de ferramentas de PHP ndash tem foacuteruns coacutedigo links e tutoriais excelentes Se a necessida-de for resolver rapidamente algum aspecto de programaccedilatildeo em PHP o Weberdevcom eacute a opccedilatildeo Sua biblio-teca de coacutedigo eacute um pouco esquisita de navegar mas o mecanismo de busca eacute raacutepido e inteligente

phpclassesorgPara usar algum dos scripts do PHP Classes[5] eacute necessaacuterio se registrar e fazer login mas eacute uma felicidade fazecirc-lo O PHP

Classes conteacutem trechos de coacute-digo orientados a objetos que podem ser acrescentados a qual-quer coacutedigo Para usar as classes e scripts eacute preciso ter ao menos uma compreensatildeo baacutesica de teacutec-nicas de programaccedilatildeo orientada a objetos Felizmente a maioria dos autores das classes fornece documentaccedilatildeo e exemplos fun-cionais de seus coacutedigos na forma de paacuteginas PHP completas

Eacute possiacutevel ler os blogs dos au-tores pedir mais informaccedilotildees so-bre uma classe diretamente a um autor envolver-se nos foacuteruns em busca de perguntas e respostas ou simplesmente obter classes a par-tir do enorme repositoacuterio Muitas classes desse site ainda continu-

am funcionando mesmo depois de quatro anos em produccedilatildeo O PHP Classes deve ser incluiacutedo nos favoritos de quem quer que esteja agrave procura de um excelen-te recurso para scripts classes e trechos PHP

Esse site tambeacutem possui uma lista de emails que notifica os assinantes em relaccedilatildeo a novas classes quando satildeo adicionadas ao repositoacuterio ndash os emails incluem um resumo da clas-se sua classificaccedilatildeo e uma curta biografia do autor Novas classes satildeo acrescentadas todos os dias

phpnetO phpnet[6] eacute o site oficial da lin-guagem onde se origina todo o coacutedigo PHP gerado Apesar de natildeo possuir uma biblioteca de coacutedigo propriamente dita eacute possiacutevel encon-trar no site uma grande quantidade de coacutedigos

Se o visitante procurar qualquer funccedilatildeo ndash fwrite por exemplo ndash rece-beraacute a paacutegina que descreve a sintaxe e o uso dessa funccedilatildeo Mais abaixo na mesma paacutegina satildeo exibidos tre-chos de coacutedigo que demonstram a funccedilatildeo em accedilatildeo

advancescriptscomO oceano de banners e anuacutencios piscantes talvez seja a primeira ca-racteriacutestica a chamar a atenccedilatildeo dos visitantes do AdvanceScripts[7] Esse site tem muito a oferecer e merece ser navegado entatildeo natildeo se deixe assus-tar pela forma de suporte financeiro escolhida por eles O AdvanceScripts hospeda quase 6 mil scripts PHP em seu repositoacuterio

Assim como ocorre com os outros sites nem todos os scripts satildeo gratui-tos entatildeo eacute importante ter cuidado com as escolhas feitas

Baixe altere e useApenas para ilustrar as ofertas bai-xei um script de um desses sites e adaptei-o para meu proacuteprio uso Esse

Figura 2 Ao teacutermino da instalaccedilatildeo eacute exibido um resumo das mensagens de alerta e de instalaccedilatildeo

Figura 3 A paacutegina indexphp mostra informaccedilotildees da tabela

copy Linux New Media do Brasil Editora Ltda

77

| PROGRAMACcedilAtildeORepositoacuterio PHP

Linux Magazine 42 | Maio de 2008

exemplo raacutepido mostraraacute como eacute faacutecil implementar uma ferramenta a partir de uma biblioteca de coacutedigo Como meu trabalho envolve bancos de da-dos e PHP optei pelo foco em scripts relacionados a bancos de dados Na biblioteca do Scriptscom em PHP Scripts | Database Tools encontrei o DaDaBIK[8][9] (Databases Inter-face Kreator) cuja descriccedilatildeo oficial traduzida eacute ldquoum aplicativo PHP gratuito que permite criar facilmen-te uma interface de formulaacuterio web altamente personalizaacutevel para um banco de dados MySQL para buscar inserir atualizar e apagar registros basta especificar alguns paracircmetros de configuraccedilatildeordquo

Eacute interessante verificar a descriccedilatildeo do script antes de baixaacute-lo O script eacute pequeno (16 MB) bem documen-tado e livre (utiliza a GPL) Os re-quisitos miacutenimos do DaDaBIK satildeo PHP posterior agrave versatildeo 405 e um banco de dados (MySQL Oracle PostgreSQL ou MS SQL)

As etapas de instalaccedilatildeo satildeo seme-lhantes agraves de outros scripts da Inter-net Deve-se baixar e descompactar o pacote e depois procurar o arquivo documentationhtm que fornece as instruccedilotildees de instalaccedilatildeo Seguindo as instruccedilotildees renomeie o diretoacuterio program_files para dadabik e copie-o para o diretoacuterio webroot

Apoacutes abrir o arquivo includecon-figphp eacute preciso digitar os paracircme-tros mostrados na tabela 1 Depois de digitaacute-los e salvaacute-los abra um nave-gador e aponte-o para a paacutegina de instalaccedilatildeo do DaDaBIK httpwwwnome_do_sitecombrdadabikinstallphp (figura 1) Apoacutes clicar no botatildeo de instalaccedilatildeo e finalizar o processo seraacute exibida uma tela semelhante agrave figura 2 que mostra alertas e men-sagens da instalaccedilatildeo

Ao clicar no link no alto da paacutegina para sair da aacuterea de administraccedilatildeo o administrador seraacute redirecionado para a paacutegina indexphp onde veraacute a primeira tabela de banco de dados

(figura 3) As tabelas satildeo listadas em ordem alfabeacutetica na lista drop-down Nessa paacutegina eacute possiacutevel editar inse-rir apagar ou buscar registros

Como se pode ver o DaDaBIK eacute faacutecil de instalar e raacutepido para confi-gurar e usar O exemplo deste artigo teve sucesso devido agrave excelente do-cumentaccedilatildeo incluiacuteda na ferramen-ta Ao procurar numa biblioteca de coacutedigo eacute importante sempre esco-lher scripts classes e aplicativos com muita documentaccedilatildeo

Exceto no caso de programadores experientes que se sintam confor-taacuteveis ao analisar coacutedigo alheio eacute fundamental ter acesso a uma boa documentaccedilatildeo Raramente a docu-mentaccedilatildeo interna de um script (co-mentaacuterios no coacutedigo) explica com-pletamente seu comportamento

ResumoMuitos programadores pensam ser capazes de produzir todo o coacutedi-go de um aplicativo Usar trechos de coacutedigos e ideacuteias de outros pro-gramadores eacute uma oacutetima forma de melhorar as habilidades em programaccedilatildeo poreacutem o trabalho natildeo eacute feito simplesmente baixan-do-se um script ou trecho ndash ainda eacute necessaacuterio adaptar o coacutedigo ao ambiente no qual ele seraacute usado Frequumlentemente essa tarefa natildeo eacute

faacutecil Eacute interessante usar todos os recursos disponiacuteveis para conhecer outros profissionais ao longo do caminho e rapidamente tornar-se o tipo de programador que ajuda os outros

Mais informaccedilotildees

[1] PHP no Dev Shed httpwwwdevshedcomcbPHP

[2] Scriptscom httpwwwscriptscom

[3] PHP Builder httpwwwphpbuildercom

[4] Weberdev httpwwwweberdevcom

[5] PHP Classes httpwwwphpclassesorg

[6] PHPnet httpwwwphpnet

[7] Advance Scripts httpwwwadvancescriptscom

[8] DaDaBIK no Scriptscom httpwwwscriptscomphp-scriptsdatabase-toolsdadabik

[9] DaDaBIK httpwwwdadabikorg

Tabela 1 Paracircmetros do configphp

Paracircmetro Descriccedilatildeo$dbms_type Tipo do banco de dados (MySQL Postgres7 Postgres8

Mssql ou oci8po)

$host Nome do servidor de banco de dados (normalmente local-host)

db_name Nome do banco de dados a ser usado com o DaDaBIK

$user Conta de usuaacuterio do banco de dados que possa fazer SE-LECT INSERT DELETE e UPDATE nos registros do banco

$pass Senha do usuaacuterio no banco de dados

$site_url URL completa do DaDaBIK (httpwwwnome_do_sitecombrdadabik)

$site_path Caminho relativo do DaDaBIK (dadabik)

copy Linux New Media do Brasil Editora Ltda

78

SE

RV

ICcedilO

S

httpwwwlinuxmagazinecombr

Fornecedor de Hardware = 1 Redes e Telefonia PBX = 2 Integrador de Soluccedilotildees = 3

Literatura Editora = 4 Fornecedor de Software = 5

Consultoria Treinamento = 6

Linuxlocal

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

CearaacuteF13 Tecnologia Fortaleza Rua Coronel Solon 480 ndash Bairro de Faacutetima

Fortaleza - CE - CEP 60040-270 85 3252-3836 wwwf13combr

Espiacuterito SantoLinux Shopp Vila Velha Rua Satildeo Simatildeo (Correspondecircncia) 18 ndash CEP 29113-120 27 3082-0932 wwwlinuxshoppcombr

Megawork Consultoria e Sistemas

Vitoacuteria Rua Chapot Presvot 389 ndash Praia do Can-to ndash CEP 29055-410 sl 201 202

27 3315-2370 wwwmegaworkcombr

Spirit Linux Vitoacuteria Rua Marins Alvarino 150 ndash CEP 29047-660 27 3227-5543 wwwspiritlinuxcombr

Minas GeraisInstituto Online Belo Horizonte Av Bias Fortes 932 Sala 204 ndash CEP 30170-011 31 3224-7920 wwwinstitutoonlinecombr

Linux Place Belo Horizonte Rua do Ouro 136 Sala 301 ndash Serra ndash CEP 30220-000 31 3284-0575 corporatelinuxplacecombr

Microhard Belo Horizonte Rua Repuacuteblica da Argentina 520 ndash Sion ndash CEP 30315-490 31 3281-5522 wwwmicrohardcombr

TurboSite Belo Horizonte Rua Paraiacuteba 966 Sala 303 ndash Savassi ndash CEP 30130-141 0800 702-9004 wwwturbositecombr

ParanaacuteiSolve Curitiba Av Cacircndido de Abreu 526 Cj 1206B ndash CEP 80530-000 41 252-2977 wwwisolvecombr

Mandriva Conectiva Curitiba Rua Tocantins 89 ndash Cristo Rei ndash CEP 80050-430 41 3360-2600 wwwmandrivacombr

Telway Tecnologia Curitiba Rua Francisco Rocha 183071 41 3203-0375 wwwtelwaycombr

Rio de JaneiroNSI Training Rio de Janeiro Rua Arauacutejo Porto Alegre 71 4ordmandar Centro ndash CEP 20030-012 21 2220-7055 wwwnsicombr

Open IT Rio de Janeiro Rua do Mercado 34 Sl 402 ndash Centro ndash CEP 20010-120 21 2508-9103 wwwopenitcombr

Unipi Tecnologias Campos dos Goytacazes

Av Alberto Torres 303 1ordmandar - Centro ndash CEP 28035-581 22 2725-1041 wwwunipicombr

Rio Grande do Sul4up Soluccedilotildees Corporativas Novo Hamburgo Pso Calccediladatildeo Osvaldo Cruz 54 sl 301 CEP 93510-015 51 3581-4383 www4upcombr

Definitiva Informaacutetica Novo Hamburgo Rua General Osoacuterio 402 - Hamburgo Velho 51 3594 3140 wwwdefinitivacombr

Solis Lajeado Rua Comandante Wagner 12 ndash Satildeo Cristoacutevatildeo ndash CEP 95900-000 51 3714-6653 wwwsoliscoopbr

DualCon Novo Hamburgo Rua Joaquim Pedro Soares 1099 Sl 305 ndash Centro 51 3593-5437 wwwdualconcombr

Datarecover Porto Alegre Av Carlos Gomes 403 Sala 908 Centro Comer-cial Atrium Center ndash Bela Vista ndash CEP 90480-003

51 3018-1200 wwwdatarecovercombr

LM2 Consulting Porto Alegre Rua Germano Petersen Junior 101-Sl 202 ndash Hi-gienoacutepolis ndash CEP 90540-140

51 3018-1007 wwwlm2combr

Lnx-IT Informaccedilatildeo e Tecnologia Porto Alegre Av Venacircncio Aires 1137 ndash Rio Branco ndash CEP 90040193 51 3331-1446 wwwlnx-itinfbr

Plugin Porto Alegre Av Juacutelio de Castilhos 132 11ordm andar Centro ndash CEP 90030-130 51 4003-1001 wwwplugincombr

TeHospedo Porto Alegre Rua dos Andradas 1234610 ndash Centro ndash CEP 90020-008 51 3286-3799 wwwtehospedocombr

Satildeo PauloWs Host Arthur Nogueira Rua Jerere 36 ndash Vista Alegre ndash CEP 13280-000 19 3846-1137 wwwwshostcombr

DigiVoice Barueri Al Juruaacute 159 Teacuterreo ndash Alphaville ndash CEP 06455-010 11 4195-2557 wwwdigivoicecombr

Dextra Sistemas Campinas Rua Antocircnio Paioli 320 ndash Pq das Universidades ndash CEP 13086-045 19 3256-6722 wwwdextracombr

Insigne Free Software do Brasil Campinas Av Andrades Neves 1579 ndash Castelo ndash CEP 13070-001 19 3213-2100 wwwinsignesoftwarecom

Microcamp Campinas Av Thomaz Alves 20 ndash Centro ndash CEP 13010-160 19 3236-1915 wwwmicrocampcombr

PC2 Consultoria em Software Livre

Carapicuiba Rua Edeia 500 - CEP 06350-080 11 3213-6388 wwwpc2consultoriacom

Savant Tecnologia Diadema Av Senador Vitorino Freire 465 ndash CEP 09910-550 11 5034-4199 wwwsavantcombr

Epopeacuteia Informaacutetica Mariacutelia Rua Goiaacutes 392 ndash Bairro Cascata ndash CEP 17509-140 14 3413-1137 wwwepopeiacombr

Redentor Osasco Rua Costante Piovan 150 ndash Jd Trecircs Montanhas ndash CEP 06263-270 11 2106-9392 wwwredentorindbr

Go-Global Santana de Parnaiacuteba

Av Yojiro Takaoca 4384 Ed Shopping Ser-vice Cj 1013 ndash CEP 06541-038

11 2173-4211 wwwgo-globalcombr

AW2NET Santo Andreacute Rua Edson Soares 59 ndash CEP 09760-350 11 4990-0065 wwwaw2netcombr

Async Open Source Satildeo Carlos Rua Orlando Damiano 2212 ndash CEP 13560-450 16 3376-0125 wwwasynccombr

Delix Internet Satildeo Joseacute do Rio Preto

Rua Voluntaacuterio de Satildeo Paulo 3066 9ordm ndash Centro ndash CEP 15015-909 11 4062-9889 wwwdelixhostingcombr

O maior diretoacuterio de empresas que oferecem produtos soluccedilotildees e serviccedilos em Linux e Software Livre organizado por Estado Sentiu falta do nome de sua empresa aqui Entre em contato com a gente 11 4082-1300 ou anuncioslinuxmagazinecombr

copy Linux New Media do Brasil Editora Ltda

79

| SERVICcedilOSLinuxlocal

Linux Magazine 42 | Maio de 2008

Empresa Cidade Endereccedilo Telefone Web 1 2 3 4 5 6

Satildeo Paulo (continuaccedilatildeo)4Linux Satildeo Paulo Rua Teixeira da Silva 660 6ordm andar ndash CEP 04002-031 11 2125-4747 www4linuxcombr

A Casa do Linux Satildeo Paulo Al Jauacute 490 ndash Jd Paulista ndash CEP 01420-000 11 3549-5151 wwwacasadolinuxcombr

Accenture do Brasil Ltda Satildeo Paulo Rua Alexandre Dumas 2051 ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 5188-3000 wwwaccenturecombr

ACR Informaacutetica Satildeo Paulo Rua Lincoln de Albuquerque 65 ndashPerdizes ndash CEP 05004-010 11 3873-1515 wwwacrinformaticacombr

Agit Informaacutetica Satildeo Paulo Rua Major Quedinho 111 5ordm andar Cj 508 ndash Centro ndash CEP 01050-030

11 3255-4945 wwwagitcombr

Altbit - Informaacutetica Co-meacutercio e Serviccedilos LTDA

Satildeo Paulo Av Francisco Matarazzo 229 Cj 57 ndash Aacutegua Branca ndash CEP 05001-000

11 3879-9390 wwwaltbitcombr

AS2M -WPC Consultoria Satildeo Paulo Rua Trecircs Rios 131 Cj 61A ndash Bom Retiro ndash CEP 01123-001 11 3228-3709 wwwwpccombr

Big Host Satildeo Paulo Rua Dr Miguel Couto 58 ndash Centro ndash CEP 01008-010 11 3033-4000 wwwbighostcombr

Blanes Satildeo Paulo Rua Andreacute Ampeacutere 153 ndash 9ordm andar ndash Conj 91 CEP 04562-907 (proacutex Av L C Berrini)

11 5506-9677 wwwblanescombr

Commlogik do Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 13797 Bloco II 6ordm andar ndash Morumbi ndash CEP 04794-000

11 5503-1011 wwwcommlogikcombr

Computer Consulting Pro-jeto e Consultoria Ltda

Satildeo Paulo Rua Vergueiro 6455 Cj 06 ndash Alto do Ipiranga ndash CEP 04273-100 11 5062-3927 wwwcomputerconsultingcombr

Consist Consultoria Siste-mas e Representaccedilotildees Ltda

Satildeo Paulo Av das Naccedilotildees Unidas 20727 ndash CEP 04795-100 11 5693-7210 wwwconsistcombr

Domiacutenio Tecnologia Satildeo Paulo Rua das Carnaubeiras 98 ndash Metrocirc Conceiccedilatildeo ndash CEP 04343-080 11 5017-0040 wwwdominiotecnologiacombr

EDS do Brasil Satildeo Paulo Av Pres Juscelino Kubistcheck 1830 Torre 4 - 5ordm andar 11 3707-4100 wwwedscom

Eacutetica Tecnologia Satildeo Paulo Rua Nova York 945 ndash Brooklin ndash CEP04560-002 11 5093-3025 wwweticanet

Getronics ICT Solu-tions and Services

Satildeo Paulo Rua Verbo Divino 1207 ndash CEP 04719-002 11 5187-2700 wwwgetronicscombr

Hewlett-Packard Brasil Ltda Satildeo Paulo Av das Naccedilotildees Unidas 12901 25ordm andar ndash CEP 04578-000 11 5502-5000 wwwhpcombr

IBM Brasil Ltda Satildeo Paulo Rua Tutoacuteia 1157 ndash CEP 04007-900 0800-7074 837 wwwbribmcom

iFractal Satildeo Paulo Rua Fiaccedilatildeo da Sauacutede 145 Conj 66 ndash Sauacutede ndash CEP 04144-020 11 5078-6618 wwwifractalcombr

Integral Satildeo Paulo Rua Dr Gentil Leite Martins 295 2ordm andar Jd Prudecircncia ndash CEP 04648-001

11 5545-2600 wwwintegralcombr

Itautec SA Satildeo Paulo Rua Santa Catarina 1 ndash Tatuapeacute ndash CEP 03086-025 11 6097-3000 wwwitauteccombr

Kenos Consultoria Satildeo Paulo Av Fagundes Filho 13 Conj -53 ndash CEP 04304-000 11 40821305 wwwkenoscombr

Konsultex Informatica Satildeo Paulo Av Dr Guilherme Dumont Villares 1410 6 andar CEP 05640-003 11 3773-9009 wwwkonsultexcombr

Linux Komputer Informaacutetica Satildeo Paulo Av Dr Lino de Moraes Leme 185 ndash CEP 04360-001 11 5034-4191 wwwkomputercombr

Linux Mall Satildeo Paulo Rua Machado Bittencourt 190 Cj 2087 ndash CEP 04044-001 11 5087-9441 wwwlinuxmallcombr

Livraria Tempo Real Satildeo Paulo Al Santos 1202 ndash Cerqueira Ceacutesar ndash CEP 01418-100 11 3266-2988 wwwtemporealcombr

Locasite Internet Service Satildeo Paulo Av Brigadeiro Luiz Antonio 2482 3ordm andar ndash Centro ndash CEP 01402-000

11 2121-4555 wwwlocasitecombr

Microsiga Satildeo Paulo Av Braz Leme 1631 ndash CEP 02511-000 11 3981-7200 wwwmicrosigacombr

Novatec Editora Ltda Satildeo Paulo Rua Luis Antonio dos Santos 110 ndash Santana ndash CEP 02460-000 11 6979-0071 wwwnovateceditoracombr

Novell Ameacuterica Latina Satildeo Paulo Rua Funchal 418 ndash Vila Oliacutempia 11 3345-3900 wwwnovellcombrasil

Oracle do Brasil Sistemas Ltda Satildeo Paulo Av Alfredo Egiacutedio de Souza Aranha 100 ndash Bloco B ndash 5ordm andar ndash CEP 04726-170

11 5189-3000 wwworaclecombr

Proelbra Tecnolo-gia Eletrocircnica Ltda

Satildeo Paulo Av Rouxinol 1041 Cj 204 2ordm andar Moema ndash CEP 04516-001 11 5052- 8044 wwwproelbracombr

Provider Satildeo Paulo Av Cardoso de Melo 1450 6ordm andar ndash Vila Oliacutempia ndash CEP 04548-005

11 2165-6500 wwwe-providercombr

Red Hat Brasil Satildeo Paulo Av Brigadeiro Faria Lima 3900 Cj 81 8ordm andar Itaim Bibi ndash CEP 04538-132

11 3529-6000 wwwredhatcombr

Samurai Projetos Especiais Satildeo Paulo Rua Baratildeo do Triunfo 550 6ordm andar ndash CEP 04602-002 11 5097-3014 wwwsamuraicombr

SAP Brasil Satildeo Paulo Av das Naccedilotildees Unidas 11541 16ordm andar ndash CEP 04578-000 11 5503-2400 wwwsapcombr

Simples Consultoria Satildeo Paulo Rua Mourato Coelho 299 Cj 02 Pinheiros ndash CEP 05417-010 11 3898-2121 wwwsimplesconsultoriacombr

Smart Solutions Satildeo Paulo Av Jabaquara 2940 cj 56 e 57 11 5052-5958 wwwsmart-teccombr

Snap IT Satildeo Paulo Rua Joatildeo Gomes Junior 131 ndash Jd Bonfiglioli ndash CEP 05299-000 11 3731-8008 wwwsnapitcombr

Stefanini IT Solutions Satildeo Paulo Av Brig Faria Lima 1355 19ordm ndash Pinheiros ndash CEP 01452-919 11 3039-2000 wwwstefaninicombr

Sun Microsystems Satildeo Paulo Rua Alexandre Dumas 2016 ndash CEP 04717-004 11 5187-2100 wwwsuncombr

Sybase Brasil Satildeo Paulo Av Juscelino Kubitschek 510 9ordm andar Itaim Bibi ndash CEP 04543-000 11 3046-7388 wwwsybasecombr

The Source Satildeo Paulo Rua Marquecircs de Abrantes 203 ndash Chaacutecara Tatuapeacute ndash CEP 03060-020

11 6698-5090 wwwthesourcecombr

Unisys Brasil Ltda Satildeo Paulo R Alexandre Dumas 1658 ndash 6ordm 7ordm e 8ordm andares ndash Chaacutecara Santo Antocircnio ndash CEP 04717-004

11 3305-7000 wwwunisyscombr

Utah Satildeo Paulo Av Paulista 925 13ordm andar ndash Cerqueira Ceacutesar ndash CEP 01311-916 11 3145-5888 wwwutahcombr

Visuelles Satildeo Paulo Rua Eng Domicio Diele Pacheco e Silva 585 ndash Interlagos ndash CEP 04455-310

11 5614-1010 wwwvisuellescombr

Webnow Satildeo Paulo Av Naccedilotildees Unidas 12995 10ordm andar Ed Plaza Centenaacuterio ndash Chaacutecara Itaim ndash CEP 04578-000

11 5503-6510 wwwwebnowcombr

WRL Informaacutetica Ltda Satildeo Paulo Rua Santa Ifigecircnia 211213 Box 02ndash Centro ndash CEP 01207-001 11 3362-1334 wwwwrlcombr

Systech Taquaritinga Rua Satildeo Joseacute 1126 ndash Centro - Caixa Postal 71 ndash CEP 15900-000 16 3252-7308 wwwsystech-ltdcombr

| SERVICcedilOSLinuxlocal

copy Linux New Media do Brasil Editora Ltda

80

SERVICcedil

OS

httpwwwlinuxmagazinecombr

User Friendly ndash Os quadrinhos mensais da Linux Magazine

Calendaacuterio de eventosEvento Data Local Website

ApacheCon Europe 2008 7 a 11 de abril Amsterdam Holanda wwweuapacheconcom

II Encontro Software Livre da Paraiacuteba

2 a 4 de maio Joatildeo Pessoa PB ensolorgbr

LinuxTag 28 a 31 de maio Berlin Alemanha htttpwwwlinuxtagorg

LinuxWorld Conference and Expo

04 a 07 de agosto Satildeo Francisco EUAhttpwwwlinuxworldexpocomlive12

Linux Park 10 de junho Porto Alegre RS wwwlinuxparkcombr

Linux Park 24 de junho Rio de Janeiro RJ wwwlinuxparkcombr

Iacutendice de anunciantes

Empresa PaacutegEasyLinux 15

Guia de TI 83

Impacta 27

Kenos 22 23

Linux Magazine 33

Linux Magazine Online 81

Linux Park 84

Linux Pocket Pro 02 09

Linux Pro 31

Linux Technical Review 07

LPI 57

Plugin 11

Starter Kit 13

Watch Guard 19

copy Linux New Media do Brasil Editora Ltda

LM40_sitepdf 146 190208 124436

copy Linux New Media do Brasil Editora Ltda

82 httpwwwlinuxmagazinecombr

Na Linux Magazine 43

PREVIE

W

DESTAQUE

Alta disponibilidadeSe o pneu do seu carro furar como vocecirc age Se a base de dados principal do seu banco cair o que acontece Se aquele software do qual sua empresa depende profundamente simplesmente fechar o que poderaacute ser feito

No caso do carro a resposta eacute bastante simples use o estepe Durante alguns minutos vocecirc natildeo poderaacute andar com o carro mas esse atraso certa-mente seraacute perdoado por quem quer que tenha um bom coraccedilatildeo No entanto o banco de dados de uma instituiccedilatildeo financeira assim como o software de missatildeo criacutetica da sua empresa jamais pode parar Para as empresas envolvi-

das qualquer problema significa perder dinheiro ndash e geralmente em quantidade suficiente para ocasionar demissotildees

Felizmente para os ad-ministradores de sistemas e gestores de TI jaacute dispomos hoje de oacutetimas soluccedilotildees de alta disponibilidade e vamos exploraacute-las em detalhes na Linux Magazine 43

Seguranccedila

DNSSECOs administradores de sistemas e consultores de seguranccedila utilizam estrateacutegias sofisticadas para proteger redes mas ainda existe uma parte muito baacutesica da infra-estrutura da Internet que permanece surpreen-dentemente vulneraacutevel o sistema de resoluccedilatildeo de nomes Existem teacutecnicas elaboradas para forjar res-postas DNS e da mesma forma maneiras tambeacutem engenhosas de contornar esses ataques De todas elas o DNSSEC desponta como uma das mais eficazes para prote-ger redes por meio de criptografia e autenticaccedilatildeo

Conheccedila essa tecnologia e man-tenha seu sistema de resoluccedilatildeo de nomes protegido

DESTAQUE

PortaacuteteisOs laptops e notebooks sempre deram aos seus possui-dores um certo glamour status de pessoas antenadas e claro fama de gente que tinha ldquogranardquo ndash afinal um bom portaacutetil ateacute dois anos atraacutes natildeo custava nada barato Com o passar do tempo no entanto fabricantes foram criando uma nova geraccedilatildeo de no-tebooks menores sem partes mecacircnicas quebraacuteveis em boa parte de suas versotildees e mais baratos Esses aparelhinhos chamados de sub-notebooks vecircm ganhando espaccedilo tanto entre os clientes ldquotradicio-naisrdquo dos laptops quanto entre pessoas que jamais imaginaram ter um portaacutetil

Oficina

Com jeito de cinemaA qualidade de auacutedio e viacutedeo da TV digital recente-

mente iniciada no Brasil eacute um atrativo para quem deseja assistir programas em alta resoluccedilatildeo e ateacute gravar alguns de seus preferidos Se os receptores de TV ainda estatildeo muito caros receptores USB para computador oferecem a ima-gem de cinema e qualidade de som de DVD E o que eacute melhor usando Linux

Na EasyLinux 13

copy Linux New Media do Brasil Editora Ltda

copy Linux New Media do Brasil Editora Ltda

42 0508

R$ 1390 euro 750

9771806

942009

00042

A REVISTA DO PROFISSIONAL DE TI

Linu

x M

agazin

e

42 42

M

aio

200

8

052008

WWWLINUXMAGAZINECOMBR

RICARDO BIMBO p30No Linux empresas e voluntaacuterios colaboram harmoniosamente

BOSSA CONFERENCE 2008 p24Evento internacional aponta para um futuro moacutevel com Coacutedigo Aberto

ENTREVISTA SAP p28Empresa aposta em reestruturaccedilatildeo de arquiteturas rumo ao SOA

VEJA TAMBEacuteM NESTA EDICcedilAtildeO

raquo ADempiere e Eclipse desenvolvimento integrado p49

raquo LPIC-2 aula 11 DNS p52

raquo BI de coacutedigo aberto com SpagoBI p59

raquo Os melhores repositoacuterios de coacutedigo PHP p75

REDES ADMINISTRACcedilAtildeO CENTRALIZADA p66

O Puppet toma conta do gerenciamento e confi guraccedilatildeo de servidores e desktops na rede

SEGURANCcedilA FIREWALL PRAacuteTICO p71

Ateacute os especialistas benefi ciam-se de uma interface facilitada como a do Shorewall

SOA

PRINCIacutePIOS

REDHAT

N

OVAFORGE

SHOREWALL

PUPPET

PHP

SPAGOBI

ADEM

PIERE

LPIC-2

INDT

A ARQUITETURA ORIENTADA A SERVICcedilOS DAacute FOCO AOS NEGOacuteCIOS E SERVE RECURSOS DISTRIBUIacuteDOS COM ALTO DESEMPENHO E FAZENDO USO DE NOVAS TECNOLOGIAS p34

raquo A Red Hat oferece a pilha completa para SOA p36

raquo Serviccedilos distribuiacutedos soluccedilotildees integradas p40

raquo NovaForge uma faacutebrica de software corporativo p44

SOA

ex

em

pla

r d

e

Ass

inan

teve

nd

a

pro

ibid

a

copy Linux New Media do Brasil Editora Ltda

  • Capa
  • Editorial
  • Iacutendice
  • Cartas
  • Augusto Campos
  • Charly Kuumlhnast
  • Klaus Knopper
  • Zack Brown
  • Seguranccedila
  • Notiacutecias
  • Notiacutecias Corporate
  • A bossa da mobilidade
  • Software bem rodado
  • 100 de serviccedilo
  • Cezar Taurion
  • Ricardo Bimbo
  • Edgar Silva
  • Introduccedilatildeo de Capa
  • Bem arquitetado
  • Clientes espalhados servidores distribuiacutedos
  • Quase faz cafeacute
  • Produto importado
  • LPI niacutevel 2 Aula 11
  • Negoacutecio inteligente
  • Para conquistar o puacuteblico
  • Marionete
  • Domando o fogo
  • Tesouro
  • Linuxlocal
  • Serviccedilos
  • Na Linux Magazine 43
Page 9: © Linux New Media do Brasil Editora Ltda.
Page 10: © Linux New Media do Brasil Editora Ltda.
Page 11: © Linux New Media do Brasil Editora Ltda.
Page 12: © Linux New Media do Brasil Editora Ltda.
Page 13: © Linux New Media do Brasil Editora Ltda.
Page 14: © Linux New Media do Brasil Editora Ltda.
Page 15: © Linux New Media do Brasil Editora Ltda.
Page 16: © Linux New Media do Brasil Editora Ltda.
Page 17: © Linux New Media do Brasil Editora Ltda.
Page 18: © Linux New Media do Brasil Editora Ltda.
Page 19: © Linux New Media do Brasil Editora Ltda.
Page 20: © Linux New Media do Brasil Editora Ltda.
Page 21: © Linux New Media do Brasil Editora Ltda.
Page 22: © Linux New Media do Brasil Editora Ltda.
Page 23: © Linux New Media do Brasil Editora Ltda.
Page 24: © Linux New Media do Brasil Editora Ltda.
Page 25: © Linux New Media do Brasil Editora Ltda.
Page 26: © Linux New Media do Brasil Editora Ltda.
Page 27: © Linux New Media do Brasil Editora Ltda.
Page 28: © Linux New Media do Brasil Editora Ltda.
Page 29: © Linux New Media do Brasil Editora Ltda.
Page 30: © Linux New Media do Brasil Editora Ltda.
Page 31: © Linux New Media do Brasil Editora Ltda.
Page 32: © Linux New Media do Brasil Editora Ltda.
Page 33: © Linux New Media do Brasil Editora Ltda.
Page 34: © Linux New Media do Brasil Editora Ltda.
Page 35: © Linux New Media do Brasil Editora Ltda.
Page 36: © Linux New Media do Brasil Editora Ltda.
Page 37: © Linux New Media do Brasil Editora Ltda.
Page 38: © Linux New Media do Brasil Editora Ltda.
Page 39: © Linux New Media do Brasil Editora Ltda.
Page 40: © Linux New Media do Brasil Editora Ltda.
Page 41: © Linux New Media do Brasil Editora Ltda.
Page 42: © Linux New Media do Brasil Editora Ltda.
Page 43: © Linux New Media do Brasil Editora Ltda.
Page 44: © Linux New Media do Brasil Editora Ltda.
Page 45: © Linux New Media do Brasil Editora Ltda.
Page 46: © Linux New Media do Brasil Editora Ltda.
Page 47: © Linux New Media do Brasil Editora Ltda.
Page 48: © Linux New Media do Brasil Editora Ltda.
Page 49: © Linux New Media do Brasil Editora Ltda.
Page 50: © Linux New Media do Brasil Editora Ltda.
Page 51: © Linux New Media do Brasil Editora Ltda.
Page 52: © Linux New Media do Brasil Editora Ltda.
Page 53: © Linux New Media do Brasil Editora Ltda.
Page 54: © Linux New Media do Brasil Editora Ltda.
Page 55: © Linux New Media do Brasil Editora Ltda.
Page 56: © Linux New Media do Brasil Editora Ltda.
Page 57: © Linux New Media do Brasil Editora Ltda.
Page 58: © Linux New Media do Brasil Editora Ltda.
Page 59: © Linux New Media do Brasil Editora Ltda.
Page 60: © Linux New Media do Brasil Editora Ltda.
Page 61: © Linux New Media do Brasil Editora Ltda.
Page 62: © Linux New Media do Brasil Editora Ltda.
Page 63: © Linux New Media do Brasil Editora Ltda.
Page 64: © Linux New Media do Brasil Editora Ltda.
Page 65: © Linux New Media do Brasil Editora Ltda.
Page 66: © Linux New Media do Brasil Editora Ltda.
Page 67: © Linux New Media do Brasil Editora Ltda.
Page 68: © Linux New Media do Brasil Editora Ltda.
Page 69: © Linux New Media do Brasil Editora Ltda.
Page 70: © Linux New Media do Brasil Editora Ltda.
Page 71: © Linux New Media do Brasil Editora Ltda.
Page 72: © Linux New Media do Brasil Editora Ltda.
Page 73: © Linux New Media do Brasil Editora Ltda.
Page 74: © Linux New Media do Brasil Editora Ltda.
Page 75: © Linux New Media do Brasil Editora Ltda.
Page 76: © Linux New Media do Brasil Editora Ltda.
Page 77: © Linux New Media do Brasil Editora Ltda.
Page 78: © Linux New Media do Brasil Editora Ltda.
Page 79: © Linux New Media do Brasil Editora Ltda.
Page 80: © Linux New Media do Brasil Editora Ltda.
Page 81: © Linux New Media do Brasil Editora Ltda.
Page 82: © Linux New Media do Brasil Editora Ltda.
Page 83: © Linux New Media do Brasil Editora Ltda.
Page 84: © Linux New Media do Brasil Editora Ltda.