© linux new media do brasil editora ltda
TRANSCRIPT
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-